Everything not finished, grouped by who it waits on. Three things decide most of it: one PR about to go out, a web build waiting for Steve's go, and a performance question heading for the Roc Zulip. Below that come what landed today, the known gaps nobody has scheduled, and what is parked.
Nothing is mid-flight on my side.
PRs 147 to 152 are open with Damian, all read cold before sending. PR 152
went out after two cold reads. Its record is
codex-zig-ladder/outbound/SENT-pr152-raytracer-nearest-first.md.
| PR | what |
|---|---|
| 147 | zig plug: the deck report goes to fd 3, and only when fd 3 is open |
| 148 | fat16 test fixtures: the second FAT matches the first |
| 149 | Raytracer: shading and the camera in the units of Real geometry |
| 150 | GuiOS: a sidebar click selects the button under it, and the next frame draws the new pane |
| 151 | Fireworks: rnd wraps, as the hash beside it does |
| 152 | Raytracer: the nearest object is found by its distance, and only its hit is built (the zig plug's render 12% faster, same pixels) |
u61-candidate (~/showell_repos/cobblestone-u61) is Update 60 plus
those five and the Raytracer change. Every roc-apps build uses it, by your
rule that we emit assuming our fixes land. When Update 61 arrives, the next
candidate is cut from it by the same formula, and whatever Damian took
drops out.
1. The web umbrella: designed, decided, not built (you said to wait).
- The design is notes/roc-web-umbrella.md.
- The site is "Cobblestone Roc Projects": one Caddy, a path per app.
- Dev on :9210, open; staging on :9200, written only by publish.sh; prod at
https://roc.lynrummy.com, deployed from this box after sign-off.
- :9201 and :9203 become redirects.
- Step 0 is installing Caddy here.
2. BASIC's first publish. Its public URL is still the preview port
(:9203/basic/), which shows whatever basic/build.sh last built. The design
calls for a build you check first.
3. The published demos are older than today's emitter.
| demo | where | built |
|---|---|---|
| Safari | :9201 (public) | published 2026-09-11 |
| the GPU gallery | :9204 | published 2026-09-12, from cobblestone-u58 |
| the games | :9205 | published 2026-09-12, from cobblestone-u58 |
| Safari's preview | :9203/driving/ | built 2026-09-12 |
bit-shr (to sar), square roots and forwarder
calls, and the default root moved to the candidate.Blit and Mountains only, and its
54 units pass, but its wasm has not been rebuilt.publish.sh, when you want
one.4. LLVM for the pages. LLVM is welcome where builds are short; say every
build's compile time.
- The ray bench builds with LLVM in 2 s and runs ten to sixteen times faster
than the dev backend.
- Whether the framebuffer page's own builds should use --opt=speed depends
on their compile times, which have not been measured.
5. The Zulip question. You want one polished question about the dev
backend's stack moves and about seeing where copies go. The notes are
notes/zulip-stack-moves-question.md.
- The evidence so far: 86% of the hottest function's instructions move a value
to or from a stack slot.
- Dev is sixteen times LLVM on the closest-hit walk.
- A Codex change the zig plug rewards by 12% barely registers under dev.
- Still to gather before asking:
- a small Roc program, with no Codex or rocemit in it, that shows the same
thing;
- the same comparison on Renderer3D's hot row loop;
- whether wasm under dev shows the ratio native does.
| what | where |
|---|---|
codexrun: plain Integer overflow traps, bit-shr is arithmetic, a Real prints as x86 prints it |
rust-codex-compiler e43d269 |
rocemit: bit-shr is Roc's arithmetic shift |
a613aff |
rocemit: geo-sqrt and quat-real-sqrt are Roc's sqrt; raytrace-on-screen's page frame 96-101 ms to 61-69 ms in Node |
ad24db4 |
| rocemit: a call to a forwarder that calls back is written as the call it makes; GlobeDemo runs in the page | fdd45bd |
roc-apps builds from u61-candidate; GuiOpening's clicks land; raytrace-on-screen is lit; Fireworks joins the page |
roc-apps 9eca5c4 |
framebuffer/bench/raybench.sh, the native ray bench (OPT=speed for LLVM) |
roc-apps 3702572, 57a1ca0 |
| the raytrace case study | notes/raytrace-case-study.md |
the unused fireworks-rnd-wrapping branch deleted |
NewRepository |
apps/circuits: BitmapFont and the app import each other, and roc
build crashes on the cycle.apps/c64: it plays its SID through the HDA sound card.List(U8)) is not built, so
the ladder keeps four CCE failures.~ as IEEE ==?codexzig's output for geo-sqrt-loop ends on next == guess, where
x86's ~ means within four ordinals.~ has been read.FINDINGS.md 3c) is untested.r3d_scan_cols_sh!, and
a minimal program for it is the obvious next case.