Skip to content

Add a README screenshot, captured from the running editor - #30

Draft
DanKane2029 wants to merge 1 commit into
mainfrom
docs/readme
Draft

DanKane2029 wants to merge 1 commit into
mainfrom
docs/readme

Conversation

@DanKane2029

Copy link
Copy Markdown
Owner

Follow-up to #29: the README shipped without an image. A renderer's README needs a picture.

editor

Generated, not hand-captured

scripts/screenshots.mjs (new, npm run screenshots) drives the real editor and captures it, following the same pattern word-up already uses — so the image can't drift into showing something the app no longer does. Headless Chromium has no WebGL2 context at all without SwiftShader, so the script passes the matching ANGLE flags and waits for the software rasterizer to land a few frames before the shutter.

Also brings the README up to date with #27/#28

Both merged after #29 was written, and made parts of it stale:

  • Added the Render panel to the panel list.
  • Cameras are entities now, so "one camera only" moved out of Deliberately not done and into the feature list; "in progress: a final-render panel" is done.
  • Test count 150 → 151 (verified by running it, not guessed).
  • package-lock.json's stale web-template/ISC metadata synced to package.json.

Two things I found but did not fix

The rotate gizmo's Y ring renders black, not green. handleMaterials in src/Renderer/Gizmo.ts builds the handles with litProgram. The Y ring lies flat in the XZ plane, so its normals point straight up and it catches almost no diffuse from the light rig — it comes out black next to a red and a blue ring. Gizmo handles want constant colour regardless of orientation, which is what unlitProgram is for (Outline.ts already uses it). I left it alone because a renderer change doesn't belong in a docs PR, but it's why there's no rotate-mode screenshot here.

spawnDragon and spawnBunny are now unreachable from the UI. Dropping the 1/2/3 hotkeys in #27 removed the only entry point; they're live only from tests. The dragon scene made a considerably better screenshot than the snowman — if you restore a way to load it (File ▸ New from template, say), re-running npm run screenshots will pick it up.

Targeted at main directly, per CLAUDE.md.

A renderer's README needs a picture. Adds one: the editor with the
snowman's head selected, showing the selection outline, the translate
gizmo, and the Objects and Inspector panels populated.

It is generated by scripts/screenshots.mjs rather than hand-captured,
following the same pattern word-up uses, so it cannot drift into showing
something the app no longer does. Headless Chromium has no WebGL2 context
without SwiftShader, so the script launches it with the matching ANGLE
flags and waits for the software rasterizer to settle before capturing.

Also brings the README up to date with what landed in #27 and #28 - the
Render panel, camera entities, and the test count - and syncs
package-lock's stale 'web-template'/ISC metadata to match package.json.
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