Chevrons no longer need to be built out of a special block - the plugin
picks gate.chevron-count frame blocks evenly spaced around the scanned
ring and remembers their resting material, so a chevron can rest as
plain obsidian (matching the rest of the frame) and only reveal itself
by swapping to gate.chevron-lit-material while dialing/open. Restoring
on close now puts back the original block instead of a fixed material,
so alternating decorative frames (e.g. obsidian/gilded blackstone) are
preserved exactly.
The floor a gate stands on (grass, stone, etc.) is a solid block that
isn't part of the frame, so touching it during the interior flood-fill
was treated as a leak and failed the whole scan. Solid non-frame blocks
now act as boundaries instead of auto-failures; a real gap in the ring
is still caught by the max-iris-blocks size cap.
Sign creation now tells the player exactly why the structure scan failed
(missing frame material, ring not sealed, interior too large, etc.)
instead of one generic error.