Repository navigation
Update: improve the viewer workspace and Sculpt cube stage - #92
Merged
Merged
Conversation
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.
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.
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:
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.