From 32728014343650c10e124df06fecb28884db0128 Mon Sep 17 00:00:00 2001 From: Eugene Blikh Date: Wed, 22 Apr 2026 02:15:21 +0300 Subject: [PATCH] docs(skeleton): record review conclusion --- docs/tasks/skeleton.md | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/docs/tasks/skeleton.md b/docs/tasks/skeleton.md index 595bc3407fe675416811ed2495f7a2084b7cbafa..90df5e6dce87113a44a522808a48bbfe992a9c4f 100644 --- a/docs/tasks/skeleton.md +++ b/docs/tasks/skeleton.md @@ -136,3 +136,18 @@ Invariants: - `TilePx` references confined to `render.go` — pixel conversion happens only at render time - No external asset files (png/jpg/wav/ttf/otf) anywhere in the repo - `git status` clean after `make build` + `make build-wasm` — `.gitignore` correctly excludes all artifacts + +## Conclusion + +Outcome: skeleton milestone delivered — native window and browser WASM both render the 5-room placeholder ship at `c71f238`. + +Invariants: +- All drawing uses virtual 640×360 — `TilePx` references confined to `render.go`. +- Single codebase for native + WASM — no `//go:build`, no platform-suffixed files; `GOOS=js GOARCH=wasm go build` passes. +- Tile-unit storage, render-time pixel conversion — `Room` fields are pure ints; conversion in `drawRoom` only. +- No external asset files — repo contains no image/audio/font binaries. +- `ship.go` free of Ebitengine imports — verified by grep. + +Future work: +- Design prose mentions `text/v2` for labels while Plan + code use `ebitenutil.DebugPrintAt`; harmless doc drift, reviewer flagged sub-threshold. Justification: Plan was the contract and was approved with the `DebugPrintAt` choice; swap to `text/v2` + real face is a polish-milestone concern, not skeleton. +- Git init was done inline before Phase 1 (task file predates any branch/worktree workflow); future milestones should set `**Branch:**` / `**Worktree:**` headers up front.