# PR-05b Asset Navigator Search Filters and Selection

## Briefing

Implement the left-side `Asset Tree` / `Asset Navigator` for the `Assets` workspace.

This PR applies the navigator and selection rules from:

- [`../specs/4. Assets Workspace Specification.md`](../specs/4.%20Assets%20Workspace%20Specification.md)

## Objective

Deliver the first concrete asset navigator with:

- asset-first grouped navigation
- semantic filters
- textual search
- stable single selection
- explicit loading/empty/no-results/error states

## Dependencies

- [`./PR-05a-assets-workspace-foundation-and-service-state.md`](./PR-05a-assets-workspace-foundation-and-service-state.md)

## Scope

- implement the custom visual asset navigator control
- render group nodes and asset nodes
- implement baseline filters:
  - `Managed`
  - `Orphan`
  - `Diagnostics`
  - `Preload`
- implement textual search over asset name and path context
- preserve selection by `asset_id` or orphan root path as appropriate
- allow optional expansion into asset inputs only as supporting inspection

## Non-Goals

- no final selected-asset details composition yet
- no final mutation staging UI yet
- no heavy sorting or multi-select support

## Execution Method

1. Implement the navigator control and node rendering model.
2. Add the baseline filters and search composition logic.
3. Add stable selection reconciliation during refresh.
4. Add explicit navigator states for loading, empty, no-results, and workspace error.
5. Add the visual markers for managed/orphan, diagnostics, preload, and broad asset family.

## Acceptance Criteria

- the `Assets` workspace shows a real asset navigator on the left
- assets are grouped by path-aware structure without degrading into a raw file tree
- filters and search work together
- selection remains stable across refresh when identity is preserved
- orphan assets appear in the same navigator flow with clearly differentiated styling

## Validation

- unit tests for filter/search composition
- unit tests for selection preservation rules
- UI smoke validation for node rendering and navigator states

## Affected Artifacts

- `AssetsWorkspace`
- custom navigator controls
- navigator view models
- selection reconciliation logic
- tests for filters, search, and selection behavior
