3.6 KiB
| id | ticket | title | status | created | completed | ref_decisions | tags | ||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| PLN-0087 | variable-tile-bank-palette-serialization | Variable Glyph Palette Spec Propagation | open | 2026-07-14 |
|
|
Objective
Propagate DEC-0038 into the canonical Studio and packer specifications before
code changes start.
Background
Runtime DEC-0041 makes palette_count the serialized and resident palette
count for GLYPH/indexed_v1. Studio/packer DEC-0038 adopts that runtime
contract downstream. Current packer specs still describe a fixed
64 * 16 * 4 = 4096 palette block and palette_count = 64.
Scope
Included
- Update packer specs for glyph-bank metadata, payload layout, and size formulas.
- Update Studio specs only where Studio-facing palette count projection or asset details are documented.
- Preserve RGBA8888 channel order, packed
u4pixels, andGLYPH/indexed_v1.
Excluded
- Code changes.
- Fixture regeneration.
- Runtime spec changes.
- Any
GLYPH/indexed_v2design.
Execution Steps
Step 1 - Update asset declaration metadata rules
What: Define palette_count as the effective runtime metadata field.
How: Update glyph-bank declaration language so palette_count means the
number of serialized and resident RGBA8888 palettes, constrained to 1..=64.
State that palette_authored, if present, is informative and not runtime
effective.
File(s):
docs/specs/packer/3. Asset Declaration and Virtual Asset Contract Specification.md
Step 2 - Update glyph payload layout
What: Replace fixed 4096-byte palette block text.
How: Change the layout to palette_count * 16 * 4 palette bytes and update
formulas to:
size = ceil(width * height / 2) + palette_count * 16 * 4
decoded_size = width * height + palette_count * 16 * 4
File(s):
docs/specs/packer/4. Build Artifacts and Deterministic Packing Specification.md
Step 3 - Preserve v1 boundaries
What: Explicitly prohibit v2, compatibility padding, and remapping.
How: Add rules that this remains GLYPH/indexed_v1, old fixed-padding is
not a compatibility mode, and v1 has no sparse-to-dense palette remapping.
File(s):
docs/specs/packer/4. Build Artifacts and Deterministic Packing Specification.md
Step 4 - Update Studio-facing spec text
What: Align Studio projections if they mention palette count or fixed bank shape.
How: Search the Studio asset workspace spec for palette projection, details, or pack wizard language and update only stale fixed-count wording.
File(s):
docs/specs/studio/4. Assets Workspace Specification.md
Test Requirements
Unit Tests
- Not applicable for this spec-only plan.
Integration Tests
- Not applicable for this spec-only plan.
Manual Verification
- Search specs for stale normal-path
palette_count = 64,4096, fixed 64-palette block,GLYPH/indexed_v2, and remapping language.
Acceptance Criteria
- Packer specs define
palette_countas runtime-effective1..=64. - Packer specs use variable palette byte and size formulas.
- Specs keep
GLYPH/indexed_v1and reject v2 for this change. - Specs reject fixed-padding compatibility and sparse-to-dense remapping.
- Studio specs contain no stale fixed 64-palette projection wording.
Dependencies
- Depends on accepted
DEC-0038. - Should complete before code plans.
Risks
- Leaving stale fixed 4096-byte examples will make implementation review ambiguous.
- Over-editing Studio specs could imply UI behavior not required by
DEC-0038.