71 lines
2.9 KiB
Markdown
71 lines
2.9 KiB
Markdown
# PR-10c Bank Composition Section Shell and Form Session Integration
|
|
|
|
Domain owner: `docs/studio`
|
|
|
|
## Briefing
|
|
|
|
Add the `Bank Composition` section shell into `Asset Details`, aligned with `Runtime Contract` and the existing `StudioFormSession` section rhythm.
|
|
|
|
This slice lands the visible section and its staged-edit shell contract before full family-specific behavior is wired.
|
|
|
|
## Objective
|
|
|
|
After this PR:
|
|
|
|
- `Asset Details` contains a real `Bank Composition` section;
|
|
- the section is a `VBox` section aligned with the existing details composition;
|
|
- the section mirrors the `Runtime Contract` shell as closely as practical;
|
|
- the section exposes `change`, `apply`, `reset`, and `cancel`;
|
|
- outside editing it renders persisted state in read-only mode;
|
|
- before behavior wiring is complete it can still render disabled/read-only internals instead of looking absent.
|
|
|
|
## Dependencies
|
|
|
|
- [`../decisions/Bank Composition Section Shell Decision.md`](../decisions/Bank%20Composition%20Section%20Shell%20Decision.md)
|
|
- [`./PR-10a-bank-composition-details-dto-projection.md`](./PR-10a-bank-composition-details-dto-projection.md)
|
|
- [`./PR-10b-bank-composition-base-components.md`](./PR-10b-bank-composition-base-components.md)
|
|
- [`./PR-07c-asset-details-and-form-lifecycle.md`](./PR-07c-asset-details-and-form-lifecycle.md)
|
|
|
|
## Scope
|
|
|
|
- add the `Bank Composition` section to `Asset Details`
|
|
- align the shell with `Runtime Contract`
|
|
- integrate `StudioFormSession` staged-edit lifecycle at the section boundary
|
|
- render read-only or disabled internals when behavior is incomplete
|
|
- show persisted state outside edit mode
|
|
|
|
## Non-Goals
|
|
|
|
- no family-specific bank rules yet
|
|
- no final section-scoped coordinator yet
|
|
- no workspace-bus events yet
|
|
- no packer apply write path yet
|
|
|
|
## Execution Method
|
|
|
|
1. Introduce the section host into `Asset Details`.
|
|
2. Reuse the existing section/action-bar rhythm from `Runtime Contract`.
|
|
3. Bind the section shell to a `StudioFormSession` lifecycle.
|
|
4. Render read-only state outside edit mode.
|
|
5. Render disabled/read-only internals where behavior is still pending.
|
|
|
|
## Acceptance Criteria
|
|
|
|
- the `Bank Composition` section is visible in `Asset Details`
|
|
- the section shell matches the existing details-section rhythm
|
|
- `change`, `apply`, `reset`, and `cancel` are part of the shell contract
|
|
- outside edit mode the section shows persisted state in read-only form
|
|
- the section does not appear blank or absent while later slices are still pending
|
|
|
|
## Validation
|
|
|
|
- unit tests for section visibility and shell state
|
|
- unit tests for `StudioFormSession`-driven shell transitions
|
|
- UI smoke validation for read-only and editing shell modes
|
|
|
|
## Affected Artifacts
|
|
|
|
- `prometeu-studio/src/main/java/p/studio/workspaces/assets/details/AssetDetailsControl.java`
|
|
- new bank-composition section controls under `prometeu-studio/src/main/java/p/studio/workspaces/assets/details/...`
|
|
- tests for details section-shell lifecycle
|