Skip to content

Update: improve the viewer workspace and Sculpt cube stage - #92

Merged
0xLeif merged 8 commits into
mainfrom
0xleif/viewer/edit-preview
Oct 10, 2026
Merged

0xLeif merged 8 commits into
mainfrom
0xleif/viewer/edit-preview

Conversation

@0xLeif

@0xLeif 0xLeif commented Oct 10, 2026 •

Copy link
Copy Markdown
Contributor

Files stay on the left while Edit, Preview, and Cubes share one document panel. Cubes opens on a small sculpture. The compact header and toolbar give the stage more room, and the document title stays visible. Below 900px, Files and the document take turns.

Document groups exports, source copying, heading conversion, and file packing. Insert tools appear in Edit, while composition entry selection remains visible in the stage. Fit and bounded zoom buttons sit below the drawing. The focused canvas supports arrow-key orbiting, plus/minus zoom, and Home to fit. Tabs and the scrolling slice row support arrow, Home, and End navigation with one tab stop per group. Nongrid documents and unavailable WebGL2 offer Preview without replacing source. GitHub loading exposes busy state and restores its controls after failures.

The GPU stage follows Sculpt.3md’s presentation: outward-wound full cubes, lit glyph-colored translucent fill, visible glyph edges, gold selected-slice edges, dark background, and document axes. Browser fill uses 0.5 opacity, regular edges 0.4, and selected edges 0.8. Shared interior faces are suppressed. Orbit, zoom, and selection reuse geometry; each redraw uses one instanced draw. Ray picking selects the nearest cube’s slice. Preview stays on one plane with no render-mode menu or autoplay.

Validation on dca0643:

  • All 84 viewer checks passed in Chromium and WebKit, including six-viewpoint face pixels, edge-only selection, nearest-slice picking, the 1600-cell/no-upload camera check, mobile geometry, keyboard camera/slice navigation, disclosure dismissal, both downloads, save-shortcut focus, Preview empty states, GitHub rate-limit recovery, and GPU-unavailable guidance.
  • Live desktop dark/light, Edit, and phone views were inspected. UI screenshots and notes complement the live Sculpt comparison.
  • Strict ThreeMDViewer SpecSync check and hi check pass. hi reports the pre-existing stale INTENT.md feature index.
  • Pinned Trust 1.2.2 passed origin/main..HEAD after commit and push, including the native verification lane, all nine file-interchange pairs (17,991 imports), bundle drift, and all four specs with 100% file/LOC coverage. Augur returned review at risk 43. The full spec check warns that changed viewer requirements await re-validation; the definition remains an unapproved draft. Provenance passes in progressive/degraded mode.

VIEWER-6, the canonical viewer contract and companions, and the existing draft artifacts cover the final behavior. The SpecSync definition remains an unapproved draft. Provenance remains unsigned/degraded; the local agent:codex self-review record is not a permitted signature or human diff review, and Attest rejects it under the unchanged signature/reviewer policy. Git notes are not pushed.

The cube caps stay 64 by 64 per plane, 12 distinct non-space characters, and 4000 occupied cells. Painting/erasing, larger or sparse volumes, OBJ export, and Sculpt app changes are outside this PR. The element, page bundles, library sources, fixtures, package versions, and v2.2.1 tag are unchanged. Hosted-page validation follows Leif’s merge.

0xLeif added 7 commits October 9, 2026 19:31
Files stay on the left. Edit and Preview switch in the panel beside them, and Edit shows first. Below 900px, Files and the document take turns. VIEWER-6 and the ThreeMDViewer spec record the layout.
Edit, Preview, and Cubes share one panel. A fenced character grid draws as translucent cubes you can orbit. The status bar shows the caret, the axis, and the cube count.
The page no longer switches render modes or starts playback. Preview stays on one plane. A fenced grid is lit WebGL2 cubes, so about 1400 cubes orbit without a software redraw.
The first screen was Edit, and the starter had no cube grid, so a refresh showed no cubes. The page now opens on a small sculpture drawn in the window. Chromium and WebKit both require those cubes to be on screen.
Safari lost the cube context because the bitmap was resized after the context was created, and the context asked for the discrete GPU. The page now sizes the canvas first and uses one context.
Five sides were wound inward, so the stage showed the inside of the cubes. Each cell is now a solid cube.
@0xLeif 0xLeif changed the title Update: share one panel for Edit and Preview Update: match the viewer cube stage to Sculpt Oct 10, 2026
@0xLeif 0xLeif changed the title Update: match the viewer cube stage to Sculpt Update: improve the viewer workspace and Sculpt cube stage Oct 10, 2026
@0xLeif
0xLeif merged commit 5d5c9a4 into main Oct 10, 2026
10 checks passed
@0xLeif
0xLeif deleted the 0xleif/viewer/edit-preview branch October 10, 2026 04:47
Sign up for free to 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.

1 participant