Claude/gracious curie faz dz#26
Merged
Merged
Conversation
The builder regenerated its entire ~200-control chrome on every preOpenCard (startCB -> buildUI -> clearUI + recreate). Guard the build so it runs once and persists with the saved stack: - chromeBuilt() reports whether the palette group exists AND a stamped uUIVersion custom property matches kUIVersion. startCB builds + stamps only when it doesn't, so reopening a saved stack skips the rebuild entirely. - Only the native physics world is recreated each open (it can't be serialised); layoutPalette re-applies accordion state to the persisted UI. - prepArena reuses the arena graphics instead of duplicating them on reopen. - rebuildCB forces a one-time regenerate after editing the builder; bumping kUIVersion makes any older saved stack rebuild itself once. https://claude.ai/code/session_01XpBcQg2DbncrBcFZLHqhMj
Address three issues with the left palette: - Re-categorize: Drag/Delete/Duplicate/Multiply move out of SHAPES into a new TOOLS category; SHAPES now holds only droppable parts (Box/Ball/Capsule/ Polygon/Image/Anchor). Six categories: TOOLS, SHAPES, SPECIAL, TERRAIN, VEHICLES, JOINTS. - Fix the "resizes weirdly" scrollbar: collapsed rows were left at stale positions, so the group's formattedHeight (and thus the native scrollbar thumb/range) was wrong. layoutPalette now parks collapsed rows at the top of the content so the scroll extent tracks only visible rows. The accordion is also single-open now (opening one category collapses the others), so the toolbox always fits the window and the scrollbar stays hidden. - Make it pop: each category has an accent colour (categoryColor) that fills its header when open, tints the title when collapsed, and lights up the selected tool inside it, so the palette reads as distinct, colour-coded groups. kUIVersion bumped to 2 so existing built stacks pick up the new layout once. https://claude.ai/code/session_01XpBcQg2DbncrBcFZLHqhMj
The single-open accordion always fits the panel, but the native group scrollbar could still flicker/resize: with build-once the group's rect was set just once, so a stale height let the bar appear for taller categories and vanish for shorter ones as you switched between them. - layoutPalette re-asserts the group's viewport rect every layout (guards against a stale persisted height) and forces vScrollbar off; groupPalette builds it bar-free as well. - Dropped the content-height conditional that toggled the bar, and reclaimed the 16px scrollbar gutter so the palette padding is symmetric. kUIVersion -> 3 so existing built stacks pick up the change once. https://claude.ai/code/session_01XpBcQg2DbncrBcFZLHqhMj
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 free
to 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.
No description provided.