# 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