Phase 7 §12.1: larger-than-house benchmark maple-court + baseline (leu.1)
26 programme entries / 52 rooms / 3 storeys (~1015 m2 internal). Mirrors harbor's adjacency-to-c load + secondary adjacencies; room codes avoid the generic c/o/s leading-letter trap. Staged adjacency-aware baseline (20000 evals, URB_NO_OCCLUSION=1): 145/158/152 fails, mean 151.7; all native re-score OK. Best (145) saved as generated.dom. Recorded in DESIGN.md §12.1. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
parent
73b9e2ae23
commit
7d7994e7a3
5 changed files with 1164 additions and 7 deletions
File diff suppressed because one or more lines are too long
59
DESIGN.md
59
DESIGN.md
|
|
@ -1107,3 +1107,62 @@ core as `fixed_circ`; threaded through `search_staged(seed_adjacency_aware=True)
|
||||||
residual is geometry- and shape-bound (size/proportion/crinkliness on the
|
residual is geometry- and shape-bound (size/proportion/crinkliness on the
|
||||||
denser, more-circulation layouts), which is the canonical-encoding /
|
denser, more-circulation layouts), which is the canonical-encoding /
|
||||||
shape-feasibility territory of `homemaker-py-9gp`.
|
shape-feasibility territory of `homemaker-py-9gp`.
|
||||||
|
|
||||||
|
## 12. Phase 7 — scaling validation & residual reduction (post-c4c)
|
||||||
|
|
||||||
|
**Epic:** `homemaker-py-leu`. **Status:** opened 2026-06-19. Continuation of the
|
||||||
|
closed Phase 6 (§11). Phase 6 evidence located the leverage in *construction /
|
||||||
|
seed quality* (§11.6/§11.7 wins) rather than search machinery (§11.4/§11.5 both
|
||||||
|
regressed); the harbor residual is now geometry/shape-bound at ~85 fails. This
|
||||||
|
section is the experiment ledger for Phase 7, same discipline as §11: each
|
||||||
|
subsection records the command, the numbers, and a one-line verdict.
|
||||||
|
|
||||||
|
### 12.1 Larger-than-house benchmark: `maple-court` (`homemaker-py-leu.1`) — DONE
|
||||||
|
|
||||||
|
**Why.** Harbor (16 programme entries, 2 storeys) was the biggest real programme
|
||||||
|
in `examples/`. `homemaker-py-9gp`'s headline claim is scaling **>16 rooms** and
|
||||||
|
its acceptance criterion demands "a larger-than-house programme" to measure on —
|
||||||
|
so a bigger benchmark is a prerequisite, not optional. Proportion-aware seeding
|
||||||
|
(`leu.2`) and re-scoped 9gp are both measured against this baseline.
|
||||||
|
|
||||||
|
**The benchmark.** `examples/maple-court/` — a three-storey assisted-living /
|
||||||
|
co-housing facility: **26 distinct programme entries / 52 room instances** across
|
||||||
|
**3 required storeys** (`storey_minimum: 3`), ~1015 m² target internal area on a
|
||||||
|
~790 m²/floor plot. It mirrors harbor's structure deliberately — a dominant
|
||||||
|
adjacency-to-`c` load on nearly every room plus a handful of secondary
|
||||||
|
adjacencies (`da1↔k1`, `da1↔o`, `lr1/ws1/lo1/gh1/gy1 ↔ o`), anonymous
|
||||||
|
interchangeable room families (`m`×3, `t`×6, `n`×4, `r`×12, `em`×2, `py`×2,
|
||||||
|
`tt`×4), and `staircase_min/max: 2`. Code letters avoid the generic `c`/`o`/`s`
|
||||||
|
leading-letter trap (those are reserved in `fitness.py`/`graph.py` for
|
||||||
|
circulation/outside/sahn): no *room* code starts with c/o/s, so harbor's quirk of
|
||||||
|
typing Common Room / Storage / Office as quasi-generic (`cr1`/`st1`/`of`) is not
|
||||||
|
reproduced. `init.dom` is a single `O` footprint; storeys are built by the search
|
||||||
|
from `storey_minimum`, exactly as harbor.
|
||||||
|
|
||||||
|
**Baseline (current default search: adjacency-aware seeding + staged, §11.7).**
|
||||||
|
Reproduce (`URB_NO_OCCLUSION=1`, 20000 evals, staged, `ADJ=1` default):
|
||||||
|
|
||||||
|
```bash
|
||||||
|
URB_NO_OCCLUSION=1 python3 experiments/run_staged_search.py \
|
||||||
|
examples/maple-court 20000 <seed> examples/maple-court/init.dom scratch/mc_s<seed>.dom
|
||||||
|
```
|
||||||
|
|
||||||
|
| seed | total fails | best lineage |
|
||||||
|
|-----:|------------:|---------------------|
|
||||||
|
| 0 | **145** | rotate 0/rrlr |
|
||||||
|
| 1 | 158 | core_undivide noop |
|
||||||
|
| 2 | 152 | swap 0/rrlllr |
|
||||||
|
| mean | **151.7** | |
|
||||||
|
|
||||||
|
Each run executed exactly 20000 native evals across 250 topologies (~36 min,
|
||||||
|
~9.1 evals/s) and re-scored native-consistent (`→ OK`). The best layout (seed 0,
|
||||||
|
145 fails) is saved as `examples/maple-court/generated.dom` with its `.fails`.
|
||||||
|
The single-stage harness (`run_search_scaled.py`) also accepts the programme
|
||||||
|
unchanged. The score prints near-zero (`0.5^145` fail cliff) — the **fail count**
|
||||||
|
is the yardstick.
|
||||||
|
|
||||||
|
- *Verdict: benchmark established at mean 151.7 fails (best 145).* As expected for
|
||||||
|
a programme ~3× harbor's room count, the absolute fail floor is well above
|
||||||
|
harbor's ~85; this is the scaling yardstick `leu.2` (proportion-aware seeding)
|
||||||
|
and the re-scoped `9gp` are measured against. The residual character is the same
|
||||||
|
geometry/shape family flagged at the close of §11.7.
|
||||||
|
|
|
||||||
676
examples/maple-court/generated.dom
Normal file
676
examples/maple-court/generated.dom
Normal file
|
|
@ -0,0 +1,676 @@
|
||||||
|
node:
|
||||||
|
- - 0.0
|
||||||
|
- 0.0
|
||||||
|
- - 30.0
|
||||||
|
- 1.5
|
||||||
|
- - 29.0
|
||||||
|
- 28.0
|
||||||
|
- - 0.0
|
||||||
|
- 27.0
|
||||||
|
perimeter:
|
||||||
|
a: private
|
||||||
|
b: private
|
||||||
|
c: null
|
||||||
|
d: null
|
||||||
|
rotation: 0
|
||||||
|
division:
|
||||||
|
- 0.48972134586011995
|
||||||
|
- 0.48972134586011995
|
||||||
|
height: 3.0
|
||||||
|
elevation: 0.0
|
||||||
|
wall_inner: 0.08
|
||||||
|
wall_outer: 0.25
|
||||||
|
l:
|
||||||
|
rotation: 1
|
||||||
|
division:
|
||||||
|
- 0.5289793206995492
|
||||||
|
- 0.5289793206995492
|
||||||
|
l:
|
||||||
|
rotation: 1
|
||||||
|
division:
|
||||||
|
- 0.5099021948415419
|
||||||
|
- 0.5099021948415419
|
||||||
|
l:
|
||||||
|
rotation: 1
|
||||||
|
division:
|
||||||
|
- 0.49856675334640843
|
||||||
|
- 0.49856675334640843
|
||||||
|
l:
|
||||||
|
rotation: 0
|
||||||
|
division:
|
||||||
|
- 0.5178717180846175
|
||||||
|
- 0.5178717180846175
|
||||||
|
l:
|
||||||
|
type: C
|
||||||
|
rotation: 0
|
||||||
|
r:
|
||||||
|
type: da1
|
||||||
|
rotation: 0
|
||||||
|
r:
|
||||||
|
rotation: 1
|
||||||
|
division:
|
||||||
|
- 0.618489667221237
|
||||||
|
- 0.618489667221237
|
||||||
|
l:
|
||||||
|
rotation: 1
|
||||||
|
division:
|
||||||
|
- 0.31523924613469856
|
||||||
|
- 0.31523924613469856
|
||||||
|
l:
|
||||||
|
type: m
|
||||||
|
rotation: 0
|
||||||
|
r:
|
||||||
|
rotation: 1
|
||||||
|
division:
|
||||||
|
- 0.3052306165286658
|
||||||
|
- 0.3052306165286658
|
||||||
|
l:
|
||||||
|
type: t
|
||||||
|
rotation: 0
|
||||||
|
r:
|
||||||
|
type: O
|
||||||
|
rotation: 0
|
||||||
|
r:
|
||||||
|
type: lr1
|
||||||
|
rotation: 0
|
||||||
|
r:
|
||||||
|
rotation: 1
|
||||||
|
division:
|
||||||
|
- 0.49581744711565423
|
||||||
|
- 0.49581744711565423
|
||||||
|
l:
|
||||||
|
type: C
|
||||||
|
rotation: 0
|
||||||
|
r:
|
||||||
|
type: ef1
|
||||||
|
rotation: 0
|
||||||
|
r:
|
||||||
|
rotation: 3
|
||||||
|
division:
|
||||||
|
- 0.5333949173749062
|
||||||
|
- 0.5333949173749062
|
||||||
|
l:
|
||||||
|
type: me1
|
||||||
|
rotation: 0
|
||||||
|
r:
|
||||||
|
rotation: 0
|
||||||
|
division:
|
||||||
|
- 0.5154659819633809
|
||||||
|
- 0.5154659819633809
|
||||||
|
l:
|
||||||
|
rotation: 3
|
||||||
|
division:
|
||||||
|
- 0.5403609977908952
|
||||||
|
- 0.5403609977908952
|
||||||
|
l:
|
||||||
|
rotation: 0
|
||||||
|
division:
|
||||||
|
- 0.5382440091177163
|
||||||
|
- 0.5382440091177163
|
||||||
|
l:
|
||||||
|
type: t
|
||||||
|
rotation: 0
|
||||||
|
r:
|
||||||
|
type: t
|
||||||
|
rotation: 0
|
||||||
|
r:
|
||||||
|
type: C
|
||||||
|
rotation: 0
|
||||||
|
r:
|
||||||
|
rotation: 2
|
||||||
|
division:
|
||||||
|
- 0.6126553743467879
|
||||||
|
- 0.6126553743467879
|
||||||
|
l:
|
||||||
|
rotation: 1
|
||||||
|
division:
|
||||||
|
- 0.5354565304111805
|
||||||
|
- 0.5354565304111805
|
||||||
|
l:
|
||||||
|
type: m
|
||||||
|
rotation: 0
|
||||||
|
r:
|
||||||
|
type: gh1
|
||||||
|
rotation: 0
|
||||||
|
r:
|
||||||
|
type: ws1
|
||||||
|
rotation: 0
|
||||||
|
r:
|
||||||
|
rotation: 3
|
||||||
|
division:
|
||||||
|
- 0.4440758250781146
|
||||||
|
- 0.4440758250781146
|
||||||
|
l:
|
||||||
|
rotation: 3
|
||||||
|
division:
|
||||||
|
- 0.5511311296626411
|
||||||
|
- 0.5511311296626411
|
||||||
|
l:
|
||||||
|
rotation: 1
|
||||||
|
division:
|
||||||
|
- 0.3324896567936677
|
||||||
|
- 0.3324896567936677
|
||||||
|
l:
|
||||||
|
rotation: 1
|
||||||
|
division:
|
||||||
|
- 0.4512076431357789
|
||||||
|
- 0.4512076431357789
|
||||||
|
l:
|
||||||
|
type: rc1
|
||||||
|
rotation: 0
|
||||||
|
r:
|
||||||
|
rotation: 0
|
||||||
|
division:
|
||||||
|
- 0.5660504344192934
|
||||||
|
- 0.5660504344192934
|
||||||
|
l:
|
||||||
|
type: m
|
||||||
|
rotation: 0
|
||||||
|
r:
|
||||||
|
type: t
|
||||||
|
rotation: 1
|
||||||
|
r:
|
||||||
|
type: C
|
||||||
|
rotation: 0
|
||||||
|
r:
|
||||||
|
type: ur1
|
||||||
|
rotation: 2
|
||||||
|
r:
|
||||||
|
rotation: 2
|
||||||
|
division:
|
||||||
|
- 0.5043764972194804
|
||||||
|
- 0.5043764972194804
|
||||||
|
l:
|
||||||
|
rotation: 2
|
||||||
|
division:
|
||||||
|
- 0.54254576588651
|
||||||
|
- 0.54254576588651
|
||||||
|
l:
|
||||||
|
type: C
|
||||||
|
rotation: 0
|
||||||
|
r:
|
||||||
|
rotation: 1
|
||||||
|
division:
|
||||||
|
- 0.5296643220633273
|
||||||
|
- 0.5296643220633273
|
||||||
|
l:
|
||||||
|
rotation: 2
|
||||||
|
division:
|
||||||
|
- 0.5322716625080546
|
||||||
|
- 0.5322716625080546
|
||||||
|
l:
|
||||||
|
type: t
|
||||||
|
rotation: 0
|
||||||
|
r:
|
||||||
|
type: t
|
||||||
|
rotation: 0
|
||||||
|
r:
|
||||||
|
type: ph1
|
||||||
|
rotation: 0
|
||||||
|
r:
|
||||||
|
rotation: 1
|
||||||
|
division:
|
||||||
|
- 0.5420591912251276
|
||||||
|
- 0.5420591912251276
|
||||||
|
l:
|
||||||
|
rotation: 2
|
||||||
|
division:
|
||||||
|
- 0.516378261068275
|
||||||
|
- 0.516378261068275
|
||||||
|
l:
|
||||||
|
type: C
|
||||||
|
rotation: 0
|
||||||
|
r:
|
||||||
|
type: la1
|
||||||
|
rotation: 0
|
||||||
|
r:
|
||||||
|
rotation: 1
|
||||||
|
division:
|
||||||
|
- 0.5192607827994244
|
||||||
|
- 0.5192607827994244
|
||||||
|
l:
|
||||||
|
type: C
|
||||||
|
rotation: 0
|
||||||
|
r:
|
||||||
|
type: k1
|
||||||
|
rotation: 0
|
||||||
|
above:
|
||||||
|
rotation: 0
|
||||||
|
division:
|
||||||
|
- 0.526998634243673
|
||||||
|
- 0.526998634243673
|
||||||
|
height: 3.0
|
||||||
|
l:
|
||||||
|
rotation: 1
|
||||||
|
division:
|
||||||
|
- 0.5121524009718241
|
||||||
|
- 0.5121524009718241
|
||||||
|
l:
|
||||||
|
rotation: 1
|
||||||
|
division:
|
||||||
|
- 0.5129226760797292
|
||||||
|
- 0.5129226760797292
|
||||||
|
l:
|
||||||
|
rotation: 1
|
||||||
|
division:
|
||||||
|
- 0.48767769707880537
|
||||||
|
- 0.48767769707880537
|
||||||
|
l:
|
||||||
|
rotation: 0
|
||||||
|
division:
|
||||||
|
- 0.5079677883627942
|
||||||
|
- 0.5079677883627942
|
||||||
|
l:
|
||||||
|
type: C
|
||||||
|
rotation: 0
|
||||||
|
r:
|
||||||
|
type: C
|
||||||
|
rotation: 0
|
||||||
|
r:
|
||||||
|
rotation: 1
|
||||||
|
division:
|
||||||
|
- 0.587911578810674
|
||||||
|
- 0.587911578810674
|
||||||
|
l:
|
||||||
|
rotation: 1
|
||||||
|
division:
|
||||||
|
- 0.29797562403474404
|
||||||
|
- 0.29797562403474404
|
||||||
|
l:
|
||||||
|
type: n
|
||||||
|
rotation: 0
|
||||||
|
r:
|
||||||
|
type: C
|
||||||
|
rotation: 0
|
||||||
|
r:
|
||||||
|
type: C
|
||||||
|
rotation: 0
|
||||||
|
r:
|
||||||
|
rotation: 1
|
||||||
|
division:
|
||||||
|
- 0.4770891067286853
|
||||||
|
- 0.4770891067286853
|
||||||
|
l:
|
||||||
|
type: C
|
||||||
|
rotation: 0
|
||||||
|
r:
|
||||||
|
type: n
|
||||||
|
rotation: 0
|
||||||
|
r:
|
||||||
|
rotation: 3
|
||||||
|
division:
|
||||||
|
- 0.49408340130895223
|
||||||
|
- 0.49408340130895223
|
||||||
|
l:
|
||||||
|
type: ur2
|
||||||
|
rotation: 0
|
||||||
|
r:
|
||||||
|
rotation: 0
|
||||||
|
division:
|
||||||
|
- 0.5115553254069676
|
||||||
|
- 0.5115553254069676
|
||||||
|
l:
|
||||||
|
rotation: 2
|
||||||
|
division:
|
||||||
|
- 0.506746320809621
|
||||||
|
- 0.506746320809621
|
||||||
|
l:
|
||||||
|
rotation: 1
|
||||||
|
division:
|
||||||
|
- 0.5071046603554075
|
||||||
|
- 0.5071046603554075
|
||||||
|
l:
|
||||||
|
type: py
|
||||||
|
rotation: 0
|
||||||
|
r:
|
||||||
|
type: C
|
||||||
|
rotation: 0
|
||||||
|
r:
|
||||||
|
type: C
|
||||||
|
rotation: 0
|
||||||
|
r:
|
||||||
|
rotation: 3
|
||||||
|
division:
|
||||||
|
- 0.5109144093837654
|
||||||
|
- 0.5109144093837654
|
||||||
|
l:
|
||||||
|
rotation: 3
|
||||||
|
division:
|
||||||
|
- 0.5027915478837678
|
||||||
|
- 0.5027915478837678
|
||||||
|
l:
|
||||||
|
type: li1
|
||||||
|
rotation: 0
|
||||||
|
r:
|
||||||
|
type: n
|
||||||
|
rotation: 0
|
||||||
|
r:
|
||||||
|
type: C
|
||||||
|
rotation: 0
|
||||||
|
r:
|
||||||
|
rotation: 3
|
||||||
|
division:
|
||||||
|
- 0.46690872577815845
|
||||||
|
- 0.46690872577815845
|
||||||
|
l:
|
||||||
|
rotation: 3
|
||||||
|
division:
|
||||||
|
- 0.49016627906924726
|
||||||
|
- 0.49016627906924726
|
||||||
|
l:
|
||||||
|
rotation: 1
|
||||||
|
division:
|
||||||
|
- 0.5163252145093113
|
||||||
|
- 0.5163252145093113
|
||||||
|
l:
|
||||||
|
rotation: 1
|
||||||
|
division:
|
||||||
|
- 0.5303614308268739
|
||||||
|
- 0.5303614308268739
|
||||||
|
l:
|
||||||
|
type: py
|
||||||
|
rotation: 0
|
||||||
|
r:
|
||||||
|
rotation: 0
|
||||||
|
division:
|
||||||
|
- 0.499529641462255
|
||||||
|
- 0.499529641462255
|
||||||
|
l:
|
||||||
|
type: C
|
||||||
|
rotation: 0
|
||||||
|
r:
|
||||||
|
rotation: 1
|
||||||
|
division:
|
||||||
|
- 0.5117532524721022
|
||||||
|
- 0.5117532524721022
|
||||||
|
l:
|
||||||
|
type: lo1
|
||||||
|
rotation: 0
|
||||||
|
r:
|
||||||
|
type: O
|
||||||
|
rotation: 0
|
||||||
|
r:
|
||||||
|
type: C
|
||||||
|
rotation: 0
|
||||||
|
r:
|
||||||
|
type: C
|
||||||
|
rotation: 2
|
||||||
|
r:
|
||||||
|
rotation: 2
|
||||||
|
division:
|
||||||
|
- 0.5042660620564343
|
||||||
|
- 0.5042660620564343
|
||||||
|
l:
|
||||||
|
rotation: 2
|
||||||
|
division:
|
||||||
|
- 0.48797371242168397
|
||||||
|
- 0.48797371242168397
|
||||||
|
l:
|
||||||
|
type: C
|
||||||
|
rotation: 0
|
||||||
|
r:
|
||||||
|
rotation: 3
|
||||||
|
division:
|
||||||
|
- 0.5015098614145813
|
||||||
|
- 0.5015098614145813
|
||||||
|
l:
|
||||||
|
rotation: 2
|
||||||
|
division:
|
||||||
|
- 0.505099762781295
|
||||||
|
- 0.505099762781295
|
||||||
|
l:
|
||||||
|
type: em
|
||||||
|
rotation: 0
|
||||||
|
r:
|
||||||
|
type: em
|
||||||
|
rotation: 0
|
||||||
|
r:
|
||||||
|
type: en1
|
||||||
|
rotation: 0
|
||||||
|
r:
|
||||||
|
rotation: 1
|
||||||
|
division:
|
||||||
|
- 0.5085156175178116
|
||||||
|
- 0.5085156175178116
|
||||||
|
l:
|
||||||
|
rotation: 2
|
||||||
|
division:
|
||||||
|
- 0.49563732490153656
|
||||||
|
- 0.49563732490153656
|
||||||
|
l:
|
||||||
|
type: C
|
||||||
|
rotation: 0
|
||||||
|
r:
|
||||||
|
type: n
|
||||||
|
rotation: 0
|
||||||
|
r:
|
||||||
|
rotation: 1
|
||||||
|
division:
|
||||||
|
- 0.4958321597784836
|
||||||
|
- 0.4958321597784836
|
||||||
|
l:
|
||||||
|
type: C
|
||||||
|
rotation: 0
|
||||||
|
r:
|
||||||
|
type: C
|
||||||
|
rotation: 0
|
||||||
|
above:
|
||||||
|
rotation: 0
|
||||||
|
division:
|
||||||
|
- 0.526998634243673
|
||||||
|
- 0.526998634243673
|
||||||
|
height: 3.0
|
||||||
|
l:
|
||||||
|
rotation: 1
|
||||||
|
division:
|
||||||
|
- 0.5121524009718241
|
||||||
|
- 0.5121524009718241
|
||||||
|
l:
|
||||||
|
rotation: 1
|
||||||
|
division:
|
||||||
|
- 0.5129226760797292
|
||||||
|
- 0.5129226760797292
|
||||||
|
l:
|
||||||
|
rotation: 1
|
||||||
|
division:
|
||||||
|
- 0.48767769707880537
|
||||||
|
- 0.48767769707880537
|
||||||
|
l:
|
||||||
|
rotation: 0
|
||||||
|
division:
|
||||||
|
- 0.5079677883627942
|
||||||
|
- 0.5079677883627942
|
||||||
|
l:
|
||||||
|
type: C
|
||||||
|
rotation: 0
|
||||||
|
r:
|
||||||
|
type: C
|
||||||
|
rotation: 0
|
||||||
|
r:
|
||||||
|
rotation: 1
|
||||||
|
division:
|
||||||
|
- 0.587911578810674
|
||||||
|
- 0.587911578810674
|
||||||
|
l:
|
||||||
|
rotation: 1
|
||||||
|
division:
|
||||||
|
- 0.29797562403474404
|
||||||
|
- 0.29797562403474404
|
||||||
|
l:
|
||||||
|
type: ut1
|
||||||
|
rotation: 0
|
||||||
|
r:
|
||||||
|
type: q1
|
||||||
|
rotation: 0
|
||||||
|
r:
|
||||||
|
type: C
|
||||||
|
rotation: 0
|
||||||
|
r:
|
||||||
|
rotation: 1
|
||||||
|
division:
|
||||||
|
- 0.4770891067286853
|
||||||
|
- 0.4770891067286853
|
||||||
|
l:
|
||||||
|
type: C
|
||||||
|
rotation: 0
|
||||||
|
r:
|
||||||
|
type: tt
|
||||||
|
rotation: 0
|
||||||
|
r:
|
||||||
|
rotation: 3
|
||||||
|
division:
|
||||||
|
- 0.49408340130895223
|
||||||
|
- 0.49408340130895223
|
||||||
|
l:
|
||||||
|
type: r
|
||||||
|
rotation: 0
|
||||||
|
r:
|
||||||
|
rotation: 0
|
||||||
|
division:
|
||||||
|
- 0.5115553254069676
|
||||||
|
- 0.5115553254069676
|
||||||
|
l:
|
||||||
|
rotation: 2
|
||||||
|
division:
|
||||||
|
- 0.506746320809621
|
||||||
|
- 0.506746320809621
|
||||||
|
l:
|
||||||
|
rotation: 1
|
||||||
|
division:
|
||||||
|
- 0.5071046603554075
|
||||||
|
- 0.5071046603554075
|
||||||
|
l:
|
||||||
|
type: r
|
||||||
|
rotation: 0
|
||||||
|
r:
|
||||||
|
type: r
|
||||||
|
rotation: 0
|
||||||
|
r:
|
||||||
|
type: r
|
||||||
|
rotation: 0
|
||||||
|
r:
|
||||||
|
rotation: 3
|
||||||
|
division:
|
||||||
|
- 0.5109144093837654
|
||||||
|
- 0.5109144093837654
|
||||||
|
l:
|
||||||
|
rotation: 3
|
||||||
|
division:
|
||||||
|
- 0.5027915478837678
|
||||||
|
- 0.5027915478837678
|
||||||
|
l:
|
||||||
|
type: r
|
||||||
|
rotation: 0
|
||||||
|
r:
|
||||||
|
type: r
|
||||||
|
rotation: 0
|
||||||
|
r:
|
||||||
|
type: C
|
||||||
|
rotation: 0
|
||||||
|
r:
|
||||||
|
rotation: 3
|
||||||
|
division:
|
||||||
|
- 0.46690872577815845
|
||||||
|
- 0.46690872577815845
|
||||||
|
l:
|
||||||
|
rotation: 3
|
||||||
|
division:
|
||||||
|
- 0.49016627906924726
|
||||||
|
- 0.49016627906924726
|
||||||
|
l:
|
||||||
|
rotation: 1
|
||||||
|
division:
|
||||||
|
- 0.5163252145093113
|
||||||
|
- 0.5163252145093113
|
||||||
|
l:
|
||||||
|
rotation: 1
|
||||||
|
division:
|
||||||
|
- 0.5303614308268739
|
||||||
|
- 0.5303614308268739
|
||||||
|
l:
|
||||||
|
type: r
|
||||||
|
rotation: 0
|
||||||
|
r:
|
||||||
|
rotation: 0
|
||||||
|
division:
|
||||||
|
- 0.499529641462255
|
||||||
|
- 0.499529641462255
|
||||||
|
l:
|
||||||
|
type: gy1
|
||||||
|
rotation: 0
|
||||||
|
r:
|
||||||
|
rotation: 1
|
||||||
|
division:
|
||||||
|
- 0.5072714594324588
|
||||||
|
- 0.5072714594324588
|
||||||
|
l:
|
||||||
|
type: r
|
||||||
|
rotation: 0
|
||||||
|
r:
|
||||||
|
type: O
|
||||||
|
rotation: 0
|
||||||
|
r:
|
||||||
|
type: r
|
||||||
|
rotation: 0
|
||||||
|
r:
|
||||||
|
type: C
|
||||||
|
rotation: 2
|
||||||
|
r:
|
||||||
|
rotation: 2
|
||||||
|
division:
|
||||||
|
- 0.5042660620564343
|
||||||
|
- 0.5042660620564343
|
||||||
|
l:
|
||||||
|
rotation: 2
|
||||||
|
division:
|
||||||
|
- 0.48797371242168397
|
||||||
|
- 0.48797371242168397
|
||||||
|
l:
|
||||||
|
type: C
|
||||||
|
rotation: 0
|
||||||
|
r:
|
||||||
|
rotation: 3
|
||||||
|
division:
|
||||||
|
- 0.5015098614145813
|
||||||
|
- 0.5015098614145813
|
||||||
|
l:
|
||||||
|
rotation: 2
|
||||||
|
division:
|
||||||
|
- 0.505099762781295
|
||||||
|
- 0.505099762781295
|
||||||
|
l:
|
||||||
|
type: r
|
||||||
|
rotation: 0
|
||||||
|
r:
|
||||||
|
type: tt
|
||||||
|
rotation: 0
|
||||||
|
r:
|
||||||
|
type: tt
|
||||||
|
rotation: 0
|
||||||
|
r:
|
||||||
|
rotation: 1
|
||||||
|
division:
|
||||||
|
- 0.5085156175178116
|
||||||
|
- 0.5085156175178116
|
||||||
|
l:
|
||||||
|
rotation: 2
|
||||||
|
division:
|
||||||
|
- 0.49563732490153656
|
||||||
|
- 0.49563732490153656
|
||||||
|
l:
|
||||||
|
type: ur3
|
||||||
|
rotation: 0
|
||||||
|
r:
|
||||||
|
type: r
|
||||||
|
rotation: 0
|
||||||
|
r:
|
||||||
|
rotation: 1
|
||||||
|
division:
|
||||||
|
- 0.4958321597784836
|
||||||
|
- 0.4958321597784836
|
||||||
|
l:
|
||||||
|
type: tt
|
||||||
|
rotation: 0
|
||||||
|
r:
|
||||||
|
type: r
|
||||||
|
rotation: 0
|
||||||
25
examples/maple-court/init.dom
Normal file
25
examples/maple-court/init.dom
Normal file
|
|
@ -0,0 +1,25 @@
|
||||||
|
---
|
||||||
|
node:
|
||||||
|
-
|
||||||
|
- 0.0
|
||||||
|
- 0.0
|
||||||
|
-
|
||||||
|
- 30.0
|
||||||
|
- 1.5
|
||||||
|
-
|
||||||
|
- 29.0
|
||||||
|
- 28.0
|
||||||
|
-
|
||||||
|
- 0.0
|
||||||
|
- 27.0
|
||||||
|
perimeter:
|
||||||
|
a: private
|
||||||
|
b: private
|
||||||
|
c: ~
|
||||||
|
d: ~
|
||||||
|
type: O
|
||||||
|
rotation: 0
|
||||||
|
height: 3
|
||||||
|
elevation: 0.0
|
||||||
|
wall_inner: 0.08
|
||||||
|
wall_outer: 0.25
|
||||||
394
examples/maple-court/patterns.config
Normal file
394
examples/maple-court/patterns.config
Normal file
|
|
@ -0,0 +1,394 @@
|
||||||
|
---
|
||||||
|
# Maple Court - Larger-than-house benchmark (homemaker-py-leu.1, DESIGN.md §12.1)
|
||||||
|
#
|
||||||
|
# A three-storey assisted-living / co-housing facility. Built to be the first
|
||||||
|
# benchmark larger than harbor-house (16 programme entries): 26 distinct space
|
||||||
|
# entries / 52 room instances across 3 required storeys, with a harbor-like
|
||||||
|
# adjacency-to-c load and a handful of secondary adjacencies (k/da/o clusters).
|
||||||
|
#
|
||||||
|
# Code conventions (first letter is semantic in fitness.py): generic c/o/s are
|
||||||
|
# reserved for circulation / outside / sahn, so no ROOM code starts with c, o or
|
||||||
|
# s. Living-family rooms lead with l, kitchen k, dining d, bathroom t; everything
|
||||||
|
# else uses a neutral leading letter (default room scoring).
|
||||||
|
|
||||||
|
# Building programme: three-storey community living facility
|
||||||
|
spaces:
|
||||||
|
# ---- GROUND FLOOR (level 0): community + service ----
|
||||||
|
lr1:
|
||||||
|
name: Common Living Room
|
||||||
|
size:
|
||||||
|
- 80.0
|
||||||
|
- 10.0
|
||||||
|
width:
|
||||||
|
- 6.0
|
||||||
|
- 1.5
|
||||||
|
proportion:
|
||||||
|
- 2.0
|
||||||
|
- 0.5
|
||||||
|
level: 0
|
||||||
|
adjacency:
|
||||||
|
- c
|
||||||
|
- o
|
||||||
|
|
||||||
|
ef1:
|
||||||
|
name: Entrance Foyer
|
||||||
|
size:
|
||||||
|
- 15.0
|
||||||
|
- 3.0
|
||||||
|
width:
|
||||||
|
- 3.0
|
||||||
|
- 0.5
|
||||||
|
level: 0
|
||||||
|
adjacency:
|
||||||
|
- c
|
||||||
|
|
||||||
|
da1:
|
||||||
|
name: Dining Area
|
||||||
|
size:
|
||||||
|
- 60.0
|
||||||
|
- 8.0
|
||||||
|
width:
|
||||||
|
- 5.0
|
||||||
|
- 1.0
|
||||||
|
proportion:
|
||||||
|
- 2.5
|
||||||
|
- 0.8
|
||||||
|
level: 0
|
||||||
|
adjacency:
|
||||||
|
- c
|
||||||
|
- k1
|
||||||
|
- o
|
||||||
|
|
||||||
|
k1:
|
||||||
|
name: Kitchen
|
||||||
|
size:
|
||||||
|
- 30.0
|
||||||
|
- 5.0
|
||||||
|
width:
|
||||||
|
- 4.0
|
||||||
|
- 1.0
|
||||||
|
level: 0
|
||||||
|
adjacency:
|
||||||
|
- da1
|
||||||
|
- c
|
||||||
|
|
||||||
|
ws1:
|
||||||
|
name: Workshop Space
|
||||||
|
size:
|
||||||
|
- 40.0
|
||||||
|
- 6.0
|
||||||
|
width:
|
||||||
|
- 5.0
|
||||||
|
- 1.0
|
||||||
|
proportion:
|
||||||
|
- 1.8
|
||||||
|
- 0.5
|
||||||
|
level: 0
|
||||||
|
adjacency:
|
||||||
|
- c
|
||||||
|
- o
|
||||||
|
|
||||||
|
la1:
|
||||||
|
name: Laundry Room
|
||||||
|
size:
|
||||||
|
- 20.0
|
||||||
|
- 4.0
|
||||||
|
width:
|
||||||
|
- 3.0
|
||||||
|
- 0.8
|
||||||
|
level: 0
|
||||||
|
adjacency:
|
||||||
|
- c
|
||||||
|
|
||||||
|
me1:
|
||||||
|
name: Mechanical/Electrical Room
|
||||||
|
size:
|
||||||
|
- 25.0
|
||||||
|
- 4.0
|
||||||
|
width:
|
||||||
|
- 3.5
|
||||||
|
- 0.8
|
||||||
|
level: 0
|
||||||
|
adjacency:
|
||||||
|
- c
|
||||||
|
|
||||||
|
ur1:
|
||||||
|
name: Ground Floor Storage
|
||||||
|
size:
|
||||||
|
- 22.0
|
||||||
|
- 4.0
|
||||||
|
width:
|
||||||
|
- 3.0
|
||||||
|
- 0.8
|
||||||
|
level: 0
|
||||||
|
adjacency:
|
||||||
|
- c
|
||||||
|
|
||||||
|
rc1:
|
||||||
|
name: Reception Office
|
||||||
|
size:
|
||||||
|
- 14.0
|
||||||
|
- 3.0
|
||||||
|
width:
|
||||||
|
- 3.0
|
||||||
|
- 0.6
|
||||||
|
level: 0
|
||||||
|
adjacency:
|
||||||
|
- c
|
||||||
|
|
||||||
|
ph1:
|
||||||
|
name: Clinic Room
|
||||||
|
size:
|
||||||
|
- 18.0
|
||||||
|
- 3.5
|
||||||
|
width:
|
||||||
|
- 3.0
|
||||||
|
- 0.6
|
||||||
|
level: 0
|
||||||
|
adjacency:
|
||||||
|
- c
|
||||||
|
|
||||||
|
gh1:
|
||||||
|
name: Greenhouse
|
||||||
|
size:
|
||||||
|
- 24.0
|
||||||
|
- 4.0
|
||||||
|
width:
|
||||||
|
- 3.5
|
||||||
|
- 0.8
|
||||||
|
level: 0
|
||||||
|
adjacency:
|
||||||
|
- c
|
||||||
|
- o
|
||||||
|
|
||||||
|
# Meeting rooms - anonymous interchangeable (3 total, ground floor)
|
||||||
|
m:
|
||||||
|
name: Meeting Room
|
||||||
|
size:
|
||||||
|
- 10.0
|
||||||
|
- 2.0
|
||||||
|
width:
|
||||||
|
- 2.5
|
||||||
|
- 0.5
|
||||||
|
level: 0
|
||||||
|
adjacency:
|
||||||
|
- c
|
||||||
|
count: 3
|
||||||
|
|
||||||
|
# Ground-floor bathrooms (6 total)
|
||||||
|
t:
|
||||||
|
name: Bathroom
|
||||||
|
size:
|
||||||
|
- 6.0
|
||||||
|
- 1.5
|
||||||
|
width:
|
||||||
|
- 2.0
|
||||||
|
- 0.5
|
||||||
|
level: 0
|
||||||
|
adjacency:
|
||||||
|
- c
|
||||||
|
count: 6
|
||||||
|
|
||||||
|
# ---- FIRST FLOOR (level 1): residents' shared + neighborhoods ----
|
||||||
|
li1:
|
||||||
|
name: Library Corner
|
||||||
|
size:
|
||||||
|
- 20.0
|
||||||
|
- 4.0
|
||||||
|
width:
|
||||||
|
- 3.5
|
||||||
|
- 0.8
|
||||||
|
level: 1
|
||||||
|
adjacency:
|
||||||
|
- c
|
||||||
|
|
||||||
|
lo1:
|
||||||
|
name: Lounge
|
||||||
|
size:
|
||||||
|
- 30.0
|
||||||
|
- 5.0
|
||||||
|
width:
|
||||||
|
- 4.0
|
||||||
|
- 1.0
|
||||||
|
proportion:
|
||||||
|
- 2.0
|
||||||
|
- 0.6
|
||||||
|
level: 1
|
||||||
|
adjacency:
|
||||||
|
- c
|
||||||
|
- o
|
||||||
|
|
||||||
|
# Staff offices - anonymous (2 total)
|
||||||
|
em:
|
||||||
|
name: Staff Office
|
||||||
|
size:
|
||||||
|
- 12.5
|
||||||
|
- 2.5
|
||||||
|
width:
|
||||||
|
- 2.5
|
||||||
|
- 0.5
|
||||||
|
level: 1
|
||||||
|
adjacency:
|
||||||
|
- c
|
||||||
|
count: 2
|
||||||
|
|
||||||
|
# Sleeping neighborhoods - anonymous interchangeable (4 total)
|
||||||
|
n:
|
||||||
|
name: Neighborhood
|
||||||
|
size:
|
||||||
|
- 60.0
|
||||||
|
- 8.0
|
||||||
|
width:
|
||||||
|
- 5.0
|
||||||
|
- 1.0
|
||||||
|
proportion:
|
||||||
|
- 2.0
|
||||||
|
- 0.6
|
||||||
|
level: 1
|
||||||
|
adjacency:
|
||||||
|
- c
|
||||||
|
count: 4
|
||||||
|
|
||||||
|
ur2:
|
||||||
|
name: First Floor Storage
|
||||||
|
size:
|
||||||
|
- 18.0
|
||||||
|
- 3.5
|
||||||
|
width:
|
||||||
|
- 3.0
|
||||||
|
- 0.8
|
||||||
|
level: 1
|
||||||
|
adjacency:
|
||||||
|
- c
|
||||||
|
|
||||||
|
en1:
|
||||||
|
name: TV / Media Room
|
||||||
|
size:
|
||||||
|
- 22.0
|
||||||
|
- 4.0
|
||||||
|
width:
|
||||||
|
- 3.5
|
||||||
|
- 0.8
|
||||||
|
level: 1
|
||||||
|
adjacency:
|
||||||
|
- c
|
||||||
|
|
||||||
|
# Therapy rooms - anonymous (2 total)
|
||||||
|
py:
|
||||||
|
name: Therapy Room
|
||||||
|
size:
|
||||||
|
- 16.0
|
||||||
|
- 3.0
|
||||||
|
width:
|
||||||
|
- 3.0
|
||||||
|
- 0.6
|
||||||
|
level: 1
|
||||||
|
adjacency:
|
||||||
|
- c
|
||||||
|
count: 2
|
||||||
|
|
||||||
|
# ---- SECOND FLOOR (level 2): individual rooms + amenity ----
|
||||||
|
# Individual resident rooms - anonymous (12 total)
|
||||||
|
r:
|
||||||
|
name: Individual Room
|
||||||
|
size:
|
||||||
|
- 10.0
|
||||||
|
- 2.0
|
||||||
|
width:
|
||||||
|
- 2.5
|
||||||
|
- 0.5
|
||||||
|
level: 2
|
||||||
|
adjacency:
|
||||||
|
- c
|
||||||
|
count: 12
|
||||||
|
|
||||||
|
gy1:
|
||||||
|
name: Exercise Room
|
||||||
|
size:
|
||||||
|
- 28.0
|
||||||
|
- 5.0
|
||||||
|
width:
|
||||||
|
- 4.0
|
||||||
|
- 0.8
|
||||||
|
proportion:
|
||||||
|
- 1.8
|
||||||
|
- 0.5
|
||||||
|
level: 2
|
||||||
|
adjacency:
|
||||||
|
- c
|
||||||
|
- o
|
||||||
|
|
||||||
|
ut1:
|
||||||
|
name: Utilities Closet
|
||||||
|
size:
|
||||||
|
- 14.0
|
||||||
|
- 3.0
|
||||||
|
width:
|
||||||
|
- 2.5
|
||||||
|
- 0.6
|
||||||
|
level: 2
|
||||||
|
adjacency:
|
||||||
|
- c
|
||||||
|
|
||||||
|
ur3:
|
||||||
|
name: Second Floor Storage
|
||||||
|
size:
|
||||||
|
- 16.0
|
||||||
|
- 3.0
|
||||||
|
width:
|
||||||
|
- 3.0
|
||||||
|
- 0.8
|
||||||
|
level: 2
|
||||||
|
adjacency:
|
||||||
|
- c
|
||||||
|
|
||||||
|
# Second-floor bathrooms (4 total)
|
||||||
|
tt:
|
||||||
|
name: Upper Bathroom
|
||||||
|
size:
|
||||||
|
- 6.0
|
||||||
|
- 1.5
|
||||||
|
width:
|
||||||
|
- 2.0
|
||||||
|
- 0.5
|
||||||
|
level: 2
|
||||||
|
adjacency:
|
||||||
|
- c
|
||||||
|
count: 4
|
||||||
|
|
||||||
|
q1:
|
||||||
|
name: Quiet Room
|
||||||
|
size:
|
||||||
|
- 12.0
|
||||||
|
- 2.5
|
||||||
|
width:
|
||||||
|
- 2.5
|
||||||
|
- 0.6
|
||||||
|
level: 2
|
||||||
|
adjacency:
|
||||||
|
- c
|
||||||
|
|
||||||
|
# Building constraints
|
||||||
|
storey_minimum: 3
|
||||||
|
storey_limit: 4
|
||||||
|
force_roof_garden: 0
|
||||||
|
|
||||||
|
# Circulation ratio (allow more circulation for larger building)
|
||||||
|
ratio_circulation:
|
||||||
|
- 0.08
|
||||||
|
- 0.15
|
||||||
|
|
||||||
|
# Outside space ratio (courtyard requirement)
|
||||||
|
ratio_outside:
|
||||||
|
- 0.15
|
||||||
|
- 0.10
|
||||||
|
|
||||||
|
# Staircase requirements (main + secondary)
|
||||||
|
staircase_min: 2
|
||||||
|
staircase_max: 2
|
||||||
|
|
||||||
|
# Economic parameters
|
||||||
|
value_inside: 300.0
|
||||||
|
value_circulation: 50.0
|
||||||
|
value_outside: 100.0
|
||||||
|
value_supported: 300.0
|
||||||
Loading…
Add table
Reference in a new issue