Fix resize->save bug in texture inspector #11191
Merged
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.
Forum post for context: https://forum.babylonjs.com/t/texture-swap-incorrectly-accounted-for-when-exporting-modified-babylon-scene-from-sandbox/24184/4
If you resize a texture in the texture inspector, or upload a texture with a different size, then try to save your texture, you will get an empty image file. This is because the canvas size was being controlled by React. The texture size would change, then several frames later the React component would re-render. Changing the size of the canvas causes it to be cleared.
This PR takes away control of the canvas size from React to prevent the canvas from being cleared when the re-render happens. Now canvas size is controlled completely imperatively, so there are no unexpected resizes.