BS-JD-204 - Live asset watcher and refresh #19

Closed
opened 2026-06-06 01:47:33 -04:00 by Rbanh · 2 comments
Owner

Summary

Watch assets/ and refresh asset catalog, thumbnails, and material registry without manual refresh.

Why

Production asset iteration needs file changes to become visible quickly and safely.

Implementation notes

  • Add file watcher with debounce for assets/ changes.
  • Refresh catalog entries, registry metadata, thumbnails, and material browser state.
  • Surface import errors and stale references in status/diagnostics.
  • Avoid repeated rebuild storms during bulk copy/import.

Acceptance criteria

  • Adding, editing, moving, or deleting files under assets/ refreshes the browser.
  • Thumbnail/material refreshes are debounced.
  • Missing references are reported clearly.
  • Manual refresh remains available as fallback.

Tests/docs

Watcher integration smoke tests where practical; unit test debounce logic. Update troubleshooting docs.

## Summary Watch `assets/` and refresh asset catalog, thumbnails, and material registry without manual refresh. ## Why Production asset iteration needs file changes to become visible quickly and safely. ## Implementation notes - Add file watcher with debounce for `assets/` changes. - Refresh catalog entries, registry metadata, thumbnails, and material browser state. - Surface import errors and stale references in status/diagnostics. - Avoid repeated rebuild storms during bulk copy/import. ## Acceptance criteria - [ ] Adding, editing, moving, or deleting files under `assets/` refreshes the browser. - [ ] Thumbnail/material refreshes are debounced. - [ ] Missing references are reported clearly. - [ ] Manual refresh remains available as fallback. ## Tests/docs Watcher integration smoke tests where practical; unit test debounce logic. Update troubleshooting docs.
Rbanh added this to the M2 - Content workspace and asset pipeline milestone 2026-06-06 01:47:33 -04:00
Rbanh added the
roadmap:jackdaw
type:feature
priority:P1
area:assets
labels 2026-06-06 01:47:33 -04:00
Author
Owner

M2 coordination: implement live refresh on the path-agnostic catalog contract in #62. File operations/import transactions in #20 and #61 need watcher suppression/debouncing so the registry observes one committed change rather than partial intermediate states; acceptance is gated by #65.

M2 coordination: implement live refresh on the path-agnostic catalog contract in #62. File operations/import transactions in #20 and #61 need watcher suppression/debouncing so the registry observes one committed change rather than partial intermediate states; acceptance is gated by #65.
Author
Owner

Closed against M2 candidate cf6eaba

Live content watching now uses the shared incremental processing engine with debounce, transaction suppression, registry/manifest/catalog refresh, thumbnail invalidation, dependency-aware jobs, stale-result rejection, and actionable failure state.

Consolidated code, deterministic, native, and package evidence: M2 evaluation record. Candidate gates passed in full and the commit is published on codex/m2-content-workspace.

## Closed against M2 candidate `cf6eaba` Live content watching now uses the shared incremental processing engine with debounce, transaction suppression, registry/manifest/catalog refresh, thumbnail invalidation, dependency-aware jobs, stale-result rejection, and actionable failure state. Consolidated code, deterministic, native, and package evidence: [M2 evaluation record](https://git.spacetrainclubhouse.com/Falling-Metal-Interactive/Blacksite/src/commit/cf6eaba53473d2825d0109f5a18f44794af5bd48/docs/editor/evaluations/content-workspace-m2/README.md). Candidate gates passed in full and the commit is published on `codex/m2-content-workspace`.
Rbanh closed this issue 2026-07-17 23:46:26 -04:00
Sign in to join this conversation.
No project
No Assignees
1 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: Falling-Metal-Interactive/Blacksite#19
No description provided.