Skip to content

[feat] item dims on every row: size, box, tris, bytes, animated (core roadmap 39 P4) - #16

Merged
AlexZ005 merged 1 commit into
mainfrom
feat/39-dims
Oct 8, 2026
Merged

AlexZ005 merged 1 commit into
mainfrom
feat/39-dims

Conversation

@AlexZ005

@AlexZ005 AlexZ005 commented Oct 8, 2026

Copy link
Copy Markdown
Contributor

Core roadmap 39 P4 (lane 39-place): item dimensions on every model-list row, so the app can show an item's size
before it downloads it (the drag-to-place ghost's W × D × H, the Explorer's download size). Core PR: theprototype-app/core#347.

  • tools/kit-build/lib/dims.mjs + node tools/kit-build/kit-build.mjs dims [pack…|--all] [--write] [--remote]:
    measures LOD0 and writes size [w, h, d] metres, box [minX..maxZ], tris, bytes, and animated: true for a
    file with clips. Keeps each file's indent/newlines; number arrays on one line.
  • The CI: a dims check (missing or stale vs the measured file, 1.5 mm slack on bounds) + row-shape rules;
    build and pass --write re-measure, so a decimation never leaves a stale row.
  • One-off backfill: all 252 rows of the 12 model lists (the 21 Khronos rows measured from a --remote download —
    their bytes stay upstream). check: 0 errors. Tool tests 38/38 (5 new + a missing-dims check test).

After merge: retag format-1 + purge (README ritual) so the CDN serves the new rows. Until then core measures
each item on first load (correct, only "size unknown" before the download).

🤖 Generated with Claude Code

… roadmap 39 P4)

- tools/kit-build/lib/dims.mjs + `kit-build dims [pack…|--all] [--write] [--remote]`:
  measures each row's LOD0 (inspectGlb) and writes size [w, h, d] metres, box
  [minX..maxZ], tris, bytes and animated: true for files with clips. Number arrays
  stay on one line; the file keeps its own indent and newline style.
- the CI: a `dims` check (missing or stale against the measured file, 1.5 mm slack
  on the bounds) + row-shape rules (dimsShapeProblems); `build` and `pass --write`
  re-measure, so a decimation can never leave a stale row behind.
- one-off backfill of all 252 rows in the 12 model lists, the 21 Khronos rows
  measured from a --remote download (their bytes stay upstream).
- tests: dims.test.mjs (5) + a missing-dims check test; the fixture writes measured
  dims so every other check test stays focused. 38/38 green; check 0 errors.

Core reads these before any download (the drag-to-place ghost's W x D x H and the
Explorer's download size). Serving needs the usual `format-1` retag + purge.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
@AlexZ005
AlexZ005 merged commit fdcc82b into main Oct 8, 2026
1 check passed
@AlexZ005
AlexZ005 deleted the feat/39-dims branch October 8, 2026 06:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant