#[cfg(test)]
mod tests;
#[derive(Clone, Copy, Debug, PartialEq, Eq)]
#[non_exhaustive]
pub struct Preregistration {
pub id: &'static str,
pub ticket: &'static str,
pub hypothesis: &'static str,
pub falsified_by: &'static str,
pub records: &'static [&'static str],
}
pub const PREREGISTERED: &[Preregistration] = &[
Preregistration {
id: "P-8",
ticket: "R-001",
hypothesis: "A weld gated on Lk u ∩ Lk v = ∅, leaving rejected pairs \
split, yields exactly 0 non-manifold edges and 0 \
non-manifold vertices on all eight fields × all extractors, \
where the unconditional weld yields N > 0.",
falsified_by: "The gated weld still producing non-manifold output — \
which would prove the surface link condition insufficient \
for index-buffer realisation, and is the more interesting \
result.",
records: &[
"non_manifold_edges_ungated",
"non_manifold_edges_gated",
"non_manifold_vertices_ungated",
"non_manifold_vertices_gated",
"rejected_merges",
"vertex_delta",
"weld_ms_ungated",
"weld_ms_gated",
],
},
Preregistration {
id: "P-9",
ticket: "R-002",
hypothesis: "For buckets of ≥3 coincident vertices, at least one \
reference field yields ≥2 distinct outputs across P seeded \
permutations of within-bucket merge order.",
falsified_by: "All P permutations byte-identical on every field — \
meaning the k-way weld is confluent and no canonical \
order is needed.",
records: &[
"distinct_outputs",
"vertex_count_spread",
"buckets_of_three_or_more",
],
},
Preregistration {
id: "P-10",
ticket: "R-003",
hypothesis: "Vertex inflation from gated-weld-plus-split is < 1%, and \
self-intersections per 1k are unchanged from the \
unconditional weld.",
falsified_by: "Inflation > 1%, meaning a real merge/split trade-off \
needing a stated policy; or self-intersections rising, \
meaning M-93's duplication artefact returns and the \
metric must be defined on welded output only.",
records: &[
"vertex_inflation_pct",
"self_intersections_per_1k_gated",
"self_intersections_per_1k_ungated",
],
},
Preregistration {
id: "P-11",
ticket: "R-004",
hypothesis: "With one canonical world_of_sample rather than an \
offset-and-add, seam cracks fall to 0 for all cell sizes — \
not only powers of two — and M-73's hairline disappears with \
no change to the transition-cell construction.",
falsified_by: "Cracks surviving canonical reconstruction, which localises \
the defect back in Transvoxel and makes it a different \
ticket.",
records: &[
"cell_size",
"lod_pair",
"crack_count",
"max_discontinuity",
"arithmetic",
],
},
Preregistration {
id: "P-12",
ticket: "R-005",
hypothesis: "The dual's superlinear cost is the four-cells-around-a-\
crossed-edge gather at stride n²: cache-miss count per \
sample rises with n for Surface Nets and stays flat for \
Marching Cubes.",
falsified_by: "Flat miss rates, pointing at branch misprediction or \
allocation instead.",
records: &[
"samples",
"extractor",
"cache_misses_per_sample",
"ns_per_sample",
],
},
Preregistration {
id: "P-13",
ticket: "R-006",
hypothesis: "M-66's non-convergent angle is bounded below by the \
dihedral angle of the feature, so it is a property of sharp \
edges rather than of resolution and is predictable from the \
field.",
falsified_by: "The angle failing to track the dihedral prediction, which \
makes it a defect with a location rather than a property.",
records: &[
"dihedral_deg",
"samples",
"measured_angle_deg",
"predicted_angle_deg",
],
},
Preregistration {
id: "P-14",
ticket: "R-003",
hypothesis: "The residual non-manifold vertices under Surface Nets and \
Dual Contouring are the one-vertex-per-cell rule meeting a \
cell that contains more than one surface component: almost \
all of them sit in cells where Manifold Dual Contouring \
emits more than one vertex, and MDC's own count is strictly \
lower on every field where either is non-zero.",
falsified_by: "A substantial share of non-manifold vertices sitting in \
cells where MDC emits exactly one vertex — which would \
mean the defect is not the one-vertex-per-cell rule and \
is somewhere else entirely.",
records: &[
"non_manifold_vertices",
"non_manifold_edges",
"multi_vertex_cells",
"nm_vertices_in_single_vertex_cells",
"worst_link_components",
],
},
Preregistration {
id: "P-15",
ticket: "R-007",
hypothesis: "More than half of the dual mesher's cycles per sample are \
spent in emit_quads, which is three unconditional O(n³) \
sweeps over the sample grid rather than work proportional \
to the surface.",
falsified_by: "emit_quads accounting for half or less, which puts the \
cost in sample or place_vertices — work Marching Cubes \
does too, at four times the IPC — and means the dual's \
IPC is lost to something other than its extra traversal.",
records: &[
"stage",
"cycles_per_sample",
"instructions_per_sample",
"ipc",
"samples",
],
},
Preregistration {
id: "P-16",
ticket: "R-008",
hypothesis: "Every vertex whose area-weighted normal is more than 90° \
from the field gradient lies on a grid edge at least one of \
whose incident cells straddles the crease — its eight \
corners do not all have the same nearer plane — so the \
phenomenon is two faces meeting inside one cell rather than \
a winding or ordering defect.",
falsified_by: "More than 5% of past-90° vertices whose incident cells \
all lie on one side of the crease, which would make it a \
defect with a location and a fix rather than a property \
of one vertex per crossed edge.",
records: &[
"dihedral_deg",
"samples",
"past90_vertices",
"past90_in_straddling_cell",
"offending_faces_per_past90_vertex",
],
},
Preregistration {
id: "P-17",
ticket: "A-025",
hypothesis: "Manifold Dual Contouring's residual non-manifold edges are \
an interior ambiguity the face decider cannot see: the \
cells sharing an offending ambiguous face report \
Interior::Joined on at least one axis sweep at a rate far \
above the same measurement over non-offending \
ambiguous-face pairs.",
falsified_by: "Offending pairs reporting Interior::Joined at about the \
same rate as the control — which would mean the residue \
is not the interior ambiguity and the one-vertex-per-cycle \
rule fails for a reason nothing in the A-002 series has \
named.",
records: &[
"samples",
"face_rule",
"offending_pairs",
"offending_with_interior_join",
"control_with_interior_join",
],
},
Preregistration {
id: "P-18",
ticket: "R-011",
hypothesis: "Every precondition a published convex decomposition method \
requires of its input mesh is already reported by \
ColliderReadiness, so a caller holding a readiness report \
has everything it needs to decide whether a mesh can be \
handed to a decomposer.",
falsified_by: "Any precondition required by a method in the audit that \
no ColliderReadiness field reports. \
Self-intersection-freedom is the standing candidate and \
this hypothesis is expected to die on it, since \
SelfIntersectionReport is a separate type the readiness \
report does not fold in — registered as a prediction \
anyway, because an expectation that is not written down \
before the count is taken is not evidence.",
records: &[
"method",
"precondition",
"required",
"readiness_field",
"covered",
],
},
Preregistration {
id: "P-19",
ticket: "S-009",
hypothesis: "The on-demand-versus-batch crossover for the generalized \
winding number is set by the batch path's one-ray-per-grid-row \
sharing, not by its point count: on a nearly-closed mesh the \
crossover query count Q* is of order N² rather than N³, \
landing within 0.5x to 4x of N² for grids from 17³ to 65³. \
The naive expectation -- that an on-demand field wins below \
N³ queries, since that is how many the batch path answers -- \
is registered here as the thing this is expected to beat.",
falsified_by: "Q* reaching a tenth of N³ or more on a nearly-closed mesh, \
which would put the cost in the per-point boundary-edge \
correction rather than in the per-row ray, and mean the \
row sharing M-299 identified is not what sets the \
crossover. Also falsified if no crossover exists at all \
above the point where batching is trivially cheaper -- a \
single query -- which would say the on-demand field has no \
regime and S-009 should be closed rather than built.",
records: &[
"samples_per_axis",
"triangles",
"boundary_edges",
"batch_total_ns",
"on_demand_ns_per_query",
"crossover_queries",
"crossover_over_n_squared",
"crossover_over_n_cubed",
],
},
Preregistration {
id: "P-20",
ticket: "R-010",
hypothesis: "Splitting a weld on a caller-supplied key moves no topology \
metric relative to the unconditional weld beyond the splits \
the key itself names: with a constant key every metric is \
identical, and with a varying key the only change is the \
vertex count rising by the number of sub-classes the key \
creates. Across all eight reference fields and every \
extractor.",
falsified_by: "Any topology metric -- non-manifold edges, non-manifold \
vertices, boundary edges -- moving where the key is \
constant, which would mean the hook itself rather than \
the key is doing something. Or, with a varying key, a \
non-manifold vertex count that rises by more than the \
split count, which would be E*4's failure reappearing: a \
partial refusal within one coincidence class leaving its \
representative a bowtie.",
records: &[
"field",
"extractor",
"key",
"vertices_after",
"splits",
"non_manifold_edges",
"non_manifold_vertices",
"boundary_edges",
],
},
Preregistration {
id: "P-21",
ticket: "R-024",
hypothesis: "A freshly extracted mesh separates exactly the sample pairs \
the field's own sign separates. For every 6-adjacent pair of \
grid samples, the mesh crosses the segment between them an \
ODD number of times when the two samples straddle the \
surface and an EVEN number when they do not -- so the \
connected components of the air sublevel set and the \
components of the same samples under mesh-cut adjacency \
agree in count and in partition. Marching Cubes achieves \
this on all eight reference fields, because its vertex is \
the root of the interpolant along the very edge being \
probed. At least one dual method does not, because it \
places its vertex by solve.",
falsified_by: "Universal agreement -- every extractor sealing every field \
at every resolution, which would be a stronger \
correctness statement than this crate currently makes and \
is worth saying so. Separately falsified, and more \
interestingly, by Marching Cubes disagreeing: that would \
put the defect in the primal path, where the crossing is \
on the interpolant by construction, and would mean the \
failure is in triangulation rather than in vertex \
placement.",
records: &[
"field",
"extractor",
"samples_per_axis",
"field_air_components",
"mesh_air_components",
"unsealed_walls",
"spurious_walls",
"mixed_regions",
],
},
Preregistration {
id: "P-22",
ticket: "T-026",
hypothesis: "Two clauses about Grosso & Zint's mean-ratio triangle \
quality, q = 4*sqrt(3)*A / sum(l_i^2). (1) \
`marching_cubes` and `marching_cubes+decider` measure the \
IDENTICAL mean ratio on every reference field, because both \
place their vertices at the root of the interpolant along a \
grid edge and a face rule changes which crossings are \
joined rather than where they are. That is the paper's own \
explanation for its MC and TMC columns agreeing to two \
decimals on all seven of its rows. (2) This crate's \
Marching Cubes lands inside 0.65 to 0.71 on a smooth \
analytic field, the band their MC occupies, whose gen2 \
figure is resolution-independent at 64, 128 and 256 cubed.",
falsified_by: "The two Marching Cubes entries differing at all, which \
would mean the face rule moves geometry and not only \
connectivity -- and would contradict the mechanism the \
paper states for its own two columns. Or a mean ratio \
outside 0.65-0.71 on a smooth analytic field, which would \
mean the metric is not implementation-independent and the \
published baseline cannot be compared against at all. The \
second is a real possibility rather than a formality: \
their MC is somebody else's code measured on somebody \
else's fields, and every cross-source comparison this \
repo has attempted so far has needed an amendment.",
records: &[
"field",
"extractor",
"samples_per_axis",
"mean_ratio",
"irregular_vertices",
"referenced_vertices",
"triangles",
],
},
Preregistration {
id: "P-23",
ticket: "R-022a",
hypothesis: "Repairing the air sublevel set's connectivity after a \
brush dig costs work proportional to the DIRTY SET and not \
to the lattice. Concretely: at a fixed brush radius, the \
number of union operations an incremental insertion-only \
update performs is constant as the lattice grows through \
33, 65 and 129 cubed, so unions divided by newly-air \
samples stays inside a narrow band and never exceeds 6 -- \
the degree of the lattice -- while a full rebuild's union \
count grows as n cubed. Digging only ever inserts, and an \
insert joins at most two trees with no replacement-edge \
search, so a union-find is the entire structure.",
falsified_by: "The incremental union count growing with n cubed at a \
fixed brush size. That is R-022's own stated falsifier \
and it would mean edit-proportional repair is \
unavailable even in the easy direction, which closes the \
whole direction rather than only this half. Separately \
falsified by unions per dirty sample exceeding 6, which \
would mean the harness is visiting something other than \
the six incident lattice edges and is measuring its own \
traversal rather than the repair.",
records: &[
"samples_per_axis",
"dirty_samples",
"incremental_unions",
"rebuild_unions",
"unions_per_dirty",
],
},
Preregistration {
id: "P-24",
ticket: "R-023",
hypothesis: "The trilinear body-saddle value F(s) is a DECISION MARGIN \
for the interior ambiguity, not merely correlated with it: \
sign(F(s)) agrees with Interior::test() on every ambiguous \
cell whose sweep has NO pole in (0, 1), and every \
disagreement between them has a pole inside the sweep. A \
pole is the term Chernyaev's test drops and is what \
Custodio's Figure 6 counterexample is built from, so that \
is where the published algorithms part company and is the \
only place H permits a difference. Thresholding |F(s)| at \
epsilon is then a one-parameter family whose epsilon = 0 \
member is the published decider exactly.",
falsified_by: "A disagreement on an ambiguous cell whose sweep has no \
pole in (0, 1). Chernyaev's quadratic is exact there, so \
a difference would mean the body-saddle value is not the \
quantity the interior test is a sign of, and the whole \
reframing collapses rather than needing a tolerance. \
Separately falsified if the two agree on every cell \
INCLUDING the poled ones, which would mean Custodio's \
correction is unreachable on this crate's fields and the \
census cannot discriminate -- a null that says the \
fixture is wrong rather than the hypothesis.",
records: &[
"field",
"samples_per_axis",
"ambiguous_cells",
"agreements",
"disagreements",
"disagreements_with_pole",
"disagreements_without_pole",
],
},
Preregistration {
id: "P-25",
ticket: "R-022b",
hypothesis: "Repairing the air sublevel set's connectivity after a \
brush FILL costs work proportional to the SHED VOLUME -- \
the air samples that leave their component -- and not to \
the surviving component, nor to the lattice. Concretely: \
at a fixed brush radius the voxels the replacement search \
visits stays flat as the lattice grows through 33, 49 and \
65 cubed, while a rebuild's visit count grows as n cubed. \
Two mechanisms, both already measured. A union-find CAN \
absorb deletion, because a parent pointer only has to \
reach the right root and a filled sample sitting mid-tree \
is never queried -- so only the shed pieces are re-rooted \
and the surviving side is never walked. And the shed \
pieces are tiny: M-320 measured the smaller side of a \
split at ONE voxel at the median and 120 at the observed \
maximum, against 227,567 air samples. The levelled HDT \
scheme is therefore unnecessary here; lockstep search \
outward from every seed, stopping when all but one \
frontier exhausts, is enough.",
falsified_by: "Visited voxels growing as n cubed at a fixed brush size, \
which would mean the search is exploring the SURVIVING \
component rather than the shed pieces -- i.e. the \
lockstep stop condition is wrong and the structure is \
walking the thing it was built to avoid walking. \
Separately and more seriously falsified by any \
disagreement between the incrementally maintained \
components and a full rebuild over the same values: \
component count, or any connected() answer. That would \
mean the structure is fast and WRONG, which is worse \
than slow and right, and it is the failure a \
measurement of cost alone cannot see.",
records: &[
"samples_per_axis",
"fills",
"dirty_samples",
"seeds",
"visited",
"splits",
"shed_components",
"vanished_components",
"rebuild_visited",
],
},
Preregistration {
id: "P-26",
ticket: "R-022b",
hypothesis: "P-25 with its MECHANISM clause replaced and its COST \
clause unchanged; see the falsification in FINDINGS as \
cross-26. Unchanged: repairing the air sublevel set after \
a brush fill costs work proportional to the SHED VOLUME, \
not to the surviving component nor to the lattice, so \
visited voxels stay flat through 33, 49 and 65 cubed at a \
fixed brush radius. Replaced: the structure is not a \
union-find but a FLAT label array -- every sample carries \
its component id directly, so re-rooting a shed piece is \
one write per member and no surviving sample can route \
through it. Flat labels fix the REPRESENTATION, not the \
SEARCH: the lockstep replacement search was always \
required and the union-find merely promised falsely that \
it could be skipped. Added: lockstep bounds work by the \
SECOND-LARGEST piece, so M-320's one-voxel median is a \
property of the edit distribution rather than of the \
structure. Bisecting a tunnel between two equal caverns \
makes both frontiers huge and visited then grows with n at \
a fixed brush size. So the prediction is stated per \
fixture: FLAT on the measured distribution, GROWING on a \
deliberate bisect.",
falsified_by: "Visited voxels growing as n cubed ON THE MEASURED \
DISTRIBUTION at a fixed brush size. Growth on the bisect \
fixture is predicted and is not falsifying; a structure \
that came out flat on BOTH would instead mean the bisect \
fixture is not adversarial and needs rebuilding, which \
is a fixture failure rather than a result. Separately \
and more seriously falsified, as in P-25, by any \
disagreement between the maintained components and a \
full rebuild over the same values -- component count, or \
any connected() answer. Fast and wrong is worse than \
slow and right.",
records: &[
"samples_per_axis",
"fixture",
"fills",
"dirty_samples",
"seeds",
"visited",
"splits",
"shed_components",
"vanished_components",
"rebuild_visited",
],
},
Preregistration {
id: "P-27",
ticket: "R-029",
hypothesis: "Offsetting a slab's mid-plane by half a voxel takes the \
count of lattice samples whose default SDF gradient is \
exactly [0,0,0] from one full lattice plane (65-squared = \
4,225 at 65 samples per axis) to ZERO, while the \
medial-stability population -- sub-voxel probes with \
voxel-step central-difference gradient magnitude under \
0.1 -- changes by less than 5 percent. Two populations \
on purpose: the sub-threshold set is a band of thickness \
0.2h, thinner than the lattice pitch, so counted on the \
voxel lattice itself clause two would be vacuously false \
under ANY misalignment. On the registered probe lattice \
of pitch h/200 the worst change a rigid offset can \
produce is 1/40 = 2.5 percent -- derived, half the \
registered bound, and the margin between them is the \
room for the discrete band to misbehave.",
falsified_by: "Exact zeros surviving the half-voxel offset -- the \
discrete gradient is doing something the continuous \
identity does not describe, and R-030 inherits that \
question before anything else runs. Clause two is \
separately falsified by the band count moving more \
than 5 percent, which the derived 2.5 percent \
instrument bound says can only happen if the discrete \
band is not the rigid 0.2h ramp the arithmetic \
assumes.",
records: &[
"arm",
"offset_voxels",
"exact_zeros",
"band_count",
"probe_pitch_voxels",
],
},
Preregistration {
id: "P-28",
ticket: "R-030",
hypothesis: "The matched-analytic re-instrumentation of the identity \
r = rho * sqrt(1 - |grad rho|^2), after V-46 showed the \
ticket's MEB-oracle shape cannot discriminate. Three \
clauses. C1, form: on slab, wedge and triangular-prism \
air fixtures in generic position -- piecewise-linear \
fields, so the voxel-step mollified truth is derivable \
exactly -- the measured r matches the derived closed \
form within 1e-9 of the gap on 100 percent of \
medial-band samples, exercising the two-point AND \
three-point closest-point cases. C2, curvature: on a \
capsule at generic off-axis samples, where the true \
inscribed radius is zero, the formula's own noise floor \
has a world-unit median that HALVES per resolution \
doubling -- 33-to-129 end-to-end ratio at most 0.35 -- \
the O(h) sqrt-amplification of the O(h squared) \
curvature error in the discrete gradient. C3, clearance: \
for slab gaps of 3, 6 and 10 voxels across 8 sub-voxel \
phases, the band-max r sits inside the derived envelope \
[sqrt(3)/2 * (W - h/2), W] on 24 of 24 rows.",
falsified_by: "C2's end-to-end ratio at or above 0.7 -- an \
h-independent noise floor, meaning the discrete score \
cannot separate medial signal from curvature noise at \
any fixed world scale, and Calibre, the throat metric \
and handholds die together as the dossier said. C1 \
failing instead is an implementation or transcription \
finding, not a verdict on the identity. C3 failing \
means the clearance-envelope derivation is wrong and \
the lambda test loses its accuracy claim. And the \
wrong-form inversion -- rho times (1 - |grad rho|) -- \
must fail C1 on at least 30 percent of mid-band \
samples by more than a tenth of the gap, or this \
instrument has not been shown able to go red and V-46 \
applies to it too.",
records: &[
"fixture",
"samples_per_axis",
"band_samples",
"within_tol_pct",
"band_median_residual_world",
"clearance_true_voxels",
"clearance_est_voxels",
"clamped",
],
},
Preregistration {
id: "P-29",
ticket: "R-031",
hypothesis: "Dreybrodt and Gabrovsek's wormhole competition reproduces \
on a 64x64 fracture lattice with their own constants, \
read from the converted primary source rather than \
tuned: cubic-law resistance, linear kinetics \
F = k(1 - c/ceq) with the composite k(a), \
k1 = 4e-11 mol/cm2/s, ceq = 1e-6 mol/cm3, \
D = 1e-5 cm2/s, penetration-length transport, \
da/dt = 2*gamma*F. Clause one: under constant-head \
boundaries the post-breakthrough aperture distribution \
is BIMODAL by the central-gap statistic -- max gap in \
ln(a) with 1 percent tails dropped, at least 0.2, the \
registered initial log-sd -- on both the \
seeded-homogeneous and lognormal-heterogeneous nets, \
while the fixed-flux recharge-limited arm stays \
UNIMODAL at matched cumulative dissolved volume, per \
Perne, Covington and Gabrovsek's limited-recharge \
suppression. Clause two: past breakthrough, more than \
90 percent of dissolution flux concentrates in fewer \
than 10 percent of edges. Recorded, not registered: \
heterogeneous breakthrough earlier than \
seeded-homogeneous (the paper's 560 against 1890 \
years, as an ordering, not a magnitude), per-tick \
cost, and the Gini-over-flow series.",
falsified_by: "No bimodal split on either constant-head arm, or \
dissolution flux failing to concentrate past \
breakthrough -- the positive-feedback premise of the \
mechanic dies with the kinetics. Separately falsified \
as an INSTRUMENT if the recharge-limited arm goes \
bimodal while the detector also calls the t-zero \
lognormal apertures bimodal -- both-arms-bimodal \
indicts the statistic, both-arms-unimodal indicts \
the kinetics. The detector's own red and green -- a \
synthetic half-shifted sample it must call bimodal, \
the t-zero sample it must call unimodal -- run before \
any verdict is read.",
records: &[
"arm",
"ticks",
"years",
"breakthrough_years",
"max_gap_ln",
"bimodal",
"flux_top10_pct",
"gini_flow",
"max_da_over_a_pct",
"tick_ms_median",
],
},
Preregistration {
id: "P-30",
ticket: "R-031",
hypothesis: "P-29's clause one with its INSTRUMENT replaced and its \
prediction unchanged; the falsification is M-326. The \
central-gap detector trimmed 1 percent tails -- 81 of \
8,128 edges -- while a winning wormhole path is at most \
one input-to-output chain of 63 edges, so the registered \
statistic ate the mode it was looking for. Replaced: no \
trim; a split counts as bimodal only when the gap in \
sorted ln(a) is at least 0.2 AND both sides hold at \
least 8 edges -- 0.1 percent, eight-fold below the \
smallest possible winner mode (the lattice's own path \
length, 63, knowable before any run) and eight-fold \
above single-edge outliers. Unchanged: under constant \
heads the post-breakthrough aperture distribution is \
bimodal on both the seeded-homogeneous and \
lognormal-heterogeneous nets, and the recharge-limited \
arm stays unimodal at the same at-breakthrough \
dissolved volume. Recorded beside it: the water-flux \
top-10-percent share, next to the dissolution share \
M-326 closed at 78 percent.",
falsified_by: "No qualifying gap on either constant-head arm. With \
the mode guard in place that verdict would mean the \
aperture histogram is genuinely not gapped-bimodal -- \
the dossier's tier-R bimodality reading dies, and the \
competition claim rests on the concentration columns \
M-326 already measured (Gini 0.976 against 0.560). \
The positive-feedback premise itself is convicted \
only if those concentration columns also regress, \
which M-326 shows they do not. Instrument-falsified, \
as before, if the recharge arm reads bimodal while \
the t-zero green also fails; the synthetic red and \
t-zero green run again before any verdict is read.",
records: &[
"arm",
"ticks",
"years",
"breakthrough_years",
"max_gap_ln",
"guarded_gap_ln",
"guarded_bimodal",
"flux_top10_pct",
"flux_water_top10_pct",
"gini_flow",
"max_da_over_a_pct",
"tick_ms_median",
],
},
Preregistration {
id: "P-31",
ticket: "R-032",
hypothesis: "On 20 seeded dug scenes -- a solid block carved by 12 \
random overlapping capsule brushes through the crate's \
own BrushStack composition -- the weak feature size, \
measured as the minimum air-side distance-to-boundary \
over discrete critical points (voxel-step \
central-difference gradient magnitude under 0.5, the \
dossier's own theta-above-120-degrees filter constant, \
non-maximum-suppressed over 26-neighbourhoods), is \
below 2 voxels on MORE THAN 80 PERCENT of scenes -- so \
the homotopy certificate lambda < wfs essentially \
never holds at brush scale and the lambda-medial line \
rests on Hausdorff stability instead. A single-cavity \
control scene, one 20-voxel sphere in generic \
position, must report wfs of at least 10 voxels, \
demonstrating the instrument can call the certificate \
AVAILABLE before it is trusted calling it absent.",
falsified_by: "wfs at or above 2 voxels on half or more of the dug \
scenes -- the certificate comfortably available at \
brush scale, which would make the stronger homotopy \
guarantee live and the Hausdorff fallback \
unnecessary. Instrument-falsified by any dug scene \
reporting zero critical points (a minimum over an \
empty set is not a measurement), or by the control \
cavity failing its 10-voxel floor.",
records: &[
"scene",
"air_samples",
"critical_points",
"wfs_voxels",
"epsilon",
"samples_per_axis",
],
},
Preregistration {
id: "P-32",
ticket: "R-033",
hypothesis: "A one-voxel interior edit does not move a carved \
pillar's fundamental eigenvalue audibly. The pitch JND \
is 0.6 percent on FREQUENCY and f is proportional to \
sqrt(lambda), so the audibility threshold on lambda-one \
is 1.2 percent -- the conversion is registered because \
applying 0.6 to lambda directly would be a silent \
factor of two. Clause one: all 8 seeded \
strictly-interior one-voxel digs move lambda-one by \
less than 1.2 percent. Clause two: at least 1 of 4 digs \
adjacent to the fixture's two-cell web exceeds 1.2 \
percent -- the ticket's 'only edits near a thin feature \
are audible', both sides of it. Clause three, the \
null's reachability: carving a 20-percent-volume cavity \
moves lambda-one by more than 15 percent. Instrument: \
hexahedral FEM assembled directly on the occupancy grid \
(trilinear, 2x2x2 Gauss, E=1 nu=0.3 rho=1, lumped mass, \
base layer fixed), matrix-free inverse power iteration \
(48 outer) over Jacobi-preconditioned CG (256 inner, \
warm-started), and every reported eigenvalue carries an \
a-posteriori certificate -- the residual Kx minus \
lambda Mx in the M-inverse norm, at or below 5e-4 of \
lambda -- so fixed iteration counts can never mean \
silently wrong.",
falsified_by: "Any strictly-interior dig moving lambda-one at or \
above 1.2 percent -- per-edit modal audio earns its \
ticket, bounded in advance by Picard's O(m^2.8) \
scaling at about 40 modes in a 5 ms budget. Clause \
two failing the other way -- no web-adjacent dig \
audible -- closes the modal direction entirely at the \
cost of a day, the outcome the dossier priced. \
Instrument-falsified by the certificate exceeding its \
bound, the two deterministic starts disagreeing \
beyond twice the certificate, the control cavity \
moving lambda-one by less than 15 percent, or the \
free single-element spectrum holding other than \
exactly six rigid modes.",
records: &[
"edit",
"cells",
"dof",
"lambda1_base",
"lambda1_edited",
"delta_pct",
"audible",
"certificate_rel",
],
},
Preregistration {
id: "P-33",
ticket: "R-034a",
hypothesis: "A pure-Rust reimplementation of Whiting, Ochsendorf and \
Durand's rigid-block feasibility program -- per-vertex \
interface forces, equilibrium A f = -w, friction cone \
at mu = 0.7, compression-only -- reproduces the only \
external ground truths in the dossier. Bisecting \
thickness over centerline radius on a 100-block \
semicircular arch (the paper's own tessellation) finds \
the infeasibility threshold at 0.1075 plus or minus \
0.0010 -- Milankovitch's 1907 analytic value, which \
Whiting's solver hit at 0.10746 -- and bisecting ground \
tilt at t/r = 0.20 finds 15.84 degrees plus or minus \
0.05, Ochsendorf's value. The solver is alternating \
projection between the equilibrium affine set -- exact \
per iteration via one prefactored Cholesky of A times \
A-transpose -- and the per-vertex friction cones, whose \
projection is closed-form; compression is exact in the \
cone rather than penalized; 20,000 fixed iterations; \
the decision reads the CONE-side iterate's equilibrium \
residual per unit weight, 1e-5 feasible and 1e-4 \
infeasible, the band between asserted never hit, and \
the thresholds themselves are checked by the golden \
values -- a tuned-wrong threshold cannot hit 0.1075 \
from both sides. Block weights act at exact \
annular-sector centroids, because centerline weights \
reproduce Heyman's 0.106 rather than Milankovitch's \
0.1075 and the third decimal is the whole point. \
Recorded, not registered: the threshold at 25, 50, 100 \
and 200 blocks -- the paper's own warning that coarser \
blocks over-estimate stability, so coarse thresholds \
should sit BELOW fine ones.",
falsified_by: "Missing either golden value -- the solver is wrong \
somewhere between the formulation and the arithmetic, \
and nothing structural may be built on it. \
Instrument-aborts before any verdict: doubling \
gravity moving any feasibility decision (the program \
is scale-invariant or it is wrong), or any bisection \
step landing in the undecided residual band. The \
game-facing rule and the warm-start economics are \
R-034b's, deliberately not here.",
records: &[
"test",
"blocks",
"value",
"target",
"abs_error",
"within_tolerance",
"residual_feasible",
"residual_infeasible",
],
},
Preregistration {
id: "P-34",
ticket: "R-034b",
hypothesis: "Warm-started re-solves of the M-330-validated feasibility \
program are BIMODAL over an edit corpus, in the ticket's \
two classes. Fixture: a running-bond masonry wall (8 \
courses, ~96 blocks, bed and head joints, mu = 0.7) -- \
chosen over the arch because redundancy is what lets a \
severing edit leave a standing structure, and M-330 \
showed the arch too simple to discriminate anything \
block-structural. Cost is COUNTED, not timed: iterations \
of the alternating projection until the cone-side \
residual first crosses the 1e-5 feasibility line, cold \
(from zero) versus warm (from the pre-edit solution, \
mapped by interface identity). Clause one: over 10 \
non-severing edits (single-block weight nudges, small \
gravity tilts) the median warm-to-cold ratio is at most \
0.15 -- under 15 percent of cold, the ticket's number. \
Clause two: over 10 severing edits (an interior block \
removed, forces rerouted around the hole) the median \
ratio is at least 0.5 -- under 2x speedup. The \
bimodality IS the prediction: the two class medians \
separated by more than 3x.",
falsified_by: "A unimodal ratio distribution -- class medians within \
3x of each other -- which kills the cheap-incremental \
story and demotes the admissibility gate to \
background-budget-only, exactly as the original \
R-034 registered. Instrument notes: any edit that \
classifies infeasible at the 20,000-iteration cap is \
recorded as collapsed and excluded with its count \
printed -- a corpus that mostly collapses is a \
fixture failure and aborts; and every surviving edit \
must reach the decision line within the cap or the \
count, not the clock, has failed to decide.",
records: &[
"edit",
"class",
"iters_cold",
"iters_warm",
"ratio",
"feasible",
],
},
Preregistration {
id: "P-35",
ticket: "R-034b",
hypothesis: "P-34 with its instrument floor removed and its corpus \
unmixed; the falsification is M-331. Corrections, all \
derivable before running: the decision is probed every \
ITERATION (the floor becomes 1/cold instead of \
10/cold); the wall grows to 20 courses of 24 blocks \
(~470 blocks) so the cold count has three digits of \
dynamic range; and tilts leave the registered corpus \
-- a gravity rotation moves every interface force and \
is recorded as its own class, not averaged into local \
edits. Unchanged prediction, the ticket's own: over 10 \
single-block weight nudges the median warm-to-cold \
ratio is at most 0.15; over 10 interior removals it is \
at least 0.5; the class medians separate by more than \
3x. M-331's floor-pinned weight nudges and 0.8 removal \
median already point this way at 4x, undecidably.",
falsified_by: "The weight-nudge median still above 0.15 with the \
floor at 1/cold -- then the 0.400 was never the \
instrument's, the cheap-incremental story dies on \
merit, and the admissibility gate is \
background-budget-only as the original R-034 \
registered. Or medians within 3x -- unimodal, same \
consequence. Collapsed removals excluded on the \
record as in P-34, aborting past three.",
records: &[
"edit",
"class",
"iters_cold",
"iters_warm",
"ratio",
"feasible",
],
},
Preregistration {
id: "P-36",
ticket: "R-035b",
hypothesis: "On M-333's verified substrate -- the 64-cubed gyroid \
chunk, 12,615 Surface Nets vertices, heat operator at \
t = h-bar squared, nested-dissection ordering -- a \
radius-4-voxel surface perturbation changes at most 400 \
vertex slots (M-318's 346 of 15,706, keyed by cell \
identity; the 1-ring operator-row halo is counted \
beside it, expected 3 to 6 times more), and a partial \
refactorization over the elimination-tree ancestor \
closure of the changed columns re-establishes a valid \
factorisation at least 20 TIMES cheaper than a full \
refactorisation by wall time, with the flop ratio at \
least 10 alongside -- a large time ratio over a small \
flop ratio is an implementation artifact, not a result. \
The absolutes (the ticket's under-5-ms and over-100-ms) \
are recorded, not load-bearing: M-333 already measured \
the full refactor at 87.7 ms. Validity is asserted, not \
assumed: the updated factor holds the same Frobenius \
residual bound as a fresh one, its solve agrees with \
the refactored solve within 1e-8 relative, and a \
deliberately skipped closure column must push the \
residual past its bound before any verdict is read. \
Timing is interleaved in both orders, 11 repetitions, \
medians.",
falsified_by: "The update under 10 times cheaper by wall or under \
the flop-ratio floor -- the prefactored family is \
dead for live carving and everything \
surface-intrinsic routes to the Closest Point Method \
instead, the routing decision this ticket exists to \
make. Separately: the slot count exceeding 400 \
re-scopes M-318's extrapolation; the slot SET \
changing at all aborts the fixture (the experiment \
is about value updates on a stable pattern, and says \
so); and the skipped-column inversion failing to go \
red voids the validity oracle and the run with it.",
records: &[
"rep",
"order",
"update_ms",
"refactor_ms",
"update_flops",
"refactor_flops",
"changed_slots",
"changed_rows",
"closure_rows",
],
},
Preregistration {
id: "P-37",
ticket: "R-036",
hypothesis: "The ticket's premise is half false, and the correction \
is the first finding: the tracker maintains component \
volume (Air::component_size) and does NOT maintain \
boundary surface area -- nothing in the crate does. \
With the accumulator added (per-label air-solid face \
counts, delta-maintained through build, dig's blob \
growth, fill's retirement, merge transfer and split \
hand-off; domain-boundary faces count as solid, the \
sealed-box convention; AirWorld roll-up deliberately \
out of scope), clause one: a Sabine RT60 for the \
breach-frame component -- 0.161 times volume over \
absorption times area, two accumulator reads and a \
divide -- costs under 0.1 ms, and structurally so. \
Clause two: a Planeverb-style 2D FDTD re-bake of a \
64x64 slice (Rosen, Godin and Raghuvanshi, \
10.1111/cgf.14099, public C++ reference; leapfrog \
pressure-velocity, 1,000 steps -- about half a second \
of audio at the CFL step, the length a decay \
measurement needs -- damped edges, cost is the claim \
and acoustic fidelity is not) completes in under 30 ms \
single-threaded. Recorded, not registered: dig and \
fill costs with the accumulator in place, and the \
split rate against M-319's one-in-six -- a divergence \
THERE would be news; the clauses holding is not.",
falsified_by: "Either figure exceeding its bound by 3x, the \
ticket's own falsifier. Instrument notes: the area \
invariant -- a full recount equals the maintained \
counts, and the label-free global face total equals \
their sum -- is asserted in the crate's own tests \
over synchronous op sequences, with a deliberate \
corruption shown to turn the checker red; \
budget-truncated ops leave area conservatively stale \
exactly as labels already are, scoped and documented \
rather than solved.",
records: &["quantity", "value", "unit", "bound", "held"],
},
Preregistration {
id: "P-38",
ticket: "R-037",
hypothesis: "A-024's odd-row-stride remedy reached DualMesher and \
never reached Marching Cubes, and the defect is still \
there: MarchingCubes indexes its private `values` buffer \
through `shape.linearize`, so at 128 samples per axis the \
row stride is 512 bytes and the plane stride exactly \
65,536, and its `edge_vertices` cache -- 3 u32 per sample, \
the buffer with the scattered access -- has a plane \
stride of three times that. Clause one: measured on a \
sphere, Marching Cubes at 128 costs more than 1.5x the \
mean of its 127 and 129 neighbours per sample, where the \
dual path (already fixed) does not. Clause two: giving \
both private buffers the same `size[0] | 1` stride takes \
that ratio under 1.1 and is worth at least 1.25x at 128 \
alone. Clause three: every one of the 216 golden hashes \
is bit-identical afterwards, structurally -- the change \
permutes where floats are stored, not which floats are \
computed, nor the order cells are visited, nor the order \
vertices are created.",
falsified_by: "The 128 ratio coming in under 1.5x before the change, \
which would mean Marching Cubes' access pattern does \
not alias and A-024's remedy is specific to the dual \
path -- a narrower result than the repo currently \
believes, and the more interesting one. A moved golden \
hash falsifies clause three outright and makes this a \
behaviour change rather than a layout change.",
records: &[
"extractor",
"samples_per_axis",
"ns_per_sample_before",
"ns_per_sample_after",
"neighbour_ratio_before",
"neighbour_ratio_after",
"golden_unchanged",
],
},
Preregistration {
id: "P-39",
ticket: "R-038",
hypothesis: "A brush that provably cannot win the min/max chain inside \
a chunk can be deleted from the tape before the chunk is \
meshed, and deleted BIT-EXACTLY. The bound is one sample \
per brush per chunk: a shape with declared Lipschitz \
constant l varies by at most l*r over a box of \
circumradius r, so f(centre) +/- l*r encloses it. The \
exactness is a selection argument, not an approximation \
one -- `apply(Add)` is IEEE min and `apply(Subtract)` is \
IEEE max, both of which SELECT an operand rather than \
computing a new value, and negation is exact, so dropping \
a provably-losing Add or Subtract moves the result by \
zero ULP. The asymmetry is registered rather than \
discovered: smooth_min is exactly dominant at h == 0 and \
is NOT bit-exactly prunable in the losing direction, \
because at h == 1 it returns b + (a - b), which is not \
bit-identical to a. Clause one: on a 64-brush stack of \
Add and Subtract spheres and capsules scattered over a \
4x4x4 chunk world, the median surviving-brush fraction \
per chunk is under 0.5. Clause two: meshing a chunk \
against the pruned tape is at least 1.25x meshing it \
against the full one. Clause three: every chunk's mesh is \
byte-identical between the two.",
falsified_by: "A survivor fraction at or near 1.0, meaning there is \
nothing to prune on a scattered stack and the mechanism \
has no purchase on this workload whatever the paper \
reports. Or -- the result that would matter far more -- \
any byte difference between pruned and full output on \
an Add/Subtract-only stack, which would refute the IEEE \
selection lemma the whole mechanism rests on.",
records: &[
"brushes",
"chunks",
"survivor_fraction_median",
"survivor_fraction_max",
"ns_per_sample_full",
"ns_per_sample_pruned",
"speedup",
"mesh_identical",
],
},
Preregistration {
id: "P-40",
ticket: "R-039",
hypothesis: "The active-cell test is one bit per sample, so 64 cells \
decide at once. Packing `value < 0` into a u64 bitmap \
along x and fusing the four rows that bound a cell row -- \
any = OR of (w | w>>1), all = AND of (w & w>>1), active = \
any & !all -- replaces DualMesher::place_vertices' \
eight-corner gather on the ~97% of cells that produce \
nothing. Clause one: on a surface-free 128-cubed field, \
where the active path never runs, the traversal stage is \
at least 2x faster. Clause two: on sphere at 128-cubed the \
WHOLE extractor is at least 1.25x faster. Clause three: \
the mesh is byte-identical, because the bit is the same \
comparison and the set-bit walk visits cells in the same \
lexicographic order, so vertex creation order is \
unchanged. The sign bit is deliberately NOT used as the \
inside bit: -0.0 has it set while -0.0 < 0.0 is false, and \
box_exact is exactly zero across its whole boundary, so \
signed zeros are reachable in this crate's own fixtures.",
falsified_by: "The stage ratio under 2x on the surface-free field, \
which would mean the scalar gather was not the cost. Or \
the whole-extractor ratio under 1.25x on sphere at 128, \
which puts the mechanism under the Amdahl floor that \
M-296's field-evaluation dominance sets and makes the \
bitmap not worth its own bookkeeping. Any mesh \
difference falsifies the ordering argument outright.",
records: &[
"field",
"samples_per_axis",
"active_fraction",
"stage_ns_scalar",
"stage_ns_bitmap",
"stage_ratio",
"extract_ns_scalar",
"extract_ns_bitmap",
"extract_ratio",
"mesh_identical",
],
},
Preregistration {
id: "P-41",
ticket: "R-040",
hypothesis: "The sign lattices this crate meshes are not \
well-composed, and that is where its dual extractors go \
non-manifold. A digital set is well-composed exactly when \
its boundary is a 2-manifold, which Latecki characterises \
by the absence of two critical configurations: a diagonal \
pair sharing only an edge (2D-critical) and a diagonal \
pair sharing only a vertex (3D-critical). Clause one: \
over the eight reference fields at 65 samples per axis, \
the count of cells whose 2x2x2 sign neighbourhood hosts a \
critical configuration is non-zero on at least \
noise_cavity. Clause two: at least 90% of the \
non-manifold edge and vertex incidents that \
validate::MeshReport already reports for DualContouring \
and SurfaceNets occur in cells the census flagged \
critical. This registers the DETECTOR only. The repair is \
deliberately not registered: it moves the surface by up \
to a cell and breaks every golden hash, so it is only \
worth designing if clause two holds.",
falsified_by: "A critical-configuration count of zero on all eight \
fields, meaning the lattice is already well-composed \
and the non-manifold output comes from somewhere else \
entirely -- the QEF vertex escaping its cell being the \
obvious other suspect. Or co-location below 90%, \
meaning the sign lattice is not the cause and a repair \
would be treating the wrong object.",
records: &[
"field",
"samples_per_axis",
"cells",
"critical_2d_cells",
"critical_3d_cells",
"extractor",
"non_manifold_edges",
"non_manifold_vertices",
"incidents_in_critical_cells",
"colocation_fraction",
],
},
Preregistration {
id: "P-42",
ticket: "R-041",
hypothesis: "Curvature computed as a normal-cycle MEASURE is additive \
over chunks and carries an error bound the crate can \
compute from its own output, which is a class of claim it \
has never made -- validate::accuracy measures distance and \
validate::isotopy certifies topology, and neither states a \
bound it derived rather than sampled. On a triangle mesh \
the Gaussian measure is the vertex angle defect and the \
mean measure is edge length times signed dihedral angle; \
Cohen-Steiner and Morvan's Theorem 6 bounds the deviation \
from the smooth surface by C*K*eps with K a sum of \
triangle circumradii and eps their maximum. Clause one: on \
sphere at 33, 65 and 129 samples per axis, the residual \
|sum of angle defects - 4*pi| falls inside the computed \
bound at all three. Clause two: that residual falls at \
least linearly as h halves. Clause three: on torus the \
defect sum is zero to within the same bound, which an \
accumulator that lost the sign would fail loudly. \
Recorded beside them, not registered: the mean-curvature \
total, and the chi recovered from the defect sum against \
the chi MeshReport computes independently.",
falsified_by: "The residual exceeding its own computed bound at any of \
the three resolutions, or failing to fall as h halves. \
Either means Theorem 6's closely-inscribed hypothesis \
does not hold for a marching-cubes mesh -- whose \
vertices lie on the trilinear interpolant's zero set \
rather than on the field's -- and that is a better \
result than the bound holding, because it says the \
bound must be stated against the interpolant, which is \
the move isotopy.rs already makes.",
records: &[
"field",
"samples_per_axis",
"gaussian_total",
"gaussian_expected",
"residual",
"bound",
"within_bound",
"mean_curvature_total",
"chi_from_defect",
"chi_from_report",
],
},
Preregistration {
id: "P-43",
ticket: "R-042",
hypothesis: "One field evaluation at the cell centre, compared against \
the trilinear interpolant of the eight corners and \
normalised by cell size, is a usable witness that a chunk \
is under-sampled -- a statement the crate cannot make \
today, since validate::field_bound samples the gradient \
and is explicit that a sampled maximum is only a lower \
bound on a supremum. The witness is one-sided in the safe \
direction: it can prove a chunk inadequate and can never \
prove it adequate. Clause one: across noise_cavity and \
gyroid at 17, 33, 65 and 129 samples per axis, the \
per-grid maximum normalised centre residual correlates \
with the symmetric Hausdorff distance validate::accuracy \
already reports, at Pearson r of at least 0.7. Clause \
two: the extra evaluations are under 15% of the corner \
evaluations, which is the structural 1/8 plus slack.",
falsified_by: "Pearson r below 0.7, meaning the centre residual does \
not witness the error it is supposed to predict. The \
failure mode is named in advance rather than \
rationalised afterwards: a feature that passes cleanly \
through the cell centre without perturbing it gives a \
residual near zero while the reconstruction is badly \
wrong, and thin_plate is constructed to be exactly \
that, so it is measured beside the two registered \
fields as the adversary.",
records: &[
"field",
"samples_per_axis",
"centre_residual_max",
"centre_residual_mean",
"symmetric_hausdorff",
"pearson_r",
"extra_eval_fraction",
],
},
Preregistration {
id: "P-44",
ticket: "R-042a",
hypothesis: "P-43's mechanism survived its own falsification and its \
order statistic did not: the MAXIMUM normalised centre \
residual is pinned at every resolution by a single C1 \
crease cell, because a crease makes |f(centre) - \
mean(corners)| an O(h) quantity and dividing by h leaves a \
constant. The MEAN is not, and on P-43's own three fields \
it correlated at r = 0.983, 0.984 and 0.9998 with the \
symmetric Hausdorff, with log-log decay exponents agreeing \
to within 0.05. That is a hypothesis read off the data that \
killed its predecessor, so it is worthless until it is \
tested somewhere it can fail. This registers it on the four \
reference fields P-43 never touched -- sphere, torus, \
box_exact and csg_difference -- at 17, 33, 65 and 129 \
samples per axis. Clause one: the Pearson r between the \
per-grid MEAN normalised centre residual and the symmetric \
Hausdorff is at least 0.9 on each of the four. Clause two: \
the log-log decay exponent of the mean residual matches \
that of the symmetric Hausdorff to within 0.15 on each of \
the four. Clause three, the cost clause P-43 got wrong and \
which is restated with the right arithmetic: the witness \
costs one extra field evaluation per CELL against one per \
SAMPLE for the corners -- (n-1)^3/n^3, which rises toward 1 \
and is nowhere near an eighth, because this crate prefills \
one shared sample grid and every corner is evaluated once \
-- so the claim is on wall clock instead: computing the \
witness costs under 0.5x a Marching Cubes extraction of the \
same grid.",
falsified_by: "r below 0.9 on any of the four fields, or an exponent gap \
above 0.15 on any of them -- either of which would mean \
the mean-residual agreement seen on P-43's three fields \
is a property of those fields' shared crease structure \
rather than of the witness, and the whole line dies with \
a second null rather than limping on. Clause three fails \
at 0.5x or worse, which would price the witness above the \
extraction it is diagnosing.",
records: &[
"field",
"samples_per_axis",
"centre_residual_mean",
"symmetric_hausdorff",
"pearson_r_mean",
"decay_exponent_mean",
"decay_exponent_hausdorff",
"exponent_gap",
"witness_ns",
"extract_ns",
"witness_cost_ratio",
],
},
Preregistration {
id: "P-45",
ticket: "R-041a",
hypothesis: "P-42 took B to be the whole closed surface, which made its \
Gaussian clause an identity -- 3F = 2E, so the defect sum \
is 2*pi*chi combinatorially and the residual was one f64 \
epsilon per vertex with zero geometric content. The \
property this crate actually wants was therefore never \
tested: ADDITIVITY, N(A union B) = N(A) + N(B) - N(A \
intersect B), which is what lets a per-chunk curvature \
measure compose into a per-world one with no global pass. \
Partition an extracted closed mesh into a 4x4x4 grid of \
spatial chunks by triangle centroid, so every chunk is a \
patch with a real boundary. With the geodesic-curvature \
boundary term (pi minus the incident angle sum at a \
boundary vertex) and edges on a chunk boundary weighted one \
half: clause one, the sum over chunks of the Gaussian \
measure equals the global 2*pi*chi to within 1e-9 absolute \
on sphere and torus at 65 samples per axis; clause two, the \
sum over chunks of the mean measure equals the global sum \
of l*beta to within 1e-9 absolute on both; clause three, \
each chunk's value recomputed IN ISOLATION from its own \
triangles alone -- boundary detected from that set, nothing \
read from a neighbour -- reproduces its in-context value \
bit for bit, which is the difference between a measure that \
is chunk-local and one that merely sums.",
falsified_by: "Any of the three exceeding its tolerance. A failure of \
clause one or two means the boundary term as transcribed \
is wrong; a failure of clause three means the measure \
needs a one-ring halo, which would make it composable in \
principle and not chunk-local in practice -- and this \
crate meshes chunks independently, so that is the \
difference between usable and not. Recorded beside them, \
not registered: half the mean measure against the \
analytic integral of H on box_exact, where the surface is \
grid-aligned and the estimator may be exact rather than \
convergent.",
records: &[
"field",
"samples_per_axis",
"chunks",
"gaussian_global",
"gaussian_chunk_sum",
"gaussian_gap",
"mean_global",
"mean_chunk_sum",
"mean_gap",
"isolated_chunks_bit_identical",
],
},
Preregistration {
id: "P-46",
ticket: "R-040a",
hypothesis: "P-41 measured a bijection -- critical cells == \
non-manifold vertices == critical cells hosting one, \
exactly, on every affected field -- which gives the repair \
a target it did not have when R-040 deliberately withheld \
it. Repair the SIGN LATTICE rather than the mesh, and do it \
by minimal value perturbation rather than by flipping a \
sign arbitrarily: for each critical cell, move the corner \
of smallest |value| across zero by the smallest \
representable step, which is Boutry's self-dual repair \
applied to the grey-level function rather than to the \
binary set. Clause one: on the three fields with a non-zero \
census -- noise_cavity, gyroid, fbm_terrain at 65 samples \
per axis -- DualContouring and SurfaceNets emit exactly 0 \
non-manifold edges and exactly 0 non-manifold vertices \
after the repair, where before they emitted 322/602, \
69/141 and 29/58. Clause two: the repair reaches a fixpoint \
in at most TWO sweeps over the chunk, because a \
perturbation can create a critical configuration in a \
neighbour and an unbounded cascade would rule the mechanism \
out of a frame budget outright; the residual critical count \
after two sweeps is recorded either way. Clause three, the \
price: the symmetric Hausdorff distance of the repaired \
mesh against the unrepaired field rises by less than 10% on \
each of the three fields -- the repair moves geometry, and a \
manifold mesh of the wrong surface is not a bargain.",
falsified_by: "Any non-manifold output surviving the repair, which would \
mean well-composedness of the sign lattice is not \
sufficient for a manifold dual mesh even though P-41 \
measured it to be necessary -- and that gap is the more \
interesting result, because ManifoldDualContouring \
already pays extra vertices for the same guarantee. Or a \
residual critical count above zero after two sweeps, \
which prices the cascade out. Or Hausdorff rising 10% or \
more, which says the manifoldness was bought with \
geometry the caller did not agree to sell.",
records: &[
"field",
"samples_per_axis",
"extractor",
"critical_before",
"critical_after",
"sweeps",
"non_manifold_edges_before",
"non_manifold_edges_after",
"non_manifold_vertices_before",
"non_manifold_vertices_after",
"hausdorff_before",
"hausdorff_after",
"hausdorff_ratio",
],
},
Preregistration {
id: "P-47",
ticket: "R-043",
hypothesis: "Every one of the eight reference fields overrides \
Sdf::gradient analytically, and the crate's docs say the \
central-difference default is never used by one. But \
BrushStack does not override gradient and neither does \
Capsule -- so the moment a caller composes anything, which \
is the entire point of a sculpting tool, every vertex \
normal silently falls back to the six-sample central \
difference at O(h^2), costing six evaluations of the WHOLE \
TAPE per normal. Carrying a forward-mode dual number \
(value, [dx, dy, dz]) through the fold fixes both halves in \
one traversal: min and max propagate the selected branch's \
derivative, smooth_min propagates the analytic derivative \
of its polynomial, and the tie at a CSG seam is broken \
deterministically by taking the lower index so the result \
stays a pure function of the inputs. Clause one, the \
accuracy hole, which the crate cannot currently state at \
all: on a 64-brush BrushStack the mean angular error of the \
central-difference normal against the exact dual-number \
normal exceeds 0.1 degrees and the maximum exceeds 5 \
degrees. Clause two, the speed: computing normals for a \
meshed chunk through the dual-number tape is at least 2x \
faster than through the six-sample central difference, \
since it is one traversal against six. Clause three, the \
control: on a bare Sphere, where the analytic gradient is \
already exact and known, the dual-number normal agrees with \
p/|p| to within 1e-12 -- an instrument that cannot \
reproduce a closed form has no business measuring a tape.",
falsified_by: "A mean angular error at or under 0.1 degrees, which would \
mean the central difference is already good enough on \
composed fields and the hole is theoretical -- a real \
possibility, since DIFF_STEP is scaled by |p| and these \
shapes are smooth away from their seams. Or a speedup \
under 2x, which would mean the tape traversal is not the \
cost and the six evaluations were being amortised by \
something. Clause three failing means the dual arithmetic \
is wrong and nothing else in the row can be believed.",
records: &[
"fixture",
"brushes",
"vertices",
"mean_angular_error_deg",
"max_angular_error_deg",
"central_ns_per_normal",
"dual_ns_per_normal",
"speedup",
"sphere_control_max_error",
],
},
Preregistration {
id: "P-48",
ticket: "R-044",
hypothesis: "validate/isotopy.rs names its own gap in its own header: \
'The general form needs interval arithmetic over an \
arbitrary F, which this crate has no way to do -- an Sdf \
hands back point values', so it settles for certifying the \
TRILINEAR INTERPOLANT and says plainly that it does not \
certify the analytic field against it. A compositional \
inclusion function over the crate's own field types closes \
that gap with no dependency and no interval library: (lo, \
hi) pairs and six operations, widened by one ULP per \
operation because core has no directed rounding, which \
keeps the enclosure sound in the only direction that \
matters. Clause one, SOUNDNESS, and it is fatal: over the \
eight reference fields at 33 samples per axis, every cell \
the certificate calls surface-free is surface-free under \
4096-point dense sampling -- zero unsound certifications, \
no tolerance. Clause two, NON-VACUITY: on the fields built \
from exact distance primitives -- sphere, box_exact, torus \
and csg_difference -- the certificate proves at least 90% \
of the cells that dense sampling shows to be surface-free. \
Clause three, REACH: the certified fraction is reported for \
all eight fields and is strictly greater than zero on at \
least six of them, so the mechanism is not confined to the \
eikonal cases.",
falsified_by: "Any unsound certification whatever -- a cell called \
surface-free that dense sampling shows is not. That is \
fatal rather than a threshold miss: a certificate that \
can be wrong is not a certificate, and the failure would \
be in the one direction isotopy.rs says a predicate must \
never err. Or the certified share falling under 90% on \
the exact fields, which would mean the enclosure is too \
loose to be worth evaluating; or fewer than six fields \
above zero, which would confine it to the eikonal cases \
and leave gyroid, noise_cavity and fbm_terrain -- the \
three that actually go wrong -- outside its reach.",
records: &[
"field",
"samples_per_axis",
"cells",
"cells_surface_free_sampled",
"cells_certified_empty",
"certified_fraction",
"unsound_certifications",
"undecided_fraction",
"certified_vs_trilinear",
],
},
Preregistration {
id: "P-49",
ticket: "R-045",
hypothesis: "The crate can say whether two places are connected and \
cannot say how big a thing fits between them. R-022a's Air \
tracker answers 'is this sealed'; a game asks 'can the \
player get through', and that is a bottleneck value rather \
than a boolean: for a pair of chunk faces, the maximum over \
air paths of the minimum distance-to-solid along the path. \
It is computable by a monotone union-find over air voxels \
processed in DESCENDING (field value, grid index), which is \
a total order and therefore deterministic with no PRNG, no \
atomics and no HashMap -- the same discipline the crate \
already applies to its weld. The output is a 6x6 symmetric \
matrix of face-to-face apertures plus a reachability mask, \
which is the composable boundary summary: neighbouring \
chunks combine their matrices with no global solve. Clause \
one, against exact ground truth: on a BoxExact slab with a \
Capsule of radius r subtracted along x, for r of 2, 4 and 8 \
cells, the reported -x/+x aperture equals r to within one \
cell size, and every other face pair reports unreachable. \
Clause two, on a real field: the capped gyroid at 65 \
samples per axis reports all six faces mutually reachable \
-- it is a bicontinuous triply periodic surface, so a \
disconnected pair is a proven bug in the instrument, not a \
property of the field -- with a positive aperture on all 15 \
pairs. Clause three, cost: the whole 6x6 computation costs \
under 2x a Marching Cubes extraction of the same grid.",
falsified_by: "An aperture off by more than one cell on the drilled \
channel, where the answer is known exactly and the \
instrument has nowhere to hide -- that would mean the \
union-find is not computing the bottleneck it claims. Or \
any face pair reported reachable on the slab that is not, \
which is the unsound direction and is fatal for a \
clearance claim a game would gate movement on. Or a \
gyroid pair reported unreachable. Or cost at or above 2x, \
which prices a per-chunk summary above the mesh it \
summarises.",
records: &[
"fixture",
"samples_per_axis",
"channel_radius_cells",
"aperture_reported_cells",
"aperture_error_cells",
"reachable_pairs",
"expected_reachable_pairs",
"false_reachable_pairs",
"aperture_ns",
"extract_ns",
"cost_ratio",
],
},
Preregistration {
id: "P-50",
ticket: "R-039a",
hypothesis: "P-40's C2 was a wall-clock ratio registered as a threshold, \
and it failed its own artefact: three quiet-machine runs \
read 1.022x, 1.184x and 1.177x against a registered 1.25x \
(M-348). Marching Cubes 24 already earned the rule -- gate \
the COUNT the ratio samples -- and the count exists. The \
bitmap prepass does not make an eight-corner gather faster; \
it REMOVES gathers, and how many run is an integer that is \
identical on every machine, under every governor, at every \
load. Clause one, as an EQUALITY and not a ratio: the \
scalar predicate performs exactly `cells` gathers and the \
bitmap predicate exactly `active_cells`, on every field at \
every resolution, with no tolerance. Clause two: the \
bitmap's own cost is exactly `sample_count` comparisons \
plus `cells_x.div_ceil(64) * cells_y * cells_z` fused word \
groups -- note CELLS and not SAMPLES, which is the defect \
E-307 found and which cost about 30% of the stage at 64k+1 \
grids -- so the prepass is O(n^3/64) word groups against the \
O(n^3) gathers it replaces, and the two counts predict the \
crossover without a clock. Clause three: the active set the \
two predicates name is the same ORDERED list, element for \
element, on every field and resolution, which is what makes \
the mesh identical rather than merely equal in count. \
Timing is recorded beside all three and gates nothing.",
falsified_by: "Clause one failing as an exact equality. A gather \
performed on an inactive cell means the mask admits a \
cell it should not, and a mask wrong in the other \
direction drops a cell and punches a hole -- so this is a \
correctness gate wearing a performance gate's clothes, \
and a mismatch of one is a failure. Clause three failing \
would mean the set-bit walk does not reproduce \
lexicographic order, which changes every vertex index \
downstream of the first disagreement. Clause two failing \
would mean the word-group count is not what reading the \
loop says it is.",
records: &[
"field",
"samples_per_axis",
"cells",
"active_cells",
"gathers_scalar",
"gathers_bitmap",
"gathers_equal_cells",
"gathers_equal_active",
"bitmap_comparisons",
"bitmap_word_groups",
"word_groups_predicted",
"same_ordered_list",
"ns_per_cell_scalar",
"ns_per_cell_bitmap",
],
},
Preregistration {
id: "P-51",
ticket: "R-046",
hypothesis: "Sellan, Batty & Stein (10.1145/3610548.3618196) state the \
full constraint a signed distance sample carries, and it has TWO \
halves: the surface 'must be tangent to every sphere at least once \
while strictly containing every sphere with negative value and \
excluding every positive value one'. Every extractor in this crate \
reads d as a number to interpolate and discards both halves. \
Measured as integer counts over the output, at 65 samples per axis, \
on the five fields declaring FieldBound::Exact -- sphere, torus, \
box_exact, thin_plate, csg_difference. PIERCING, the exclusion half: \
violation(v) = max over samples p within one cell of v of \
(|d(p)| - ||v - p||) normalised by cell size, counting vertices \
above 0.05 cells. (C1) marching_cubes pierces on fewer than 1 vertex \
per 1,000, because an MC vertex is the root of the interpolant on a \
grid edge and cannot lie deeply inside a neighbour's ball. \
(C2) dual_contouring's rate is at least 20 TIMES marching_cubes' -- a \
RATIO, so the clause cannot be cleared by a bar set below the ~150 \
per 1,000 M-27 already measured (152 of 1,016 box_exact vertices \
moving 0.35-0.57 cells). TOUCHING, the tangency half, which no \
extractor here even attempts: (C3) the number of samples whose \
sphere is never touched -- min over mesh vertices of \
| ||v - p|| - |d(p)| | exceeding 0.05 cells -- is NON-ZERO for every \
extractor on every field, and is strictly larger for marching_cubes \
than for dual_contouring, because MC's vertices are confined to grid \
edges and cannot reach a tangent point in a cell's interior. The \
0.05-cell floor is derived, not chosen: M-12 measured h^2 \
convergence and sphere at 65^3 has mean error 6.5e-4 against \
h = 0.0635, i.e. 1.0% of a cell, so the gate sits five times above \
the honest discretisation floor and far below M-27's 0.35 cells.",
falsified_by: "C2's ratio under 20x, which says the exclusion half is \
already respected by construction; or C1 exceeding C2's absolute \
rate, which inverts the mechanism; or C3 finding ZERO untouched \
spheres, which would say this crate's extractors already saturate \
the tangency half and the four 2025-2026 papers built on recovering \
it have nothing to offer here -- the most valuable of the three \
outcomes to get wrong. The control that must pass first: on \
box_exact, whose surface is planar and axis-aligned and where M-27 \
measured every Dual Contouring vertex on a planar patch landing \
exactly on the centroid, ALL THREE extractors must report zero \
PIERCING. An instrument that finds piercing there is measuring its \
own tolerance. Scope: the constraint needs the field to BE a \
distance, and F-004/M-247 measured a voxel game's field degrading \
from 0.577 to 0.004 over 256 strokes -- so gyroid, fbm_terrain and \
noise_cavity are excluded by construction and a violation there \
would not be a defect. Source honesty: the paper credits the \
tangent-sphere interpretation to Batty 2011 and Kobbelt 2001 and \
contributes the energy and flow; nothing here reuses its Table 1, \
which measures a global remeshing gradient flow this crate does not \
run.",
records: &[
"field",
"extractor",
"samples_per_axis",
"vertices",
"samples",
"pierced",
"pierced_per_1k",
"worst_piercing_cells",
"dc_over_mc_ratio",
"untouched",
"untouched_per_1k",
"worst_untouched_cells",
"samples_probed_per_vertex",
"control_box_exact_zero",
"threshold_cells",
],
},
Preregistration {
id: "P-52",
ticket: "R-047",
hypothesis: "A third VertexRule that moves each dual vertex toward the \
tangent points its cell's samples imply, using only Eq. (8) of \
Sellan, Batty & Stein -- t_i = p_i + sigma_i |s_i| (c_i - p_i) / \
||c_i - p_i||, one normalize and one fma per sample, allocation-free \
and Real-generic -- iterated TWICE and clamped to the cell, against \
Qef through the identical classification and quad walk X-002 built. \
THIS IS NOT THEIR ALGORITHM, which is a global sparse solve with \
per-iteration remeshing over hundreds of iterations, and whose Fig. \
17 ablation measures clamping away far spheres as progressive detail \
loss; none of their reported accuracy is claimed here and the \
baseline is this crate's own. (C1) On box_exact and thin_plate at \
65^3 the symmetric Hausdorff improves by at least 1.25x over Qef. \
(C2) On sphere and torus it is within +/-10% of Qef. (C3) Vertex, \
triangle and non-manifold-edge counts are IDENTICAL to Qef on every \
field, which is what says the rule changed placement and nothing \
else -- M-237 established that property for the Qef/Centroid swap, \
with byte-identical index buffers and all 680 positions different. \
(C4) The mechanism M-315 predicts is visible: the vertex term of the \
Hausdorff improves while the CENTROID term worsens, on at least 3 of \
the 4 fields. M-315 measured that Dual Contouring's Hausdorff is \
vertex-dominated on 8 of 8 rows AND that its centroid error is \
already BETTER than the perfect-placement floor by 2.9-3.6x on \
sphere, because the QEF minimises distance to tangent planes and \
buys better-centred facets at the cost of worse-placed vertices. A \
rule that pulls vertices onto spheres spends exactly that trade in \
reverse.",
falsified_by: "C1 under 1.25x, which says the tangency geometry does not \
survive being clamped to its cell and iterated twice -- the honest \
reading then being that this is offline CAD and not a chunk budget, \
recorded as a null with a number. Or C3 failing, which means the arm \
is not controlled and no number in it means anything. C4 is the \
clause that can teach something whatever C1 does: if the vertex term \
improves and the centroid term does NOT worsen, then M-315's \
tangent-plane trade is not what the QEF is doing and a placement \
rule is not zero-sum. The 1.25x bar is this crate's own: M-315 \
measured the ceiling on ANY placement rule at 1.5-21.5% for SMOOTH \
fields, which is why C1 is asked only of the two SHARP fields, where \
no ceiling has been measured and where M-66 recorded box_exact's \
worst normal error at 35.796 degrees identically at every \
resolution -- a corner does not soften with h, so a placement rule \
is the only thing that can move it.",
records: &[
"field",
"samples_per_axis",
"rule",
"iterations",
"symmetric_hausdorff",
"hausdorff_ratio_vs_qef",
"vertex_term",
"vertex_term_ratio_vs_qef",
"centroid_term",
"centroid_term_ratio_vs_qef",
"self_intersections_per_1k",
"vertices",
"triangles",
"non_manifold_edges",
"counts_identical_to_qef",
"ns_per_sample",
],
},
Preregistration {
id: "P-53",
ticket: "R-048",
hypothesis: "Custodio, Pesco & Silva (10.1186/s13173-019-0086-6) observe \
that MC33 classifies a corner whose value EQUALS the isovalue as \
inside, which marks all three incident edges cut and emits triangles \
with coincident vertices. Their remedy is a third corner label. The \
label assignment is a PURE PRE-PASS over the eight-corner sign \
classification -- one strict comparison per corner instead of one \
non-strict -- which is the half a bench can reproduce exactly; their \
triangulator is a per-cube convex hull with cross-cell face dedup \
and is NOT reproduced here and NOT claimed. On fuel (64^3) and \
bonsai (256^3) at an INTEGER isovalue of 32: (C1) degenerate \
triangles under marching_cubes are non-zero and at least 80% of them \
are attributable to cells having a corner exactly equal to the \
isovalue, measured by TAGGING each degenerate triangle with its \
cell's equal-corner count, not inferred from a correlation. \
(C2) with the ternary label and coincident-vertex collapse, \
degenerate triangles fall by at least 10x while euler_characteristic, \
non_manifold_edges and boundary_edges are UNCHANGED. (C3) at a \
HALF-OFFSET isovalue of 32.5, where an integer sample cannot equal \
the isosurface, the two paths produce BYTE-IDENTICAL meshes. \
M-316 measured 16,284 of 529,508 bonsai surface-cell corners exactly \
on the isosurface -- 3% -- and M-232 measured 20 singular faces per \
400,000 cells at u8 density against 0 in continuous data, so this is \
aimed at a defect already measured on this crate's real CT input.",
falsified_by: "C1 under 80%, which would mean the degenerate count is \
dominated by ordinary near-tangency slivers -- the thing CLAUDE.md \
refuses to gate on -- and the paper solves a problem this crate does \
not have. Or C2 changing the Euler characteristic, which would mean \
the label is not topology-preserving as implemented here and rule 5 \
applies. C3 is the control and is not decoration: M-317's own \
guidance is to contour at a half-integer precisely because it is \
unattainable by integer data, so if the two paths differ THERE, the \
label is doing something beyond the exact-equality case and every \
number in the row is suspect. Source honesty: the paper reports NO \
count of degenerate triangles removed on any dataset -- only \
radii-ratio histograms, Betti numbers and blocked-cube percentages -- \
so C2's 10x is this crate's own bar and is not a reproduction of any \
published figure.",
records: &[
"volume",
"isovalue",
"label_rule",
"cells",
"surface_cell_corners",
"equal_corners",
"degenerate_triangles",
"degenerate_from_equal_corners",
"degenerate_attributable_fraction",
"degenerate_ratio",
"triangles",
"euler_characteristic",
"non_manifold_edges",
"boundary_edges",
"mesh_hash",
"half_offset_identical",
],
},
Preregistration {
id: "P-54",
ticket: "R-049",
hypothesis: "M-248 measured empty-cell rejection by Hart's Lipschitz \
bound at 16.8% of cells on gyroid against 80.6-95.1% on every other \
field, and M-306 identified the cause: gyroid declares Lipschitz \
l = 2*sqrt(3) = 3.464, derived correctly at M-244, while M-267 \
measured its actual gradient supremum converging to 1.731. A revised \
affine form (Fryazinov, Pasko & Comninos, 10.1016/j.cag.2010.07.003) \
carries three noise symbols plus one accumulator -- FIVE stored \
reals, fixed size, never growing, no heap -- and bounds an \
expression over a BOX rather than a ball. The mechanism is \
correlation: sin(x)cos(y) + sin(y)cos(z) + sin(z)cos(x) cannot have \
all three terms extremal at once, and a per-term interval bound \
throws that away. The prediction is therefore NOT uniform, and this \
is the point: (C1) on gyroid at 17^3 the rejected-cell COUNT rises \
from 688 of 4,096 by at least 1.5x, because gyroid is built only \
from smooth trig with shared arguments and is exactly where \
correlation lives. (C2) on box_exact and csg_difference the rejected \
count rises by LESS THAN 5%, because both are built from min/max, \
for which the source paper gives no affine rule at all and the only \
sound treatment collapses the form to an interval and destroys every \
correlation. (C3) the mesh is BYTE-IDENTICAL on every field, the one \
property a rejection test must have, since a wrong rejection makes a \
hole and a hole is invisible to every validity gate this crate has.",
falsified_by: "C1 under 1.5x, which says the correlation slack is not \
where the looseness lives and M-267's 2x gap is genuinely attainable \
by the gradient rather than an artefact of the ball. C2 failing \
UPWARD is the more interesting outcome and must be reported as such: \
a tighter bound on a field whose constant is already tight would mean \
the BALL geometry, not the constant, is what costs -- and that \
generalises to every field. COUNTED, NOT TIMED: rejected cells are \
integers, identical on every machine; evaluation cost is printed \
beside them and gates nothing. Two things this registration owns \
rather than cites: the source paper contains NO correlation argument \
and NO quantified tightening figure -- only end-to-end wall-clock \
tables -- so the 1.5x is derived here from M-267's measured \
supremum, not reproduced; and the paper gives no min/max or abs rule, \
so C2's mechanism is this crate's own reasoning about what the \
absence of such a rule forces.",
records: &[
"field",
"samples_per_axis",
"bound",
"cells",
"rejected_cells",
"rejected_fraction",
"rejected_ratio_vs_lipschitz",
"has_min_max",
"mesh_identical",
"mesh_hash",
"bound_evals",
"bound_ns_per_cell",
],
},
Preregistration {
id: "P-55",
ticket: "R-050",
hypothesis: "validate checks manifoldness, orientation, Euler \
characteristic, self-intersection, isotopy and Hausdorff accuracy. \
NOTHING checks that the mesh's critical-point structure matches the \
field's, and on gyroid and fbm_terrain the crate cannot even assert \
chi, so those two fields have no topological gate beyond \
manifoldness. Finken, Li, Wang, Guo & Levine (arXiv:2608.12142) \
prove Theorem 1: a PL function monotonic with respect to a Morse f \
has no spurious critical points. Their theorem is 2D and its \
pigeonhole step -- 'since a triangle has only three edges' -- has no \
hexahedral analogue, so what is tested here is a 3D PORT and is \
labelled as such. Sampling k = max(2, ceil(||e||/w) + 1) points along \
each mesh edge and calling it non-monotone when two directional \
derivatives disagree in sign: (C1) marching_cubes on sphere, torus \
and box_exact at 65^3 has ZERO non-monotone edges. (C2) gyroid and \
fbm_terrain have a NON-ZERO count that FALLS monotonically across \
17^3/33^3/65^3/129^3, making it a resolution witness rather than a \
defect. (C3) noise_cavity has the highest per-1k count of the eight \
fields, because it is the field with interior ambiguity (M-208).",
falsified_by: "C1 non-zero, which would mean the gate is measuring the \
sampling of the edge rather than the mesh and k is the problem; or \
C2 flat or rising in resolution, which would make it a property of \
the field rather than of the grid and useless as a witness. TWO \
THINGS THIS CRATE OWNS, NOT THE PAPER: the paper gives a bare \
sign-disagreement predicate with NO epsilon, NO relative tolerance \
and NO flat-region guard, so the rule used here -- discard steps \
under 1e-12 * (|f(a)| + |f(b)|), fixed in this registration before \
the harness exists, and recorded at 1e-14 and 1e-10 beside it so the \
answer's sensitivity is visible -- is isomesh's invention and must \
not be attributed to Finken et al.; and the paper obtains gradients \
by autodiff on a neural field while this uses the crate's central \
difference, which changes the noise story in a way the paper never \
analyses. The theorem is also inapplicable to the trilinear \
interpolant, under which interior critical points genuinely exist -- \
that is the origin of the ambiguous-face problem -- so a HELD C1 is \
evidence about this crate's meshes, never a proof transported to 3D.",
records: &[
"field",
"extractor",
"samples_per_axis",
"edges",
"non_monotone_edges",
"non_monotone_per_1k",
"k_samples",
"tolerance",
"non_monotone_at_1e14",
"non_monotone_at_1e10",
"worst_reversal",
"falls_with_resolution",
],
},
Preregistration {
id: "P-56",
ticket: "R-051",
hypothesis: "P-47's accuracy clause died by three orders of magnitude -- \
mean 7.6e-5 degrees against a registered 0.1 -- and its own artefact \
says why: bulk_mean_angular_error_deg is 1.9e-8 while one vertex in \
57,470 carries 4.365 degrees, vertices_over_1deg is 1, and \
worst_stencil_straddles_seam is true from 32 brushes upward. The \
surviving hypothesis is narrower and mechanical. At a min/max CSG \
seam the field is C0 and not C1, so a central difference whose \
six-sample stencil straddles the seam averages two different \
gradients and the returned direction lies in the cone the two \
branches span. The error is therefore at most HALF the angle between \
them -- M-283's (180 - theta)/2 in a second setting -- and it does \
NOT shrink with h, because the stencil step is DIFF_STEP * |p|, \
independent of the grid. Over a swept family of two-sphere Subtract \
fixtures with seam dihedral theta controlled from 30 to 175 degrees: \
(C1) every vertex whose stencil straddles the seam has angular error \
against the analytic gradient bounded by (180 - theta)/2, on every \
fixture, with no exceptions. (C2) the count of such vertices scales \
like the seam's length in cells, so it is O(n) on an n^3 grid rather \
than O(n^2), which is why one vertex in 57,470 is the expected order \
and not a fluke -- measured as a fitted exponent against n, required \
to be under 1.5. (C3) vertices whose stencil does NOT straddle the \
seam have mean error under 1e-6 degrees, the control that says the \
effect is the seam and not the tape.",
falsified_by: "C1 exceeding the bound on any fixture, which would mean \
the error is not the two-branch average and M-283's mechanism does \
not transfer; or C2's fitted exponent reaching 1.5 or above, which \
would make it a surface-wide effect rather than a seam effect and \
change what a consumer should do about it. The measured 4.365 \
degrees predicts a seam dihedral near 171 degrees, so a fixture swept \
down to 30 degrees must show the bound widening proportionally -- a \
bound that holds only because it is loose everywhere is not evidence, \
which is why tightness is recorded per fixture as \
worst_over_bound_ratio and a median under 0.1 across the sweep would \
be reported as a vacuous pass.",
records: &[
"dihedral_deg",
"samples_per_axis",
"seam_cells",
"vertices",
"straddling_vertices",
"straddling_max_error_deg",
"predicted_bound_deg",
"worst_over_bound_ratio",
"within_bound",
"non_straddling_mean_error_deg",
"scaling_exponent",
],
},
Preregistration {
id: "P-57",
ticket: "R-055",
hypothesis: "Every element of the 48-element octahedral group is a \
signed coordinate permutation and therefore exact in f64, so \
mesh(g*f) and g*mesh(f) are comparable bit-for-bit. Compared as \
SORTED VERTEX-POSITION MULTISETS, not as index buffers: table.rs \
picks safe_apex by lowest edge index, which is not invariant under \
axis relabelling, so a triangle-level relation is known-false in \
advance. (C1) the four primal extractors (marching_cubes, \
marching_cubes+decider, marching_tetrahedra, \
subgrid_marching_tetrahedra) are bit-exactly equivariant on ALL 48 \
elements, on all eight reference fields, because a primal vertex is \
a/(a-b) on one grid edge -- two values, no accumulation. (C2) the \
three dual extractors (surface_nets, dual_contouring, \
manifold_dual_contouring) are bit-exact on STRICTLY FEWER than 48, \
because M-177 established that a sum of position components is not \
bit-exactly equivariant by ordering alone; the count and identity \
of failing elements is the new number. (C3) a triangle-level \
relation fails where the vertex-level one holds, on at least one \
extractor, and the count of triangle-level mismatches is reported \
so the dossier's \"2,688 false positives\" warning is quantified \
rather than repeated.",
falsified_by: "A primal failure -- which is an axis-dependent bug and \
the thing this exists to catch; or all 48 holding on the dual path, \
which would contradict M-177 and be the more interesting result; or \
C3 finding zero triangle-level mismatches, which would mean \
safe_apex is invariant after all.",
records: &[
"field",
"extractor",
"family",
"samples_per_axis",
"vertices",
"elements_tested",
"elements_vertex_exact",
"elements_triangle_exact",
"first_failing_element",
"first_failing_det",
"worst_component_ulp",
"fixture_can_fail",
],
},
Preregistration {
id: "P-58",
ticket: "R-056",
hypothesis: "Robins, Wood & Sheppard's ProcessLowerStars \
(10.1109/tpami.2011.95) builds a discrete Morse function from a \
sampled grid by pairing cells within each voxel's LOWER STAR -- at \
most 27 cells in 3D -- which is per-voxel local and, by the paper's \
own claim, produces a critical-cell census independent of the \
processing order. The paper requires distinct values and perturbs \
ties with a GLOBAL ramp that depends on the image dimensions I, J, \
K; this crate's fields tie exactly, so this registration fixes a \
CHUNK-LOCAL EXACT TIE-BREAK instead: order by (value, \
linear_index) lexicographically, comparing values by \
f64::total_cmp, which is a total order, deterministic, \
allocation-free, and perturbs no sample. (C1) the census by \
dimension (critical_0 .. critical_3) is IDENTICAL under the \
registered tie-break and under its reverse (value, \
Reverse(linear_index)), on all eight fields -- the paper's \
ordering-independence claim tested on data it has never seen. (C2) \
every cell the asymptotic decider flags ambiguous CONTAINS AT LEAST \
ONE CRITICAL CELL -- stated as containment, not set equality, \
because a Morse census can be non-empty where no MC ambiguity \
exists and equality would indict the instrument; the excess \
critical_cells_outside_ambiguous is reported per field either way. \
(C3) the census is resolution-stable on simple topology and grows \
on complex: critical_total on sphere and torus changes by less than \
2x across 17^3/33^3/65^3 while on noise_cavity it grows by more \
than 4x.",
falsified_by: "C1 differing, which would mean the paper's \
ordering-independence does not survive exact ties and the tie-break \
is doing work it must not; or C2 finding an ambiguous cell with no \
critical cell, which would break the containment the whole framing \
rests on; or C3's sphere census growing like the grid, which would \
make it an artefact count rather than a topological signature. \
PROVENANCE CORRECTED BEFORE THE HARNESS EXISTED: the review that \
proposed this registration asserted the corpus markdown terminates \
mid-section-4 before Theorem 11 and that Theorem 11 is therefore \
not transcribable. THAT IS FALSE, checked line by line -- section 4 \
is complete (Lemmas 7-10), Theorem 11 is stated in full with both \
of its arms, and so are Theorem 3, Theorem 6, Propositions 4-5, \
Lemma 12 and the pseudocode of Algorithms 1, 2 and 3. The \
ordering-independence C1 tests is therefore the paper's own \
sentence, quoted: 'the results in Section 4 show that for 2D and 3D \
complexes the number and type of critical cells found by \
ProcessLowerStars are independent of this ordering'. What the paper \
does NOT have is any test of that claim against exact ties, because \
Eq. (8) assumes them away.",
records: &[
"field",
"samples_per_axis",
"voxels",
"critical_0",
"critical_1",
"critical_2",
"critical_3",
"critical_total",
"max_lower_star_cells",
"census_matches_reverse_order",
"ambiguous_cells",
"ambiguous_with_critical",
"ambiguous_containment_holds",
"critical_cells_outside_ambiguous",
"ns_per_voxel",
],
},
Preregistration {
id: "P-59",
ticket: "R-057",
hypothesis: "M-341 measured that a Lipschitz interval bound prunes a \
64-brush tape to a median of 19 survivors per chunk with the mesh \
byte-identical on 64 of 64 chunks. Nothing measures how many \
survivors are NECESSARY. Leave-one-out ablation decides it: for \
each chunk, for each surviving brush, remove that one brush, \
re-mesh, and compare mesh_hash. (C1) SOUNDNESS CONTROL, REPORTED \
FIRST -- removing ALL non-survivors together changes no chunk's \
mesh_hash, 64 of 64, re-confirming M-341's C3 on this harness; if \
it fails, the bound is unsound and every other number here is void. \
(C2) the bound OVER-KEEPS: the median over chunks of necessary / \
survivors is AT MOST 0.75, i.e. at least a quarter of surviving \
brushes can be dropped individually with the mesh bit-identical. \
(C3) the over-keep has a nameable cause rather than being noise: of \
the brushes that survive but prove unnecessary, at least 90% have \
an interval over the chunk whose distance from zero exceeds one \
cell size -- they win the min/max chain only where the field is far \
from the surface.",
falsified_by: "C2's median exceeding 0.75, which says the interval \
bound is already close to tight and closes the direction with a \
distribution rather than a hunch -- a null worth having; or C3 \
under 90%, which means the over-keep is not explained by \
distance-from-surface and the mechanism is unnamed.",
records: &[
"chunk",
"brushes",
"survivors",
"necessary",
"necessary_fraction",
"non_survivors_removed",
"control_hash_unchanged",
"unnecessary_far_from_surface",
"unnecessary_far_fraction",
"mesh_hash",
"remeshes",
"ns_per_remesh",
],
},
Preregistration {
id: "P-60",
ticket: "R-058",
hypothesis: "Every Marching Cubes vertex is a linear interpolation \
between two corner samples. Blu, Thevenaz & Unser \
(10.1109/tip.2004.826093) show that shifting the sampling knots by \
a fixed, signal-independent tau_opt = (1 - sqrt(3)/3)/2 ~= 0.21 and \
enforcing the interpolation property recovers \"about 8 dB \
asymptotically\" over standard linear reconstruction, for \
w < 3*pi/4. SCOPED TO A SINGLE GRID LINE, TOUCHING NO EXTRACTOR, \
because the prefilter is a causal one-pole IIR and the \
reconstruction change would re-derive the whole A-002 apparatus. \
Along an axis-aligned line through each reference field, sampled at \
65 points, with the exact root known from the field's analytic \
distance: (C1) on the four smooth fields (sphere, torus, gyroid, \
fbm_terrain) the shifted reconstruction's median root error is at \
least 30% lower than standard linear at matched sample count, using \
tau = 1/5, at which the recursion c_n = -2^-2 * c_{n-1} + (1 + \
2^-2) * f_n is multiplication-free. (C2) THE PRE-REGISTERED \
FAILURE -- on the two fields with a step-like restriction \
(box_exact, csg_difference) the shifted method is WORSE OR EQUAL, \
because the paper states a Gibbs phenomenon on a step and a sharp \
CSG boundary is one; this is expected, and finding it absent would \
be the surprise. (C3) the prefilter's non-locality is bounded: \
computing it over a truncated window of k preceding samples instead \
of the whole line changes the recovered root by less than 1e-6 \
cells for k >= 10, consistent with the (tau/(1-tau))^k = (1/4)^k \
decay.",
falsified_by: "C1 under 30%, which says the reconstruction gain does \
not transfer to root position and the direction closes for a \
mesher; or C3 failing at k = 10, which would mean a chunked mesher \
cannot have this at any affordable guard band. NO GOLDEN HASH MOVES \
-- this experiment reads a 1-D sample line and never calls an \
extractor.",
records: &[
"field",
"samples",
"tau",
"root_error_standard",
"root_error_shifted",
"error_ratio",
"median_error_ratio",
"is_step_like",
"gibbs_overshoot",
"guard_band_k",
"guard_band_delta_cells",
"guard_band_converged",
],
},
Preregistration {
id: "P-61",
ticket: "R-059",
hypothesis: "M-356 found a mesh bit-exactly equivariant under axis \
RELABELLING and not under REFLECTION, and attributed it to a/(a-b) \
and b/(b-a) being two divisions of the same two values. That is \
right and incomplete. The subtraction is innocent: IEEE \
round-to-nearest is sign-symmetric, so fl(b-a) = -fl(a-b) EXACTLY. \
What breaks is the ANCHOR -- cube::edge_crossing returns a \
parameter measured from the LOWER corner and the placements put the \
vertex at lower + t, so a reflection swaps which corner is lower \
and the correct reflected parameter is 1 - t, which is not \
representable as b/(b-a). Store the crossing instead as a signed \
offset from the edge MIDPOINT: d = ((a + b) / 2) / (a - b) in \
[-1/2, +1/2], position = edge_midpoint + h * d. This is exactly \
antisymmetric under the simultaneous endpoint-and-sign swap by four \
IEEE 754 guarantees rather than by observation: fl(a+b) = fl(b+a) \
because addition is commutative; halving is exact because 2 is a \
power of two; fl(b-a) = -fl(a-b) because round-to-nearest is odd; \
and fl(S / -D) = -fl(S / D) for the same reason. The [0,1] \
parameter frame cannot host this because reflection acts there as \
0 <-> 1, an AFFINE map, and floating point respects sign flips \
exactly and affine maps only approximately. THIS IS A src/ CHANGE, \
registered as one: cube::edge_crossing becomes cube::edge_offset \
and all five placements move to the centred frame -- \
marching_cubes/mod.rs edge_position (which computes a/(a-b) \
inline), marching_cubes/trilinear.rs local_crossing, \
surface_nets.rs, hermite.rs and transvoxel/cell.rs. (C1) The \
octahedral relation is re-measured with P-57's own fixtures and \
group, and elements_vertex_exact reads 48 on EVERY row that \
fixture_can_fail marks true, in both the primal and the dual \
family, at both 33 and 25 samples per axis. POPULATION, counted \
from docs/experiments/p-57.csv before this harness was written: 98 \
of 112 rows have fixture_can_fail = true -- 56 primal and 42 dual \
-- and ZERO of those 98 currently reach 48, so the clause has 98 \
rows on which it can fire and all 98 currently fail. The 14 \
box_exact rows are excluded by fixture_can_fail because that \
field's zero set lies on dyadic planes and its 8 rows at 48 of 48 \
are the fixture rather than the extractor. The harness asserts the \
fixture columns cut_edges, order_sensitive_edges, grid_symmetric \
and fixture_can_fail against p-57.csv row for row before reporting \
anything, so a drift in the re-implemented group or fixture is a \
failure rather than a new number. (C2) A COST CLAUSE, NOT A BENEFIT \
CLAUSE -- no reference field's golden hash is unchanged. The vertex \
positions genuinely move, T-007's 216 golden hashes are rebaselined \
in the same commit as the source change, and a claim that they do \
not move would mean the centred form is not on the path that \
produces vertices. Measured per fixture as edges_moved: the number \
of cut grid edges whose centred world position differs in bits from \
the lower-corner one, over all eight fields at 33 and 65 samples \
per axis. POPULATION: every field has cut edges at both \
resolutions, p-57.csv reading 1350 for box_exact alone at 33, so \
the clause fires on 16 of 16 rows. (C3) Symmetric Hausdorff changes \
by less than 1 percent in either direction on all eight reference \
fields at 33 and 65 samples per axis, and the \
self-intersections-per-1000 count changes by less than 1 percent. \
SCOPED TO marching_cubes, which the doc's clause leaves unstated: \
the sign classification is untouched by a placement change, so the \
topology and the index buffer are bit-identical and the two arms \
are the same mesh with substituted positions, which is an exact \
comparison. A dual vertex is a QEF solve over the crossings and its \
lower-corner counterpart is not recoverable by substitution, so it \
is not claimed. (C4) REGISTERED AS MEASUREMENT WITH A STATED RISK \
OF A NULL. M-32 says chunk seams are bit-exact only when the cell \
size is a power of two, and the mechanism it names is \
world_of_sample rather than the crossing, so the honest prediction \
is that C4 changes nothing. But the off-repo pre-measurement moves \
from 75.0 percent mismatches to 0 at h = 0.1, so the seam sweep is \
re-run at h = 0.1 and h = 3/32 as well as h = 0.125 and the answer \
recorded either way. The appendix pre-measurement is re-run inside \
this harness in Real for BOTH scalars rather than quoted: 2000000 \
random straddling pairs per row, cell-local and world frames, both \
forms.",
falsified_by: "C1: any row below 48 that fixture_can_fail marks true. \
Two mechanisms are already known that this change cannot reach and \
a falsification on them is expected rather than surprising -- the \
two tetrahedral extractors fail because a six-tetrahedron \
decomposition of a cell is not octahedrally invariant, which M-356 \
measured at 6 to 12 of 48 even on box_exact where \
order_sensitive_edges is 0, and the duals accumulate into A^T A in \
an order that axis relabelling permutes. C2: any field whose golden \
hash survives, or any fixture with edges_moved = 0, either of which \
would mean the centred form is not on the path that produces \
vertices. C3: any field moving more than 1 percent on either \
metric -- in which case the roughly 3-ulp worst-case tail the \
off-repo measurement recorded is buying a real geometric cost and \
the trade is a decision rather than a fix, to be raised and not \
merged. C4: NOTHING. That clause is registered as measurement and a \
null is the expected outcome; it is reported either way. And the \
pre-measurement itself is falsified by any non-zero mismatch count \
for the centred form in either scalar, which would mean the \
three-line IEEE argument is wrong.",
records: &[
"block",
"field",
"extractor",
"samples_per_axis",
"scalar",
"cell_size",
"elements_vertex_exact",
"elements_vertex_exact_p57",
"elements_triangle_exact",
"pure_permutation_exact",
"pure_sign_flip_exact",
"fixture_can_fail",
"cut_edges",
"edges_moved",
"worst_move_ulp",
"hausdorff_lower_corner",
"hausdorff_centred",
"hausdorff_ratio",
"self_intersections_per_1k_lower_corner",
"self_intersections_per_1k_centred",
"self_intersections_ratio",
"seam_vertices",
"seam_mismatches_lower_corner",
"seam_mismatches_centred",
"pairs",
"mismatches_lower_corner",
"mismatches_centred",
"out_of_cell_centred",
"c1_population",
"c1_rows_at_48",
"c1_holds",
"c2_fixtures_with_moved_edges",
"c2_holds",
"c3_worst_hausdorff_ratio",
"c3_worst_self_intersection_ratio",
"c3_holds",
"c4_seam_mismatch_delta",
"p57_fixture_columns_match",
],
},
Preregistration {
id: "P-62",
ticket: "R-060",
hypothesis: "P-48 gave this crate a certificate that a cell is EMPTY \
(M-347: zero unsound over 1.07e9 evaluations) and P-54 a tighter \
one via affine arithmetic (M-354: 3.85x more rejections on \
gyroid). There is no certificate in the other direction: nothing \
can say 'this cell's surface patch has no hidden topology', which \
is the difference between a mesher that is correct and one that can \
STATE WHERE it is correct, and it is the CAD half of the mandate. \
THE PREDICATE IS ALREADY IN THE TREE, so this is a measurement \
rather than a build: validate::isotopy::cell_is_certified shipped \
under T-015 and is exactly the registered form, \
0 not-in box-F(C) OR <box-grad-F(C), box-grad-F(C)> > 0, from \
Plantinga & Vegter, Isotopic approximation of implicit curves and \
surfaces, SGP 2004, 10.1145/1057432.1057465. Both bounds are EXACT \
rather than interval approximations, because the surface Marching \
Cubes approximates is the trilinear interpolant: F is a convex \
combination of the eight corner values, so clause one is exactly \
'all eight corners share a sign', and each partial derivative is \
bilinear in the other two coordinates, so its exact range is the \
min and max of four corner differences. The cell size cancels -- \
the predicate tests the SIGN of a sum of three squares, so h^2 \
factors out. WHAT HAS NEVER BEEN DONE IS THE SOUNDNESS CHECK, and \
this crate owns a ground truth the PV literature does not: A-020's \
classifier counts tunnels and twelve-vertex contours from the \
trilinear itself, M-214 recorded 2,053 and 173 in 396,000 cells, \
and M-222 established that chi falls by exactly two per tunnel. A \
cell containing a tunnel is a cell whose patch is NOT a graph, so a \
certificate on such a cell is unsound. (C1) SOUNDNESS, ONE-SIDED, \
THE KILL-SHOT: over eight reference fields at 17^3 / 33^3 / 65^3, \
ZERO cells are C1-certified while the A-020 classifier reports a \
tunnel or a twelve-vertex contour in them. (C2) YIELD: the \
certified fraction of SURFACE cells is above 50% on sphere, torus \
and box_exact at 33^3, and rises monotonically with resolution on \
all eight fields. (C3) COST: the predicate costs under 5% of \
extraction wall time on marching_cubes at 65^3. REGISTERED CAVEAT, \
not a discovery: C1 guarantees the patch is a GRAPH, not that its \
planar domain is connected -- a graph over a disconnected planar \
region still has several components. PV close that globally with a \
BALANCED octree this crate does not have, so the honest claim is \
'no hidden topology in this cell' and not 'exactly one component', \
and the entry must say so. Lin & Yap document the same gap, \
10.1007/s00454-011-9345-9.",
falsified_by: "C1 by ONE certified cell that the A-020 classifier calls \
a tunnel or a twelve-vertex contour. A single unsound certificate \
kills the direction, and M-214's counts of 2,053 and 173 prove the \
fixture can produce the configuration -- this is not an M-44 pass \
over an unreached case, and the population of tunnel cells is \
reported per field so a zero is shown to have been able to be \
non-zero. C2 by a certified fraction below 50% on any of sphere, \
torus or box_exact at 33^3, or by a non-monotone sequence on any \
field -- the latter would mean the predicate is measuring the \
arithmetic's slack rather than the field's geometry. C3 by above \
5%, in which case it is a debug gate rather than a shippable \
capability. NO GOLDEN HASH MOVES: the predicate is read-only and \
no extractor calls it.",
records: &[
"field",
"samples_per_axis",
"cells",
"surface_cells",
"certified_cells",
"certified_surface_cells",
"certified_surface_fraction",
"tunnel_cells",
"twelve_vertex_cells",
"unsound_certificates",
"monotone_in_resolution",
"predicate_ms",
"extract_ms",
"predicate_share",
"c1_holds",
"c2_holds",
"c3_holds",
],
},
Preregistration {
id: "P-63",
ticket: "R-061",
hypothesis: "O-12 is the oldest open question in the ledger -- 'is \
Marching Cubes unconditionally manifold now?' -- and its own text \
says what would settle it: an exhaustive search over \
configurations spanning more than two cells, or a proof that a \
cell-local cycle triangulation plus shared face segments cannot \
produce a non-manifold VERTEX. The search space is much smaller \
than it looks. In this crate every Marching Cubes vertex sits on a \
grid EDGE, so every face incident to an edge vertex comes from one \
of the FOUR cells sharing that grid edge. Those four cells span a \
3 x 3 x 2 block of grid corners -- 18 corners, 2^18 = 262144 sign \
patterns. That is not a sample, it is the whole space, and it runs \
in seconds. This is a proof by exhaustion of the vertex-link case \
for Marching Cubes, and it is the case Chernikov & Xu's Coq work \
does not cover: their 2013 IMR proof enumerates all 2^8 \
single-cube configurations and proves cohesion and water-tightness, \
then composes to a grid via FACE-local consistency, which is \
exactly the argument that does not reach a vertex link. (C1) Over \
all 262144 patterns, meshing the four cells, welding, and walking \
the connected components of the incident-face link of the shared \
edge vertex yields ZERO non-manifold vertices, with the \
interior-ambiguity rule both off and on. POPULATION, derived before \
the harness: the shared edge is the block's central z-edge and is \
cut exactly when its two endpoint corners differ in sign, which is \
HALF the patterns -- 131072 per interior rule, 262144 link walks in \
total, and the clause can fire on every one of them. The \
shared-edge vertex is ALSO the only vertex in the block whose link \
is COMPLETE: every other edge vertex has cells missing outside the \
block, so a defect there could be an artefact of the truncation and \
is reported separately rather than counted. A cell's INTERIOR \
vertex is complete too, because all of its faces come from that one \
cell, so it is counted. (C2) THE FIXTURE CAN FAIL, and the defect \
is the one known to exist: injecting the pre-fix single-apex fan \
into the same sweep produces a NON-ZERO count. Reproduced \
bench-locally as a vertex identification rather than by editing \
src/ -- merging all of one cell's interior apexes into a single \
vertex IS the pre-fix topology, same triangles and one shared apex, \
which is precisely what the per-ring apex fix undid. POPULATION: \
patterns in which some cell fans two or more rings, measured and \
reported as fan_patterns; a zero there voids C2 rather than \
passing it. (C3) THE DUAL FAMILY IS WHERE IT IS INTERESTING. The \
same sweep over surface_nets, dual_contouring and \
manifold_dual_contouring produces a non-zero count, and that count \
is a FUNCTION of the well-composedness census in the sense of \
M-338's bijection: the number of link-defective dual vertices \
equals the number of critical sign configurations in the block. \
POPULATION: 128 of the 256 possible cell sign bytes are critical -- \
120 by a checkerboard 2x2 face and 8 by a main-diagonal inside pair \
or its complement -- so a critical cell is reachable on the great \
majority of the 262144 patterns and the clause cannot be vacuous. \
SCOPE NOTE, WHICH THE ENTRY MUST NOT EXCEED: C1 and C2 are \
COMPLETE for Marching Cubes. For the dual family a vertex lives at \
a cell CENTRE and its link involves the cell's 26 neighbours, which \
is 4^3 = 64 corners and out of reach of this block, so C3 is a \
NECESSARY-CONDITION sweep on the same 18 corners and nothing more. \
The full dual sweep at 2^27 over a 3 x 3 x 3 corner block -- \
134217728 patterns, an estimated 4 to 45 minutes single-threaded -- \
is a nightly gate and a separate ticket, deliberately not \
registered here.",
falsified_by: "C1: one pattern whose shared-edge vertex link has more \
than one component, which is the THIRD MECHANISM O-12 asks about \
and takes the next free falsified id. (The research doc's own text \
names '49' for this outcome, written before Phase 23 ran; that id \
went to P-61's falsification, and ids are assigned when used and \
never reused.) C2: ZERO -- which would mean the link walk cannot \
see the one defect known to exist and the sweep proves nothing, \
voiding C1 rather than confirming it. C3: a count that is non-zero \
and NOT equal to the critical-configuration census, which is the \
more interesting outcome and would mean M-338's bijection is \
cell-local and does not extend to a block. NO GOLDEN HASH MOVES: \
this experiment builds its own 3 x 3 x 2 sign lattice and never \
touches a reference field or a src/ path.",
records: &[
"arm",
"extractor",
"interior_rule",
"patterns",
"patterns_shared_edge_cut",
"shared_edge_vertices",
"link_defective_shared_edge",
"link_defective_interior",
"link_defective_truncated",
"worst_link_components",
"first_defective_pattern",
"fan_patterns",
"critical_cells",
"critical_patterns",
"defective_equals_critical",
"c1_holds",
"c2_holds",
"c3_holds",
"wall_ms",
],
},
Preregistration {
id: "P-64",
ticket: "R-062",
hypothesis: "Bounded model checking proves the combinatorics that \
property tests only sample. THE SPLIT THAT MAKES THIS TRACTABLE: \
bit-blasting IEEE 754 to SAT is the adversarial case for a model \
checker, and a harness over eight nondeterministic f32 corner \
values is 256 bits of unconstrained float -- precisely the shape \
Kani is worst at. But this crate's correctness risk is not in the \
arithmetic; CLAUDE.md rule 5 names it exactly: 'wrong case tables \
produce meshes that look fine and are subtly non-manifold.' That is \
COMBINATORICS OVER EIGHT SIGN BITS, which is 256 states and trivial \
for BMC. So: verify the combinatorics, keep testing the \
arithmetic. Kani, arXiv:2607.01504, ranges over the eight sign bits \
and proves, for all 256 patterns, that no case-table index goes out \
of range, no emitted index is at or past the vertex count, no \
triangle carries two equal indices, and nothing panics. Both are \
dev tools with no runtime footprint, so hard rule 3 is not engaged, \
and NO PUBLISHED USE OF EITHER ON GEOMETRY OR GRAPHICS CODE WAS \
FOUND, which makes this novel as well as useful. (C1) Kani proves \
all four properties over all 256 sign patterns for marching_cubes \
with the interior rule off, in under 10 minutes. (C2) It finds \
nothing the existing suite does not already cover. This is \
registered as the EXPECTED outcome and is still worth the run: a \
proof and a passing property test are different objects, and \
M-208 to M-213 is five pre-registered claims that were true on \
seven fields and false on the eighth. (C3) Turning the \
interior-ambiguity rule on keeps C1 under 30 minutes. SCOPE NOTE: \
neither tool touches vertex placement, and the registration must \
say so -- placement stays under proptest and golden hashes. The \
honest scope is 'the table cannot be indexed wrongly', not 'the \
mesh is correct'.",
falsified_by: "C1 by a timeout, or by a property that cannot be \
expressed against the sign abstraction -- the second outcome is the \
more informative one and means the abstraction is wrong, not the \
tool. C2 by Kani finding a reachable violation, which is a \
falsification entry and the most valuable outcome available here. \
C3 by a blow-up, which localises the state explosion to the \
interior rule and is itself a finding about that rule's branching. \
NO GOLDEN HASH MOVES: the proofs are read-only and no extractor \
calls them. VOID if the solver reports zero checks for a property, \
since a proof over an empty check set is M-44's vacuous zero in \
formal clothing -- each harness must report its check count.",
records: &[
"harness",
"property",
"interior_rule",
"patterns",
"checks",
"failed_checks",
"status",
"solver_seconds",
"kani_version",
"c1_holds",
"c2_holds",
"c3_holds",
],
},
Preregistration {
id: "P-65",
ticket: "R-063",
hypothesis: "MCPro's procedural construction against the one \
configuration this crate refuses to mesh. THE HOOK IS \
Error::UnresolvedSixSaddle: the README states it plainly -- a cell \
whose contours run past Grosso's Corollary 6 bound has no published \
triangulation, so extract returns an error rather than emitting a \
hole (A-002b, A-020, M-228). M-231 found that the [9,3] cell is not \
a topological subcase but a SINGULAR FACE the strict interior test \
lets through, and M-233 recorded the blocker: a singular face needs \
a third routing and the resolution mask has two. MCPRO IS THE PAPER \
THAT SAYS IT BUILT THE THIRD ROUTING. Stahl & Grosso, MCPro: A \
Procedural Method for Topologically Correct Isosurface Extraction \
Based on Marching Cubes, GRAPP 2025, 10.5220/0013309800003912. NO \
LOOKUP TABLE AT ALL: it classifies each face's bilinear restriction \
via the asymptotic decider into hyperbola / singular cross / single \
line / degenerate plane, divides the face into quadrants around the \
asymptote centre, assembles face segments into a per-cell halfedge \
structure, solves for the interior saddles, and builds the inner \
hexagon that decides tunnel-versus-disk. What is new against MC33 \
is exactly SINGULAR FACES, and the authors exhibit configurations \
with three adjacent singular faces where MC33 produces \
topologically incorrect non-manifold triangulations. Validation: \
passes all 20,000 test cases of Etiene et al. 2012 on Betti numbers \
and Euler characteristic. ONE HONEST DISCLOSURE FROM THE PAPER THAT \
THIS CRATE MUST CARRY IF IT ADOPTS THE METHOD: a trilinear \
isosurface CAN GENUINELY BE NON-MANIFOLD -- singular vertices and \
edges are real features of the interpolant -- so MCPro guarantees a \
topologically correct triangulation OF A POSSIBLY NON-MANIFOLD \
SURFACE. On a field that produces a singular face, is_manifold() \
failing is CORRECT BEHAVIOUR, not a defect, and that changes what \
the validity gate should assert. (C1) The procedural construction \
produces a triangulation for EVERY configuration that currently \
returns UnresolvedSixSaddle, and for the [9,3] singular-face cells \
M-231 identified. (C2) On the eight reference fields at 33^3 / \
65^3, MCPro's output has the same Euler characteristic as the \
current extractor's on every cell where the current extractor \
succeeds, and chi differs by exactly -2 per tunnel where it does \
not -- i.e. M-222 survives the change. (C3) COST: the paper reports \
about 10% more vertices and triangles than MC33 on a skull volume \
and gives NO TIMINGS AT ALL; M-42 measured the asymptotic decider \
as free to within a few percent and M-223 the interior rule at \
1.95% at 33^3, so MCPro is predicted to cost under 25% more than \
the current interior-rule path on noise_cavity, the only field that \
exercises it. EFFORT WARNING, STATED AT REGISTRATION: this is the \
largest item in the source document, and the determinism risk is \
specific -- asymptotic-decider comparisons near zero are exactly \
where f32 and f64 diverge, and M-43 established that the decider \
needs no division and no epsilon; that property must be shown to \
survive the procedural construction or the golden hashes become \
scalar-dependent.",
falsified_by: "C1 by any configuration it also cannot resolve, which \
would move the blocker rather than remove it. C2 by any chi \
disagreement outside the tunnel accounting. C3 by above 25%, in \
which case it is a correctness mode rather than a default. GOLDEN \
HASHES WILL MOVE and that is the registered cost, since the \
construction replaces a table path. BLOCKED, AND THE BLOCK IS PART \
OF THE REGISTRATION: the paper is unacquirable. Six acquisition \
routes were attempted through home-still and the catalog entry for \
10.5220/0013309800003912 is a 383-character SciTePress LANDING \
PAGE reporting conversion.server = html-parser, total_pages = 1, \
chunks_indexed = 1 -- no open-access PDF exists. M-371 recorded \
that. Running this experiment would require inventing the quadrant \
subdivision, the halfedge assembly and the third routing from an \
abstract, which CLAUDE.md rule 5 forbids. The registration records \
the question; the harness waits on the paper.",
records: &[
"field",
"samples_per_axis",
"unresolved_cells",
"resolved_by_mcpro",
"singular_face_cells",
"euler_agreements",
"euler_disagreements",
"tunnels",
"chi_delta_per_tunnel",
"extra_vertices_ratio",
"extra_triangles_ratio",
"cost_ratio",
"decider_is_division_free",
"c1_holds",
"c2_holds",
"c3_holds",
],
},
Preregistration {
id: "P-66",
ticket: "R-064",
hypothesis: "THE LINE THIS REPLACES DIED TWICE, and the third attempt \
has to be a different mechanism. P-43 / x29 tried one evaluation at \
the cell centre as an under-sampling witness and was falsified on \
both clauses; P-44 / x31 tried the mean residual instead and was \
falsified out of sample. Both were VALUE witnesses: they asked \
whether the trilinear's value at a point disagrees with the \
field's. The failure mode they were chasing is not a value \
disagreement, it is a MISSED ROOT -- an edge whose two endpoints \
have the same sign while the field crosses zero twice between them, \
or opposite signs while it crosses three times. THE WITNESS IS A \
DERIVATIVE SIGN TEST, from Finken, Li, Wang, Guo & Levine, \
Topology-Preserving Meshing of Implicit Scalar Fields via \
Monotonicity Constraints, arXiv:2608.12142, IEEE Vis 2026 short \
paper. Their central statement: if every edge of a PL mesh is \
monotonic with respect to f, the PL approximation is topologically \
consistent with f's critical points. The test itself is one line -- \
sample the directional derivative grad-f dot e-hat at k points \
along the edge and declare it non-monotonic when any two sampled \
projections disagree in sign. DO NOT PORT THE PAPER: it is \
explicitly 2D and the authors say so; its sampling-density \
argument, its Theorem 1 case analysis (3D Morse theory has four \
critical-point types and a spherical link, not three and a circle) \
and its separatrix refinement all fail to generalise, and it wants \
a Hessian this crate's field trait does not expose. Take the EDGE \
TEST ALONE, as a diagnostic rather than an extraction rule. WHAT \
MAKES THIS REGISTRABLE HERE RATHER THAN ANYWHERE ELSE IS THE \
ORACLE: subgrid::roots::all_roots already finds ALL roots along an \
edge -- M-94 resolved a slab at 1/1000 of the edge length, M-168 \
gave each crossing an identity, and M-169 established that \
identity-based sharing is complete exactly when no root lands on a \
grid sample point -- so the number of roots per edge is a KNOWN \
QUANTITY IN THIS REPOSITORY and the monotone-edge test can be \
scored against it rather than against a hunch. (C1) SOUNDNESS, \
ONE-SIDED: on eight reference fields at 17^3 / 33^3 / 65^3, with \
k = 5 samples per edge, every edge the subgrid root finder reports \
with more than one root is flagged non-monotonic. ZERO FALSE \
NEGATIVES. (C2) YIELD: the false-positive rate -- edges flagged \
non-monotonic that carry exactly one root -- is below 20% at k = 5 \
on the six smooth fields, and the rate falls as k rises. (C3) IT IS \
A RESOLUTION WITNESS, WHICH IS THE POINT: the non-monotonic edge \
fraction falls monotonically with resolution on all eight fields, \
and is highest on thin_plate -- the field whose sub-cell features \
Marching Cubes structurally cannot see (M-100). CONSEQUENCE IF IT \
HOLDS: a chunk can report 'this grid under-resolves this field, \
here' as a number, per chunk, cheaply -- which is the missing input \
to an LOD decision that M-121's 3.14-cell surface pop and M-72's \
aliasing both want and neither has.",
falsified_by: "C1 by ONE multi-root edge the test calls monotonic. C2 \
by a false-positive rate above 20% on any of the six smooth fields, \
or a rate that does not fall with k, which would mean the test is \
measuring sampling noise rather than the field. C3 by a \
non-monotone sequence in resolution on any field, or by thin_plate \
not ranking first. NO GOLDEN HASH MOVES: the test is a diagnostic \
and no extractor calls it. VOID if the oracle reports no multi-root \
edge at all, since C1's zero false negatives would then be a zero \
over an empty population -- the multi-root edge count is a recorded \
column and must be non-zero somewhere in the sweep. The oracle's \
own resolution is a stated limit rather than an assumption: it \
divides each edge into a fixed number of intervals and cannot see a \
root pair closer together than one of them, so the oracle sample \
count is recorded per row.",
records: &[
"field",
"samples_per_axis",
"k",
"oracle_samples",
"edges",
"single_root_edges",
"multi_root_edges",
"flagged_non_monotonic",
"false_negatives",
"false_positives",
"false_positive_rate",
"non_monotonic_fraction",
"falls_with_k",
"falls_with_resolution",
"thin_plate_ranks_first",
"c1_holds",
"c2_holds",
"c3_holds",
],
},
Preregistration {
id: "P-67",
ticket: "R-065",
hypothesis: "Reduced affine arithmetic: the same rejection rate in a \
fixed-size struct. P-54 HELD AND LEFT A STRUCTURAL QUESTION OPEN: \
M-354 measured affine arithmetic rejecting 3.85x more cells on \
gyroid than intervals, and exactly zero more where min/max destroys \
the correlation. The form it used grows a noise symbol per \
non-affine operation, so its size is a function of the tape -- which \
for a twelve-brush edit log means an allocation whose size depends \
on the scene, inside a no_std crate whose whole pitch is that it \
does not do that. REDUCED AFFINE ARITHMETIC FIXES THE SYMBOL COUNT: \
all condensed error is folded into a single accumulated term, so the \
form is a fixed-size struct -- [R; N+1] -- with no allocation and a \
fixed operation sequence, which is the determinism property that \
matters here. The published cost/tightness comparison is on exactly \
this workload, not on ODEs: Knoll, Hijazi, Kensler, Schott, Hansen & \
Hagen, Fast Ray Tracing of Arbitrary Implicit Surfaces with Interval \
and Affine Arithmetic, CGF 28(1):26-40, 2009, \
10.1111/j.1467-8659.2008.01189.x. Verbatim: 'For typical functions \
with fairly low-order coefficients and moderate cross-multiplication \
of terms, RAA is generally 1.5-2x faster than IA. For functions with \
high bound overestimation, RAA is 3-4x faster' -- and his \
superquadric is the stated exception where IA wins. (C1) RAA with 3 \
retained symbols reaches at least 90% of the full affine form's \
cell-rejection rate on gyroid, noise_cavity and a twelve-brush CSG \
tape. (C2) RAA allocates ZERO BYTES and its operation count is \
independent of tape length, measured by a counter rather than \
asserted. (C3) RAA is between 1.5x and 4x faster than the interval \
form on the CSG tape, reproducing Knoll's band; and it is SLOWER \
than intervals on box_exact, reproducing his superquadric \
exception.",
falsified_by: "C1 by below 90% on any of the three, which means the \
condensation eats the correlation the form exists to preserve. C2 by \
any allocation, or an op count that varies with the tape. C3 by \
outside the band, or by box_exact not showing the inversion -- the \
second is the more interesting failure, because Knoll's exception is \
the part of his result that is a mechanism rather than a \
measurement. NO GOLDEN HASH MOVES: the form is a rejection test and \
no extractor's output depends on it. BLOCKED, AND THE BLOCK IS PART \
OF THE REGISTRATION: C3 exists to reproduce Knoll's measured band \
and his superquadric inversion, and the paper is unacquirable -- \
10.1111/j.1467-8659.2008.01189.x has no open-access PDF and \
paper_download reported 'No open-access PDF found' (M-371). C1 and \
C2 could be run against this crate's own P-54 baseline, but C3 \
cannot: reproducing a band from a summary is exactly x21's failure, \
where a property was lifted from a summary rather than from the \
thing itself. Splitting the experiment to run two of three clauses \
would be answering a different registration. The registration \
records the question; the harness waits on the paper.",
records: &[
"field",
"retained_symbols",
"cells",
"rejected_interval",
"rejected_affine_full",
"rejected_affine_reduced",
"reduced_fraction_of_full",
"bytes_allocated",
"ops_per_cell",
"tape_length",
"interval_ns",
"reduced_ns",
"speedup_vs_interval",
"c1_holds",
"c2_holds",
"c3_holds",
],
},
Preregistration {
id: "P-68",
ticket: "R-066",
hypothesis: "A running error bound turns a vertex position into a vertex \
position AND A CERTIFIED INTERVAL. THE GAP IS STATED IN THE CRATE'S \
OWN MANDATE: a CAD tool wants to know how much to trust a \
coordinate. M-142 found GPU and CPU agree on every triangle and \
disagree on 6% of vertices by exactly one ULP; M-144 found \
bit-identity is a property of the cell size, not the port; M-30 \
found an unclamped solve can fling a vertex 3.18 cells out of its \
own cell. Every one of those is a statement about error that had to \
be MEASURED AFTER THE FACT. Nothing in the crate reports, per \
vertex, at run time, how wide the interval containing the true \
crossing is. THE CONSTRUCTION IS TWO EXTRA FLOPS PER CROSSING and \
one per solve. A running error bound propagates a first-order error \
term alongside the value -- the same machinery as Shewchuk's \
adaptive predicates, 10.1007/PL00009321, already mined in five \
files, and the static / semi-static / dynamic filter hierarchy of \
Bartels, Fisikopoulos & Weiser, 10.1007/s10543-023-00975-x, in \
corpus and uncited -- but used to REPORT rather than to BRANCH. \
P-61's centred form makes this cheap in a way the parameter form \
does not: the offset d is a single quotient with no cancellation, \
so its error bound is |d| * (2 + |a-b|_err / |a-b|) * u rather than \
the compounded bound a subtract-then-lerp accumulates. (C1) The \
reported bound is SOUND: on eight reference fields at 33^3, \
comparing against exact rational arithmetic on 10^6 crossings, the \
true error never exceeds the reported bound. ZERO VIOLATIONS. (C2) \
It is not vacuous: the median reported bound is under 4 ulp and the \
99th percentile under 64 ulp on the six smooth fields. (C3) \
Carrying it costs under 3% of extraction wall time when enabled and \
exactly zero when the feature is off, verified by a golden-hash \
comparison against the current build. (C4) THE REASON A GAME WANTS \
IT TOO: on csg_difference, the reported bound is largest exactly at \
the seam cells M-350 bounded -- that entry proved a central \
difference across a CSG seam is wrong by at most half the crease \
angle, and this is the same locality showing up in the POSITION \
rather than the normal.",
falsified_by: "C1 by ONE violation -- a crossing whose exact error \
exceeds its reported bound. C2 by a median above 4 ulp, which means \
the bound is a formality rather than information, or a 99th \
percentile above 64 ulp. C3 by above 3%, or by any golden hash \
moving with the feature off. C4 by no correlation between the bound \
and seam proximity, which would mean the bound tracks MAGNITUDE \
rather than CONDITIONING. NO GOLDEN HASH MOVES: the bound is an \
additional output and changes no position, so the 216 hashes cannot \
move; a bound that moved one would be a bound that changed the \
arithmetic it reports on. VOID if the exact-arithmetic reference \
cannot be computed for a crossing, since C1 would then be a zero \
over a population the instrument declined to judge -- the count of \
crossings the i128 reference admits is a recorded column, and a \
clause measured on a subset must say which subset.",
records: &[
"field",
"samples_per_axis",
"crossings",
"exactly_judged",
"violations",
"median_bound_ulp",
"p99_bound_ulp",
"max_bound_ulp",
"median_true_error_ulp",
"max_true_error_ulp",
"bound_tightness",
"seam_bound_ratio",
"bound_ns_per_crossing",
"crossing_ns_per_crossing",
"bound_share",
"golden_hashes_unchanged",
"c1_holds",
"c2_holds",
"c3_holds",
"c4_holds",
],
},
Preregistration {
id: "P-69",
ticket: "R-067",
hypothesis: "core::simd is nightly and is staying nightly -- the \
LaneCount<N>: SupportedLaneCount bound and the mask-element-type \
mismatch are unresolved (rust-lang/portable-simd#364) and the \
maintainers' own 2025 summary is 'nightly-only and will remain such \
for the foreseeable future'. So the lever is AUTOVECTORISATION, and \
the measured prior says autovectorisation is enough: Wilcox's \
AArch64/NEON study on 100k f32 samples measured scalar 77.67 us, \
hand-written intrinsics 25.78 us, and autovectorised safe Rust \
25.54 us -- safe code matched intrinsics. The patterns that decide \
it are shape, not machinery: struct-of-fields rather than index \
arithmetic, pre-slicing once outside the loop so LLVM can prove the \
bound, and chunks_exact / zip iterators. dual.rs's sample() pushes \
into a Vec inside a triple loop, so the bound is re-proved per \
element and the store is not a provable contiguous write. THE FLOAT \
CAVEAT CUTS THE RIGHT WAY: the blanket claim that autovectorisation \
fails on floats is about REDUCTIONS, because LLVM will not \
reassociate float adds without fast-math and stable Rust does not \
expose it. Elementwise float map and zip vectorise fine. This \
crate's field evaluation is elementwise over independent samples and \
its accumulations -- active-cell popcounts, vertex counts -- are \
INTEGER. THIS IS A src/ CHANGE, registered as one. (C1) \
Restructuring the sample loop to a pre-sliced contiguous write with \
the bound hoisted gives at least 2x on the marginal f32 cost. \
POPULATION AND TWO CORRECTIONS TO THE CLAUSE'S OWN TERMS, both \
established from source before this harness was written. FIRST, the \
fields: the doc names sphere and gyroid. libm 0.2.16's sqrtf carries \
a select_implementation on target_feature = 'sse2' (and on \
aarch64+neon), so on x86-64 it is a hardware instruction and \
sphere's body -- sqrt(x^2+y^2+z^2) - r -- CAN vectorise. libm's sinf \
and cosf carry NO arch selection at all: they are pure software with \
argument-reduction branches, so gyroid's body, which is six of them \
per sample, CANNOT vectorise at any loop shape while libm is the \
transcendental path (CLAUDE.md rule 4). So C1 can fire on sphere and \
is expected to fail on gyroid for a structural reason named here \
rather than discovered afterwards, and the clause is registered as \
the doc states it rather than softened to sphere alone. SECOND, the \
machine: the doc's threshold is M-20's 4.75 ns/sample falling below \
2.4, which is an Apple M5 figure. The M5 is reachable and CONTENDED \
-- Spotlight, WindowServer, Messages and loginwindow at a combined \
~76% of a core, load average 1.65 to 1.87, 13 days up -- which is \
exactly the contention M-005 is blocked on, and M-005 exists because \
a memory-bound single-threaded timing taken beside a persistent \
competitor is not a figure. So C1 is measured on the Zen 3 / Ryzen 9 \
5900X host against THIS repository's own committed baseline: \
docs/measurements/resolution_sweep-ryzen9-5900x.csv fits a marginal \
13.1892 ns/sample over 9 rows from 16^3 to 256^3 for \
marching_cubes/f32/sphere, so 2x is below 6.5946 ns/sample. The \
ratio is measured WITHIN ONE BINARY AND ONE RUN, both loop shapes \
compiled into the harness, because M-281 says a millisecond is a \
property of the binary; and every row carries cycles and ghz because \
M-280 says a nanosecond is not a unit on a governed CPU. (C2) THE \
GATE, AND THE CLAUSE MOST LIKELY TO KILL THIS. All 216 golden hashes \
are UNCHANGED. Vectorisation must not move one bit: IEEE elementwise \
operations are exact per lane, so a hash movement means LLVM \
reassociated something, and the change is REJECTED rather than \
rebaselined. Unlike P-61's C2, here a movement is a defect and not a \
cost. POPULATION: 216 rows, and the instrument is proven able to \
report the bad news rather than assumed to be -- P-61 moved 135 of \
these same 216 four commits ago. (C3) The f64 gain is at most half \
the f32 gain. The doc's reason is that NEON is 2-wide at f64 against \
4-wide at f32; on this host's AVX2 it is 4-wide against 8-wide, so \
the ratio the clause asserts is the same factor of two and the \
clause survives the machine change unaltered. POPULATION: both \
scalars are measured on every field, so the clause fires on every \
row pair. VERIFICATION REQUIREMENT, STATED AT REGISTRATION: \
cargo-show-asm output for the monomorphised f32 instance goes in the \
ticket. The crate is generic over Real and LLVM vectorises the \
monomorphised instance or does not; that must be inspected per \
instantiation, and a Criterion delta alone cannot distinguish a \
vectorised loop from a lucky one.",
falsified_by: "C1 under 2x, in which case the ceiling is the vector \
width and the honest number is smaller than the prior suggests. On \
gyroid a falsification is EXPECTED and its cause is named above; a \
gyroid speedup at or above 2x would be the surprise and would mean \
libm's sinf is being inlined and vectorised, which is a finding \
about libm rather than about this loop. C2: ANY hash movement, which \
rejects the change outright -- this is the one clause here whose \
failure is not a measurement but a veto. C3: an f64 gain above half \
the f32 gain, which would mean the f32 path was not the vector path \
and C1's number came from something else. And the whole experiment \
is void if the asm dump shows no vector instruction in the \
monomorphised f32 sphere instance while C1 reports a speedup, \
because then the speedup is the loop's bookkeeping and not its \
arithmetic.",
records: &[
"arm",
"field",
"scalar",
"samples_per_axis",
"samples",
"loop_shape",
"ns_per_sample",
"cycles_per_sample",
"ghz",
"speedup_vs_push",
"marginal_ns_per_sample",
"baseline_marginal_ns_per_sample",
"bit_identical_to_push",
"golden_hashes_unchanged",
"vectorisable_body",
"c1_speedup_f32",
"c1_holds",
"c2_holds",
"c3_f64_over_f32_gain",
"c3_holds",
"machine",
"wall_ms",
],
},
Preregistration {
id: "P-70",
ticket: "R-068",
hypothesis: "THE MEASURED PRIOR IS ON THIS EXACT HARDWARE CLASS AND \
THIS EXACT API. Smith, Levien & Owens, Decoupled Fallback: A \
Portable Single-Pass GPU Scan, SPAA '25, 10.1145/3694906.3743326. \
Inclusive prefix sum over 2^25 elements, all measured on \
WebGPU/Dawn: Apple M1 Max 36.85 vs 25.75 G ele/s (1.43x), Apple M3 \
10.87 vs 7.46 (1.46x), RTX 2080 Super 1.49x, RX 7900 XT 1.33x, \
Mali-G78 1.35x, Intel HD 620 1.43x. TWO OF THEIR FINDINGS FORECLOSE \
THE OBVIOUS PLAN and should be recorded whatever this experiment \
returns. First, verbatim: 'data collected by Sorensen et al. shows \
that ARM and Apple GPUs do not [provide forward-progress \
guarantees]' -- plain decoupled look-back TIMES OUT on M1 Max and \
M3, so single-pass chained scan is off the table on this crate's \
primary target unless it carries a fallback. Second, the ceiling is \
structural: reduce-then-scan moves O(3n), chained scan O(2n), so \
50% is the THEORETICAL MAXIMUM and 30-50% is what they measure. \
Scan is memory-bound and subgroups do not change that. WHICH IS WHY \
THE TARGET IS NOT A FASTER SCAN: M-150 already took the prefix sum \
from 15.01 to 9.65 ms, the literature caps a further scan \
improvement near 1.5x, and much of it is banked. The larger win is \
NOT SCANNING GLOBALLY AT ALL: subgroupBallot plus \
subgroupExclusiveAdd plus one wave-level atomicAdd collapses \
per-workgroup compaction into registers and reduces the global scan \
to a much shorter one over per-workgroup totals. On Apple Silicon \
the subgroup size is 32 with ballot capped at 64 bits \
(gpuweb#3950), so one ballot covers half a word of P-40's \
active-cell bitmap -- a clean mapping rather than a fight. (C1) \
Subgroup compaction takes the 129^3 extraction below 7.0 ms on the \
Zen 3 / RTX 3090 rig, from M-150's 9.65. (C2) Output is \
bit-identical to the current path on all eight fields -- same \
triangles, same order. (C3) THE CONSTRAINT CLAUSE: the fallback \
path is exercised, not merely present -- the web build takes it, \
and a native run with SUBGROUP forced off produces the same output \
as the subgroup run.",
falsified_by: "C1 by above 7.0 ms, which would mean the compaction was \
not the residue. C2 by any difference; a compaction that reorders is \
a determinism regression and is rejected regardless of speed. C3 by \
a fallback that is not tested, which is M-44's \
zero-that-could-not-have-been-non-zero in a new place. NO GOLDEN \
HASH MOVES: the subgroup scan is compiled in the bench and no \
extractor calls it, so the 216 hashes cannot move -- and a \
registration that needed them to move would be proposing a second \
WGSL path in the shipped crate, which CLAUDE.md's one-path rule \
forbids. VOID if the device does not advertise SUBGROUP, since \
every clause would then be about code that did not run; the \
adapter's reported subgroup size is a recorded column.",
records: &[
"arm",
"elements",
"scan_ms",
"speedup_vs_hillis",
"matches_shipped_scan",
"matches_cpu_oracle",
"subgroup_size",
"subgroup_feature",
"gpu_total_ms_129",
"scan_share_of_total",
"reachable_total_if_scan_free",
"c1_holds",
"c2_holds",
"c3_holds",
],
},
Preregistration {
id: "P-71",
ticket: "R-069",
hypothesis: "M-167 is the largest single number this project owns about \
its own GPU path: synchronisation was 83% of an extraction. M-159 \
localised it -- the last four bytes cost 0.033 ms to move and 0.375 \
ms to WAIT FOR, because poll(Wait) with no submission index drains \
every dispatch queued before it -- and M-160 showed what removing it \
buys: CPU time flat at about 0.17 ms from 33^3 to 129^3. What wgpu \
29 gives splits the two targets and that split is the reason this is \
registered as one experiment rather than two: PollType::Poll is \
'check the device for a single time without blocking', PollType::Wait \
is 'block until the given submission has completed execution', and \
verbatim from the docs, 'On WebGPU, this has no effect. Callbacks \
are invoked from the window event loop.' So native Bevy has a real \
CPU stall to design away and the web build has no blocking \
primitive at all -- meaning any code shaped around Wait is \
native-only scaffolding, and the restructuring must not become a \
cfg fork, for the same one-path reason the libm justification \
already gives. TIMESTAMP_QUERY is in FeaturesWebGPU and is \
supported on Vulkan, DX12, Metal, OpenGL and WebGPU -- the one \
feature here that behaves identically on both targets, which V-48 \
establishes and which is why C1 can be stated for both. TWO OF THE \
THREE MECHANISMS ALREADY EXIST IN THE TREE, so this is partly a \
measurement of shipped code rather than a build: extract_buffers \
waits once, for the four bytes of the triangle count, and \
extract_indirect waits NOT AT ALL, sizing the geometry from a budget \
and turning the total into indirect draw arguments on the device. \
(C1) INSTRUMENT FIRST. Timestamp queries attribute M-167's 83% into \
submit / execute / map / copy, and the largest single component is \
MAP-WAIT, not execute. POPULATION, probed on this host before this \
registration was written: the adapter is an NVIDIA RTX 3090 on \
Vulkan and advertises TIMESTAMP_QUERY, \
TIMESTAMP_QUERY_INSIDE_PASSES and TIMESTAMP_QUERY_INSIDE_ENCODERS, \
all three true, so the instrument exists on the machine the numbers \
will come from. It is not currently reachable: \
isomesh_gpu::headless::Gpu requests Features::empty(), and \
ExtractTimings' own doc says in as many words that timestamp \
attribution 'need[s] a device feature this crate does not request'. \
Enabling it is a src/ change to isomesh-gpu and is registered as \
one, shaped as a capability check that REFUSES LOUDLY on an adapter \
without the feature rather than a fallback that silently reports \
CPU-side numbers under a GPU-side column name -- GPU-007's pattern. \
(C2) Feeding the vertex and index counts into indirect draw \
arguments from a GPU buffer -- so the CPU never learns the count -- \
removes at least 60% of the measured synchronisation at 129^3. \
POPULATION: this is the difference between two entry points that \
both already ship, extract_buffers against extract_indirect, so the \
clause fires on every resolution both accept and the comparison is \
WITHIN ONE BINARY AND ONE RUN, which M-281 requires. The \
denominator is stated rather than assumed: 'the measured \
synchronisation' is the wait component C1 attributes, not the whole \
extraction, and if C1 finds map-wait is not the largest component \
then C2's own denominator is smaller than M-167 suggests and the \
entry must say so. (C3) An N-frame-delayed double-buffered staging \
ring for the paths that genuinely need CPU-side data -- collider \
generation -- holds the amortised per-frame cost within one chunk of \
the budget across a 320x range, i.e. M-124's property survives the \
added latency. POPULATION: M-124's own sweep, re-run with the ring \
in place, so the clause fires on exactly the rows M-124 has. This \
is the one genuinely new capability here. A DESIGN QUESTION THAT IS \
THE OWNER'S, NOT THE HARNESS'S, AND IS REGISTERED AS A QUESTION: C3 \
costs one to two frames of latency on collision. For a voxel game \
that is invisible; for a CAD tool it is a decision. The \
registration records the question rather than assuming an answer, \
per CLAUDE.md's rule about design decisions, and the entry must \
surface it rather than pick.",
falsified_by: "C1: execute being the largest component, which would mean \
the arithmetic did move after all and M-167's 'the arithmetic never \
moved and was never the point' needs re-tiering. C2: under 60% of \
the measured synchronisation removed. C3: the amortised cost \
drifting outside one chunk of the budget, which means the ring \
traded a stall for a queue. And the whole experiment is void if the \
timestamp period reads zero or the resolved query set comes back \
monotonically non-increasing, because then the attribution is a \
column that was named and not measured -- the harness asserts on \
both rather than reporting them.",
records: &[
"arm",
"entry_point",
"samples_per_axis",
"cells",
"triangles",
"wall_ms",
"submit_ms",
"execute_ms",
"map_wait_ms",
"copy_ms",
"largest_component",
"synchronisation_ms",
"synchronisation_share",
"synchronisation_removed_share",
"timestamp_feature",
"timestamp_period_ns",
"amortised_ms_per_frame",
"budget_chunks",
"within_one_chunk",
"ring_frames_delay",
"c1_holds",
"c2_holds",
"c3_holds",
"adapter",
],
},
Preregistration {
id: "P-72",
ticket: "R-070",
hypothesis: "The granularity of the active-cell structure is a \
first-class parameter and it has never been swept. THE MEASURED \
PRIOR IS A 256x SPREAD FROM ONE KNOB: Hoetzlein, GVDB, HPG 2016, \
all timings on a Quadro M6000 -- tree build at 2048^3, <3,3,3,3> \
616,444 bricks in 461 ms, <3,3,3,4> 83,218 bricks in 69.8 ms, \
<3,3,3,6> 2,036 bricks in 1.8 ms. Same resolution, same data, 256x \
apart, and the paper's own conclusion is 'larger brick sizes \
produce a fewer number of bricks resulting in faster tree \
changes.' Also measured there: octrees were 30-40% slower on node \
insertion than N^3-trees. P-40 chose 64 cells per word and never \
asked whether 64 was right; M-337 measured the stage at 5.5x and \
12/12 bit-identical, which settles that the bitmap works and says \
nothing about its granularity. P-39's Lipschitz brush pruning \
(M-341, 3.36x median) is the direct analogue of GVDB's topology \
cull, and GVDB's result says its yield should likewise be \
granularity-dependent. WHAT THE CUBIC 8^3-64^3 KNOB IS IN THIS \
CRATE, read from the source before registering rather than assumed: \
it is the CHUNK, not the word. build_inside_bits packs 64 cells per \
u64 along X ONLY -- a flat per-row word array with no block or \
brick layer -- so there is no cubic granularity inside the bitmap \
to sweep, and u8/u16/u32/u64 would be a 1-D sweep of a packing \
width rather than GVDB's knob. The unit that is REBUILT ON AN EDIT \
is the chunk: mark_edit marks chunks, DirtySet holds chunks, \
mesh_dirty re-meshes chunks. That is GVDB's leaf brick with the \
same semantics, and C1 is denominated in EDIT-PLUS-REMESH time, \
which only the chunk path has. THE TRADEOFF IS ARITHMETIC, which is \
why an optimum should exist at all: total world cells are held \
fixed, so a chunk of c cells re-samples its shared corner planes at \
((c+1)/c)^3 of the field evaluations -- 1.42x at c = 8 against \
1.05x at c = 64 -- while a finer dirty set re-meshes fewer cells \
per edit. Small chunks pay in duplicated samples and save in wasted \
remesh. (C1) Sweeping the chunk granularity across 8^3, 16^3, 32^3 \
and 64^3 cells per pruning unit on a live edit trace, at a FIXED \
total cell count, produces a PRONOUNCED OPTIMUM: the best and worst \
edit-plus-remesh times differ by at least 2x. (C2) The optimum is \
FIELD-DEPENDENT, and specifically differs between gyroid (surface \
everywhere) and fbm_terrain (surface on a sheet). (C3) The spread is \
SMALLER than GVDB's 256x, and predicted below 4x: GVDB's figure is \
a tree rebuild on a 2048^3 SPH volume, far larger than a chunk \
here, and its level-set numbers (5-6x over CPU) are consistently \
weaker than its volume numbers (60x).",
falsified_by: "C1 by a flat curve -- best-to-worst under 2x -- which is \
a genuine null and means M-337's granularity was already at a \
plateau; that null is worth having and is the expected outcome on \
the smooth fields. C2 by one granularity winning on BOTH fields, \
which would make it a constant rather than a parameter. C3 by a \
spread above 4x, which would be the more valuable outcome and would \
say the chunk-size regime is not the damping factor it looks like. \
NO GOLDEN HASH MOVES: this experiment changes no extractor and no \
placement -- it varies only how the same total cell count is \
partitioned, and a partition that changed the mesh would be a \
seam defect and is asserted against.",
records: &[
"field",
"chunk_cells",
"world_cells",
"chunks",
"samples_per_chunk",
"sample_duplication",
"edits",
"dirty_chunks_total",
"remeshed_cells_total",
"mark_ms",
"remesh_ms",
"total_ms",
"ms_per_edit",
"vertices",
"triangles",
"distinct_surface_points",
"vertex_duplication",
"best_chunk_cells",
"worst_chunk_cells",
"spread",
"c1_holds",
"c2_holds",
"c3_holds",
],
},
Preregistration {
id: "P-73",
ticket: "R-073",
hypothesis: "THE HOOK IS A PROPOSAL IN THIS REPOSITORY'S OWN DOCS. The mechanics \
dossier proposes the angle-weighted pseudonormal at 'under 2 degrees \
difference on good triangles, over 15 degrees on radius-ratio under \
0.15, about 40 lines'. Jin, Lewis and West 2005 \
(10.1007/s00371-004-0271-1, 140 citations) scored six connectivity \
weightings -- equal, angle, sine-and-edge-length-reciprocal, \
adjacent-triangle-area, edge-length-reciprocal, sqrt-edge-length- \
reciprocal -- against the analytic normal, and on MARCHING- \
TETRAHEDRA OUTPUT EVERY ONE OF THEM HAS A MEDIAN DISCREPANCY OF 5-20 \
DEGREES at the highest resolution they tested. Their diagnosis is \
spatial aliasing in irregular implicit tessellation, which is M-72's \
mechanism seen from the shading side. NormalStrategy already has \
AnalyticGradient and CentralDifference; this measures whether a \
third is worth having. (C1) On eight reference fields at 33^3 and \
65^3, every connectivity weighting has a median angular error \
against the analytic gradient of at least 3x CentralDifference's at \
the cell size, and thin_plate and noise_cavity are the worst. (C2) \
mean |f(v)| -- the off-surface shading canary the dossier proposes \
in two lines -- PREDICTS the per-vertex angular error, rank \
correlation above 0.7 on at least six of eight fields. (C3) THE \
DETERMINISM ARGUMENT, INDEPENDENT OF QUALITY: angle weighting needs \
acos, libm's acos has no architecture selection, and a connectivity- \
weighted normal is therefore a golden-hash liability on a crate \
committing 216 of them. Measured: the connectivity route moves at \
least one hash between the M5 and the Zen 3 and the gradient route \
moves none. SHARE: C1 and C2 move the whole normals stage; C3 moves \
nothing and is a correctness clause.",
falsified_by: "C1 by any weighting within 3x, which would mean the 2005 result does \
not transfer to trilinear output and the dossier's proposal is \
right. C2 by a rank correlation below 0.7 on three or more fields, \
which would mean the canary and the error are different phenomena \
and the canary is not a proxy for shimmer. C3 by zero hash movement \
on the connectivity route, which would be the more interesting \
result and would remove the determinism objection entirely. VACUITY \
CONTROL: the fixture must contain triangles in the bottom decile of \
the aspect-ratio distribution on every field, reported as a column, \
or C1 is measuring well-shaped triangles only.",
records: &[
"field",
"resolution",
"weighting",
"median_angle_error_deg",
"p99_angle_error_deg",
"gradient_median_deg",
"ratio_to_gradient",
"canary_mean_abs_f",
"canary_rank_correlation",
"worst_decile_triangles",
"hashes_moved_connectivity",
"hashes_moved_gradient",
"c1_holds",
"c2_holds",
"c3_holds",
],
},
Preregistration {
id: "P-74",
ticket: "R-074",
hypothesis: "NOTHING IN SIX GAMEPLAY DOCUMENTS PROPOSES A LIGHTING FEATURE, and \
this is the cheapest one available because the expensive half is \
already paid. RTSDF (10.5220/0010996200003124, arXiv 2210.06160) \
measures on an RTX 2080 Ti at 1024^2: jump flood 2.09 ms, ray trace \
4.60 ms, total frame 10.22 ms at 97 fps -- and 2.09 ms of that is \
BUILDING a 128^3 SDF the game does not have. nvblox \
(10.1109/icra57147.2024.10611532) measures 0.8-7.3 billion distance \
queries per second, about 3 ns per query, on an RTX 3090 Ti, after \
paying 0.4 ms per frame to integrate the TSDF. This crate's field is \
analytic, resident, and already evaluated on the GPU at M-155's 0.54 \
ms for a 129^3 grid; isomesh-gpu/src/jump_flood.rs already exists. \
(C1) Screen-space AO by sphere-tracing the resident field costs \
under 2.0 ms at 1920x1080 on the Zen 3 / RTX 3090 rig, with 8 rays \
per pixel and a 16-step cone march. (C2) Against a mesh-based SSAO \
baseline on gyroid and fbm_terrain, field-traced AO has NO darkening \
error at chunk seams and no haloing at silhouettes, measured as mean \
absolute difference against a 512-ray offline reference; SSAO's seam \
and halo error is non-zero on both. (C3) The construction cost RTSDF \
pays is ZERO here, measured as the difference between total frame \
cost with the field already resident and the same trace after a \
jump-flood rebuild. SHARE: C1 moves the whole AO budget, currently \
paid in full by a mesh-based pass.",
falsified_by: "C1 by above 2.0 ms. C2 by SSAO matching it, which would mean the \
field buys nothing a depth buffer does not already have. C3 by a \
non-zero resident cost, which would mean the field is not reusable \
in the form the tracer wants and there is a conversion nobody \
costed. VACUITY CONTROL: the seam and silhouette pixel sets must be \
non-empty and reported as counts, because a scene with no visible \
seam cannot distinguish the two methods.",
records: &[
"field",
"resolution",
"rays_per_pixel",
"march_steps",
"ao_ms_field",
"ao_ms_ssao",
"seam_pixels",
"silhouette_pixels",
"seam_mae_field",
"seam_mae_ssao",
"halo_mae_field",
"halo_mae_ssao",
"resident_ms",
"rebuild_ms",
"c1_holds",
"c2_holds",
"c3_holds",
"adapter",
],
},
Preregistration {
id: "P-75",
ticket: "R-075",
hypothesis: "M-138 MEASURED THE PRICE OF EXACT PAINT: every sample walks the edit \
log, at 2.33x the cost per chunk. That is per SAMPLE. A shading pass \
pays it per FRAGMENT, every frame, at screen resolution. The \
alternative is bounded per-vertex material weights -- an [f32; 4], \
L1-normalised, the de facto standard in voxel renderers -- computed \
once during extraction from the same walk. Nobody has published the \
comparison; the only public arithmetic for a real pipeline is a blog \
post costing 4 materials x 3 triplanar planes x 5 maps = 60 texture \
fetches per fragment, with NO TIMING BEHIND IT. SCOPE, stated at \
registration: this is weights carried as a VERTEX ATTRIBUTE, which \
is additive and breaks nothing. Whether Sdf grows a phase concept \
(the PhaseTree proposal) is a public-API decision and is NOT part of \
this. (C1) Per-vertex weights, computed inside the existing \
extraction walk, cost under 5% of extraction. (C2) At 1920x1080 on \
game_dig's scene, per-vertex weights beat a per-fragment log walk by \
at least 4x in frame time, and the gap WIDENS with edit-log length \
across M-50's four buckets (1-15, 16-30, 31-45, 46-60 brushes). (C3) \
Interpolating weights across a triangle is not exact: the material \
misclassification rate against the field at 10^6 surface points is \
under 2%, and is concentrated within one cell of a material \
boundary. SHARE: C1 moves the vertex-attribute stage, currently \
zero; C2 moves the whole material shading stage.",
falsified_by: "C1 by above 5%. C2 by under 4x, or by a gap that does not widen with \
log length -- the second means the fragment path is not paying \
M-138's cost and the premise is wrong. C3 by above 2%, or by \
misclassification that is not boundary-local, the latter meaning the \
weights are not a resampling of the field but a different quantity. \
VACUITY CONTROL: the scene must contain at least two materials with \
a boundary crossing the visible surface, reported as a boundary- \
vertex count.",
records: &[
"log_bucket",
"brushes",
"materials",
"boundary_vertices",
"weights_ms",
"extract_ms",
"weights_share",
"frame_ms_vertex",
"frame_ms_fragment",
"speedup",
"misclassified_points",
"misclassified_fraction",
"misclassified_within_one_cell",
"c1_holds",
"c2_holds",
"c3_holds",
],
},
Preregistration {
id: "P-76",
ticket: "R-076",
hypothesis: "TRIPLANAR AND STOCHASTIC FILTERING COMPOSE MULTIPLICATIVELY AND \
NOBODY STATES THE PRODUCT. Three planes x three stochastic taps is \
nine fetches per map; the triplanar example already \
pays the three. Stochastic Texture Filtering (arXiv 2305.05810) and \
Heitz-Neyret histogram-preserving blending (10.1145/3233304, 'over \
20x faster' than procedural-noise state of the art, HARDWARE NOT \
NAMED) both trade fetches for temporal accumulation. The conflict is \
the finding worth registering: A DESTRUCTIBLE WORLD HAS ALREADY \
SPENT ITS TEMPORAL BUDGET, because geometry that changes rejects \
history. This registration is gated on P-77, which measures that \
rejection; running it first would price the saving without pricing \
the debt. (C1) Selecting one triplanar plane per pixel \
stochastically drops the fetch count by exactly 3x and the fragment \
cost by at least 2x at 1920x1080. (C2) With TAA resolving the \
stochastic choice, the ghosting cost under an active dig is WORSE \
than the fetch saving is worth: measured as mean absolute error \
against a 3-plane reference in the 8 frames following an edit, above \
the error of the same scene with no digging. (C3) Biplanar mapping \
-- two planes, no stochastic term, no temporal debt -- gets at least \
half the saving of C1 with none of C2's cost. SHARE: C1 moves the \
material shading stage, which P-75's C2 will have measured.",
falsified_by: "C1 by under 2x. C2 by no difference between digging and static, \
which would mean history rejection is not the bottleneck and \
stochastic filtering is free here after all. C3 by under half, which \
makes the honest recommendation 'keep three planes'. VACUITY \
CONTROL: the dig arm must produce a non-zero history-rejection count \
from P-77's instrument, or C2 cannot fire.",
records: &[
"arm",
"fetches_per_fragment",
"fragment_ms",
"frame_ms",
"history_rejected_static",
"history_rejected_digging",
"mae_vs_reference_static",
"mae_vs_reference_digging",
"frames_after_edit",
"biplanar_fetches",
"biplanar_fragment_ms",
"c1_holds",
"c2_holds",
"c3_holds",
],
},
Preregistration {
id: "P-77",
ticket: "R-077",
hypothesis: "THE ONE MEASURED MITIGATION IN THIS AREA IS CHEAP AND THE PROBLEM IT \
MITIGATES HAS NEVER BEEN MEASURED UNDER DESTRUCTION. k-DOP clipping \
(10.1145/3681758.3697996) replaces TAA's axis-aligned neighbourhood \
clamp with a tighter k-discrete-oriented polytope at 0.2 ms overhead \
(GPU NOT NAMED IN THE ABSTRACT), and its framing is that prior \
bounding-box methods are 'only situationally effective'. Separately, \
Epic's account of virtual shadow maps in Fortnite says animated \
deformation invalidates shadow pages and that they ABANDONED CACHING \
FOR DIRECTIONAL SUN SHADOWS ENTIRELY -- with no invalidation cost \
published anywhere. This experiment measures the destruction half; \
P-79 measures the shadow half. (C1) In game_dig, the fraction of TAA \
history samples rejected in the frame after a brush stroke is at \
least 5x the steady-state rejection rate, and the elevated rate \
persists for at least 3 frames. (C2) k-DOP clipping recovers at \
least half the rejected samples at under 0.3 ms. (C3) The rejection \
is SPATIALLY CONCENTRATED at the brush, not global: over 80% of \
rejected samples fall within the brush's screen-space bounding box \
dilated by one dig radius. SHARE: C1 is a rate, not a ratio of a \
total; C2 moves the TAA resolve stage.",
falsified_by: "C1 by under 5x, or by a single-frame spike -- either means \
destruction is not a temporal problem, and this row and P-76's C2 \
close together. C2 by under half, which would mean the rejections \
are genuine disocclusions rather than clamp conservatism and no \
clipping scheme can help. C3 by under 80%, which would mean an edit \
disturbs the whole frame and a localised mitigation cannot work. \
VACUITY CONTROL: the steady-state arm must have a non-zero rejection \
rate, or the 5x ratio is division by a floor.",
records: &[
"arm",
"stroke_rate_hz",
"steady_rejection_fraction",
"post_edit_rejection_fraction",
"ratio",
"frames_elevated",
"kdop_ms",
"kdop_recovered_fraction",
"rejected_in_brush_box",
"rejected_total",
"concentration_fraction",
"c1_holds",
"c2_holds",
"c3_holds",
],
},
Preregistration {
id: "P-78",
ticket: "R-078",
hypothesis: "PROBE-BASED GI IS THE ONLY GI FAMILY THAT TOLERATES GEOMETRY \
CHANGING EVERY FRAME, AND ITS COST UNDER A DESTRUCTIBLE WORLD IS \
UNMEASURED. The best rigorous measurement available is a bachelor's \
thesis (Dell'Ova, BTH 2025, DOI UNVERIFIED) finding that 87-96% of \
radiance-cascade frame time is the GATHER pass -- cost is dominated \
by tracing the scene, not by the cascade structure. That matters \
because this crate can trace an SDF instead of a BVH, which is what \
P-74 measures. But the question a game asks first is how much of the \
cache a dig dirties, and the crate already owns the instrument: \
M-311's dirty-cell set and M-314's edit-proportionality \
decomposition. (C1) The probe invalidation set is EDIT-PROPORTIONAL, \
not volume-proportional: the number of probes whose visibility \
changes tracks the brush's dilated support with a constant factor \
under 4, across M-50's four edit-log buckets and three probe \
densities. (C2) Tracing the field beats tracing the extracted mesh \
for probe updates by at least 3x at equal ray count. (C3) A dig that \
opens a new air component -- M-311's union-find merge, the banked \
breakthrough event -- invalidates STRICTLY MORE probes than a dig of \
the same volume that does not. SHARE: C2 moves the gather pass, \
which the thesis puts at 87-96% of GI cost.",
falsified_by: "C1 by a factor above 4, or by a count that grows with world size at \
fixed edit size -- the second kills probe GI for this game outright \
and is worth knowing in an afternoon. C2 by under 3x. C3 by no \
difference, which would mean the topological event has no lighting \
signature and the banked breakthrough event cannot drive a lighting \
response. VACUITY CONTROL: the breakthrough arm must actually merge \
two air components, asserted from the union-find rather than assumed \
from the brush.",
records: &[
"log_bucket",
"probe_density",
"world_cells",
"brush_support_cells",
"probes_invalidated",
"invalidation_factor",
"gather_ms_field",
"gather_ms_mesh",
"gather_speedup",
"breakthrough",
"air_components_before",
"air_components_after",
"probes_invalidated_breakthrough",
"c1_holds",
"c2_holds",
"c3_holds",
],
},
Preregistration {
id: "P-79",
ticket: "R-079",
hypothesis: "EPIC'S OWN ANSWER TO DEFORMING GEOMETRY WAS TO STOP CACHING. The \
Fortnite virtual-shadow-map write-up gives exactly one quantitative \
figure -- a light-loop optimisation from 1.56 ms to 1.08 ms -- and \
describes invalidation qualitatively: sun movement causes 'quite \
significant shadow page table changes frame to frame', animated \
deformation invalidates pages, and directional sun shadows were left \
uncached. FOR A WORLD WHERE THE GEOMETRY IS BEING DUG AWAY THAT IS \
THE RELEVANT PRECEDENT AND THE NUMBER IS MISSING FROM THE LITERATURE \
ENTIRELY. (C1) In game_dig with a cached shadow atlas, one brush \
stroke invalidates a page count proportional to the brush's \
PROJECTED area from the light, with a constant under 3 -- not to the \
brush volume and not to the scene. (C2) Invalidating only the pages \
the brush's light-space bounding volume touches produces a PIXEL- \
IDENTICAL shadow to a full re-render, on all eight reference fields. \
(C3) The saving is worth having: cached-with-invalidation beats \
uncached by at least 2x in shadow cost under a continuous dig at \
game_dig's throttled 12.5 strokes per second. SHARE: C3 moves the \
shadow rendering stage only.",
falsified_by: "C1 by a constant above 3, or by scene-proportional invalidation. C2 \
by any pixel difference, which would mean the conservative bound is \
wrong and localised invalidation is unsound. C3 by under 2x, which \
vindicates Epic's decision and closes the direction with a number \
they did not publish. VACUITY CONTROL: the light must be positioned \
so the brush casts a shadow into the visible frame, asserted by a \
non-zero changed-pixel count on the full-re-render arm.",
records: &[
"field",
"light_direction",
"brush_volume_cells",
"brush_projected_area",
"pages_invalidated",
"invalidation_constant",
"changed_pixels_full",
"changed_pixels_localised",
"shadow_ms_cached",
"shadow_ms_uncached",
"stroke_rate_hz",
"c1_holds",
"c2_holds",
"c3_holds",
],
},
Preregistration {
id: "P-80",
ticket: "R-080",
hypothesis: "M-72 IS THE FINDING THIS IS BUILT ON AND NOBODY HAS EXPLOITED IT. \
Sub-cell features do not vanish under coarsening, they ALIAS -- \
thin_plate goes 4,088 to 1,016 to 248 to 56 triangles across LOD 0-3 \
-- and the dossier's response is to make the disappearance \
authorable. There is a second response: the difference between the \
fine surface and the coarse one is a VECTOR FIELD THIS CRATE CAN \
EVALUATE, because it owns the analytic field at both scales. Bake it \
into a tangent-space normal map per coarse chunk and the geometry \
fades while the shading does not. The sweep found NO MEASURED STUDY \
of normal-mapping detail onto a coarse isosurface at all. (C1) For \
each coarse-LOD vertex, the direction from the coarse surface to the \
nearest fine-surface point is computable from the field alone -- one \
gradient and one root refinement, no fine mesh -- and agrees with \
the true nearest point to within 0.1 cells on 95% of vertices at LOD \
1 and 2. (C2) A normal map baked from that residual reduces \
perceived detail loss: mean angular difference between LOD-2 \
shading-with-map and LOD-0 shading is under 10 degrees on \
fbm_terrain, against over 25 degrees for LOD-2 without. (C3) WHERE \
IT MUST FAIL, STATED IN ADVANCE: it cannot work on thin_plate or \
gyroid at LOD 3, because a normal map cannot restore a SILHOUETTE \
and both fields lose topology rather than curvature -- predicted \
above 25 degrees on both, with the map. SHARE: C2 moves the shading \
half of the LOD budget only; triangle counts are unchanged by \
construction.",
falsified_by: "C1 by under 95%, or by an error that grows with LOD level faster \
than the cell size. C2 by over 10 degrees with the map, or under 25 \
without -- the second would mean coarsening does not cost shading \
detail on this field and the premise is wrong for terrain. C3 by the \
map working on thin_plate or gyroid at LOD 3, which would be a much \
stronger result than the row claims and would need explaining. \
VACUITY CONTROL: the LOD-0 reference must differ from LOD-2 by more \
than 25 degrees somewhere, reported as a changed-vertex count, or C2 \
is comparing two identical shadings.",
records: &[
"field",
"lod_level",
"coarse_vertices",
"residual_agree_fraction",
"residual_p95_cells",
"angle_lod0_vs_lod2_no_map",
"angle_lod0_vs_lod2_with_map",
"changed_vertices",
"bake_ms",
"map_bytes_per_chunk",
"c1_holds",
"c2_holds",
"c3_holds",
],
},
Preregistration {
id: "P-81",
ticket: "R-081",
hypothesis: "THE DOCS ALREADY PROPOSE SDF COLLISION AND CITE THE WRONG PAPER FOR \
THE GAME'S ACTUAL CASE. The cited source is Liu et al. \
10.1016/j.cagd.2024.102305, which is SDF-vs-SDF for two comparable \
solids -- a strictly harder problem needing interval arithmetic, \
which is a determinism liability. The game's case is a small \
analytic proxy against one enormous static field, and that is \
Macklin, Erleben, Mueller, Chentanez, Jeschke and Corse, \
10.1145/3384538: per-element local optimisation between an SDF \
isosurface and mesh elements, comparing projected gradient descent, \
Frank-Wolfe and golden-section search, with GSS WINNING ON THE 1-D \
EDGE PROBLEM. Their decisive line, on 129k-triangle rigid shells: \
'this mesh-based collision took approximately 15 ms per-step, \
compared to under 0.5 ms using SDF-based contact', 48-445 \
microseconds per timestep, CUDA on a GTX 2080 Ti. DISCOUNTED \
HONESTLY AT REGISTRATION: their 30x is GPU-parallel against a deep \
BVH over 129k triangles; this crate's baseline is a much smaller \
per-chunk parry3d TriMesh on CPU, so single-digit x is the \
prediction. THIS ROW IS GATED ON P-85, which decides whether the 45% \
is query cost or construction cost. (C1) Capsule-vs-field by GSS \
costs under 20 microseconds per query on the Zen 3 and beats the \
shipped TriMesh path by at least 3x on fbm_terrain at 33^3 chunks. \
(C2) A fixed iteration count with no data-dependent branching gives \
bit-identical contact points across the M5 and the Zen 3, on 10^6 \
queries. (C3) Ghost contacts -- collisions against internal edges \
between adjacent triangles -- are STRUCTURALLY ABSENT from the field \
query: non-zero on the TriMesh path over M-106's 495-seam-crossing \
fixture, exactly zero on the field path. SHARE: C1 moves the query \
half of the collider's 45%, and P-85 will have measured how large \
that half is.",
falsified_by: "C1 by under 3x, which would mean the TriMesh path's cost is collider \
CONSTRUCTION rather than query and this attacks the wrong half -- in \
which case P-85's answer is what matters. C2 by one differing \
contact, which puts the method behind the same wall as every other \
float-sensitive path. C3 by zero on both, which would mean avian3d \
already handles it and Jolt's v5.0.0 internal-edge-removal work and \
avian#612 are solving a problem this crate does not have. VACUITY \
CONTROL: the TriMesh arm must report a non-zero ghost-contact count, \
or C3 cannot fire.",
records: &[
"field",
"chunk_cells",
"queries",
"gss_iterations",
"query_us_field",
"query_us_trimesh",
"speedup",
"contacts_bit_identical",
"differing_contacts",
"ghost_contacts_trimesh",
"ghost_contacts_field",
"seam_crossings",
"c1_holds",
"c2_holds",
"c3_holds",
],
},
Preregistration {
id: "P-82",
ticket: "R-082",
hypothesis: "A DIGGER IS THE FASTEST THING IN THE GAME AND THE WALL IN FRONT OF \
IT IS GETTING THINNER EVERY FRAME. That is the exact configuration \
discrete collision cannot survive, and there is now a CPU-only \
measured answer: Pelletier-Guenette, Mercier-Aubin and Andrews, \
10.1145/3747862 (SCA 2025) -- spatio-temporal local optimisation for \
first time of impact, a modified Frank-Wolfe with golden-section \
search over barycentric coordinates AND TIME, with adaptive triangle \
subdivision giving multiple contacts per triangle. Intel i9, single \
CPU thread, CPU-only: an 888-triangle shuriken at 0.4 ms total, \
11.13 microseconds mean per triangle; 100K triangles at 0.96 \
microseconds per triangle. It beats Macklin 2020's discrete \
detection on all their tests -- SELF-ADJUDICATED, since no standard \
triangle-SDF CCD benchmark exists, and that is stated here rather \
than discovered. (C1) At the speed a game_dig projectile travels, \
the discrete path tunnels through a wall of thickness t below v*dt \
and the CCD path does not, over 10^4 randomised shots at a wall \
swept from 2 cells down to t/h = 0.05 (subgrid's floor, M-95). (C2) \
Cost per moving element stays under 25 microseconds and is LINEAR in \
element count. (C3) A capsule approximated by 8 swept spheres \
reaches the same first-time-of-impact as a 200-triangle capsule \
mesh, to within one cell, at 10x less cost. SHARE: C2 moves a single \
dynamic body's collision budget, not the whole frame.",
falsified_by: "C1 by the discrete path not tunnelling, which would mean the game's \
speeds are below the threshold and this is premature. C2 by \
superlinear cost, or above 25 microseconds. C3 by a disagreement \
above one cell, which would mean the proxy is too coarse and the \
cheap version of this does not exist. VACUITY CONTROL: the discrete \
arm must tunnel at least once, reported as a count, or C1 is \
comparing two methods that both work.",
records: &[
"wall_thickness_cells",
"speed_cells_per_step",
"shots",
"tunnels_discrete",
"tunnels_ccd",
"us_per_element",
"elements",
"linear_fit_r2",
"toi_capsule_spheres",
"toi_capsule_mesh",
"toi_disagreement_cells",
"cost_ratio_spheres_vs_mesh",
"c1_holds",
"c2_holds",
"c3_holds",
],
},
Preregistration {
id: "P-83",
ticket: "R-083",
hypothesis: "NOTHING IN THE LITERATURE COMPUTES MASS PROPERTIES FROM AN SDF \
ANALYTICALLY, AND NOTHING BENCHMARKS IT. The nearest usable result \
is Hartmann and Ewougsi Tekeu, 10.1007/s00707-025-04419-1: inserting \
T = x tensor x into the divergence theorem converts the volume \
integral for the inertia tensor into a PURE SURFACE INTEGRAL, \
evaluated analytically per triangle with linear shape functions. No \
wall-clock timings, but the operation count is below tetrahedral \
volume discretisation at equal resolution. This crate emits the \
surface; the integral is one pass over data it just produced, with \
no mesh round-trip to parry3d. IT IS ALSO THE ONLY ROW IN GROUP B \
THAT IS CORE-CRATE ELIGIBLE -- pure arithmetic, no_std, allocation- \
free, generic over Real. (C1) Volume, centre of mass and the inertia \
tensor agree with a dense voxel reference to 1e-4 relative on all \
eight reference fields at 33^3, and the error falls at h^2. (C2) \
DETERMINISM AND THE TRAP THE PAPER NAMES: float summation is non- \
associative, so a fixed triangle iteration order is required for \
hash stability; and the paper's own discretisation yields a NON- \
SYMMETRIC inertia tensor despite the continuous form being \
symmetric, fixed by averaging off-diagonals. Both are measured: \
fixed order gives bit-identical tensors across machines, and the \
pre-symmetrisation asymmetry is non-zero. (C3) It costs under 2% of \
extraction. SHARE: C3 moves the whole mass-properties stage, \
currently paid by parry3d after a mesh handoff.",
falsified_by: "C1 by worse than 1e-4, or a convergence order below 1.5 -- the \
second would mean the surface integral is not seeing the geometry \
the volume integral sees. C2 by zero asymmetry, which would mean the \
crate's triangles are better behaved than the paper's and the \
symmetrisation step can be dropped. C3 by above 2%. VACUITY CONTROL: \
the reference must be a dense voxel integration at a resolution that \
itself converges, reported with its own h^2 fit, or C1 is measuring \
the reference.",
records: &[
"field",
"resolution",
"volume",
"volume_reference",
"volume_rel_error",
"com_rel_error",
"inertia_rel_error",
"convergence_order",
"asymmetry_pre",
"asymmetry_post",
"bit_identical_across_machines",
"mass_props_ms",
"extract_ms",
"share",
"c1_holds",
"c2_holds",
"c3_holds",
],
},
Preregistration {
id: "P-84",
ticket: "R-084",
hypothesis: "A-027 ALREADY PROPOSES THIS AND DOES NOT CITE THE PAPER THAT \
MEASURED IT. Mueller, Chentanez and Kim, 10.1145/2461912.2461934 \
(TOG 2013): split the geometry into non-overlapping convex regions \
OFFLINE, then at runtime align a convex fracture pattern to the \
impact and intersect it against the precomputed compound. The \
invariant is that CLIPPING A CONVEX SHAPE AGAINST A CONVEX CELL \
YIELDS CONVEX PIECES, so runtime decomposition never happens. \
Measured: 'the time to fracture small to average sized objects is \
typically negligible, i.e. below 10 ms', staying below 50 ms \
throughout, reaching 20k compounds and 32k convexes -- on a Core i7 \
at 3.07 GHz with a GTX 680. AND THE 2026 STATE OF THE ART HAS NOT \
IMPROVED ON IT: M-297 said no published convex decomposition runs at \
interactive rates and that holds -- VisACD (arXiv 2604.04244) is a \
GPU method averaging 16.97 seconds per model against CoACD's 36.31 \
s, four orders of magnitude off a frame budget. (C1) A brush \
intersected against a convex-cell partition of a chunk produces \
convex fragments in under 10 ms per fragment, against M-116's \
241-272 ms. (C2) THE MULTIPLAYER CLAUSE, and the one that makes this \
crate's version better than Mueller's: the convex-cell partition is \
a PURE FUNCTION OF THE EDIT LOG -- eight same-kind brushes in all \
40,320 orderings give one partition, bit-for-bit, reproducing M-36 \
at the cell level. (C3) Piece count stays bounded: a chunk that has \
taken 60 brushes (M-50's largest bucket) has under 4x the convex \
cells of an unedited one. SHARE: C1 moves the whole destruction- \
collider stage.",
falsified_by: "C1 by above 25 ms, which is still 10x better than M-116 and would \
still be worth landing -- the clause is set at 10 to make the 2013 \
number the bar rather than a comfortable one, and the entry must \
report both. C2 by more than one partition, which would mean the \
decomposition introduces order-dependence the field does not have \
and breaks the coordination-free story M-36 bought. C3 by above 4x, \
the failure mode that turns this into a memory problem instead of a \
time problem. VACUITY CONTROL: the 40,320-ordering arm must actually \
reach every ordering, asserted by count, which is M-36's own \
fixture.",
records: &[
"field",
"chunk_cells",
"brushes",
"fragments",
"fracture_ms_per_fragment",
"fracture_ms_worst",
"convex_cells_before",
"convex_cells_after",
"cell_growth_ratio",
"orderings",
"distinct_partitions",
"partition_hash",
"c1_holds",
"c2_holds",
"c3_holds",
],
},
Preregistration {
id: "P-85",
ticket: "R-085",
hypothesis: "x52 IS THE TEMPLATE AND IT IS THE MOST TRANSFERABLE THING PHASE 23 \
PRODUCED. P-71 predicted the GPU synchronisation would be dominated \
by the count wait, measured it, and found the GEOMETRY COPY at 60% \
of the whole extraction instead. THE COLLIDER STAGE HAS NEVER HAD \
THAT TREATMENT. It is 45% of the pipeline, larger than contouring \
(M-135), and nobody knows whether it is BVH construction, triangle \
copying, parry3d's constructor, or the weld that M-69 and x18 argue \
about. Independent corroboration exists and is weaker than this will \
be: Godot Voxel Tools' performance documentation says 'creating a \
collider from a mesh is actually much more expensive than meshing \
itself (about 3 to 5 times)', WITH NO ABSOLUTE TIMINGS AND NO \
HARDWARE. THIS IS THE CHEAPEST ROW IN THE PHASE AND IT DECIDES WHICH \
OF P-81 AND P-84 IS WORTH DOING. (C1) Decomposed into copy, \
construct, BVH-build and handoff, ONE STAGE IS OVER 50% of the \
collider cost at 33^3 and 65^3 chunks on fbm_terrain and gyroid. \
(C2) The dominant stage is NOT the one the docs assume: Godot's docs \
blame BVH construction; predicted here it is the triangle copy, by \
analogy with x52's finding that the copy dominated on the GPU side \
for the same structural reason -- the bytes have to move. (C3) The \
cost is NOT proportional to triangle count alone: at fixed triangle \
count, gyroid's collider costs at least 1.5x sphere's, because seam \
boundary edges (M-69's 72 per seam) and degenerate slivers are per- \
field. SHARE: this experiment measures shares and moves nothing.",
falsified_by: "C1 by four stages each under 50%, which would mean the cost is \
diffuse and there is no single lever -- a null worth having, and it \
would redirect the group toward P-81's query-side attack. C2 by BVH \
construction dominating, which vindicates the folklore and is \
equally useful. C3 by proportionality to triangle count, which would \
make the whole stage predictable from a number the extractor already \
reports and is the best possible outcome for the scheduler. VACUITY \
CONTROL: the four stages must sum to the measured total within 5%, \
reported as a residual column, or the decomposition is missing a \
stage.",
records: &[
"field",
"chunk_cells",
"triangles",
"copy_ms",
"construct_ms",
"bvh_ms",
"handoff_ms",
"total_ms",
"residual_ms",
"largest_stage",
"largest_share",
"cost_per_triangle",
"seam_boundary_edges",
"degenerate_triangles",
"c1_holds",
"c2_holds",
"c3_holds",
],
},
Preregistration {
id: "P-86",
ticket: "R-086",
hypothesis: "M-115 FOUND THAT A MOVING BODY IS STOPPED HARDER AND MORE OFTEN BY \
ORDINARY TERRAIN THAN BY A CHUNK JOIN, AND LEFT THE HARDER QUESTION \
OPEN: how many of those stops are REAL. The crate records degenerate \
near-zero-area triangles as a metric rather than a gate, because \
Marching Cubes genuinely emits slivers whenever a grid corner sits \
near zero -- that is the algorithm, not a bug. But a sliver is \
exactly what a capsule controller catches on, and M-185 already \
found that completing the crossing identity turned a sliver into a \
repeated-index triangle the extractor now declines to emit. NOBODY \
HAS CONNECTED THE RECORDED METRIC TO THE GAMEPLAY SYMPTOM. This is \
also where the literature is thinnest: there is essentially no peer- \
reviewed work on capsule-vs-isosurface locomotion at chunk seams, \
and M-115 is better evidence than anything published. (C1) Over \
game_capsule_walk's 495 seam crossings plus a 10^4-step randomised \
walk on fbm_terrain, at least 20% of controller stops occur on a \
triangle in the bottom decile of the aspect-ratio distribution. (C2) \
Stops are NOT concentrated at chunk seams, confirming M-115 from the \
controller's side rather than the body's: seam-adjacent triangles \
carry no more stops per triangle than interior ones. (C3) The field \
query path from P-81 removes ALL of C1's stops, because it never \
sees a triangle. SHARE: this is a rate, not a ratio of a total.",
falsified_by: "C1 by under 20%, which would mean slivers are not what stops a \
character and the recorded metric has no gameplay consequence -- a \
genuine null and worth the afternoon. C2 by a seam excess, which \
reopens M-133's 'not reliably seam-closing' as a gameplay defect \
rather than a topology one. C3 by any surviving stop, which would \
mean the terrain genuinely stops the character there and C1 was \
measuring geometry that is correct. VACUITY CONTROL: the walk must \
produce a non-zero stop count on both arms, and the bottom aspect- \
ratio decile must be non-empty, both reported as counts.",
records: &[
"field",
"steps",
"seam_crossings",
"stops_total",
"stops_on_worst_decile",
"worst_decile_fraction",
"stops_per_triangle_seam",
"stops_per_triangle_interior",
"seam_excess_ratio",
"stops_field_path",
"aspect_ratio_p10",
"c1_holds",
"c2_holds",
"c3_holds",
],
},
Preregistration {
id: "P-87",
ticket: "R-087",
hypothesis: "THE NAVIGATION DIRECTION IN THIS REPOSITORY IS COSTED AND THE COST \
IS FATAL. The docs propose deriving the encounter graph from field \
topology via Morse-Smale segmentation and record the price: PLMSS at \
256^3 takes 4.40 s single-threaded, 0.36 s on 24 threads, which the \
docs themselves call '20-40x over a 16 ms frame'. Recast is worse in \
a different way -- a 2026 devlog measures Unreal's navmesh \
generation at a constant ~5 ms and a ~10 FPS drop for a relatively \
simple sublevel, and Recast rebuilds a tile by voxelising collision \
geometry, so this game would voxelise a mesh it generated from \
voxels. THERE IS A THIRD OPTION NOBODY IN THESE DOCS HAS CONSIDERED \
AND IT IS MEASURED. Massonnat and Verbrugge, \
10.1109/CoG60054.2024.10645669 (IEEE CoG 2024): an octree splits \
cells containing obstacles, adjacent cells merge by a Hertel- \
Mehlhorn-inspired greedy method WHILE PRESERVING CONVEXITY, and A* \
runs on the resulting coarse graph with visibility pruning and a 3-D \
funnel; extended to dynamic environments with LOCAL octree and graph \
updates plus a cell-repairing strategy. Measured on an Intel Core \
i7-12700H laptop: octree update 0.22-1.36 ms, local graph update \
0.03 ms, about 1 ms total, with cell reduction up to an order of \
magnitude (28,190 to 303). The convexity-preserving merge is the \
same trick as P-84's fracture invariant; two subfields arriving at \
it independently is a signal. (C1) Built on the sign field and the \
active-cell bitmap -- never on triangles -- the local repair after \
P-72's eleven-edit dig trace costs under 2 ms at 4^3 chunk \
granularity. (C2) The repair set is EDIT-PROPORTIONAL, tracking \
M-311's 925 dirty cells with a constant factor under 3, and does not \
grow with world size at fixed edit size. (C3) Convexity-preserving \
merge gives at least 5x cell reduction on fbm_terrain and gyroid, \
and gyroid -- topologically the hardest of the eight -- is the one \
where it does worst. SHARE: C1 moves the whole navigation-rebuild \
stage, currently unbuilt.",
falsified_by: "C1 by above 2 ms, which puts it in Recast's band and removes the \
reason to prefer it. C2 by world-proportional growth -- the same \
falsifier as P-78's C1 and for the same reason. C3 by under 5x on \
either field, or by gyroid not being the worst, which would mean the \
reduction tracks something other than topological complexity. \
VACUITY CONTROL: the dig trace must change the free-space topology \
at least once, asserted from the union-find rather than from the \
brush, or the repair is measuring a no-op.",
records: &[
"field",
"world_cells",
"chunk_cells",
"edits",
"dirty_cells",
"repair_cells",
"repair_factor",
"octree_update_ms",
"graph_update_ms",
"total_ms",
"cells_before_merge",
"cells_after_merge",
"reduction",
"topology_changes",
"c1_holds",
"c2_holds",
"c3_holds",
],
},
Preregistration {
id: "P-88",
ticket: "R-088",
hypothesis: "THE HIGHEST-VALUE GAMEPLAY FEATURE IN THE MECHANICS DOSSIER IS \
BLOCKED ON A SUB-PROBLEM THE DOSSIER ITSELF NAMES AS THE HARD ONE. \
CALIBRE -- every creature carries a half-width lambda, reachable \
space is the connected component of {r >= lambda} -- needs rho \
maintained under material removal, and the docs say plainly that \
'the genuinely hard sub-problem is maintaining rho itself under \
material removal', with the defining paper (Chazal and Lieutier \
10.1016/j.gmod.2005.01.002) unobtainable and O-19 still open on \
which direction the lambda-filter runs. AN OCTREE OF FREE CELLS \
GIVES A CLEARANCE LOWER BOUND WITH NO MEDIAL AXIS AT ALL: a cell of \
side s that is entirely empty admits a sphere of radius s/2, and \
P-87's merged convex regions give a larger bound directly. M-346 \
already established the crate can state a clearance rather than only \
a connection, with exactly zero error where the answer is known. \
This asks whether the octree route reaches the same number cheaply \
enough to ship. RIDES P-87 and is not runnable without it. (C1) The \
octree clearance lower bound is within 1 VOXEL of the true clearance \
on at least 90% of sampled points across M-346's fixtures -- the \
same bar the dossier set for CALIBRE's oracle check. (C2) Lambda- \
membership flips after an edit are AT MOST 4x the changed samples -- \
again the dossier's own registered bar -- and the flip set is \
computable from P-87's repair set with no extra traversal. (C3) IT \
IS CONSERVATIVE IN THE SAFE DIRECTION: the bound NEVER overstates \
clearance, over 10^6 samples. A creature is never told it fits where \
it does not. SHARE: this is an accuracy and a rate, not a ratio of a \
total.",
falsified_by: "C1 by under 90%, which means the bound is too loose to gate a \
passage and CALIBRE still needs rho. C2 by above 4x, or by a flip \
set that is not a subset of P-87's repair set. C3 BY ONE \
OVERSTATEMENT -- this is one-sided and a single violation kills it, \
because a gameplay gate that lies in the permissive direction is \
worse than no gate. VACUITY CONTROL: the sample set must include \
points whose true clearance is known analytically (M-346's fixtures) \
and points in dug passages narrower than 2 cells, both reported as \
counts.",
records: &[
"fixture",
"samples",
"known_clearance_samples",
"narrow_passage_samples",
"within_one_voxel",
"within_fraction",
"overstatements",
"max_overstatement_cells",
"lambda_flips",
"changed_samples",
"flip_factor",
"flips_outside_repair_set",
"c1_holds",
"c2_holds",
"c3_holds",
],
},
Preregistration {
id: "P-89",
ticket: "R-089",
hypothesis: "M-377'S OWN OPEN QUESTION, AND IT IS AN HOUR OF WORK. The \
granularity curve is still RISING at 2^3 on both fields, so 1^3 \
should be worse -- the sample-duplication penalty ((c+1)/c)^3 is 8.0 \
at c = 1 against 3.375 at c = 2 -- but it is untested, and M-377 is \
the entry that established that a boundary minimum is not an answer. \
The same entry derived a two-term model that gets a stencil of \
exactly 6 on all twelve arms, so the model is available to be \
extrapolated against rather than merely fitted. (C1) 1^3 is worse \
than 2^3 on both gyroid and fbm_terrain, confirming the interior \
optimum at 4^3. (C2) The measured cost at 1^3 matches M-377's two- \
term model to within 10%. SHARE: this experiment measures a curve \
and moves nothing; it settles whether M-377's 51x is a shape or a \
sample.",
falsified_by: "C1 by 1^3 winning, which would mean the duplication model is wrong \
and the whole granularity result needs re-deriving. C2 by above 10%, \
which means the model does not extrapolate and the 4^3 optimum is a \
coincidence of the sampled points. VACUITY CONTROL: M-377's own \
assertion is inherited verbatim -- 'VOID: chunk N marked no dirty \
chunk in 11 edits' -- and the 1^3 arm must mark dirty chunks on \
every edit or the row is void.",
records: &[
"field",
"chunk_cells",
"world_cells",
"chunks",
"sample_duplication",
"predicted_ms",
"measured_ms",
"model_error",
"mark_ms",
"remesh_ms",
"total_ms",
"dirty_chunks_total",
"c1_holds",
"c2_holds",
],
},
Preregistration {
id: "P-90",
ticket: "R-090",
hypothesis: "DREAMS' HIERARCHICAL EVALUATOR CULLS OVER 99% OF NAIVE EDIT \
EVALUATIONS BY MAINTAINING A PER-BLOCK EDIT LIST (Evans, SIGGRAPH \
2015 Advances -- 1 to 100,000 edits per sculpture, 10-100 M voxels \
evaluated per second on a PS4, culling efficiency over 99% against \
brute force). This crate's equivalent is P-39's Lipschitz brush \
pruning at 3.36x median, measured at CHUNK granularity. M-377 has \
now moved the optimum chunk to 4^3 -- SIXTY-FOUR CELLS. The question \
the two results create together is whether pruning still pays when \
the brick is that small, or whether the per-brick bookkeeping eats \
it. (C1) At 4^3 granularity, Lipschitz pruning still gives at least \
2x on M-50's 46-60 brush bucket. (C2) Carrying a per-brick \
surviving-brush list costs under 8 BYTES PER BRICK amortised across \
the dig trace, using x41's finding that 1,507 survivors cut to 73 \
necessary. (C3) The two culls COMPOSE rather than overlap: pruning \
at chunk granularity then at brick granularity removes strictly more \
than either alone, on the eleven-edit trace. SHARE: C1 moves the \
field-evaluation share of remesh, which M-377 measured as \
essentially all of remesh_ms.",
falsified_by: "C1 by under 2x, which would mean P-72's optimum and P-39's win are \
in tension and the granularity choice has a hidden cost. C2 by above \
8 bytes, which at 4^3 granularity is a real memory line item -- a \
128^3 world is 32,768 bricks. C3 by no additional removal, which \
would mean the chunk-level cull already found everything and the \
brick level is bookkeeping for nothing. VACUITY CONTROL: the trace \
must contain bricks whose surviving-brush set differs from their \
parent chunk's, reported as a count, or C3 cannot fire.",
records: &[
"field",
"chunk_cells",
"brick_cells",
"brushes",
"bricks",
"survivors_chunk_level",
"survivors_brick_level",
"additional_removed",
"bricks_differing_from_parent",
"bytes_per_brick",
"speedup_chunk_only",
"speedup_both",
"c1_holds",
"c2_holds",
"c3_holds",
],
},
Preregistration {
id: "P-91",
ticket: "R-091",
hypothesis: "TWO ROWS OF THE EXISTING DOCS MEET HERE AND NEITHER NAMES THE HEAD- \
TO-HEAD. Item 3.6 proposes Lengyel's one-scalar geomorph at 6 bytes \
per vertex instead of 12 and predicts it FAILS on gyroid and \
succeeds on fbm_terrain -- 'geomorph on terrain, not on caves'. Item \
3.8 proposes switching LOD at the distance where p99 pixels-of-pop \
falls under one pixel, against M-121's measured pop of up to 3.14 \
cells. The comparison nobody has run is geomorph against the other \
standard answer, dithered or alpha-to-coverage cross-fade. THE SWEEP \
FOUND NO BENCHMARK FOR ANY DITHERED LOD BLEND ANYWHERE. The one \
measured argument in the literature favours morphing and it is a \
BANDWIDTH argument rather than an aesthetic one: Haydel, Yuksel and \
Seiler (10.1145/3618359) chose morphing over stochastic LOD because \
stochastic causes 'significantly increased data movement' spikes at \
transitions -- though their hardware is a CYCLE-ACCURATE SIMULATION \
OF TRaX, NOT A REAL GPU, which is why the argument that survives the \
port is the structural one and not the number. GATED ON P-77, which \
measures history rejection. (C1) Geomorph gets p99 pixels-of-pop \
under 1.0 on fbm_terrain at the current switch distance and FAILS on \
gyroid, reproducing 3.6's prediction. (C2) Dithered cross-fade gets \
a LOWER p99 pop than geomorph on gyroid -- because it does not need \
a coarse-mesh counterpart along p + t*n, which a triply-periodic \
field denies it -- and a HIGHER cost, measured as P-77's temporal- \
history rejection. (C3) Dither's cost lands in the same budget \
destruction has already spent: rejection under dithered LOD plus \
active digging is MORE THAN THE SUM of each alone. SHARE: C1 and C2 \
move the LOD transition only; C3 moves the TAA resolve.",
falsified_by: "C1 by either half -- geomorph failing on terrain would kill it \
outright, and succeeding on gyroid would be a better result than \
predicted and needs explaining. C2 by dither also failing on gyroid, \
which would mean neither transition works on cave topology and the \
honest answer is a hard switch at a distance where nobody looks. C3 \
by additivity, which would mean the two effects are independent and \
dither is affordable after all. VACUITY CONTROL: the no-transition \
arm must show a measurable pop, reported in pixels, or both methods \
are being compared against an invisible baseline.",
records: &[
"field",
"switch_distance",
"method",
"p99_pixels_of_pop",
"max_pixels_of_pop",
"pop_cells",
"bytes_per_vertex",
"history_rejected_static",
"history_rejected_lod",
"history_rejected_lod_and_digging",
"sum_of_parts",
"superadditivity",
"c1_holds",
"c2_holds",
"c3_holds",
],
},
Preregistration {
id: "P-92",
ticket: "R-092",
hypothesis: "THE BAR IS PUBLIC AND LOW. meshoptimizer decodes sponza -- 184k \
vertices, 262k triangles -- in 1.92 ms on a Core i7-8650U at 2 GHz, \
against Draco's 169 ms. That is about 7.3 NANOSECONDS PER TRIANGLE, \
SINGLE-THREADED, TO DECODE, and decoding produces geometry and \
nothing else. This crate's extraction produces the geometry AND the \
material weights AND the gradient normals from a field plus an edit \
log that is far smaller than any encoding of 440k triangles. And \
M-31's bit-exact cross-platform determinism turns that from a gamble \
into a protocol: both endpoints extract the same mesh from the same \
field, and the golden hashes prove it. THE SWEEP FOUND NOTHING \
PUBLISHED ON THIS. (C1) Marginal extraction cost per triangle is \
under 7.3 ns on the Zen 3 for marching_cubes at 33^3 chunks, i.e. \
re-extracting is cheaper than decoding an encoded mesh of the same \
output. THIS IS GENUINELY UNCERTAIN and is why it is measured rather \
than asserted: M-20's 4.75 ns per SAMPLE and x51's 10.68 ns per \
sample extraction marginal do not settle a per-TRIANGLE figure. (C2) \
The field plus edit log for a dug chunk is at least 20x smaller than \
meshopt's encoding of that chunk's triangles, across M-50's four log \
buckets. (C3) Extraction from the same field and log on the M5 and \
the Zen 3 produces byte-identical output over a 10^4-edit trace -- \
M-31 at 216 fixtures extended to a long replay, which is a different \
regime. SHARE: C1 is a per-triangle cost, compared like for like \
against a published per-triangle cost on named hardware.",
falsified_by: "C1 by above 7.3 ns, which closes the argument with a number and is \
the outcome to expect if the surface-to-triangle ratio is \
unfavourable. C2 by under 20x, which would mean long edit logs \
approach the size of the geometry they produce and the argument has \
a crossover the log-trimming ticket must respect. C3 BY ONE \
DIFFERING BYTE, which is the single most important negative result \
available here and would end the direction. VACUITY CONTROL: the \
encoded-size arm must use a real encoder on the real triangles, not \
an estimate, and its decode time must be measured on this machine \
rather than quoted from the blog post.",
records: &[
"field",
"chunk_cells",
"triangles",
"extract_ms",
"ns_per_triangle",
"meshopt_bytes",
"meshopt_decode_ms",
"meshopt_ns_per_triangle",
"field_plus_log_bytes",
"size_ratio",
"log_bucket",
"replay_edits",
"bytes_differing",
"c1_holds",
"c2_holds",
"c3_holds",
],
},
Preregistration {
id: "P-93",
ticket: "R-093",
hypothesis: "M-377 NAMED THIS COST AND DID NOT PRICE IT. At 4^3 the trace carries \
51.6% MORE VERTEX DATA than 64^3 for the same 53,110 distinct \
surface points -- 81,548 against 53,788 -- with the duplication \
ratio running 2.2122x at 2^3 down to 1.0128x at 64^3. The entry says \
plainly that this is 'the number a consumer paying for GPU upload \
should weigh against the 51x edit win', and x54 has since measured \
what upload actually costs: 7.3236 ms of an 8.3694 ms GPU total, \
87.50%. SO THE WEIGH-OFF IS NOW COMPUTABLE AND IT HAS NEVER BEEN \
COMPUTED. (C1) There is a CROSSOVER: below some edits-per-second \
rate, 64^3 wins on total frame cost despite the 51x edit penalty, \
because the upload dominates. Predicted to exist between 1 and 20 \
edits per second -- game_dig throttles the stroke to 12.5 per \
second, which is inside that window. (C2) Welding closes the \
duplication (M-377 says it does) at a cost that is itself \
granularity-dependent, and at 4^3 the weld costs MORE than the \
upload it saves. (C3) A per-chunk granularity -- coarse for static \
chunks, fine for actively-dug ones -- beats both fixed choices by at \
least 1.5x on the eleven-edit trace with a moving camera. SHARE: C1 \
weighs the remesh stage against the upload stage, whose shares M-377 \
and x54 have both measured.",
falsified_by: "C1 by no crossover in 0.1-100 edits per second, which would mean 4^3 \
wins unconditionally and the granularity decision is settled rather \
than a trade. C2 by the weld being cheaper, which resolves the trade \
in 4^3's favour and makes C1's crossover a curiosity. C3 by under \
1.5x, in which case one global granularity is the right answer and \
the scheduler stays simple. VACUITY CONTROL: the upload arm must \
actually upload -- asserted against x54's own gpu_vs_cpu.csv row \
rather than quoted, per P-70's precedent -- and the camera arm must \
move enough to change the visible chunk set, reported as a count.",
records: &[
"field",
"chunk_cells",
"edits_per_second",
"remesh_ms",
"upload_ms",
"weld_ms",
"total_ms",
"raw_vertices",
"distinct_surface_points",
"vertex_duplication",
"crossover_edits_per_second",
"mixed_granularity_ms",
"mixed_speedup",
"visible_chunk_changes",
"c1_holds",
"c2_holds",
"c3_holds",
],
},
Preregistration {
id: "P-94",
ticket: "R-094",
hypothesis: "NO PEER-REVIEWED PAPER MEASURES BANDWIDTH OR STORAGE FOR A \
DESTRUCTIBLE WORLD. Voxel Plugin and Godot Voxel Tools both document \
edit-replication designs with no numbers; the only public datum \
anywhere is Teardown's ~1 Mbit per client, from a blog post, and \
their reason for replicating COMMANDS rather than voxels is stated \
directly: 'commands are the same regardless of object size'. The \
08-11 doc estimates 100k operations x 48 B = 4.80 MB against 1.7 GB \
per-voxel, from CALM; that is an ESTIMATE, not a measurement, and \
the crate now has the machinery to make it one. SCOPE, stated at \
registration because BACKLOG.md closes networked editing out and \
that is not being reopened: this measures the EDIT LOG, which the \
crate owns, which is what a save file is, and which undo rewinds. No \
sockets, no clock, no session model. (C1) A one-hour game_dig \
session at the throttled 12.5 strokes per second produces an edit \
log under 2 MB uncompressed, and the per-edit cost is CONSTANT in \
world size and in chunk granularity -- the property that makes the \
log the right representation. (C2) Coaxial and nested edits \
collapse: a tunnel dug as 200 overlapping capsules along one axis \
compresses under max to fewer than 40 surviving brushes, reproducing \
x41's survivor arithmetic (1,507 to 73) on a realistic trace rather \
than a fixture. (C3) Entropy-coding the log beats a general-purpose \
compressor by at least 2x, because brush parameters are strongly \
correlated along a stroke. SHARE: this measures sizes and moves \
nothing.",
falsified_by: "C1 by either half -- size growth with world size would mean the log \
is carrying position precision it does not need. C2 by fewer than 3x \
collapse, which would mean the log grows with play time in a way \
trimming cannot fix. C3 by under 2x, which means zstd is the answer \
and no bespoke format is worth writing. VACUITY CONTROL: the trace \
must be a real session capture rather than a synthetic sweep, and \
the coaxial arm must actually overlap -- reported as the pairwise- \
intersection count -- or C2 is compressing disjoint brushes.",
records: &[
"session_minutes",
"strokes",
"edits",
"bytes_uncompressed",
"bytes_per_edit",
"world_cells",
"chunk_cells",
"bytes_per_edit_at_other_world_size",
"coaxial_brushes",
"surviving_brushes",
"collapse_ratio",
"overlapping_pairs",
"bytes_zstd",
"bytes_entropy_coded",
"compression_advantage",
"c1_holds",
"c2_holds",
"c3_holds",
],
},
Preregistration {
id: "P-95",
ticket: "R-095",
hypothesis: "THE 08-11 DOC NAMES THIS GAP IN ONE LINE: 'out-of-order arrival \
forces a re-fold from checkpoint; needs checkpoint cadence \
measured.' It is also the feature a volumetric editor is unusable \
without, and game_editor exists. M-50 already measured the fold's \
cost curve -- 0.158, 0.354, 0.525 and 0.589 ms for logs of 1-15, \
16-30, 31-45 and 46-60 brushes -- so the cadence should be DERIVABLE \
rather than tuned, and that is what makes this a prediction rather \
than an implementation. (C1) Undoing the last edit costs strictly \
less than re-folding from a checkpoint whenever fewer than N edits \
separate them, and N is measurable and STABLE ACROSS FIELDS. (C2) \
M-50's cost curve gives the cadence directly: checkpoints every k \
edits hold worst-case undo under 16 ms, and k FALLS OUT OF the 0.158 \
/ 0.354 / 0.525 / 0.589 ms bucket measurements rather than being \
tuned. (C3) Undo is BIT-EXACT: undoing then redoing an edit returns \
the golden hash to its previous value, over a 10^3-edit trace with \
interleaved undo. SHARE: C2 is denominated in a frame, which is the \
budget undo has to fit in.",
falsified_by: "C1 by no crossover, which would mean undo is always a re-fold and \
the checkpoint cadence is the only knob. C2 by a k that does not \
predict from M-50 -- i.e. undo cost is not the same function as \
evaluation cost, which would be a finding about the fold rather than \
about undo. C3 by one mismatch, which would mean the log is not a \
faithful history and the save format is lossy. VACUITY CONTROL: the \
interleaved-undo trace must include undos that cross a checkpoint \
boundary, reported as a count, or C3 tests only the cheap path.",
records: &[
"field",
"edits",
"checkpoint_every_k",
"undo_ms",
"refold_ms",
"crossover_n",
"crossover_stable_across_fields",
"predicted_k_from_m50",
"measured_k",
"worst_undo_ms",
"undos_crossing_checkpoint",
"hash_mismatches",
"c1_holds",
"c2_holds",
"c3_holds",
],
},
Preregistration {
id: "P-96",
ticket: "R-096",
hypothesis: "M-38 IS THE MEASUREMENT THAT DECIDES WHETHER SMOOTH BLENDING CAN \
EVER BE ORDER-FREE, AND IT ONLY COUNTED. Smooth union gives 40,317 \
distinct results from 40,320 orderings -- against hard union's 1 \
(M-36) and mixed add/subtract's 11 (M-37). Counting distinct results \
says the operator is order-dependent. IT DOES NOT SAY THE RESULTS \
ARE DIFFERENT IN ANY WAY A PLAYER COULD SEE, and that is a \
completely different question with a completely different \
consequence: if the spread is sub-voxel then smooth union is \
effectively commutative at gameplay tolerance even though it is not \
bit-commutative, and the ordering authority M-38 seemed to demand is \
not needed. One day, on a fixture that already exists, and it \
changes a protocol decision. (C1) Across all 40,320 orderings of the \
eight-brush fixture, the MAXIMUM symmetric Hausdorff distance \
between any two resulting meshes is under 0.1 cells. (C2) The spread \
SCALES WITH the blend radius k and vanishes as k approaches 0, \
recovering M-36's exact commutativity in the limit -- so k is the \
knob, and there is a k below which smooth union is gameplay- \
commutative. (C3) The spread is SPATIALLY CONFINED to within 10k of \
a seam between two brushes, matching the |smin_k - min| <= k*ln(n) \
bound the 2026-08-23 memo derived and measured at max deviation \
0.135 against a bound of 0.208. SHARE: this measures a distance, not \
a ratio.",
falsified_by: "C1 by above 0.1 cells, which confirms M-38's implication and means \
smooth-union edits carry a hard ordering requirement. C2 by a spread \
that does not fall with k, which would mean the order-dependence is \
not the blend and is something else entirely. C3 by spread outside \
that shell, which would mean the bound does not localise and the \
memo's k-as-a-length interpretation is wrong. VACUITY CONTROL: \
M-38's own fixture is inherited and its 40,320 orderings must all be \
reached, asserted by count -- and the three orderings that COINCIDE \
in M-38 must still coincide here, or the harness is not reproducing \
M-38.",
records: &[
"blend_radius_k",
"orderings",
"distinct_results",
"coincident_orderings",
"max_hausdorff_cells",
"mean_hausdorff_cells",
"p99_hausdorff_cells",
"spread_vs_k_slope",
"max_deviation_from_seam_cells",
"shell_10k_cells",
"points_outside_shell",
"c1_holds",
"c2_holds",
"c3_holds",
],
},
Preregistration {
id: "P-97",
ticket: "R-097",
hypothesis: "M-31 IS 216 GOLDEN HASHES ON EIGHT REFERENCE FIELDS. A SAVE FILE IS \
A HUNDRED THOUSAND EDITS. These are different regimes and nothing \
has tested the second. Teardown's team is the only public account \
and their arc is a warning: they FIRST REWROTE DESTRUCTION IN FIXED- \
POINT INTEGER ARITHMETIC, then found floating point workable with \
precautions -- 'floating point operations were considered unsafe for \
deterministic purposes. That is still true to some extent, but the \
picture is more nuanced.' They were not committing cross-platform \
hashes. This crate is, so its bar is higher and its evidence should \
be too. THE VALUE OF THIS EXPERIMENT IS ENTIRELY IN THE FAILURE \
CASE: a divergence at edit 60,000 that fixture testing cannot reach \
is the single worst bug this crate could ship. (C1) A 10^5-edit \
trace replayed on the M5 and the Zen 3 produces byte-identical \
meshes on all eight fields. (C2) If C1 fails, the divergence is \
LOCALISED: the first differing edit is identifiable by bisection and \
its brush parameters name the operation responsible. (C3) Replay \
cost is LINEAR in log length with a constant under 1.2x the sum of \
per-edit costs M-50 measured -- i.e. replay does not have a hidden \
superlinearity. SHARE: C3 is denominated in the sum of per-edit \
costs, which M-50 measured directly.",
falsified_by: "C1 by one differing byte -- and that outcome is the point of the \
row, not its failure. C2 by a divergence that bisection cannot \
localise, which would mean the fold accumulates rather than diverges \
and no per-operation fix exists. C3 by above 1.2x, which would put a \
ceiling on session length independent of correctness. VACUITY \
CONTROL: the trace must exercise all three operator classes M-36, \
M-37 and M-38 distinguish -- same-kind, mixed add/subtract, and \
smooth union -- reported as three counts, because a trace of only \
same-kind brushes is the case already known to be order-free.",
records: &[
"field",
"edits",
"same_kind_edits",
"mixed_edits",
"smooth_union_edits",
"bytes_differing",
"first_differing_edit",
"first_differing_operator",
"bisection_steps",
"replay_ms",
"sum_of_per_edit_ms",
"linearity_constant",
"c1_holds",
"c2_holds",
"c3_holds",
],
},
Preregistration {
id: "P-98",
ticket: "R-098",
hypothesis: "M-378 NAMED THIS AND EXPLICITLY REFUSED TO SUBSTITUTE IT FOR THE \
VERDICT. The Plantinga-Vegter predicate costs 21% of extraction \
standalone, against a registered 5% ceiling -- but the BARE EIGHT- \
CORNER GATHER IS 0.51 ms ON EVERY SINGLE ARM, and two thirds of the \
standalone cost is re-reading corners the extractor has already \
read. A version fused into the extractor's existing gather would pay \
0.0658, which is still above 5% but by 1.3 points rather than 16. \
The entry states that as a number and files nothing. This is that \
ticket. (C1) Fused into the extraction gather, the predicate costs \
AT MOST 0.0658 of extraction at 65^3 on all eight fields -- the \
figure M-378 derived, used as a bar rather than a target. (C2) The \
certification result is IDENTICAL to the standalone predicate on all \
25 rows of p-62.csv plus the 400,000-cell random arm -- same \
certified set, same zero unsound. (C3) At 0.0658 it is shippable as \
a default rather than a debug gate: the certified fraction is \
reportable per chunk at NO EXTRA PASS, and a consumer can read 'this \
chunk is 87% certified' from the existing report. SHARE: C1 is a \
share of extraction, which is exactly how M-378 stated it.",
falsified_by: "C1 by above 0.0658, which would mean the derivation double-counted \
something and the fused cost has a term the decomposition missed. C2 \
by any difference, which would mean fusing changed the arithmetic \
and the soundness proof does not carry over. C3 by needing a second \
pass to aggregate, which puts it back above the ceiling. VACUITY \
CONTROL: the random arm from p-62.csv is inherited verbatim -- 2,202 \
tunnel and 180 twelve-vertex cells -- because the eight reference \
fields alone gave seven tunnel cells in 172,032, which M-378 itself \
called 'a hair from M-44's vacuous zero'.",
records: &[
"field",
"resolution",
"fused_predicate_ms",
"standalone_predicate_ms",
"bare_gather_ms",
"extract_ms",
"fused_share",
"standalone_share",
"certified_cells_fused",
"certified_cells_standalone",
"set_difference",
"unsound_certificates",
"tunnel_cells",
"twelve_vertex_cells",
"extra_passes",
"c1_holds",
"c2_holds",
"c3_holds",
],
},
Preregistration {
id: "P-99",
ticket: "R-099",
hypothesis: "x53 FALSIFIED ALL THREE CLAUSES AND SAID WHAT THE NEXT REGISTRATION \
SHOULD BE ABOUT. Two candidate reformulations survive the data: the \
non-monotonic rate AMONG SINGLE-ROOT EDGES -- which ranks thin_plate \
first and is the only quantity in the run that fails to converge -- \
and the false-negative count at fixed k, which needs the oracle and \
is therefore offline. The entry registers neither on purpose: \
'Neither is registered, so neither is claimed.' x53's two \
registration defects are both corrected here rather than repeated: \
C2's second half asked for a false-positive rate that FALLS with k, \
which is mechanically impossible because adding a sample point can \
only add an opportunity to disagree; and C3's metric was taken over \
ALL grid edges, so it measured how much of the VOLUME has turning \
gradient rather than how badly the SURFACE is under-resolved, which \
is why thin_plate -- a thin plate in a mostly-empty box -- ranked \
eighth. (C1) The non-monotonic rate among SINGLE-ROOT edges ranks \
thin_plate FIRST of eight at 33^3 and 65^3, where the all-edges rate \
ranked it eighth. (C2) It FAILS TO CONVERGE on thin_plate and \
converges on the other seven, reproducing x53's observation that \
thin_plate's false-positive rate is the only one that rises with \
resolution (0.3889, 0.4412, 0.4697). That non-convergence is the \
signal an LOD decision wants. (C3) THE CLAUSE x53 GOT BACKWARDS, \
STATED CORRECTLY: false NEGATIVES fall with k -- 322, 94, 8, 1, 0 at \
k in {2,3,5,9,17} -- and false positives are monotone NON-DECREASING \
in k by construction. Both are asserted in the direction the \
predicate's form allows. SHARE: this is a rate; it moves nothing and \
gates the LOD decision M-121 and M-72 both want an input for.",
falsified_by: "C1 by any other ranking, which would mean the denominator was not \
the problem and the whole witness family is measuring the volume \
rather than the surface. C2 by convergence on thin_plate, or by non- \
convergence on a second field. C3 by a non-monotone false-positive \
count, which would mean the implementation is not the predicate. \
VACUITY CONTROL: x53's oracle_samples column is inherited -- 128 \
intervals -- and the caveat with it: a root pair inside one interval \
is invisible to both instruments and cannot produce a false negative \
here, but also cannot be ruled out.",
records: &[
"field",
"resolution",
"k",
"single_root_edges",
"multi_root_edges",
"non_monotonic_single_root",
"rate_single_root",
"rate_all_edges",
"rank_single_root",
"rank_all_edges",
"converges",
"false_negatives",
"false_positives",
"oracle_samples",
"c1_holds",
"c2_holds",
"c3_holds",
],
},
Preregistration {
id: "P-100",
ticket: "R-100",
hypothesis: "M-372 FOUND THE OBSTRUCTION AND NAMED IT AS STRUCTURAL. Marching \
Tetrahedra improves from {6, 12} to a flat 12 OF 48 AND STOPS, \
because a six-tetrahedron decomposition of a cell is not \
octahedrally invariant -- its diagonals cut different edges after a \
relabelling -- and NO PLACEMENT RULE REACHES THAT. That is a \
statement about the DECOMPOSITION, not about the extractor, and \
decompositions that are invariant exist: the barycentric \
(Kuhn/Freudenthal) subdivision into 24 tetrahedra is invariant under \
the full octahedral group by construction. P-3 already verified that \
Kuhn tiles face-to-face only if every cell picks the same main \
diagonal, and M-51 measured classic MT at about 3x the triangles for \
about 4% worse geometry, so the cost side is known and the question \
is whether invariance is worth paying for. (C1) A 24-tetrahedron \
barycentric decomposition reaches 48 OF 48 on all eight fields at \
both resolutions, where the six-tet split reaches 12. (C2) It costs \
at most 2x the six-tet split in triangle count -- and since M-51 \
already measured a 3x penalty over Marching Cubes, the COMBINED \
penalty must stay under 6x, which is the number a consumer actually \
pays. (C3) It STILL TILES across chunk seams with zero open edges, \
which is the property M-132 measured for the subgrid extractor and \
the reason Marching Tetrahedra is in this crate at all. SHARE: C2 is \
a triangle count, compared against M-51's already-measured baseline.",
falsified_by: "C1 by under 48, which would mean the obstruction is not the \
decomposition and M-372's diagnosis needs revising. C2 by above 2x, \
which prices invariance out for a game and leaves it a CAD-only \
option. C3 by any open edge, which kills it outright regardless of \
C1. VACUITY CONTROL: the six-tet arm must reproduce p-61.csv's flat \
12 of 48 before the 24-tet arm is believed, reported side by side.",
records: &[
"field",
"resolution",
"decomposition",
"tetrahedra_per_cell",
"elements_vertex_exact",
"worst_component_ulp",
"triangles",
"triangles_vs_six_tet",
"triangles_vs_marching_cubes",
"open_edges",
"seam_configurations",
"hausdorff",
"c1_holds",
"c2_holds",
"c3_holds",
],
},
Preregistration {
id: "P-101",
ticket: "R-101",
hypothesis: "M-372 SAYS THE DUALS ACCUMULATE CROSSINGS IN AN ORDER THAT AXIS \
RELABELLING PERMUTES, AND POINTS AT M-177. But M-177 is about \
NEGATION equivariance -- 'reordering cannot buy negation \
equivariance, and the obstruction is structural' -- and octahedral \
relabelling is a different group action. THE EVIDENCE THAT THE TWO \
ARE NOT THE SAME CASE IS IN p-61.csv: dual_contouring and \
manifold_dual_contouring already reach 48 on 3 OF 16 ROWS, which a \
structural obstruction would not permit. So the open question is \
narrow and cheap: does accumulating in a RELABELLING-INVARIANT order \
-- sorting the crossings by a key that is a function of the cell's \
geometry rather than of the axis indices -- take the duals from 3 of \
16 to 16 of 16? Note M-24 and M-175: magnitude-ordered sums were \
real and insufficient once, and 'ties need no tie-break' survived \
9,600 trials and fell to the first test about the tie itself -- so \
the key must be total and its tie-break must itself be invariant, \
which is registered here rather than discovered. (C1) With crossings \
accumulated in an order keyed on (|value|, |offset|) with an \
invariant tie-break, dual_contouring reaches 48 on at least 12 OF 16 \
rows. (C2) IT IS FREE: no golden hash moves except through the \
accumulation order itself, and the Hausdorff error is unchanged to \
1e-12 -- the same shape as x49's C3. (C3) manifold_dual_contouring \
does WORSE than dual_contouring, because its cycle partition \
introduces a second order-dependence the accumulation key cannot \
reach. SHARE: C2 is a geometric change of zero, asserted rather than \
hoped.",
falsified_by: "C1 by under 12, which would mean M-177's obstruction does cover this \
case and the duals are structurally out of reach. C2 by any \
geometric change, which would mean the reordering is not a \
reordering. C3 by the two matching, which would be a stronger result \
and would mean the cycle partition is already invariant. VACUITY \
CONTROL: p-61.csv's three already-passing dual rows must still pass, \
and the tie-break must be exercised -- a count of exact ties in the \
key is a required column, because M-175 is the precedent for a tie- \
break that is never tested.",
records: &[
"field",
"resolution",
"extractor",
"accumulation_key",
"elements_vertex_exact",
"elements_vertex_exact_baseline",
"worst_component_ulp",
"exact_key_ties",
"hausdorff_delta",
"hashes_moved",
"hashes_moved_expected",
"c1_holds",
"c2_holds",
"c3_holds",
],
},
Preregistration {
id: "P-102",
ticket: "R-102",
hypothesis: "THE ONE AUDIT ITEM THAT WAS DOWNGRADED RATHER THAN FIXED. x43 claims \
'2 of 8,064 not closed before the fix, 0 of 8,064 after' and the \
sweep that produced it exists in no bench, no test and no CSV; the \
entry now says so honestly, which leaves the claim that the per-ring \
apex fix GENERALISES with no evidence behind it and no ticket to \
produce any. That is CLAUDE.md hard rule 4 and it is the x35 failure \
mode in its third occurrence. P-63 has since built exactly the \
machinery this needs -- an exhaustive sign sweep with a fixture-can- \
fail control and a magnitude-seed protocol reported per seed and \
never pooled. (C1) Over all 8,064 configurations (16 x 8 x 9 x 7 \
sizes from 6^3 to 12^3), the post-fix extractor produces ZERO \
unclosed meshes, on four independent magnitude seeds reported per \
seed and never pooled. (C2) THE CONTROL THE ORIGINAL LACKED: the \
pre-fix single-apex fan produces exactly 2 at 6^3 and zero \
elsewhere, reproducing the claim the entry could not support. (C3) \
The +/-1 magnitude arm is a BAD FIXTURE here for the reason M-374 \
found -- has_inner_hexagon's strict 0 < x < 1 rejects, so interior \
vertices go to zero -- and the harness reports it as VOID rather \
than as a pass. SHARE: this experiment reproduces a rate and moves \
nothing.",
falsified_by: "C1 by any unclosed mesh, which reopens x43. C2 by a different count, \
which would mean the original figure was wrong as well as \
unreproducible -- and that is a finding about the entry rather than \
about the fix. C3 by the unit arm reporting a pass, which is M-44 in \
a new place and would mean the void detector does not work. VACUITY \
CONTROL: interior apexes must be non-zero on every generic arm, \
reported per seed, exactly as M-374 reports 282,084 to 283,694.",
records: &[
"seed",
"size",
"configurations",
"unclosed_post_fix",
"unclosed_pre_fix",
"interior_apexes",
"interior_vertices",
"has_inner_hexagon_rejects",
"arm",
"void",
"c1_holds",
"c2_holds",
"c3_holds",
],
},
Preregistration {
id: "P-103",
ticket: "R-103",
hypothesis: "FASTLANES' SCALAR_T64 RESULT SAYS 64-BIT SCALAR REGISTERS USED AS QUASI-SIMD \
BEAT NAIVE SCALAR UP TO 8x, AND THE ONE QUANTITY IN THIS CRATE THAT IS ALREADY BOOLEAN \
IS THE EIGHT CORNER SIGNS OF A CELL. The comparand is exact and it is not a shared \
classifier: marching_cubes/mod.rs:258-268 builds the index inline with 'case |= 1 << \
c' guarded by is_inside (cube.rs:171, 'value < 0', so an exact zero is OUTSIDE), and \
there are SIX INDEPENDENT COPIES of that loop -- marching_cubes/mod.rs:266, \
manifold_dual_contouring.rs:210, property/extraction.rs:438 and :584, \
marching_cubes/ambiguity/tests.rs:260, and transvoxel/cell.rs:231 which widens it to \
u16. There is no shared classifier anywhere in the crate, so this row proposes the \
first one rather than modifying an existing one, and it is bench-local. Store the sign \
field as eight bit-planes instead of one array of bytes and a whole u64 of case \
indices falls out of eight shift-and-OR pairs. (C1) The case-classification stage is \
at least 10% of Marching Cubes extraction, using P-121's stage decomposition as the \
denominator and measuring the share BEFORE claiming any speedup. (C2) Eight sign \
bit-planes plus eight shift-and-OR pairs produce 64 case indices in under HALF the \
instructions per cell of the byte path. (C3) Zero movement in the 216 golden hashes, \
because the case index is an integer and an integer path that changes it is wrong \
rather than faster. SHARE: C1 IS the share gate and it is checked first -- x51's rule \
applied at the top of the row rather than remembered at the bottom, since a 2x on a \
stage under 10% has a ceiling of 1/(1 - 0.10/2) = 1.05x and is not worth building.",
falsified_by: "C1 by a classify share under 10%, which closes the row on arithmetic before \
C2 is measured. C2 by an instruction ratio worse than 2x, which is where the byte \
path's single table-free increment already wins. C3 by any golden hash moving, which \
would mean the bit-sliced index is not the same integer. VACUITY CONTROL: \
cases_identical must equal cells on every row, and corrupt_control_mismatches -- the \
same comparison with one sign plane deliberately flipped -- must be NON-ZERO, because \
a comparator that cannot report a mismatch has not reported a match.",
records: &[
"field",
"resolution",
"scalar",
"classify_share",
"instructions_per_cell_byte",
"instructions_per_cell_bitsliced",
"instruction_ratio",
"cases_identical",
"cells",
"corrupt_control_mismatches",
"hashes_moved",
"c1_holds",
"c2_holds",
"c3_holds",
],
},
Preregistration {
id: "P-104",
ticket: "R-104",
hypothesis: "THE ACTIVE-CELL BITMAP IS FASTLANES' HORIZONTAL LAYOUT, THE ONE THEY MEASURE \
AS THE OBSTACLE, AND TWO MEASUREMENTS IN THIS REPOSITORY ALREADY BLAME THE LAYOUT. \
Correction the research doc gets wrong and this registration carries: dual.rs:359-381 \
packs ONE BIT PER SAMPLE, 64 to a u64, ALONG X ONLY, with bit_row = \
size[0].div_ceil(64) -- the cell row is one shorter and is handled separately by \
cell_words = cells_x.div_ceil(64) at dual.rs:484 and by cell_mask at dual.rs:445. The \
doc and experiment.rs:3192 both say '64 cells per u64' and that is wrong by one; this \
row is about a SAMPLE plane relayout with a documented cell/word asymmetry underneath \
it. Second constraint, also from the source: dual.rs:496 walks set bits in ascending x \
SPECIFICALLY to keep vertex creation order, so any relayout must restore that order or \
C3 fails by construction -- and the restore cost is a column, resort_ns_per_vertex, \
not a footnote. (C1) A transposed packing -- bit k being the k-th cell of a 4x4x4 \
block rather than the k-th x -- brings M-287's 128 cubed tax BELOW 1.5x on M-287's own \
fixture. (C2) active_word's fused 'any & !all' fold survives the relayout within plus \
or minus 20% of its instructions per cell. (C3) The emitted mesh is bit-identical. \
SHARE: M-287's tax is 3.37x of cycles/sample at 128 cubed, so the quantity C1 moves is \
the whole traversal stage on the one grid size where it is worst; C2 and C3 are cost \
and correctness bounds, not speedups.",
falsified_by: "C1 by no improvement on the M-287 fixture, which would mean the tax is \
genuinely the stride and x28's conclusion needs revisiting. C2 by the fold costing \
more than 20% extra, which would mean the relayout buys the access pattern and sells \
the arithmetic. C3 by the re-sort that restores vertex creation order costing more \
than the layout saves. VACUITY CONTROL: tax_vs_127 measured on the UNMODIFIED layout \
must reproduce M-287's 3.37x to within 10%, because a harness that cannot see the tax \
cannot measure its removal.",
records: &[
"field",
"resolution",
"layout",
"cycles_per_sample",
"tax_vs_127",
"instructions_per_cell",
"mesh_identical",
"resort_ns_per_vertex",
"c1_holds",
"c2_holds",
"c3_holds",
],
},
Preregistration {
id: "P-105",
ticket: "R-105",
hypothesis: "M-349 ESTABLISHED THAT THE BITMAP'S CLAIM WAS ALWAYS A COUNT, SO THE COUNT IS \
THE QUANTITY THAT MATTERS -- AND NOTHING IN THE SHIPPED CRATE POPCOUNTS THE BITMAP \
TODAY. dual.rs's five consumers read whole words, fold four rows, or walk set bits \
(dual.rs:385, :395, :424, :490); there is no counting pass at all. So C1's denominator \
is a bench-local naive count and this row measures a stage the crate would have to \
ADD, which is stated here rather than discovered later. Harley-Seal carry-save \
addition turns n popcounts into about n/8 using only AND, XOR and OR -- safe scalar, \
no intrinsics -- and it is the reduction half of the AVX2 popcount paper rather than \
its kernels. (C1) At least 2x on the counting pass over a 64 cubed chunk's bitmap \
against iter().map(count_ones).sum(). (C2) The count is BIT-EXACT on every fixture: an \
equality, not a ratio, which is M-349's discipline. (C3) The advantage is monotone \
non-decreasing in the word count across 16 cubed, 32 cubed, 64 cubed and 128 cubed. \
SHARE: the counting pass only, and it is a stage that does not exist yet -- so this \
row prices a mechanism and does not claim a share of extraction. C1's 2x is against a \
named bench-local baseline, which is why it is legitimate to state as a ratio.",
falsified_by: "C1 by under 2x at 64 cubed. C2 by one count differing by a single bit, \
which is the falsifier that matters because a faster wrong count is worthless. C3 by a \
non-monotone ratio across the four word counts, which would mean the win is a fixture \
size rather than a mechanism. VACUITY CONTROL: control_counts_differ -- the same \
comparison against a copy with one bit deliberately flipped -- must be 1 on every row, \
or C2's equality is being asserted by an instrument that cannot see inequality.",
records: &[
"field",
"resolution",
"words",
"count_naive",
"count_harley_seal",
"counts_equal",
"ns_per_word_naive",
"ns_per_word_hs",
"ratio",
"instructions_per_word_naive",
"instructions_per_word_hs",
"control_counts_differ",
"c1_holds",
"c2_holds",
"c3_holds",
],
},
Preregistration {
id: "P-106",
ticket: "R-106",
hypothesis: "THE TWELVE CUT-EDGE FLAGS OF A CELL ARE A FIXED BOOLEAN CIRCUIT OVER ITS \
EIGHT SIGN BITS, SO SIXTY- FOUR CELLS' WORTH CAN BE EVALUATED IN ONE WORD EACH. \
Provenance correction this registration carries: Fujita's Bitwise Parallel Bulk \
Computation DID NOT DOWNLOAD, so the technique is registered against the acquired \
FastLanes and AVX2-popcount papers, and the paper's 13.4e9 cell-updates/s figure is \
QUOTED FROM THE RESEARCH DOC RATHER THAN FROM A PAPER IN THE CORPUS -- it is therefore \
not a comparand and must not be scored against. (C1) The twelve cut-edge flags for 64 \
cells derive from the eight sign planes in AT MOST 24 word operations. (C2) The SWAR \
circuit's masks equal the byte-table path's on ALL 256 sign patterns, exhaustively \
rather than sampled -- x50 is the incident that earns the word 'exhaustively', because \
there a SAMPLED bound became a release-build panic. (C3) Instructions per cell below \
the byte-table path's. SHARE: the same stage P-121 measures for P-103, and this row \
inherits P-121's gate -- if integer work is under 15% of extraction, C3's win cannot \
move extraction and the row closes with C1 and C2 as facts about a circuit rather than \
as a performance result.",
falsified_by: "C1 by a circuit longer than 24 word operations, which is where the \
byte-table path wins on instruction count alone. C2 by any one of the 256 patterns \
disagreeing. C3 by no instruction-count win. VACUITY CONTROL: patterns_tested must \
equal 256 exactly, and a deliberately broken circuit must produce \
mutant_pattern_mismatches greater than zero -- the 256 is only worth having if the \
comparison can fail.",
records: &[
"field",
"resolution",
"word_ops",
"masks_identical_patterns",
"patterns_tested",
"mutant_pattern_mismatches",
"instructions_per_cell_table",
"instructions_per_cell_swar",
"ratio",
"c1_holds",
"c2_holds",
"c3_holds",
],
},
Preregistration {
id: "P-107",
ticket: "R-107",
hypothesis: "FLYING EDGES SPENDS A PREFIX-SUM PASS TO TURN PER-ROW COUNTS INTO OUTPUT \
OFFSETS; A TWO-LEVEL RANK DIRECTORY MAKES THE OFFSET A LOOKUP INSTEAD OF A PASS. The \
bound available BEFORE the harness, and it is why C1 is checked first: M-135's stage \
breakdown (docs/measurements/stage_breakdown.csv, columns contour_ms, normals_ms, \
weld_ms, collider_ms, mean shares 29.0 / 0.4 / 25.5 / 45.0) puts the whole CONTOUR \
stage at 29%, and the offset work is a fraction of that -- so 5% is reachable but not \
comfortably. And x54 measured the GPU scan at 4.37% of gpu_total_ms with upload at \
87.50%, which is the same quantity on the other path and is BELOW this clause's bar. \
The GPU figure is not the CPU figure: on the GPU the scan competes with a PCIe upload \
that dominates the frame, while on the CPU there is no upload at all and the offsets \
compete only with sampling, interpolation and the emit path -- so the CPU share could \
legitimately be several times larger, and could equally be smaller because the CPU \
scan is a sequential add rather than a multi-pass ladder. That is exactly why it is \
measured rather than inherited. (C1) The offset/compaction stage is at least 5% of CPU \
extraction, checked first. (C2) A two-level rank directory answers the slot query in \
O(1) at no more than 3.51% space overhead -- pasta's figure, cross-confirmed in two of \
the acquired papers -- which is about 1.1 KiB on a 64 cubed chunk's 32 KiB bitmap. \
(C3) The directory's answers equal the prefix sum's on EVERY cell. SHARE: C1 is the \
share and it gates the row; if the offset stage is under 5% this is Amdahl-dead the \
way x51 was, and saying so cheaply is the row's value.",
falsified_by: "C1 by the offset stage measuring under 5% of extraction, which makes this \
Amdahl-dead the way x51 was and closes the row before C2 is built. C2 by overhead \
above 3.51% or by a query that is not O(1) in the bitmap size. C3 by one cell's slot \
differing from the prefix sum's. VACUITY CONTROL: slots_equal must equal active_cells \
on every row, and a directory built one level short must give \
short_directory_mismatches greater than zero, or C3 is an equality between two names \
for the same computation.",
records: &[
"field",
"resolution",
"offset_share",
"directory_bytes",
"bitmap_bytes",
"overhead_fraction",
"slots_equal",
"active_cells",
"short_directory_mismatches",
"ns_per_query_rank",
"ns_per_query_scan",
"c1_holds",
"c2_holds",
"c3_holds",
],
},
Preregistration {
id: "P-108",
ticket: "R-108",
hypothesis: "PEXT AND PDEP ARE FORECLOSED FOR THREE INDEPENDENT REASONS, AND VIGNA'S \
BROADWORD SELECT IS A THIRD OPTION THAT NEEDS NEITHER THEM NOR A TABLE: multiply, \
shift, mask and count_ones, branchless. Two things belong on the row rather than \
hidden. First the honest published price of the foreclosure: Pandey, Bender and \
Johnson measured the PDEP-plus-TZCNT select at 2 to 4 TIMES the broadword one on \
Haswell, so this crate's constraint is being paid at a known rate. Second the regime: \
M-337's measured active fractions are 1.89% at 64 cubed, 0.93% at 128 cubed and 0.46% \
at 256 cubed on sphere, so a '97% zeros' fixture is not an assumption -- it is the \
measured regime, and the row cites it rather than positing it. The incumbent is \
dual.rs:489-497, 'trailing_zeros' plus 'active &= active - 1'. (C1) Broadword select \
beats that walk on a 97%-zero bitmap. (C2) Identical visitation order and identical \
emitted indices, because dual.rs:496 exists to keep vertex creation order. (C3) The \
advantage is reported PER SET BIT rather than per word, so words skipped entirely \
cannot carry the ratio. SHARE: the set-bit walk inside place_vertices only, which \
M-337 measured as the stage the bitmap made 5.5x faster -- so the quantity is real but \
small, and C3 exists to stop the ratio being inflated by the 97% of words that neither \
arm touches.",
falsified_by: "C1 by not beating the current walk on a 97%-zero bitmap, where the \
2026-08-23 dossier already argued the cost is dominated by words skipped entirely -- \
this is a registered expected null. C2 by any difference in order or indices. C3 by a \
per-word ratio being quoted where a per-set-bit one was promised. VACUITY CONTROL: \
words_nonzero must be non-zero and set_bits must EXCEED words_nonzero on every row, or \
the per-set-bit denominator is one bit per word and the clause measures nothing.",
records: &[
"field",
"resolution",
"active_fraction",
"set_bits",
"words",
"words_nonzero",
"ns_per_set_bit_walk",
"ns_per_set_bit_select",
"ratio",
"order_identical",
"c1_holds",
"c2_holds",
"c3_holds",
],
},
Preregistration {
id: "P-109",
ticket: "R-109",
hypothesis: "VIGNA'S QUASI-SUCCINCT INDICES ENCODE A MONOTONE SEQUENCE IN ABOUT 2 + \
CEIL(LOG(U/N)) BITS WITH O(1) ACCESS, NO HASHING AND NO GLOBAL BUILD -- AND EDGE \
INDICES WITHIN A CHUNK ARE MONOTONE ONCE SWEPT IN ORDER. Three corrections this \
registration must carry, every one against the research doc. FIRST: there is NO \
edge-to-vertex MAP. A grep for 'edge_to_vertex', 'edge_cache', 'EdgeKey' and 'edge_id' \
over crates/isomesh/src/ returns nothing. The structure is 'edge_vertices: Vec<u32>', \
a DENSE FLAT VEC of sample_count * 3 slots keyed by the arithmetic 'lo_sample * 3 + \
axis' -- marching_cubes/mod.rs:97 declares it, :250-251 clears and resizes it every \
extract, :604 computes the key, :606-609 probes it, :620-622 writes it, and u32::MAX \
is the sentinel -- with the same shape at marching_tetrahedra.rs:92 and \
property/extraction.rs:425. SECOND: the KEY side is already order-independent; what is \
discarded is the VALUE, a buffer position from a monotonic counter. M-318 already \
recorded that the encoding is not the obstacle, that index-is-edge-id costs 230x \
MEMORY (about 6.4 M slots for 27,822 vertices at 129 cubed) and that the workable \
shape carries state across extractions. THIRD: V-45's stop applies to a structure that \
PERSISTS ACROSS CALLS; one REBUILT FROM GRID AND FIELD ALONE is inside V-45's own \
stated reopening condition, which asks for 'a formulation where the persistent map is \
derivable from the inputs'. This row is the rebuilt kind and it is bench-local. (C1) \
The encoded map costs at most 4 bits per crossing. (C2) Access costs at most 1.5x the \
current direct addressing. (C3) The decoded map equals the dense array on every \
crossing. SHARE: this row prices an ENCODING and moves no extraction time; C2 is a \
cost bound and C1 a space bound, so neither is a ratio of a total and x51's bar does \
not apply. What it feeds is R-027a's 45x ceiling, which M-318 measured and which \
nothing here re-claims.",
falsified_by: "C1 by more than 4 bits per crossing, which is where the dense u32 array's \
32 bits per SLOT stops being the thing to beat. C2 by access above 1.5x. C3 by one \
crossing differing. VACUITY CONTROL: crossings must be non-zero on every row and \
values_equal must equal crossings; and a deliberately shifted low-bits width must give \
mutant_value_mismatches greater than zero, or the decoder is being checked against \
itself.",
records: &[
"field",
"resolution",
"crossings",
"samples",
"dense_bytes",
"ef_bytes",
"bits_per_crossing",
"ns_per_access_dense",
"ns_per_access_ef",
"access_ratio",
"values_equal",
"mutant_value_mismatches",
"c1_holds",
"c2_holds",
"c3_holds",
],
},
Preregistration {
id: "P-110",
ticket: "R-110",
hypothesis: "PIBIRI AND KANDA'S CONTRIBUTION IS RANK/SELECT THAT SUPPORTS FLIP(I) WHILE \
STAYING FAST, WHICH IS THE SHAPE A STRUCTURE WRITTEN DURING A SWEEP NEEDS RATHER THAN \
ONE BUILT ONCE. The gate this row is scored AGAINST rather than around: \
validate/determinism.rs:268-300 runs the extractor three times, the third into a \
REUSED BUFFER, explicitly to fail when output depends on prior state -- its own doc \
comment says so. That gate is the reason R-027 was declined and split (V-45), and a \
mutable rank/select is only admissible here if its final state is a function of the \
flip SET and not of the flip ORDER. So order-independence is the clause, not the \
caveat. (C1) flip(i) plus rank stays within 2x of the static directory's rank cost. \
(C2) The final structure is INDEPENDENT OF THE ORDER THE FLIPS ARRIVE IN, \
bit-identical over a registered set of seeded permutations of one flip set. (C3) Rank \
answers equal the static directory's after every permutation. SHARE: no time is \
claimed of extraction; C1 is a cost bound against a named baseline and C2 is the \
property the crate's determinism gate demands. A row that passed C1 and failed C2 \
would be worthless here, which is why C2 is the falsifier that closes it.",
falsified_by: "C2 by any dependence on insertion order in the final structure, which is \
V-45's objection arriving again and closes the row immediately. C1 by rank costing \
more than 2x the static directory's. C3 by any rank answer differing after a \
permutation. VACUITY CONTROL: distinct_final_states must be 1 for a pass, AND a \
deliberately order-sensitive variant must report control_distinct_final_states greater \
than 1 in the same run -- the control is what proves the comparator can see disorder \
at all.",
records: &[
"field",
"resolution",
"flips",
"permutations",
"ns_per_flip",
"ns_per_rank_mutable",
"ns_per_rank_static",
"rank_ratio",
"final_structures_identical",
"distinct_final_states",
"control_distinct_final_states",
"c1_holds",
"c2_holds",
"c3_holds",
],
},
Preregistration {
id: "P-111",
ticket: "R-111",
hypothesis: "SIMDJSON'S COMPACTION MECHANISM IS A 256-ENTRY TABLE MAPPING AN 8-BIT MASK TO \
A PERMUTATION, AND REDUCED TO SCALAR IT IS A CONST TABLE THIS CRATE CAN ACTUALLY HAVE. \
A '[[u8; 8]; 256]' const table giving the set-bit positions of a byte is 2 KiB, \
const-evaluable, safe, deterministic, and it sidesteps _pext_u64 entirely -- which \
matters because crates/isomesh/src/ today contains zero unsafe, zero core::simd and \
zero cfg(target_arch), so the constraint is structural rather than a preference. The \
incumbent is dual.rs:489-497's set-bit walk. (C1) The table beats that walk on a \
97%-zero bitmap -- M-337's measured 1.89% / 0.93% / 0.46% active fractions are the \
regime, not an assumption. (C2) Identical output order and identical indices. (C3) The \
table's L1 cost does not eat the win, measured as L1 misses per set bit from \
common::counters::Probe's Cache{L1D, READ, MISS} rather than argued. SHARE: the \
set-bit walk inside place_vertices, the same stage P-108 targets; this row's clauses \
are denominated per SET BIT so the 97% of words that neither arm touches cannot \
inflate the ratio.",
falsified_by: "C1 by not beating the set-bit walk. C3 by the table costing more L1 than it \
saves on a 97%-zero bitmap, which is the mechanism's own most likely failure and is \
why the counter arm is mandatory rather than nice. VACUITY CONTROL: set_bits non-zero \
on every row; order_identical true; and the counter arm must exit(1) on a non-Linux \
host rather than record a zero -- benches/common/mod.rs:26 is the single cfg(target_os \
= 'linux') gate and experiment_p12 is the refuse-and-exit precedent.",
records: &[
"field",
"resolution",
"active_fraction",
"set_bits",
"ns_per_set_bit_walk",
"ns_per_set_bit_table",
"ratio",
"l1_misses_per_set_bit_walk",
"l1_misses_per_set_bit_table",
"order_identical",
"table_bytes",
"c1_holds",
"c2_holds",
"c3_holds",
],
},
Preregistration {
id: "P-112",
ticket: "R-112",
hypothesis: "BILLETER'S COUNT-SCAN-SCATTER IS THE STANDARD DECOMPOSITION AND ITS MIDDLE \
PHASE IS A PREFIX SUM, WHICH P-107'S O(1) RANK REPLACES -- SO THIS ROW ACQUIRES THE \
COMPARISON RATHER THAN THE ALGORITHM. Runs AFTER P-107, whose rank directory it \
consumes; that is this row's only hard dependency besides the P-121 gate. (C1) \
Replacing phase 2 with P-107's O(1) rank cuts the three-phase compaction total by at \
least 1.25x. (C2) The scan phase is at least 20% of the three-phase total, because a \
phase under 20% cannot yield 1.25x however completely it is removed. (C3) All three \
arms emit identical output. SHARE: C2 IS the share clause and it is arithmetic rather \
than hopeful -- removing a phase of share s entirely gives at most 1/(1 - s), so 1.25x \
demands s of at least 0.20, which is exactly the number C2 asserts. The two clauses \
are therefore consistent by construction and either can close the row.",
falsified_by: "The scatter phase measuring above 70% of the total, which would mean the \
offsets were never the cost and closes C1 and C2 together. C1 by under 1.25x. C3 by \
any output difference. VACUITY CONTROL: the three phase timings must sum to the \
measured total with residual_share under 5% -- R-085's discipline, and the reason a \
stage decomposition is believable at all.",
records: &[
"field",
"resolution",
"count_ms",
"scan_ms",
"scatter_ms",
"total_ms",
"residual_share",
"scan_share",
"scatter_share",
"rank_total_ms",
"speedup",
"output_identical",
"c1_holds",
"c2_holds",
"c3_holds",
],
},
Preregistration {
id: "P-113",
ticket: "R-113",
hypothesis: "ROARING SWITCHES CONTAINER TYPE AT 4096 SET VALUES PER 2^16 CHUNK -- 6.25% \
DENSITY -- AND SAYS OUTRIGHT THAT 'when applications encounter integer sets with lower \
density (less than 0.1%) a bitmap is unlikely to be the proper data structure'. The \
correction this registration carries, and it is the row's most load-bearing content: \
M-306's 16.8% (gyroid, 688 of 4,096) and 95.1% (thin_plate, 3,896 of 4,096) are \
REJECTED-BRUSH SHARES, NOT ACTIVE-CELL DENSITIES, and they were measured at 17 cubed \
with SubgridMarchingTetrahedra at 16 samples per edge IN A DEBUG BUILD. The research \
doc's inference that 'thin_plate's active density is around 4.9%' is derived from them \
and MUST NOT BE QUOTED AS A MEASUREMENT; this harness measures density itself. And \
M-377 has moved the optimum chunk to 4 cubed, where a chunk is ONE WORD. (C1) Measured \
active-cell density straddles Roaring's 6.25% boundary across the eight reference \
fields -- at least one field below and one above -- so the representation is a \
decision rather than a constant. (C2) Below the threshold an array-of-indices beats \
the bitmap on BOTH bytes and the active-cell walk. (C3) At M-377's 4 cubed optimum a \
chunk is one word and the bitmap's per-chunk overhead exceeds its payload, measured as \
bytes per active cell. SHARE: no extraction time is claimed. This row produces a \
DECISION RULE and its clauses are a density span, a two-sided comparison and a \
bytes-per-active-cell ratio -- none of them a fraction of a total.",
falsified_by: "C1 by one representation winning on all eight fields, which makes it a \
constant rather than a decision and is the outcome that closes the row. C2 by the \
bitmap winning below the threshold on either bytes or walk time. C3 by the bitmap's \
overhead staying under its payload at 4 cubed. VACUITY CONTROL: active_cells non-zero \
on every row, and density must span at least one DECADE across the fixture, or the \
6.25% boundary is untested by construction.",
records: &[
"field",
"chunk_cells",
"active_cells",
"density",
"bitmap_bytes",
"array_bytes",
"bytes_per_active_cell_bitmap",
"bytes_per_active_cell_array",
"ns_per_walk_bitmap",
"ns_per_walk_array",
"winner",
"c1_holds",
"c2_holds",
"c3_holds",
],
},
Preregistration {
id: "P-114",
ticket: "R-114",
hypothesis: "ONE BIT PER 64 CELLS GIVES A SECOND LEVEL AT ONE SIXTY-FOURTH THE SIZE, AND \
TWO LEVELS SKIP 4,096 CELLS PER TEST. What this registration must state: VDB's node \
bitmask plus popcount child offset is the same object one level up, it is already in \
the corpus (10.1145/2487228.2487235), and dual.rs:417 already cites VDB as the source \
of the flat bitmap's mechanism -- so this row is a RE-MEASUREMENT OF A PUBLISHED \
STRUCTURE at this crate's granularity rather than a new structure. (C1) At least 1.5x \
on the active-cell traversal of the SPARSEST FIELD AS MEASURED, with that field named \
in the CSV rather than assumed. (C2) Two levels skip 4,096 cells per test, reported as \
cells skipped per word tested. (C3) Identical mesh. SHARE: the active-cell traversal \
stage, which M-337 measured at 5.5x for the flat bitmap on a surface-free field -- so \
the stage is known to be large enough to matter and the question is only whether a \
second level finds anything the first did not. The sparsest field is derived from the \
run's own active_fraction column, never assumed: the research doc names thin_plate and \
this harness does not inherit that.",
falsified_by: "C1 by under 1.5x on the sparsest field as measured, where it must win if it \
wins anywhere. C2 by cells_skipped_per_test falling short of 4,096 at two levels. C3 \
by any mesh difference. VACUITY CONTROL: words_tested_hier must be STRICTLY LESS than \
words_tested_flat on at least one row, and cells_skipped_per_test must be non-zero -- \
a hierarchy that skips nothing is not being tested.",
records: &[
"field",
"resolution",
"active_fraction",
"levels",
"words_tested_flat",
"words_tested_hier",
"cells_skipped_per_test",
"ns_per_cell_flat",
"ns_per_cell_hier",
"ratio",
"mesh_identical",
"sparsest_field",
"c1_holds",
"c2_holds",
"c3_holds",
],
},
Preregistration {
id: "P-115",
ticket: "R-115",
hypothesis: "TREE-ENCODED BITMAPS ARE THE ONLY RLE-FAMILY SCHEME THAT PRESERVES RANDOM \
ACCESS, WHICH IS THE PROPERTY RANK NEEDS AND THE PROPERTY WAH AND EWAH DESTROY. That \
is why this is a TEB row rather than a WAH row, and WAH and EWAH are foreclosed by \
this sweep for exactly that reason -- stated at registration so a later reader does \
not re-propose them. (C1) Random access costs at most 2x the flat bitmap's per access. \
(C2) Space saving of at least 1.5x against the flat bitmap. (C3) Identical answers on \
every cell. SHARE: no extraction time is claimed; C1 is a cost bound, C2 a space bound \
and C3 an equality, so none is a fraction of a total. What the row decides is whether \
a subblock-empty summary can be compressed without giving up the O(1) access P-107's \
directory is built on.",
falsified_by: "C1 by random access above 2x the flat bitmap's, which is the whole reason \
to prefer TEB over WAH and therefore the falsifier that closes the family rather than \
just the row. C2 by under 1.5x space saving. C3 by any cell answering differently. \
VACUITY CONTROL: answers_equal must equal cells, and a truncated tree must give \
truncated_tree_mismatches greater than zero.",
records: &[
"field",
"resolution",
"flat_bytes",
"teb_bytes",
"space_ratio",
"ns_per_access_flat",
"ns_per_access_teb",
"access_ratio",
"answers_equal",
"cells",
"truncated_tree_mismatches",
"c1_holds",
"c2_holds",
"c3_holds",
],
},
Preregistration {
id: "P-116",
ticket: "R-116",
hypothesis: "GRAPHGEN TAKES A DECISION TABLE OVER BOOLEAN CONDITIONS, SYNTHESISES THE \
OPTIMAL DECISION TREE BY MINIMUM AVERAGE PATH LENGTH, COMPRESSES IT INTO A DRAG AND \
EMITS CODE -- AND A MARCHING-CUBES CASE TABLE IS A DECISION TABLE OVER EIGHT BOOLEAN \
CORNER CONDITIONS. The premise correction is this row's most valuable content and it \
contradicts the research doc's motivation: 'CASES: [McCase; 256]' at \
marching_cubes/table.rs:180 is ALREADY DERIVED AT COMPILE TIME by 'const fn \
build_cases()' at :182-194, and the transcribed Bourke tables (reference.rs:29 \
BOURKE_EDGE_TABLE, :53 BOURKE_TRI_TABLE) exist ONLY as a test cross-check, imported at \
marching_cubes/tests.rs:15. So the mistranscription risk the doc names as the \
motivation IS ALREADY MITIGATED IN THE SHIPPED PATH, and this row compares a \
synthesised decision tree against a const-fn derivation rather than against a \
transcription. x50 remains the real incident in this area and it was a BOUND, not a \
table. (C1) The synthesised decision tree, compressed to a DRAG and emitted as Rust, \
produces triangulations IDENTICAL TO CASES on all 256 patterns. (C2) The generated \
form is NOT SLOWER than the table lookup, in instructions per cell. (C3) P-64's four \
properties hold on the generated form, checked through the existing \
check_all_properties shape. SHARE: C2 is a not-slower bound rather than a speedup, so \
no share is claimed; the row's value is C1 and C3, which are equalities over an \
enumerated population of 256.",
falsified_by: "C2 by the generated form being slower than the current table lookup. C3 by \
any of P-64's four properties failing on it -- and that would be the INTERESTING \
outcome, because it would mean the synthesis is unsound rather than merely unhelpful. \
VACUITY CONTROL: patterns_tested must equal 256, plus a should_panic sabotage arm in \
the property checker -- proofs.rs:221's the_properties_can_fail is the precedent for \
the arm and experiment_p64.rs:175-188 is the precedent for asserting a non-zero check \
count so a vacuous SUCCESSFUL cannot pass.",
records: &[
"patterns_tested",
"triangulations_identical",
"tree_nodes",
"drag_nodes",
"average_path_len",
"instructions_per_cell_table",
"instructions_per_cell_generated",
"ratio",
"properties_held",
"sabotage_failed",
"kani_checks",
"c1_holds",
"c2_holds",
"c3_holds",
],
},
Preregistration {
id: "P-117",
ticket: "R-117",
hypothesis: "A RISK AUDIT RATHER THAN AN OPTIMISATION, AND NOBODY HAS CHECKED IT. \
Shewchuk's error-free transformations are broken by FMA contraction and aarch64 fuses \
more eagerly than x86-64; M-31's golden hashes have held across both machines, so \
either nothing on the hot path is contraction-sensitive or the crate has been lucky. \
What this registration must state about the fixture: M-31's 216 is 8 reference fields \
x 9 algorithms x 3 resolutions {17, 25, 33} -- golden.rs:73 for the resolutions, :122 \
for Algorithm::ALL's nine, for_each_reference_field at fields/mod.rs:212 for the eight \
-- gated by golden_hashes_are_unchanged at golden/tests.rs:59 against \
crates/isomesh/golden_hashes.json. M-31's own text says 63 hashes, which was T-007's \
count; 216 is the CURRENT fixture count and the two must not be conflated. The gate is \
proven able to fire: P-61 moved 135 of the same 216. (C1) At least one expression in \
crates/isomesh/src/ is contraction-sensitive -- an a*b + c shape whose fused and \
unfused evaluations differ in the last bit on an input the crate can reach. (C2) The \
216 golden hashes are identical on x86_64-unknown-linux-gnu and aarch64-apple-darwin \
today. (C3) Any divergence found is attributed to a NAMED EXPRESSION and reproduced by \
an isolated probe, not merely observed at the mesh level. METHOD, fixed at \
registration so the implementer does not choose it: grep mul_add across \
crates/isomesh/src/ and record the count, since an explicit mul_add is the only way \
Rust REQUESTS fusion; confirm by DISASSEMBLY rather than assumption whether the \
aarch64 build fuses an unfused a*b + c on the extraction path, with scripts/p69_asm.sh \
as the precedent instrument; and run the 216-hash fixture on mac_air, committing the \
digest artefact as an INPUT following docs/experiments/p-81-m5-digests.txt and \
p-83-m5-hashes.txt. SHARE: none. This row moves no time and claims no ratio; it \
establishes whether a latent divergence exists.",
falsified_by: "C1 by finding NO contraction-sensitive expression in crates/isomesh/src/ -- \
which is the outcome to hope for, is worth an afternoon to establish rather than \
assume, and is expected because rustc does not contract a*b + c by default. If the \
disassembly confirms no contraction, C1 is falsified WITH A REASON and that reason is \
the row's deliverable. C2 by any hash differing between the two targets. C3 by a \
divergence observed only at the mesh level with no named expression behind it. VACUITY \
CONTROL: the disassembly arm must show a KNOWN-FUSED probe fusing on aarch64 -- column \
fmadd_in_known_fused_probe must be true on the aarch64 arm -- because a reader that \
cannot see an fmadd where one must exist cannot claim to see its absence elsewhere. If \
mac_air is unreachable, C2 is recorded BLOCKED with the reason and C1 and C3 are still \
delivered from the Linux arm plus the disassembly; a zero-filled peer table is what \
R-081 shipped and had deleted.",
records: &[
"expression_site",
"file",
"line",
"shape",
"fused_result",
"unfused_result",
"ulp_difference",
"reachable",
"target",
"fmadd_in_known_fused_probe",
"mul_add_call_sites",
"hashes_identical",
"golden_rows",
"c1_holds",
"c2_holds",
"c3_holds",
],
},
Preregistration {
id: "P-118",
ticket: "R-118",
hypothesis: "NEAL'S SUPERACCUMULATOR IS NOT A REORDERING -- IT IS A FIXED-POINT \
ACCUMULATOR, 67 CHUNKS OF 64 BITS WITH 32-BIT OVERLAP, THAT IS EXACTLY \
ORDER-INDEPENDENT -- SO IT IS A SECOND ROUTE TO P-101'S QUESTION THAT DOES NOT DEPEND \
ON FINDING AN INVARIANT KEY. The bar A-016 sets and this row is denominated in: the \
accumulator must be reduction-order-invariant UNDER A LATTICE ROTATION, not merely \
more accurate, and being exactly order-independent is a STRONGER property than \
agreeing on two platforms. METHOD: bench-local VertexRule through the public \
DualContouring::with_rule (dual_contouring.rs:254; VertexRule is \
crate::dual::VertexRule and dual is a pub mod at lib.rs:144), comparand \
dual_contouring/solve.rs's solve_with -- nine accumulators across twelve EDGE_COUNT \
slots scattered by edge label and reduced once by sum_equivariant. NO SOURCE CHANGE. \
(C1) An exactly order-independent accumulator reaches elements_vertex_exact 48 of 48 \
on the equivariance fixture, where the shipped solve is below it. (C2) Cost under 2x \
simple ordered summation, which is Neal's own figure. (C3) Golden-hash movement is \
confined to vertices whose accumulation order changes and NO TRIANGLE COUNT MOVES. \
SHARE: the dual vertex solve only. M-25 puts the sharp-feature solve at 3% over \
Surface Nets and at 6.5% ON ZEN 3, which is the machine this phase runs on; 6.5% is \
the number to use, so the ceiling is 1/(1 - 0.065) = 1.070x. C1 is therefore a \
CORRECTNESS clause and C2 a COST BOUND, and neither is or may become a speedup claim.",
falsified_by: "C1 by the duals still failing 48 of 48 with an exactly order-independent \
accumulator, which would prove M-177's obstruction covers the octahedral case and \
closes both P-101 and this row together. C2 by cost above 2x ordered summation. C3 by \
any triangle count moving, which would mean the accumulator changed the geometry \
rather than its reduction order. VACUITY CONTROL: the SHIPPED rule must reproduce x79 \
/ M-413's own elements_vertex_exact reading in the same run -- a harness that cannot \
reproduce the baseline cannot measure a move away from it -- reported as \
baseline_elements_vertex_exact beside the measured one.",
records: &[
"field",
"resolution",
"rule",
"elements_vertex_exact",
"pure_permutation_exact",
"pure_sign_flip_exact",
"baseline_elements_vertex_exact",
"ns_per_solve_ordered",
"ns_per_solve_superacc",
"cost_ratio",
"hashes_moved",
"triangle_counts_moved",
"c1_holds",
"c2_holds",
"c3_holds",
],
},
Preregistration {
id: "P-119",
ticket: "R-119",
hypothesis: "PARALLEL SURFACENETS USES DOUBLE-BUFFERED SMOOTHING EXPLICITLY TO GUARANTEE \
DETERMINISM, AND THIS CRATE'S DETERMINISM TODAY RESTS ON THE LOOPS BEING SEQUENTIAL \
WITH NOTHING ENFORCING IT. P-9 already found that a chunked consumer appending chunks \
in a different order gets a different vertex count on noise_cavity. What this \
registration must state: the implicated path is Welder's first fit over NON-TRANSITIVE \
epsilon-closeness -- weld.rs:232 Welder, :296 weld, :338 weld_split_by, :220 \
epsilon_for -- which is why C1's falsifier points at the weld rather than at the \
traversal. And Parallel SurfaceNets' one-to-two-orders-of-magnitude figure is a \
PARALLEL result while this crate's loops are sequential, so it is not a comparand. \
(C1) Double-buffering removes P-9's vertex-count spread on noise_cavity -- 4 under \
dual_contouring and 2 under manifold_dual_contouring, FINDINGS.md:1641-1642 -- to \
exactly 0. (C2) The cost is under 1.25x the single-buffer path. (C3) The mesh is \
identical under every permutation of chunk append order. SHARE: C2 is a cost bound on \
the whole append path and C1 and C3 are determinism equalities, so no clause is a \
fraction of a total. The quantity at stake is a correctness property the crate \
currently gets by accident.",
falsified_by: "C1 by double-buffering not removing P-9's spread, which would mean the \
order-dependence is in the weld rather than the traversal and would redirect the work \
to weld.rs. C2 by cost above 1.25x. C3 by any permutation producing a different mesh. \
VACUITY CONTROL: the SINGLE-BUFFER arm must REPRODUCE THE SPREAD OF 4 AND 2 -- column \
baseline_spread must read 4 on the noise_cavity dual_contouring row and 2 on the \
noise_cavity manifold_dual_contouring row -- because a harness that cannot see P-9's \
defect cannot measure its removal.",
records: &[
"field",
"extractor",
"permutations",
"baseline_spread",
"double_buffered_spread",
"mesh_identical_across_permutations",
"ns_per_cell_single",
"ns_per_cell_double",
"cost_ratio",
"peak_bytes_single",
"peak_bytes_double",
"c1_holds",
"c2_holds",
"c3_holds",
],
},
Preregistration {
id: "P-120",
ticket: "R-120",
hypothesis: "WU, OTOO AND SHOSHANI REPLACE POINTER-BASED EQUIVALENCE TREES WITH A FLAT \
ARRAY AND REPORT 5x TO 100x ON RANDOM BINARY IMAGES, WHICH IS AN UPPER BOUND HERE AND \
NOT A PREDICTION -- VOXEL ISLANDS ARE NOT RANDOM BINARY IMAGES. What this registration \
must state, because it is the reason the row could look like a reopening: \
connectivity.rs:29-46 EXPLICITLY REFUSES a union-find in favour of flat labels, \
because it WAS a union-find and adding fill broke it (x26) -- parent pointers encode \
union history rather than spatial adjacency. The three union-finds in \
crates/isomesh/src/ are private and each justified in prose: validate.rs:541 Dsu, \
validate/sealing.rs:835 UnionFind, and connectivity/world.rs:387 rebuilt from scratch \
on every restitch. This row is the PER-CHUNK, REBUILT-FROM-SCRATCH kind, it is \
bench-local, and it ANSWERS x26 rather than reopening it. (C1) At least 2x against the \
shipped flat-label structure on per-chunk island labelling. (C2) Final labels are \
CONSECUTIVE and independent of iteration order. (C3) The label sets equal the \
flat-label path's partition exactly. SHARE: per-chunk labelling only, which is not on \
the extraction path at all -- so C1's 2x is against a named structure rather than a \
fraction of a total, and no extraction speedup is claimed or implied.",
falsified_by: "C1 by under 2x against the current structure. C2 by any label depending on \
iteration order, which is x26's defect in a new costume and closes the row. C3 by the \
two partitions differing. VACUITY CONTROL: components must exceed 1 on the DUG arm -- \
column components_dug asserted greater than 1 -- because a labeller tested on a \
connected world is not being tested.",
records: &[
"field",
"resolution",
"arm",
"chunk_cells",
"components",
"components_dug",
"ns_per_cell_flat",
"ns_per_cell_union_find",
"ratio",
"labels_consecutive",
"partition_identical",
"order_independent",
"c1_holds",
"c2_holds",
"c3_holds",
],
},
Preregistration {
id: "P-121",
ticket: "R-121",
hypothesis: "BEFORE ANY OF GROUP A IS BUILT, DECOMPOSE EXTRACTION INTO FLOAT WORK AND \
INTEGER WORK. x51's rule requires it and x51 is itself the example of what happens \
without it: P-69's C1 asked for 2x on the marginal extraction cost from restructuring \
the SAMPLE loop, and the loop is 11.6% of that marginal -- not the 11.5% the research \
doc says -- so its ceiling was 1/(1 - 0.116/2) = 1.061x and the clause was unreachable \
however well the loop vectorised. STAGES, fixed at registration: sample (field \
evaluation), classify (the eight-sign case index), interpolate (crossing positions and \
normals), solve (dual only), emit (table lookup, triangle and quad push, edge-cache \
indexing), residual. Float = sample + interpolate + solve. Integer = classify + emit. \
INSTRUMENT: stage counters via common::counters::Probe (benches/common/counters.rs:86, \
Linux-gated at benches/common/mod.rs:26), reporting CYCLES AND INSTRUCTIONS; the \
verdict reads the counter form and not the clock, per x24 and M-281. experiment_p15 is \
the precedent for stage attribution in this crate and experiment_p12 is the precedent \
for refusing to run without counters. (C1) The stage decomposition ACCOUNTS FOR THE \
TOTAL: residual_share under 5% of measured cycles on EVERY row. (C2) Integer work -- \
classification plus the emit path's indexing -- is at least 15% of extraction on at \
least one reference field at 65 cubed. (C3) The split is real: on a SURFACE-FREE field \
the classification stage still runs and the emit stage does not, and the measured \
stage cycles move in exactly those directions. The surface-free control already exists \
and is reused rather than reinvented: sphere_surface_free, the same sphere sampled a \
long way from itself so every cell is inactive, at \
crates/isomesh/benches/experiment_p40.rs:84-93 and listed in its FIELDS. M-337 and x28 \
both scored on it, so it is the fixture with a published baseline. SHARE: this row IS \
the share instrument. It moves nothing and claims nothing; it produces the denominator \
that P-103, P-104 and P-106 are denominated in.",
falsified_by: "C1 by a residual_share above 5%, or any stage reading zero on a fixture \
where it must run -- either means the instrument cannot see what it claims to. A C2 \
total under 15% on every field CLOSES P-103, P-104 and P-106 ON THE SPOT, which is a \
cheap and valuable outcome and is NOT a failure of this row. C3 by emit cycles staying \
non-trivial on the surface-free arm or classify cycles falling to zero there. VACUITY \
CONTROL: every stage's cycle count non-zero on a field where it must run; \
residual_share reported PER ROW rather than pooled; and the surface-free arm's emit \
cycles at or near zero WITH classify non-zero, which is what proves the two are \
separable at all.",
records: &[
"field",
"resolution",
"scalar",
"extractor",
"cycles_total",
"cycles_sample",
"cycles_classify",
"cycles_interpolate",
"cycles_solve",
"cycles_emit",
"cycles_residual",
"residual_share",
"float_share",
"integer_share",
"instructions_total",
"instructions_classify",
"instructions_emit",
"cells",
"active_cells",
"c1_holds",
"c2_holds",
"c3_holds",
],
},
Preregistration {
id: "P-122",
ticket: "R-122",
hypothesis: "STREAM VBYTE KEEPS A DENSE CONTROL STREAM AND A VARIABLE-LENGTH DATA STREAM \
SEPARATE SO THE DECODER NEVER BRANCHES ON PAYLOAD, AND ONLY THE LAYOUT TRANSFERS HERE. \
What this registration must state: Stream VByte's 4 billion integers per second on a \
3.4 GHz Haswell is the SIMD path, so that figure is NOT A COMPARAND for a scalar arm \
and must not be scored against. (C1) Splitting the per-cell case index into a dense \
control stream and the variable-length vertex payload into a second stream REDUCES \
BRANCH MISPREDICTIONS PER CELL. (C2) Total instructions per cell rise by no more than \
10%. (C3) Identical mesh. INSTRUMENT: common::counters::Probe's BRANCH_MISSES; refuse \
and exit(1) off Linux, because it is the only instrument that can see the quantity C1 \
is about. SHARE: C1 is a per-cell counter ratio rather than a fraction of extraction \
time, and C2 is a cost bound -- so no time claim is made and x51's bar does not apply. \
Whether a misprediction reduction is worth anything in wall time is a question this \
row deliberately does not answer.",
falsified_by: "C1 by no branch-misprediction reduction, measured with counters on Linux. \
C2 by instructions per cell rising more than 10%, which would mean the split pays for \
itself in the other currency. C3 by any mesh difference. VACUITY CONTROL: \
branch_misses_per_cell_single must be NON-ZERO on the single-stream arm, or there is \
no misprediction to remove and the ratio is division by a floor.",
records: &[
"field",
"resolution",
"arm",
"branch_misses_per_cell_single",
"branch_misses_per_cell_split",
"branch_miss_ratio",
"instructions_per_cell_single",
"instructions_per_cell_split",
"instruction_ratio",
"mesh_identical",
"c1_holds",
"c2_holds",
"c3_holds",
],
},
Preregistration {
id: "P-123",
ticket: "R-027a",
hypothesis: "M-318 MEASURED THE CEILING AND NOBODY HAS ASKED WHERE THE 45x IS SPENT. A \
grid-edge naming takes buffer churn from 15,706 to 346 at 129 cubed -- 45x, FLAT IN n, \
and equal to the true geometric change -- and M-318 simultaneously established that \
the ENCODING is not the obstacle. Those two facts together leave the decomposition \
unmeasured, which is what this row supplies. DECOMPOSITION, fixed at registration into \
three terms that partition the churn by construction: GEOMETRIC, a value that changed \
because its crossing moved; PREDECESSOR-SHIFT, a value that is bit-identical to a value \
in the previous extraction but sits at a different slot because a cell earlier in \
traversal order emitted a different number of vertices; and ORDER-ONLY, a value that is \
bit-identical AND whose owning edge is unchanged, differing only in where the emission \
order put it. The three are measured as a prefix partition of the same diff so they sum \
to the churn exactly, and residual_share is recorded PER ROW -- R-085's discipline, and \
P-112 is the precedent for what happens when a residual is denominated in a clock. \
METHOD: BENCH-LOCAL, instrumenting the existing edit_trace bench. NO NEW FIELD, NO NEW \
EXTRACTOR, NO SOURCE CHANGE. (C1) The three terms account for the churn with \
residual_share under 5% in RETIRED INSTRUCTIONS-free integer counting -- these are \
counts of values, not times, so the residual is exact and a non-zero one is a \
decomposition defect rather than noise. (C2) The order-only term is at least 50% of \
the churn on at least one reference field, which is the threshold at which a canonical \
reorder AT EMISSION recovers the gap without touching extract_into. (C3) The geometric \
term equals M-318's own 346 at 129 cubed to within the fixture's own edit set, which \
is the check that this harness is measuring M-318's quantity and not a new one. SHARE: \
this row moves nothing. It decides whether R-027 stays declined, and it must not \
reopen the shape V-45 stopped: R-027's only working form turns \
validate/determinism.rs:268's reused-buffer run from a GATE into its INTENT, and no \
clause here proposes that.",
falsified_by: "C1 by a residual_share above 5%, which would mean the three terms do not \
partition the churn and no share below it is believable. C2 by the order-only term \
under 50% on every field -- which CLOSES R-027 for good rather than failing this row, \
because a reorder at emission then cannot recover the gap and the only remaining shape \
is the persistent edge-to-slot map V-45 already refused. C3 by the geometric term \
disagreeing with M-318's 346, which would mean this harness and M-318 are counting \
different things and the 45x it inherits is not this row's to decompose. VACUITY \
CONTROL: the churn must be NON-ZERO on every row before any share of it is reported, \
and the order-only term must be shown able to read zero -- a control arm that emits in \
a canonical edge order must drive it to exactly 0 while leaving the geometric term \
unchanged. A decomposition whose order-only term cannot reach zero is measuring the \
traversal rather than the ordering.",
records: &[
"field",
"resolution",
"edits",
"churn_total",
"churn_geometric",
"churn_predecessor_shift",
"churn_order_only",
"residual_share",
"order_only_share",
"geometric_matches_m318",
"canonical_control_order_only",
"c1_holds",
"c2_holds",
"c3_holds",
],
},
Preregistration {
id: "P-124",
ticket: "R-052",
hypothesis: "x36 PROVED P-55'S ZERO UNREACHABLE BY PROOF RATHER THAN BY MEASUREMENT, AND \
THE REASON IS THE COMPLEX THE PREDICATE WAS EVALUATED ON. A mesh edge is a chord of the \
zero set, so a monotonicity predicate over mesh edges is saturated by geometry before \
it measures anything -- that is a fact about the domain and no fixture can rescue it. \
Finken et al.'s PL function lives on the AMBIENT complex, and this row ports it there. \
METHOD: a fixed simplicial subdivision of the grid -- Kuhn/Freudenthal's SIX \
tetrahedra per cell, which this crate already ships and P-100 already proved tiles \
across chunk seams at 0 open edges -- with monotonicity evaluated over TET EDGES \
INCLUDING THE DIAGONALS, which is the set a mesh-edge predicate structurally cannot \
reach. BENCH-LOCAL, NO SOURCE CHANGE. THE TOLERANCE IS THE ROW'S MOST LOAD-BEARING \
DECISION and it is fixed here rather than after the first surprise: it is scaled by \
max(|f(a)|, |f(b)|) over the edge's two endpoints, a quantity that is NOT identically \
zero at the endpoints, because x36's defect was a tolerance that vanished exactly where \
the predicate had to discriminate. (C1) Gated on the CONTRAPOSITIVE of Theorem 1 part \
2b -- all tet edges monotone implies zero or at least 2 interior critical points -- \
evaluated AS AN INTEGER over every cell, ONE FAILING CELL SUFFICES to reject a cell and \
the count is exact. (C2) box_exact is the resolution witness the falsifier already \
handed over: its non-monotone corner population is O(n) and HALVES PER REFINEMENT, so \
the count at 33 cubed, 65 cubed and 129 cubed must fall by a factor in [1.7, 2.3] per \
doubling. (C3) The predicate discriminates: the non-monotone cell count is strictly \
between 0 and cells on at least six of the eight reference fields. SHARE: this row \
moves nothing and proposes no source change. It decides whether the ambient reading of \
Finken et al. is measurable at all, which x36 left open by closing only the mesh-edge \
reading.",
falsified_by: "C1 by the integer count being 0 on every cell of every field, which would \
mean the ambient predicate is saturated too and closes the whole Finken et al. line \
rather than only P-55's reading of it; or by cells where the count equals the cell \
count, which would mean the tolerance is so tight that nothing is monotone and the \
predicate is measuring the tolerance. C2 by box_exact's population not halving -- a \
factor outside [1.7, 2.3] on either doubling -- which would mean it is not a resolution \
witness and x36's own falsifier does not transfer. C3 by the count being 0 or cells on \
three or more fields. VACUITY CONTROL, AUDITED CLAUSE BY CLAUSE BEFORE THIS \
REGISTRATION WAS COMMITTED per BACKLOG.md:157-160: every clause here is an integer over \
an enumerated population whose denominator is exact by construction, so each can be \
checked for can-it-fire without a run. C1 can fire in both directions and both are \
reported. C2's [1.7, 2.3] band is two-sided on purpose -- a population that FELL FASTER \
than O(n) would be as much a refutation of the witness as one that did not fall. C3 is \
the discrimination control itself. And the instrument must be shown able to read a \
non-monotone edge: a control arm evaluating the SAME predicate over MESH edges must \
reproduce x36's saturation -- 0 non-monotone -- in the same run, which is what proves \
the ambient count is a property of the complex and not of the tolerance.",
records: &[
"field",
"resolution",
"cells",
"tets",
"tet_edges",
"non_monotone_edges",
"non_monotone_cells",
"diagonal_only_failures",
"critical_points_lower_bound",
"box_exact_population_ratio",
"mesh_edge_control_non_monotone",
"c1_holds",
"c2_holds",
"c3_holds",
],
},
Preregistration {
id: "P-125",
ticket: "R-053",
hypothesis: "M-352 MEASURED THE =-CORNER REPAIR REMOVING EVERY DEGENERATE TRIANGLE ON BOTH \
CT VOLUMES AND CHANGING THE TOPOLOGY OF ONE: 516 of 17,201 collapse groups on bonsai \
are pinches, welding 520 components, against 0 of 50 on fuel. The decision is a graph \
property computable BEFORE the repair, so a caller can ask whether the repair is safe \
on ITS data rather than being shipped a repair that is safe on some data. THE \
PREDICATE: a union-find over the BASELINE triangles, asking whether two vertices that \
snap to the same corner ALREADY SHARE A TRIANGLE. If they do the collapse is a fold \
within one component and removes a degenerate; if they do not it is a PINCH and welds \
two components that the baseline mesh kept apart. THIS ROW LANDS A SOURCE CHANGE AND IT \
IS REGISTERED IN ADVANCE, the P-61 and P-69 way, because a landing not registered in \
advance is exactly what V-45 cost: a new report beside validate::sealing in \
crates/isomesh/src/validate/, reporting the pinch census for a mesh and its snap \
epsilon. The repair itself moves NO geometry -- M-352 measured max_snap_distance \
exactly 0 -- so this is a pure connectivity decision and the report claims nothing \
about position. (C1) The predicate separates the two volumes as M-352 measured them: \
516 of 17,201 on bonsai and 0 of 50 on fuel, both exactly, computed from the baseline \
mesh alone with no repair applied. (C2) The report is O(V + F) in time and allocates \
once, and its answer is INDEPENDENT of triangle iteration order -- 128 permutations of \
the face list give one identical census, which is x26's objection asked in advance \
rather than after a landing. (C3) The census predicts the repair: applying the repair \
and counting the components it welds reproduces the report's pinch count exactly, on \
every fixture. SHARE: the report is a validate-time query and is on no extraction path, \
so it has NO extraction share and no clause here is or may become a speedup claim. \
x51's bar does not apply.",
falsified_by: "C1 by either figure not reproducing exactly -- these are integers over an \
enumerated population and there is no tolerance to hide in. C2 by any dependence on \
face iteration order, which is x26's defect in a new costume and closes the row \
immediately; or by the report allocating per group rather than once. C3 by the welded \
component count disagreeing with the predicted pinch count, which would mean the \
predicate names a different property from the one the repair acts on and the report \
would be answering a question a caller did not ask. VACUITY CONTROL: fuel's 0 of 50 is \
a zero and a zero that could not have been non-zero is not a measurement (M-44), so the \
SAME instrument must return non-zero on bonsai in the SAME run -- which C1 already \
requires -- and additionally a deliberately pinched fixture, constructed rather than \
sampled the way x22's was, must report a pinch count equal to its construction. And the \
union-find must be shown able to answer NO: a control that asks the predicate of two \
vertices which demonstrably share a triangle must return share = true on every one of \
them.",
records: &[
"fixture",
"vertices",
"triangles",
"collapse_groups",
"pinch_groups",
"components_welded",
"components_before",
"components_after",
"max_snap_distance",
"order_permutations",
"distinct_censuses",
"constructed_pinch_expected",
"constructed_pinch_reported",
"share_control_all_true",
"c1_holds",
"c2_holds",
"c3_holds",
],
},
Preregistration {
id: "P-126",
ticket: "R-072",
hypothesis: "O-12'S REMAINING HALF, AND P-63'S OWN C3 IS THE STRONGEST RECORD OF WHY IT IS \
STILL OPEN. P-63 closed the PRIMAL half by exhaustion -- M-374, 11 arms x 262,144 sign \
patterns over an 18-corner block, worst_link_components 1 on every non-control arm \
against a control yielding 5,302 link-defective vertices -- and it ran the DUAL arms on \
that same block and came back VACUOUS, max_incident_faces 2 on all three. A dual vertex \
lives at a cell CENTRE and its link needs the cell's 26 neighbours, so the block must be \
3 x 3 x 3 CELLS = 4 cubed = 64 CORNERS and the sweep is 2^27 = 134,217,728 sign \
patterns. An 18-corner block cannot host the configuration at all, and zero there is not \
evidence. (C1) Over the full 2^27 sweep, worst_link_components is 1 on every non-control \
arm -- the dual vertex link is a single connected cycle, so the dual output is a \
manifold at the vertex. (C2) The control arm, which deliberately partitions a cell's \
edge cycles the way manifold_dual_contouring's FaceAmbiguity::Connected does, reads \
worst_link_components GREATER THAN 1, so the instrument is shown emitting bad news \
before its ones are read. (C3) The population is derived FROM THE BLOCK THIS SWEEP \
SWEEPS and not from a census taken elsewhere: dual_vertices_with_complete_link is \
reported per arm and asserted non-zero, and its expected value is computed from the 64 \
corners the sweep enumerates. THE NAMED ERROR THIS REGISTRATION EXISTS NOT TO REPEAT: \
P-63's C3 derived its expected population from the CRITICAL census when the population \
it needed was dual vertices carrying a COMPLETE link, which in an 18-corner block is \
empty -- so it measured a zero over an empty set and reported vacuous. THIS NEEDS A NEW \
P- ID AND NOT AN AMENDMENT, because experiment.rs's rule is that a registration is not \
amended after its run and P-63 has run. INSTRUMENT AND SCHEDULE: an estimated 4 to 45 \
minutes single-threaded, which is a NIGHTLY gate and not a cargo bench run, and the \
bench IS the gate -- after writing its CSV it exits non-zero when worst_link_components \
exceeds 1 on any non-control arm, naming the arm and the pattern, so one binary answers \
the question once and gates it forever. There is no second path and no verdict logic \
anywhere else. SHARE: this row moves nothing and proposes no source change. It decides a \
question named in O-12's own text that has been invisible to backlog_gate.sh since \
Phase 23 closed.",
falsified_by: "C1 by any non-control arm reading worst_link_components above 1, which would \
mean the dual output is NON-MANIFOLD at a vertex on a reachable sign pattern -- and \
that is the valuable outcome, because A-017 documents MDC's non-manifoldness as a limit \
of the algorithm and this would name the configuration exactly. C2 by the control \
reading 1, which is the P-63-C3 failure mode arriving again -- a zero over an empty or \
unreachable population -- and ABORTS THE RUN rather than recording a pass. C3 by \
dual_vertices_with_complete_link reading zero on any arm, for the same reason: the \
18-corner block's vacuity is precisely what a complete-link population of zero looks \
like, and a sweep that reproduces it has not fixed the fixture. VACUITY CONTROL: \
dual_vertices_with_complete_link asserted non-zero PER ARM and never pooled; \
patterns_swept asserted equal to 134,217,728 exactly, so a sweep that silently narrowed \
its own domain is a failure rather than a fast pass; and the control arm's \
link_defective_vertices asserted greater than zero in the same run.",
records: &[
"arm",
"block_cells",
"block_corners",
"patterns_swept",
"dual_vertices",
"dual_vertices_with_complete_link",
"worst_link_components",
"worst_link_pattern",
"max_incident_faces",
"link_defective_vertices",
"is_control",
"wall_seconds",
"c1_holds",
"c2_holds",
"c3_holds",
],
},
Preregistration {
id: "P-127",
ticket: "R-127",
hypothesis: "THE CRATE HAS SHIPPED A CLASSICAL INVARIANT FOR ITS ENTIRE LIFE AND CALLED IT A \
TRANSCRIBED QUADRATIC. (C1) b*b - 4*a*c from BodySaddles::coefficients is identically \
Cayley's 2x2x2 hyperdeterminant of [f0..f7] under the indexing f[u + 2v + 4w]: same 12 \
terms, total degree 4, symbolic difference exactly zero -- asserted by a committed \
symbolic check, not by a numeric sample. (C2) The same polynomial equals disc(det(A0 + \
lambda*A1)) for the two opposite-face 2x2 corner matrices, and does so for all three \
axis pairings, which is the mechanism behind M-206. (C3) In exact rational arithmetic \
over at least 3,000 random 8-tuples the two expressions agree with ratio exactly 1 and \
zero sign disagreements; in f32 they do not, and the disagreement count is the number \
P-134 exists to act on. SHARE: C1 and C2 move no runtime cost at all -- this row is a \
renaming plus two theorems, and its whole value is what Group A's other rows can then \
assume.",
falsified_by: "C1 by any non-zero symbolic difference, which would mean the indexing \
convention was misread and every downstream row in Group A collapses. C2 by any axis \
pairing disagreeing, which would make M-206 a coincidence after all. C3 by zero f32 \
disagreements, which would retire P-134 before it is written. VACUITY CONTROL: the trial \
set must contain 8-tuples of both discriminant signs and at least 50 within 1e-6 of \
zero, reported as counts, or C3 is sampling only the easy stratum.",
records: &[
"expression",
"terms_disc",
"terms_cayley",
"total_degree",
"symbolic_difference_is_zero",
"pencil_axis_pairing",
"pencil_matches",
"random_rational_trials",
"max_abs_ratio_deviation",
"f32_sign_disagreements",
"f64_sign_disagreements",
"c1_holds",
"c2_holds",
"c3_holds",
],
},
Preregistration {
id: "P-128",
ticket: "R-128",
hypothesis: "Delta(g.A) = (det g1 det g2 det g3)^2.Delta(A) -- the weight is a perfect \
square, so sign(Delta) is an absolute invariant of the GL(2)^3 action, and the \
body-saddle count is a property of the eight values alone. (C1) On all eight reference \
fields at 33^3 and 65^3, meshing with per-axis cell scales of (1,1,1), (1,2,4) and \
(1,1,8) produces bit-identical body-saddle counts per cell, with zero disagreements. \
(C2) The relative-invariant weight holds numerically: for 500 random invertible g \
triples, Delta(g.A)/Delta(A) equals (det g1 det g2 det g3)^2 to f64 rounding. SHARE: C1 \
is a correctness clause and moves no cost; it removes an untested assumption from every \
anisotropic-cell path, including all of Group D.",
falsified_by: "C1 by any disagreement, which would mean the extractor's saddle path depends \
on geometry the invariant says it cannot -- i.e. a bug, and a valuable one. C2 by a \
weight that is not a square, which would mean the indexing or the action is wrong and \
P-127 C1 must be re-read. VACUITY CONTROL: the anisotropic arms must produce a non-zero \
count of cells whose vertex positions move, reported as a column, or the fixture is not \
exercising anisotropy at all.",
records: &[
"field",
"resolution",
"cell_aspect_ratio",
"axis_scales",
"saddle_count_isotropic",
"saddle_count_anisotropic",
"count_disagreements",
"sign_delta_isotropic",
"sign_delta_anisotropic",
"sign_disagreements",
"gl2_weight_check",
"c1_holds",
"c2_holds",
],
},
Preregistration {
id: "P-129",
ticket: "R-129",
hypothesis: "x49 established bit-exact octahedral equivariance of plain Marching Cubes by \
sweeping all 48 elements; Delta is invariant under all 48 and under negating the field, \
provably. (C1) A Delta-based check agrees with the 48-element sweep on every cell of \
every reference field -- zero disagreements -- while costing at least 10x less. (C2) \
Delta is invariant under field negation on every cell, which M-177 says reordering \
cannot buy for vertex placement; the contrast localises M-177's obstruction to the \
solve, not to the classification. (C3) The invariant check catches at least one \
configuration class the sweep is structurally blind to, or reports honestly that it \
catches none. SHARE: C1 moves the equivariance-test stage of CI, currently the \
48-element sweep in full.",
falsified_by: "C1 by any disagreement or under 10x. C2 by a negation violation, which would \
contradict the symbolic proof and send P-127 back. C3 by 'none', which is a fine outcome \
and should be recorded as such rather than hunted. VACUITY CONTROL: the sweep arm must \
report a non-zero violation count on a deliberately broken table, or both instruments \
are agreeing on nothing.",
records: &[
"element",
"sweep_ms",
"invariant_ms",
"speedup",
"cells_checked",
"sweep_violations",
"invariant_violations",
"agreement",
"negation_violations",
"c1_holds",
"c2_holds",
"c3_holds",
],
},
Preregistration {
id: "P-130",
ticket: "R-130",
hypothesis: "de Silva & Lim sec 6: rank is 2 on {Delta > 0} and 3 on {Delta < 0}. A cell's \
real tensor rank is therefore computable from a sign the crate already computes. (C1) \
Across eight fields at three resolutions, the (Delta > 0, Delta < 0, Delta = 0) \
partition is stable and Delta = 0 is rare -- under 0.1% of surface cells at f64. (C2) \
Real tensor rank carries information about ambiguity that the 8-bit case index does not: \
mutual information between rank and 'this cell is ambiguous' exceeds that between rank \
and the case index by a stated margin. (C3) On sphere, where no cell is ambiguous, rank \
is 2 on essentially every surface cell -- the control that says the statistic is not \
measuring noise. SHARE: C1 and C2 are counts, not timings, and move nothing; they decide \
whether Group A continues past P-131.",
falsified_by: "C1 by an unstable partition or Delta = 0 above 0.1%, the latter meaning the \
degenerate stratum is common enough that P-131 becomes urgent rather than optional. C2 \
by rank being a function of the case index, which would make it a renaming with no new \
signal -- the most likely outcome and worth knowing cheaply. C3 by sphere showing rank-3 \
cells, which would say the statistic is dominated by arithmetic rather than geometry. \
VACUITY CONTROL: gyroid and csg_difference must contribute a non-zero ambiguous-cell \
count, or C2's mutual information is computed against a constant.",
records: &[
"field",
"resolution",
"cells",
"delta_positive",
"delta_negative",
"delta_zero",
"rank_two_cells",
"rank_three_cells",
"ambiguous_cells",
"rank_vs_case_index_agreement",
"mutual_information",
"c1_holds",
"c2_holds",
"c3_holds",
],
},
Preregistration {
id: "P-131",
ticket: "R-131",
hypothesis: "roots() treats discriminant == 0 as 'a double root is one intersection point', \
which is correct arithmetic about the quadratic and may be the wrong model of the \
configuration: de Silva & Lim Prop 7.3 records that tensors on Delta = 0 are generically \
rank 3, with border rank 2 -- the W-state is the canonical example, Delta = 0 exactly \
with real rank 3. (C1) The discriminant == 0 branch fires on at least one reference \
field at f64, and the count is reported per field rather than assumed zero. (C2) On the \
cells where it fires, the true configuration is classified -- rank 1, 2, or 3 -- and at \
least one is not the tangential-touch case the comment describes. (C3) Correcting the \
classification changes at least one triangle on at least one field, or provably changes \
none, and which of those is true is stated as the result. SHARE: C3 moves only the cells \
C1 counts, which is why C1 is reported first and separately.",
falsified_by: "C1 by the branch never firing on any field at any resolution, which retires \
the row and is worth the afternoon. C2 by every hit being a genuine tangency, which \
would vindicate the comment. C3 by no mesh change, which would make this a documentation \
fix and should be recorded as one. VACUITY CONTROL: a synthetic W-state cell must be \
added to the fixture and must reach the branch, or C2 cannot distinguish 'no such cells \
exist' from 'the fixture has none'.",
records: &[
"field",
"resolution",
"discriminant_zero_hits",
"a_zero_hits",
"double_root_hits",
"border_rank_two",
"true_rank_three",
"w_state_like",
"roots_reported",
"roots_true",
"mesh_delta_triangles",
"c1_holds",
"c2_holds",
"c3_holds",
],
},
Preregistration {
id: "P-132",
ticket: "R-132",
hypothesis: "de Silva & Lim sec 7.2: orbit class is determined by the pair (sign Delta, \
rank_multilinear) -- the sign alone is not enough, and any claim that the taxonomy \
follows from Delta must carry the multilinear rank too. (C1) All eight real orbits are \
populated across the reference fields, or the unpopulated ones are named. (C2) T-001 \
defect rates differ significantly across orbits -- chi-square against the null that \
defects are orbit-independent. (C3) The orbit partition is not a relabelling of the \
256-case index: at least one case index spans two orbits and at least one orbit spans \
two case indices. SHARE: C2 is a rate per orbit, not a share of a total; the population \
counts are reported so the rates have denominators.",
falsified_by: "C1 by orbits that no field reaches, which narrows the taxonomy usefully. C2 \
by orbit-independent defects, which would mean the classification is mathematically real \
and operationally inert -- the honest and quite likely outcome. C3 by a bijection with \
the case index, which would make the whole orbit apparatus a renaming. VACUITY CONTROL: \
the defect columns must be non-zero in total, asserted from T-001's own counts, or C2 is \
a chi-square on an empty table.",
records: &[
"field",
"resolution",
"orbit_class",
"sign_delta",
"multilinear_rank",
"cells_in_orbit",
"nonmanifold_edges_in_orbit",
"self_intersections_in_orbit",
"orphaned_vertices_in_orbit",
"defect_rate_per_orbit",
"chi_square",
"c1_holds",
"c2_holds",
"c3_holds",
],
},
Preregistration {
id: "P-133",
ticket: "R-133",
hypothesis: "Delta is a degree-4 polynomial in 8 inputs -- squarely in the range where \
Shewchuk's adaptive-precision expansions (10.1007/pl00009321, already mined at 5 files) \
give an exactly-correct sign, and where a floating-point filter takes the exact path on \
a small minority of cells. (C1) At f32, the sign of Delta disagrees with the exact sign \
on a non-zero fraction of surface cells on at least two reference fields. (C2) A \
filtered exact predicate costs under 1.5x the naive float evaluation in aggregate, \
because the filter succeeds on the overwhelming majority of cells. (C3) Correcting the \
sign changes the mesh -- a non-zero triangle delta, or a non-zero change in T-001's \
non-manifold-edge count -- on at least one field. SHARE: C2 moves the body-saddle stage \
only, whose share of extraction must be reported alongside.",
falsified_by: "C1 by zero disagreements at f32, which would say the predicate is not \
near-degenerate on real fields and retire C2 and C3 with it. C2 by above 1.5x. C3 by no \
mesh change, which would mean the sign errors fall on cells whose classification does \
not reach the output -- interesting, and a reason to look at where they do fall. VACUITY \
CONTROL: at least one field must produce cells with |Delta| below the f32 error bound, \
reported as a count, or C1 is measuring a problem the fixture excludes.",
records: &[
"field",
"resolution",
"scalar",
"cells",
"sign_disagreements_f32",
"sign_disagreements_f64",
"disagreement_rate",
"exact_ms",
"float_ms",
"overhead_ratio",
"filtered_fallback_rate",
"triangles_changed",
"nonmanifold_delta",
"c1_holds",
"c2_holds",
"c3_holds",
],
},
Preregistration {
id: "P-134",
ticket: "R-134",
hypothesis: "Delta is homogeneous of degree 4, so |Delta| / (max|fi|)^4 is scale-free and is \
a candidate magnitude of ambiguity where the crate currently has only a sign -- the same \
move persistence makes against the interior test, but computable in O(1) from data \
already in hand. (C1) The normalised magnitude is invariant under scaling all eight \
corner values, to f64 rounding, and under the 48 octahedral elements. (C2) It \
rank-correlates with per-cell symmetric Hausdorff error above 0.5 on at least four of \
eight fields, making it a candidate refinement criterion rather than merely a \
classifier. SHARE: C2 offers a criterion for the adaptivity stage; it does not by itself \
move any cost.",
falsified_by: "C1 by scale dependence, which would mean the normalisation is wrong. C2 by \
correlation below 0.5 on five or more fields, which would say ambiguity magnitude and \
geometric error are different phenomena -- likely, and it would close the row cleanly. \
VACUITY CONTROL: the per-cell Hausdorff column must have non-zero variance on every \
field, or the correlation is against a constant.",
records: &[
"field",
"resolution",
"normalisation",
"delta_magnitude",
"scale_invariance_error",
"rank_correlation_with_defects",
"rank_correlation_with_hausdorff",
"threshold_sweep",
"cells_above_threshold",
"c1_holds",
"c2_holds",
],
},
Preregistration {
id: "P-135",
ticket: "R-135",
hypothesis: "Every claim in Group A rests on the reconstruction being multi-affine. That is \
a hypothesis about the filter, not a fact about the crate, and it must be recorded as a \
boundary before anything downstream leans on it. (C1) The identity holds for the \
trilinear and fails for any reconstruction that is not multi-affine -- demonstrated \
symbolically for a tricubic and for smooth_min(k) with k > 0, with the residual reported \
rather than merely asserted non-zero. (C2) Under smooth_min(k), the deviation from the \
multi-affine Delta grows with k and is bounded in the O(k) seam shell the 2026-08-23 \
memo measured -- connecting Group A's boundary to M-38's smoothing result rather than \
leaving it a separate fact. SHARE: none -- this is a scope statement and moves nothing.",
falsified_by: "C1 by the identity surviving a non-multi-affine reconstruction, which would \
be a strictly better result and would widen Group A. C2 by deviation that does not track \
k, which would mean the smoothing and the invariant are unrelated and M-38 gains nothing \
here. VACUITY CONTROL: the tricubic arm must produce a symbolic residual with named \
non-zero terms, not a numeric non-zero, or C1 has not established the failure \
structurally.",
records: &[
"reconstruction",
"is_multi_affine",
"identity_holds",
"symbolic_residual_terms",
"smooth_min_k",
"deviation_at_k",
"tricubic_degree",
"cases_touched",
"c1_holds",
"c2_holds",
],
},
Preregistration {
id: "P-136",
ticket: "R-136",
hypothesis: "THIS ROW EXISTS TO STOP AN OVERCLAIM BEFORE SOMEBODY MAKES IT. It is tempting \
to read Group A as 'the 730-subcase table becomes a corollary of an invariant'. It does \
not, and the registration says why in advance: sign(Delta) counts hyperbola \
intersections in the plane of a pencil, and the interior test asks which side of the \
surface a tunnel opens on, which is a different question with a different answer. (C1) \
Over the configurations M-165 identifies (Chernyaev's numerator-only test wrong on 1,966 \
of 15,6xx), sign(Delta) alone agrees with the correct interior verdict on strictly fewer \
than all of them, and the disagreement set is characterised. (C2) The classes where \
Delta is insufficient are named explicitly, so the boundary is in the ledger rather than \
in somebody's head. SHARE: none -- this is a negative result registered before its \
positive twin can be believed.",
falsified_by: "C1 by full agreement, which would be a major and unexpected win and would \
justify reopening the A-002 interior line entirely. C2 by an uncharacterisable \
disagreement set, which would mean the instrument is too coarse. VACUITY CONTROL: the \
configuration set must reproduce M-165's 12.6% disagreement rate as a control column, or \
the fixture is not the population M-165 measured.",
records: &[
"configuration_class",
"delta_sign",
"interior_test_verdict",
"agreement_rate",
"cases_where_delta_insufficient",
"chernyaev_disagreement_overlap",
"c1_holds",
"c2_holds",
],
},
Preregistration {
id: "P-137",
ticket: "R-137",
hypothesis: "df/dxi of a multi-affine f is multi-affine in the other two variables, so its \
Newton polytope is a unit square; the mixed volume of the three squares is Vol([0,2]^3) \
- 3.2 + 0 = 8 - 6 = 2, verified by convex hull and independently by symbolic solution of \
gradf = 0. By Bernstein's theorem f has at most 2 critical points in (C*)^3. (C1) The \
mixed volume computation is committed as a check, and a census over the reference fields \
reports how many cells have 0, 1 or 2 real critical points inside the unit cell -- the \
bound is on neither. (C2) At least one cell on at least one field has a critical point \
on a coordinate hyperplane, which Bernstein's count excludes by construction, \
demonstrating the caveat rather than stating it. (C3) THE RELATIONSHIP TO SADDLE_COUNT \
IS STATED AS A NON-IDENTITY: the repo's quadratic solves for face-hyperbola \
intersections on the zero level set, not for gradf = 0, and the two 2s are shown to be \
different by exhibiting a cell where the root sets differ. SHARE: none -- this replaces \
an authority citation with a derivation.",
falsified_by: "C1 by any cell with three or more real critical points, which would refute \
the mixed-volume computation. C2 by no hyperplane cases, which would make the caveat \
vacuous here and is worth recording. C3 by the two root sets coinciding, which would be \
a much stronger result and would mean SADDLE_COUNT is derivable from BKK. VACUITY \
CONTROL: the census must include cells of all three counts, reported as a distribution, \
or the bound is being checked against a single stratum.",
records: &[
"field",
"resolution",
"mixed_volume",
"critical_points_complex",
"critical_points_real",
"critical_points_in_cell",
"cells_with_zero",
"cells_with_one",
"cells_with_two",
"on_hyperplane_count",
"saddle_count_relationship",
"c1_holds",
"c2_holds",
"c3_holds",
],
},
Preregistration {
id: "P-138",
ticket: "R-138",
hypothesis: "The 2026-08-23 memo killed Bernstein-Bezier form for the trilinear and said \
explicitly: revisit the entire hypothesis if the crate ever adopts a tricubic \
reconstruction filter. P-157 may propose exactly that, so the price should be on the \
table first. (C1) The mixed volume for gradf = 0 with a tricubic reconstruction is \
computed and reported, giving the critical-point bound that would replace the \
trilinear's 2. (C2) The Bernstein-form arguments the memo killed are re-checked at \
degree 3 per variable and reported as alive or dead, with the specific reason -- the \
memo predicts alive, and a prediction registered before the check is worth more than one \
after. SHARE: none -- this prices a decision, it does not make one.",
falsified_by: "C1 by a mixed volume that makes the tricubic case space computationally \
hopeless, which would be a strong argument against P-157 and should be said plainly. C2 \
by the Bernstein arguments staying dead at degree 3, which would contradict the memo's \
own prediction. VACUITY CONTROL: the trilinear must be run through the same pipeline and \
reproduce MV = 2, or the tricubic number has no calibration.",
records: &[
"reconstruction",
"degree_per_variable",
"mixed_volume",
"critical_points_bound",
"bernstein_route_alive",
"subdivision_exactness",
"estimated_case_count",
"c1_holds",
"c2_holds",
],
},
Preregistration {
id: "P-139",
ticket: "R-139",
hypothesis: "Viro's combinatorial patchworking builds a real algebraic hypersurface from \
signs at the lattice points of a Newton polytope, glued over a triangulation, and states \
when the piecewise-linear result is isotopic to the true hypersurface. Signs at the \
eight corners of a cube, glued over the Kuhn/Freudenthal triangulation, is marching \
tetrahedra. The theorem's hypothesis is that the triangulation be regular (induced by a \
convex lifting). (C1) The Kuhn triangulation of the unit cube is regular, demonstrated \
by exhibiting an explicit convex lifting function, or shown not to be -- this single \
fact decides the whole transfer. (C2) If regular, the patchworked surface is isotopic to \
a real algebraic hypersurface, and that isotopy claim agrees with T-015's \
Plantinga-Vegter checker on every cell of every reference field. (C3) The connection to \
the existing Lovasz-extension framing is made explicit: the Lovasz extension is PL \
interpolation over exactly this triangulation, so 2026-08-23's 'marching tetrahedra \
contours the Lovasz extension' and Viro's construction are the same statement from two \
fields. SHARE: none -- this is a theorem acquisition.",
falsified_by: "C1 by non-regularity, which kills the transfer in an afternoon and is the \
outcome to hope for if the alternative is a long shot. C2 by disagreement with T-015, \
which would mean one of the two instruments is wrong and finding out which is worth more \
than the transfer. C3 by the two framings differing, which would be genuinely \
surprising. VACUITY CONTROL: T-015 must report at least one isotopy failure somewhere in \
the corpus of test cells, or C2's agreement is agreement on a constant.",
records: &[
"triangulation",
"lifting_function",
"is_regular",
"secondary_polytope_vertex",
"patchworking_applies",
"isotopy_agreement",
"pv_disagreements",
"cells_checked",
"c1_holds",
"c2_holds",
"c3_holds",
],
},
Preregistration {
id: "P-140",
ticket: "R-140",
hypothesis: "CLAUDE.md records that chi cannot be asserted on gyroid or fbm_terrain, so \
those fields have no topological gate beyond manifoldness. Viro's construction is a \
generator: prescribe the topology, get a field. That turns the oracle problem inside \
out. (C1) At least three patchworked fields with prescribed, non-trivial genus are added \
as fixtures, and every extractor in the crate reproduces the prescribed chi at \
sufficient resolution. (C2) The resolution at which each extractor first reproduces the \
prescribed chi is reported per extractor, which is a sampling-adequacy curve the crate \
does not currently have for any field with known topology beyond the sphere and torus. \
SHARE: none -- this adds test coverage, and its value is the coverage.",
falsified_by: "C1 by any extractor failing to converge to the prescribed chi at any \
resolution, which would be a defect and the point of the fixture. C2 by all extractors \
converging at the same resolution, which would make the curve uninformative but is still \
worth one line. VACUITY CONTROL: at least one prescribed field must have genus above 1, \
or the fixture is a sphere in disguise.",
records: &[
"construction",
"prescribed_genus",
"prescribed_chi",
"measured_chi",
"chi_agreement",
"resolution",
"cells",
"nonmanifold_edges",
"extractors_tested",
"c1_holds",
"c2_holds",
],
},
Preregistration {
id: "P-141",
ticket: "R-141",
hypothesis: "THE REPOSITORY REJECTED CAD ON THE WRONG AXIS. discovery-dossier.md:298 \
dismisses it as 'global, doubly exponential, needs arbitrary precision' -- all true, and \
all irrelevant, because deriving a case table is an offline computation run once in the \
project's lifetime, not a runtime cost. The A-002 series' recurring expense is \
transcription (M-207, M-219, M-221, x22, M-228, M-231), which is exactly what machine \
derivation removes. (C1) A real-quantifier-elimination engine -- nlsat via Z3, or QEPCAD \
-- terminates on the single-cell topology query over the 8 corner parameters within a \
stated wall-clock budget, or is reported as not terminating, which is itself the answer. \
(C2) The derived taxonomy is compared against the crate's committed table, and every \
disagreement is adjudicated by hand against the trilinear. (C3) Any disagreement is \
checked against Custodio et al.'s published corrections to Chernyaev, so a machine \
disagreement is either a known bug or a new one. SHARE: none at runtime; this changes \
how the table is produced, not what it costs.",
falsified_by: "C1 by non-termination within budget, which closes the row honestly and is a \
real possibility. C2 by zero disagreements, which would be a strong independent \
validation of validate_table() and worth the whole ticket. C3 by disagreements outside \
Custodio's set that survive adjudication, which would be a genuine new finding. VACUITY \
CONTROL: the pipeline must first re-derive a known-correct sub-case the table already \
contains, or a clean run proves nothing about the solver's fidelity.",
records: &[
"solver",
"configuration",
"wall_clock_s",
"terminated",
"cases_derived",
"cases_matching_table",
"cases_disagreeing",
"custodio_disagreement_overlap",
"machine_checkable_certificate",
"c1_holds",
"c2_holds",
"c3_holds",
],
},
Preregistration {
id: "P-142",
ticket: "R-142",
hypothesis: "CLAUDE.md records that chi cannot be asserted on gyroid, which has left that \
field with no topological gate. It is assertable, and the reason the project could not \
see it is that the extraction box is not periodic-conforming. Triply periodic minimal \
surfaces have genus 3 per primitive translational cell; the gyroid's primitive lattice \
is body-centred cubic, so the conventional cubic cell holds two primitive cells and chi \
= -8, not -4. Verified numerically on the nodal surfaces at 32, 64, 96 and 128 voxels \
per period: Schwarz P -4, gyroid -8, Schwarz D -16 per conventional cubic cell, stable \
across resolution. (C1) Extracting the gyroid over an integer number of periods with \
periodic wrap gives chi = -8N^3 exactly, for N in {1, 2, 3}, on every extractor in the \
crate that produces a closed surface. (C2) The measured genus is 1 + 4N^3, consistent \
with C1 through chi = 2 - 2g. (C3) The oracle is added to the validity suite as a gate \
for gyroid, closing a hole the ledger currently records as permanent. SHARE: none -- \
this is a correctness gate where there was none.",
falsified_by: "C1 by any N disagreeing, which would mean the extraction is not \
periodic-conforming and the wrap is where the defect is -- itself a finding, since chunk \
seams are the recurring defect class. C2 by an inconsistent genus, which would mean the \
surface is not closed and orientable and C1's arithmetic does not apply. C3 by the gate \
being unimplementable within the existing suite. VACUITY CONTROL: the non-wrapped arm \
must be run and must fail the -8N^3 prediction, or the experiment has not shown that \
periodicity is what matters.",
records: &[
"field",
"periods_per_axis",
"resolution",
"wrap_mode",
"chi_predicted",
"chi_measured",
"chi_agreement",
"genus_measured",
"boundary_edges",
"nonmanifold_edges",
"cells",
"c1_holds",
"c2_holds",
"c3_holds",
],
},
Preregistration {
id: "P-143",
ticket: "R-143",
hypothesis: "The crate has exactly two fields with analytically known topology -- sphere and \
torus -- and both are genus <= 1. Schwarz P (chi = -4 per cubic cell) and Schwarz D (chi \
= -16) add two high-genus fields whose predictions differ from the gyroid's and from \
each other, so a single arithmetic error cannot pass all three. (C1) Both are added as \
reference fields and both reproduce chi = N^3.chi_cell under periodic wrap. (C2) THE \
MECHANISM IS ASSERTED RATHER THAN ASSUMED: the gyroid's nodal function is invariant \
under the body-centring shift (pi,pi,pi) while P's and D's are negated by it, which is \
exactly why the gyroid's cubic cell holds two primitive cells and theirs do not -- \
checked as a symbolic identity, not inferred from the chi values it explains. SHARE: \
none.",
falsified_by: "C1 by either field disagreeing. C2 by the invariance failing, which would \
mean the explanation for the factor of two is wrong even if the numbers are right -- and \
an unexplained correct number is exactly what M-206 was before P-127. VACUITY CONTROL: \
the three fields must produce three different chi values at N = 1, or the suite cannot \
distinguish a correct oracle from a constant.",
records: &[
"field",
"space_group",
"primitive_lattice",
"chi_per_cubic_cell",
"chi_predicted",
"chi_measured",
"periods",
"resolution",
"body_centering_invariance",
"c1_holds",
"c2_holds",
],
},
Preregistration {
id: "P-144",
ticket: "R-144",
hypothesis: "P-142 closes gyroid; fbm_terrain remains open, and the question is whether it \
can be closed at all rather than whether some formula applies. A periodic lattice-noise \
field with a fixed seed is a deterministic function with a definite chi, so the question \
is empirical: does it converge with resolution, and is it stable enough to gate on? (C1) \
With periodic wrap and a fixed seed, measured chi converges as resolution increases and \
is stable to at least 65^3. (C2) chi varies across seeds, so the gate must be per-seed \
rather than per-field -- stated in advance so nobody writes a single constant into the \
suite. SHARE: none.",
falsified_by: "C1 by chi still moving at the highest tested resolution, which would say the \
field is not resolved and no oracle is available at game resolutions -- the likely \
outcome and worth recording. C2 by seed-independent chi, which would be surprising and \
would make the gate much cheaper. VACUITY CONTROL: at least three seeds must be run, or \
C2 cannot fire.",
records: &[
"field",
"octaves",
"period",
"wrap_mode",
"chi_measured",
"chi_variance_across_seeds",
"chi_stable",
"oracle_exists",
"resolution_convergence",
"c1_holds",
"c2_holds",
],
},
Preregistration {
id: "P-145",
ticket: "R-145",
hypothesis: "2026-08-26-audit-and-phase-23-registrations.md:365 flags Etiene et al. 2012's \
DOI as unverified. It is 10.1109/tvcg.2011.109, TVCG 18(6), and the paper computes \
ground-truth topological invariants per instance using stratified Morse theory and \
digital topology -- a deterministic oracle, strictly stronger than any statistical one \
wherever it applies. (C1) The method computes a ground-truth chi on at least two fields \
where the crate currently has none, and agrees with P-142's analytic prediction on \
gyroid, which is the cross-check that validates both. (C2) The cost is reported and the \
set of fields where it applies is stated, because an oracle that costs more than the \
mesh is a test-only instrument and should be labelled one. SHARE: none -- verification \
cost, not runtime cost.",
falsified_by: "C1 by disagreement with P-142, which would put one of the two oracles in \
doubt and is the most informative possible outcome. C2 by inapplicability to every field \
the crate cares about. VACUITY CONTROL: the method must be run on sphere and return chi \
= 2, or it is not calibrated.",
records: &[
"field",
"resolution",
"chi_stratified_morse",
"chi_extracted",
"agreement",
"disagreement_cells",
"method_cost_ms",
"applicable_fields",
"doi_verified",
"c1_holds",
"c2_holds",
],
},
Preregistration {
id: "P-146",
ticket: "R-146",
hypothesis: "THE LARGEST PAID-FOR GAP THIS SWEEP FOUND. The corpus holds five papers on \
metric-based anisotropic adaptation at 0.70-0.71 -- Yano & Darmofal, Cao, Bawin et al., \
ParMmg, Mirebeau -- and the repository cites none of them; Loseille, Alauzet, metric \
tensor and log-Euclidean are zero across every file. The optimal L^p metric is M_Lp = \
D_Lp . det(|H_u|)^(-1/(2p+d)) . |H_u| with complexity C(M) = integral sqrt(det M) \
standing in for vertex count (NASA NTRS 20200003084, restating Loseille & Alauzet \
verbatim; the SIAM originals are paywalled). The Hessian is available: the crate already \
samples the trilinear and already computes central differences at cell size (M-65). (C1) \
At matched symmetric Hausdorff error, a metric-driven mesh uses at least 25% fewer \
triangles than uniform refinement on at least three of eight reference fields. (C2) The \
fields where it wins are the ones with a flat direction -- ridges, creases, the CSG box \
edges -- and the fields where it does not win are the isotropically curved ones, \
predicted per field before the run. (C3) Computing the metric costs under 15% of \
extraction. SHARE: C1 moves the triangle budget, whose share of frame cost M-135 puts at \
29% for the contour and 45% for the collider check.",
falsified_by: "C1 by under 25% everywhere, which would mean our fields have no exploitable \
anisotropy and closes Group D's largest row. C2 by the win landing on the wrong fields, \
which would mean the mechanism is not the one claimed even if the number is real. C3 by \
above 15%. VACUITY CONTROL: the reported maximum aspect ratio must exceed 3 on at least \
one field, or the 'anisotropic' arm is isotropic and C1 is measuring noise.",
records: &[
"field",
"resolution",
"metric",
"p_norm",
"complexity_target",
"triangles_isotropic",
"triangles_anisotropic",
"hausdorff_isotropic",
"hausdorff_anisotropic",
"triangles_at_matched_hausdorff",
"ratio",
"aspect_ratio_max",
"aspect_ratio_mean",
"metric_ms",
"metric_share",
"c1_holds",
"c2_holds",
"c3_holds",
],
},
Preregistration {
id: "P-147",
ticket: "R-147",
hypothesis: "THE SEDUCTIVE VERSION OF GROUP D IS WRONG AND THE REGISTRATION SAYS SO IN \
ADVANCE. For W^{2,p} regularity, uniform refinement gives O(N^(-2/3)) in 3D and the \
optimal anisotropic mesh gives O(N^(-2/3)) -- the same exponent; Bonito, Canuto, \
Nochetto & Veeser (Acta Numerica 2024, in corpus at 10.1017/s0962492924000011) state \
flatly that the order 'cannot be improved upon assuming either higher regularity ... or \
a graded mesh'. What anisotropy buys is the constant: ||sqrt(|det H|)||_{L^tau} replaces \
|f|_{W^{2,p}}, and by AM-GM the former is never larger. (C1) The fitted error exponent \
is statistically indistinguishable between isotropic and anisotropic arms -- \
|Deltaexponent| < 0.1 -- on every smooth field. (C2) The fitted constant improves, and \
its improvement tracks the measured AM-GM gap ||sqrt(|det H|)|| / ||tr|H|/d|| per field, \
rank correlation above 0.7. (C3) A field lacking W^{2,p} regularity -- csg_difference, \
whose gradient is discontinuous -- shows an exponent difference above 0.1, because that \
is the one regime where grading wins in the exponent. SHARE: none -- this is M-12's law, \
decomposed.",
falsified_by: "C1 by an exponent gain on a smooth field, which would contradict the cited \
theory and would be the more interesting result. C2 by a constant improvement \
uncorrelated with the AM-GM gap, which would mean the mechanism is not the one the \
theory names. C3 by no exponent difference on the CSG field, which would say our sharp \
fields are smoother than assumed. VACUITY CONTROL: the AM-GM gap column must vary by at \
least 2x across fields, or C2's correlation is against a constant.",
records: &[
"field",
"resolution_series",
"fitted_exponent_isotropic",
"fitted_exponent_anisotropic",
"exponent_difference",
"fitted_constant_isotropic",
"fitted_constant_anisotropic",
"constant_ratio",
"am_gm_gap",
"flat_direction_fraction",
"c1_holds",
"c2_holds",
"c3_holds",
],
},
Preregistration {
id: "P-148",
ticket: "R-148",
hypothesis: "A metric field must be interpolated, and component-wise interpolation of \
symmetric positive-definite matrices is not intrinsic -- it can swell determinants, \
which in mesh terms means spuriously coarsening. The log-Euclidean scheme exp((1-t)log \
M1 + t log M2) is determinant-monotone. This lands directly on M-32: seams are bit-exact \
only when the cell size is a power of two, and a matrix logarithm is not obviously going \
to preserve that. (C1) Component-wise interpolation produces measurable determinant \
swell -- above 5% on at least one field -- and log-Euclidean does not. (C2) \
Log-Euclidean interpolation preserves M-32's power-of-two bit-exactness, or it does not, \
and which is stated as the result rather than assumed. (C3) The seam remains closed \
under both schemes: zero additional open edges against the existing seam counter. SHARE: \
C1 moves the metric-construction stage, whose share P-146 C3 reports.",
falsified_by: "C1 by no swell, which would mean the intrinsic scheme is unnecessary here and \
saves the transcendental cost. C2 by loss of bit-exactness, which would make \
log-Euclidean incompatible with the crate's determinism goal and is the outcome that \
decides the row. C3 by new open edges under either scheme. VACUITY CONTROL: the fixture \
must contain a seam where the two chunks' metrics genuinely differ, reported as a \
metric-distance column, or both schemes are interpolating between equal endpoints.",
records: &[
"interpolation_scheme",
"seam_axis",
"determinant_swell_max",
"determinant_swell_mean",
"seam_vertices_moved",
"seam_open_edges",
"hashes_moved",
"bit_exact_seam",
"cell_size_power_of_two",
"c1_holds",
"c2_holds",
"c3_holds",
],
},
Preregistration {
id: "P-149",
ticket: "R-149",
hypothesis: "P-146 measures the aggregate; this measures the mechanism. The AM-GM gap \
collapses toward zero exactly where one principal curvature vanishes, so the saving \
should be a function of the curvature ratio and nothing else. (C1) Binning surface cells \
by principal-curvature ratio, the anisotropic triangle saving is monotone in the ratio, \
with correlation above 0.7. (C2) Cells with ratio near 1 -- spherical caps -- show no \
saving, which is the control that says the effect is anisotropy rather than a general \
refinement improvement. SHARE: C1 decomposes P-146's C1 saving by feature class; the bin \
populations are reported so each saving has a denominator.",
falsified_by: "C1 by a non-monotone relationship, which would mean the saving comes from \
somewhere other than anisotropy. C2 by a saving on isotropic cells, same conclusion and \
more damning. VACUITY CONTROL: every curvature-ratio bin must be non-empty on at least \
one field, reported as counts, or the monotonicity is fitted through gaps.",
records: &[
"feature_class",
"principal_curvature_ratio",
"cells",
"triangles_isotropic",
"triangles_anisotropic",
"saving",
"hausdorff_delta",
"saving_vs_curvature_ratio_correlation",
"c1_holds",
"c2_holds",
],
},
Preregistration {
id: "P-150",
ticket: "R-150",
hypothesis: "THIS ROW EXISTS BECAUSE THE HEADLINE NUMBER FOR GROUP D IS NOT WHAT IT LOOKS \
LIKE. Cao's Table 2 (10.1090/S0025-5718-07-01981-3, in corpus) does show 5.43e-7 versus \
2.79e-6 at N_e ~ 16,000 -- a real 5.1x spread, and the element counts match to within \
1.4%, not exactly. But the two metrics are optimised for different norms: in H^1 the \
ranking reverses. And Cao writes that his theory holds 'in all the cases except the \
L^1-error of quadratic interpolation' -- the L^1 column is the one place his own optimal \
metric does not win. Building on that column is the weakest available ground and the \
registration says so before anyone quotes 5.1x as a free win. (C1) On our fields, the \
metric optimised for a given norm wins in that norm -- the property Cao's theory asserts \
and his L^1 column violates. (C2) Any violation we find is characterised, and the \
comparison is always reported within a norm, never across two. SHARE: none -- this is a \
methodology guard.",
falsified_by: "C1 by a violation, which would reproduce Cao's anomaly on different data and \
would be a genuine contribution to a question his paper leaves open. C2 by an \
uncharacterisable violation. VACUITY CONTROL: at least three norms must be run, or \
'within a norm' is not a constraint.",
records: &[
"norm",
"metric",
"element_count",
"error_measured",
"optimal_metric_wins",
"anomaly_reproduced",
"cao_table_agreement",
"c1_holds",
"c2_holds",
],
},
Preregistration {
id: "P-151",
ticket: "R-151",
hypothesis: "v1's Axis 7 named goal-oriented adaptivity and nothing has used it. The \
dual-weighted-residual method refines to reduce error in a chosen output functional \
rather than globally, and for a game the functional is screen-space error under the \
current camera. Yano & Darmofal (in corpus, 10.2514/6.2012-79) give the optimisation \
framing: 'both the sizing decision and the anisotropy decision are driven directly by \
the behavior of the a posteriori error estimate.' (C1) At matched triangle count, a \
goal-oriented criterion beats camera-distance LOD on screen-space error by at least 20%. \
(C2) The saving comes from not refining what is off-screen or back-facing, reported as \
an off-screen triangle count, rather than from a general improvement. (C3) The adjoint \
cost is under 10% of extraction, or the method is a non-starter for a frame budget and \
should be said so. SHARE: C1 moves the LOD selection stage; M-121 measured a level \
change moving the surface by up to 3.14 cells, which is the pop this criterion is meant \
to spend better.",
falsified_by: "C1 by under 20%. C2 by a saving that persists with everything on-screen, \
which would mean the mechanism is not visibility. C3 by above 10%. VACUITY CONTROL: the \
camera must be positioned so that a non-trivial fraction of the scene is off-screen, \
reported as a fraction, or C2 cannot fire.",
records: &[
"criterion",
"functional",
"triangles",
"screen_space_error",
"screen_error_at_matched_triangles",
"off_screen_triangles",
"adjoint_ms",
"adjoint_share",
"pop_magnitude_cells",
"c1_holds",
"c2_holds",
"c3_holds",
],
},
Preregistration {
id: "P-152",
ticket: "R-152",
hypothesis: "Dual Contouring minimises squared distance to tangent planes, which silently \
assumes the cell's surface patch is near-planar. Jones' beta_inf(Q) -- the width of the \
thinnest slab containing the patch, over diam Q -- is the formal name for that \
assumption and comes with theorems; Azzam & Schul's higher-dimensional Traveling \
Salesman Theorem (arXiv:1609.02892, acquired and indexed this session, 79 pp.) is the \
surface case. beta is absent from the corpus and from every file in the repo. (C1) \
beta_inf(Q).diam(Q) is computable per cell at under 10% of extraction cost. (C2) It \
rank-correlates with the QEF residual above 0.7 on at least six of eight fields. (C3) IT \
CARRIES SIGNAL THE RESIDUAL DOES NOT: there exist cells with low residual and high beta, \
and the count is reported -- those are the cells where the plane fit is confidently \
wrong. SHARE: C1 moves the vertex-placement stage, whose cost M-25 puts at 3% over \
Surface Nets.",
falsified_by: "C1 by above 10%. C2 by correlation below 0.7 on three or more fields, which \
would mean beta and the residual measure different things and C3 becomes the whole row. \
C3 by an empty set, which would mean beta is a reparametrisation of the residual and \
buys a theorem but no new signal -- the most likely outcome and the reason C3 exists. \
VACUITY CONTROL: the residual column must have non-zero variance on every field, or the \
correlation is against a constant.",
records: &[
"field",
"resolution",
"beta_infinity",
"beta_times_diam",
"qef_residual",
"rank_correlation",
"cells",
"beta_ms",
"beta_share",
"singular_cells",
"c1_holds",
"c2_holds",
"c3_holds",
],
},
Preregistration {
id: "P-153",
ticket: "R-153",
hypothesis: "Three candidate refinement criteria now exist -- beta, estimated curvature, and \
camera distance -- and only the third has ever been used. (C1) At matched triangle \
count, beta-driven refinement beats camera-distance refinement on symmetric Hausdorff \
error on at least five of eight fields. (C2) beta beats curvature specifically on fields \
with sub-cell structure, where curvature estimated at the cell size is aliased and beta \
is not, because beta is defined by a slab fit rather than by a derivative -- thin_plate \
and noise_cavity are the named predictions. SHARE: C1 moves the adaptivity stage, and \
the triangle counts are reported so the comparison is at a fixed budget.",
falsified_by: "C1 by under five fields. C2 by curvature matching beta on thin_plate, which \
would mean the aliasing argument is wrong and M-72's mechanism does not reach the \
criterion. VACUITY CONTROL: the worst-decile Hausdorff column must differ across \
criteria, or all three are refining the same cells.",
records: &[
"criterion",
"field",
"triangles",
"hausdorff",
"hausdorff_at_matched_triangles",
"criterion_ms",
"rank_correlation_with_error",
"worst_decile_hausdorff",
"c1_holds",
"c2_holds",
],
},
Preregistration {
id: "P-154",
ticket: "R-154",
hypothesis: "The Traveling Salesman Theorem's content is that sum over Q of beta(Q)^2 * \
diam(Q)^d converges precisely for rectifiable sets -- which turns multiscale flatness \
into a number computed over the whole field before any mesh exists. That is an a-priori \
budget, which no criterion in the crate currently provides; M-13 gives surface cells ~ \
1.5.A/h^2 after the fact. (C1) The beta-sum predicts final triangle count within 25% on \
at least five of eight fields at three resolutions. (C2) The sum converges as scales are \
added -- reported as a convergence column -- because a divergent sum would mean the \
field is not rectifiable at the resolutions we mesh at, which would be a more \
interesting finding than the budget. SHARE: none -- this predicts a cost, it does not \
change one.",
falsified_by: "C1 by above 25% on four or more fields, which would leave M-13's area law the \
better predictor and close the row. C2 by divergence, which reframes the whole thing. \
VACUITY CONTROL: at least four dyadic scales must be summed, or convergence cannot be \
observed.",
records: &[
"field",
"resolution",
"beta_sum",
"predicted_triangles",
"actual_triangles",
"prediction_error",
"prediction_error_ratio",
"sum_converges",
"scales_used",
"c1_holds",
"c2_holds",
],
},
Preregistration {
id: "P-155",
ticket: "R-155",
hypothesis: "M-12 measured Marching Cubes' error falling like h^2 with a fitted constant, \
and M-113 found the fitted constant does not survive across configurations. Strang-Fix \
theory says the order is a property of the filter and gives a closed form for the \
asymptotic constant; the trilinear's order-2 is then a derivation rather than a \
measurement. (C1) The Strang-Fix approximation order of the tensor-product hat is 2, \
derived and asserted as a test, matching M-12's measured exponent. (C2) The predicted \
asymptotic constant reproduces M-12's fitted constant within its confidence interval on \
at least four of eight fields. SHARE: none -- this converts a fit into a prediction.",
falsified_by: "C1 by a derived order other than 2, which would mean the filter is not what \
we think it is. C2 by the prediction missing on five or more fields, which would mean \
the asymptotic regime is not reached at game resolutions -- a genuinely useful negative, \
because it would say M-12's law is empirical rather than asymptotic and should not be \
extrapolated. VACUITY CONTROL: the fitted constants must differ across fields by at \
least 2x, or the prediction is matching a universal constant by accident.",
records: &[
"field",
"resolution_series",
"fitted_constant",
"fitted_constant_ci",
"predicted_constant",
"ratio",
"within_ci",
"strang_fix_order",
"measured_order",
"c1_holds",
"c2_holds",
],
},
Preregistration {
id: "P-156",
ticket: "R-156",
hypothesis: "x42/M-359 measured shifted linear interpolation and found the recursive \
prefilter's non-locality bounded -- truncation at k >= 10 moves the root under 7.15e-7 \
cells on all eight fields -- so the chunk-locality objection is already retired \
empirically. Quasi-interpolation achieves full approximation order with a compactly \
supported prefilter, making locality exact rather than bounded (Blu & Unser, \
10.1006/acha.1998.0249; the corpus holds only the landing page, so the construction must \
be taken from a freely available restatement and that source named in the finding). (C1) \
A compactly supported quasi-interpolant matches the truncated recursive prefilter's \
accuracy to within 5%. (C2) It is exactly chunk-local -- zero dependence outside the \
chunk, asserted structurally rather than measured. (C3) Chunk seams remain bit-exact \
where M-32 says they should be, and the golden hashes that move are counted, since any \
reconstruction change is a re-baseline. SHARE: C1 moves the vertex-interpolation stage, \
the crate's single most-executed operation.",
falsified_by: "C1 by above 5%, which would mean compactness costs accuracy and the truncated \
recursive filter is the better engineering answer. C2 by any external dependence, which \
would mean the quasi-interpolant was mis-constructed. C3 by loss of seam bit-exactness. \
VACUITY CONTROL: the truncated-recursive arm must reproduce x42's 7.15e-7 figure as a \
control, or the comparison has no baseline.",
records: &[
"prefilter",
"support",
"field",
"root_position_error",
"hausdorff",
"prefilter_ms",
"chunk_local",
"seam_bit_exact",
"hashes_moved",
"vs_truncated_recursive",
"c1_holds",
"c2_holds",
"c3_holds",
],
},
Preregistration {
id: "P-157",
ticket: "R-157",
hypothesis: "x42 tested a knot shift at fixed order and found the gain maps to root position \
only as a lottery over the crossing position. The untested lever is the order itself: a \
filter with approximation order 4 changes the exponent, not the constant, and that is a \
different mechanism with a different failure mode. (C1) A higher-order reconstruction \
gives a fitted error exponent above 3 on at least four smooth fields, against the \
trilinear's 2. (C2) The cost is stated honestly in the currency that matters: field \
evaluations per cell, and the resulting share of extraction time, because a wider \
stencil is more samples and samples are this crate's dominant cost on procedural fields. \
(C3) THE COLLATERAL IS PRICED AT REGISTRATION: the entire A-002 apparatus -- the \
asymptotic decider, the interior test, the body-saddle algebra, and P-127's identity -- \
is derived from the trilinear and would need re-deriving; the count of invalidated cases \
is a reported column, not a discovery. SHARE: C2 moves the field-evaluation stage, which \
M-152 puts at 2.65 ms of an 8.40 ms upload at 129^3.",
falsified_by: "C1 by an exponent at or below 3, which would mean the order does not \
materialise on our fields at our resolutions. C2 by a share that makes it unaffordable \
regardless of accuracy. C3 by a smaller invalidation than predicted, which would be good \
news and should be recorded as such. VACUITY CONTROL: the trilinear arm must reproduce \
exponent 2 in the same harness, or the comparison is between two different measurement \
setups.",
records: &[
"filter",
"approximation_order",
"field",
"resolution_series",
"fitted_exponent",
"hausdorff",
"samples_per_cell",
"eval_ms",
"eval_share",
"cases_invalidated",
"hashes_moved",
"c1_holds",
"c2_holds",
"c3_holds",
],
},
Preregistration {
id: "P-158",
ticket: "R-158",
hypothesis: "Sparse grids give O(h^-^1.|log h|^(d-1)) points instead of O(h^-d) -- but only \
for functions with bounded mixed second derivatives (H^2_mix; Bungartz & Griebel, \
10.1017/s0962492904000182). This registration exists to test the hypothesis rather than \
the method, because the hypothesis is where it dies. (C1) The mixed-derivative norm \
||d^6 u / dx^2 dy^2 dz^2|| is measured on all eight reference fields, and is unbounded \
on the CSG fields -- box_exact and csg_difference -- where the surface has sharp edges. \
(C2) On the fields where it is bounded, a sparse grid reaches matched Hausdorff error \
with at least 2x fewer samples. SHARE: C2 moves the field-evaluation stage on qualifying \
fields only, and the qualifying set is C1's output.",
falsified_by: "C1 by a bounded norm on the CSG fields, which would be surprising and would \
open the method to everything. C2 by under 2x on the smooth fields, which would say the \
asymptotic advantage does not materialise at game resolutions -- the expected outcome, \
and the reason this row is M rather than L. VACUITY CONTROL: sphere must show a bounded \
norm, or the measurement is broken rather than the fields being rough.",
records: &[
"field",
"mixed_derivative_norm",
"norm_finite",
"sparse_grid_points",
"full_grid_points",
"point_ratio",
"hausdorff_sparse",
"hausdorff_full",
"fields_qualifying",
"c1_holds",
"c2_holds",
],
},
Preregistration {
id: "P-159",
ticket: "R-159",
hypothesis: "EVERY NUMBER IN THIS LEDGER IS A NUMERATOR. M-12's constant, F-007's 13-15%, \
x42's ratio -- each says did this help and none says how much is left. Information-based \
complexity answers the second, and field evaluation is this crate's dominant cost, so \
the bound is denominated in the currency actually spent (Krieg & Ullrich, \
arXiv:2602.02066, acquired and indexed this session). (C1) The n-th minimal error rate \
for a stated regularity class is established from the literature and written down with \
all its hypotheses, and the class our fields plausibly belong to is named. (C2) The \
measured extractor error is compared against it, and the answer is stated as a ratio. \
(C3) IF THE MINIMAL RATE IS ALREADY Theta(h^2), MARCHING CUBES IS ORDER-OPTIMAL AND ONLY \
THE CONSTANT IS IN PLAY -- which would cap P-157 and much of Group D's ambition at 'a \
better constant', and is the most valuable single sentence this phase could produce. \
SHARE: none -- this is a denominator, not a saving.",
falsified_by: "C1 by no rate being available for any class our fields belong to, which would \
say IBC does not reach this problem and should be closed out. C2 by a ratio that is not \
computable because the class assumptions are unverifiable on procedural fields. C3 is \
not falsifiable -- it is a branch, and both branches are recorded. VACUITY CONTROL: the \
class membership must be argued from a measured property of each field -- a regularity \
estimate, reported as a column -- not assumed, or the whole comparison is against a \
class we merely hope applies.",
records: &[
"field_class",
"regularity",
"n_samples",
"minimal_error_rate",
"measured_error_rate",
"ratio",
"order_optimal",
"constant_gap",
"class_assumptions",
"c1_holds",
"c2_holds",
"c3_holds",
],
},
Preregistration {
id: "P-160",
ticket: "R-160",
hypothesis: "IT IS TEMPTING TO CITE A BOUND HERE AND IT WOULD BE WRONG. Gal & Micchelli and \
Novak (10.1006/jcom.1996.0015) prove adaption improves worst-case error by at most a \
factor of two -- under four hypotheses: the class is convex, the class is symmetric, the \
error is worst-case, and the solution operator is a continuous linear mapping. Level-set \
extraction is not a continuous linear operator on a convex symmetric class, and the same \
literature records gains up to order n for nonlinear problems with restricted \
information. So the cap does not bind and the question is empirical. (C1) At matched \
sample budget, octree-adaptive sampling beats uniform on symmetric Hausdorff error, and \
the gain is reported per field. (C2) The gain exceeds 2 on at least one field, which is \
the concrete demonstration that the factor-2 result does not apply here. (C3) The four \
hypotheses are each checked against our setting and recorded as a row of booleans, so no \
future reader re-imports the bound. SHARE: C1 moves the field-evaluation stage at fixed \
budget.",
falsified_by: "C1 by adaptive losing, which would be a strong argument against the whole \
octree line. C2 by every gain falling under 2, which would be consistent with the \
theorem applying after all and would send C3 back for a harder look. C3 by any \
hypothesis being arguably satisfied. VACUITY CONTROL: the adaptive arm must actually \
vary its sample density, reported as a density ratio, or both arms are uniform.",
records: &[
"field",
"sample_budget",
"hausdorff_uniform",
"hausdorff_adaptive",
"gain",
"gain_exceeds_two",
"class_convex",
"class_symmetric",
"operator_linear",
"c1_holds",
"c2_holds",
"c3_holds",
],
},
Preregistration {
id: "P-161",
ticket: "R-161",
hypothesis: "The corpus holds four adaptive-approximation papers at 0.62-0.64 -- Karkulik & \
Praetorius, Gaspoz & Morin, Mommer & Stevenson, and the Bonito/Canuto/Nochetto/Veeser \
survey -- and Stevenson is cited in this repository only for the newest-vertex-bisection \
closure bound, never for the approximation-class theory in the same PDFs. The class A^s \
is the right object: if a field's s is the same under uniform and adaptive refinement, \
octree LOD provably buys nothing asymptotically on that field. (C1) s is estimated for \
both refinement strategies on all eight fields. (C2) The fields split: at least one has \
s_adaptive > s_uniform and at least one does not, so the answer is field-dependent and \
the crate can say which fields LOD is for. SHARE: none -- this predicts where a stage \
helps, it does not change the stage.",
falsified_by: "C1 by s not being estimable from the achievable resolution range, which is a \
real risk and should close the row honestly. C2 by every field behaving alike, which \
would be a simpler and still useful answer. VACUITY CONTROL: at least four resolutions \
per field, with the fitted s carrying a confidence interval, or the split in C2 is \
fitted noise.",
records: &[
"field",
"s_uniform",
"s_adaptive",
"s_difference",
"class_membership",
"n_term_decay",
"lod_asymptotic_gain",
"c1_holds",
"c2_holds",
],
},
Preregistration {
id: "P-162",
ticket: "R-162",
hypothesis: "G(Z^3) = 1/12 = 0.0833333 and G(A3*) = 19/(192*cbrt(2)) = 0.078543281, both \
verified by direct Voronoi-cell integration this session, giving a 5.748% MSE reduction, \
0.2571 dB at matched point density. Barnes & Sloane (10.1137/0604005) prove A3* optimal \
among 3D lattices -- not among all quantizers, where the bracketing bounds remain \
unproven. (C1) At matched sample count, BCC sampling improves symmetric Hausdorff error \
over the cubic grid on at least five of eight fields. (C2) The improvement is in the \
neighbourhood of the predicted 0.257 dB -- within a factor of 2 -- or the deviation is \
explained, because G predicts quantization error and Hausdorff error is not that, and \
the gap between them is the interesting part. (C3) The cost is stated: a BCC extractor \
needs a different case table, and its size is reported alongside the cubic 256. SHARE: \
C1 moves the whole sampling stage; C3 is a complexity cost, not a runtime one.",
falsified_by: "C1 by under five fields. C2 by an unexplained deviation beyond 2x, which \
would mean G is the wrong figure of merit for surface extraction and would be worth \
writing down. C3 by a case table large enough to be impractical. VACUITY CONTROL: both \
arms must be at genuinely matched point density, reported as counts, or the comparison \
is a resolution change wearing a lattice's name.",
records: &[
"lattice",
"G",
"samples",
"field",
"hausdorff",
"hausdorff_ratio",
"predicted_gain_db",
"measured_gain_db",
"prediction_holds",
"extraction_ms",
"case_table_size",
"c1_holds",
"c2_holds",
"c3_holds",
],
},
Preregistration {
id: "P-163",
ticket: "R-163",
hypothesis: "G(D3) = 2^(-11/3) = 0.078745066 against G(A3*) = 0.078543281 -- a gap of 0.011 \
dB, about 4% of the size of the cubic-vs-BCC gap. This registration exists so that a \
null is on the record before somebody spends a week distinguishing them. (C1) The \
measured FCC-BCC Hausdorff difference is below the measurement scatter of the harness \
itself, reported as a scatter column from repeated runs. SHARE: none.",
falsified_by: "C1 by a resolvable difference, which would mean either the harness is more \
precise than expected -- useful -- or that Hausdorff error responds to something G does \
not capture, which is P-162 C2's question answered from the other side. VACUITY CONTROL: \
the harness scatter must be estimated from at least five repeated runs of the same \
lattice, or 'below scatter' has no denominator.",
records: &[
"lattice",
"G",
"predicted_gap_db",
"measured_gap_db",
"measurement_scatter_db",
"gap_below_scatter",
"c1_holds",
],
},
Preregistration {
id: "P-164",
ticket: "R-164",
hypothesis: "Entezari, Van De Ville & Moller, Practical box splines on the BCC lattice \
(10.1109/tvcg.2007.70429), is in the corpus and the 2026-08-23 sweep recorded it as 'YES \
(today) | 0 files' -- acquired and never cited, now for a second time. It is the \
reconstruction half of P-162's sampling half, and the two are only meaningful together: \
a better lattice sampled with the wrong filter is not obviously better at anything. (C1) \
A BCC box spline achieves at least the trilinear's approximation order on the BCC \
lattice, derived and then measured. (C2) The combination -- BCC lattice plus box spline \
-- beats cubic-plus-trilinear at matched sample count by more than the lattice change \
alone does in P-162, which is the test of whether the two compose. SHARE: C2 moves the \
sampling and reconstruction stages jointly, and P-162's C1 is the baseline it is \
measured against.",
falsified_by: "C1 by a lower order, which would mean the lattice gain is paid back at \
reconstruction. C2 by no improvement over P-162 alone, which would mean they do not \
compose and the filter is doing nothing. VACUITY CONTROL: P-162 must have completed and \
its per-field numbers must be the reported baseline, or C2 has nothing to exceed.",
records: &[
"filter",
"lattice",
"approximation_order",
"support_size",
"evaluations_per_cell",
"hausdorff",
"eval_ms",
"vs_trilinear_on_cubic",
"c1_holds",
"c2_holds",
],
},
Preregistration {
id: "P-165",
ticket: "R-165",
hypothesis: "M-56 measured greedy meshing's saving over face culling at 1.70x to 256x and \
called it field-dependent -- but never measured it against the optimum, which for a \
rectilinear region is a classical polynomial-time problem. Eppstein (arXiv:0908.3916, \
acquired and converted this session) gives it exactly: the minimum number of rectangles \
is n/2 + h - g - 1, where g is the maximum number of disjoint good diagonals -- \
axis-parallel interior segments joining two concave vertices -- found as a maximum \
independent set in a bipartite intersection graph of horizontal against vertical chords, \
hence by Konig's theorem via maximum matching, in O(n^{3/2} log n) with range searching. \
Independently discovered by Lipski et al. (1979), Ohtsuki (1982), and Ferrari, Sankar & \
Sklansky (1984). (C1) The optimum is computed on all seven fields at three resolutions. \
(C2) Greedy's ratio to the optimum is reported per field, turning M-56's unbounded range \
into a distance. (C3) The optimum's cost is under 10x greedy's, or it is a measurement \
instrument rather than a shippable algorithm and is labelled one. SHARE: C2 moves the \
greedy-meshing stage, whose saving M-56 bounds.",
falsified_by: "C1 by the reduction not applying -- for instance if the merged regions have \
holes the formula's h does not model. C2 by greedy already achieving the optimum on \
every field, which would close M-56's question with the best possible answer. C3 by \
above 10x. VACUITY CONTROL: at least one field must have g > 0 and at least one h > 0, \
reported as columns, or the formula is being checked in its degenerate case.",
records: &[
"field",
"resolution",
"vertices_n",
"holes_h",
"good_diagonals_g",
"optimum_rectangles",
"greedy_rectangles",
"ratio",
"matching_ms",
"optimum_ms",
"c1_holds",
"c2_holds",
"c3_holds",
],
},
Preregistration {
id: "P-166",
ticket: "R-166",
hypothesis: "Greedy is provably optimal on matroids and within (1-1/e) for monotone \
submodular maximisation under a cardinality constraint (Nemhauser, Wolsey & Fisher; \
paywalled, so the statement must be sourced from a freely available restatement). Greedy \
meshing is a minimum-cardinality cover, not a max-weight independent set, so no matroid \
-- that half is registered as a negative. The LOD chunk budget is the other half: choose \
which chunks to refine under a fixed frame budget to minimise screen-space error. (C1) \
Greedy meshing is shown not to be a matroid problem, by exhibiting a counterexample to \
the exchange property. (C2) The LOD budget's marginal screen-space-error reduction is \
measured per chunk and shown to be diminishing -- or a chunk with increasing marginal \
returns is exhibited, which would kill the (1-1/e) guarantee outright and is the \
falsifier that matters. SHARE: C2 governs the LOD selection stage, whose amortised cost \
M-124 tracks to within one chunk.",
falsified_by: "C1 by the exchange property holding, which would be a much stronger result. \
C2 by increasing marginal returns, which closes the guarantee -- and finding one such \
chunk is cheaper than proving none exists, so the experiment is designed to look for it. \
VACUITY CONTROL: the marginal-return curve must be computed over at least 50 chunks \
spanning at least two LOD levels, or 'diminishing' is a claim about a handful of points.",
records: &[
"problem",
"is_matroid",
"is_submodular",
"marginal_returns_monotone",
"greedy_ratio",
"bound_applies",
"violating_chunks",
"c1_holds",
"c2_holds",
],
},
Preregistration {
id: "P-167",
ticket: "R-167",
hypothesis: "Marching Cubes is a lookup on a Boolean function of 8 variables, and the \
analysis of Boolean functions has exact machinery for such objects -- Walsh-Hadamard \
expansion, degree, spectral concentration, algebraic normal form (O'Donnell, \
arXiv:2105.10386, acquired and indexed this session). Absent from the corpus at 0.584 \
and from every file in the repo. (C1) The Walsh-Hadamard spectrum of the table, treated \
as a vector-valued Boolean function, is computed and its weight distribution by degree \
reported. (C2) The spectrum is not concentrated on low degrees -- the honest prediction, \
since a case table encoding topology should need high-degree terms -- and the ANF term \
count is reported so the negative is quantitative. (C3) If C2 is falsified and the \
spectrum is sparse, a branchless spectral evaluation is benchmarked against the table \
lookup. SHARE: C3 moves the classification stage, which the work-graphs result put at a \
2.8-3.4x loss when moved to irregular GPU dispatch.",
falsified_by: "C1 by the transform not being well-defined for the vector-valued output, \
which would mean the framing needs per-bit treatment and should say so. C2 by \
concentration on low degrees, which is the good outcome and triggers C3. C3 by the \
spectral evaluation losing to a lookup, which is likely -- a 256-entry table is already \
in L1. VACUITY CONTROL: a known low-degree function (parity, majority) must be run \
through the same transform and reproduce its known spectrum, or the instrument is \
unvalidated.",
records: &[
"output_bit",
"fourier_weight_by_degree",
"spectral_concentration",
"anf_terms",
"max_degree",
"sparse",
"branchless_feasible",
"eval_ms_table",
"eval_ms_spectral",
"c1_holds",
"c2_holds",
"c3_holds",
],
},
Preregistration {
id: "P-168",
ticket: "R-168",
hypothesis: "Noise stability -- the probability that a Boolean function's output survives \
independently flipping each input with probability rho -- is a principled measure of how \
robust the extracted topology is to perturbing sample values, and it is computable \
directly from P-167's spectrum. The question is whether it describes the perturbations \
this crate actually suffers. (C1) Noise stability is computed for the case table and its \
predicted case-flip rate at a given rho is stated. (C2) THE PREDICTION IS TESTED AGAINST \
THE WRONG NOISE MODEL ON PURPOSE, AND SAID SO: f32 rounding is not independent \
per-corner bit flips -- it is a deterministic, spatially correlated perturbation -- so \
the predicted and measured flip rates are expected to disagree, and the size of the \
disagreement measures how far the independent-noise model is from this crate's reality. \
SHARE: none -- this is a modelling check.",
falsified_by: "C1 by stability not being computable from the spectrum, which would send \
P-167 back. C2 by agreement, which would mean the independent-flip model describes f32 \
behaviour after all -- surprising, and it would make noise stability a genuinely usable \
robustness number rather than a mismatched one. VACUITY CONTROL: the measured flip rate \
must be non-zero at some perturbation magnitude, reported as a sweep, or C2 compares two \
zeros.",
records: &[
"noise_rate",
"noise_stability",
"predicted_flip_rate",
"measured_flip_rate_f32",
"agreement",
"ulp_perturbation",
"topology_changes",
"field",
"c1_holds",
"c2_holds",
],
},
Preregistration {
id: "P-169",
ticket: "R-169",
hypothesis: "The influence of a variable is the probability that flipping it changes the \
output -- a per-corner number the crate could use to decide which sample to refine \
first, and a sanity check on the table's symmetry. (C1) All eight corner influences are \
computed and are equal within each octahedral symmetry class, which they must be if the \
table is octahedrally correct -- making this a cheap independent check on \
validate_table(). (C2) Total influence is reported and compared against the average \
sensitivity a refinement heuristic would need. SHARE: none.",
falsified_by: "C1 by unequal influences within a symmetry class, which would be a table \
defect and worth the whole ticket by itself. C2 by total influence being uninformative, \
which is the expected outcome for a symmetric table. VACUITY CONTROL: a deliberately \
corrupted table must produce unequal within-class influences, or C1 cannot detect the \
defect it is designed for.",
records: &[
"corner_index",
"influence",
"total_influence",
"symmetry_class",
"influence_equal_within_class",
"refinement_priority_correlation",
"c1_holds",
"c2_holds",
],
},
Preregistration {
id: "P-170",
ticket: "R-170",
hypothesis: "This repository cites Plantinga-Vegter in 18 files and Freudenthal/Kuhn in 6 \
including marching_tetrahedra/table.rs, and cites the parent theory in none. (C1) \
Allgower & Schmidt, An algorithm for piecewise linear approximation of an implicitly \
defined manifold, SIAM J. Numer. Anal. 22(2):322-346, 1985, DOI 10.1137/0722020, \
predates Lorensen & Cline (1987) and describes PL approximation of H^-^1(0) by \
simplicial subdivision -- recorded with the DOI verified, because 10.1137/0722019 is a \
different paper (Nanda on the QR algorithm, same volume and issue) and is the trap. (C2) \
THE LIMIT IS RECORDED WITH THE PRIORITY: AS85 proves ||H(x)||_inf < eps along the \
constructed manifold under a full-rank hypothesis at the seed -- a residual bound with a \
regularity condition, not a homeomorphism; the isotopy result for isomanifolds is \
Boissonnat & Wintraecken, SoCG 2020, whose own text says the earlier result holds \
'without a homeomorphism with the zero set of f'. (C3) Dobkin, Levy, Thurston & Wilks \
(ACM TOG 9(4), 1990, 10.1145/88560.88575) brought PL continuation into graphics -- and \
traces curves, not surfaces, claiming robustness and loop detection rather than \
topological correctness. SHARE: none -- this is a citation repair and a scope statement.",
falsified_by: "C1 by the citation not resolving as stated. C2 by AS85 in fact proving a \
homeomorphism, which would make the precedence far stronger and should be checked before \
being claimed. C3 by DLTW covering surfaces, same. VACUITY CONTROL: each DOI must be \
resolved and its title recorded in the finding, not merely quoted from this document.",
records: &[
"source",
"year",
"doi",
"doi_verified",
"claim_type",
"hypothesis",
"guarantee",
"is_homeomorphism",
"descendant_citations_in_repo",
"root_citations_in_repo",
"c1_holds",
"c2_holds",
"c3_holds",
],
},
Preregistration {
id: "P-171",
ticket: "R-171",
hypothesis: "Every PL-correctness theorem -- AS85's, Plantinga-Vegter's, \
Boissonnat-Wintraecken's -- needs the isovalue to be a regular value and the surface to \
meet each simplex transversally. This crate has never measured how often that fails, \
which means it has never known which of its cells are inside the theory and which are \
outside it. (C1) The non-transverse fraction is measured per field per resolution and is \
non-zero on at least two fields. (C2) The non-transverse cells overlap the ambiguous \
cells substantially -- rank correlation or set overlap reported -- which would say the \
ambiguity problem and the transversality failure are the same problem seen twice. (C3) \
They also overlap T-001's defect cells, or they do not, and which is stated. SHARE: none \
-- this partitions the cells into in-theory and out-of-theory, which nothing currently \
does.",
falsified_by: "C1 by zero non-transverse cells everywhere, which would mean every theorem \
applies everywhere and is a strong and welcome result. C2 by no overlap, which would \
mean they are genuinely different populations and both need handling. C3 by no overlap \
with defects, which would say transversality failure is harmless in practice. VACUITY \
CONTROL: box_exact, whose faces have exactly-equal samples, must be included, or the \
field most likely to violate transversality has been excluded from the census.",
records: &[
"field",
"resolution",
"cells",
"non_transverse_cells",
"non_transverse_fraction",
"gradient_norm_min",
"regular_value_violations",
"overlap_with_ambiguous",
"overlap_with_defects",
"c1_holds",
"c2_holds",
"c3_holds",
],
},
Preregistration {
id: "P-172",
ticket: "R-172",
hypothesis: "Conley index theory is a robust, computer-assisted alternative to Morse theory \
that tolerates degenerate critical points, and the corpus holds Dey, Haas & Lipinski on \
Conley-Morse persistence barcodes at 0.662. It requires an isolating neighbourhood \
around the invariant set, and box_exact has exactly-equal samples across whole faces, so \
gradf = 0 on a set of positive measure and no isolating neighbourhood exists -- the \
method is undefined precisely where it would be needed. (C1) The plateau fraction is \
measured per field, quantifying the obstruction rather than asserting it. (C2) The \
fraction of cells where an isolating neighbourhood exists is reported, and compared \
against the fraction where discrete Morse theory -- already registered -- applies, so \
the two are ranked on the same data rather than on argument. SHARE: none -- this closes \
a candidate.",
falsified_by: "C1 by negligible plateaus on every field, which would revive the method and \
make this row a false alarm worth having raised. C2 by Conley applying more widely than \
discrete Morse, which would reverse the ranking. VACUITY CONTROL: box_exact must report \
a non-zero plateau fraction, or the obstruction this row is built on does not exist in \
the fixture.",
records: &[
"field",
"resolution",
"plateau_cells",
"plateau_fraction",
"isolating_neighbourhood_exists",
"conley_applicable_fraction",
"vs_discrete_morse_applicable",
"c1_holds",
"c2_holds",
],
},
Preregistration {
id: "P-173",
ticket: "R-173",
hypothesis: "Hodge, Helmholtz, integrability and irrotational are zero across every file in \
this repository, and the corpus holds the machinery only as flow visualisation. A \
HermiteCell's <=12 edge normals are samples of gradf, and a true gradient field is \
curl-free -- so the curl residual over those edges is a direct, per-cell measure of \
'these normals cannot come from one smooth sheet', computable in a few dozen flops on a \
struct the crate already builds. It has a reason to fire where the crate already hurts: \
CSG min/max makes the gradient discontinuous. (C1) The curl residual costs under 2% of \
extraction. (C2) It separates the cells M-60 says need a second vertex from those that \
do not -- AUC above 0.8 -- on gyroid and fbm_terrain, the only two fields where M-60's \
rate is non-zero, with the other five as a zero control. (C3) A per-cell lambda derived \
from the residual beats the global lambda = 0.01 on at least one of sharpness or \
self-intersection count, without losing on the other. SHARE: C1 moves the \
vertex-placement stage; C3 moves the same stage's quality, not its cost.",
falsified_by: "C1 by above 2%. C2 by AUC below 0.8, which would mean inconsistency and \
multi-sheet-ness are different phenomena and the residual predicts nothing M-60 cares \
about. C3 by the per-cell lambda losing on either axis, which would vindicate the global \
constant and is a perfectly good result. VACUITY CONTROL: the five fields with zero \
second-vertex cells must be included and must report near-zero residual, or C2's \
separation is measured on a population with no negatives.",
records: &[
"field",
"resolution",
"curl_residual",
"curl_residual_normalised",
"cells",
"second_vertex_cells",
"separation_auc",
"lambda_global",
"lambda_per_cell",
"qef_residual_delta",
"sharpness_delta",
"self_intersections_delta",
"curl_ms",
"curl_share",
"c1_holds",
"c2_holds",
"c3_holds",
],
},
Preregistration {
id: "P-174",
ticket: "R-174",
hypothesis: "The crate's curvature estimation is the normal-cycles line -- Sun & Morvan, \
cited in benches/experiment_p42.rs and p45.rs. Discrete varifolds (Buet, Leonardi & \
Masnou, 10.1007/s00205-017-1141-0, acquired and converted this session) are the rival, \
with quantitative convergence bounds. This is registered as a head-to-head expecting a \
null, because a mature estimator is rarely beaten by a newer formalism on the same data. \
(C1) Varifold mean curvature is compared against the normal-cycle estimator at matched \
cost on the analytic fields, where exact curvature is known. (C2) The convergence \
exponent is fitted for both, since a method that is worse at our resolutions but \
converges faster is a different recommendation from one that is simply worse. SHARE: C1 \
moves the curvature stage only, whose share must be reported.",
falsified_by: "C1 by varifolds winning, which would be a real result and would redirect the \
P-42/P-45 line. C2 by indistinguishable exponents, which would make the choice purely \
about constants. VACUITY CONTROL: both estimators must be run against the analytic \
curvature on sphere and torus and reproduce it, or neither is calibrated.",
records: &[
"estimator",
"field",
"resolution",
"mean_curvature_error",
"gaussian_curvature_error",
"error_ratio",
"estimator_ms",
"cost_ratio",
"convergence_exponent",
"c1_holds",
"c2_holds",
],
},
Preregistration {
id: "P-175",
ticket: "R-175",
hypothesis: "Intrinsic triangulations improve connectivity quality while leaving every \
vertex where it is -- the corpus holds Gillespie, Sharp & Crane on integer coordinates \
at 0.677 and the intrinsic-parameterisation paper at 0.676, and intrinsic Delaunay, \
signpost and Soliman are zero in the repo. That property is unusually valuable here \
specifically: this crate commits 216 golden hashes on vertex positions, and a method \
that cannot move a position cannot move a hash. (C1) Intrinsic Delaunay flipping raises \
the minimum triangle angle materially -- at least 10 deg on the worst decile -- on at \
least four fields. (C2) Zero vertex positions move and zero position hashes move, \
asserted rather than assumed. (C3) THE HONEST FALSIFIER IS STATED AT REGISTRATION: \
intrinsic flips leave the extrinsic surface bit-identical, so if every downstream \
consumer reads extrinsic triangles, nothing measurable changes -- and whether any \
consumer benefits is C3's question, answered by naming one or reporting none. SHARE: C1 \
moves mesh quality, not cost; C3 decides whether that quality reaches anything.",
falsified_by: "C1 by under 10 deg. C2 by any hash movement, which would mean the \
implementation is not intrinsic. C3 by no consumer benefiting, which closes the row and \
is a likely outcome worth reaching cheaply. VACUITY CONTROL: the worst-decile angle \
before flipping must be below 15 deg on at least one field, or there are no slivers to \
fix.",
records: &[
"field",
"resolution",
"slivers_before",
"slivers_after",
"min_angle_before",
"min_angle_after",
"flips",
"vertex_positions_moved",
"hashes_moved",
"extrinsic_geometry_identical",
"flip_ms",
"c1_holds",
"c2_holds",
"c3_holds",
],
},
Preregistration {
id: "P-176",
ticket: "R-176",
hypothesis: "Duminil-Copin, Rivera, Rodriguez & Vanneuville (arXiv:2108.08008 / \
10.1214/22-aop1594, acquired and converted this session, 61 pp.) prove that for smooth \
Gaussian fields in dimension d >= 3 the critical level l_c(d) is strictly positive -- \
the nodal set percolates in 3D in a regime where the 2D analogue does not. For a voxel \
game that is a statement about caves: at isovalue 0 the excavated region should have one \
giant component rather than many isolated pockets. (C1) Sweeping the isovalue on \
fbm_terrain and noise_cavity, a giant component appears -- one component holding above \
50% of the air volume -- and the isovalue at which it appears is reported. (C2) The 3D \
behaviour differs qualitatively from a 2D slice of the same field, which is the \
theorem's actual content and the control that says the effect is dimensional. (C3) The \
measured components agree with the crate's existing Air union-find connectivity, which \
is an independent check on both. SHARE: none -- this predicts a property of generated \
worlds, and M-311's union-find is the instrument.",
falsified_by: "C1 by no giant component at any isovalue, which for a cave generator would be \
a design-relevant negative -- it would mean the field produces isolated pockets and \
connectivity must be authored rather than emergent. C2 by 2D and 3D behaving alike, \
which would mean our fields are too far from the theorem's Gaussian hypothesis for it to \
describe them -- and fbm_terrain is hash-based lattice noise, not a Gaussian field, so \
this is a real risk and is registered as one. C3 by disagreement with the union-find. \
VACUITY CONTROL: the isovalue sweep must include values producing both \
many-small-components and one-large-component regimes, reported as a distribution, or \
the transition is outside the swept range.",
records: &[
"field",
"isovalue",
"components",
"largest_component_fraction",
"component_size_distribution",
"giant_component_exists",
"percolation_isovalue",
"two_d_slice_comparison",
"air_union_find_agreement",
"c1_holds",
"c2_holds",
"c3_holds",
],
},
Preregistration {
id: "P-177",
ticket: "R-182",
hypothesis: "Aamari, Kim, Chazal, Michel, Rinaldo & Wasserman (10.1214/19-ejs1551, in the \
corpus and converted, 43 pp.), Theorem 3.4: for a compact submanifold with reach tau > \
0, at least one of (Global Case) a bottleneck -- a reach-attaining pair with \
||q1 - q2|| = 2*tau -- and (Local Case) a point q0 with an arc-length geodesic \
satisfying ||gamma''(0)|| = 1/tau holds, and the two are not mutually exclusive. That \
theorem licenses computing this crate's reach WITHOUT a medial axis, which is the only \
route open here: the falsified entry 'an exactly-zero SDF gradient detects the medial \
axis' closed the direct one, and M-325's discrete medial score converges only O(h). No \
entry in FINDINGS.md states the reach of a single reference field, so every resolution \
rung in this repository is chosen by convenience, and the sampling hypothesis V-51 \
sorted out -- Boissonnat & Wintraecken 2020 being the corpus's only is_homeomorphism \
true -- has never been checked against a number. (C1) The decomposition is not \
decorative on this roster: at least two of the eight reference fields are \
bottleneck-bound (tau_global < tau_local) and at least two curvature-bound \
(tau_local < tau_global). (C2) Reach is the denominator for resolution: over the \
fields with tau > 0, h_star / tau -- h_star being the coarsest spacing whose extracted \
topology (component count and Euler characteristic) matches the finest rung's and \
keeps matching at every finer rung -- spans a factor below 2, max over min <= 2. (C3) \
The global half locates what M-486's curl residual could not: on gyroid and \
fbm_terrain the cells M-60 says need a second vertex sit nearer a bottleneck axis than \
the other surface cells, Mann-Whitney AUC >= 0.8 on the statistic P-173's harness \
already computes. SHARE: none -- tau is an offline grading instrument and nothing in \
the extraction path calls it.",
falsified_by: "C1 by all eight fields binding on the same half, which is a statement about \
the roster rather than about the theorem -- the same defect M-459 recorded when it \
found this roster adversarial to global anisotropy. C2 by a spread of 2x or more, \
which would say the reach is NOT what sets resolution here and obliges the entry to \
name the field at each end; a spread inside 2x gives Axis 7 the denominator this \
ledger has never had, every accuracy number in FINDINGS.md being a numerator. C3 by an \
AUC below 0.8, which taken with M-486's 0.270443196 on fbm_terrain at 25^3 would say \
the second-vertex cells are a local combinatorial fact of the trilinear that no \
geometric predictor, neither local (curl) nor global (bottleneck), will find -- and \
would retire that search rather than extend it. VACUITY CONTROL: the estimator is \
calibrated against four closed forms before any of the eight numbers is read -- sphere \
tau = R, torus tau = min(minor radius, major minus minor), capsule tau = its radius, \
and box_exact tau = 0 because a sharp edge has no reach. tau_analytic and tau_measured \
are both columns; the four must agree within 2h at the finest rung and box_exact must \
report tau_measured <= 2h, or the row is vacuous and the other four fields' numbers \
mean nothing. C2's h_star is recorded as unreachable rather than scored on any field \
whose topology never stabilises inside the ladder.",
records: &[
"field",
"resolution",
"tau_local",
"tau_global",
"tau",
"binding_half",
"tau_analytic",
"calibration_gap_h",
"bottleneck_pairs",
"max_abs_curvature",
"h_star",
"h_star_over_tau",
"h_star_reachable",
"topology_components",
"euler_characteristic",
"second_vertex_cells",
"bottleneck_distance_auc",
"c1_holds",
"c2_holds",
"c3_holds",
],
},
Preregistration {
id: "P-178",
ticket: "R-183",
hypothesis: "Taylor's Gaussian kinematic formula (10.1214/009117905000000594, in the corpus \
and converted) gives, for a real-valued zero-mean unit-variance Gaussian field, \
E[chi(M intersect f^-1[u, inf))] = sum over j of L_j(M) * rho_j(u) with \
rho_j(u) = (2*pi)^(-(j+1)/2) * integral from u to infinity of H_j(x) * exp(-x^2/2) dx, \
H_j the jth Hermite polynomial, and L_j taken in the metric the field induces -- so for \
an isotropic field on a box the Lipschitz-Killing curvatures are the box's Euclidean \
ones scaled by lambda^(j/2), lambda being mu_2, the variance of a first-order partial \
derivative. That is an ANALYTIC EXPECTATION FOR chi OF AN EXCURSION SET, which is \
exactly the oracle M-458 did not have: it reports noise_cavity's chi as 82 at 33^3 and \
-152 at 65^3 and calls both ground truth, and CLAUDE.md's validity gate records chi \
rather than asserting it on every field whose expected_euler() is None. The four \
rho_j are DERIVED IN THE HARNESS from the Hermite integrals and checked against the \
j = 0 case (the Gaussian tail), not transcribed. (C1) On an exactly-Gaussian fixture -- \
random-phase Fourier synthesis with i.i.d. normal coefficients, whose lambda is a \
closed-form sum over the mode set -- the mesh-free digital-topology chi of M-458's \
oracle, averaged over at least 32 independent realisations, agrees with the prediction \
within two standard errors on at least 4 of 5 isovalue rungs. (C2) The shipped noise \
fields obey the same formula with lambda estimated from their own sampled derivatives: \
noise_cavity and fbm_terrain at the finest rung land inside the two-sigma band. (C3) \
chi of a FIXED realisation has converged by the finest rung: between the two finest \
rungs the relative change is at most 0.10 on noise_cavity. SHARE: none -- this is an \
oracle for the validity gate, not a stage of extraction.",
falsified_by: "C1 by the fixture missing its own prediction, which means the harness's \
Hermite derivation or the induced-metric scaling is wrong and nothing else in the row \
may be read. C2 by a band miss, which is the interesting direction: it would say the \
crate's hash-based lattice noise is far enough from Gaussian that the formula cannot \
grade it, and the entry must carry relative_departure as the number saying how far -- \
P-176's C2 already found fbm_terrain's 2D slices percolating where the Gaussian theorem \
says they should not, so this is a real risk and is registered as one. A band HIT is \
equally informative and is the whole point: it would hand the validity gate an analytic \
expected chi for two of the four fields M-459 found ungradeable. C3 by a relative \
change above 0.10, which would re-tier M-458: its noise_cavity numbers 82 and -152 \
would be two samplings of an unconverged quantity rather than two ground truths, and \
the 234 between them would be the evidence. VACUITY CONTROL: the band must be able to \
reject something. The same run predicts with a deliberately wrong spectral moment, \
4*lambda, and records band_rejects_wrong_lambda; if the wrong prediction also lands \
inside the band the comparison cannot discriminate and the row is vacuous whatever the \
clauses say. M-458's calibration is re-taken in the same run -- chi 2 on sphere and 0 \
on torus from the same oracle -- or the oracle itself is not the one that entry \
measured.",
records: &[
"arm",
"field",
"resolution",
"isovalue",
"realisations",
"lambda_spectral",
"lambda_source",
"chi_digital_mean",
"chi_digital_sem",
"chi_gkf_predicted",
"gkf_within_band",
"relative_departure",
"band_rejects_wrong_lambda",
"chi_fixed_realisation",
"chi_convergence_gap",
"rungs_within_band",
"calibration_chi_sphere",
"calibration_chi_torus",
"c1_holds",
"c2_holds",
"c3_holds",
],
},
Preregistration {
id: "P-179",
ticket: "R-184",
hypothesis: "FORCED-EXPLORE move: the field was named before the hook was looked for, and \
it is optimal transport -- the mathematics of comparing two measures by the cheapest \
way to move one onto the other. Peyre & Cuturi (10.48550/arXiv.1803.00567, in the \
corpus and converted) section 10.4 defines the sliced Wasserstein distance \
SW(a,b)^2 = integral over the unit sphere of W2(P_theta#a, P_theta#b)^2 d(theta), and \
for two equal-weight n-point clouds it 'is achieved by simply sorting points'. The \
assumption it tests is this crate's: that accuracy needs an exact distance oracle. \
M-459 records validate::accuracy as UNMEASURABLE on 20 of its 40 rows because the \
instrument is meaningless where field.bound() is not Exact, which leaves four of the \
eight reference fields with no numeric accuracy grade at all. A transport distance \
needs no oracle -- only samples from each measure -- and a dense root-set on the true \
zero level is samplable on every field. (C1) On the four Exact fields, SW between the \
area-weighted surface measure of the extracted mesh and the reference root-set falls \
monotonically across the whole resolution ladder AND ranks the rungs exactly as \
validate::accuracy's mesh-to-field mean does, rank_agreement 4 of 4. (C2) It measures \
geometry rather than the triangle-area distribution: the fitted exponent in \
SW proportional to h^p lies in [1.5, 2.5] on those four fields, M-12 having measured \
this crate's order as 2. (C3) It grades what nothing else can: on gyroid, \
capped_gyroid, fbm_terrain and noise_cavity, SW decreases across every rung and \
exceeds the self-noise floor by at least 4x on every one. SHARE: none -- this is a \
grader, not a stage.",
falsified_by: "C1 by non-monotonicity or by a ranking that disagrees with the incumbent, \
which would say SW and Hausdorff are measuring different things and the entry must say \
which one the game cares about rather than declaring a winner. C2 by an exponent near \
1, which is the specific way this instrument can lie: SW is sensitive to how MASS is \
distributed over the surface, so a mesh whose triangle areas are badly non-uniform can \
score badly while sitting in exactly the right place -- an exponent near 1 would mean \
the number is dominated by area distribution and it must not be reported as an \
accuracy. C3 by SW failing to separate rungs on the ungradeable four, which would \
close the only route this ledger has to grading them and send the question back to \
landing an exact bound. VACUITY CONTROL: two of them, because a distance that cannot \
say 'wrong' cannot say 'right'. First, a displaced arm -- the same mesh translated by \
h/2 -- must read at least 2x the undisplaced SW on every row. Second, sw_self, the SW \
between two independent reference samplings of the SAME surface, is the noise floor \
and must be at most a quarter of the smallest measured SW; if it is not, the metric \
cannot resolve what it is being asked to rank and the row is vacuous whatever the \
clauses say.",
records: &[
"field",
"bound_kind",
"resolution",
"h",
"arm",
"projections",
"sample_points",
"sw",
"sw_self",
"sw_displaced",
"displacement_ratio",
"hausdorff_mesh_to_field",
"rank_agreement",
"fitted_exponent",
"monotone",
"c1_holds",
"c2_holds",
"c3_holds",
],
},
Preregistration {
id: "P-180",
ticket: "R-185",
hypothesis: "M-490 measured fbm_terrain inside the Gaussian kinematic formula's matched \
two-sigma band at 0.25 sigma and noise_cavity outside it at 6.77 sigma, with the SIGN \
of chi wrong -- 15.000000000 measured against -6.602285203 predicted. Both are hash \
noise, so Gaussianity alone does not separate them. The formula's hypothesis has a \
second half: it is stated for a field that is STATIONARY over the set it is integrated \
over, and noise_cavity is Intersection(NoiseVolume, Sphere(radius 1.5)) on \
cube_domain(2.0), so outside radius 1.5 the sampled field is the SPHERE'S distance \
function and not noise at all. The inscribed cube of that sphere has half-side \
1.5/sqrt(3) = 0.866025404, and inside it the cap term is at most -0.633974596 and is \
dominated by the noise. (C1) Censused on that inscribed cap-free sub-box, with the \
sub-box's own lambda and Lipschitz-Killing curvatures and a matched Gaussian ensemble \
on the same sub-box, noise_cavity lands INSIDE its two-sigma band. (C2) The same \
samples are Gaussian to third and fourth order: absolute skewness at most 0.1 and \
absolute excess kurtosis at most 0.2. C1 and C2 are separate instruments on one \
question and are allowed to disagree, which is the informative case. (C3) The \
restriction does not manufacture agreement: fbm_terrain, already inside on the full \
box, is still inside on its own inscribed sub-box, and the full-box noise_cavity row \
reproduces M-490's miss. SHARE: none -- this decides what the validity gate may assert \
and on which region, not what the extractor does.",
falsified_by: "C1 by the sub-box missing the band too, which moves the blame from \
stationarity to Gaussianity: the crate's hash noise would then be non-Gaussian in a way \
the formula cannot grade anywhere, and C2's two moments are the measurement that says \
how. C2 by skewness or kurtosis outside the bars while C1 HOLDS, which would be the \
more interesting failure -- the formula surviving a field that is measurably not \
Gaussian would say the Euler characteristic is insensitive to the moments the bars are \
written on, and the bars would be the wrong instrument rather than the field being the \
wrong shape. C3 by fbm_terrain falling OUT on its sub-box, which would mean the \
restriction changes the answer by itself and C1's hold, if any, proves nothing. \
VACUITY CONTROL: the sub-box band must reject a prediction built from 4*lambda AT \
u = 0, and only at u = 0. M-490 is why the rung is named: at u = +/-1 the formula's \
(u^2 - 1) factor is zero for every lambda, so a control asserted over a ladder \
including those rungs is unsatisfiable by construction, which is exactly how M-490 \
came out vacuous. If the 4*lambda prediction at u = 0 also lands inside the band, the \
comparison cannot discriminate and this row is vacuous whatever the clauses say.",
records: &[
"field",
"region",
"resolution",
"isovalue",
"realisations",
"lambda_spectral",
"chi_digital",
"chi_gkf_predicted",
"band_sigma",
"gkf_within_band",
"sigma_distance",
"skewness",
"excess_kurtosis",
"cap_dominated_share",
"band_rejects_wrong_lambda",
"c1_holds",
"c2_holds",
"c3_holds",
],
},
Preregistration {
id: "P-181",
ticket: "R-186",
hypothesis: "M-491 read tau = 1.000000000 on box_exact, whose reach is 0, and the failure \
was not arithmetic: a sharp edge is a one-dimensional subset of the surface, no \
marching-cubes vertex is obliged to land on one, and both halves of Theorem 3.4 \
answered correctly for a manifold the theorem's own hypothesis (reach > 0) excludes. \
Three of this crate's reference fields carry sharp features -- box_exact, thin_plate, \
and csg_difference at its cut -- so every sampling theorem in this family is \
INAPPLICABLE to them, and the instrument that says so does not exist. It can: at a \
crease the field's gradient DIRECTION is discontinuous while its magnitude is not, so \
the angular spread of the unit gradient over a ball of radius r about a surface point \
converges to the dihedral angle as r falls, whereas on a C^2 surface it falls like r. \
The detector is that convergence, measured over a ladder of radii, and it needs no \
mesh and no medial axis. (C1) The two behaviours separate: on box_exact and thin_plate \
the largest limiting spread is at least 80 degrees and the ratio spread(r)/spread(2r) \
stays above 0.8 down the ladder, while on sphere, torus and capsule the spread falls \
with ratio at most 0.6 at every rung. (C2) The verdict agrees with the closed forms on \
all four fields whose reach is known: flagged on box_exact (tau = 0), unflagged on \
sphere, torus and capsule (tau > 0). (C3) The three fields M-491 measured a minute but \
non-zero tau on -- gyroid 0.000709069, fbm_terrain 0.092099998, noise_cavity \
0.000145884 -- come back UNFLAGGED, which would say those numbers are real small \
reaches rather than zeros the estimator failed to see. SHARE: none -- this decides \
which theorems may be quoted about which field, not what the extractor does.",
falsified_by: "C1 by the two families not separating, which would mean the angular spread \
is not the signal and a crease detector needs the mesh after all -- a worse instrument, \
because the mesh is what the theorem is supposed to be grading. C2 by a disagreement \
with a closed form, which closes the route: an instrument that miscalls a known case \
cannot certify an unknown one. C3 by a FLAG on any of the three rough fields, which \
would be the most consequential outcome available here -- it would say those fields \
have reach exactly zero rather than merely small, that M-491's C2 spread of \
2468.025804 was measuring a floor rather than a quantity, and that no positive-reach \
theorem applies to five of this crate's eight reference fields. VACUITY CONTROL: a \
synthetic pair with a known answer, built in the same harness and scored before any \
reference field is read -- two half-planes meeting at exactly 90 degrees, and the same \
wedge filleted with a known blend radius of 0.05. The detector must flag the first, \
must not flag the second, and must recover the fillet's curvature 1/0.05 = 20 to \
within 10 percent. A detector that cannot tell a crease from a 0.05 fillet cannot \
certify anything, and the row is vacuous whatever the clauses say.",
records: &[
"field",
"probe_radius",
"surface_samples",
"max_angular_spread_deg",
"spread_ratio",
"limiting_spread_deg",
"flagged_sharp",
"tau_known",
"verdict_agrees",
"fillet_curvature_measured",
"fillet_curvature_expected",
"control_separates",
"c1_holds",
"c2_holds",
"c3_holds",
],
},
Preregistration {
id: "P-182",
ticket: "R-177",
hypothesis: "P-140 built six closed solids whose boundary genus is fixed by their \
construction and derived twice -- ball_drilled_g1 (genus 1, chi 0), graph_theta_g2 \
(2, -2), ball_drilled_g2 (2, -2), ball_drilled_g3 (3, -4), graph_k4_g3 (3, -4), \
graph_cube_g5 (5, -8) -- and M-453 recorded them as bench-local on purpose, priced at \
a 162-hash ripple. This row pays it: the six fields move from benches/experiment_p140.rs \
into crates/isomesh/src/fields/ as no_std code generic over Real, join \
for_each_reference_field! as its 9th to 14th entries, and their chi is ASSERTED by \
expected_euler() rather than recorded. The ripple is named in advance: \
golden_hashes.json grows from 216 to 378 entries (8 x 27 to 14 x 27, nine algorithm \
labels by three resolutions per field); scripts/doc_facts.sh's FIELDS count moves 8 to \
14 and its HASHES count 216 to 378; and ten prose sites across the twelve documents \
that script reads change with them -- README.md at three sites, CLAUDE.md, \
the examples workspace's DEMOS.md, docs/demos/algorithms.md at two, docs/demos/correctness.md, \
docs/experiments.md at two. (C1) expected_euler() returns Some(2 - 2g) on all six, and \
validate_indexed on a MarchingCubes extraction at 17, 25 and 33 samples per axis over \
each field's own domain reports exactly that chi, asserted in the shipped test suite. \
(C2) golden_hashes.json grows from 216 to exactly 378 entries with NO existing line \
changed: the diff is additions only. (C3) graph_cube_g5's adequacy is non-monotone and \
pinned by a shipped test: chi -8 at 7^3 and at 11^3, and 0 triangles at 9^3 -- the \
values docs/experiments/p-140.csv records as measured_chi -8 / 0 / -8 with \
chi_agreement true / false / true. SHARE: none -- this changes what the validity gate \
asserts, not what the extractor does.",
falsified_by: "C1 by any field whose extracted chi disagrees with its construction, which \
would mean P-140's bench-local fixtures do not survive the move to no_std generic code \
-- a transcription defect in the port, since the derivations are one line each and \
were checked three ways in P-140. C2 by any pre-existing hash moving, which would mean \
the six additions perturbed an existing field's extraction; that is impossible by \
construction, since the macro appends and touches nothing above, and so would be a bug \
in the port and not a property of the fields. C3 by 9^3 meshing something, which would \
say docs/experiments/p-140.csv is wrong about the one row this ticket exists to pin. \
VACUITY CONTROL: sphere and torus keep asserting 2 and 0 through the same suite -- a \
chi_at helper that returned the prescribed value regardless of the field would pass C1 \
and fail them -- and scripts/doc_facts.sh FAILS at the parent of the landing commit \
and passes at it, run once each way, so the prose counts are shown to be gated and not \
merely edited.",
records: &[
"field",
"prescribed_genus",
"prescribed_chi",
"measured_chi_17",
"measured_chi_25",
"measured_chi_33",
"golden_entries_before",
"golden_entries_after",
"existing_hashes_changed",
"g5_triangles_9",
"c1_holds",
"c2_holds",
"c3_holds",
],
},
];
const fn str_eq(a: &str, b: &str) -> bool {
let (a, b) = (a.as_bytes(), b.as_bytes());
if a.len() != b.len() {
return false;
}
let mut i = 0;
while i < a.len() {
if a[i] != b[i] {
return false;
}
i += 1;
}
true
}
#[must_use]
pub const fn is_preregistered(id: &str) -> bool {
let mut i = 0;
while i < PREREGISTERED.len() {
if str_eq(PREREGISTERED[i].id, id) {
return true;
}
i += 1;
}
false
}
#[must_use]
pub const fn preregistration(id: &str) -> &'static Preregistration {
let mut i = 0;
while i < PREREGISTERED.len() {
if str_eq(PREREGISTERED[i].id, id) {
return &PREREGISTERED[i];
}
i += 1;
}
panic!("no such pre-registration; add it to experiment::PREREGISTERED first")
}
#[macro_export]
macro_rules! experiment {
($id:literal) => {{
const _CHECK: () = assert!(
$crate::experiment::is_preregistered($id),
"this experiment id is not pre-registered — add it to \
experiment::PREREGISTERED, in its own commit, before running \
anything"
);
$crate::experiment::preregistration($id)
}};
}