Skip to content

v0.6.0

Choose a tag to compare

@HarperZ9 HarperZ9 released this 09 Oct 04:37
158afa8

raw-native renders a test scene, computes ambient occlusion two ways, and writes a certificate saying whether the fast screen-space estimate held against a ray-traced reference. Version 0.6.0 adds a GPU host for the web, two creative modules, a mathematical-animation layer, and a media engine. The engine renders this release's own explainer video and walkthrough from this release's own output.

Download and run

File Platform
raw-native-0.6.0-windows-x64.zip Windows 10 or 11, x64. CPU only, static runtime, no installer, loads only KERNEL32.dll.
raw-native-0.6.0-windows-x64-d3d12.zip Windows 10 or 11, x64, with the D3D12 backend. --gpu needs a hardware GPU. Adds only d3d12.dll and dxgi.dll.
raw-native-0.6.0-linux-x64.tar.gz Linux x64 with glibc 2.38 or newer.
raw-native-0.6.0-wasm.zip Browser or Node: the CPU build and the WebGPU build. Also published loose.
sha256sum -c SHA256SUMS
raw_native_cli --out ./out
raw_native_cli verify ./out

What is new

  • Media at every release. raw-native media render turns a repo's docs/media/media.json into videos, reading every number from the commit it runs at.
    • Each scene gets its video, a poster, captions, an interactive page with the engine beside it, and a manifest of hashes.
    • Walkthroughs record what each command really prints and draw it as a guided terminal session.
    • A reusable workflow, .github/workflows/media.yml, renders on a runner with no GPU through Chrome's CPU WebGPU adapter and attaches the result to the release. Any repo can call it.
    • This release's media, "Checking the light" and a first-run walkthrough, is attached below by that workflow. See ADR 0012.
  • Motion, a mathematical-animation layer (web/motion/, ADR 0011). A scene is a pure function of time. It provides:
    • Bezier paths drawn with analytic anti-aliasing on the GPU;
    • morphs between shapes, text and equations by point correspondence;
    • glyph atlases from any font you may redistribute, and a small TeX subset;
    • live plots and GPU particle formations;
    • a camera that moves through scale with depth of field.
      One scene file plays live, with scrub, frame step and parameters, and renders frame-exact to video through the browser's hardware encoder: about 25 ms a frame at 3840 x 2160 on an RTX 4090.
  • Web GPU host (web/raw-gpu.mjs, ADR 0010). WGSL compute and render pipelines, the frame graph and per-pass GPU timing on WebGPU, in one dependency-free module.
  • Threads and Worlds.
    • Threads: particles flowing along fifteen form fields.
    • Worlds: fifteen raymarched dioramas you can walk around.
      Both are creative modules with no CPU reference and no certificate, and both composite under Motion.

Checked before release

  • The default render's certificate.json, receipt.json, channels.json, frame.ppm and both AO float files are byte-identical from the packaged Windows, Windows D3D12, Linux and CPU wasm builds. The certificate.json SHA-256 is a65bf9b6....
  • Against 0.5.1, frame.ppm, both AO float files and channels.json hash the same. certificate.json and receipt.json differ only through the version string.
  • raw_native_cli verify passes on the Windows, Linux and wasm output. The packaged Windows and Linux archives were unpacked and run.
  • 36 of 36 tests pass with MSVC and with GCC 13.3. The D3D12 build adds the hardware runtime test (37 of 37 on an RTX 4090).
  • CI is green on the release commit, including the new media-smoke job. That job builds, reads the facts, records the walkthrough and renders the first seconds of each scene on a hosted runner with no GPU.

Limits

  • The D3D12, WebGPU and WARP matrices and the benchmark were not rerun for 0.6.0. Their evidence is 0.5.0's, and the render code they measure is unchanged.
  • Media files. The -540p videos are the workflow's renders: captions, no narration. The -1080p and -2160p videos, the posters and the media zips are the narrated renders made on the author's machine, from the same commit's values. The narration is a synthesized version of the author's voice.
  • Sound, updated 10 October 2026. The -1080p and -2160p videos and the media zips now carry a mix from the sound engine (web/sound, merged after this release). The mix has the same narration, a score held 18 LU under the voice, and a few cues tied to what changes on screen. It is mastered to -16.0 LUFS integrated, with true peak at most -1.8 dBTP (ffmpeg ebur128). Pictures, facts and captions are unchanged. Each zip's media.json has a sound block, and sound/ holds the sheet, report and receipt. The videos first attached carried the narration alone. They are kept, and the narration-only mix can be restored by swapping the files back.
  • Motion, Threads and Worlds are creative media: they make no claim about accuracy and write no certificate.
  • One built-in scene. Agreement with the CPU is not agreement with ground truth: the CPU reference is itself a 64-sample estimate.

Licensed FSL-1.1-MIT. Version 0.2.0 and earlier stay MIT.