BS-JD-ROADMAP - Jackdaw-inspired editor production roadmap #1

Open
opened 2026-06-06 01:44:41 -04:00 by Rbanh · 27 comments
Owner

Purpose

Track the Blacksite editor production program from the Jackdaw-inspired authoring foundation through a release-ready indie game workflow.

The M0-M5 program remains the historical foundation: it adapts useful Jackdaw patterns without cloning its format or architecture. M6-M7 extend that foundation with the reliability, content, and shipping capabilities required to call Blacksite a production editor.

Milestone sequence

  • M0 - Foundation and polish seams (closed)
  • M1 - Brush-based blockout
  • M2 - Materials and asset pipeline
  • M3 - Terrain and physics placement (closed)
  • M4 - Extensibility and runtime integration
  • M5 - Regression, docs, and first-hour UX
  • M6 - Reliability, recovery, and project workflow
  • M7 - Content production and shipping

M1-M5 can advance in parallel where dependencies permit. M6 P0 reliability work is required before production signoff. M7 closes only through the objective acceptance gate in #50.

Operating rules

  • Preserve Blacksite's authoring/hydration model and stable authored IDs.
  • Adopt external editor ideas as patterns, not wholesale format or architecture migrations.
  • Use one operator/history path for every user mutation: preview, commit, cancel, undo, redo, dirty flag, and status.
  • Prefer statically linked extension APIs before dynamic loading.
  • Every modal tool needs visual preview, clear action feedback, Escape cancel, and grouped undo.
  • Every new authoring component needs schema migration, save allowlist, validation, hydration stripping, tests, and docs.
  • Machine-local session/recovery data stays outside source-controlled project content.
  • Build and headless validation must use the same project contracts as the interactive editor.
  • Every visible workflow change updates root README controls and docs/editor in the same task.

Cross-cutting production checklist

  • Tool preview before commit.
  • Commit/cancel semantics leave no dirty state on cancel.
  • Continuous actions group undo into one meaningful entry.
  • Status feedback names the active operation and next action.
  • Generated/editor-only proxies resolve to source entities.
  • Large rebuilds are dirty-region based or debounced.
  • Generated meshes, colliders, handles, thumbnails, and helpers never leak into saved scenes or packages.
  • Scene writes are transactional and dirty scenes are recoverable.
  • Broken references and unsupported content are visible before build.
  • Interactive and headless validation agree.
  • Each feature ships with docs, focused regression coverage, and a sample/fixture when relevant.
  • No P0 issue remains open when #50 is signed off.

Production gate

Issue #50 is the release criterion. “Feature exists” is not enough: the representative project, soak, performance, recovery, content-validation, packaging, and first-hour QA evidence must all be linked before the editor is called production-ready.

## Purpose Track the Blacksite editor production program from the Jackdaw-inspired authoring foundation through a release-ready indie game workflow. The M0-M5 program remains the historical foundation: it adapts useful Jackdaw patterns without cloning its format or architecture. M6-M7 extend that foundation with the reliability, content, and shipping capabilities required to call Blacksite a production editor. ## Milestone sequence - M0 - Foundation and polish seams (closed) - M1 - Brush-based blockout - M2 - Materials and asset pipeline - M3 - Terrain and physics placement (closed) - M4 - Extensibility and runtime integration - M5 - Regression, docs, and first-hour UX - M6 - Reliability, recovery, and project workflow - M7 - Content production and shipping M1-M5 can advance in parallel where dependencies permit. M6 P0 reliability work is required before production signoff. M7 closes only through the objective acceptance gate in #50. ## Operating rules - Preserve Blacksite's authoring/hydration model and stable authored IDs. - Adopt external editor ideas as patterns, not wholesale format or architecture migrations. - Use one operator/history path for every user mutation: preview, commit, cancel, undo, redo, dirty flag, and status. - Prefer statically linked extension APIs before dynamic loading. - Every modal tool needs visual preview, clear action feedback, Escape cancel, and grouped undo. - Every new authoring component needs schema migration, save allowlist, validation, hydration stripping, tests, and docs. - Machine-local session/recovery data stays outside source-controlled project content. - Build and headless validation must use the same project contracts as the interactive editor. - Every visible workflow change updates root README controls and docs/editor in the same task. ## Cross-cutting production checklist - [ ] Tool preview before commit. - [ ] Commit/cancel semantics leave no dirty state on cancel. - [ ] Continuous actions group undo into one meaningful entry. - [ ] Status feedback names the active operation and next action. - [ ] Generated/editor-only proxies resolve to source entities. - [ ] Large rebuilds are dirty-region based or debounced. - [ ] Generated meshes, colliders, handles, thumbnails, and helpers never leak into saved scenes or packages. - [ ] Scene writes are transactional and dirty scenes are recoverable. - [ ] Broken references and unsupported content are visible before build. - [ ] Interactive and headless validation agree. - [ ] Each feature ships with docs, focused regression coverage, and a sample/fixture when relevant. - [ ] No P0 issue remains open when #50 is signed off. ## Production gate Issue #50 is the release criterion. “Feature exists” is not enough: the representative project, soak, performance, recovery, content-validation, packaging, and first-hour QA evidence must all be linked before the editor is called production-ready.
Rbanh added this to the M0 - Foundation and polish seams milestone 2026-06-06 01:44:41 -04:00
Rbanh added the
roadmap:jackdaw
type:docs
priority:P0
area:governance
type:epic
labels 2026-06-06 01:44:41 -04:00
Author
Owner

