Skip to content

docs(fulgora): implementation plan for Voronoi primitive + elevation preview (#27) - #158

Merged
wormeyman merged 2 commits into
mainfrom
docs/fulgora-implementation-plan
Aug 5, 2026
Merged

docs(fulgora): implementation plan for Voronoi primitive + elevation preview (#27)#158
wormeyman merged 2 commits into
mainfrom
docs/fulgora-implementation-plan

Conversation

@wormeyman

Copy link
Copy Markdown
Owner

Twelve-task implementation plan off the spec merged in #157. Docs only.

Plan: docs/superpowers/plans/2026-08-05-fulgora-voronoi-elevation-v1.md

Shape

tasks what
1 buildVoronoiExpression oracle probe builder
2-5 the RE ladder - one task per rung (jitter=0 geometry, cell_id hash, point offsets, search range)
6 assemble makeVoronoi with the shared per-cell point cache
7-9 transcribe the chain: shared -> cells -> elevation
10 oil-ocean argmax, checked against the game's own get_tile
11 render + planet dispatch + the surface-seed guard
12 measure perf, write NOTES, update the roadmap

Why Tasks 2-5 contain no fitted constants

They are the measurements. Writing a speculative hash or normalisation divisor
into the plan would produce exactly the failure the spec exists to prevent - a
port and a fixture agreeing with each other while both disagree with the game.

Each RE task instead specifies the probe code, the capture command, the gating
test, the candidate set to try, the discriminators between candidates, the
falsification criterion, and the disassembly backstop if fitting stalls.

Vacuity guards

Every RE task carries one - a deliberately wrong variant that must break the
test. Task 5's is the sharpest: forcing the search range back to the pre-2.1.7
3x3 must fail a fixture case, and if it does not, the probe positions are not in
the corners where the two behaviours differ and need regenerating before the
task counts as done. A guard that cannot see the regression it exists to catch
is worse than none.

Open questions now have owners

  • grid_size integrality (docs type it u16; 175 - slider_to_linear(...) need
    not be integral) -> Task 7 Step 2. If the game disagrees with the test, the
    implementation changes, not the expectation.
  • Does distance_type move points? -> Task 4 Step 2. Load-bearing: Task 6's
    shared point cache depends on it, and a refutation changes Task 6's interface.
  • The |scrap_medium + dunes| ~ 0 thin spot -> Task 10 Step 5.

Execution

Subagent-driven, with a hard rule that any of Tasks 2-5 returning "fitted,
mostly" is rejected rather than merged.

🤖 Generated with Claude Code

https://claude.ai/code/session_01QZvNS2H4cbaZk46ybA7hbj

…preview (#27)

Twelve tasks off the merged spec. Tasks 2-6 are the reverse-engineering
ladder, one task per rung, and they deliberately carry NO fitted constants
- those are the measurements. Each instead names its candidate set, its
discriminators, its falsification criterion and its disassembly backstop,
plus a vacuity guard that must fail when the answer is deliberately broken.

Task 5's guard is the one that matters most: forcing the search range back
to the pre-2.1.7 3x3 must fail a fixture case, and if it does not, the
probe positions are in the wrong place and need regenerating before the
task can be called done.

Tasks 7-9 transcribe the chain, with Task 9 naming the four nodes that
look central but are unreachable, and the two that look deferred but are
not. Task 10 checks the land/ocean argmax against the game's own get_tile
and reports offending coordinates rather than a bare count.
@wormeyman
wormeyman merged commit ecd5712 into main Aug 5, 2026
6 checks passed
@wormeyman
wormeyman deleted the docs/fulgora-implementation-plan branch August 5, 2026 05:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant