Uh oh!
There was an error while loading. Please reload this page.
Designer: bridged subtitle fix, divider rotation and shapes, sticky-block folding, text offsets - #19
Merged
ZombieHDGaming merged 3 commits intoAug 25, 2026
Conversation
… 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
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
Uh oh!
There was an error while loading. Please reload this page.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for freeto join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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.relayoutEntryTablenow 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
DividerPiece::rotationis 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.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:
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.indentStepwide (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
Wording and polish
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 coverrotation,contentOffsetX,indentStepandEntry::indent. Two new artifact scenes,dividers-shapesandoffsets-and-tabs, render the results.Everything new defaults to what documents already say: rotation 0, offset 0, indent 0, and an absent
indentStepreads as its documented 24 rather than as a step of nothing.