1.5 KiB
1.5 KiB
M52 CandidateLedger Component Contract
ABGM52CandidateLedger is the second independently reviewable M52 module.
It is a warm adventurer ledger, not a page controller: it receives candidate
data and emits one action_requested signal.
Ownership tree
ABGM52CandidateLedger (Control)
├── LedgerShell
├── LedgerHeader
├── PortraitModule
├── IdentityModule
├── FactCopy
├── TraitModule
├── CostModule
└── ActionButton
Layout rules
- The shell and action use shared market chrome; the page must not add a second panel or a second button style around this component.
- Portrait, name, trait and cost remain independent clipped modules. Text is engine-rendered and never baked into generated art.
- The fact copy is limited to profession plus one short detail sentence; long descriptions belong to a later full-screen detail state.
- The action occupies one bottom dock with a 48px minimum hit target.
Responsive rules
The parent supplies a normalized slot. The ledger background may stretch, while portrait and icon content preserve aspect ratio. All dynamic labels clip or wrap inside their local bounds; no label may paint over the neighboring slot.
Acceptance
m52_candidate_ledger_component_test.gdverifies the tree, clipping and non-overlapping slots.m52_candidate_ledger_component_capture.gdproduces a 420x560 normal-render evidence image.- Owner visual review is required before Market integration.