Skip to content

Designer: bridged subtitle fix, divider rotation and shapes, sticky-block folding, text offsets - #19

Merged
ZombieHDGaming merged 3 commits into
masterfrom
claude/credits-designer-ui-updates-4j8cle
Aug 25, 2026
Merged

Designer: bridged subtitle fix, divider rotation and shapes, sticky-block folding, text offsets#19
ZombieHDGaming merged 3 commits into
masterfrom
claude/credits-designer-ui-updates-4j8cle

Conversation

@ZombieHDGaming

@ZombieHDGamingZombieHDGaming commented Aug 25, 2026

Copy link
Copy Markdown
Contributor

Fifteen reported items against the Credits Designer, in two passes.

The bug: bridged subtitles stole the right-hand column

Switching Give each side a subtitle on read the two-column entry table (Left, Right) back through the four-column map it was about to be rebuilt with, so cell(1) — the right-hand name — was taken as the left subtitle, and the right-hand column came back empty.

relayoutEntryTable now reads out through the columns the table is actually showing and writes back in through the new ones: the editor remembers the answer the table was built with (tableType, tableRowSubtitles) instead of asking the checkbox, which has already moved on by the time the toggle is handled. Existing right-hand values stay on the right; the two subtitle columns arrive empty beside them.

Divider parts

  • Rotation.DividerPiece::rotation is degrees clockwise about the part's own centre, read for ornaments, words and images alike, with a Rotation column in each of the three piece tables. A turn moves nothing along the rule — the part keeps the width its untilted shape asked for, so neighbours and the arms stay put while an angle is dialled in — but the measured stack takes each part's swept height so the divider grows to hold what it draws rather than letting the section box cut the corners off. On a mirrored end the flip is applied outside the turn for artwork and the angle is negated for a word or an image (which are never flipped), so the two ends stay each other's reflection.
  • Plain shapes. Circle, square, rounded square, triangle, pentagon, hexagon and octagon, each filled and as an outline — 14 new rows in the shape library, offered wherever a piece can go. Outlines are the filled path scaled about its own centre, since a stroke drawn to the edge of the tile would have its outer half clipped by the viewBox.
  • "Ends" replaces "Left End" on the tab while Draw both ends the same way is checked, since there is then only one end to edit.

Sticky blocks in the section list

A child row is drawn as a ├─/└─ branch off its block; the block's own row carries a / and a count of what it holds, and every other top-level row takes a blank of the same width so the names line up. Clicking the arrow folds the children away — the click never selects the row or starts a drag.

The fold lives on the section (Section::childrenCollapsed) and is deliberately neither saved nor loaded: view state, but kept on the section so it travels through a move, a duplicate and an undo step without a table of row numbers to remap. Two consequences are handled where they arise — a selection folded away moves up to its block, so the editor is never working on a row the list is not showing; and a drop just under a folded block lands after the block rather than inside it.

Shifting text sideways

Both are translations rather than reflows, so every alignment moves by the same amount and the setting means one thing whatever the section is set to:

  • Text Offset (contentOffsetX) slides everything a section draws left or right inside its own box, keeping the arrangement in it — a heading and the logo beside it move together. Side margins inset both edges equally and can only ever centre what is between them; this is what puts a section deliberately off its own centre.
  • Indent is a new column in the entry table: a count of steps, each indentStep wide (set once per section), that tabs single entries in from the rest of their list. Negative steps out the other way. Multi-column lists step the entry within its own column rather than off it.

Room to work

  • Bigger... on the entry table and on each of the three piece tables opens that table in a window of its own, sized to most of the screen, and puts it back when the window closes. The widget itself moves rather than a copy, so every signal, selection and half-typed cell survives and what is typed there is in the section as it is typed.
  • The editor pane opens widest of the three (260 / 720 / 300), and the preview folds away to a button in its own header the way the section list already does. Each pane remembers its own width, so folding one while the other is folded no longer hands the second one the first one's folded width.

Wording and polish

WasNow
What This Section SaysContent Properties
Where It SitsLayout Properties
Parts Of The DividerDivider Parts
Its top edge / Its middle / Its bottom edgeTop Edge / Center Screen / Bottom Edge
That is the end — stay put and fire the ending actionHold and Fire Ending Action
Carry on up and off, then end the roll as usualFire Ending Action After Leaving Screen
Carry on up and off, but fire the ending action nowFire Ending Action While Leaving Screen

