prometeu-studio/discussion/workflow/decisions/DEC-0025-glyph-bank-local-alignment-with-runtime.md

77 lines
5.0 KiB
Markdown

---
id: DEC-0025
ticket: glyph-bank-naming-alignment-with-runtime
title: Glyph Bank Local Alignment with Runtime
status: in_progress
created: 2026-04-10
accepted: 2026-04-10
agenda: AGD-0028
plans: [PLN-0048]
tags: [packer, studio, naming, asset-contract, runtime-alignment, glyph-bank]
---
## Decision
This repository MUST align its active `packer` and `studio` surfaces with the runtime naming contract accepted in `../runtime` `DEC-0006`.
The concrete graphical bank artifact currently referred to locally through `tile bank`, `TileBank`, `tile_bank`, `TILES/indexed_v1`, and `bank_type = TILES` MUST migrate to `GlyphBank`, `glyph_bank`, `GLYPH/indexed_v1`, and `bank_type = GLYPH`, according to the surface involved.
This migration MUST be treated as rename-only. It MUST NOT change payload layout, metadata semantics, codec behavior, packing behavior, runtime contract meaning, Studio behavior, or any other functional behavior.
The migration MUST happen as one single transversal wave across `packer`, `studio`, specs, fixtures, tests, and maintained discussion/lesson surfaces in this repository.
There MUST NOT be a compatibility layer, alias, fallback parser, or dual-vocabulary phase for the previous `tile bank` naming on active maintained surfaces.
`tile` MUST remain in place wherever the correct meaning is geometric, map-related, layer-related, or otherwise outside the concrete graphical bank artifact boundary.
Studio MUST follow the concrete artifact naming 1:1 for the renamed artifact surfaces. It MUST NOT keep local alternative terminology for the same artifact.
## Rationale
The upstream runtime decision already closed the conceptual split between the concrete graphical bank artifact and the broader tile-domain vocabulary.
If this repository keeps the old local naming while the runtime adopts `GlyphBank`, the project enters a mixed-contract state where active repositories describe the same concrete artifact through incompatible names. That directly undermines the purpose of the upstream decision.
A no-compatibility, single-wave rename is the only option that preserves one active canonical vocabulary instead of institutionalizing drift between specs, fixtures, code, and UI.
Keeping `tile` only where the meaning is geometric or map/layer-oriented preserves the domain distinction that motivated the runtime decision in the first place.
## Technical Specification
1. The canonical local asset-family name for the concrete graphical bank artifact MUST migrate from `tile_bank` to `glyph_bank`.
2. The canonical local output format name for the concrete graphical bank artifact MUST migrate from `TILES/indexed_v1` to `GLYPH/indexed_v1`.
3. The canonical runtime-facing `bank_type` value emitted by the packer for the concrete graphical bank artifact MUST migrate from `TILES` to `GLYPH`.
4. Code symbols, class names, helpers, tests, and maintained strings that refer to the concrete graphical bank artifact MUST migrate from `Tile*`/`tile bank` naming to `Glyph*`/`glyph bank` naming as appropriate to the local language surface.
5. Specs and maintained lessons/docs in this repository MUST describe the concrete graphical bank artifact using `Glyph*` naming after the migration.
6. `tile` naming MUST remain unchanged in surfaces that describe geometric tile size, tile layers, tile maps, grid semantics, or other non-artifact tile-domain concepts.
7. Implementations MUST NOT preserve active dual support for both `tile bank` and `glyph bank` terminology in the serialized contract.
8. Fixtures and test assets maintained by this repository MUST migrate to the new serialized contract names in the same wave as the implementation.
9. This decision does not authorize any behavior change beyond naming propagation.
## Constraints
- No compatibility parser or alias layer for the old serialized names.
- No staged split between `packer` and `studio`; the rename is one coordinated wave.
- No rename of geometric or map/layer `tile` concepts.
- No change to payload bytes, metadata structure, codec semantics, or packing algorithms as part of this decision.
## Propagation Targets
- Specs:
- Update packer specs that currently define `tile_bank`, `TILES/indexed_v1`, or `bank_type = TILES`.
- Update Studio-facing maintained discussion/spec text where the concrete artifact is still described as `tile bank`.
- Code:
- Rename local packer asset-family, output-format, and emitted bank-type surfaces to the new canonical glyph naming.
- Rename Studio artifact-specific composition/support/coordinator surfaces that refer to the concrete graphical bank artifact.
- Preserve `tile` naming in geometric and map/layer surfaces.
- Tests and Fixtures:
- Update fixtures and test manifests that still serialize the old `tile_bank` and `TILES/indexed_v1` contract.
- Update tests and helper names to remove mixed vocabulary for the concrete artifact.
- Docs and Lessons:
- Rewrite maintained lessons and active workflow artifacts by meaning, not mechanical token replacement.
## Revision Log
- 2026-04-10: Accepted and linked to PLN-0048 for implementation planning.
- 2026-04-10: Initial draft from AGD-0028.