Skip to content

feat(studio): inspector feedback round 1 — color editors, effective defaults, timing UX, textareas #72

Description

@LeadcodeDev

User feedback on the schema-driven inspector (#71), with screenshots:

  1. Color arrays & fills: colors arrays must render one color picker per entry (add/remove), not a raw JSON textarea; fill-type fields (string | gradient object) need a mode selector (Single / Linear / Radial) with per-stop pickers and angle.
  2. Effective defaults: unset properties must display the engine's effective default (weight → Regular·400, font-family → Inter placeholder), not empty controls.
  3. end_at UX: start_at/end_at grouped in a "Timing" section — "Visible from / until (s)", bounded by scene duration, placeholder "end of scene".
  4. Multiline strings: code (and any string containing newlines) renders as a textarea, not a single-line input.
  5. Sync bug: gauge show_value showed unchecked while the render displayed the value — raw-JSON display vs engine default. Fixed by the effective-value design below.

Frozen design for 2/5: display layer = typed round-trip of the selected element (serde_json::from_value::<Component>to_value) so serde fills every default; controls show effective values (dimmed/"default" marker when absent from raw); writes keep targeting the raw document.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions