TAP version 13
# Subtest: carved ground is a metre grid with exact, slope-limited road profiles
ok 1 - carved ground is a metre grid with exact, slope-limited road profiles
  ---
  duration_ms: 33227.239255
  ...
# Subtest: square paving has a small drainage fall and the grade survives a JSON round trip
ok 2 - square paving has a small drainage fall and the grade survives a JSON round trip
  ---
  duration_ms: 184.511907
  ...
# Subtest: road ends meet roads, squares, terminal walls or the world boundary, never an unlabelled void
ok 3 - road ends meet roads, squares, terminal walls or the world boundary, never an unlabelled void
  ---
  duration_ms: 484.098791
  ...
# Subtest: straight town rows touch their marked party neighbour, while house widths remain exact inputs
ok 4 - straight town rows touch their marked party neighbour, while house widths remain exact inputs
  ---
  duration_ms: 3.939834
  ...
# Subtest: house pad interiors are flat on the same ground sampled by the walker
ok 5 - house pad interiors are flat on the same ground sampled by the walker
  ---
  duration_ms: 184.003978
  ...
# Subtest: every possible street, rear and barn door has 1.6 m free across tiers, sites and seeds 1 to 5
ok 6 - every possible street, rear and barn door has 1.6 m free across tiers, sites and seeds 1 to 5
  ---
  duration_ms: 256801.154009
  ...
# Subtest: every long urban street shows a shop, bakery, smithy or tavern; the square and gates keep taverns
ok 7 - every long urban street shows a shop, bakery, smithy or tavern; the square and gates keep taverns
  ---
  duration_ms: 16.103978
  ...
# Subtest: retaining walls stand only where the carved ground steps, and never run deep underground
ok 8 - retaining walls stand only where the carved ground steps, and never run deep underground
  ---
  duration_ms: 16.253981
  ...
# Subtest: wealth rings: square elite, merchants on core main roads, poor near walls and outside
ok 9 - wealth rings: square elite, merchants on core main roads, poor near walls and outside
  ---
  duration_ms: 175326.013818
  ...
# Subtest: village and hamlet houses stay low; no street side repeats the same profile three times
ok 10 - village and hamlet houses stay low; no street side repeats the same profile three times
  ---
  duration_ms: 5476.828718
  ...
# Subtest: church is at a square corner; towns have a well, pillory, gate fish market and sheltered garden
ok 11 - church is at a square corner; towns have a well, pillory, gate fish market and sheltered garden
  ---
  duration_ms: 6.972689
  ...
# Subtest: gate suburbs are wholly outside the wall and clear of its roads, with vegetable gardens
ok 12 - gate suburbs are wholly outside the wall and clear of its roads, with vegetable gardens
  ---
  duration_ms: 30.379164
  ...
# Subtest: road sampler uses the drawn triangle heights, including lift, on sharply changing ground
ok 13 - road sampler uses the drawn triangle heights, including lift, on sharply changing ground
  ---
  duration_ms: 1.495548
  ...
# Subtest: all plots have rear grade inputs and blocked/back-to-back rows never have a rear door
ok 14 - all plots have rear grade inputs and blocked/back-to-back rows never have a rear door
  ---
  duration_ms: 2655.833585
  ...
# Subtest: real catalogue variants fit plots and every built street and rear door meets its drawn ground
ok 15 - real catalogue variants fit plots and every built street and rear door meets its drawn ground
  ---
  duration_ms: 17825.426921
  ...
# Subtest: a village without a market hall keeps its council tavern on the square
ok 16 - a village without a market hall keeps its council tavern on the square
  ---
  duration_ms: 12207.328861
  ...
# Subtest: new civic and fish props obey the footprint, road, wall, water and level-ground laws
ok 17 - new civic and fish props obey the footprint, road, wall, water and level-ground laws
  ---
  duration_ms: 418.282652
  ...
# Subtest: renderer passes the exact frontage and measured per-wall ground inputs without extra public layout calls
ok 18 - renderer passes the exact frontage and measured per-wall ground inputs without extra public layout calls
  ---
  duration_ms: 8566.455335
  ...
# hamlet/plain: {"bush":9,"flower_box":3,"oak":53,"firewood_stack":4,"basket_produce":3,"ash":11,"barrel_stack":1,"lantern_iron":2,"grass":111,"hay_cart":1,"barrel":1,"hay_bale":1,"hedge":18}
# village/plain: {"well_roofed":1,"bench_wood":3,"lantern_post":2,"flower_bed":4,"oak":77,"barrel":18,"grass":488,"flower_box":19,"lantern_iron":13,"ash":30,"firewood_stack":20,"bush":64,"ivy":16,"basket_produce":8,"barrel_stack":5,"washing_line":3,"trough":3,"hay_bale":2,"crate_stack":1,"market_goods":4,"hedge":155}
# town/hill: {"oak":106,"round_stone_bench":1,"churchyard_cross":2,"bench_wood":4,"lantern_post":4,"flower_bed":10,"bush":73,"firewood_stack":72,"grass":138,"flower_box":72,"ash":35,"lantern_iron":29,"ivy":17,"cart_hand":9,"hay_bale":10,"trough":4,"hay_cart":1,"basket_produce":1,"market_goods":22,"hedge":55}
# city/plain: {"oak":234,"round_stone_bench":1,"churchyard_cross":1,"bench_wood":3,"lantern_post":2,"flower_bed":15,"flower_box":256,"lantern_iron":84,"firewood_stack":138,"grass":403,"ivy":79,"basket_produce":47,"ash":94,"bush":240,"barrel":67,"barrel_stack":40,"hay_cart":13,"cart_hand":10,"hay_bale":6,"washing_line":2,"trough":2,"market_goods":22,"hedge":31}
# village/river: {"well_roofed":1,"bench_wood":4,"lantern_post":2,"oak":77,"bush":44,"barrel":15,"grass":482,"flower_box":16,"barrel_stack":9,"firewood_stack":15,"basket_produce":10,"ash":47,"lantern_iron":10,"ivy":11,"washing_line":5,"trough":5,"hay_bale":2,"crate_stack":1,"hay_cart":1,"market_goods":4,"hedge":86}
# town/coast: {"oak":113,"round_stone_bench":2,"churchyard_cross":2,"bench_wood":4,"lantern_post":3,"flower_bed":12,"flower_box":81,"grass":112,"bush":100,"barrel_stack":19,"ivy":24,"lantern_iron":34,"firewood_stack":47,"basket_produce":21,"barrel":25,"ash":32,"washing_line":2,"hay_bale":4,"trough":2,"hay_cart":6,"cart_hand":3,"market_goods":22,"hedge":60}
# Subtest: hamlet/plain/1: deterministic, level and clear roots
ok 19 - hamlet/plain/1: deterministic, level and clear roots
  ---
  duration_ms: 1143.055429
  ...
# Subtest: village/plain/1: deterministic, level and clear roots
ok 20 - village/plain/1: deterministic, level and clear roots
  ---
  duration_ms: 15474.648328
  ...
# Subtest: town/hill/1: deterministic, level and clear roots
ok 21 - town/hill/1: deterministic, level and clear roots
  ---
  duration_ms: 16744.174919
  ...
# Subtest: city/plain/1: deterministic, level and clear roots
ok 22 - city/plain/1: deterministic, level and clear roots
  ---
  duration_ms: 68249.594248
  ...
# Subtest: village/river/7: deterministic, level and clear roots
ok 23 - village/river/7: deterministic, level and clear roots
  ---
  duration_ms: 10097.624985
  ...
# Subtest: town/coast/9: deterministic, level and clear roots
ok 24 - town/coast/9: deterministic, level and clear roots
  ---
  duration_ms: 14012.672121
  ...
# Subtest: dressing does not rewrite the finished layout
ok 25 - dressing does not rewrite the finished layout
  ---
  duration_ms: 267.717173
  ...
# Subtest: polygon collision includes concave square recesses
ok 26 - polygon collision includes concave square recesses
  ---
  duration_ms: 0.50597
  ...
# Subtest: flower boxes bind to real window sills, and removal releases dressing
ok 27 - flower boxes bind to real window sills, and removal releases dressing
  ---
  duration_ms: 190.719543
  ...
1..27
# tests 27
# suites 0
# pass 27
# fail 0
# cancelled 0
# skipped 0
# todo 0
# duration_ms 292228.277952
