2.7 KiB
2.7 KiB
PR-02 - Studio Shell Components Wave 1
Briefing
The Studio has already decided that used visual controls should come through prometeu-studio-components.
Before implementing the new shell entry flow, the codebase needs the first component wave for the shell itself.
Objective
Establish the first set of Studio shell controls in prometeu-studio-components so the launcher and shell work do not grow on top of raw JavaFX controls.
Dependencies
../specs/1. Studio Shell and Workspace Layout Specification.md../specs/3. Studio Components Module Specification.mdPR-01 - StudioEventBus Foundation
Scope
- create the first shell-facing controls in
prometeu-studio-components - establish theme and i18n-safe control patterns
- wire the Studio shell to consume those controls
Initial candidate controls:
- shell menu surface
- workspace rail or workspace selector control
- right utility panel shell
- run surface control
- simple shell panel/header primitives as needed
Non-Goals
- implementing the full Assets workspace
- introducing every future Studio control family
- building a generic docking framework
- solving project launcher behavior in full
Execution Method
- Define the first Studio shell controls in
prometeu-studio-components. - Keep each control API small and Studio-facing.
- Keep styling themeable through CSS.
- Keep user-facing text bindable and locale-safe.
- Establish explicit
subscribe()andunsubscribe()lifecycle hooks in the control layer so event-driven controls can override them when needed. - Establish
onAttached()andonDetached()hooks that callsubscribe()andunsubscribe()respectively. - Refactor the shell layer in
prometeu-studioto consume these controls instead of raw JavaFX where the controls are now available. - Avoid adding speculative controls with no immediate shell use.
Acceptance Criteria
- the first shell-facing controls exist in
prometeu-studio-components - those controls are used by the Studio shell code
- no new shell control work lands directly on raw JavaFX when a Studio control is now available
- event-driven controls have explicit subscribe and unsubscribe lifecycle hooks
- attach and detach lifecycle hooks drive subscription setup and teardown
- theme and i18n compatibility are preserved
Validation
- compile validation of
prometeu-studioandprometeu-studio-components - smoke validation that the Studio still launches and renders the shell
Affected Artifacts
prometeu-studio-componentsprometeu-studioshell code- shell styling and theme resources