Commit c439ca1
The blocker was "the grid-4 cliff-elevation channel has no per-corner oracle
at all". It needed no mod: the cliff generator is the readout, driven
through `cliff_settings`.
With `cliff_smoothing = 0` and `cliff_elevation_interval = 1e6`,
`crossesCliff` collapses to `min(a,b) < e0 <= max(a,b)`, so one run is a
1-bit comparator on all 4,225 corners of a region at once and the entity's
orientation says which side is high. The levels are the REAL bands
(70 + 120k) rather than a uniform sweep, because that is the entire
placement-relevant content of the channel - `crossesCliff` never compares
the field against anything else.
**`richness = 4` was never opening the gate.** `cliffiness_basic` is
`clamp(0.5*log2(richness) + qmn, 0, 1) + 0.5`, so at richness 4 the clamp is
`clamp(1 + qmn, 0, 1)` - still 0, gate still shut, wherever `qmn <= -1`.
Routing the `cliffiness` property at the literal 1 places strictly more
cliffs at 13 of 15 levels. Worse, richness 4 shifts the clamp by exactly +1,
so the corners deciding that gate are the 8,409-of-12,675 the default field
clamps flat - the population no fixture validates. Both arms are captured.
What it says:
- `[0,0]` and `[-1200,800]` are **EXACT at every band, both arms** - same
cells, same orientations, nothing spare, with nothing between the field
and the placement.
- `[1500,1500]` is exact at 310/430/550 and wrong at the HIGH bands
(L790 36 wrong / 42 surplus, L910 22/41).
Every cheap explanation is eliminated with a control: not the smoothing
(off), not the gate (constant by construction, and the disagreement is
LARGER there), not `fixImpossibleCells` (0 of 73 disputed cells have a code
our repair changed), not the rejections (they cannot alter a neighbour's
orientation), not the query window (centre-filtered), not a boundary tie
(median 18.8, max 69.0 units from the level).
The paradox that replaces it: at **72 of 73** disputed edges the game's OWN
TILE channel straddles the level and agrees with our value. `multisample`
cannot be the difference - at those corners our grid-4 and grid-1 variants
are identical, and the two natural widenings of the min-filter score 791 and
735 wrong against 73. So it lives in the mountains branch of `vulcanus_elev`
and the port does not model it at all.
Vacuity: perturbing the field by 0.5 fails 6 of the spec's 8 tests.
Item of #84; the issue stays open.
Claude-Session: https://claude.ai/code/session_011DckiyMmb4zDPBV8NSyxTg
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
1 parent 394dfbc commit c439ca1
6 files changed
Lines changed: 42331 additions & 5 deletions
File tree
- docs/noise
- test
- fixtures
- oracle
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1823 | 1823 | | |
1824 | 1824 | | |
1825 | 1825 | | |
| 1826 | + | |
| 1827 | + | |
| 1828 | + | |
| 1829 | + | |
| 1830 | + | |
| 1831 | + | |
| 1832 | + | |
| 1833 | + | |
| 1834 | + | |
| 1835 | + | |
| 1836 | + | |
| 1837 | + | |
| 1838 | + | |
| 1839 | + | |
| 1840 | + | |
| 1841 | + | |
| 1842 | + | |
| 1843 | + | |
| 1844 | + | |
| 1845 | + | |
| 1846 | + | |
| 1847 | + | |
| 1848 | + | |
| 1849 | + | |
| 1850 | + | |
| 1851 | + | |
| 1852 | + | |
| 1853 | + | |
| 1854 | + | |
| 1855 | + | |
| 1856 | + | |
| 1857 | + | |
| 1858 | + | |
| 1859 | + | |
| 1860 | + | |
| 1861 | + | |
| 1862 | + | |
| 1863 | + | |
| 1864 | + | |
| 1865 | + | |
| 1866 | + | |
| 1867 | + | |
| 1868 | + | |
| 1869 | + | |
| 1870 | + | |
| 1871 | + | |
| 1872 | + | |
| 1873 | + | |
| 1874 | + | |
| 1875 | + | |
| 1876 | + | |
| 1877 | + | |
| 1878 | + | |
| 1879 | + | |
| 1880 | + | |
| 1881 | + | |
| 1882 | + | |
| 1883 | + | |
| 1884 | + | |
| 1885 | + | |
| 1886 | + | |
| 1887 | + | |
| 1888 | + | |
| 1889 | + | |
| 1890 | + | |
| 1891 | + | |
| 1892 | + | |
| 1893 | + | |
| 1894 | + | |
| 1895 | + | |
| 1896 | + | |
| 1897 | + | |
| 1898 | + | |
| 1899 | + | |
| 1900 | + | |
| 1901 | + | |
| 1902 | + | |
| 1903 | + | |
| 1904 | + | |
| 1905 | + | |
| 1906 | + | |
| 1907 | + | |
| 1908 | + | |
| 1909 | + | |
| 1910 | + | |
| 1911 | + | |
| 1912 | + | |
| 1913 | + | |
| 1914 | + | |
| 1915 | + | |
| 1916 | + | |
| 1917 | + | |
| 1918 | + | |
| 1919 | + | |
| 1920 | + | |
| 1921 | + | |
| 1922 | + | |
| 1923 | + | |
| 1924 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
192 | 192 | | |
193 | 193 | | |
194 | 194 | | |
| 195 | + | |
| 196 | + | |
| 197 | + | |
| 198 | + | |
195 | 199 | | |
196 | 200 | | |
197 | 201 | | |
| |||
0 commit comments