160 lines
4.2 KiB
Markdown
160 lines
4.2 KiB
Markdown
---
|
|
id: PLN-0086
|
|
ticket: studio-packer-rgba8888-asset-pipeline
|
|
title: RGBA8888 Final Integration and Residue Removal
|
|
status: done
|
|
created: 2026-05-23
|
|
completed: 2026-05-23
|
|
ref_decisions:
|
|
- DEC-0037
|
|
tags:
|
|
- integration
|
|
- validation
|
|
- residue-removal
|
|
- rgba8888
|
|
---
|
|
|
|
## Objective
|
|
|
|
Run final integration checks and remove normal-path RGB565 residue after the
|
|
spec, model, emission, projection, and test plans are implemented.
|
|
|
|
## Background
|
|
|
|
`DEC-0037` prohibits RGB565 compatibility mode, normal `convertedRgb565`
|
|
projection, magenta color-key behavior, reserved palette index `0`, and partial
|
|
alpha flattening. Final validation must prove that the repository implements
|
|
those constraints coherently.
|
|
|
|
## Scope
|
|
|
|
### Included
|
|
|
|
- Repository-wide residue audit.
|
|
- Full relevant Gradle test execution.
|
|
- Discussion workflow validation.
|
|
- Final implementation notes for follow-up plan or lesson creation.
|
|
|
|
### Excluded
|
|
|
|
- New feature design.
|
|
- Runtime repository changes.
|
|
- Variable palette-count work in `DSC-0005`.
|
|
- Manual regeneration of `main` and `fragments`.
|
|
|
|
## Execution Steps
|
|
|
|
### Step 1 - Run focused residue searches
|
|
|
|
**What:** Find stale RGB565 palette-contract residue.
|
|
|
|
**How:** Search production specs/code/tests/fixtures for:
|
|
`convertedRgb565`, `originalArgb8888`, `RGB565`, `rgb565`, `COLOR_KEY`,
|
|
`magenta`, `2048`, `indices 1..15`, and partial-alpha flattening text.
|
|
Classify each match as removed, historical discussion-only, or out-of-scope.
|
|
|
|
**File(s):**
|
|
|
|
- `docs/specs/packer/**`
|
|
- `docs/specs/studio/**`
|
|
- `prometeu-packer/**`
|
|
|
|
### Step 2 - Run packer tests
|
|
|
|
**What:** Execute the packer test suite.
|
|
|
|
**How:** Run the Gradle test task that covers `prometeu-packer-v1` and related
|
|
API modules.
|
|
|
|
**File(s):**
|
|
|
|
- Gradle modules under `prometeu-packer`
|
|
|
|
### Step 3 - Run broader build validation
|
|
|
|
**What:** Verify Studio build integration still compiles.
|
|
|
|
**How:** Run the repository's standard build or the narrowest existing Gradle
|
|
task that compiles Studio plus packer consumers.
|
|
|
|
**File(s):**
|
|
|
|
- Root Gradle project
|
|
- `prometeu-app`
|
|
- `prometeu-packer`
|
|
|
|
### Step 4 - Validate discussion workflow
|
|
|
|
**What:** Ensure discussion artifacts remain consistent.
|
|
|
|
**How:** Run `discussion validate` after implementation and before any
|
|
housekeeping.
|
|
|
|
**File(s):**
|
|
|
|
- `discussion/index.ndjson`
|
|
- `discussion/workflow/**`
|
|
|
|
### Step 5 - Record remaining intentional residue
|
|
|
|
**What:** Document any allowed remaining RGB565 references.
|
|
|
|
**How:** If matches remain only in historical discussions, runtime references,
|
|
or explicit future migration notes, list them in the implementation summary so
|
|
housekeeping and lesson work can distinguish intentional context from missed
|
|
normal-path behavior.
|
|
|
|
**File(s):**
|
|
|
|
- Implementation summary or future lesson, after code work is complete.
|
|
|
|
## Test Requirements
|
|
|
|
### Unit Tests
|
|
|
|
- Packer unit tests must pass.
|
|
|
|
### Integration Tests
|
|
|
|
- Packer workspace build/materialization tests must pass.
|
|
- Studio compile/build validation must pass.
|
|
|
|
### Manual Verification
|
|
|
|
- Residue search results must contain no normal-path `convertedRgb565`,
|
|
RGB565 glyph palette payload, magenta color-key, reserved index `0`, or
|
|
partial-alpha flattening behavior.
|
|
|
|
## Acceptance Criteria
|
|
|
|
- [x] `discussion validate` passes.
|
|
- [x] Packer tests pass.
|
|
- [x] Studio/packer build validation passes.
|
|
- [x] Normal specs/code/tests/fixtures contain no stale RGB565 glyph-palette
|
|
contract residue.
|
|
- [x] Remaining stale-looking matches, if any, are documented as historical or
|
|
explicitly out of scope.
|
|
- [x] `DSC-0005` remains untouched except by explicit future work.
|
|
|
|
## Execution Notes
|
|
|
|
- `discussion validate` passed.
|
|
- `./gradlew build` passed.
|
|
- Residue search found only:
|
|
- normative spec statements explicitly saying `convertedRgb565` and magenta
|
|
color-key behavior are not normal contract;
|
|
- `test-projects/main` asset manifests, which are intentionally out of scope
|
|
for this implementation because they will be regenerated manually later.
|
|
- `DSC-0005` was not modified.
|
|
|
|
## Dependencies
|
|
|
|
- Depends on `PLN-0081` through `PLN-0085`.
|
|
|
|
## Risks
|
|
|
|
- A broad residue search may include historical discussions and cause false
|
|
positives.
|
|
- Generated project cache files may change during tests; those changes must be
|
|
reviewed separately from source edits.
|