Skip to main content

Module grow

Module grow 

Source
Expand description

Corona-patch growers: build a compact, near-periodic patch of a monotile by the Heesch burial discipline (close every boundary edge before moving outward, with backtracking), capturing each placed copy’s Iso placement. The torus cover detector reads candidate lattices off these patches, and the cert carve reads the tile adjacency off the grown patch inline (no recipe replay – replay survives only for re-deriving a stored witness).

Functions§

grow_coronas
Grow a compact patch: n_coronas successive EDGE-BURIAL rings around the seed (each ring buries every exposed edge of the previous, most-concave-first with backtracking, so no fjords and no greedy jams). Returns the placements, or empty if n_coronas rings are not reachable within the node budget.
grow_coronas_build
Like grow_coronas, but also returns the graph-carrying WithAdjacency patch itself – its inline tile-adjacency is built DURING the search, so it is the true adjacency of the exact lattice-exposing patch the placements came from (node i == tile instance i, matching pls[i]). The cert carve (carve_domain) reads the fundamental domain straight off this patch’s adjacency – no recipe to replay. None if no such patch is reached within the node budget. The placements are normalized to tile 0 = identity.
replay_placements
Replay a RECORDED glue recipe (a cert’s build, a corona witness) against base and capture every placed copy’s Iso – the presentation primitive: a stored witness replays into drawable per-tile placements (each captured immediately after its glue, before later tiles can bury its boundary edges), normalized to tile 0 = identity. An empty recipe is the bare base. None if the recipe does not replay against this base (wrong base, malformed) or a placement cannot be captured.