Uh oh!
There was an error while loading. Please reload this page.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🧩 Analysis chain
🏁 Script executed:
Repository: flipcomputing/flock
Length of output: 97
🏁 Script executed:
# Check the file size to understand what we're working with wc -l ./api/shapes.jsRepository: flipcomputing/flock
Length of output: 82
🏁 Script executed:
Repository: flipcomputing/flock
Length of output: 4898
🏁 Script executed:
Repository: flipcomputing/flock
Length of output: 1702
🏁 Script executed:
Repository: flipcomputing/flock
Length of output: 45
🏁 Script executed:
Repository: flipcomputing/flock
Length of output: 45
🏁 Script executed:
Repository: flipcomputing/flock
Length of output: 4349
🏁 Script executed:
Repository: flipcomputing/flock
Length of output: 626
🏁 Script executed:
Repository: flipcomputing/flock
Length of output: 997
🏁 Script executed:
Repository: flipcomputing/flock
Length of output: 2250
🏁 Script executed:
Repository: flipcomputing/flock
Length of output: 1776
🏁 Script executed:
Repository: flipcomputing/flock
Length of output: 553
🏁 Script executed:
Repository: flipcomputing/flock
Length of output: 575
🏁 Script executed:
Repository: flipcomputing/flock
Length of output: 85
🏁 Script executed:
Repository: flipcomputing/flock
Length of output: 3656
🏁 Script executed:
Repository: flipcomputing/flock
Length of output: 260
Clean up partially created meshes on failure.
Meshes created at lines 755 or 806 are added directly to the scene, but
_registerInstanceisn't called until line 864. If any failure occurs between mesh creation and registration, the mesh remains in the scene but is never added toflock._modelInstances[key]. This breaks mesh recycling—_recycleOldestByKey()filters from_modelInstances[key]and won't find untracked meshes, leaving behind orphaned instances. Subsequent retries collide on the mesh name.Move the
let mesh;declaration outside the try block and addmesh?.dispose();in the catch block to clean up on failure.Suggested fix
Also add a regression test that forces a throw after mesh allocation and asserts the failed
meshIdis removed from the scene before retrying.📝 Committable suggestion
🤖 Prompt for AI Agents