@gnsx/react-three-fiber 10.0.2 → 10.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -21
- package/dist/index.cjs +52 -8
- package/dist/index.d.cts +2742 -2742
- package/dist/index.d.mts +2742 -2742
- package/dist/index.d.ts +2742 -2742
- package/dist/index.mjs +52 -8
- package/dist/legacy.cjs +52 -8
- package/dist/legacy.d.cts +2742 -2742
- package/dist/legacy.d.mts +2742 -2742
- package/dist/legacy.d.ts +2742 -2742
- package/dist/legacy.mjs +52 -8
- package/dist/webgpu/index.cjs +52 -8
- package/dist/webgpu/index.d.cts +2789 -2789
- package/dist/webgpu/index.d.mts +2789 -2789
- package/dist/webgpu/index.d.ts +2789 -2789
- package/dist/webgpu/index.mjs +52 -8
- package/package.json +1 -1
- package/react-reconciler/constants.d.ts +7 -7
- package/react-reconciler/index.d.ts +1044 -1044
- package/readme.md +244 -244
package/dist/webgpu/index.mjs
CHANGED
|
@@ -3440,7 +3440,7 @@ function advance(timestamp) {
|
|
|
3440
3440
|
getScheduler().step(timestamp);
|
|
3441
3441
|
}
|
|
3442
3442
|
|
|
3443
|
-
const version = "10.0.
|
|
3443
|
+
const version = "10.0.4";
|
|
3444
3444
|
const packageData = {
|
|
3445
3445
|
version: version};
|
|
3446
3446
|
|
|
@@ -15197,6 +15197,7 @@ function createRoot(canvas) {
|
|
|
15197
15197
|
let pending = null;
|
|
15198
15198
|
return {
|
|
15199
15199
|
async configure(props = {}) {
|
|
15200
|
+
if (pending) await pending;
|
|
15200
15201
|
let resolve;
|
|
15201
15202
|
pending = new Promise((_resolve) => resolve = _resolve);
|
|
15202
15203
|
const {
|
|
@@ -15475,8 +15476,10 @@ function createRoot(canvas) {
|
|
|
15475
15476
|
const unregisterCanvasTarget = scheduler.register(
|
|
15476
15477
|
() => {
|
|
15477
15478
|
const state2 = store.getState();
|
|
15479
|
+
if (!state2.internal.active) return;
|
|
15478
15480
|
if (state2.internal.isMultiCanvas && state2.internal.canvasTarget) {
|
|
15479
15481
|
const renderer2 = state2.internal.actualRenderer;
|
|
15482
|
+
if (!renderer2) return;
|
|
15480
15483
|
renderer2.setCanvasTarget(state2.internal.canvasTarget);
|
|
15481
15484
|
}
|
|
15482
15485
|
},
|
|
@@ -15529,7 +15532,9 @@ function createRoot(canvas) {
|
|
|
15529
15532
|
const unregisterRender = scheduler.register(
|
|
15530
15533
|
() => {
|
|
15531
15534
|
const state2 = store.getState();
|
|
15535
|
+
if (!state2.internal.active) return;
|
|
15532
15536
|
const renderer2 = state2.internal.actualRenderer;
|
|
15537
|
+
if (!renderer2) return;
|
|
15533
15538
|
const userHandlesRender = scheduler.hasUserJobsInPhase("render", newRootId);
|
|
15534
15539
|
if (userHandlesRender || state2.internal.priority) return;
|
|
15535
15540
|
try {
|
|
@@ -15604,23 +15609,62 @@ function Provider({
|
|
|
15604
15609
|
}, []);
|
|
15605
15610
|
return /* @__PURE__ */ jsx(context.Provider, { value: store, children });
|
|
15606
15611
|
}
|
|
15612
|
+
function releaseSceneR3fLinks(scene, options) {
|
|
15613
|
+
if (!scene) return null;
|
|
15614
|
+
scene.traverse((obj) => {
|
|
15615
|
+
delete obj.__r3f;
|
|
15616
|
+
});
|
|
15617
|
+
delete scene.__r3f;
|
|
15618
|
+
{
|
|
15619
|
+
scene.clear();
|
|
15620
|
+
}
|
|
15621
|
+
return scene;
|
|
15622
|
+
}
|
|
15623
|
+
function releaseRendererRefsFromRootState(state) {
|
|
15624
|
+
const { internal } = state;
|
|
15625
|
+
const renderer = internal.actualRenderer ?? null;
|
|
15626
|
+
internal.actualRenderer = null;
|
|
15627
|
+
internal.canvasTarget = null;
|
|
15628
|
+
internal.pointerMap?.clear();
|
|
15629
|
+
internal.pointerDirty?.clear();
|
|
15630
|
+
return renderer;
|
|
15631
|
+
}
|
|
15632
|
+
function detachRootSceneFromRootState(state) {
|
|
15633
|
+
const scene = releaseSceneR3fLinks(state.scene);
|
|
15634
|
+
state.set((prev) => ({
|
|
15635
|
+
scene: null,
|
|
15636
|
+
rootScene: null,
|
|
15637
|
+
internal: { ...prev.internal, container: null }
|
|
15638
|
+
}));
|
|
15639
|
+
return scene;
|
|
15640
|
+
}
|
|
15607
15641
|
function unmountComponentAtNode(canvas, callback) {
|
|
15608
15642
|
const root = _roots.get(canvas);
|
|
15609
15643
|
const fiber = root?.fiber;
|
|
15610
15644
|
if (fiber) {
|
|
15611
15645
|
const state = root?.store.getState();
|
|
15612
|
-
|
|
15646
|
+
let rendererForCleanup = null;
|
|
15647
|
+
let canvasTargetForCleanup;
|
|
15648
|
+
let sceneForCleanup = null;
|
|
15649
|
+
if (state) {
|
|
15650
|
+
state.internal.active = false;
|
|
15651
|
+
canvasTargetForCleanup = state.internal.canvasTarget;
|
|
15652
|
+
rendererForCleanup = releaseRendererRefsFromRootState(state);
|
|
15653
|
+
const unregisterRoot = state.internal.unregisterRoot;
|
|
15654
|
+
if (unregisterRoot) {
|
|
15655
|
+
unregisterRoot();
|
|
15656
|
+
state.internal.unregisterRoot = void 0;
|
|
15657
|
+
}
|
|
15658
|
+
}
|
|
15613
15659
|
reconciler.updateContainer(null, fiber, null, () => {
|
|
15614
15660
|
if (state) {
|
|
15661
|
+
sceneForCleanup = detachRootSceneFromRootState(state);
|
|
15615
15662
|
setTimeout(() => {
|
|
15616
15663
|
try {
|
|
15617
|
-
const renderer =
|
|
15618
|
-
const unregisterRoot = state.internal.unregisterRoot;
|
|
15619
|
-
if (unregisterRoot) unregisterRoot();
|
|
15664
|
+
const renderer = rendererForCleanup;
|
|
15620
15665
|
const unregisterPrimary = state.internal.unregisterPrimary;
|
|
15621
15666
|
if (unregisterPrimary) unregisterPrimary();
|
|
15622
|
-
|
|
15623
|
-
if (canvasTarget?.dispose) canvasTarget.dispose();
|
|
15667
|
+
if (canvasTargetForCleanup?.dispose) canvasTargetForCleanup.dispose();
|
|
15624
15668
|
state.events.disconnect?.();
|
|
15625
15669
|
cleanupHelperGroup(root.store);
|
|
15626
15670
|
if (state.isLegacy && renderer) {
|
|
@@ -15631,7 +15675,7 @@ function unmountComponentAtNode(canvas, callback) {
|
|
|
15631
15675
|
if (!state.internal.isSecondary) {
|
|
15632
15676
|
if (renderer?.xr) state.xr.disconnect();
|
|
15633
15677
|
}
|
|
15634
|
-
dispose(
|
|
15678
|
+
if (sceneForCleanup) dispose(sceneForCleanup);
|
|
15635
15679
|
_roots.delete(canvas);
|
|
15636
15680
|
if (callback) callback(canvas);
|
|
15637
15681
|
} catch {
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
export const DiscreteEventPriority = 0b0000000000000000000000000000001;
|
|
2
|
-
export const ContinuousEventPriority = 0b0000000000000000000000000000100;
|
|
3
|
-
export const DefaultEventPriority = 0b0000000000000000000000000010000;
|
|
4
|
-
export const IdleEventPriority = 0b0100000000000000000000000000000;
|
|
5
|
-
export const LegacyRoot = 0;
|
|
6
|
-
export const ConcurrentRoot = 1;
|
|
7
|
-
export const NoEventPriority = 0;
|
|
1
|
+
export const DiscreteEventPriority = 0b0000000000000000000000000000001;
|
|
2
|
+
export const ContinuousEventPriority = 0b0000000000000000000000000000100;
|
|
3
|
+
export const DefaultEventPriority = 0b0000000000000000000000000010000;
|
|
4
|
+
export const IdleEventPriority = 0b0100000000000000000000000000000;
|
|
5
|
+
export const LegacyRoot = 0;
|
|
6
|
+
export const ConcurrentRoot = 1;
|
|
7
|
+
export const NoEventPriority = 0;
|