apple / apple/plugins-for-godot
Deadlock while rebuilding dynamic font textures
- Dominant language
- Objective-C++
- Stars
- 93
- Forks
- 6
- PR merge metrics
- No merged PRs in 30d
Description
Changing Label3D text can regenerate its font-atlas texture. The replacement texture may be temporarily unavailable until Godot renders another frame.
TextureLoader keeps the texture dirty for retry, but also reports loading as unfinished. This pauses the whole SceneTree, preventing the frame needed to make the texture available and leaving dynamic labels permanently stuck.
Fix: Keep retrying pending texture usages without treating them as a reason to pause the SceneTree.
Project to reproduce issue:
https://github.com/kelwyng/godotrealitybridge-tests
Press the **orange** right hand button, bridge freezes.
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by locating TextureLoader and trace how dirty texture usages are reported to the SceneTree. Run the linked reproduction project and press the orange right-hand button to observe the freeze. Done means pending texture usages keep retrying without pausing the SceneTree, allowing the replacement texture to become available.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp, godot, objective-c
- Domain
- game-dev
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 58/100