Emotion Base Generation uses wrong reference #267
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
When generating the base image for the emotions, the character reference is set to the the default main reference base, not the outfit reference base
Expectation
Traced all four expectation bullets against current main (
750ed05), code-verified:1. Base Character sheet — style only ✅
CharacterImageGenerator→ForCharacterSheet, at most the project style image. Matches.2. Base Outfit sheet ← Base Character Sheet as char&style ✗ — blocked by an accepted ADR, not an oversight
ADR 0067 (revised): "The sheet is never reference-carrying — a positioned sheet plus a reference hits ADR 0066's composed guard on every model." The sheet's two views are free-form positioned (positions pin D5), references pin 4.5 — no model does both. Identity currently reaches the outfit sheet via tags only. Changing this means an ADR revision (e.g. an unpositioned 4.5 sheet variant — which ADR 0066 rejected as "a sheet collapsing into one figure") or accepting the current design.
3. The emotion base (the outfit sprite the Expressions tab inpaints) ← outfit sheet as char&style ✗ — this is the report's core bug, and it's a clean fix
OutfitImageGenerator.RunSpriteAsynccarries the character's base sheet as lineage under the likeness flag — the outfit's own sheet, which ADR 0067 itself names "the durable identity reference," never rides. The CG cast pick already prefersSheetImageFileName ?? ImageFileName; the sprite lineage should mirror that: outfit sheet when generated, character base as the legacy fallback. Keeps #265's sheet/sprite independence intact for outfits without a sheet yet.4. Emotion variants ← outfit sheet ref on the infill ✗ — deliberately absent; needs a live probe first
The ADR 0042 post-mortem recorded that a character director entry on the infill action made the server ignore the mask; ADR 0043 codified "no director entry rides an infill." Adding the outfit sheet there is worth a probe (the 0042 incident was a lone
characterentry; acharacter&styleentry may behave differently), but it shouldn't ship unprobed — same risk class that produced the 0042 revert.Diagnosis note: the metadata log from #266 already distinguishes these — the sprite line in the issue's log shows no
likeness=payload at all, so that run hadUseBaseImageReferenceoff; the wrong-reference behavior lives in thelikeness=characters/<id>/base.pngruns.Proposed scope: fix (3) now — small, mirrors the CG pick, one lineage choice site. (2) and (4) are design decisions to make explicitly, not side effects of this fix.