Skip to content

Remaining project settings, and a per-scene opt-out from project overlays - #19

Merged
davior merged 1 commit into
mainfrom
claude/vigilant-lamport-97wwx7
Oct 24, 2026
Merged

davior merged 1 commit into
mainfrom
claude/vigilant-lamport-97wwx7

Conversation

@davior

@davior davior commented Oct 24, 2026

Copy link
Copy Markdown
Owner

What

Completes the Settings tab, and adds the per-scene opt-out.

New sections

  • Backgrounds and fitting: background (gradient, one colour, or a GAM picture), how pictures are fitted, shortest scene.
  • Default transition between scenes, beside the default camera.
  • Title and chapter cards: length, slow zoom, heading and subtitle sizes for each kind.
  • Quote and code panels: position, size, colours, backing.
  • Watermark (a GAM picture and/or text, corner, sizes, margin, opacity) and text on every scene (fixed text, the title, or title and chapter).

Per-scene opt-out. A scene can hide the project-wide watermark, text and wave (segment.chrome). It only appears when the project draws something, and names the default (off for an intro or outro). The renderer already honoured the field.

Settings are written the same way as before: only what differs from the spec's defaults, with an emptied group removed (patchSetting). The watermark and text blocks are written in full, since a block's presence means on.

A fix to my last PR

The Output and Voice number boxes refused to start a value like 0.9 where 0 alone is out of range, so a speed could not be typed. Number boxes now keep what is typed and pass on only an in-range value (NumberField); those two sections use it, and a test types 0.9 the way a person would.

Checked

A spec carrying every field these sections write validates against the backend model, and the renderer reads each of them. Frontend: 182 passed, lint clean, npm run build typechecks. Backend: 700 passed, unchanged.

Not built

voice.provider and voice.expressivity: the renderer does not read them.


Generated by Claude Code

…ect overlays

Settings tab: backgrounds and fitting (background, fit, shortest scene), title and
chapter cards, quote and code panels, the watermark, text on every scene, and a default
transition beside the default camera. Each writes only what differs from the spec's
defaults and removes a group left empty (`patchSetting`); the watermark and overlay text
are written in full, since a block's presence means on.

A scene can now hide the project-wide watermark, text and wave (`segment.chrome`), shown
only when the project draws any.

Number boxes keep what is being typed and pass on only an in-range value. The Output and
Voice boxes from the last change refused to start a value such as 0.9 where 0 alone is
out of range, so they use the new field too.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01XHkHXgxVVH3dn6EAVL9rbN
@davior
davior marked this pull request as ready for review October 24, 2026 05:19
@davior
davior merged commit d67001a into main Oct 24, 2026
3 checks 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