# Phase 7 Smoke Test — maps/_smoke/synth-8000x6400.ldtk

**Operator:** Reavo End (decidel)
**Date:** 2026-05-23
**LDtk version:** 1.5.3 (matches tools/ldtk-version.txt)
**Source ADR:** 0011 (3×3 GridVania chunking)
**LDtk artifact:** `maps/_smoke/synth-8000x6400.ldtk` — operator-local only (gitignored per .gitignore Phase-7 block; ~134 MB inline tile-data blob inappropriate for git). v1.2 BNCentral conversion will use `externalLevels=true` to split per chunk.

[doc->REQ-MAP-02]

## Authoring recipe followed

- [x] All 9 levels created with explicit worldX/worldY per ADR 0011 D-10 (verified via JSON parse: all coords match spec exactly)
- [x] gridSize = 4 (project default) per ADR 0009 D-01
- [x] Each level filled with one BORDERED tile species (no entities, no auto-tile rules, no animated tiles per D-22)
- [x] All 9 chunks created (8 of 9 opened during authoring; 3 painted + saved per D-23 minimum)
- [x] Subset (CENTER + NW corner + N edge) opened + filled + saved per D-23

## Per-chunk subjective lag

| Chunk  | worldX | worldY | pxWid | pxHei | Open       | Paint-fill | Save | Notes |
|--------|--------|--------|-------|-------|------------|------------|------|-------|
| NW     | 0      | 0      | 2668  | 2132  | <1s        | <1s        | >2s  | Corner, filled |
| N      | 2668   | 0      | 2664  | 2132  | <1s        | <1s        | >2s  | Edge, filled |
| NE     | 5332   | 0      | 2668  | 2132  | instant    | —          | —    | Empty, not painted |
| W      | 0      | 2132   | 2668  | 2136  | instant    | —          | —    | Empty, not painted |
| CENTER | 2668   | 2132   | 2664  | 2136  | instant    | <1s        | >2s  | Hub, filled (largest perceived load) |
| E      | 5332   | 2132   | 2668  | 2136  | instant    | —          | —    | Empty, not painted |
| SW     | 0      | 4268   | 2668  | 2132  | instant    | —          | —    | Empty, not painted |
| S      | 2668   | 4268   | 2664  | 2132  | instant    | —          | —    | Empty, not painted |
| SE     | 5332   | 4268   | 2668  | 2132  | instant    | —          | —    | Empty, not painted |

**Observed pattern:**
- Empty chunk open: `instant`
- Filled chunk open: `<1s`
- Paint-fill (Rectangle tool, full-level drag): `<1s`
- Save: `>2s` consistently across all filled chunks

D-23 minimum (CENTER + 1 corner + 1 edge) satisfied with CENTER + NW + N.

## Screenshot

![ldtk-3x3-smoke](./smoke-screenshot.png)

Screenshot shows world view post-paint with NW/N/NE/CENTER rendering grid pattern (NW/N/CENTER painted; NE label correctly applied after rename from auto-generated `Level_2`). Empty middle/bottom-row chunks (W, E, SW, S, SE) render gray at this zoom level — confirms 3×3 grid layout matches ADR 0011 dims.

## Verdict

**PASS** — chunked authoring workflow is tolerable for v1.2 BNCentral conversion. Open + paint-fill stay under 1 second on filled chunks; save consistently lands in the >2s band but never blocks the editor. D-09 (3×3 over 2×2/4×4) and D-10 (cols 2668/2664/2668, rows 2132/2136/2132) remain locked.

## Observations (v1.2 watchpoints — non-blocking)

1. **File size:** 134 MB `.ldtk` after partial paint (3 of 9 chunks filled). Per-cell tile data appears stored inline (gridSize=4 implies ~667×534 ≈ 356k cells per chunk). Re-evaluate when real BNCentral content lands; if size grows >500 MB, consider switching to `externalLevels: true` so each chunk lives in its own `.ldtkl` file.
2. **Floor-tile straddling at chunk boundaries:** ADR 0011 acknowledged limitation — 2668/2664/2668 chunk widths are not multiples of 44 (floor tile pitch). v1.2 BNCentral conversion will need an overlap/stitch strategy at the 6 internal chunk seams. Not a smoke-test FAIL signal; flagged for v1.2 ldtk-import planning.
3. **Save latency:** >2s saves are consistent but tolerable for v1.2. If save degrades past ~5s on real BNCentral content with all 9 chunks fully painted, revisit chunk-grid decision before completing the BNCentral conversion.

## Escalation (if FAIL)

Per CONTEXT.md Phase 7 D-25: re-open ADR 0011 chunk-grid decision (D-09/D-10). Candidates: 4×4 (smaller chunks, more transitions), 2×2 (larger chunks but central hub straddles all four — known anti-pattern). Document re-opening in a Phase 7 follow-up PLAN or carry to v1.2 BNCentral planning.

(N/A — verdict is PASS.)
