@fps-games/engine 0.0.1-beta.5 → 0.0.1-beta.8
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/dist/asset-resource.d.ts +39 -0
- package/dist/asset-resource.d.ts.map +1 -0
- package/dist/asset-resource.js +121 -0
- package/dist/asset-resource.js.map +1 -0
- package/dist/babylon/game-world-plugin-lifecycle.d.ts +26 -0
- package/dist/babylon/game-world-plugin-lifecycle.d.ts.map +1 -0
- package/dist/babylon/game-world-plugin-lifecycle.js +257 -0
- package/dist/babylon/game-world-plugin-lifecycle.js.map +1 -0
- package/dist/babylon/plugin-contract.d.ts +15 -0
- package/dist/babylon/plugin-contract.d.ts.map +1 -0
- package/dist/babylon/plugin-contract.js +9 -0
- package/dist/babylon/plugin-contract.js.map +1 -0
- package/dist/babylon/renderer/brdf-texture-settlement.d.ts +7 -0
- package/dist/babylon/renderer/brdf-texture-settlement.d.ts.map +1 -0
- package/dist/babylon/renderer/brdf-texture-settlement.js +29 -0
- package/dist/babylon/renderer/brdf-texture-settlement.js.map +1 -0
- package/dist/babylon/renderer/environment/environment-texture-controller.d.ts +7 -0
- package/dist/babylon/renderer/environment/environment-texture-controller.d.ts.map +1 -0
- package/dist/babylon/renderer/environment/environment-texture-controller.js +357 -0
- package/dist/babylon/renderer/environment/environment-texture-controller.js.map +1 -0
- package/dist/babylon/renderer/environment/index.d.ts +4 -0
- package/dist/babylon/renderer/environment/index.d.ts.map +1 -0
- package/dist/babylon/renderer/environment/index.js +4 -0
- package/dist/babylon/renderer/environment/index.js.map +1 -0
- package/dist/babylon/renderer/environment/profile.d.ts +3 -0
- package/dist/babylon/renderer/environment/profile.d.ts.map +1 -0
- package/dist/babylon/renderer/environment/profile.js +27 -0
- package/dist/babylon/renderer/environment/profile.js.map +1 -0
- package/dist/babylon/renderer/environment/types.d.ts +24 -0
- package/dist/babylon/renderer/environment/types.d.ts.map +1 -0
- package/dist/babylon/renderer/environment/types.js +6 -0
- package/dist/babylon/renderer/environment/types.js.map +1 -0
- package/dist/babylon/renderer/index.d.ts +24 -0
- package/dist/babylon/renderer/index.d.ts.map +1 -0
- package/dist/babylon/renderer/index.js +24 -0
- package/dist/babylon/renderer/index.js.map +1 -0
- package/dist/babylon/renderer/lighting/directional-light-angles.d.ts +17 -0
- package/dist/babylon/renderer/lighting/directional-light-angles.d.ts.map +1 -0
- package/dist/babylon/renderer/lighting/directional-light-angles.js +67 -0
- package/dist/babylon/renderer/lighting/directional-light-angles.js.map +1 -0
- package/dist/babylon/renderer/material-owner-candidates.d.ts +19 -0
- package/dist/babylon/renderer/material-owner-candidates.d.ts.map +1 -0
- package/dist/babylon/renderer/material-owner-candidates.js +212 -0
- package/dist/babylon/renderer/material-owner-candidates.js.map +1 -0
- package/dist/babylon/renderer/materials/index.d.ts +3 -0
- package/dist/babylon/renderer/materials/index.d.ts.map +1 -0
- package/dist/babylon/renderer/materials/index.js +3 -0
- package/dist/babylon/renderer/materials/index.js.map +1 -0
- package/dist/babylon/renderer/materials/material-runtime.d.ts +29 -0
- package/dist/babylon/renderer/materials/material-runtime.d.ts.map +1 -0
- package/dist/babylon/renderer/materials/material-runtime.js +660 -0
- package/dist/babylon/renderer/materials/material-runtime.js.map +1 -0
- package/dist/babylon/renderer/materials/material-slot-owner.d.ts +42 -0
- package/dist/babylon/renderer/materials/material-slot-owner.d.ts.map +1 -0
- package/dist/babylon/renderer/materials/material-slot-owner.js +318 -0
- package/dist/babylon/renderer/materials/material-slot-owner.js.map +1 -0
- package/dist/babylon/renderer/outlines/babylon-default/apply.d.ts +4 -0
- package/dist/babylon/renderer/outlines/babylon-default/apply.d.ts.map +1 -0
- package/dist/babylon/renderer/outlines/babylon-default/apply.js +45 -0
- package/dist/babylon/renderer/outlines/babylon-default/apply.js.map +1 -0
- package/dist/babylon/renderer/outlines/babylon-default/index.d.ts +3 -0
- package/dist/babylon/renderer/outlines/babylon-default/index.d.ts.map +1 -0
- package/dist/babylon/renderer/outlines/babylon-default/index.js +2 -0
- package/dist/babylon/renderer/outlines/babylon-default/index.js.map +1 -0
- package/dist/babylon/renderer/outlines/babylon-default/types.d.ts +7 -0
- package/dist/babylon/renderer/outlines/babylon-default/types.d.ts.map +1 -0
- package/dist/babylon/renderer/outlines/babylon-default/types.js +2 -0
- package/dist/babylon/renderer/outlines/babylon-default/types.js.map +1 -0
- package/dist/babylon/renderer/outlines/index.d.ts +4 -0
- package/dist/babylon/renderer/outlines/index.d.ts.map +1 -0
- package/dist/babylon/renderer/outlines/index.js +3 -0
- package/dist/babylon/renderer/outlines/index.js.map +1 -0
- package/dist/babylon/renderer/outlines/runtime-override.d.ts +36 -0
- package/dist/babylon/renderer/outlines/runtime-override.d.ts.map +1 -0
- package/dist/babylon/renderer/outlines/runtime-override.js +131 -0
- package/dist/babylon/renderer/outlines/runtime-override.js.map +1 -0
- package/dist/babylon/renderer/outlines/types.d.ts +7 -0
- package/dist/babylon/renderer/outlines/types.d.ts.map +1 -0
- package/dist/babylon/renderer/outlines/types.js +2 -0
- package/dist/babylon/renderer/outlines/types.js.map +1 -0
- package/dist/babylon/renderer/placement/index.d.ts +2 -0
- package/dist/babylon/renderer/placement/index.d.ts.map +1 -0
- package/dist/babylon/renderer/placement/index.js +2 -0
- package/dist/babylon/renderer/placement/index.js.map +1 -0
- package/dist/babylon/renderer/placement/runtime-drop-position.d.ts +24 -0
- package/dist/babylon/renderer/placement/runtime-drop-position.d.ts.map +1 -0
- package/dist/babylon/renderer/placement/runtime-drop-position.js +63 -0
- package/dist/babylon/renderer/placement/runtime-drop-position.js.map +1 -0
- package/dist/babylon/renderer/post-process/babylon-default-pipeline.d.ts +7 -0
- package/dist/babylon/renderer/post-process/babylon-default-pipeline.d.ts.map +1 -0
- package/dist/babylon/renderer/post-process/babylon-default-pipeline.js +301 -0
- package/dist/babylon/renderer/post-process/babylon-default-pipeline.js.map +1 -0
- package/dist/babylon/renderer/post-process/index.d.ts +5 -0
- package/dist/babylon/renderer/post-process/index.d.ts.map +1 -0
- package/dist/babylon/renderer/post-process/index.js +5 -0
- package/dist/babylon/renderer/post-process/index.js.map +1 -0
- package/dist/babylon/renderer/post-process/profile.d.ts +5 -0
- package/dist/babylon/renderer/post-process/profile.d.ts.map +1 -0
- package/dist/babylon/renderer/post-process/profile.js +155 -0
- package/dist/babylon/renderer/post-process/profile.js.map +1 -0
- package/dist/babylon/renderer/post-process/types.d.ts +81 -0
- package/dist/babylon/renderer/post-process/types.d.ts.map +1 -0
- package/dist/babylon/renderer/post-process/types.js +24 -0
- package/dist/babylon/renderer/post-process/types.js.map +1 -0
- package/dist/babylon/renderer/post-process/volume-stack.d.ts +4 -0
- package/dist/babylon/renderer/post-process/volume-stack.d.ts.map +1 -0
- package/dist/babylon/renderer/post-process/volume-stack.js +105 -0
- package/dist/babylon/renderer/post-process/volume-stack.js.map +1 -0
- package/dist/babylon/renderer/rendering/image-node.d.ts +35 -0
- package/dist/babylon/renderer/rendering/image-node.d.ts.map +1 -0
- package/dist/babylon/renderer/rendering/image-node.js +39 -0
- package/dist/babylon/renderer/rendering/image-node.js.map +1 -0
- package/dist/babylon/renderer/rendering/index.d.ts +3 -0
- package/dist/babylon/renderer/rendering/index.d.ts.map +1 -0
- package/dist/babylon/renderer/rendering/index.js +3 -0
- package/dist/babylon/renderer/rendering/index.js.map +1 -0
- package/dist/babylon/renderer/rendering/node-rendering.d.ts +19 -0
- package/dist/babylon/renderer/rendering/node-rendering.d.ts.map +1 -0
- package/dist/babylon/renderer/rendering/node-rendering.js +66 -0
- package/dist/babylon/renderer/rendering/node-rendering.js.map +1 -0
- package/dist/babylon/renderer/shadows/blob-shadow-shaders.d.ts +5 -0
- package/dist/babylon/renderer/shadows/blob-shadow-shaders.d.ts.map +1 -0
- package/dist/babylon/renderer/shadows/blob-shadow-shaders.js +46 -0
- package/dist/babylon/renderer/shadows/blob-shadow-shaders.js.map +1 -0
- package/dist/babylon/renderer/shadows/blob-shadow-system.d.ts +5 -0
- package/dist/babylon/renderer/shadows/blob-shadow-system.d.ts.map +1 -0
- package/dist/babylon/renderer/shadows/blob-shadow-system.js +402 -0
- package/dist/babylon/renderer/shadows/blob-shadow-system.js.map +1 -0
- package/dist/babylon/renderer/shadows/dynamic-shadow-system.d.ts +84 -0
- package/dist/babylon/renderer/shadows/dynamic-shadow-system.d.ts.map +1 -0
- package/dist/babylon/renderer/shadows/dynamic-shadow-system.js +566 -0
- package/dist/babylon/renderer/shadows/dynamic-shadow-system.js.map +1 -0
- package/dist/babylon/renderer/shadows/planar-shadow-shaders.d.ts +7 -0
- package/dist/babylon/renderer/shadows/planar-shadow-shaders.d.ts.map +1 -0
- package/dist/babylon/renderer/shadows/planar-shadow-shaders.js +316 -0
- package/dist/babylon/renderer/shadows/planar-shadow-shaders.js.map +1 -0
- package/dist/babylon/renderer/shadows/planar-shadow-system.d.ts +5 -0
- package/dist/babylon/renderer/shadows/planar-shadow-system.d.ts.map +1 -0
- package/dist/babylon/renderer/shadows/planar-shadow-system.js +1562 -0
- package/dist/babylon/renderer/shadows/planar-shadow-system.js.map +1 -0
- package/dist/babylon/renderer/shadows/shadow-generator-shaders.d.ts +14 -0
- package/dist/babylon/renderer/shadows/shadow-generator-shaders.d.ts.map +1 -0
- package/dist/babylon/renderer/shadows/shadow-generator-shaders.js +14 -0
- package/dist/babylon/renderer/shadows/shadow-generator-shaders.js.map +1 -0
- package/dist/babylon/renderer/shadows/shadow-map-experiment-depth-backend.d.ts +68 -0
- package/dist/babylon/renderer/shadows/shadow-map-experiment-depth-backend.d.ts.map +1 -0
- package/dist/babylon/renderer/shadows/shadow-map-experiment-depth-backend.js +829 -0
- package/dist/babylon/renderer/shadows/shadow-map-experiment-depth-backend.js.map +1 -0
- package/dist/babylon/renderer/shadows/shadow-map-experiment-system.d.ts +148 -0
- package/dist/babylon/renderer/shadows/shadow-map-experiment-system.d.ts.map +1 -0
- package/dist/babylon/renderer/shadows/shadow-map-experiment-system.js +4529 -0
- package/dist/babylon/renderer/shadows/shadow-map-experiment-system.js.map +1 -0
- package/dist/babylon/renderer/shadows/static-projected-shadow-artifact-system.d.ts +4 -0
- package/dist/babylon/renderer/shadows/static-projected-shadow-artifact-system.d.ts.map +1 -0
- package/dist/babylon/renderer/shadows/static-projected-shadow-artifact-system.js +645 -0
- package/dist/babylon/renderer/shadows/static-projected-shadow-artifact-system.js.map +1 -0
- package/dist/babylon/renderer/shadows/static-projected-shadow-atlas.d.ts +61 -0
- package/dist/babylon/renderer/shadows/static-projected-shadow-atlas.d.ts.map +1 -0
- package/dist/babylon/renderer/shadows/static-projected-shadow-atlas.js +382 -0
- package/dist/babylon/renderer/shadows/static-projected-shadow-atlas.js.map +1 -0
- package/dist/babylon/renderer/shadows/static-projected-shadow-bake.d.ts +47 -0
- package/dist/babylon/renderer/shadows/static-projected-shadow-bake.d.ts.map +1 -0
- package/dist/babylon/renderer/shadows/static-projected-shadow-bake.js +285 -0
- package/dist/babylon/renderer/shadows/static-projected-shadow-bake.js.map +1 -0
- package/dist/babylon/renderer/shadows/static-projected-shadow-baker.d.ts +88 -0
- package/dist/babylon/renderer/shadows/static-projected-shadow-baker.d.ts.map +1 -0
- package/dist/babylon/renderer/shadows/static-projected-shadow-baker.js +830 -0
- package/dist/babylon/renderer/shadows/static-projected-shadow-baker.js.map +1 -0
- package/dist/babylon/renderer/shadows/static-projected-shadow-options.d.ts +3 -0
- package/dist/babylon/renderer/shadows/static-projected-shadow-options.d.ts.map +1 -0
- package/dist/babylon/renderer/shadows/static-projected-shadow-options.js +60 -0
- package/dist/babylon/renderer/shadows/static-projected-shadow-options.js.map +1 -0
- package/dist/babylon/renderer/shadows/static-projected-shadow-rendering.d.ts +27 -0
- package/dist/babylon/renderer/shadows/static-projected-shadow-rendering.d.ts.map +1 -0
- package/dist/babylon/renderer/shadows/static-projected-shadow-rendering.js +220 -0
- package/dist/babylon/renderer/shadows/static-projected-shadow-rendering.js.map +1 -0
- package/dist/babylon/renderer/shadows/types.d.ts +421 -0
- package/dist/babylon/renderer/shadows/types.d.ts.map +1 -0
- package/dist/babylon/renderer/shadows/types.js +127 -0
- package/dist/babylon/renderer/shadows/types.js.map +1 -0
- package/dist/babylon/renderer-controller.d.ts +93 -0
- package/dist/babylon/renderer-controller.d.ts.map +1 -0
- package/dist/babylon/renderer-controller.js +699 -0
- package/dist/babylon/renderer-controller.js.map +1 -0
- package/dist/babylon.d.ts +4 -0
- package/dist/babylon.d.ts.map +1 -1
- package/dist/babylon.js +4 -0
- package/dist/babylon.js.map +1 -1
- package/dist/build-info.json +4 -4
- package/dist/compiled-scene-data.d.ts +23 -0
- package/dist/compiled-scene-data.d.ts.map +1 -0
- package/dist/compiled-scene-data.js +100 -0
- package/dist/compiled-scene-data.js.map +1 -0
- package/dist/ground-decal.d.ts +22 -0
- package/dist/ground-decal.d.ts.map +1 -0
- package/dist/ground-decal.js +48 -0
- package/dist/ground-decal.js.map +1 -0
- package/dist/index.d.ts +13 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +13 -0
- package/dist/index.js.map +1 -1
- package/dist/material-owner.d.ts +128 -0
- package/dist/material-owner.d.ts.map +1 -0
- package/dist/material-owner.js +434 -0
- package/dist/material-owner.js.map +1 -0
- package/dist/material-profile.d.ts +62 -0
- package/dist/material-profile.d.ts.map +1 -0
- package/dist/material-profile.js +132 -0
- package/dist/material-profile.js.map +1 -0
- package/dist/rendering/index.d.ts +14 -0
- package/dist/rendering/index.d.ts.map +1 -0
- package/dist/rendering/index.js +12 -0
- package/dist/rendering/index.js.map +1 -0
- package/dist/rendering/rendering-profile-types.d.ts +322 -0
- package/dist/rendering/rendering-profile-types.d.ts.map +1 -0
- package/dist/rendering/rendering-profile-types.js +2 -0
- package/dist/rendering/rendering-profile-types.js.map +1 -0
- package/dist/rendering/rendering-profile-validation.d.ts +2 -0
- package/dist/rendering/rendering-profile-validation.d.ts.map +1 -0
- package/dist/rendering/rendering-profile-validation.js +364 -0
- package/dist/rendering/rendering-profile-validation.js.map +1 -0
- package/dist/rendering/rendering-profile-values.d.ts +19 -0
- package/dist/rendering/rendering-profile-values.d.ts.map +1 -0
- package/dist/rendering/rendering-profile-values.js +79 -0
- package/dist/rendering/rendering-profile-values.js.map +1 -0
- package/dist/rendering/rendering-profile.d.ts +15 -0
- package/dist/rendering/rendering-profile.d.ts.map +1 -0
- package/dist/rendering/rendering-profile.js +442 -0
- package/dist/rendering/rendering-profile.js.map +1 -0
- package/dist/rendering/shadow-map-experiment-depth.d.ts +63 -0
- package/dist/rendering/shadow-map-experiment-depth.d.ts.map +1 -0
- package/dist/rendering/shadow-map-experiment-depth.js +186 -0
- package/dist/rendering/shadow-map-experiment-depth.js.map +1 -0
- package/dist/rendering/shadow-map-experiment-lifecycle.d.ts +94 -0
- package/dist/rendering/shadow-map-experiment-lifecycle.d.ts.map +1 -0
- package/dist/rendering/shadow-map-experiment-lifecycle.js +407 -0
- package/dist/rendering/shadow-map-experiment-lifecycle.js.map +1 -0
- package/dist/rendering/shadow-map-experiment.d.ts +189 -0
- package/dist/rendering/shadow-map-experiment.d.ts.map +1 -0
- package/dist/rendering/shadow-map-experiment.js +549 -0
- package/dist/rendering/shadow-map-experiment.js.map +1 -0
- package/dist/rendering/shadow-quality.d.ts +5 -0
- package/dist/rendering/shadow-quality.d.ts.map +1 -0
- package/dist/rendering/shadow-quality.js +83 -0
- package/dist/rendering/shadow-quality.js.map +1 -0
- package/dist/rendering/shadow-runtime.d.ts +59 -0
- package/dist/rendering/shadow-runtime.d.ts.map +1 -0
- package/dist/rendering/shadow-runtime.js +378 -0
- package/dist/rendering/shadow-runtime.js.map +1 -0
- package/dist/rendering/shadow-settings.d.ts +15 -0
- package/dist/rendering/shadow-settings.d.ts.map +1 -0
- package/dist/rendering/shadow-settings.js +129 -0
- package/dist/rendering/shadow-settings.js.map +1 -0
- package/dist/rendering/shadow-types.d.ts +99 -0
- package/dist/rendering/shadow-types.d.ts.map +1 -0
- package/dist/rendering/shadow-types.js +5 -0
- package/dist/rendering/shadow-types.js.map +1 -0
- package/dist/rendering/shadow-validation.d.ts +3 -0
- package/dist/rendering/shadow-validation.d.ts.map +1 -0
- package/dist/rendering/shadow-validation.js +166 -0
- package/dist/rendering/shadow-validation.js.map +1 -0
- package/dist/rendering/value.d.ts +2 -0
- package/dist/rendering/value.d.ts.map +1 -0
- package/dist/rendering/value.js +6 -0
- package/dist/rendering/value.js.map +1 -0
- package/dist/runtime-data-token.d.ts +4 -0
- package/dist/runtime-data-token.d.ts.map +1 -0
- package/dist/runtime-data-token.js +4 -0
- package/dist/runtime-data-token.js.map +1 -0
- package/dist/runtime-data-types.d.ts +83 -0
- package/dist/runtime-data-types.d.ts.map +1 -0
- package/dist/runtime-data-types.js +2 -0
- package/dist/runtime-data-types.js.map +1 -0
- package/dist/runtime-data.d.ts +18 -0
- package/dist/runtime-data.d.ts.map +1 -0
- package/dist/runtime-data.js +301 -0
- package/dist/runtime-data.js.map +1 -0
- package/dist/runtime-scene-resolvers.d.ts +37 -0
- package/dist/runtime-scene-resolvers.d.ts.map +1 -0
- package/dist/runtime-scene-resolvers.js +40 -0
- package/dist/runtime-scene-resolvers.js.map +1 -0
- package/dist/scene-artifact-types.d.ts +383 -0
- package/dist/scene-artifact-types.d.ts.map +1 -0
- package/dist/scene-artifact-types.js +2 -0
- package/dist/scene-artifact-types.js.map +1 -0
- package/dist/scene-artifact-validation.d.ts +19 -0
- package/dist/scene-artifact-validation.d.ts.map +1 -0
- package/dist/scene-artifact-validation.js +1352 -0
- package/dist/scene-artifact-validation.js.map +1 -0
- package/dist/static-shadow-artifact.d.ts +131 -0
- package/dist/static-shadow-artifact.d.ts.map +1 -0
- package/dist/static-shadow-artifact.js +327 -0
- package/dist/static-shadow-artifact.js.map +1 -0
- package/package.json +9 -1
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
import { readRecord } from './value.js';
|
|
2
|
+
import { EDITOR_SHADOW_DEFAULT_QUALITY } from './shadow-quality.js';
|
|
3
|
+
export function isEditorShadowCastMode(value) {
|
|
4
|
+
return value === 'inherit' || value === 'none' || value === 'enabled' || value === 'auto';
|
|
5
|
+
}
|
|
6
|
+
export function isEditorShadowReceiveMode(value) {
|
|
7
|
+
return value === 'inherit' || value === 'none' || value === 'enabled' || value === 'auto';
|
|
8
|
+
}
|
|
9
|
+
export function isEditorShadowMode(value) {
|
|
10
|
+
return value === 'inherit'
|
|
11
|
+
|| value === 'none'
|
|
12
|
+
|| value === 'dynamic'
|
|
13
|
+
|| value === 'static'
|
|
14
|
+
|| value === 'blob'
|
|
15
|
+
|| value === 'projected'
|
|
16
|
+
|| value === 'auto';
|
|
17
|
+
}
|
|
18
|
+
export function isEditorShadowQuality(value) {
|
|
19
|
+
return value === 'inherit'
|
|
20
|
+
|| value === 'low'
|
|
21
|
+
|| value === 'medium'
|
|
22
|
+
|| value === 'high'
|
|
23
|
+
|| value === 'ultra';
|
|
24
|
+
}
|
|
25
|
+
export function isEditorShadowLightMode(value) {
|
|
26
|
+
return value === 'inherit' || value === 'scene-main' || value === 'nearest' || value === 'explicit';
|
|
27
|
+
}
|
|
28
|
+
export function readEditorShadowSettings(value) {
|
|
29
|
+
const record = readRecord(value);
|
|
30
|
+
if (!record)
|
|
31
|
+
return undefined;
|
|
32
|
+
const settings = {};
|
|
33
|
+
if (isEditorShadowCastMode(record.cast))
|
|
34
|
+
settings.cast = record.cast;
|
|
35
|
+
if (isEditorShadowReceiveMode(record.receive))
|
|
36
|
+
settings.receive = record.receive;
|
|
37
|
+
if (isEditorShadowMode(record.mode))
|
|
38
|
+
settings.mode = record.mode;
|
|
39
|
+
if (isEditorShadowQuality(record.quality))
|
|
40
|
+
settings.quality = record.quality;
|
|
41
|
+
const light = readRecord(record.light);
|
|
42
|
+
if (light) {
|
|
43
|
+
const normalizedLight = {};
|
|
44
|
+
if (isEditorShadowLightMode(light.mode))
|
|
45
|
+
normalizedLight.mode = light.mode;
|
|
46
|
+
if (typeof light.lightId === 'string' && light.lightId.trim())
|
|
47
|
+
normalizedLight.lightId = light.lightId.trim();
|
|
48
|
+
if (Object.keys(normalizedLight).length > 0)
|
|
49
|
+
settings.light = normalizedLight;
|
|
50
|
+
}
|
|
51
|
+
const params = readEditorShadowParams(record.params);
|
|
52
|
+
if (params)
|
|
53
|
+
settings.params = params;
|
|
54
|
+
return Object.keys(settings).length > 0 ? settings : undefined;
|
|
55
|
+
}
|
|
56
|
+
export function readEditorShadowSettingsResult(value) {
|
|
57
|
+
const shadow = readEditorShadowSettings(value);
|
|
58
|
+
return shadow ? { shadow, diagnostics: [] } : { diagnostics: [] };
|
|
59
|
+
}
|
|
60
|
+
export function readEditorShadowResolvedMode(settings, fallback = 'none') {
|
|
61
|
+
const mode = settings?.mode;
|
|
62
|
+
if (!mode || mode === 'inherit')
|
|
63
|
+
return fallback;
|
|
64
|
+
if (mode === 'auto')
|
|
65
|
+
return fallback;
|
|
66
|
+
return mode;
|
|
67
|
+
}
|
|
68
|
+
export function readEditorShadowResolvedQuality(settings, fallback = EDITOR_SHADOW_DEFAULT_QUALITY) {
|
|
69
|
+
const quality = settings?.quality;
|
|
70
|
+
return quality && quality !== 'inherit' ? quality : fallback;
|
|
71
|
+
}
|
|
72
|
+
export function mergeEditorShadowSettings(...settingsList) {
|
|
73
|
+
const merged = {};
|
|
74
|
+
for (const settings of settingsList) {
|
|
75
|
+
if (!settings)
|
|
76
|
+
continue;
|
|
77
|
+
// Legacy `auto` means no authored participation override. Keep this
|
|
78
|
+
// field-wise so an upper compatibility sentinel cannot mask a lower
|
|
79
|
+
// explicit enabled/none value.
|
|
80
|
+
if (settings.cast === 'enabled' || settings.cast === 'none')
|
|
81
|
+
merged.cast = settings.cast;
|
|
82
|
+
if (settings.receive === 'enabled' || settings.receive === 'none')
|
|
83
|
+
merged.receive = settings.receive;
|
|
84
|
+
if (settings.mode !== undefined && settings.mode !== 'inherit')
|
|
85
|
+
merged.mode = settings.mode;
|
|
86
|
+
if (settings.quality !== undefined && settings.quality !== 'inherit')
|
|
87
|
+
merged.quality = settings.quality;
|
|
88
|
+
if (settings.light) {
|
|
89
|
+
const nextLight = { ...(merged.light ?? {}) };
|
|
90
|
+
if (settings.light.mode !== undefined && settings.light.mode !== 'inherit')
|
|
91
|
+
nextLight.mode = settings.light.mode;
|
|
92
|
+
if (settings.light.lightId !== undefined)
|
|
93
|
+
nextLight.lightId = settings.light.lightId;
|
|
94
|
+
if (Object.keys(nextLight).length > 0)
|
|
95
|
+
merged.light = nextLight;
|
|
96
|
+
}
|
|
97
|
+
if (settings.params)
|
|
98
|
+
merged.params = { ...(merged.params ?? {}), ...settings.params };
|
|
99
|
+
}
|
|
100
|
+
return Object.keys(merged).length > 0 ? merged : undefined;
|
|
101
|
+
}
|
|
102
|
+
function readEditorShadowParams(value) {
|
|
103
|
+
const record = readRecord(value);
|
|
104
|
+
if (!record)
|
|
105
|
+
return undefined;
|
|
106
|
+
const params = {};
|
|
107
|
+
if (typeof record.opacity === 'number' && Number.isFinite(record.opacity))
|
|
108
|
+
params.opacity = record.opacity;
|
|
109
|
+
if (typeof record.softness === 'number' && Number.isFinite(record.softness))
|
|
110
|
+
params.softness = record.softness;
|
|
111
|
+
if (typeof record.bias === 'number' && Number.isFinite(record.bias))
|
|
112
|
+
params.bias = record.bias;
|
|
113
|
+
if (typeof record.normalBias === 'number' && Number.isFinite(record.normalBias))
|
|
114
|
+
params.normalBias = record.normalBias;
|
|
115
|
+
if (typeof record.maxDistance === 'number' && Number.isFinite(record.maxDistance))
|
|
116
|
+
params.maxDistance = record.maxDistance;
|
|
117
|
+
if (record.resolution === 512 || record.resolution === 1024 || record.resolution === 2048 || record.resolution === 4096) {
|
|
118
|
+
params.resolution = record.resolution;
|
|
119
|
+
}
|
|
120
|
+
if (record.cascadeCount === 1 || record.cascadeCount === 2 || record.cascadeCount === 4) {
|
|
121
|
+
params.cascadeCount = record.cascadeCount;
|
|
122
|
+
}
|
|
123
|
+
if (typeof record.bakeSamples === 'number' && Number.isFinite(record.bakeSamples))
|
|
124
|
+
params.bakeSamples = record.bakeSamples;
|
|
125
|
+
if (typeof record.blurKernel === 'number' && Number.isFinite(record.blurKernel))
|
|
126
|
+
params.blurKernel = record.blurKernel;
|
|
127
|
+
return Object.keys(params).length > 0 ? params : undefined;
|
|
128
|
+
}
|
|
129
|
+
//# sourceMappingURL=shadow-settings.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shadow-settings.js","sourceRoot":"","sources":["../../src/rendering/shadow-settings.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,6BAA6B,EAAE,MAAM,qBAAqB,CAAC;AAcpE,MAAM,UAAU,sBAAsB,CAAC,KAAc;IACnD,OAAO,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,MAAM,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,MAAM,CAAC;AAC5F,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,KAAc;IACtD,OAAO,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,MAAM,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,MAAM,CAAC;AAC5F,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,KAAc;IAC/C,OAAO,KAAK,KAAK,SAAS;WACrB,KAAK,KAAK,MAAM;WAChB,KAAK,KAAK,SAAS;WACnB,KAAK,KAAK,QAAQ;WAClB,KAAK,KAAK,MAAM;WAChB,KAAK,KAAK,WAAW;WACrB,KAAK,KAAK,MAAM,CAAC;AACxB,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,KAAc;IAClD,OAAO,KAAK,KAAK,SAAS;WACrB,KAAK,KAAK,KAAK;WACf,KAAK,KAAK,QAAQ;WAClB,KAAK,KAAK,MAAM;WAChB,KAAK,KAAK,OAAO,CAAC;AACzB,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,KAAc;IACpD,OAAO,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,YAAY,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,UAAU,CAAC;AACtG,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,KAAc;IACrD,MAAM,MAAM,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;IACjC,IAAI,CAAC,MAAM;QAAE,OAAO,SAAS,CAAC;IAC9B,MAAM,QAAQ,GAAyB,EAAE,CAAC;IAE1C,IAAI,sBAAsB,CAAC,MAAM,CAAC,IAAI,CAAC;QAAE,QAAQ,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;IACrE,IAAI,yBAAyB,CAAC,MAAM,CAAC,OAAO,CAAC;QAAE,QAAQ,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;IACjF,IAAI,kBAAkB,CAAC,MAAM,CAAC,IAAI,CAAC;QAAE,QAAQ,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;IACjE,IAAI,qBAAqB,CAAC,MAAM,CAAC,OAAO,CAAC;QAAE,QAAQ,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;IAE7E,MAAM,KAAK,GAAG,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACvC,IAAI,KAAK,EAAE,CAAC;QACV,MAAM,eAAe,GAA+C,EAAE,CAAC;QACvE,IAAI,uBAAuB,CAAC,KAAK,CAAC,IAAI,CAAC;YAAE,eAAe,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;QAC3E,IAAI,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE;YAAE,eAAe,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QAC9G,IAAI,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,MAAM,GAAG,CAAC;YAAE,QAAQ,CAAC,KAAK,GAAG,eAAe,CAAC;IAChF,CAAC;IAED,MAAM,MAAM,GAAG,sBAAsB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACrD,IAAI,MAAM;QAAE,QAAQ,CAAC,MAAM,GAAG,MAAM,CAAC;IAErC,OAAO,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;AACjE,CAAC;AAED,MAAM,UAAU,8BAA8B,CAAC,KAAc;IAI3D,MAAM,MAAM,GAAG,wBAAwB,CAAC,KAAK,CAAC,CAAC;IAC/C,OAAO,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC;AACpE,CAAC;AAED,MAAM,UAAU,4BAA4B,CAC1C,QAAiD,EACjD,WAAqC,MAAM;IAE3C,MAAM,IAAI,GAAG,QAAQ,EAAE,IAAI,CAAC;IAC5B,IAAI,CAAC,IAAI,IAAI,IAAI,KAAK,SAAS;QAAE,OAAO,QAAQ,CAAC;IACjD,IAAI,IAAI,KAAK,MAAM;QAAE,OAAO,QAAQ,CAAC;IACrC,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,+BAA+B,CAC7C,QAAiD,EACjD,WAAwC,6BAA6B;IAErE,MAAM,OAAO,GAAG,QAAQ,EAAE,OAAO,CAAC;IAClC,OAAO,OAAO,IAAI,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC;AAC/D,CAAC;AAED,MAAM,UAAU,yBAAyB,CACvC,GAAG,YAAkE;IAErE,MAAM,MAAM,GAAyB,EAAE,CAAC;IACxC,KAAK,MAAM,QAAQ,IAAI,YAAY,EAAE,CAAC;QACpC,IAAI,CAAC,QAAQ;YAAE,SAAS;QACxB,oEAAoE;QACpE,oEAAoE;QACpE,+BAA+B;QAC/B,IAAI,QAAQ,CAAC,IAAI,KAAK,SAAS,IAAI,QAAQ,CAAC,IAAI,KAAK,MAAM;YAAE,MAAM,CAAC,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;QACzF,IAAI,QAAQ,CAAC,OAAO,KAAK,SAAS,IAAI,QAAQ,CAAC,OAAO,KAAK,MAAM;YAAE,MAAM,CAAC,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC;QACrG,IAAI,QAAQ,CAAC,IAAI,KAAK,SAAS,IAAI,QAAQ,CAAC,IAAI,KAAK,SAAS;YAAE,MAAM,CAAC,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;QAC5F,IAAI,QAAQ,CAAC,OAAO,KAAK,SAAS,IAAI,QAAQ,CAAC,OAAO,KAAK,SAAS;YAAE,MAAM,CAAC,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC;QACxG,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;YACnB,MAAM,SAAS,GAAG,EAAE,GAAG,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,EAAE,CAAC;YAC9C,IAAI,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,IAAI,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS;gBAAE,SAAS,CAAC,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC;YACjH,IAAI,QAAQ,CAAC,KAAK,CAAC,OAAO,KAAK,SAAS;gBAAE,SAAS,CAAC,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC;YACrF,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,GAAG,CAAC;gBAAE,MAAM,CAAC,KAAK,GAAG,SAAS,CAAC;QAClE,CAAC;QACD,IAAI,QAAQ,CAAC,MAAM;YAAE,MAAM,CAAC,MAAM,GAAG,EAAE,GAAG,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC,EAAE,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC;IACxF,CAAC;IACD,OAAO,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;AAC7D,CAAC;AAED,SAAS,sBAAsB,CAAC,KAAc;IAC5C,MAAM,MAAM,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;IACjC,IAAI,CAAC,MAAM;QAAE,OAAO,SAAS,CAAC;IAC9B,MAAM,MAAM,GAAuB,EAAE,CAAC;IACtC,IAAI,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC;QAAE,MAAM,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;IAC3G,IAAI,OAAO,MAAM,CAAC,QAAQ,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC;QAAE,MAAM,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;IAC/G,IAAI,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC;QAAE,MAAM,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;IAC/F,IAAI,OAAO,MAAM,CAAC,UAAU,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC;QAAE,MAAM,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;IACvH,IAAI,OAAO,MAAM,CAAC,WAAW,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC;QAAE,MAAM,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;IAC3H,IAAI,MAAM,CAAC,UAAU,KAAK,GAAG,IAAI,MAAM,CAAC,UAAU,KAAK,IAAI,IAAI,MAAM,CAAC,UAAU,KAAK,IAAI,IAAI,MAAM,CAAC,UAAU,KAAK,IAAI,EAAE,CAAC;QACxH,MAAM,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;IACxC,CAAC;IACD,IAAI,MAAM,CAAC,YAAY,KAAK,CAAC,IAAI,MAAM,CAAC,YAAY,KAAK,CAAC,IAAI,MAAM,CAAC,YAAY,KAAK,CAAC,EAAE,CAAC;QACxF,MAAM,CAAC,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC;IAC5C,CAAC;IACD,IAAI,OAAO,MAAM,CAAC,WAAW,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC;QAAE,MAAM,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;IAC3H,IAAI,OAAO,MAAM,CAAC,UAAU,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC;QAAE,MAAM,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;IACvH,OAAO,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;AAC7D,CAAC"}
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
import type { FpsVec3 } from '../runtime-data-types.js';
|
|
2
|
+
export declare const EDITOR_SHADOW_STATIC_AUTHORING_ENABLED: boolean;
|
|
3
|
+
export declare const EDITOR_SHADOW_OBJECT_ADVANCED_PARAMS_ENABLED: boolean;
|
|
4
|
+
export type EditorShadowCastMode = 'inherit' | 'none' | 'enabled' | 'auto';
|
|
5
|
+
export type EditorShadowReceiveMode = 'inherit' | 'none' | 'enabled' | 'auto';
|
|
6
|
+
export type EditorShadowMode = 'inherit' | 'none' | 'dynamic' | 'static' | 'blob' | 'projected' | 'auto';
|
|
7
|
+
export type EditorShadowResolvedMode = Exclude<EditorShadowMode, 'inherit' | 'auto'>;
|
|
8
|
+
export type EditorShadowQuality = 'inherit' | 'low' | 'medium' | 'high' | 'ultra';
|
|
9
|
+
export type EditorShadowResolvedQuality = Exclude<EditorShadowQuality, 'inherit'>;
|
|
10
|
+
export type EditorShadowLightMode = 'inherit' | 'scene-main' | 'nearest' | 'explicit';
|
|
11
|
+
export interface EditorShadowLightSettings {
|
|
12
|
+
mode?: EditorShadowLightMode;
|
|
13
|
+
lightId?: string;
|
|
14
|
+
}
|
|
15
|
+
export interface EditorShadowParams {
|
|
16
|
+
opacity?: number;
|
|
17
|
+
softness?: number;
|
|
18
|
+
bias?: number;
|
|
19
|
+
normalBias?: number;
|
|
20
|
+
maxDistance?: number;
|
|
21
|
+
resolution?: 512 | 1024 | 2048 | 4096;
|
|
22
|
+
cascadeCount?: 1 | 2 | 4;
|
|
23
|
+
bakeSamples?: number;
|
|
24
|
+
blurKernel?: number;
|
|
25
|
+
}
|
|
26
|
+
export interface EditorShadowSettings {
|
|
27
|
+
cast?: EditorShadowCastMode;
|
|
28
|
+
receive?: EditorShadowReceiveMode;
|
|
29
|
+
mode?: EditorShadowMode;
|
|
30
|
+
quality?: EditorShadowQuality;
|
|
31
|
+
light?: EditorShadowLightSettings;
|
|
32
|
+
params?: EditorShadowParams;
|
|
33
|
+
}
|
|
34
|
+
export interface EditorShadowResolvedParams {
|
|
35
|
+
opacity: number;
|
|
36
|
+
softness: number;
|
|
37
|
+
bias: number;
|
|
38
|
+
normalBias: number;
|
|
39
|
+
maxDistance: number;
|
|
40
|
+
resolution: 512 | 1024 | 2048 | 4096;
|
|
41
|
+
cascadeCount: 1 | 2 | 4;
|
|
42
|
+
bakeSamples: number;
|
|
43
|
+
blurKernel: number;
|
|
44
|
+
}
|
|
45
|
+
export type EditorShadowDiagnosticSeverity = 'info' | 'warning' | 'error';
|
|
46
|
+
export type EditorShadowDiagnosticCode = 'shadow.receiverNotFound' | 'shadow.lightNotFound' | 'shadow.staticStale' | 'shadow.costHigh' | 'shadow.invalidTarget' | 'shadow.invalidSettings' | 'shadow.materialUnsupported' | 'shadow.paramsIgnored';
|
|
47
|
+
export interface EditorShadowDiagnostic {
|
|
48
|
+
code: EditorShadowDiagnosticCode;
|
|
49
|
+
severity: EditorShadowDiagnosticSeverity;
|
|
50
|
+
message: string;
|
|
51
|
+
casterId?: string;
|
|
52
|
+
receiverId?: string;
|
|
53
|
+
lightId?: string;
|
|
54
|
+
details?: Record<string, unknown>;
|
|
55
|
+
}
|
|
56
|
+
export type EditorShadowPlanBackend = 'none' | 'dynamic-map' | 'static-baked' | 'blob' | 'projected';
|
|
57
|
+
export interface EditorShadowResolvedPlan {
|
|
58
|
+
casterId: string;
|
|
59
|
+
receiverIds: string[];
|
|
60
|
+
lightId?: string;
|
|
61
|
+
backend: EditorShadowPlanBackend;
|
|
62
|
+
mode: EditorShadowResolvedMode;
|
|
63
|
+
quality: EditorShadowResolvedQuality;
|
|
64
|
+
params: EditorShadowResolvedParams;
|
|
65
|
+
stale?: boolean;
|
|
66
|
+
diagnostics: EditorShadowDiagnostic[];
|
|
67
|
+
}
|
|
68
|
+
export interface EditorShadowReceiverCandidate {
|
|
69
|
+
receiverId: string;
|
|
70
|
+
source: 'explicit' | 'prefab' | 'auto' | 'scene-default';
|
|
71
|
+
score: number;
|
|
72
|
+
boundsCenter?: FpsVec3;
|
|
73
|
+
active?: boolean;
|
|
74
|
+
visible?: boolean;
|
|
75
|
+
receive?: EditorShadowReceiveMode;
|
|
76
|
+
suitability?: {
|
|
77
|
+
score?: number;
|
|
78
|
+
overlap?: number;
|
|
79
|
+
distance?: number;
|
|
80
|
+
material?: string;
|
|
81
|
+
light?: string;
|
|
82
|
+
reasons?: string[];
|
|
83
|
+
};
|
|
84
|
+
diagnostics?: EditorShadowDiagnostic[];
|
|
85
|
+
}
|
|
86
|
+
export interface EditorShadowStaticBinding {
|
|
87
|
+
id: string;
|
|
88
|
+
ownerCasterId: string;
|
|
89
|
+
receiverId: string;
|
|
90
|
+
lightId?: string;
|
|
91
|
+
textureAssetId?: string;
|
|
92
|
+
projectionNodeId?: string;
|
|
93
|
+
visibleWhenOwnerVisible: true;
|
|
94
|
+
staleWhenOwnerTransformChanges: true;
|
|
95
|
+
staleWhenLightChanges: true;
|
|
96
|
+
generatedAt: string;
|
|
97
|
+
sourceHash: string;
|
|
98
|
+
}
|
|
99
|
+
//# sourceMappingURL=shadow-types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shadow-types.d.ts","sourceRoot":"","sources":["../../src/rendering/shadow-types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
// Static baked shadows remain readable/runtime-compatible, but the authoring
|
|
2
|
+
// entry points are paused while Shadow System V2 continues to stabilize.
|
|
3
|
+
export const EDITOR_SHADOW_STATIC_AUTHORING_ENABLED = false;
|
|
4
|
+
export const EDITOR_SHADOW_OBJECT_ADVANCED_PARAMS_ENABLED = false;
|
|
5
|
+
//# sourceMappingURL=shadow-types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shadow-types.js","sourceRoot":"","sources":["../../src/rendering/shadow-types.ts"],"names":[],"mappings":"AAEA,6EAA6E;AAC7E,yEAAyE;AACzE,MAAM,CAAC,MAAM,sCAAsC,GAAY,KAAK,CAAC;AACrE,MAAM,CAAC,MAAM,4CAA4C,GAAY,KAAK,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shadow-validation.d.ts","sourceRoot":"","sources":["../../src/rendering/shadow-validation.ts"],"names":[],"mappings":"AA0BA,wBAAgB,kCAAkC,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,SAAa,GAAG,IAAI,CAU1F;AAED,wBAAgB,sCAAsC,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,SAAiB,GAAG,IAAI,CAsBlG"}
|
|
@@ -0,0 +1,166 @@
|
|
|
1
|
+
import { isEditorShadowCastMode, isEditorShadowLightMode, isEditorShadowMode, isEditorShadowQuality, isEditorShadowReceiveMode, } from './shadow-settings.js';
|
|
2
|
+
const SHADOW_FIELDS = new Set(['cast', 'receive', 'mode', 'quality', 'light', 'params']);
|
|
3
|
+
const LIGHT_FIELDS = new Set(['mode', 'lightId']);
|
|
4
|
+
const PARAM_FIELDS = new Set([
|
|
5
|
+
'opacity', 'softness', 'bias', 'normalBias', 'maxDistance',
|
|
6
|
+
'resolution', 'cascadeCount', 'bakeSamples', 'blurKernel',
|
|
7
|
+
]);
|
|
8
|
+
const RESOLVED_PLAN_FIELDS = new Set([
|
|
9
|
+
'casterId', 'receiverIds', 'lightId', 'backend', 'mode', 'quality', 'params', 'stale', 'diagnostics',
|
|
10
|
+
]);
|
|
11
|
+
const RESOLVED_PLAN_BACKENDS = new Set(['none', 'dynamic-map', 'static-baked', 'blob', 'projected']);
|
|
12
|
+
const RESOLVED_PLAN_MODES = new Set(['none', 'dynamic', 'static', 'blob', 'projected']);
|
|
13
|
+
const RESOLVED_PLAN_QUALITIES = new Set(['low', 'medium', 'high', 'ultra']);
|
|
14
|
+
const DIAGNOSTIC_FIELDS = new Set(['code', 'severity', 'message', 'casterId', 'receiverId', 'lightId', 'details']);
|
|
15
|
+
const DIAGNOSTIC_CODES = new Set([
|
|
16
|
+
'shadow.receiverNotFound', 'shadow.lightNotFound', 'shadow.staticStale', 'shadow.costHigh',
|
|
17
|
+
'shadow.invalidTarget', 'shadow.invalidSettings', 'shadow.materialUnsupported', 'shadow.paramsIgnored',
|
|
18
|
+
]);
|
|
19
|
+
export function assertEditorShadowSettingsContract(value, path = '$.shadow') {
|
|
20
|
+
const shadow = readRecord(value);
|
|
21
|
+
if (!shadow)
|
|
22
|
+
throw schemaError('schema.invalidType', path);
|
|
23
|
+
assertKnownFields(shadow, SHADOW_FIELDS, path);
|
|
24
|
+
if ('cast' in shadow && !isEditorShadowCastMode(shadow.cast))
|
|
25
|
+
throw schemaError('schema.invalidValue', `${path}.cast`);
|
|
26
|
+
if ('receive' in shadow && !isEditorShadowReceiveMode(shadow.receive))
|
|
27
|
+
throw schemaError('schema.invalidValue', `${path}.receive`);
|
|
28
|
+
if ('mode' in shadow && !isEditorShadowMode(shadow.mode))
|
|
29
|
+
throw schemaError('schema.invalidValue', `${path}.mode`);
|
|
30
|
+
if ('quality' in shadow && !isEditorShadowQuality(shadow.quality))
|
|
31
|
+
throw schemaError('schema.invalidValue', `${path}.quality`);
|
|
32
|
+
if ('light' in shadow)
|
|
33
|
+
assertShadowLight(shadow.light, `${path}.light`);
|
|
34
|
+
if ('params' in shadow)
|
|
35
|
+
assertShadowParams(shadow.params, `${path}.params`);
|
|
36
|
+
}
|
|
37
|
+
export function assertEditorShadowResolvedPlanContract(value, path = '$.shadowPlan') {
|
|
38
|
+
const plan = readRecord(value);
|
|
39
|
+
if (!plan)
|
|
40
|
+
throw schemaError('schema.invalidType', path);
|
|
41
|
+
assertKnownFields(plan, RESOLVED_PLAN_FIELDS, path);
|
|
42
|
+
assertNonEmptyString(plan.casterId, `${path}.casterId`);
|
|
43
|
+
assertStringArray(plan.receiverIds, `${path}.receiverIds`);
|
|
44
|
+
if ('lightId' in plan)
|
|
45
|
+
assertNonEmptyString(plan.lightId, `${path}.lightId`);
|
|
46
|
+
if (!RESOLVED_PLAN_BACKENDS.has(plan.backend))
|
|
47
|
+
throw schemaError('schema.invalidValue', `${path}.backend`);
|
|
48
|
+
if (!RESOLVED_PLAN_MODES.has(plan.mode))
|
|
49
|
+
throw schemaError('schema.invalidValue', `${path}.mode`);
|
|
50
|
+
if (!RESOLVED_PLAN_QUALITIES.has(plan.quality))
|
|
51
|
+
throw schemaError('schema.invalidValue', `${path}.quality`);
|
|
52
|
+
const expectedMode = {
|
|
53
|
+
none: 'none',
|
|
54
|
+
'dynamic-map': 'dynamic',
|
|
55
|
+
'static-baked': 'static',
|
|
56
|
+
blob: 'blob',
|
|
57
|
+
projected: 'projected',
|
|
58
|
+
}[plan.backend];
|
|
59
|
+
if (expectedMode !== plan.mode)
|
|
60
|
+
throw schemaError('schema.invalidValue', `${path}.mode`);
|
|
61
|
+
assertResolvedShadowParams(plan.params, `${path}.params`);
|
|
62
|
+
if ('stale' in plan && typeof plan.stale !== 'boolean')
|
|
63
|
+
throw schemaError('schema.invalidType', `${path}.stale`);
|
|
64
|
+
if (!Array.isArray(plan.diagnostics))
|
|
65
|
+
throw schemaError('schema.invalidType', `${path}.diagnostics`);
|
|
66
|
+
plan.diagnostics.forEach((value, index) => assertShadowDiagnostic(value, `${path}.diagnostics[${index}]`));
|
|
67
|
+
}
|
|
68
|
+
function assertResolvedShadowParams(value, path) {
|
|
69
|
+
const params = readRecord(value);
|
|
70
|
+
if (!params)
|
|
71
|
+
throw schemaError('schema.invalidType', path);
|
|
72
|
+
assertKnownFields(params, PARAM_FIELDS, path);
|
|
73
|
+
for (const field of ['opacity', 'softness', 'bias', 'normalBias', 'maxDistance', 'bakeSamples', 'blurKernel']) {
|
|
74
|
+
if (!(field in params))
|
|
75
|
+
throw schemaError('schema.missingField', `${path}.${field}`);
|
|
76
|
+
assertOptionalNumber(params, field, path, number => Number.isFinite(number));
|
|
77
|
+
}
|
|
78
|
+
if (![512, 1024, 2048, 4096].includes(params.resolution))
|
|
79
|
+
throw schemaError('schema.invalidValue', `${path}.resolution`);
|
|
80
|
+
if (![1, 2, 4].includes(params.cascadeCount))
|
|
81
|
+
throw schemaError('schema.invalidValue', `${path}.cascadeCount`);
|
|
82
|
+
}
|
|
83
|
+
function assertShadowDiagnostic(value, path) {
|
|
84
|
+
const diagnostic = readRecord(value);
|
|
85
|
+
if (!diagnostic)
|
|
86
|
+
throw schemaError('schema.invalidType', path);
|
|
87
|
+
assertKnownFields(diagnostic, DIAGNOSTIC_FIELDS, path);
|
|
88
|
+
if (!DIAGNOSTIC_CODES.has(diagnostic.code))
|
|
89
|
+
throw schemaError('schema.invalidValue', `${path}.code`);
|
|
90
|
+
if (!['info', 'warning', 'error'].includes(diagnostic.severity))
|
|
91
|
+
throw schemaError('schema.invalidValue', `${path}.severity`);
|
|
92
|
+
assertNonEmptyString(diagnostic.message, `${path}.message`);
|
|
93
|
+
for (const field of ['casterId', 'receiverId', 'lightId']) {
|
|
94
|
+
if (field in diagnostic)
|
|
95
|
+
assertNonEmptyString(diagnostic[field], `${path}.${field}`);
|
|
96
|
+
}
|
|
97
|
+
if ('details' in diagnostic && !readRecord(diagnostic.details))
|
|
98
|
+
throw schemaError('schema.invalidType', `${path}.details`);
|
|
99
|
+
}
|
|
100
|
+
function assertStringArray(value, path) {
|
|
101
|
+
if (!Array.isArray(value))
|
|
102
|
+
throw schemaError('schema.invalidType', path);
|
|
103
|
+
value.forEach((entry, index) => assertNonEmptyString(entry, `${path}[${index}]`));
|
|
104
|
+
}
|
|
105
|
+
function assertNonEmptyString(value, path) {
|
|
106
|
+
if (typeof value !== 'string' || !value.trim())
|
|
107
|
+
throw schemaError('schema.invalidValue', path);
|
|
108
|
+
}
|
|
109
|
+
function assertShadowLight(value, path) {
|
|
110
|
+
const light = readRecord(value);
|
|
111
|
+
if (!light)
|
|
112
|
+
throw schemaError('schema.invalidType', path);
|
|
113
|
+
assertKnownFields(light, LIGHT_FIELDS, path);
|
|
114
|
+
if ('mode' in light && !isEditorShadowLightMode(light.mode))
|
|
115
|
+
throw schemaError('schema.invalidValue', `${path}.mode`);
|
|
116
|
+
if ('lightId' in light && (typeof light.lightId !== 'string' || !light.lightId.trim())) {
|
|
117
|
+
throw schemaError('schema.invalidValue', `${path}.lightId`);
|
|
118
|
+
}
|
|
119
|
+
if (light.mode === 'explicit' && (typeof light.lightId !== 'string' || !light.lightId.trim())) {
|
|
120
|
+
throw schemaError('schema.invalidValue', `${path}.lightId`);
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
function assertShadowParams(value, path) {
|
|
124
|
+
const params = readRecord(value);
|
|
125
|
+
if (!params)
|
|
126
|
+
throw schemaError('schema.invalidType', path);
|
|
127
|
+
assertKnownFields(params, PARAM_FIELDS, path);
|
|
128
|
+
assertOptionalNumber(params, 'opacity', path, number => number >= 0 && number <= 1);
|
|
129
|
+
assertOptionalNumber(params, 'softness', path, number => number >= 0);
|
|
130
|
+
assertOptionalNumber(params, 'bias', path, () => true);
|
|
131
|
+
assertOptionalNumber(params, 'normalBias', path, () => true);
|
|
132
|
+
assertOptionalNumber(params, 'maxDistance', path, number => number > 0);
|
|
133
|
+
assertOptionalNumber(params, 'bakeSamples', path, number => number > 0);
|
|
134
|
+
assertOptionalNumber(params, 'blurKernel', path, number => number >= 0);
|
|
135
|
+
if ('resolution' in params && ![512, 1024, 2048, 4096].includes(params.resolution)) {
|
|
136
|
+
throw schemaError('schema.invalidValue', `${path}.resolution`);
|
|
137
|
+
}
|
|
138
|
+
if ('cascadeCount' in params && ![1, 2, 4].includes(params.cascadeCount)) {
|
|
139
|
+
throw schemaError('schema.invalidValue', `${path}.cascadeCount`);
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
function assertOptionalNumber(record, field, path, predicate) {
|
|
143
|
+
if (!(field in record))
|
|
144
|
+
return;
|
|
145
|
+
const value = record[field];
|
|
146
|
+
if (typeof value !== 'number' || !Number.isFinite(value) || !predicate(value)) {
|
|
147
|
+
throw schemaError('schema.invalidValue', `${path}.${field}`);
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
function assertKnownFields(record, fields, path) {
|
|
151
|
+
for (const key of Object.keys(record)) {
|
|
152
|
+
if (!fields.has(key))
|
|
153
|
+
throw schemaError('schema.deprecatedField', `${path}.${key}`);
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
function schemaError(code, path) {
|
|
157
|
+
const error = new Error(`${code}: ${path}`);
|
|
158
|
+
Object.assign(error, { code, path });
|
|
159
|
+
return error;
|
|
160
|
+
}
|
|
161
|
+
function readRecord(value) {
|
|
162
|
+
return value && typeof value === 'object' && !Array.isArray(value)
|
|
163
|
+
? value
|
|
164
|
+
: null;
|
|
165
|
+
}
|
|
166
|
+
//# sourceMappingURL=shadow-validation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shadow-validation.js","sourceRoot":"","sources":["../../src/rendering/shadow-validation.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"value.d.ts","sourceRoot":"","sources":["../../src/rendering/value.ts"],"names":[],"mappings":"AAAA,wBAAgB,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAI9E"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"value.js","sourceRoot":"","sources":["../../src/rendering/value.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,UAAU,CAAC,KAAc;IACvC,OAAO,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAChE,CAAC,CAAC,KAAgC;QAClC,CAAC,CAAC,SAAS,CAAC;AAChB,CAAC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { FpsRuntimeData } from './runtime-data-types.js';
|
|
2
|
+
/** Canonical Runtime Data service identity shared by Engine and Runtime Plugins. */
|
|
3
|
+
export declare const FPS_RUNTIME_DATA: import("@fps-games/plugin-sdk").FpsServiceToken<FpsRuntimeData<import("./runtime-data-types.js").FpsRuntimeAsset, import("./runtime-data-types.js").FpsRuntimeSceneNode>>;
|
|
4
|
+
//# sourceMappingURL=runtime-data-token.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runtime-data-token.d.ts","sourceRoot":"","sources":["../src/runtime-data-token.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAE9D,oFAAoF;AACpF,eAAO,MAAM,gBAAgB,2KAA4D,CAAC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { defineFpsServiceToken } from '@fps-games/plugin-sdk/runtime';
|
|
2
|
+
/** Canonical Runtime Data service identity shared by Engine and Runtime Plugins. */
|
|
3
|
+
export const FPS_RUNTIME_DATA = defineFpsServiceToken('fps.runtime.data');
|
|
4
|
+
//# sourceMappingURL=runtime-data-token.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runtime-data-token.js","sourceRoot":"","sources":["../src/runtime-data-token.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AAGtE,oFAAoF;AACpF,MAAM,CAAC,MAAM,gBAAgB,GAAG,qBAAqB,CAAiB,kBAAkB,CAAC,CAAC"}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
export interface FpsVec3 {
|
|
2
|
+
readonly x: number;
|
|
3
|
+
readonly y: number;
|
|
4
|
+
readonly z: number;
|
|
5
|
+
}
|
|
6
|
+
export type FpsRuntimeTransformSnapshot = {
|
|
7
|
+
readonly mode?: 'trs';
|
|
8
|
+
readonly position: Readonly<FpsVec3>;
|
|
9
|
+
readonly rotation: Readonly<FpsVec3>;
|
|
10
|
+
readonly scale: Readonly<FpsVec3>;
|
|
11
|
+
} | {
|
|
12
|
+
readonly mode: 'matrix';
|
|
13
|
+
readonly matrix: readonly [
|
|
14
|
+
number,
|
|
15
|
+
number,
|
|
16
|
+
number,
|
|
17
|
+
number,
|
|
18
|
+
number,
|
|
19
|
+
number,
|
|
20
|
+
number,
|
|
21
|
+
number,
|
|
22
|
+
number,
|
|
23
|
+
number,
|
|
24
|
+
number,
|
|
25
|
+
number,
|
|
26
|
+
number,
|
|
27
|
+
number,
|
|
28
|
+
number,
|
|
29
|
+
number
|
|
30
|
+
];
|
|
31
|
+
};
|
|
32
|
+
export declare const FPS_RUNTIME_DATA_SCHEMA_VERSION: 1;
|
|
33
|
+
export interface FpsRuntimeAsset {
|
|
34
|
+
readonly id: string;
|
|
35
|
+
readonly kind: string;
|
|
36
|
+
readonly url?: string;
|
|
37
|
+
readonly metadata?: Readonly<Record<string, unknown>>;
|
|
38
|
+
}
|
|
39
|
+
export interface FpsRuntimeMaterial {
|
|
40
|
+
readonly id: string;
|
|
41
|
+
readonly kind: string;
|
|
42
|
+
readonly parameters?: Readonly<Record<string, unknown>>;
|
|
43
|
+
readonly metadata?: Readonly<Record<string, unknown>>;
|
|
44
|
+
}
|
|
45
|
+
export interface FpsRuntimeSceneNode {
|
|
46
|
+
readonly id: string;
|
|
47
|
+
readonly name?: string;
|
|
48
|
+
readonly parentId?: string | null;
|
|
49
|
+
readonly transform?: FpsRuntimeTransformSnapshot;
|
|
50
|
+
readonly active?: boolean;
|
|
51
|
+
readonly visible?: boolean;
|
|
52
|
+
readonly light?: unknown;
|
|
53
|
+
readonly shadow?: unknown;
|
|
54
|
+
readonly shadowPlan?: unknown;
|
|
55
|
+
readonly materialLightingModel?: 'lit' | 'unlit' | 'unknown';
|
|
56
|
+
readonly receiveDynamicShadows?: boolean;
|
|
57
|
+
readonly metadata?: Readonly<Record<string, unknown>>;
|
|
58
|
+
}
|
|
59
|
+
export interface FpsRuntimePluginData {
|
|
60
|
+
readonly pluginId: string;
|
|
61
|
+
readonly schemaVersion: number;
|
|
62
|
+
readonly data: unknown;
|
|
63
|
+
}
|
|
64
|
+
export interface FpsRuntimeData<TAsset extends FpsRuntimeAsset = FpsRuntimeAsset, TNode extends FpsRuntimeSceneNode = FpsRuntimeSceneNode> {
|
|
65
|
+
readonly schemaVersion: typeof FPS_RUNTIME_DATA_SCHEMA_VERSION;
|
|
66
|
+
readonly assets: readonly TAsset[];
|
|
67
|
+
readonly materials?: readonly FpsRuntimeMaterial[];
|
|
68
|
+
readonly scene: {
|
|
69
|
+
readonly nodes: readonly TNode[];
|
|
70
|
+
};
|
|
71
|
+
readonly rendering?: unknown;
|
|
72
|
+
readonly plugins?: readonly FpsRuntimePluginData[];
|
|
73
|
+
readonly metadata?: Readonly<Record<string, unknown>>;
|
|
74
|
+
}
|
|
75
|
+
export interface FpsGeneratedAssetCatalogEntry {
|
|
76
|
+
readonly assetId: string;
|
|
77
|
+
readonly url: string;
|
|
78
|
+
readonly format: `.${string}`;
|
|
79
|
+
readonly relativePath: string;
|
|
80
|
+
readonly originalFileName?: string;
|
|
81
|
+
}
|
|
82
|
+
export type FpsGeneratedAssetCatalog = Readonly<Record<string, FpsGeneratedAssetCatalogEntry>>;
|
|
83
|
+
//# sourceMappingURL=runtime-data-types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runtime-data-types.d.ts","sourceRoot":"","sources":["../src/runtime-data-types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runtime-data-types.js","sourceRoot":"","sources":["../src/runtime-data-types.ts"],"names":[],"mappings":"AAuBA,MAAM,CAAC,MAAM,+BAA+B,GAAG,CAAU,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { FpsRuntimeAsset, FpsRuntimeData, FpsRuntimeMaterial, FpsRuntimePluginData } from './runtime-data-types.js';
|
|
2
|
+
export declare class FpsRuntimeSchemaError extends Error {
|
|
3
|
+
readonly receivedVersion: unknown;
|
|
4
|
+
readonly code = "runtime.schema.unsupported";
|
|
5
|
+
constructor(receivedVersion: unknown);
|
|
6
|
+
}
|
|
7
|
+
export declare class FpsRuntimeDataError extends Error {
|
|
8
|
+
readonly path: string;
|
|
9
|
+
readonly reason: string;
|
|
10
|
+
readonly code = "runtime.data.invalid";
|
|
11
|
+
constructor(path: string, reason: string);
|
|
12
|
+
}
|
|
13
|
+
export declare function createFpsRuntimeDataSnapshot(value: unknown): FpsRuntimeData;
|
|
14
|
+
export declare function createFpsRuntimeAssetsSnapshot(value: unknown): readonly FpsRuntimeAsset[];
|
|
15
|
+
export declare function createFpsRuntimeMaterialsSnapshot(value: unknown): readonly FpsRuntimeMaterial[];
|
|
16
|
+
export declare function createFpsRuntimeRenderingSnapshot(value: unknown): unknown;
|
|
17
|
+
export declare function getFpsRuntimePluginData(data: FpsRuntimeData, pluginId: string): FpsRuntimePluginData | null;
|
|
18
|
+
//# sourceMappingURL=runtime-data.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runtime-data.d.ts","sourceRoot":"","sources":["../src/runtime-data.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,eAAe,EACf,cAAc,EACd,kBAAkB,EAClB,oBAAoB,EACrB,MAAM,yBAAyB,CAAC;AAQjC,qBAAa,qBAAsB,SAAQ,KAAK;IAElC,QAAQ,CAAC,eAAe,EAAE,OAAO;IAD7C,QAAQ,CAAC,IAAI,gCAAgC;gBACxB,eAAe,EAAE,OAAO;CAI9C;AAED,qBAAa,mBAAoB,SAAQ,KAAK;IAEhC,QAAQ,CAAC,IAAI,EAAE,MAAM;IAAE,QAAQ,CAAC,MAAM,EAAE,MAAM;IAD1D,QAAQ,CAAC,IAAI,0BAA0B;gBAClB,IAAI,EAAE,MAAM,EAAW,MAAM,EAAE,MAAM;CAI3D;AAkHD,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,OAAO,GAAG,cAAc,CAI3E;AAED,wBAAgB,8BAA8B,CAAC,KAAK,EAAE,OAAO,GAAG,SAAS,eAAe,EAAE,CAIzF;AAED,wBAAgB,iCAAiC,CAAC,KAAK,EAAE,OAAO,GAAG,SAAS,kBAAkB,EAAE,CAI/F;AAED,wBAAgB,iCAAiC,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAIzE;AAED,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,GAAG,oBAAoB,GAAG,IAAI,CAG3G"}
|