Skip to content

feat(studio): structured object editors + robust popover viewport clamping #78

Description

@LeadcodeDev

User iteration round 5 (screenshots):

  1. Popover still clips — now at the window top: the leftward+flip-up fix (feat(studio): optimistic in-memory edits (near-instant canvas) + inspector round 4 #77) doesn't clamp fully. Fix: viewport-aware positioning as a pure, testable geometry function (anchor rect + popover size + viewport → position): prefer below/left, flip when clipping, then CLAMP both axes to the viewport with a margin; escape any scroll-container clipping.
  2. No raw JSON objects in the config: stat.trend shows {"value":"+340%","direction":"up","color":null} as a textarea. Complex object fields with known schema properties must render as indented structured sub-rows using the same control factory (String→input, enum→select, color→picker), recursion depth-limited (nested complex → JsonArea fallback). Writes mutate the sub-key and write the whole typed object; null prunes. Number arrays (sparkline_data) get per-entry number rows with add/remove (NumberList, ColorRows pattern).

Activity

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

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