Open
Conversation
When 2+ SceneEditors are open, a resource change notification is sent to all editors, each calling reloadResource for the same resource. The second reload would unload the texture just freshly loaded by the first, destroying textures that active renderers in the first editor were already using. This caused "invalid texture" errors for BitmapFonts and null texture crashes for Sprites. Deduplicate per-resource reload requests: if a reload for the same resource is already pending, await the existing promise instead of queuing a new one. https://claude.ai/code/session_016DxEMZRcWFM8jZZhNuEBYV
4ian
commented
Mar 30, 2026
| @@ -1851,17 +1849,17 @@ const MainFrame = (props: Props): React.MixedElement => { | |||
| () => { | |||
| if (isEditorHotReloadNeeded()) { | |||
Owner
Author
There was a problem hiding this comment.
We might always reload project data here?
| @@ -1851,17 +1849,17 @@ const MainFrame = (props: Props): React.MixedElement => { | |||
| () => { | |||
| if (isEditorHotReloadNeeded()) { | |||
Collaborator
There was a problem hiding this comment.
this if seems useless now, and the method above does roughly the same (except different reason)
d211ce6 to
3a0835f
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Tests:
Custom object tests:
Multiple scene tests:
Multiple resources pointing to the same file:
Basically, have to be robust against:
and we have to trigger reloads on: