78 lines
3.0 KiB
Markdown
78 lines
3.0 KiB
Markdown
# Asset Bank Composition Section Shell Agenda
|
|
|
|
Status: Open
|
|
Domain Owner: `docs/studio`
|
|
Cross-Domain Impact: `docs/packer`
|
|
|
|
## Problem
|
|
|
|
`Bank Composition` needs a section shell inside `Asset Details` before behavior is added.
|
|
|
|
That shell must align visually and operationally with existing sections, especially `Runtime Contract`, instead of inventing a separate layout and editing model.
|
|
|
|
## Context
|
|
|
|
The current baseline is already known:
|
|
|
|
- `Bank Composition` is a `VBox` section like the others;
|
|
- it is always visible for the current bank-based families;
|
|
- it should follow the same staged-editing model as `Runtime Contract`;
|
|
- the section body should place the dual list on the left and the capacity meter on the right.
|
|
|
|
This agenda focuses on the static shell and section composition, not the internal behavior.
|
|
|
|
## Options
|
|
|
|
1. Add the section only when behavior is ready.
|
|
2. Build the section shell first, with placeholder or disabled behavior.
|
|
3. Hide the section behind an experimental flag.
|
|
|
|
## Tradeoffs
|
|
|
|
1. Waiting for full behavior keeps the surface hidden longer and delays visual integration feedback.
|
|
2. A shell-first approach lets the Studio validate section rhythm, spacing, controls, and staged-edit affordances early.
|
|
3. A flag adds operational complexity without much value if the section is already part of the near-term plan.
|
|
|
|
## Recommendation
|
|
|
|
Create the `Bank Composition` section shell early, with no real behavior yet.
|
|
|
|
Baseline expectations:
|
|
|
|
- section header and actions align with `Runtime Contract`;
|
|
- `change`, `apply`, `reset`, and `cancel` are part of the shell contract;
|
|
- body layout already reserves the dual-list and meter regions;
|
|
- the shell may render with placeholder or disabled internals until middleware arrives.
|
|
|
|
### First-Wave Shell Baseline
|
|
|
|
The first-wave shell should mirror `Runtime Contract` as closely as practical at the JavaFX composition level.
|
|
|
|
That includes:
|
|
|
|
- the same section rhythm and action placement model;
|
|
- the same staged-edit shell expectations;
|
|
- alignment with the existing `FormSession` pattern instead of inventing a separate section lifecycle.
|
|
|
|
Before middleware wiring is ready, the body should render in a disabled or read-only state rather than as an empty placeholder.
|
|
|
|
Outside `change` mode, the section should show the current persisted state as read-only.
|
|
It should not stay visually neutral or look absent when data already exists.
|
|
|
|
## Open Questions
|
|
|
|
No open questions remain in this agenda wave.
|
|
|
|
### Resolved In This Agenda Wave
|
|
|
|
The following points are now closed:
|
|
|
|
1. The section shell should mirror `Runtime Contract` as closely as practical at the JavaFX composition level.
|
|
2. The shell should align with the existing `FormSession` model for staged editing.
|
|
3. Before middleware is ready, the body should render disabled or read-only internals instead of an empty placeholder.
|
|
4. Outside `change` mode, the section should render the current persisted state as read-only.
|
|
|
|
## Next Suggested Step
|
|
|
|
Turn this into a `decision` that fixes the shell contract and static layout of the `Bank Composition` section.
|