Created issue index

M0 - Foundation and polish seams

  • #2 BS-JD-000 - Adoption policy, license notes, and source attribution
  • #3 BS-JD-001 - Project launcher and sandbox profiles
  • #4 BS-JD-002 - Scene document abstraction above DynamicScene RON
  • #5 BS-JD-003 - Editor metadata for components
  • #6 BS-JD-004 - Unified operator/action framework
  • #7 BS-JD-005 - Command palette polish and fuzzy matching
  • #8 BS-JD-006 - Selection and editing shortcut polish
  • #9 BS-JD-007 - Viewport productivity controls

M1 - Brush-based blockout

  • #10 BS-JD-101 - Brush authoring schema and hydration MVP
  • #11 BS-JD-102 - Quick add and draw-brush tool
  • #12 BS-JD-103 - Brush element edit modes
  • #13 BS-JD-104 - Brush CSG operations
  • #14 BS-JD-105 - Per-face material and UV controls
  • #15 BS-JD-106 - Brush validation, repair, and diagnostics

M2 - Materials and asset pipeline

  • #16 BS-JD-201 - Material Browser and shared material catalog
  • #17 BS-JD-202 - PBR texture-set auto-detection
  • #18 BS-JD-203 - Drag/drop material and texture application
  • #19 BS-JD-204 - Live asset watcher and refresh
  • #20 BS-JD-205 - Asset rename/move reference repair
  • #21 BS-JD-206 - Headless asset processing command

M3 - Terrain and physics placement

  • #22 BS-JD-301 - Terrain authoring schema and chunked mesh hydration
  • #23 BS-JD-302 - Terrain sculpt tools with stroke undo
  • #24 BS-JD-303 - Terrain material layers and texture painting MVP
  • #25 BS-JD-304 - Physics placement tool
  • #26 BS-JD-305 - Collider authoring diagnostics and overlays

M4 - Extensibility and runtime integration

  • #27 BS-JD-401 - Static extension API v0
  • #28 BS-JD-402 - Extension and game prototype scaffolds
  • #29 BS-JD-403 - Optional dylib extension exploration
  • #30 BS-JD-404 - BRP remote inspector write prototype
  • #31 BS-JD-405 - Out-of-process game preview spike

M5 - Regression, docs, and first-hour UX

  • #32 BS-JD-501 - Editor sample scenes and regression pack
  • #33 BS-JD-502 - Tool regression tests and undo invariants
  • #34 BS-JD-503 - Performance budgets and editor profiler panel
  • #35 BS-JD-504 - Documentation and issue board structure
  • #36 BS-JD-505 - First-hour usability polish pass
## Created issue index ### M0 - Foundation and polish seams - #2 BS-JD-000 - Adoption policy, license notes, and source attribution - #3 BS-JD-001 - Project launcher and sandbox profiles - #4 BS-JD-002 - Scene document abstraction above DynamicScene RON - #5 BS-JD-003 - Editor metadata for components - #6 BS-JD-004 - Unified operator/action framework - #7 BS-JD-005 - Command palette polish and fuzzy matching - #8 BS-JD-006 - Selection and editing shortcut polish - #9 BS-JD-007 - Viewport productivity controls ### M1 - Brush-based blockout - #10 BS-JD-101 - Brush authoring schema and hydration MVP - #11 BS-JD-102 - Quick add and draw-brush tool - #12 BS-JD-103 - Brush element edit modes - #13 BS-JD-104 - Brush CSG operations - #14 BS-JD-105 - Per-face material and UV controls - #15 BS-JD-106 - Brush validation, repair, and diagnostics ### M2 - Materials and asset pipeline - #16 BS-JD-201 - Material Browser and shared material catalog - #17 BS-JD-202 - PBR texture-set auto-detection - #18 BS-JD-203 - Drag/drop material and texture application - #19 BS-JD-204 - Live asset watcher and refresh - #20 BS-JD-205 - Asset rename/move reference repair - #21 BS-JD-206 - Headless asset processing command ### M3 - Terrain and physics placement - #22 BS-JD-301 - Terrain authoring schema and chunked mesh hydration - #23 BS-JD-302 - Terrain sculpt tools with stroke undo - #24 BS-JD-303 - Terrain material layers and texture painting MVP - #25 BS-JD-304 - Physics placement tool - #26 BS-JD-305 - Collider authoring diagnostics and overlays ### M4 - Extensibility and runtime integration - #27 BS-JD-401 - Static extension API v0 - #28 BS-JD-402 - Extension and game prototype scaffolds - #29 BS-JD-403 - Optional dylib extension exploration - #30 BS-JD-404 - BRP remote inspector write prototype - #31 BS-JD-405 - Out-of-process game preview spike ### M5 - Regression, docs, and first-hour UX - #32 BS-JD-501 - Editor sample scenes and regression pack - #33 BS-JD-502 - Tool regression tests and undo invariants - #34 BS-JD-503 - Performance budgets and editor profiler panel - #35 BS-JD-504 - Documentation and issue board structure - #36 BS-JD-505 - First-hour usability polish pass
Author
Owner

M0 progress update from local commits 19c4d01 and 2fa6410:

  • Closed out the Jackdaw adoption/source policy via ADR 0020 and PR checklist updates.
  • Advanced component metadata/Add Component UX: registry metadata now drives descriptions, categories, hidden state, conflicts, hydration hints, recommendations, and the inspector Add Component shelf.
  • Advanced command/selection/input polish: command palette focus/keyboard navigation, selected-command default, reset transform command, multi-select gizmo live movement, scoped viewport/editor hotkeys, text-field focus protection, RMB viewport-look cursor hiding.
  • Removed the attempted Alt+LMB orbit gesture from scope because it appears to be intercepted/not firing reliably in the current environment.

Next active M0 work: BS-JD-002 Scene document abstraction above DynamicScene RON.

M0 progress update from local commits `19c4d01` and `2fa6410`: - Closed out the Jackdaw adoption/source policy via ADR 0020 and PR checklist updates. - Advanced component metadata/Add Component UX: registry metadata now drives descriptions, categories, hidden state, conflicts, hydration hints, recommendations, and the inspector Add Component shelf. - Advanced command/selection/input polish: command palette focus/keyboard navigation, selected-command default, reset transform command, multi-select gizmo live movement, scoped viewport/editor hotkeys, text-field focus protection, RMB viewport-look cursor hiding. - Removed the attempted Alt+LMB orbit gesture from scope because it appears to be intercepted/not firing reliably in the current environment. Next active M0 work: BS-JD-002 Scene document abstraction above DynamicScene RON.
Author
Owner

M0 progress update after 2054fa2:

Closed:

  • BS-JD-002 / #4 Scene document abstraction above DynamicScene RON.

Additional foundation work landed:

  • Render-stack invariant hardened: atmosphere/effective Solari force HDR targets and full stack rebuilds occur on target/GI-path transitions.
  • Solari local-light policy changed: point/spot LightDesc components are runtime-disabled with an inline inspector message instead of switching the whole viewport to Forward.
  • Hot-reload all-features check repaired for the InspectorOrder import path.

Verified with focused tests plus workspace and all-features checks.

Next active M0 ticket: BS-JD-004 / #6 Unified operator/action framework.

M0 progress update after `2054fa2`: Closed: - BS-JD-002 / #4 Scene document abstraction above DynamicScene RON. Additional foundation work landed: - Render-stack invariant hardened: atmosphere/effective Solari force HDR targets and full stack rebuilds occur on target/GI-path transitions. - Solari local-light policy changed: point/spot `LightDesc` components are runtime-disabled with an inline inspector message instead of switching the whole viewport to Forward. - Hot-reload all-features check repaired for the `InspectorOrder` import path. Verified with focused tests plus workspace and all-features checks. Next active M0 ticket: BS-JD-004 / #6 Unified operator/action framework.
Author
Owner

M0 progress update after d77cc6a:

BS-JD-004 / #6 has its first operator bridge committed:

  • Command palette and queued commands now run through the operator lifecycle.
  • Operator status appears in the status bar.
  • Undo/redo status now reports user-facing operation labels, including operator commits that create undo entries.

Next #6 implementation slice: migrate representative scene mutation paths (asset drop/material apply/component add/gizmo commit) onto explicit operators and add targeted undo/cancel tests.

M0 progress update after `d77cc6a`: BS-JD-004 / #6 has its first operator bridge committed: - Command palette and queued commands now run through the operator lifecycle. - Operator status appears in the status bar. - Undo/redo status now reports user-facing operation labels, including operator commits that create undo entries. Next #6 implementation slice: migrate representative scene mutation paths (asset drop/material apply/component add/gizmo commit) onto explicit operators and add targeted undo/cancel tests.
Author
Owner

M0 closeout: foundation cut is complete and pushed through:

  • 19c4d01 Start M0 editor workflow polish
  • 2fa6410 Polish inspector add component workflow
  • 2054fa2 Advance M0 scene and rendering foundations
  • d77cc6a Add editor operator lifecycle bridge
  • cc6acb1 Complete M0 editor asset workflow

M0 delivered the adoption policy, SceneDocument foundation, component metadata/inspector foundation, operator lifecycle bridge, asset operator routing, consolidated actor material UI, texture picker/drop controls, JPEG texture support, and related docs.

Remaining broad launcher/command-palette/selection/viewport productivity items have been carried forward to M5 instead of being closed as completed.

M0 closeout: foundation cut is complete and pushed through: - `19c4d01` Start M0 editor workflow polish - `2fa6410` Polish inspector add component workflow - `2054fa2` Advance M0 scene and rendering foundations - `d77cc6a` Add editor operator lifecycle bridge - `cc6acb1` Complete M0 editor asset workflow M0 delivered the adoption policy, SceneDocument foundation, component metadata/inspector foundation, operator lifecycle bridge, asset operator routing, consolidated actor material UI, texture picker/drop controls, JPEG texture support, and related docs. Remaining broad launcher/command-palette/selection/viewport productivity items have been carried forward to M5 instead of being closed as completed.
Rbanh modified the milestone from M0 - Foundation and polish seams to M5 - Regression, docs, and first-hour UX 2026-06-06 05:08:09 -04:00
Rbanh added the
roadmap:production
label 2026-07-10 04:05:16 -04:00
Author
Owner

Production-readiness expansion (2026-07-10)

M6 - Reliability, recovery, and project workflow

  • #3 Project launcher and sandbox profiles (moved from the completed M0 foundation)
  • #39 Transactional scene saves, autosave, and crash recovery
  • #40 Hierarchy, parenting, and prefab structure hardening
  • #41 Editor session persistence and crash diagnostics
  • #42 Multi-scene tabs, subscenes, and level composition
  • #43 Prefab authoring v2: nested instances, variants, and structural overrides

M7 - Content production and shipping

  • #44 Build and package profiles with one-click game export
  • #45 Content validation, dependency manifest, and release gate
  • #46 Skeletal animation import, preview, and authoring workflow
  • #47 Audio source, listener, buses, and spatial preview authoring
  • #48 Navigation mesh authoring, bake diagnostics, and path preview
  • #49 Source-control status and collaborative file safety
  • #50 Production-readiness acceptance gate and release checklist

The immediate implementation order is #40 current hierarchy/drag work, then #39 transactional save/recovery, while existing M2/M5 asset and regression items continue to close foundational gaps.

## Production-readiness expansion (2026-07-10) ### M6 - Reliability, recovery, and project workflow - #3 Project launcher and sandbox profiles (moved from the completed M0 foundation) - #39 Transactional scene saves, autosave, and crash recovery - #40 Hierarchy, parenting, and prefab structure hardening - #41 Editor session persistence and crash diagnostics - #42 Multi-scene tabs, subscenes, and level composition - #43 Prefab authoring v2: nested instances, variants, and structural overrides ### M7 - Content production and shipping - #44 Build and package profiles with one-click game export - #45 Content validation, dependency manifest, and release gate - #46 Skeletal animation import, preview, and authoring workflow - #47 Audio source, listener, buses, and spatial preview authoring - #48 Navigation mesh authoring, bake diagnostics, and path preview - #49 Source-control status and collaborative file safety - #50 Production-readiness acceptance gate and release checklist The immediate implementation order is #40 current hierarchy/drag work, then #39 transactional save/recovery, while existing M2/M5 asset and regression items continue to close foundational gaps.
Author
Owner

M7 roadmap checkpoint — #46 dedicated skinned-renderer follow-up

The skeletal-animation workflow's acceptance remains recorded on #46. A corrective architecture slice is now implemented locally so rigged, skinned, and animated geometry uses its own authored and hydrated renderer path instead of reusing static-mesh components.

Dedicated Skinned Mesh Renderer live-editor evidence

Evidence and the complete change/verification record: #46 corrective follow-up.

Architecture documentation: ADR 0033 — Dedicated skinned mesh renderer.

Roadmap impact:

  • SkinnedMeshRenderer and its dedicated hydration root now own animated/skinned model placement and runtime hierarchy preservation.
  • Static mesh artifacts/slots reject skin-bound and animated-source geometry.
  • Scene schema v3 migrates legacy animated model actors to the dedicated renderer.
  • Workspace tests, formatting, strict clippy, checks, and a live RobotExpressive placement smoke test are green.
  • #46 remains closed; the corrective slice is verified locally and still awaits commit/publish. The broader production gate in #50 is unchanged.
## M7 roadmap checkpoint — #46 dedicated skinned-renderer follow-up The skeletal-animation workflow's acceptance remains recorded on #46. A corrective architecture slice is now implemented locally so rigged, skinned, and animated geometry uses its own authored and hydrated renderer path instead of reusing static-mesh components. ![Dedicated Skinned Mesh Renderer live-editor evidence](https://git.spacetrainclubhouse.com/attachments/96585466-9f31-4617-ae28-563b74f57745) Evidence and the complete change/verification record: [#46 corrective follow-up](https://git.spacetrainclubhouse.com/Falling-Metal-Interactive/Blacksite/issues/46#issuecomment-836). Architecture documentation: [ADR 0033 — Dedicated skinned mesh renderer](https://git.spacetrainclubhouse.com/attachments/145bda7f-93fc-4f41-9d6b-124be79b616d). Roadmap impact: - `SkinnedMeshRenderer` and its dedicated hydration root now own animated/skinned model placement and runtime hierarchy preservation. - Static mesh artifacts/slots reject skin-bound and animated-source geometry. - Scene schema v3 migrates legacy animated model actors to the dedicated renderer. - Workspace tests, formatting, strict clippy, checks, and a live RobotExpressive placement smoke test are green. - #46 remains closed; the corrective slice is verified locally and still awaits commit/publish. The broader production gate in #50 is unchanged.
Author
Owner

Renderer/material/component foundation intake

M2 now has a P0 foundation item: #51 (BS-JD-207).

It establishes the shared contract needed by #16 and #18: stable material slots on both static and skinned renderers, shared Material assets, explicit one-level Material Instances, transient property blocks, a transactional legacy upgrader, and exact custom Surface WGSL semantics across raster and Solari. It also depends on the registry-driven component lifecycle being expanded in #27.

The actor-pose regression found during this intake has reopened #46. These links record planned dependencies only; implementation, tests, documentation, and screenshot evidence remain pending.

### Renderer/material/component foundation intake M2 now has a P0 foundation item: #51 (`BS-JD-207`). It establishes the shared contract needed by #16 and #18: stable material slots on both static and skinned renderers, shared Material assets, explicit one-level Material Instances, transient property blocks, a transactional legacy upgrader, and exact custom Surface WGSL semantics across raster and Solari. It also depends on the registry-driven component lifecycle being expanded in #27. The actor-pose regression found during this intake has reopened #46. These links record planned dependencies only; implementation, tests, documentation, and screenshot evidence remain pending.
Author
Owner

Renderer/material/component foundation checkpoint

The M2/M4/M7 cross-cutting foundation from #51 is implemented and locally accepted:

  • dedicated skinned renderer plus corrected edit-pose restore lifecycle (#46);
  • shared Material/Material Instance assets, stable static/skinned slots, larger thumbnails, and project-wide texture parameter picker/drop (#16/#18);
  • registry-driven component lifecycle and compatible composition (#27);
  • constrained Surface ABI parity for raster and Solari-eligible non-deformed geometry;
  • explicit schema-v4 transactional project upgrade;
  • 171 editor tests and 0 blocking project-validation errors.

Canonical evidence: #51 comment 865.

The branch, docs, and screenshots remain local and unpublished. #51 intentionally remains open because dynamic post-skin/morph BLAS updates are not available; deformed actors are omitted from RT instead of producing bind-pose ghosts.

### Renderer/material/component foundation checkpoint The M2/M4/M7 cross-cutting foundation from #51 is implemented and locally accepted: - dedicated skinned renderer plus corrected edit-pose restore lifecycle (#46); - shared Material/Material Instance assets, stable static/skinned slots, larger thumbnails, and project-wide texture parameter picker/drop (#16/#18); - registry-driven component lifecycle and compatible composition (#27); - constrained Surface ABI parity for raster and Solari-eligible non-deformed geometry; - explicit schema-v4 transactional project upgrade; - 171 editor tests and 0 blocking project-validation errors. Canonical evidence: [#51 comment 865](https://git.spacetrainclubhouse.com/Falling-Metal-Interactive/Blacksite/issues/51#issuecomment-865). The branch, docs, and screenshots remain local and unpublished. #51 intentionally remains open because dynamic post-skin/morph BLAS updates are not available; deformed actors are omitted from RT instead of producing bind-pose ghosts.
Author
Owner

Foundation branch published

Commit 0798aa5 is now available on codex/renderer-material-component-foundation, including LFS-backed fixtures and evaluation screenshots.

Rendered evidence and immutable documentation links are on #51's published-evidence comment. The deformed-BLAS limitation remains explicitly open.

### Foundation branch published Commit [`0798aa5`](https://git.spacetrainclubhouse.com/Falling-Metal-Interactive/Blacksite/commit/0798aa5d5724115b198d5ec2a2df57e051b49f60) is now available on `codex/renderer-material-component-foundation`, including LFS-backed fixtures and evaluation screenshots. Rendered evidence and immutable documentation links are on [#51's published-evidence comment](https://git.spacetrainclubhouse.com/Falling-Metal-Interactive/Blacksite/issues/51#issuecomment-878). The deformed-BLAS limitation remains explicitly open.
Author
Owner

Codex lineage integrated into main

The verified Codex work from yesterday and today is now one linear published main history:

  1. 0798aa5 renderer/material/component foundation
  2. b4aa61e production navigation workflow
  3. 5a82a9e collaborative authored-file safety
  4. f2ad88f production-readiness matrix and next material/drop plan
  5. 3931de1 hot-reload feature-matrix integration fix

origin/main now points to 3931de1. The integrated tree passes the full workspace source test/lint/check gate, launch-feature Clippy, content validation with 0 blocking findings, and navigation artifact validation. Packaged tests remain deferred by owner instruction; the objective production gate in #50 remains open.

### Codex lineage integrated into main The verified Codex work from yesterday and today is now one linear published main history: 1. [`0798aa5`](https://git.spacetrainclubhouse.com/Falling-Metal-Interactive/Blacksite/commit/0798aa5) renderer/material/component foundation 2. [`b4aa61e`](https://git.spacetrainclubhouse.com/Falling-Metal-Interactive/Blacksite/commit/b4aa61e) production navigation workflow 3. [`5a82a9e`](https://git.spacetrainclubhouse.com/Falling-Metal-Interactive/Blacksite/commit/5a82a9e) collaborative authored-file safety 4. [`f2ad88f`](https://git.spacetrainclubhouse.com/Falling-Metal-Interactive/Blacksite/commit/f2ad88f) production-readiness matrix and next material/drop plan 5. [`3931de1`](https://git.spacetrainclubhouse.com/Falling-Metal-Interactive/Blacksite/commit/3931de1) hot-reload feature-matrix integration fix `origin/main` now points to `3931de1`. The integrated tree passes the full workspace source test/lint/check gate, launch-feature Clippy, content validation with 0 blocking findings, and navigation artifact validation. Packaged tests remain deferred by owner instruction; the objective production gate in #50 remains open.
Author
Owner

Material authoring slice integrated

Main advanced from 3931de1 to 3794faa.

Completed and closed:

  • #16 docked Material Library/shared catalog;
  • #18 exact reversible Material/Texture viewport application.

The implementation includes indexed live acceptance evidence, full workspace source verification, level validation with 0 blockers, and current navigation artifacts. Packaged testing remains owner-deferred.

The production gate update is recorded in #50 comment 910. The roadmap is still active: next P0 quality/governance work remains #32, #33, #35, and the unresolved V1 boundary in #51; terrain/physics/brush workflows also remain before G2 can pass.

## Material authoring slice integrated Main advanced from `3931de1` to [`3794faa`](https://git.spacetrainclubhouse.com/Falling-Metal-Interactive/Blacksite/commit/3794faa). Completed and closed: - #16 docked Material Library/shared catalog; - #18 exact reversible Material/Texture viewport application. The implementation includes indexed [live acceptance evidence](https://git.spacetrainclubhouse.com/Falling-Metal-Interactive/Blacksite/src/commit/3794faa/docs/editor/evaluations/material-library-targeted-drop/README.md), full workspace source verification, level validation with 0 blockers, and current navigation artifacts. Packaged testing remains owner-deferred. The production gate update is recorded in [#50 comment 910](https://git.spacetrainclubhouse.com/Falling-Metal-Interactive/Blacksite/issues/50#issuecomment-910). The roadmap is still active: next P0 quality/governance work remains #32, #33, #35, and the unresolved V1 boundary in #51; terrain/physics/brush workflows also remain before G2 can pass.
Author
Owner

#35 governance/documentation structure is closed after the M0-M7 audit in comment 928. The audit deliberately leaves partial/unimplemented capability tickets open. Remaining P0 capability/quality work is #51, #33, and #32; production status remains tracked as Not ready in #50.

#35 governance/documentation structure is closed after the M0-M7 audit in [comment 928](https://git.spacetrainclubhouse.com/Falling-Metal-Interactive/Blacksite/issues/35#issuecomment-928). The audit deliberately leaves partial/unimplemented capability tickets open. Remaining P0 capability/quality work is #51, #33, and #32; production status remains tracked as **Not ready** in #50.
Author
Owner

Progress update: collaborative file safety #49 passed live acceptance, closed, and landed on main at 61be244. The next robustness slice is removing main-thread blocking from native file dialogs after live QA exposed a Hyprland “Application Not Responding” prompt while a picker was open.

Progress update: collaborative file safety #49 passed live acceptance, closed, and landed on `main` at `61be244`. The next robustness slice is removing main-thread blocking from native file dialogs after live QA exposed a Hyprland “Application Not Responding” prompt while a picker was open.
Author
Owner

Progress update: #52 non-blocking native dialogs is closed and landed on main at ba59f57. Scene, asset, prefab, composition, collaboration, Project Browser, and dirty-confirmation dialogs no longer block Bevy's event loop; live Hyprland acceptance and source-only verification passed.

Progress update: #52 non-blocking native dialogs is closed and landed on `main` at `ba59f57`. Scene, asset, prefab, composition, collaboration, Project Browser, and dirty-confirmation dialogs no longer block Bevy's event loop; live Hyprland acceptance and source-only verification passed.
Author
Owner

Progress update: #22 terrain schema and chunked hydration is closed and landed on main at ed21bcc. The committed terrain showcase, runtime-only chunk/collider ownership, first-class editor identity, inspector/history path, ADR 0039, and full source verification are complete. Next terrain slice is #23 grouped sculpt strokes.

Progress update: #22 terrain schema and chunked hydration is closed and landed on `main` at `ed21bcc`. The committed terrain showcase, runtime-only chunk/collider ownership, first-class editor identity, inspector/history path, ADR 0039, and full source verification are complete. Next terrain slice is #23 grouped sculpt strokes.
Author
Owner

Terrain production workflow update: #23 is accepted and closed in 293811a.

The representative terrain fixture now has modal Raise/Lower/Flatten/Smooth/Noise tools, exact cancel restoration, one history transaction per stroke, terrain-following visual feedback, exclusive viewport input ownership, and no transform-gizmo overlap. Full workspace source gates, content validation, navigation freshness, and native Wayland acceptance pass. Evaluation record.

Packaged acceptance remains deferred by owner direction. Terrain material layers/weight painting (#24), broader representative workflow signoff, performance budgets, soak, clean-checkout CI, and independent first-hour QA remain open, so the production gate stays open.

Terrain production workflow update: #23 is accepted and closed in [`293811a`](https://git.spacetrainclubhouse.com/Falling-Metal-Interactive/Blacksite/commit/293811a). The representative terrain fixture now has modal Raise/Lower/Flatten/Smooth/Noise tools, exact cancel restoration, one history transaction per stroke, terrain-following visual feedback, exclusive viewport input ownership, and no transform-gizmo overlap. Full workspace source gates, content validation, navigation freshness, and native Wayland acceptance pass. [Evaluation record](https://git.spacetrainclubhouse.com/Falling-Metal-Interactive/Blacksite/src/commit/293811a/docs/editor/evaluations/terrain-sculpt-tools/README.md). Packaged acceptance remains deferred by owner direction. Terrain material layers/weight painting (#24), broader representative workflow signoff, performance budgets, soak, clean-checkout CI, and independent first-hour QA remain open, so the production gate stays open.
Author
Owner

Roadmap progress: closed #24 (terrain material layers and texture painting MVP) on main at d1a56f7. Terrain now has up to four shared material layers, compact normalized sample weights, blended PBR rendering, inspector assignment, and modal Paint/Erase in the existing horizontal toolbar. Source gates and live native-Wayland acceptance passed; evidence is attached natively on #24.

Roadmap progress: closed #24 (terrain material layers and texture painting MVP) on `main` at `d1a56f7`. Terrain now has up to four shared material layers, compact normalized sample weights, blended PBR rendering, inspector assignment, and modal Paint/Erase in the existing horizontal toolbar. Source gates and live native-Wayland acceptance passed; evidence is attached natively on #24.
Author
Owner

M3 progress: physics placement (#25) is complete and published on main at 0e7aed4.

This closes the transactional drop/settle workflow with grouped history, exact cancel, deterministic Edit-mode physics ownership, explicit prerequisite feedback, a regression fixture, live Wayland evidence, and current documentation. The remaining open M3 work is collider authoring diagnostics and overlays (#26), which is the next milestone item.

M3 progress: physics placement (#25) is complete and published on `main` at [0e7aed4](https://git.spacetrainclubhouse.com/Falling-Metal-Interactive/Blacksite/commit/0e7aed40f11bf0bdd345ec5ddeb012660de7dc19). This closes the transactional drop/settle workflow with grouped history, exact cancel, deterministic Edit-mode physics ownership, explicit prerequisite feedback, a regression fixture, live Wayland evidence, and current documentation. The remaining open M3 work is collider authoring diagnostics and overlays (#26), which is the next milestone item.
Author
Owner

M3 - Terrain and physics placement is complete and the milestone is closed with 5/5 issues resolved.

The final item, collider authoring diagnostics (#26), is published on main at 0ce43fc. It adds shared authored/runtime health across the inspector, Collider viewport, Diagnostics, and physics placement, with live native evidence and a committed fixture. Full workspace tests and all-target Clippy are green; project validation has 0 blocking errors.

M3 - Terrain and physics placement is complete and the milestone is closed with 5/5 issues resolved. The final item, collider authoring diagnostics (#26), is published on `main` at [0ce43fc](https://git.spacetrainclubhouse.com/Falling-Metal-Interactive/Blacksite/commit/0ce43fc3992536879d2357a9a73b1a0fab190696). It adds shared authored/runtime health across the inspector, Collider viewport, Diagnostics, and physics placement, with live native evidence and a committed fixture. Full workspace tests and all-target Clippy are green; project validation has 0 blocking errors.
Author
Owner

P0 renderer/material foundation #51 is now closed on main.

The issue's prior scope was corrected rather than overstated: shipped stable renderer slots, shared Material/Instance assets, Surface ABI parity for eligible geometry, migration, and bind-pose-safe Solari exclusion remain accepted. Runtime property blocks/promotion are now #53 (P1/M2), and dynamic skinned/morph Solari BLAS updates are #54 (P2/M7). Acceptance-boundary documentation is commit 9a67a25.

P0 renderer/material foundation #51 is now closed on `main`. The issue's prior scope was corrected rather than overstated: shipped stable renderer slots, shared Material/Instance assets, Surface ABI parity for eligible geometry, migration, and bind-pose-safe Solari exclusion remain accepted. Runtime property blocks/promotion are now #53 (P1/M2), and dynamic skinned/morph Solari BLAS updates are #54 (P2/M7). Acceptance-boundary documentation is commit [9a67a25](https://git.spacetrainclubhouse.com/Falling-Metal-Interactive/Blacksite/commit/9a67a25a15c3f6cbfde4e6afe5cb576797b75c9a).
Author
Owner

BS-JD-502 / #33 is complete on main at 1ab3886. The production operator contract now covers stable terminal status, exact failure/cancel/no-op rollback, helper cleanup, atomic grouping/lighting, modal command ownership, read-only CSG, terrain/physics interruptions, and repeated semantic undo/redo. Full workspace tests, strict all-target Clippy, format/diff checks, and level validation passed. G3 is source-complete but remains Partial until the nominated release candidate is rerun from a clean checkout. The remaining open P0 implementation blocker is #32 (sample scenes and regression pack).

BS-JD-502 / #33 is complete on `main` at `1ab3886`. The production operator contract now covers stable terminal status, exact failure/cancel/no-op rollback, helper cleanup, atomic grouping/lighting, modal command ownership, read-only CSG, terrain/physics interruptions, and repeated semantic undo/redo. Full workspace tests, strict all-target Clippy, format/diff checks, and level validation passed. G3 is source-complete but remains Partial until the nominated release candidate is rerun from a clean checkout. The remaining open P0 implementation blocker is #32 (sample scenes and regression pack).
Author
Owner

Roadmap update (2026-07-13):

  • #32 (five-area editor sample regression pack) is closed and shipped on main at 62b5389.
  • Exact native implementation evidence is d52cc2e; full-resolution Gitea attachments and the five-workflow interaction matrix are in #32 comment 1057.
  • #33 operator invariants was already closed at c55f347.
  • The production matrix is now v0.4. G2 has exact-implementation sample evidence but is not a release-candidate pass.
  • The next P0 is #55: guarded editor shutdown and clean history savepoints. #56 tracks deterministic import fingerprints as P1.

Packaged tests remain owner-deferred.

Roadmap update (2026-07-13): - #32 (five-area editor sample regression pack) is closed and shipped on `main` at `62b5389`. - Exact native implementation evidence is `d52cc2e`; full-resolution Gitea attachments and the five-workflow interaction matrix are in [#32 comment 1057](https://git.spacetrainclubhouse.com/Falling-Metal-Interactive/Blacksite/issues/32#issuecomment-1057). - #33 operator invariants was already closed at `c55f347`. - The production matrix is now v0.4. G2 has exact-implementation sample evidence but is not a release-candidate pass. - The next P0 is #55: guarded editor shutdown and clean history savepoints. #56 tracks deterministic import fingerprints as P1. Packaged tests remain owner-deferred.
Author
Owner

Production-roadmap checkpoint at a048233fceab86649f8c1004137a59f0cd62ac12:

  • #55 guarded shutdown and canonical document savepoints is closed with source plus seven-path native acceptance.
  • #57 scoped UI action safety, discovered during #55 native QA, is closed with source, independent re-review, and native toolbar/Inspector/diagnostics acceptance.
  • No known P0 implementation blocker remains.
  • #56 deterministic imported-asset fingerprints is the next P1 implementation target.
  • #50 remains the authoritative release gate. No release candidate is nominated, consolidated candidate reruns/soak/performance/clean-checkout/independent signoff remain, and production readiness is not established.
  • Packaged-runtime acceptance remains explicitly owner-deferred.
Production-roadmap checkpoint at [`a048233fceab86649f8c1004137a59f0cd62ac12`](https://git.spacetrainclubhouse.com/Falling-Metal-Interactive/Blacksite/commit/a048233fceab86649f8c1004137a59f0cd62ac12): - #55 guarded shutdown and canonical document savepoints is closed with source plus seven-path native acceptance. - #57 scoped UI action safety, discovered during #55 native QA, is closed with source, independent re-review, and native toolbar/Inspector/diagnostics acceptance. - No known P0 implementation blocker remains. - #56 deterministic imported-asset fingerprints is the next P1 implementation target. - #50 remains the authoritative release gate. No release candidate is nominated, consolidated candidate reruns/soak/performance/clean-checkout/independent signoff remain, and production readiness is **not** established. - Packaged-runtime acceptance remains explicitly owner-deferred.
Author
Owner

Roadmap checkpoint: deterministic asset integrity shipped

#56 is complete and published on main at 7e99243a78ee99207763ec92e80bcf6dd03f7151.

The imported asset registry and generated static-mesh/animation manifests now use shared content-addressed fingerprints, preserve equivalent RON bytes, normalize registry order, and keep validators read-only. A fresh LFS checkout remained clean through native startup, asset scan, mtime-only drift, validate-levels, and validate-samples; direct native attachments and exact hashes are linked from #56.

The overall program remains active rather than production-ready. #50 is still the release gate, packaged acceptance remains owner-deferred, and native QA opened P1 #58 for missing external painted-chair FBX textures and repeated asset-server errors.

## Roadmap checkpoint: deterministic asset integrity shipped #56 is complete and published on `main` at `7e99243a78ee99207763ec92e80bcf6dd03f7151`. The imported asset registry and generated static-mesh/animation manifests now use shared content-addressed fingerprints, preserve equivalent RON bytes, normalize registry order, and keep validators read-only. A fresh LFS checkout remained clean through native startup, asset scan, mtime-only drift, `validate-levels`, and `validate-samples`; direct native attachments and exact hashes are linked from #56. The overall program remains active rather than production-ready. #50 is still the release gate, packaged acceptance remains owner-deferred, and native QA opened P1 #58 for missing external painted-chair FBX textures and repeated asset-server errors.
Author
Owner

Roadmap checkpoint: deterministic FBX dependency handling shipped

#58 is complete and published on main at 931f561e7ff1489f897e22ebb3cc7545fcfef702.

The FBX pipeline now uses one sandboxed external-texture resolver from parse through import, manifest generation, validation, and Asset Browser preview. Imports publish sidecars transactionally; known-missing dependencies become one stable preflight state instead of repeated asset-server requests. Exact-commit native evidence covers both the normalized committed chair and a deliberately broken Source Materials fixture.

The overall program remains active and not production-ready. #50 remains the release gate; #37 still requires collective M1 brush signoff, and #53 remains the open P1 material property-block implementation item. Packaged acceptance remains owner-deferred, and no release candidate is nominated.

## Roadmap checkpoint: deterministic FBX dependency handling shipped #58 is complete and published on `main` at [`931f561e7ff1489f897e22ebb3cc7545fcfef702`](https://git.spacetrainclubhouse.com/Falling-Metal-Interactive/Blacksite/commit/931f561e7ff1489f897e22ebb3cc7545fcfef702). The FBX pipeline now uses one sandboxed external-texture resolver from parse through import, manifest generation, validation, and Asset Browser preview. Imports publish sidecars transactionally; known-missing dependencies become one stable preflight state instead of repeated asset-server requests. Exact-commit native evidence covers both the normalized committed chair and a deliberately broken Source Materials fixture. The overall program remains active and **not production-ready**. #50 remains the release gate; #37 still requires collective M1 brush signoff, and #53 remains the open P1 material property-block implementation item. Packaged acceptance remains owner-deferred, and no release candidate is nominated.
Author
Owner

Roadmap update: the existing M2 milestone has been broadened to M2 - Content workspace and asset pipeline rather than adding a duplicate milestone. Epic #59 tracks the refactor, with storage contract #60, destination-first import #61, path-agnostic catalog #62, editable material extraction #63, static/skinned model material mappings #64, and acceptance signoff #65; existing #17, #19, #20, and #21 remain in the milestone.

Roadmap update: the existing M2 milestone has been broadened to **M2 - Content workspace and asset pipeline** rather than adding a duplicate milestone. Epic #59 tracks the refactor, with storage contract #60, destination-first import #61, path-agnostic catalog #62, editable material extraction #63, static/skinned model material mappings #64, and acceptance signoff #65; existing #17, #19, #20, and #21 remain in the milestone.
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#1
No description provided.