-
Notifications
You must be signed in to change notification settings - Fork 0
Assembly follow-up: dependent slots, defaults, and aggregate projection #131
Copy link
Copy link
Open
Labels
area:storyRelated to story, world, episodes, or conceptsRelated to story, world, episodes, or conceptskind:milestoneBag of issuesBag of issuespriority:p1ImportantImportant
Description
Summary
The assembly/slotted-container foundation now exists, so this issue should stop acting like a free-floating note fragment.
What remains are the next concrete extensions that would make the assembly family more useful for authored loadouts and higher-level mechanic families.
Candidate extensions
1. Slot dependencies
Examples:
- powerplant requires chassis
- turret slot requires a large chassis
- saddlebag slot only meaningful if mount harness exists
Possible surfaces:
- slot-level dependency metadata
- validation that can explain unsatisfied prerequisites cleanly
2. Conditional slot enablement
Examples:
- turret slot enabled only for large frames
- ceremonial accessory slots only enabled for specific forms or roles
Possible surfaces:
- slot-level predicate / callable / selector-based enablement
- validation and projection that distinguish "disabled" from merely "empty"
3. Default components / default loadout materialization
Examples:
- base chassis auto-created on initialization
- common clothing slots populated from defaults
Possible surfaces:
- per-slot default template or equivalent initialization policy
- opt-in behavior rather than mandatory auto-population
4. Aggregate properties
Examples:
- total defense bonus
- total carried weight
- total speed modifier
- aggregate tags or capabilities exposed to higher-level systems
Possible surfaces:
- container-level aggregate helpers
- projection contracts for higher mechanic families
Preferred follow-ups
- Assembly: aggregate property helpers #193 — low-risk aggregate helpers that higher-level families can consume immediately
- Assembly: slot dependency validation #194 — explicit prerequisite validation for assembly slots
- Assembly: conditional slot enablement #195 — conditional slot enablement on top of clearer structural rules
- Assembly: opt-in default loadout materialization #196 — opt-in default loadout materialization after dependency/enablement semantics are clearer
Non-goals
- Reopening the whole asset-collection design space here.
- Unifying inventory, assembly, presence, and every other collection type in one pass.
- Premature optimization before a concrete consumer needs these rules.
Done when
At least one or two of the extensions above are implemented against a real consumer, with tests and a clearer contract for which assembly features are part of the supported family surface.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
area:storyRelated to story, world, episodes, or conceptsRelated to story, world, episodes, or conceptskind:milestoneBag of issuesBag of issuespriority:p1ImportantImportant