2.6 KiB
2.6 KiB
PR-05a Assets Workspace Foundation and Service State
Briefing
Implement the first executable slice of the Assets workspace based on:
This PR creates the workspace foundation, service-facing state model, and event wiring required by all later Assets workspace slices.
Objective
Replace the current WorkspaceId.ASSETS placeholder with a concrete AssetsWorkspace foundation that can:
- boot inside the Studio shell,
- request and refresh asset data from Studio-facing services,
- maintain stable selection state,
- surface loading/empty/error states,
- and expose internal state in a way that later UI slices can reuse.
Dependencies
- existing Studio shell and event bus foundations
- existing packer-facing Studio contracts and specifications
Scope
- create a concrete
AssetsWorkspace - define workspace-local view state models for:
- navigator state
- selected asset state
- loading/error state
- define service-facing DTO adapters needed by the workspace
- define workspace event publications for asset refresh and selection updates
- integrate the workspace into the existing shell/workspace switch flow
Non-Goals
- no final asset navigator visuals yet
- no final preview rendering yet
- no final staged mutation UI yet
- no production-grade packer backend implementation if stubs or adapters are still required
Execution Method
- Replace the placeholder assets workspace with a concrete class and root layout.
- Introduce workspace-local state objects for navigator, selection, and detail hydration.
- Introduce a Studio-facing service boundary for loading asset collections and selected-asset details.
- Wire the workspace into
StudioWorkspaceEventBusfor refresh and selection lifecycle. - Define stable loading, empty, no-results, and error states in code.
Acceptance Criteria
- selecting
Assetsopens a real workspace rather than a placeholder - the workspace can request asset data through a Studio service boundary
- loading, empty, and error states are visible and distinct
- selection state is modelled explicitly and can be preserved by identity
- the workspace has enough state structure to support the later navigator and details PRs without redesign
Validation
- unit tests for workspace state transitions
- unit tests for selection retention logic
- UI smoke validation that the Assets workspace mounts cleanly in the shell
Affected Artifacts
prometeu-studioworkspace classes- Studio event wiring
- Studio-facing asset service abstractions
- tests for workspace state and selection behavior