DramaticShapeVoxelMod archival mirror · read-only
cbcffeea08875eee63f5596854279a5e6cd2e9c7

read repeats through a one-row trim foot: no more cliff fins

DramaticShape · 2026-07-27 · parent da0fc49176

read repeats through a one-row trim foot: no more cliff fins

The volume repeat scan anchors at a column's front tile; a plateau
column ending in a rounded corner tile ($13/$35) never matched and
read its whole capped extent -- 48px fins and tents out of the 16px
mesas on Routes 3 and 4. When the two rows directly above the front
are identical, the column is that repeat wearing a trim foot: unit is
one course plus the trim. Doorway columns still answer to their
region first.

Changed files

lib/Structures.lua | 15 +++++++++++++++
 1 file changed, 15 insertions(+)

Diff

diff --git a/lib/Structures.lua b/lib/Structures.lua
index d55ee24..858f636 100644
--- a/lib/Structures.lua
+++ b/lib/Structures.lua
@@ -1350,6 +1350,21 @@ function Structures.buildVolume(S, map, tiles)
             break
           end
         end
+        -- A one-row TRIM at the column's foot hides a repeat from the
+        -- scan above, which anchors at the front tile: a cliff plateau
+        -- ends its south edge in a rounded corner tile, the corner
+        -- never recurs, and the column read its whole capped extent --
+        -- a 48px fin (or a whole tent of them) sticking out of a 16px
+        -- mesa on Routes 3 and 4. When the two rows directly above the
+        -- front are IDENTICAL, the column is that repeat wearing a trim
+        -- foot: one course plus the trim is its drawn unit. Doorway
+        -- columns are untouched -- their run answers to the region
+        -- (see below) before the unit matters.
+        if not repeatRead and extent > 2
+           and map:tileAt(tx, front - 1) == map:tileAt(tx, front - 2) then
+          unit = 2
+          repeatRead = true
+        end
       end
       local isDoor = false
       for ty = north, front do