@nodetool-ai/game-renderer 0.8.4-a24.3 → 0.8.5
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/README.md +13 -0
- package/dist/.nodetool-build-stamp +1 -1
- package/dist/audio/player.d.ts +1 -0
- package/dist/audio/player.d.ts.map +1 -1
- package/dist/audio/player.js +13 -2
- package/dist/audio/player.js.map +1 -1
- package/dist/build-fingerprint.d.ts +3 -0
- package/dist/build-fingerprint.d.ts.map +1 -0
- package/dist/build-fingerprint.js +9 -0
- package/dist/build-fingerprint.js.map +1 -0
- package/dist/build-tauri.d.ts +3 -1
- package/dist/build-tauri.d.ts.map +1 -1
- package/dist/build-tauri.js +54 -8
- package/dist/build-tauri.js.map +1 -1
- package/dist/build.d.ts +4 -1
- package/dist/build.d.ts.map +1 -1
- package/dist/build.js +24 -11
- package/dist/build.js.map +1 -1
- package/dist/build3d.d.ts +2 -0
- package/dist/build3d.d.ts.map +1 -1
- package/dist/build3d.js +21 -6
- package/dist/build3d.js.map +1 -1
- package/dist/canvas2d.d.ts +1 -0
- package/dist/canvas2d.d.ts.map +1 -1
- package/dist/canvas2d.js +22 -14
- package/dist/canvas2d.js.map +1 -1
- package/dist/export-media.d.ts +7 -0
- package/dist/export-media.d.ts.map +1 -0
- package/dist/export-media.js +73 -0
- package/dist/export-media.js.map +1 -0
- package/dist/frame.d.ts +5 -0
- package/dist/frame.d.ts.map +1 -1
- package/dist/frame.js +7 -1
- package/dist/frame.js.map +1 -1
- package/dist/game3d-capture-page.js +306 -276
- package/dist/game3d-player.js +399 -350
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/lighting.d.ts +1 -1
- package/dist/lighting.d.ts.map +1 -1
- package/dist/lighting.js +7 -6
- package/dist/lighting.js.map +1 -1
- package/dist/mouse-input.d.ts +18 -0
- package/dist/mouse-input.d.ts.map +1 -0
- package/dist/mouse-input.js +135 -0
- package/dist/mouse-input.js.map +1 -0
- package/dist/node.d.ts.map +1 -1
- package/dist/node.js +2 -2
- package/dist/node.js.map +1 -1
- package/dist/node3d.d.ts.map +1 -1
- package/dist/node3d.js +5 -3
- package/dist/node3d.js.map +1 -1
- package/dist/particles/particles3d.d.ts +12 -10
- package/dist/particles/particles3d.d.ts.map +1 -1
- package/dist/particles/particles3d.js +81 -60
- package/dist/particles/particles3d.js.map +1 -1
- package/dist/particles/pass3d.d.ts +6 -4
- package/dist/particles/pass3d.d.ts.map +1 -1
- package/dist/particles/pass3d.js +28 -15
- package/dist/particles/pass3d.js.map +1 -1
- package/dist/particles/render2d.d.ts +3 -2
- package/dist/particles/render2d.d.ts.map +1 -1
- package/dist/particles/render2d.js +9 -2
- package/dist/particles/render2d.js.map +1 -1
- package/dist/particles/simulator.d.ts +13 -1
- package/dist/particles/simulator.d.ts.map +1 -1
- package/dist/particles/simulator.js +173 -44
- package/dist/particles/simulator.js.map +1 -1
- package/dist/particles/transparency3d.d.ts +17 -0
- package/dist/particles/transparency3d.d.ts.map +1 -0
- package/dist/particles/transparency3d.js +117 -0
- package/dist/particles/transparency3d.js.map +1 -0
- package/dist/player-v1.js +340 -321
- package/dist/renderer3d/animation/index.d.ts +2 -0
- package/dist/renderer3d/animation/index.d.ts.map +1 -1
- package/dist/renderer3d/animation/index.js +24 -10
- package/dist/renderer3d/animation/index.js.map +1 -1
- package/dist/renderer3d/assets/image-preparation.d.ts +9 -0
- package/dist/renderer3d/assets/image-preparation.d.ts.map +1 -1
- package/dist/renderer3d/assets/image-preparation.js +14 -4
- package/dist/renderer3d/assets/image-preparation.js.map +1 -1
- package/dist/renderer3d/assets/instances.d.ts.map +1 -1
- package/dist/renderer3d/assets/instances.js +38 -1
- package/dist/renderer3d/assets/instances.js.map +1 -1
- package/dist/renderer3d/decals/geometry.d.ts +27 -0
- package/dist/renderer3d/decals/geometry.d.ts.map +1 -0
- package/dist/renderer3d/decals/geometry.js +142 -0
- package/dist/renderer3d/decals/geometry.js.map +1 -0
- package/dist/renderer3d/decals/index.d.ts +29 -0
- package/dist/renderer3d/decals/index.d.ts.map +1 -0
- package/dist/renderer3d/decals/index.js +284 -0
- package/dist/renderer3d/decals/index.js.map +1 -0
- package/dist/renderer3d/environment/height-fog.d.ts +14 -0
- package/dist/renderer3d/environment/height-fog.d.ts.map +1 -0
- package/dist/renderer3d/environment/height-fog.js +114 -0
- package/dist/renderer3d/environment/height-fog.js.map +1 -0
- package/dist/renderer3d/environment/index.d.ts.map +1 -1
- package/dist/renderer3d/environment/index.js +4 -1
- package/dist/renderer3d/environment/index.js.map +1 -1
- package/dist/renderer3d/environment/sky.d.ts +1 -0
- package/dist/renderer3d/environment/sky.d.ts.map +1 -1
- package/dist/renderer3d/environment/sky.js +33 -16
- package/dist/renderer3d/environment/sky.js.map +1 -1
- package/dist/renderer3d/import.d.ts.map +1 -1
- package/dist/renderer3d/import.js +19 -3
- package/dist/renderer3d/import.js.map +1 -1
- package/dist/renderer3d/index.d.ts.map +1 -1
- package/dist/renderer3d/index.js +27 -4
- package/dist/renderer3d/index.js.map +1 -1
- package/dist/renderer3d/material-hooks.d.ts +8 -0
- package/dist/renderer3d/material-hooks.d.ts.map +1 -0
- package/dist/renderer3d/material-hooks.js +53 -0
- package/dist/renderer3d/material-hooks.js.map +1 -0
- package/dist/renderer3d/pipeline.d.ts +1 -0
- package/dist/renderer3d/pipeline.d.ts.map +1 -1
- package/dist/renderer3d/pipeline.js.map +1 -1
- package/dist/renderer3d/preparation.d.ts +1 -0
- package/dist/renderer3d/preparation.d.ts.map +1 -1
- package/dist/renderer3d/preparation.js +37 -4
- package/dist/renderer3d/preparation.js.map +1 -1
- package/dist/renderer3d/scene-sync.d.ts.map +1 -1
- package/dist/renderer3d/scene-sync.js +16 -1
- package/dist/renderer3d/scene-sync.js.map +1 -1
- package/dist/renderer3d/shadows/cascades.d.ts +2 -1
- package/dist/renderer3d/shadows/cascades.d.ts.map +1 -1
- package/dist/renderer3d/shadows/cascades.js +19 -37
- package/dist/renderer3d/shadows/cascades.js.map +1 -1
- package/dist/renderer3d/shadows/index.d.ts +1 -0
- package/dist/renderer3d/shadows/index.d.ts.map +1 -1
- package/dist/renderer3d/shadows/index.js +3 -2
- package/dist/renderer3d/shadows/index.js.map +1 -1
- package/dist/renderer3d/types.d.ts +1 -0
- package/dist/renderer3d/types.d.ts.map +1 -1
- package/dist/save-storage.d.ts.map +1 -1
- package/dist/save-storage.js +23 -7
- package/dist/save-storage.js.map +1 -1
- package/dist/smoke.d.ts.map +1 -1
- package/dist/smoke.js +27 -12
- package/dist/smoke.js.map +1 -1
- package/dist/standalone-assets.d.ts +25 -0
- package/dist/standalone-assets.d.ts.map +1 -0
- package/dist/standalone-assets.js +111 -0
- package/dist/standalone-assets.js.map +1 -0
- package/dist/standalone-frame.d.ts +7 -0
- package/dist/standalone-frame.d.ts.map +1 -0
- package/dist/standalone-frame.js +2 -0
- package/dist/standalone-frame.js.map +1 -0
- package/dist/standalone-player.d.ts +3 -2
- package/dist/standalone-player.d.ts.map +1 -1
- package/dist/standalone-player.js +246 -76
- package/dist/standalone-player.js.map +1 -1
- package/dist/standalone-player3d.d.ts +4 -3
- package/dist/standalone-player3d.d.ts.map +1 -1
- package/dist/standalone-player3d.js +193 -115
- package/dist/standalone-player3d.js.map +1 -1
- package/dist/touch-controls.d.ts +10 -1
- package/dist/touch-controls.d.ts.map +1 -1
- package/dist/touch-controls.js +98 -10
- package/dist/touch-controls.js.map +1 -1
- package/dist/touch-input.d.ts +13 -0
- package/dist/touch-input.d.ts.map +1 -0
- package/dist/touch-input.js +71 -0
- package/dist/touch-input.js.map +1 -0
- package/dist/ui/controller.d.ts +7 -0
- package/dist/ui/controller.d.ts.map +1 -1
- package/dist/ui/controller.js +40 -9
- package/dist/ui/controller.js.map +1 -1
- package/dist/webgpu/lighting.d.ts +1 -1
- package/dist/webgpu/lighting.d.ts.map +1 -1
- package/dist/webgpu/lighting.js +4 -3
- package/dist/webgpu/lighting.js.map +1 -1
- package/dist/webgpu/sprites.d.ts +2 -2
- package/dist/webgpu/sprites.d.ts.map +1 -1
- package/dist/webgpu/sprites.js +4 -3
- package/dist/webgpu/sprites.js.map +1 -1
- package/dist/webgpu/types.d.ts +3 -1
- package/dist/webgpu/types.d.ts.map +1 -1
- package/dist/webgpu.d.ts +10 -1
- package/dist/webgpu.d.ts.map +1 -1
- package/dist/webgpu.js +141 -48
- package/dist/webgpu.js.map +1 -1
- package/package.json +5 -5
|
@@ -374,8 +374,9 @@ export async function prepareGameModel(source, options = {}) {
|
|
|
374
374
|
throw new Error("Model node matrix must be affine");
|
|
375
375
|
}
|
|
376
376
|
for (const child of node.children) {
|
|
377
|
-
|
|
378
|
-
|
|
377
|
+
const parent = parents.get(child);
|
|
378
|
+
if (parent !== undefined) {
|
|
379
|
+
throw new Error(parent === index ? "Model node contains a duplicate child reference" : "Model node has multiple parents");
|
|
379
380
|
}
|
|
380
381
|
parents.set(child, index);
|
|
381
382
|
visit(child);
|
|
@@ -409,7 +410,13 @@ export async function prepareGameModel(source, options = {}) {
|
|
|
409
410
|
if (worldBounds.isEmpty()) {
|
|
410
411
|
worldBounds.set(new Vector3(0, 0, 0), new Vector3(0, 0, 0));
|
|
411
412
|
}
|
|
413
|
+
const clipDurations = {};
|
|
414
|
+
const inputDurations = new Map();
|
|
415
|
+
if (parsed.animations.length > 256) {
|
|
416
|
+
fail("model.animation", "animations", "At most 256 prepared clips are supported");
|
|
417
|
+
}
|
|
412
418
|
for (const [animationIndex, animation] of parsed.animations.entries()) {
|
|
419
|
+
let duration = 0;
|
|
413
420
|
for (const sampler of animation.samplers) {
|
|
414
421
|
if (!parsed.accessors[sampler.input] || !parsed.accessors[sampler.output]) {
|
|
415
422
|
fail("model.animation", `animations.${animationIndex}`, "Animation accessor is missing");
|
|
@@ -419,7 +426,33 @@ export async function prepareGameModel(source, options = {}) {
|
|
|
419
426
|
if (!animation.samplers[channel.sampler] || channel.target.node === undefined || !parsed.nodes[channel.target.node]) {
|
|
420
427
|
fail("model.animation", `animations.${animationIndex}`, "Animation target or sampler is missing");
|
|
421
428
|
}
|
|
429
|
+
const sampler = animation.samplers[channel.sampler];
|
|
430
|
+
const times = sampler && parsed.accessors[sampler.input];
|
|
431
|
+
if (!times || times.type !== "SCALAR" || times.componentType !== 5126 || times.normalized || times.count === 0) {
|
|
432
|
+
fail("model.animationTime", `animations.${animationIndex}`, "Animation input requires nonempty FLOAT seconds");
|
|
433
|
+
continue;
|
|
434
|
+
}
|
|
435
|
+
if (diagnostics.length > 0) {
|
|
436
|
+
continue;
|
|
437
|
+
}
|
|
438
|
+
const cachedDuration = inputDurations.get(sampler.input);
|
|
439
|
+
if (cachedDuration !== undefined) {
|
|
440
|
+
duration = Math.max(duration, cachedDuration);
|
|
441
|
+
continue;
|
|
442
|
+
}
|
|
443
|
+
let previous = -1;
|
|
444
|
+
for (let key = 0; key < times.count; key += 1) {
|
|
445
|
+
const seconds = readValue(times, key, 0);
|
|
446
|
+
if (seconds < 0 || seconds <= previous) {
|
|
447
|
+
fail("model.animationTime", `animations.${animationIndex}`, "Animation times must be nonnegative and strictly increasing");
|
|
448
|
+
break;
|
|
449
|
+
}
|
|
450
|
+
previous = seconds;
|
|
451
|
+
}
|
|
452
|
+
duration = Math.max(duration, previous);
|
|
453
|
+
inputDurations.set(sampler.input, previous);
|
|
422
454
|
}
|
|
455
|
+
clipDurations[`clip:${animationIndex}`] = duration;
|
|
423
456
|
}
|
|
424
457
|
options.signal?.throwIfAborted();
|
|
425
458
|
const digestBytes = await crypto.subtle.digest("SHA-256", bytes);
|
|
@@ -431,7 +464,7 @@ export async function prepareGameModel(source, options = {}) {
|
|
|
431
464
|
if (diagnostics.length) {
|
|
432
465
|
return { ok: false, diagnostics };
|
|
433
466
|
}
|
|
434
|
-
return { ok: true, model: { bytes, digest, preparationVersion: "1", nodeIds: parsed.nodes.flatMap((_, index) => visibleNodes.has(index) ? [`node:${index}`] : []), clipIds: parsed.animations.map((_, index) => `clip:${index}`), extensions: parsed.extensionsUsed, geometryBytes, textureBytes, triangles, bounds: { min: { x: worldBounds.min.x, y: worldBounds.min.y, z: worldBounds.min.z }, max: { x: worldBounds.max.x, y: worldBounds.max.y, z: worldBounds.max.z } } } };
|
|
467
|
+
return { ok: true, model: { bytes, digest, preparationVersion: "1", nodeIds: parsed.nodes.flatMap((_, index) => visibleNodes.has(index) ? [`node:${index}`] : []), clipIds: parsed.animations.map((_, index) => `clip:${index}`), clipDurations, extensions: parsed.extensionsUsed, geometryBytes, textureBytes, triangles, bounds: { min: { x: worldBounds.min.x, y: worldBounds.min.y, z: worldBounds.min.z }, max: { x: worldBounds.max.x, y: worldBounds.max.y, z: worldBounds.max.z } } } };
|
|
435
468
|
}
|
|
436
469
|
catch (error) {
|
|
437
470
|
if (options.signal?.aborted) {
|
|
@@ -449,7 +482,7 @@ export async function prepareGameModelBinding3D(bytes, options) {
|
|
|
449
482
|
const model = result.model;
|
|
450
483
|
const binding = {
|
|
451
484
|
mediaKind: "model", assetId: options.assetId, digest: model.digest, required: true, format: "glb", preparationVersion: model.preparationVersion,
|
|
452
|
-
bounds: model.bounds, nodeIds: [...model.nodeIds], clipIds: [...model.clipIds], geometryBytes: model.geometryBytes,
|
|
485
|
+
bounds: model.bounds, nodeIds: [...model.nodeIds], clipIds: [...model.clipIds], clipDurations: { ...model.clipDurations }, geometryBytes: model.geometryBytes,
|
|
453
486
|
textureBytes: model.textureBytes, triangles: model.triangles, supportedExtensions: [...model.extensions]
|
|
454
487
|
};
|
|
455
488
|
if (options.provenance !== undefined) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"preparation.js","sourceRoot":"","sources":["../../src/renderer3d/preparation.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"preparation.js","sourceRoot":"","sources":["../../src/renderer3d/preparation.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scene-sync.d.ts","sourceRoot":"","sources":["../../src/renderer3d/scene-sync.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAChF,wBAAgB,cAAc,CAAC,MAAM,EAAE,KAAK,CAAC,QAAQ,EAAE,SAAS,EAAE,eAAe,GAAG,IAAI,CAIvF;AAED,wBAAgB,0BAA0B,CAAC,QAAQ,EAAE,eAAe,EAAE,OAAO,EAAE,eAAe,EAAE,KAAK,EAAE,MAAM,GAAG,eAAe,CAS9H;AAED,wBAAsB,aAAa,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,EAAE,UAAU,EAAE,gBAAgB,EAC1H,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"scene-sync.d.ts","sourceRoot":"","sources":["../../src/renderer3d/scene-sync.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAChF,wBAAgB,cAAc,CAAC,MAAM,EAAE,KAAK,CAAC,QAAQ,EAAE,SAAS,EAAE,eAAe,GAAG,IAAI,CAIvF;AAED,wBAAgB,0BAA0B,CAAC,QAAQ,EAAE,eAAe,EAAE,OAAO,EAAE,eAAe,EAAE,KAAK,EAAE,MAAM,GAAG,eAAe,CAS9H;AAED,wBAAsB,aAAa,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,EAAE,UAAU,EAAE,gBAAgB,EAC1H,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAmErF"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { primitiveInstance, modelInstance } from "./assets/instances.js";
|
|
2
2
|
import { releaseInstance } from "./assets/dispose.js";
|
|
3
|
-
import { sampleGameAnimation3D, sampleGameAnimationPose3D } from "./animation/index.js";
|
|
3
|
+
import { restoreGameAnimationPose3D, sampleGameAnimation3D, sampleGameAnimationPose3D } from "./animation/index.js";
|
|
4
4
|
import * as THREE from "three";
|
|
5
5
|
export function applyTransform(object, transform) {
|
|
6
6
|
object.position.set(transform.position.x, transform.position.y, transform.position.z);
|
|
@@ -56,6 +56,21 @@ export async function syncGameScene(scene, instances, modelCache, signal, frame,
|
|
|
56
56
|
material.transparent = material.userData.baseTransparent === true || material.opacity < 1 || (entity.primitive?.material.alphaMode === "blend") || (entity.model?.material?.alphaMode === "blend");
|
|
57
57
|
}
|
|
58
58
|
let poseChanged = false;
|
|
59
|
+
const animationMode = instance.clips && entity.animationPose ? "graph" : instance.mixer && instance.clips && entity.animation ? "clip" : undefined;
|
|
60
|
+
if (instance.sampledAnimationMode !== animationMode) {
|
|
61
|
+
instance.mixer?.stopAllAction();
|
|
62
|
+
if (instance.sampledAnimationMode === "graph") {
|
|
63
|
+
restoreGameAnimationPose3D(instance.object);
|
|
64
|
+
}
|
|
65
|
+
delete instance.sampledAnimationKey;
|
|
66
|
+
if (animationMode) {
|
|
67
|
+
instance.sampledAnimationMode = animationMode;
|
|
68
|
+
}
|
|
69
|
+
else {
|
|
70
|
+
delete instance.sampledAnimationMode;
|
|
71
|
+
}
|
|
72
|
+
poseChanged = true;
|
|
73
|
+
}
|
|
59
74
|
if (instance.clips && entity.animationPose) {
|
|
60
75
|
const sampledTick = frame.tick - 1 + Math.max(0, Math.min(1, interpolation));
|
|
61
76
|
const key = `${JSON.stringify(entity.animationPose)}:${sampledTick}`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scene-sync.js","sourceRoot":"","sources":["../../src/renderer3d/scene-sync.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACzE,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,qBAAqB,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"scene-sync.js","sourceRoot":"","sources":["../../src/renderer3d/scene-sync.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,7 +15,6 @@ export declare class GameCascadedShadows3D {
|
|
|
15
15
|
private readonly mainFrustum;
|
|
16
16
|
private readonly frustums;
|
|
17
17
|
private readonly lightSpaceFrustum;
|
|
18
|
-
/** Each patched material with the hooks it had before, restored on release. */
|
|
19
18
|
private readonly materials;
|
|
20
19
|
private readonly uniforms;
|
|
21
20
|
private breaks;
|
|
@@ -28,6 +27,8 @@ export declare class GameCascadedShadows3D {
|
|
|
28
27
|
kind: "directional";
|
|
29
28
|
}>, settings: GameShadowCascades3D, mapSize: number, camera: THREE.Camera): void;
|
|
30
29
|
detach(): void;
|
|
30
|
+
/** Includes materials created by presentation passes after the light update. */
|
|
31
|
+
bindMaterials(scene: THREE.Scene): void;
|
|
31
32
|
private rebuild;
|
|
32
33
|
private disposeLights;
|
|
33
34
|
private updateShadowBounds;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cascades.d.ts","sourceRoot":"","sources":["../../../src/renderer3d/shadows/cascades.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,KAAK,EAAE,WAAW,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"cascades.d.ts","sourceRoot":"","sources":["../../../src/renderer3d/shadows/cascades.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,KAAK,EAAE,WAAW,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAW/E,+IAA+I;AAC/I,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAStG;AAED,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,KAAK,CAAC,WAAW,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAMjF;AAOD;;;;;GAKG;AACH,qBAAa,qBAAqB;IAChC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAqB;IAC3C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAgC;IACvD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAmC;IAC/D,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAoB;IAC7C,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAmC;IACrE,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA8B;IACxD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAyG;IAClI,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,UAAU,CAAM;IACxB,OAAO,CAAC,KAAK,CAAK;IAClB,OAAO,CAAC,MAAM,CAAK;IACnB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAMtB;IAEF,cAA2D;IAE3D,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,gBAAgB,EAAE,UAAU,EAAE,OAAO,CAAC,WAAW,EAAE;QAAE,IAAI,EAAE,aAAa,CAAA;KAAE,CAAC,EAClH,QAAQ,EAAE,oBAAoB,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,GAAG,IAAI,CAkC7E;IAED,MAAM,IAAI,IAAI,CAOb;IAED,gFAAgF;IAChF,aAAa,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,GAAG,IAAI,CAEtC;IAED,OAAO,CAAC,OAAO;IAef,OAAO,CAAC,aAAa;IAUrB,OAAO,CAAC,kBAAkB;IAe1B,gGAAgG;IAChG,OAAO,CAAC,KAAK;IA4Bb,OAAO,CAAC,cAAc;IAkBtB,kHAAkH;IAClH,OAAO,CAAC,aAAa;CAItB"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import * as THREE from "three";
|
|
2
2
|
import { CSMFrustum } from "three/addons/csm/CSMFrustum.js";
|
|
3
3
|
import * as csmShaderModule from "three/addons/csm/CSMShader.js";
|
|
4
|
+
import { removeGameMaterialHook, setGameMaterialHook } from "../material-hooks.js";
|
|
4
5
|
const cascadeDefines = ["USE_CSM", "CSM_CASCADES"];
|
|
5
6
|
const up = new THREE.Vector3(0, 1, 0);
|
|
6
7
|
// @types/three declares CSMShader as an interface, but the module exports the chunk object.
|
|
@@ -42,8 +43,7 @@ export class GameCascadedShadows3D {
|
|
|
42
43
|
mainFrustum = new CSMFrustum({ webGL: true });
|
|
43
44
|
frustums = [];
|
|
44
45
|
lightSpaceFrustum = new CSMFrustum({ webGL: true });
|
|
45
|
-
|
|
46
|
-
materials = new Map();
|
|
46
|
+
materials = new Set();
|
|
47
47
|
uniforms = { CSM_cascades: { value: [] }, cameraNear: { value: 0 }, shadowFar: { value: 0 } };
|
|
48
48
|
breaks = [];
|
|
49
49
|
frustumKey = "";
|
|
@@ -95,8 +95,8 @@ export class GameCascadedShadows3D {
|
|
|
95
95
|
this.setupMaterials(scene);
|
|
96
96
|
}
|
|
97
97
|
detach() {
|
|
98
|
-
for (const
|
|
99
|
-
releaseMaterial(material
|
|
98
|
+
for (const material of this.materials) {
|
|
99
|
+
releaseMaterial(material);
|
|
100
100
|
}
|
|
101
101
|
this.materials.clear();
|
|
102
102
|
this.disposeLights();
|
|
@@ -104,6 +104,12 @@ export class GameCascadedShadows3D {
|
|
|
104
104
|
this.count = 0;
|
|
105
105
|
this.frustumKey = "";
|
|
106
106
|
}
|
|
107
|
+
/** Includes materials created by presentation passes after the light update. */
|
|
108
|
+
bindMaterials(scene) {
|
|
109
|
+
if (this.count > 0) {
|
|
110
|
+
this.setupMaterials(scene);
|
|
111
|
+
}
|
|
112
|
+
}
|
|
107
113
|
rebuild(count) {
|
|
108
114
|
this.disposeLights();
|
|
109
115
|
for (let index = 0; index < count; index++) {
|
|
@@ -115,8 +121,8 @@ export class GameCascadedShadows3D {
|
|
|
115
121
|
}
|
|
116
122
|
this.count = count;
|
|
117
123
|
this.frustumKey = "";
|
|
118
|
-
for (const
|
|
119
|
-
releaseMaterial(material
|
|
124
|
+
for (const material of this.materials) {
|
|
125
|
+
releaseMaterial(material);
|
|
120
126
|
}
|
|
121
127
|
this.materials.clear();
|
|
122
128
|
}
|
|
@@ -192,53 +198,29 @@ export class GameCascadedShadows3D {
|
|
|
192
198
|
if (this.materials.has(material)) {
|
|
193
199
|
continue;
|
|
194
200
|
}
|
|
195
|
-
this.
|
|
201
|
+
this.patchMaterial(material);
|
|
202
|
+
this.materials.add(material);
|
|
196
203
|
}
|
|
197
204
|
});
|
|
198
|
-
for (const
|
|
205
|
+
for (const material of this.materials) {
|
|
199
206
|
if (!seen.has(material)) {
|
|
200
|
-
releaseMaterial(material
|
|
207
|
+
releaseMaterial(material);
|
|
201
208
|
this.materials.delete(material);
|
|
202
209
|
}
|
|
203
210
|
}
|
|
204
211
|
}
|
|
205
212
|
/** Runs the material's existing compile hook first, then adds the cascade chunk, and keys the program on both. */
|
|
206
213
|
patchMaterial(material) {
|
|
207
|
-
const hooks = {
|
|
208
|
-
onBeforeCompile: Object.hasOwn(material, "onBeforeCompile") ? material.onBeforeCompile : undefined,
|
|
209
|
-
customProgramCacheKey: Object.hasOwn(material, "customProgramCacheKey") ? material.customProgramCacheKey : undefined
|
|
210
|
-
};
|
|
211
|
-
const previousCompile = material.onBeforeCompile;
|
|
212
|
-
const previousKey = material.customProgramCacheKey;
|
|
213
214
|
material.defines = { ...material.defines, USE_CSM: 1, CSM_CASCADES: this.count };
|
|
214
|
-
material
|
|
215
|
-
previousCompile.call(material, shader, renderer);
|
|
216
|
-
this.compile(shader);
|
|
217
|
-
};
|
|
218
|
-
material.customProgramCacheKey = () => `${previousKey.call(material)}|game-shadow-cascades`;
|
|
219
|
-
material.needsUpdate = true;
|
|
220
|
-
return hooks;
|
|
215
|
+
setGameMaterialHook(material, "cascades", this.compile, "|game-shadow-cascades");
|
|
221
216
|
}
|
|
222
217
|
}
|
|
223
|
-
function releaseMaterial(material
|
|
218
|
+
function releaseMaterial(material) {
|
|
224
219
|
if (material.defines) {
|
|
225
220
|
for (const name of cascadeDefines) {
|
|
226
221
|
delete material.defines[name];
|
|
227
222
|
}
|
|
228
223
|
}
|
|
229
|
-
|
|
230
|
-
if (hooks.onBeforeCompile) {
|
|
231
|
-
material.onBeforeCompile = hooks.onBeforeCompile;
|
|
232
|
-
}
|
|
233
|
-
else {
|
|
234
|
-
Reflect.deleteProperty(material, "onBeforeCompile");
|
|
235
|
-
}
|
|
236
|
-
if (hooks.customProgramCacheKey) {
|
|
237
|
-
material.customProgramCacheKey = hooks.customProgramCacheKey;
|
|
238
|
-
}
|
|
239
|
-
else {
|
|
240
|
-
Reflect.deleteProperty(material, "customProgramCacheKey");
|
|
241
|
-
}
|
|
242
|
-
material.needsUpdate = true;
|
|
224
|
+
removeGameMaterialHook(material, "cascades");
|
|
243
225
|
}
|
|
244
226
|
//# sourceMappingURL=cascades.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cascades.js","sourceRoot":"","sources":["../../../src/renderer3d/shadows/cascades.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cascades.js","sourceRoot":"","sources":["../../../src/renderer3d/shadows/cascades.ts"],"names":[],"mappings":"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"}
|
|
@@ -39,6 +39,7 @@ export declare class GameShadows3D {
|
|
|
39
39
|
prepare(frame: GameRenderFrame3D): GameShadowPlan3D;
|
|
40
40
|
/** Draws the cascaded light through per-cascade lights and hides its single-map light. */
|
|
41
41
|
update(scene: THREE.Scene, lights: ReadonlyMap<string, THREE.Light>, frame: GameRenderFrame3D, camera: THREE.Camera): void;
|
|
42
|
+
bindMaterials(scene: THREE.Scene): void;
|
|
42
43
|
dispose(): void;
|
|
43
44
|
}
|
|
44
45
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/renderer3d/shadows/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAqC,KAAK,WAAW,EAAE,KAAK,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAGpH,MAAM,WAAW,oBAAoB;IACnC,4DAA4D;IAC5D,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,+DAA+D;IAC/D,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,gBAAgB;IAC/B,kDAAkD;IAClD,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACtC,iGAAiG;IACjG,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,QAAQ,EAAE,oBAAoB,CAAC;IACxC,sHAAsH;IACtH,QAAQ,CAAC,WAAW,EAAE,SAAS,MAAM,EAAE,CAAC;CACzC;AAWD,qHAAqH;AACrH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,IAAI,CAAC,iBAAiB,EAAE,QAAQ,GAAG,aAAa,CAAC,GAAG,gBAAgB,CAqB5G;AAED,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,KAAK,CAAC,WAAW,EAAE,UAAU,EAAE,WAAW,GAAG,IAAI,CAG5F;AAED,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,KAAK,CAAC,gBAAgB,EAAE,UAAU,EAAE,OAAO,CAAC,WAAW,EAAE;IAAE,IAAI,EAAE,aAAa,CAAA;CAAE,CAAC,EAAE,WAAW,EAAE,iBAAiB,CAAC,aAAa,CAAC,EAAE,OAAO,UAAuD,GAAG,IAAI,CAOxP;AAED,sGAAsG;AACtG,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,KAAK,CAAC,UAAU,GAAG,KAAK,CAAC,SAAS,EAAE,UAAU,EAAE,OAAO,CAAC,WAAW,EAAE;IAAE,IAAI,EAAE,aAAa,CAAA;CAAE,CAAC,EAAE,WAAW,EAAE,iBAAiB,CAAC,aAAa,CAAC,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI,CAWhN;AAED;;;GAGG;AACH,qBAAa,aAAa;IAKZ,OAAO,CAAC,QAAQ,CAAC,WAAW;IAAY,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC;IAJlF,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAkF;IAC3G,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA+B;IACxD,IAAI,EAAE,gBAAgB,CAAmF;IAEzG,YAA6B,WAAW,EAAE,MAAM,EAAE,EAAmB,YAAY,CAAC,GAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,aAAA,EAAI;IAEjH,OAAO,CAAC,KAAK,EAAE,iBAAiB,GAAG,gBAAgB,CAiBlD;IAED,0FAA0F;IAC1F,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,WAAW,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,iBAAiB,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,GAAG,IAAI,CAWzH;IAED,OAAO,IAAI,IAAI,CAA4B;CAC5C"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/renderer3d/shadows/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAqC,KAAK,WAAW,EAAE,KAAK,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAGpH,MAAM,WAAW,oBAAoB;IACnC,4DAA4D;IAC5D,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,+DAA+D;IAC/D,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,gBAAgB;IAC/B,kDAAkD;IAClD,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACtC,iGAAiG;IACjG,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,QAAQ,EAAE,oBAAoB,CAAC;IACxC,sHAAsH;IACtH,QAAQ,CAAC,WAAW,EAAE,SAAS,MAAM,EAAE,CAAC;CACzC;AAWD,qHAAqH;AACrH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,IAAI,CAAC,iBAAiB,EAAE,QAAQ,GAAG,aAAa,CAAC,GAAG,gBAAgB,CAqB5G;AAED,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,KAAK,CAAC,WAAW,EAAE,UAAU,EAAE,WAAW,GAAG,IAAI,CAG5F;AAED,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,KAAK,CAAC,gBAAgB,EAAE,UAAU,EAAE,OAAO,CAAC,WAAW,EAAE;IAAE,IAAI,EAAE,aAAa,CAAA;CAAE,CAAC,EAAE,WAAW,EAAE,iBAAiB,CAAC,aAAa,CAAC,EAAE,OAAO,UAAuD,GAAG,IAAI,CAOxP;AAED,sGAAsG;AACtG,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,KAAK,CAAC,UAAU,GAAG,KAAK,CAAC,SAAS,EAAE,UAAU,EAAE,OAAO,CAAC,WAAW,EAAE;IAAE,IAAI,EAAE,aAAa,CAAA;CAAE,CAAC,EAAE,WAAW,EAAE,iBAAiB,CAAC,aAAa,CAAC,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI,CAWhN;AAED;;;GAGG;AACH,qBAAa,aAAa;IAKZ,OAAO,CAAC,QAAQ,CAAC,WAAW;IAAY,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC;IAJlF,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAkF;IAC3G,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA+B;IACxD,IAAI,EAAE,gBAAgB,CAAmF;IAEzG,YAA6B,WAAW,EAAE,MAAM,EAAE,EAAmB,YAAY,CAAC,GAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,aAAA,EAAI;IAEjH,OAAO,CAAC,KAAK,EAAE,iBAAiB,GAAG,gBAAgB,CAiBlD;IAED,0FAA0F;IAC1F,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,WAAW,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,iBAAiB,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,GAAG,IAAI,CAWzH;IAED,aAAa,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,GAAG,IAAI,CAAwC;IAE/E,OAAO,IAAI,IAAI,CAA4B;CAC5C"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as THREE from "three";
|
|
2
2
|
import { GAME_LOCAL_SHADOW_LIGHT_BUDGET_3D } from "@nodetool-ai/protocol";
|
|
3
|
-
import { GameCascadedShadows3D } from "./cascades.js";
|
|
3
|
+
import { GameCascadedShadows3D, resizeGameShadowMap } from "./cascades.js";
|
|
4
4
|
const overflowKinds = ["local", "directional"];
|
|
5
5
|
function overflowMessage(kind, count) {
|
|
6
6
|
return kind === "local"
|
|
@@ -53,7 +53,7 @@ export function applyGameShadowBias(shadow, definition) {
|
|
|
53
53
|
}
|
|
54
54
|
export function configureDirectionalShadow(light, definition, environment, casting = environment.shadows.enabled && definition.castShadow) {
|
|
55
55
|
light.castShadow = casting;
|
|
56
|
-
light.shadow
|
|
56
|
+
resizeGameShadowMap(light.shadow, environment.shadows.mapSize);
|
|
57
57
|
const extent = environment.shadows.extent;
|
|
58
58
|
Object.assign(light.shadow.camera, { left: -extent, right: extent, top: extent, bottom: -extent, near: 0.1, far: extent * 4 });
|
|
59
59
|
light.shadow.camera.updateProjectionMatrix();
|
|
@@ -124,6 +124,7 @@ export class GameShadows3D {
|
|
|
124
124
|
}
|
|
125
125
|
this.cascades.update(scene, source, entry.light, settings, frame.environment.shadows.mapSize, camera);
|
|
126
126
|
}
|
|
127
|
+
bindMaterials(scene) { this.cascades.bindMaterials(scene); }
|
|
127
128
|
dispose() { this.cascades.detach(); }
|
|
128
129
|
}
|
|
129
130
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/renderer3d/shadows/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,iCAAiC,EAA4C,MAAM,uBAAuB,CAAC;AACpH,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/renderer3d/shadows/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,iCAAiC,EAA4C,MAAM,uBAAuB,CAAC;AACpH,OAAO,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAmB3E,MAAM,aAAa,GAAG,CAAC,OAAO,EAAE,aAAa,CAAU,CAAC;AAGxD,SAAS,eAAe,CAAC,IAA8B,EAAE,KAAa;IACpE,OAAO,IAAI,KAAK,OAAO;QACrB,CAAC,CAAC,2BAA2B,KAAK,mBAAmB,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,eAAe,6BAA6B,iCAAiC,0BAA0B;QAC5L,CAAC,CAAC,mDAAmD,KAAK,+BAA+B,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,eAAe,kBAAkB,CAAC;AAC/J,CAAC;AAED,qHAAqH;AACrH,MAAM,UAAU,iBAAiB,CAAC,KAAwD;IACxF,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;IAClC,MAAM,QAAQ,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,CAAC;IAC9C,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;QAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC;IAAC,CAAC;IAC1F,MAAM,QAAQ,GAAG,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,QAAQ,KAAK,SAAS,CAAC;IAClE,IAAI,eAAmC,CAAC;IACxC,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,KAAK,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;QAC/C,IAAI,KAAK,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;YACjC,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC;gBAAC,SAAS;YAAC,CAAC;YACpC,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;gBAAC,SAAS;YAAC,CAAC;YACnD,IAAI,eAAe,KAAK,SAAS,EAAE,CAAC;gBAAC,eAAe,GAAG,QAAQ,CAAC;gBAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;gBAAC,SAAS;YAAC,CAAC;YACnG,QAAQ,CAAC,WAAW,EAAE,CAAC;YACvB,SAAS;QACX,CAAC;QACD,IAAI,KAAK,CAAC,UAAU,KAAK,IAAI,EAAE,CAAC;YAAC,SAAS;QAAC,CAAC;QAC5C,IAAI,KAAK,GAAG,iCAAiC,EAAE,CAAC;YAAC,KAAK,EAAE,CAAC;YAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAAC,SAAS;QAAC,CAAC;QAC5F,QAAQ,CAAC,KAAK,EAAE,CAAC;IACnB,CAAC;IACD,MAAM,WAAW,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,eAAe,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC5H,OAAO,eAAe,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC;AAClI,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,MAAyB,EAAE,UAAuB;IACpF,MAAM,CAAC,IAAI,GAAG,UAAU,CAAC,UAAU,IAAI,CAAC,CAAC;IACzC,MAAM,CAAC,UAAU,GAAG,UAAU,CAAC,gBAAgB,IAAI,CAAC,CAAC;AACvD,CAAC;AAED,MAAM,UAAU,0BAA0B,CAAC,KAA6B,EAAE,UAAyD,EAAE,WAA6C,EAAE,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC,OAAO,IAAI,UAAU,CAAC,UAAU;IAChP,KAAK,CAAC,UAAU,GAAG,OAAO,CAAC;IAC3B,mBAAmB,CAAC,KAAK,CAAC,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAC/D,MAAM,MAAM,GAAG,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC;IAC1C,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,GAAG,CAAC,EAAE,CAAC,CAAC;IAC/H,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,sBAAsB,EAAE,CAAC;IAC7C,mBAAmB,CAAC,KAAK,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;AAChD,CAAC;AAED,sGAAsG;AACtG,MAAM,UAAU,oBAAoB,CAAC,KAAyC,EAAE,UAAyD,EAAE,WAA6C,EAAE,OAAgB;IACxM,KAAK,CAAC,UAAU,GAAG,OAAO,CAAC;IAC3B,IAAI,CAAC,OAAO,EAAE,CAAC;QAAC,OAAO;IAAC,CAAC;IACzB,MAAM,IAAI,GAAG,KAAK,YAAY,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC;IAC3H,IAAI,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QACpC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACrC,KAAK,CAAC,MAAM,CAAC,GAAG,EAAE,OAAO,EAAE,CAAC;QAC5B,KAAK,CAAC,MAAM,CAAC,GAAG,GAAG,IAAI,CAAC;IAC1B,CAAC;IACD,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,UAAU,CAAC,KAAK,GAAG,GAAG,CAAC,CAAC;IACjE,mBAAmB,CAAC,KAAK,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;AAChD,CAAC;AAED;;;GAGG;AACH,MAAM,OAAO,aAAa;IAKK,WAAW;IAA6B,YAAY;IAJhE,QAAQ,GAAG,IAAI,GAAG,EAAuE,CAAC;IAC1F,QAAQ,GAAG,IAAI,qBAAqB,EAAE,CAAC;IACxD,IAAI,GAAqB,EAAE,OAAO,EAAE,IAAI,GAAG,EAAE,EAAE,QAAQ,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC;IAEzG,YAA6B,WAAqB,EAAmB,YAAwC;2BAAhF,WAAW;4BAA6B,YAAY;IAA+B,CAAC;IAEjH,OAAO,CAAC,KAAwB;QAC9B,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;QACrC,KAAK,MAAM,IAAI,IAAI,aAAa,EAAE,CAAC;YACjC,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACvC,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACzC,IAAI,KAAK,IAAI,CAAC,QAAQ,EAAE,KAAK,IAAI,CAAC,CAAC,EAAE,CAAC;gBAAC,SAAS;YAAC,CAAC;YAClD,MAAM,OAAO,GAAG,eAAe,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YAC7C,IAAI,QAAQ,EAAE,CAAC;gBACb,QAAQ,CAAC,KAAK,GAAG,KAAK,CAAC;gBACvB,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC;YAC7C,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;gBACnE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACjC,CAAC;YACD,IAAI,CAAC,YAAY,EAAE,CAAC,OAAO,CAAC,CAAC;QAC/B,CAAC;QACD,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAED,0FAA0F;IAC1F,MAAM,CAAC,KAAkB,EAAE,MAAwC,EAAE,KAAwB,EAAE,MAAoB;QACjH,MAAM,QAAQ,GAAG,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,QAAQ,CAAC;QACpD,MAAM,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC;QACrC,MAAM,KAAK,GAAG,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,QAAQ,KAAK,EAAE,CAAC,CAAC;QACzG,MAAM,MAAM,GAAG,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC7D,KAAK,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,MAAM,EAAE,CAAC;YAAC,KAAK,CAAC,OAAO,GAAG,OAAO,KAAK,EAAE,IAAI,CAAC,CAAC,MAAM,YAAY,KAAK,CAAC,gBAAgB,CAAC,CAAC;QAAC,CAAC;QACzH,IAAI,CAAC,QAAQ,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,aAAa,IAAI,CAAC,CAAC,MAAM,YAAY,KAAK,CAAC,gBAAgB,CAAC,EAAE,CAAC;YAC7G,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;YACvB,OAAO;QACT,CAAC;QACD,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IACxG,CAAC;IAED,aAAa,CAAC,KAAkB,IAAU,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAE/E,OAAO,KAAW,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;CAC5C"}
|
|
@@ -8,6 +8,7 @@ export interface CachedModel {
|
|
|
8
8
|
export interface RenderInstance {
|
|
9
9
|
modelAssetId?: string;
|
|
10
10
|
sampledAnimationKey?: string;
|
|
11
|
+
sampledAnimationMode?: "graph" | "clip";
|
|
11
12
|
readonly descriptor: string;
|
|
12
13
|
readonly object: THREE.Object3D;
|
|
13
14
|
readonly materials: readonly THREE.Material[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/renderer3d/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAC/D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAC1D,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,QAAQ,EAAE,iBAAiB,CAAC;IACrC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;CACrB;AACD,MAAM,WAAW,cAAc;IAC7B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC;IAChC,QAAQ,CAAC,SAAS,EAAE,SAAS,KAAK,CAAC,QAAQ,EAAE,CAAC;IAC9C,QAAQ,CAAC,iBAAiB,CAAC,EAAE,KAAK,CAAC,cAAc,CAAC;IAClD,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,cAAc,CAAC;IACtC,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,KAAK,CAAC,aAAa,EAAE,CAAC;CACjD"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/renderer3d/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAC/D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAC1D,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,QAAQ,EAAE,iBAAiB,CAAC;IACrC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;CACrB;AACD,MAAM,WAAW,cAAc;IAC7B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,oBAAoB,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IACxC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC;IAChC,QAAQ,CAAC,SAAS,EAAE,SAAS,KAAK,CAAC,QAAQ,EAAE,CAAC;IAC9C,QAAQ,CAAC,iBAAiB,CAAC,EAAE,KAAK,CAAC,cAAc,CAAC;IAClD,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,cAAc,CAAC;IACtC,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,KAAK,CAAC,aAAa,EAAE,CAAC;CACjD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"save-storage.d.ts","sourceRoot":"","sources":["../src/save-storage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAuBlG,6FAA6F;AAC7F,wBAAgB,8BAA8B,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,
|
|
1
|
+
{"version":3,"file":"save-storage.d.ts","sourceRoot":"","sources":["../src/save-storage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAuBlG,6FAA6F;AAC7F,wBAAgB,8BAA8B,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,UAAU,GAAG,eAAe,CA2DpG;AAED,4DAA4D;AAC5D,MAAM,MAAM,kBAAkB,GAAG,IAAI,CAAC,OAAO,EAAE,SAAS,GAAG,SAAS,GAAG,YAAY,GAAG,KAAK,GAAG,QAAQ,CAAC,CAAC;AAExG;;;GAGG;AACH,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,kBAAkB,EAAE,MAAM,SAAwB,GAAG,eAAe,CA6BvI;AAED;;;GAGG;AACH,wBAAsB,aAAa,CAAC,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE;IAAE,QAAQ,CAAC,OAAO,EAAE,kBAAkB,CAAC;IAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,CAQhL"}
|
package/dist/save-storage.js
CHANGED
|
@@ -16,14 +16,30 @@ function settle(request) {
|
|
|
16
16
|
});
|
|
17
17
|
}
|
|
18
18
|
/** IndexedDB storage for the standalone player. Saves outlive the page and stay per game. */
|
|
19
|
-
export function createIndexedDbGameSaveStorage(gameId, factory
|
|
19
|
+
export function createIndexedDbGameSaveStorage(gameId, factory) {
|
|
20
20
|
let opened;
|
|
21
|
-
const database = () =>
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
21
|
+
const database = () => {
|
|
22
|
+
if (opened) {
|
|
23
|
+
return opened;
|
|
24
|
+
}
|
|
25
|
+
const pending = Promise.resolve().then(() => new Promise((resolve, reject) => {
|
|
26
|
+
const storage = factory ?? globalThis.indexedDB;
|
|
27
|
+
if (!storage) {
|
|
28
|
+
throw new Error("IndexedDB is not available");
|
|
29
|
+
}
|
|
30
|
+
const request = storage.open(DATABASE, 1);
|
|
31
|
+
request.onupgradeneeded = () => { request.result.createObjectStore(STORE); };
|
|
32
|
+
request.onsuccess = () => resolve(request.result);
|
|
33
|
+
request.onerror = () => reject(request.error ?? new Error("IndexedDB could not open"));
|
|
34
|
+
})).catch((cause) => {
|
|
35
|
+
throw new Error("Game save storage is unavailable", { cause });
|
|
36
|
+
});
|
|
37
|
+
opened = pending;
|
|
38
|
+
void pending.catch(() => { if (opened === pending) {
|
|
39
|
+
opened = undefined;
|
|
40
|
+
} });
|
|
41
|
+
return pending;
|
|
42
|
+
};
|
|
27
43
|
const run = async (mode, action) => {
|
|
28
44
|
const transaction = (await database()).transaction(STORE, mode);
|
|
29
45
|
const result = settle(action(transaction.objectStore(STORE)));
|