Skip to content

v0.5.0

Choose a tag to compare

@github-actions github-actions released this 09 May 04:50
· 19 commits to master since this release
fix(gen-palette): break cyclic model parent chains before render

Sanitize the model pool after pack load: walk each model's `parent` chain
with a `seen` set and snip the edge that would close a cycle. fastanvil
0.32's `Renderer::flatten_model` walks parents without cycle detection,
so a single self-referential model (e.g. Control Craft Forge's
`vscontrolcraft:block/propeller_controller/block`) caused
`Renderer::get_top` to spin forever, hanging gen-palette indefinitely on
any modpack containing it. The 12-min timeout in our test corpus surfaced
this as `gen_palette_timeout` for both valkyriens and create_train.

The snipped model still has its own elements/textures, so tier 1
rendering succeeds normally — the parent edge would have inherited those
identically anyway.

Resolution mirrors fastanvil's `get_model` (try as-is, then `minecraft:`
prefix) so cycles spanning the implicit-namespace gap are caught too.