feat(mapgen-studio): replace border-l indent ladder with page-tint well surface and codify 4/8/12px rhythm tiers#1628
Merged
Conversation
This was referenced Jun 12, 2026
refactor(studio): decompose App.tsx non-React corpus into feature modules and shared utilities
#1608
Merged
Merged
Merged
|
Railway preview (MapGen Studio): not provisioned for this PR. Policy (Graphite stacks): previews are created only for the top-of-stack PR by default.
Debug: |
This was referenced Jun 12, 2026
Owner
Author
This was referenced Jun 12, 2026
This was referenced Jun 12, 2026
Merged
mateicanavra
force-pushed
the
design/no-hardcoded-defaults
branch
from
June 12, 2026 20:44
9aaa324 to
5c5cd1e
Compare
mateicanavra
force-pushed
the
design/config-surface
branch
from
June 12, 2026 20:44
6cfc365 to
472192a
Compare
Owner
Author
Merge activity
|
mateicanavra
changed the base branch from
design/no-hardcoded-defaults
to
graphite-base/1628
June 12, 2026 21:36
…ied form rhythm Groups inside stage cards become recessed wells (page-token tint, subtle border) replacing the border-l indent ladder; arrays unify onto the same well; surface nesting caps at card → well (depth ≥3 differentiates by eyebrow heading + rhythm only). Spacing rhythm codified in FORM.rhythm: 4px within field blocks, 8px between siblings, 12px between sections. Group headings invert to the eyebrow tier so field labels stay the brightest scan line. Verified both themes live (wells recess in dark AND light since background sits below card in both); 146 tests + tsc green. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
mateicanavra
force-pushed
the
design/config-surface
branch
from
June 12, 2026 21:38
472192a to
bb79907
Compare
This was referenced Jun 12, 2026
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.

Replaces the left-rule indent ladder in the config form with a two-tier surface elevation model: stage cards contain group wells, and wells contain fields — no third surface tier is ever introduced.
Group wells (
depth === 2) now render as a recessedbg-background/40panel with a subtle border and padding, replacing the previousborder-l+pl-*indentation approach. This token choice (backgroundsits belowcardin both dark and light themes) ensures the recess reads correctly in both modes without theme-specific overrides.Deeper nesting (
depth ≥ 3) adds an eyebrow heading and spacing rhythm only — no additional surface. Group headings across all depths move to a dedicated eyebrow style (text-label font-semibold uppercase tracking-wider) that recedes below field labels, letting the well geometry carry the grouping rather than the heading weight.Array fields are unified onto the same well treatment as object groups, and individual array items are demoted to a hairline border only (
rounded border p-2 border-border-subtle) to avoid introducing a third surface tier inside the well.Spacing is now driven by a named rhythm scale on the 4px base:
field(4px),siblings(8px),sections(12px), withgroupPull(my-1) composing with sibling gap to hit the 12px group step.Tests are added to assert that a
depth === 2group rendersbg-background/40and noborder-l, and that adepth === 3group adds neither.