Skip to content

feat(editor): add cursor sway, HUD capture controls, and persistent prefs#38

Merged
webadderall merged 6 commits intowebadderallorg:mainfrom
kbdevs:feat/cursor-sway
Mar 16, 2026
Merged

feat(editor): add cursor sway, HUD capture controls, and persistent prefs#38
webadderall merged 6 commits intowebadderallorg:mainfrom
kbdevs:feat/cursor-sway

Conversation

@kbdevs
Copy link
Copy Markdown
Contributor

@kbdevs kbdevs commented Mar 16, 2026

Summary

  • add an eye toggle to the recording HUD so the control window can stay visible on screen without appearing in captures
  • resize and constrain the HUD overlay so the extra control fits cleanly without clipping
  • fix cursor sway so it leans with cursor movement and remap the slider so 1x matches the previous 2x strength
  • remember the editor's last background, effects, cursor, crop, export, custom aspect ratio, and uploaded wallpaper settings between editing sessions

Verification

  • bunx vitest run src/components/video-editor/editorPreferences.test.ts src/components/video-editor/videoPlayback/cursorSway.test.ts
  • bunx tsc -p tsconfig.json --noEmit --pretty false
  • bun run i18n:check

Add a cursor sway control that carries through preview, export, and saved projects, and scale the effect so the editor slider has more usable range.
Copilot AI review requested due to automatic review settings March 16, 2026 00:02
@coderabbitai

This comment was marked as spam.

This comment was marked as spam.

coderabbitai[bot]

This comment was marked as spam.

@webadderall
Copy link
Copy Markdown
Collaborator

Could you attach a video showing the effect in action?

@kbdevs
Copy link
Copy Markdown
Contributor Author

kbdevs commented Mar 16, 2026

This is with maximum sway, I've also added hiding the toolbar from the video.
https://streamable.com/9s9hhf

Keep the recording HUD visible on screen without burning it into captures, and make cursor sway match cursor motion while preserving the old 2x strength at the new 1x slider position.
@kbdevs kbdevs changed the title feat(editor): add cursor sway effect feat(editor): add cursor sway and HUD capture controls Mar 16, 2026
Keep the last selected aspect ratio and custom X:Y values between editing sessions so the timeline opens with the user's preferred crop setup.
@kbdevs kbdevs changed the title feat(editor): add cursor sway and HUD capture controls feat(editor): add cursor sway, HUD capture controls, and saved prefs Mar 16, 2026
@webadderall
Copy link
Copy Markdown
Collaborator

webadderall commented Mar 16, 2026

I really like this feature, this is good stuff!
Some things I would like to seen fixed:

  • HUD hidden doesn't work on Linux and silently fails (setContentProtection is a no-op on Linux, HUD will show in captures). Either don't show the HUD eye toggle button on Linux or find a way to hide it (difficult)
  • hudOverlayHiddenFromCapture user setting isn't persisted, so users have to re-toggle every time
  • HUD overlay icon button should also be toggled to hide HUD by default, also update the selection colour to apply to the visible eye icon.
  • src/vite-env.d.ts is reformatted (quote style + indentation) with no functional changes, please revert to keep the diff focused.

Keep the editor's background, effects, crop, cursor, and export controls between sessions so the workspace reopens with the user's last setup.
@kbdevs kbdevs changed the title feat(editor): add cursor sway, HUD capture controls, and saved prefs feat(editor): add cursor sway, HUD capture controls, and persistent prefs Mar 16, 2026
@webadderall
Copy link
Copy Markdown
Collaborator

Also, could you keep the editor saved prefs edits in a separate PR please?

@kbdevs
Copy link
Copy Markdown
Contributor Author

kbdevs commented Mar 16, 2026

I addressed the linux issues, hard to split up to two PR's now.

Changes included:

  • hide the HUD capture toggle on Linux so we do not present a setting that silently does nothing there
  • persist hudOverlayHiddenFromCapture and default it to hidden from capture on launch
  • update the HUD eye icon state so the visible-eye state gets the selected styling

@webadderall
Copy link
Copy Markdown
Collaborator

Fix merge conflicts and then should be good for merge!

@kbdevs
Copy link
Copy Markdown
Contributor Author

kbdevs commented Mar 16, 2026

@webadderall Fixed the merge conflicts and pushed the update to feat/cursor-sway in 6e7a034. I also ran bun run test and bun run i18n:check successfully. bun run build still stops on the existing unused normalizeLocale error in src/contexts/I18nContext.tsx, but the merged conflict files type-check clean otherwise.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants