fix(pipeline): make the full module build work for module-only projects #17

Merged
archvillainette merged 1 commits from fix/module-build-assetless-asset-collection into main 2026-06-24 15:32:02 +00:00
Owner

crucible module build runs the full pipeline (module + HAK producer +
topdata). A module-only project consumes prebuilt HAKs and has no
paths.assets, so the HAK stage crashed on the unset assets dir: the
music-credits walk hit filepath.WalkDir("") (lstat : no such file or directory) and asset collection hit filepath.Rel(root, "").

Guard both on an unset AssetsDir(): an absent assets tree simply means
no authored credits and no asset files to collect, so the HAK stage
no-ops cleanly while topdata generated-2DA assets still build. Honors
spec Decision 3 (canonical crucible module build, no build-module).

Co-Authored-By: Claude Opus 4.8 noreply@anthropic.com

`crucible module build` runs the full pipeline (module + HAK producer + topdata). A module-only project consumes prebuilt HAKs and has no `paths.assets`, so the HAK stage crashed on the unset assets dir: the music-credits walk hit `filepath.WalkDir("")` (`lstat : no such file or directory`) and asset collection hit `filepath.Rel(root, "")`. Guard both on an unset `AssetsDir()`: an absent assets tree simply means no authored credits and no asset files to collect, so the HAK stage no-ops cleanly while topdata generated-2DA assets still build. Honors spec Decision 3 (canonical `crucible module build`, no `build-module`). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
archvillainette added 1 commit 2026-06-24 15:24:42 +00:00
fix(pipeline): make the full module build work for module-only projects
build-binaries / build-binaries (pull_request) Successful in 2m13s
test-image / build-image (pull_request) Successful in 46s
test / test (pull_request) Successful in 1m23s
e8e8ba421a
`crucible module build` runs the full pipeline (module + HAK producer +
topdata). A module-only project consumes prebuilt HAKs and has no
`paths.assets`, so the HAK stage crashed on the unset assets dir: the
music-credits walk hit `filepath.WalkDir("")` (`lstat : no such file or
directory`) and asset collection hit `filepath.Rel(root, "")`.

Guard both on an unset `AssetsDir()`: an absent assets tree simply means
no authored credits and no asset files to collect, so the HAK stage
no-ops cleanly while topdata generated-2DA assets still build. Honors
spec Decision 3 (canonical `crucible module build`, no `build-module`).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
archvillainette scheduled this pull request to auto merge when all checks succeed 2026-06-24 15:29:58 +00:00
xtul approved these changes 2026-06-24 15:31:59 +00:00
archvillainette merged commit eb5d15061c into main 2026-06-24 15:32:02 +00:00
archvillainette deleted branch fix/module-build-assetless-asset-collection 2026-06-24 15:32:02 +00:00
Sign in to join this conversation.