4 Commits

Author SHA1 Message Date
xfy
671b36a520 docs(readme): note phase4-experimental branch + its known blocker
Records that an exact-Kerr attempt exists on the phase4-exact-kerr-
experimental branch (CPU sub-percent accurate, shader visual broken)
and names the resume strategy: per-pixel debug-color output to localize
the CPU/WGSL divergence. Saves the next session from re-discovering the
state of the work.
2026-07-17 13:55:15 +08:00
xfy
3d1ead0fd3 docs(readme): sync Status with shipped Phase 3 (HDR/volumetric/blackbody/jets/AA/planets)
The Status section was stale: Phase 2 was still marked 'pending
visual/performance validation' and Phase 3's sub-phases (3.1–3.4)
were entirely absent despite each having landed with its own spec,
plan, and commits.

Updates after human-in-the-loop validation confirmed spin=0
degeneracy, frame-dragging asymmetry at spin>0, and desktop/web FPS
at the new defaults:

- Phase 2: 'implemented, pending validation' -> 'shipped & validated'.
- Phase 3 (cinematic): new section listing the HDR/bloom pipeline,
  volumetric disk (3.1), blackbody disk + relativistic jets (3.2),
  anti-aliased lensed-image rings (3.3), and Kerr orbiting planets
  (3.4) — each with the physics/aesthetic it ships.
- Performance defaults: record the concrete per-target defaults
  (steps/render_scale/bloom/disk/aa for desktop vs web) and the
  release-profile LTO/codegen choices so the README reflects what
  the code actually ships.
- Future work renamed Phase 3 -> Phase 4, since Phase 3 is now
  filled by the cinematic work.
2026-07-17 10:27:19 +08:00
xfy
d5c0998537 docs: sync project status to shipped Phase 2 (Kerr) reality
The docs described Phase 2 as 'future work' while the code had already
shipped it: spin is wired through the uniform into the shader's Kerr deriv(),
the integrator is adaptive RK45, disk_inner is ISCO-derived, render_scale
runs a real offscreen render-to-texture + upscale pass, and the UI exposes a
Spin slider with live ISCO/Horizon readouts. Anyone reading the docs got a
wrong picture of completeness.

README:
- Intro: 'Schwarzschild' -> 'black-hole (Kerr at spin>0, Schwarzschild at 0)'.
- How it works: RK4 -> adaptive Dormand-Prince RK45; add the frame-dragging
  term to the bending accel; capture radius r+(chi); ISCO-tracked inner edge.
- Controls: add Black Hole section (Spin, ISCO/Horizon); render_scale slider.
- Performance: render_scale now wired (0.75 desktop / 0.5 web), not reserved.
- Status: Phase 1 shipped; Phase 2 implemented-pending-human-validation;
  Phase 3 (exact pseudo-Hamiltonian) is the actual future work.

AGENTS.md:
- Intro + mirror contract: name the Kerr/RK45 functions the mirror must track
  (kerr_bending_accel, rk45_step, is_captured_rk45) and the exact shader lines.
- Conventions: 'render_scale and spin are reserved' is false now — both wired;
  update the perf-lever and web-defaults notes accordingly.
- Reference docs: list both Phase 2 docs, not just Phase 1.

Phase 2 plan (docs/superpowers/plans/2026-07-13-...-kerr.md):
- Status banner: Tasks 1-7 implemented+committed, Task 8 (human visual/perf
  checklist) is what remains.
- Check the Task 1-7 step/commit boxes; leave all Task 8 manual steps and the
  visual/fps acceptance items unchecked. Check only the code-verifiable
  acceptance items (cargo test green, RK45+render_scale running, Spin slider
  shipped).
2026-07-14 15:52:49 +08:00
xfy
87b089eb35 docs: README + silence reserved-field dead-code warning
README documents the renderer, run instructions (desktop + web), controls,
how the geodesic pipeline works, performance notes, and Phase 2 (Kerr) as
future work. Allow dead_code on BlackHoleParams since render_scale + spin
are intentionally reserved for Phase 2.
2026-07-13 10:04:44 +08:00