List Label moves directly under the Section Type dropdown, with the type's description under the pair. A collapsible group's title now sits clear of its fold arrow. The layout-boxes tooltip is rich text, so it wraps and breaks into a list instead of one long line. The section list's own tooltip is gone.

Testing

76 suites, 4882 checks, 0 failures. New suites cover the plain shapes drawing at a centrepiece's height and staying inside the section box, a turned part leaning without moving the rule, a turned end reflecting at the other end, the content offset moving a section's content area and ink at every alignment without narrowing it, and entry tabs stepping by the section's step (including inside a column of a grid). The persistence round-trip and legacy-defaults check now cover rotation, contentOffsetX, indentStep and Entry::indent. Two new artifact scenes, dividers-shapes and offsets-and-tabs, render the results.

Everything new defaults to what documents already say: rotation 0, offset 0, indent 0, and an absent indentStep reads as its documented 24 rather than as a step of nothing.

… shapes
Ten changes to the designer, from a list of reported issues.
The bug: switching a bridged section's subtitles on read the two-column
entry table back through the four-column map it was about to be rebuilt
with, so every row's right-hand name landed in the left-hand subtitle and
the right-hand column came back empty. The editor now remembers the layout
the table was built with (tableType, tableRowSubtitles) and reads out
through that, then writes back in through the new one.
Divider parts:
- each part carries a rotation in degrees, read for ornaments, words and
images alike. A turn moves nothing along the rule -- the part keeps the
width its untilted shape asked for -- but the divider grows to hold what
the part sweeps out, so corners are never cut off by the section box. A
mirrored end reflects the angle rather than repeating it.
- the plain geometry joins the shape library: circle, square, rounded
square, triangle, pentagon, hexagon and octagon, each filled and as an
outline.
- the tab reads "Ends" rather than "Left End" while the two ends are
mirrored, since there is only one end to edit.
Room to work:
- the entry table and the three piece tables each open in a window of
their own from a "Bigger..." button, for typing a long list into
something wider than the editor pane.
- the editor pane opens widest of the three, and the preview folds away
to a button in its own header the way the section list already does.
Renamed: "What This Section Says" to "Content Properties", "Where It Sits"
to "Layout Properties", "Parts Of The Divider" to "Divider Parts", the
sticky block's pin points to "Top Edge"/"Center Screen"/"Bottom Edge" and
its hold endings to "Hold and Fire Ending Action"/"Fire Ending Action After
Leaving Screen"/"Fire Ending Action While Leaving Screen". List Label moves
directly under the Section Type dropdown, with the type's description under
the pair.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01GdRWmWQM1UyqpMmUg9TD5j
Sticky blocks in the section list: a child row is drawn as a branch off
its block, the block's own row carries a fold arrow and a count of what it
holds, and clicking that arrow folds its children away. The fold lives on
the section as view state that is neither saved nor loaded, so it travels
through a move, a duplicate and an undo step without a table of row
numbers to keep in step. A selection folded away moves up to the block
that folded it, and a drop just under a folded block lands after the block
rather than inside it.
Two ways to shift text sideways, both translations rather than reflows so
every alignment moves by the same amount:
- Text Offset slides everything a section draws left or right inside its
own box, keeping the arrangement in it -- a heading and the logo
beside it move together.
- an Indent column in the entry table tabs single entries in from the
rest of their list, by a step the section sets once. Multi-column
lists step the entry within its own column.
Also: a group's title now sits clear of its fold arrow; the layout-boxes
tooltip is rich text, so it wraps and breaks into a list rather than one
long line; and the section list's own tooltip is gone.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01GdRWmWQM1UyqpMmUg9TD5j
@ZombieHDGamingZombieHDGaming changed the title Designer: fix bridged subtitle columns, add divider part rotation and plain shapesDesigner: bridged subtitle fix, divider rotation and shapes, sticky-block folding, text offsetsAug 25, 2026
The formatting check runs over every changed file whole, so a line this
branch never touched is the branch's to fix once the file it sits in has
been edited: clang-format 19 fits the ternary in sectionAt on one line
where the version that last formatted the file wrapped it.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01GdRWmWQM1UyqpMmUg9TD5j
@ZombieHDGaming
ZombieHDGaming merged commit 2b5e464 into masterAug 25, 2026
6 checks passed
@ZombieHDGaming
ZombieHDGaming deleted the claude/credits-designer-ui-updates-4j8cle branch August 25, 2026 23:44
Sign up for freeto 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

@ZombieHDGaming@claude