Add observer track PNG movie mode

This commit is contained in:
wyj committed 2026-08-25 22:56:10 -04:00
1 parent d3dc2e5836
commit c8b321a62a
10 files changed
+552 -33

No files matched your search

+25
View File
@@ -24,6 +24,31 @@ color.
The output is a binary PPM at `output/imgs/minkowski_sky.ppm`; it can be inspected by
most image viewers or converted to PNG with ImageMagick.
## Movie PNG sequence (Phase A)
Movie mode consumes a canonical observer-track CSV rather than a fixed camera.
Each row stores coordinate time, proper time, Cartesian position, and the full
four-by-four tetrad (21 columns total). Generate the first reproducible
Minkowski benchmark—two coordinate seconds at 30 fps, accelerating from rest
to about `0.95c`—then render its numbered PNG frames:
```sh
make clean && make ENABLE_PNG=1
mkdir -p output/imgs
./build/minkowski_sky --write-minkowski-accel-track output/minkowski_accel_2s.csv \
--duration 2 --fps 30 --proper-acceleration 1.52
./build/minkowski_sky --observer-track output/minkowski_accel_2s.csv \
--frames-dir output/imgs --frames-prefix minkowski_accel \
--start-time 0 --duration 2 --fps 30
```
This writes `minkowski_accel_000000.png` through
`minkowski_accel_000060.png`. The renderer treats the CSV as its observer
input; the acceleration generator is only a reproducible flat-spacetime test
fixture. The current movie path still renders frames independently while the
time-slab/RayPool scheduler is implemented next, so it must not yet be used
as a performance measurement for numerical-relativity data.
PNG output is optional so the default build has no `libpng` dependency. Build
with `make ENABLE_PNG=1`, then select it with a `.png` output path: