Enhance the user experience of Kinetix Studio by adding direct canvas manipulation features and keyboard shortcuts, making the application feel more responsive and professional.
Important
This plan focuses on "Canvas Interactivity" as the primary UX booster. Please confirm if you would also like to prioritize Undo/Redo or Timeline Interactions in this batch, or if those should be separate tasks.
Goal: Allow users to resize objects by dragging the corner handles.
- Files:
src/utils/studio/StudioEngine.ts - Changes:
- Update
setupInteractionto detect clicks on handles. - Implement resizing logic in the
mousemovehandler. - Add cursor updates (change mouse cursor to
nwse-resize, etc.) based on hover position.
- Update
Goal: clearly indicate when an object is hoverable or draggable.
- Files:
src/utils/studio/StudioEngine.ts,src/pages/studio.astro - Changes:
- Change cursor to
movewhen hovering over a selectable object. - Change cursor to
pointerwhen hovering over a handle.
- Change cursor to
Goal: Enable common shortcuts for faster workflow.
- Files:
src/utils/studio/StudioEngine.ts(orstudio.astrolisteners) - Changes:
Delete/Backspace: Remove selected object.Esc: Deselect all.Space: Toggle Play/Pause.
- Resize: Create a generic object (Text/Chart), click to select, drag corners. Verify size updates correctly.
- Shortcuts: Select an object and press
Delete. PressSpaceto play/pause. PressEscto deselect. - Cursors: Hover over objects and handles to verify cursor changes.