Skip to content

feat: real pre-recording Scene Inspector panel - #25

Merged
Alfredoalv13 merged 1 commit into
mainfrom
feat/real-scene-inspector-panel
Jul 25, 2026
Merged

feat: real pre-recording Scene Inspector panel#25
Alfredoalv13 merged 1 commit into
mainfrom
feat/real-scene-inspector-panel

Conversation

@Alfredoalv13

Copy link
Copy Markdown
Owner

Summary

  • Replaces the Studio window's static, fully-disabled "Scene Inspector" rows (Format/Canvas Style/Pointer/Captions — hardcoded text with zero state or handlers) with real controls.
  • Format -> default aspect ratio, Wallpaper -> default background, Pointer -> default cursor style, Caption Language -> default transcription language — all wired to the same persisted EditorPreferences the post-recording editor already reads on load.
  • Adds autoCaptionLanguage to EditorPreferences (new field, defaults to "auto").
  • Deliberately does NOT auto-trigger caption generation on fresh recordings — that would mean silently kicking off a Whisper transcription (which can take a while and needs a downloaded model) without the user asking. The language preference just applies whenever they do click "Generate Captions" later.

Test plan

  • npx tsc -p tsconfig.json --noEmit — clean
  • npx vitest --run — 819/819 passing
  • Built, signed, and ran the packaged app directly
  • Confirmed the Studio panel renders real current values (not placeholder text) for all four rows
  • Changed the Pointer setting to "Dot" in the Studio panel, confirmed via getAppSetting that it persisted
  • Opened a fresh editor window and confirmed both the persisted value and the actual cursor-style selector in the editor's Settings panel reflected "Dot" as selected

The Studio window's "Scene Inspector" sidebar showed four disabled,
hardcoded rows (Format: 16:9 Desktop, Canvas Style: Clean Demo, Pointer:
Soft Highlight, Captions: Smart Draft) with no state or handlers behind
them at all.

Replaces them with real, working controls wired to the same persisted
editor preferences the post-recording editor already reads on load:
- Format -> default aspect ratio for new recordings
- Wallpaper -> default background for new recordings
- Pointer -> default cursor style for new recordings
- Caption Language -> default transcription language (used once captions
  are generated in the editor; doesn't auto-trigger generation, since that
  requires an already-downloaded Whisper model and is a deliberately
  opt-in, user-initiated action elsewhere in the app)

Adds a new autoCaptionLanguage field to EditorPreferences (persisted via
the same getAppSetting/setAppSetting bridge already used for every other
preference here), defaulting to "auto".

Verified live: changed a setting in the Studio panel, confirmed it
persisted via getAppSetting, then opened a fresh editor window and
confirmed both the persisted value and the actual React state/UI (cursor
style selector) picked it up correctly.
@Alfredoalv13
Alfredoalv13 merged commit 6955dfc into main Jul 25, 2026
1 check passed
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.

2 participants