OverviewFilesCommitsIssuesDocsReleasesPeers

ifsrenderer-linux commits / 66e8e3c

Fix a stale paragraph in the notes about staleness
The Correction block still explained why to_pointcloud does NOT write `color` by default. It has done since the measurement two commits ago. Replaced with what is now true and, more usefully, WHY the earlier reasoning was wrong: the "poisoned name" warning conflated "a material reading `color` renders black" with "the attribute existing renders black", and only the first is true. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
66e8e3cc069dccdf76a8a2b08c4921f1ba3a79db
by plankatron <fleeky@gmail.com> · 2026-08-18T14:46:08.000Z

Changed files (1) +9 -8

blender/NOTES-splat-rendering.md +9 -8
……@@ -45,14 +45,15 @@ is that the attribute holds the coefficient rather than the colour.
4545Two of our three attributes were already correct by luck: `scale` is written
4646unlogged (activated) and `rotation` is w-first identity. The mismatch is opacity.
4747
48**Why `to_pointcloud` still does not write `color` by default.** That name is the
49one this project has already been burned by — as a POINT attribute it renders
50BLACK, which is why colour lives in `ifs_color` and why a test forbids the name.
51Blender's splat path requires exactly that name, so the two contracts collide.
52Nothing that ships reads the splat one (it is 5.3-alpha, on a branch, no
53milestone, no buildbot builds), so it is available as
54`to_pointcloud(..., splat_contract=True)` rather than imposed on the rendering
55that works today.
48**`to_pointcloud` writes `color` by default** (`splat_contract=True`). It was
49briefly opt-in, on the grounds that `color` is "poisoned for points — renders
50black". That warning came from the volume work and had never been measured in
51this context. It is wrong as applied: an A/B on a cloud that renders, same
52material reading `ifs_color`, is byte-identical with and without the attribute
53(lit=69, max=0.8157, mean=0.00103 both ways). `color` renders black when a
54MATERIAL READS it — a different claim, which the codebase had collapsed into the
55first. The invariant that matters is that our material reads `ifs_color`, and
56test_points_operator pins it.
5657
5758**Other corrections from the same audit:**
5859