Commit f484fdc
feat(cliffs): the rejections act on the CROSSING, not on the entity (#84)
#107 handed over one untested hypothesis with its control named: "disputed
edges sit adjacent to rejected cells above the base rate of all crossing
edges". Run, it is not an enrichment over a base rate - it is a dichotomy,
and it refutes the STAGE at which the port applies both Vulcanus cliff
rejections.
Of the 1235 edges the port has and the game does not, **1233** sit against a
cell the game did not emit. Of the 36,103 in-region edges both sides agree
on, **0** do. A cell's edge register is the same array slot as its
neighbour's (#103), so the game's absences take their crossings with them.
**The refutation is structural, not a score.** A pure post-filter makes a
falsifiable prediction: when cell N is rejected, its surviving neighbour C
still holds the shared crossing and is emitted carrying it. Counted with the
port's own rejection predicate over the fine sweep's 41 levels, that should
happen **1,662 times**. The game does it **0 times**. The vacuity arm is the
identical counter reading the port's own post-filter output, where it fires
on all 1,662 - so the zero is a property of the game's cliffs, not a dead
branch.
`tryToAddCliff` really does ignore `wouldCollide`'s return value; the #71/#73
disassembly reading was not misread. What is refuted is the conclusion drawn
from it - "and therefore no effect on the neighbouring cells". Both doc
comments that asserted it are corrected rather than left standing.
`rejectAtCrossingStage` zeroes a rejected cell's four edge registers after
the repair sweep, before any code is read. Collapsed rule: wrong orientations
**1235 -> 693**, surplus 1366 -> 1200, matched 18130 -> 18654. At the
SHIPPING settings across the three entity regions: wrong orientations
**33 -> 21**, precision 0.9839 -> 0.9858, and the matched set IDENTICAL at
1525 - it removes wrong edges and costs no recall.
Not free: 18 more of the game's cells go missing under the collapsed rule,
because an edge taken off a survivor can leave its code non-placing. Reported
rather than buried. Nauvis is byte-identical either way (it already matched
1.0000 both directions), so this is not a regression risk there and not
corroboration from there either.
Tiling stays byte-identical - the zeroing runs over the whole chunk,
including cells outside the query box - and `tiledEquality.spec.ts`'s
Vulcanus cliff seam and chunk-boundary cases verify it rather than the
comment asserting it.
What is left is the PREDICATE, not the stage: 693 wrong and 1200 surplus
survive, and the sweep cannot measure the field where the game emits nothing
at any level.
Item of #84; the issue stays open.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01ExK3ASs5i2KMm9NwWqnZuj1 parent b0aa30c commit f484fdc
4 files changed
Lines changed: 487 additions & 8 deletions
File tree
- docs/noise
- src/noise
- cliffs
- preview
- test
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1985 | 1985 | | |
1986 | 1986 | | |
1987 | 1987 | | |
| 1988 | + | |
| 1989 | + | |
| 1990 | + | |
| 1991 | + | |
| 1992 | + | |
| 1993 | + | |
| 1994 | + | |
| 1995 | + | |
| 1996 | + | |
| 1997 | + | |
| 1998 | + | |
| 1999 | + | |
| 2000 | + | |
| 2001 | + | |
| 2002 | + | |
| 2003 | + | |
| 2004 | + | |
| 2005 | + | |
| 2006 | + | |
| 2007 | + | |
| 2008 | + | |
| 2009 | + | |
| 2010 | + | |
| 2011 | + | |
| 2012 | + | |
| 2013 | + | |
| 2014 | + | |
| 2015 | + | |
| 2016 | + | |
| 2017 | + | |
| 2018 | + | |
| 2019 | + | |
| 2020 | + | |
| 2021 | + | |
| 2022 | + | |
| 2023 | + | |
| 2024 | + | |
| 2025 | + | |
| 2026 | + | |
| 2027 | + | |
| 2028 | + | |
| 2029 | + | |
| 2030 | + | |
| 2031 | + | |
| 2032 | + | |
| 2033 | + | |
| 2034 | + | |
| 2035 | + | |
| 2036 | + | |
| 2037 | + | |
| 2038 | + | |
| 2039 | + | |
| 2040 | + | |
| 2041 | + | |
| 2042 | + | |
| 2043 | + | |
| 2044 | + | |
| 2045 | + | |
| 2046 | + | |
| 2047 | + | |
| 2048 | + | |
| 2049 | + | |
| 2050 | + | |
| 2051 | + | |
| 2052 | + | |
| 2053 | + | |
| 2054 | + | |
| 2055 | + | |
| 2056 | + | |
| 2057 | + | |
| 2058 | + | |
| 2059 | + | |
| 2060 | + | |
| 2061 | + | |
| 2062 | + | |
| 2063 | + | |
| 2064 | + | |
| 2065 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
100 | 100 | | |
101 | 101 | | |
102 | 102 | | |
103 | | - | |
104 | | - | |
105 | | - | |
106 | | - | |
| 103 | + | |
| 104 | + | |
| 105 | + | |
| 106 | + | |
| 107 | + | |
| 108 | + | |
| 109 | + | |
107 | 110 | | |
108 | 111 | | |
109 | 112 | | |
| |||
132 | 135 | | |
133 | 136 | | |
134 | 137 | | |
135 | | - | |
136 | | - | |
| 138 | + | |
| 139 | + | |
| 140 | + | |
| 141 | + | |
| 142 | + | |
137 | 143 | | |
138 | 144 | | |
| 145 | + | |
| 146 | + | |
| 147 | + | |
| 148 | + | |
| 149 | + | |
| 150 | + | |
| 151 | + | |
| 152 | + | |
| 153 | + | |
| 154 | + | |
| 155 | + | |
| 156 | + | |
| 157 | + | |
139 | 158 | | |
140 | 159 | | |
141 | 160 | | |
| |||
487 | 506 | | |
488 | 507 | | |
489 | 508 | | |
| 509 | + | |
| 510 | + | |
| 511 | + | |
| 512 | + | |
| 513 | + | |
| 514 | + | |
| 515 | + | |
| 516 | + | |
| 517 | + | |
| 518 | + | |
| 519 | + | |
| 520 | + | |
| 521 | + | |
| 522 | + | |
| 523 | + | |
| 524 | + | |
| 525 | + | |
| 526 | + | |
| 527 | + | |
| 528 | + | |
| 529 | + | |
| 530 | + | |
| 531 | + | |
| 532 | + | |
| 533 | + | |
| 534 | + | |
| 535 | + | |
| 536 | + | |
| 537 | + | |
490 | 538 | | |
491 | 539 | | |
492 | 540 | | |
| |||
502 | 550 | | |
503 | 551 | | |
504 | 552 | | |
505 | | - | |
506 | | - | |
| 553 | + | |
| 554 | + | |
| 555 | + | |
| 556 | + | |
507 | 557 | | |
508 | 558 | | |
509 | 559 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
109 | 109 | | |
110 | 110 | | |
111 | 111 | | |
| 112 | + | |
| 113 | + | |
| 114 | + | |
| 115 | + | |
| 116 | + | |
| 117 | + | |
| 118 | + | |
112 | 119 | | |
113 | 120 | | |
114 | 121 | | |
| |||
0 commit comments