CultLib/packages
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Meta Vens 05ca826091 tests: pin cellular's HLSL mirror against radius-2, 2^24, and tie inputs
EveryMirrorFunctionMatchesCSharpMath's generic random/special-value cases
never happen to hit a point where a radius-2 cell wins (about 3.5e-5 of
points) or an integer point at or past 2^23, so an HLSL mutant of cellular's
search radius, its lower-bound prune, or the removed F2=0 guard could change
cultmath_cellular's real output and still pass this test.

Adds three targeted point cases, reusing CellularAndSminGradTests' own
fixtures so the mirror test does not carry a second copy of the construction:

- the six points from AxisAlignedRadiusTwoOffsets/FindPointRealizingOffset,
  each of which realizes a different axis-aligned radius-2 offset as F1 or
  F2 in the independent 7x7x7 oracle;
- four integer points at 2^24 (both signs), where distinct cells' jittered
  features can round onto the same float32 value, reaching the F2 = 0 guard;
- one exact F1 = F2 tie point, the midpoint of two adjacent cells' feature
  points (bit-exact-equidistant from both by construction, no search
  needed).

Verified against four HLSL mutants applied to shaders/CultMath.hlsl on
scratch copies (not committed) and reverted after each check:
- `dz < 2` instead of `dz <= 2`: killed by the axis-slice point at
  (-56.671272, -67.01973, -79.001).
- `dx` starting at -1 instead of -2: killed by the axis-slice point at
  (62, -77.91331, -79.42451).
- pruning against f1 instead of f2: killed by an axis-slice point and both
  of the 2^24 integer points (3 mismatches).
- the F2 = 0 guard removed (`grad2 = (p - c2) / f2`, unconditional): killed
  by the (2^24, 2^24, 2^24) integer point (NaN vs the guarded zero).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-25 23:14:10 +02:00
..
cultcache-py Refuse re-entrant Python cache mutations and adopt legacy-key globals on load 2026-09-14 12:27:55 +02:00
cultcache-rs Require an atomic push_all from every Rust backing store 2026-09-14 12:28:07 +02:00
cultcache-ts Delete the TypeScript re-entry guard; state the store-wait rule once 2026-09-14 12:43:46 +02:00
cultmath tests: pin cellular's HLSL mirror against radius-2, 2^24, and tie inputs 2026-09-25 23:14:10 +02:00
cultmesh-browser Share the route-certificate view between cultmesh-ts and cultmesh-browser 2026-09-23 15:52:46 +02:00
cultmesh-kotlin Consolidate CultNet schema contracts into CultLib/contracts/cultnet 2026-09-13 17:27:41 +02:00
cultmesh-py CultNet selection cut1, commit 2 fix batch: R-2, Python refuses v1 selection messages 2026-09-22 06:13:16 +02:00
cultmesh-rs Land R-N in Rust: cultnet.error.v0 code/details, matched byte-for-byte 2026-09-22 20:00:37 +02:00
cultmesh-ts Commit the QUIC native binaries, SHA256SUMS and MANIFEST.txt 2026-09-23 21:58:54 +02:00
cultnet-py CultNet selection cut1 fix batch: R-L (contract, Python, mutate-dotnet.ps1) 2026-09-22 09:39:53 +02:00
cultnet-rs R-BA: delete the unreachable to.schemaId tiebreak from both edge comparators 2026-09-23 09:08:55 +02:00
cultnet-ts Extend the Cut 5 interop lane: a late C# native connector gets the TS retained frame 2026-09-23 18:32:39 +02:00