You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
What happens.coworld/tools/build_replay_viewer.nim and src/polyworld/emscripten.nims
honour POLYWORLD_ART and pass it to the GotA packer (pack_assets ART CACHE). The packer
still reads the character library from the default sibling checkout, so a build with the art
anywhere else fails:
cannot open ../polyworld_art/characters/chargen/manifest.json
Repro.
Check out Metta-AI/polyworld_art at the coworld/assets.json revision somewhere other than <repo>/../polyworld_art, and make sure that sibling path does not exist.
Cause.examples/gods_of_the_arena/assets.nim builds its asset list from DataRoot
(src/polyworld/common.nim), which is the constant "../polyworld_art" in native builds, so generatedCharacterAssets() and other declarations resolve relative to the working directory
rather than the packer's art-root argument. ChargenLibrary in src/polyworld/chargen.nim is a
similar compile-time sibling path.
Workaround. Symlink the art checkout to <repo>/../polyworld_art.
Suggested fix. Resolve asset declarations against the art root passed to the packer (or
read POLYWORLD_ART in DataRoot for native tools), and add a build check that runs the packer
with the art outside the sibling path.
Activity