@fps-games/engine 0.0.1-beta.2 → 0.0.1-beta.20
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 +45 -0
- package/dist/asset-resource.d.ts.map +1 -0
- package/dist/asset-resource.js +147 -0
- package/dist/asset-resource.js.map +1 -0
- package/dist/babylon/camera.d.ts +25 -0
- package/dist/babylon/camera.d.ts.map +1 -0
- package/dist/babylon/camera.js +149 -0
- package/dist/babylon/camera.js.map +1 -0
- package/dist/babylon/frame-pump.d.ts +27 -0
- package/dist/babylon/frame-pump.d.ts.map +1 -0
- package/dist/babylon/frame-pump.js +90 -0
- package/dist/babylon/frame-pump.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/lighting-controller.d.ts.map +1 -1
- package/dist/babylon/lighting-controller.js +162 -16
- package/dist/babylon/lighting-controller.js.map +1 -1
- 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 +10 -0
- package/dist/babylon/plugin-contract.js.map +1 -0
- package/dist/babylon/renderer/asset-container-instantiation.d.ts +39 -0
- package/dist/babylon/renderer/asset-container-instantiation.d.ts.map +1 -0
- package/dist/babylon/renderer/asset-container-instantiation.js +287 -0
- package/dist/babylon/renderer/asset-container-instantiation.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 +358 -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 +26 -0
- package/dist/babylon/renderer/index.d.ts.map +1 -0
- package/dist/babylon/renderer/index.js +26 -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 +21 -0
- package/dist/babylon/renderer/material-owner-candidates.d.ts.map +1 -0
- package/dist/babylon/renderer/material-owner-candidates.js +217 -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 +87 -0
- package/dist/babylon/renderer/shadows/dynamic-shadow-system.d.ts.map +1 -0
- package/dist/babylon/renderer/shadows/dynamic-shadow-system.js +659 -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 +69 -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 +847 -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 +4533 -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/world-rendering-controller.d.ts +29 -0
- package/dist/babylon/renderer/world-rendering-controller.d.ts.map +1 -0
- package/dist/babylon/renderer/world-rendering-controller.js +183 -0
- package/dist/babylon/renderer/world-rendering-controller.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 +706 -0
- package/dist/babylon/renderer-controller.js.map +1 -0
- package/dist/babylon/scene-renderer.d.ts +20 -0
- package/dist/babylon/scene-renderer.d.ts.map +1 -0
- package/dist/babylon/scene-renderer.js +58 -0
- package/dist/babylon/scene-renderer.js.map +1 -0
- package/dist/babylon.d.ts +7 -0
- package/dist/babylon.d.ts.map +1 -1
- package/dist/babylon.js +7 -0
- package/dist/babylon.js.map +1 -1
- package/dist/build-info.json +4 -4
- package/dist/camera.d.ts +25 -0
- package/dist/camera.d.ts.map +1 -0
- package/dist/camera.js +68 -0
- package/dist/camera.js.map +1 -0
- 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/config.d.ts +9 -3
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +21 -0
- package/dist/config.js.map +1 -1
- package/dist/frame.d.ts +32 -0
- package/dist/frame.d.ts.map +1 -0
- package/dist/frame.js +54 -0
- package/dist/frame.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 +16 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +16 -1
- package/dist/index.js.map +1 -1
- package/dist/lighting.d.ts +13 -5
- package/dist/lighting.d.ts.map +1 -1
- package/dist/lighting.js +11 -5
- package/dist/lighting.js.map +1 -1
- package/dist/material-owner.d.ts +141 -0
- package/dist/material-owner.d.ts.map +1 -0
- package/dist/material-owner.js +552 -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 +33 -0
- package/dist/runtime-scene-resolvers.d.ts.map +1 -0
- package/dist/runtime-scene-resolvers.js +36 -0
- package/dist/runtime-scene-resolvers.js.map +1 -0
- package/dist/scene-artifact-types.d.ts +385 -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 +20 -0
- package/dist/scene-artifact-validation.d.ts.map +1 -0
- package/dist/scene-artifact-validation.js +1402 -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 +51 -1
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { MaterialOwnerCandidate, MaterialOwnerPointerEvidence } from '../../material-owner.js';
|
|
2
|
+
export interface BabylonMaterialOwnerTarget {
|
|
3
|
+
/** Runtime mesh that participates in the imported asset hierarchy. */
|
|
4
|
+
runtimeNode: any;
|
|
5
|
+
/** Object whose material property is writable; sourceMesh for InstancedMesh. */
|
|
6
|
+
materialOwner: any;
|
|
7
|
+
material: any;
|
|
8
|
+
}
|
|
9
|
+
export interface CollectBabylonMaterialOwnerCandidatesOptions {
|
|
10
|
+
isTraversalBoundary?: (node: any, rootNode: any) => boolean;
|
|
11
|
+
readPathSegment?: (node: any) => string | null;
|
|
12
|
+
/** Optional authored pointer evidence retained by an importer for InstancedMesh nodes. */
|
|
13
|
+
readInstanceOwnerEvidence?: (node: any, rootNode: any) => MaterialOwnerPointerEvidence | null;
|
|
14
|
+
includeNonMaterialTargets?: boolean;
|
|
15
|
+
}
|
|
16
|
+
export declare function collectBabylonMaterialOwnerCandidates(rootNode: any, options?: CollectBabylonMaterialOwnerCandidatesOptions): MaterialOwnerCandidate<BabylonMaterialOwnerTarget>[];
|
|
17
|
+
export declare function resolveBabylonEffectiveMaterialOwner(node: any): any | null;
|
|
18
|
+
export declare function isBabylonInstancedMesh(node: any): boolean;
|
|
19
|
+
export declare function readBabylonGltfPointers(value: unknown): string[];
|
|
20
|
+
export declare function buildBabylonMaterialOwnerPath(node: any, rootNode: any, options?: Pick<CollectBabylonMaterialOwnerCandidatesOptions, 'isTraversalBoundary' | 'readPathSegment'>): string | null;
|
|
21
|
+
//# sourceMappingURL=material-owner-candidates.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"material-owner-candidates.d.ts","sourceRoot":"","sources":["../../../src/babylon/renderer/material-owner-candidates.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,sBAAsB,EACtB,4BAA4B,EAC7B,MAAM,yBAAyB,CAAC;AAEjC,MAAM,WAAW,0BAA0B;IACzC,sEAAsE;IACtE,WAAW,EAAE,GAAG,CAAC;IACjB,gFAAgF;IAChF,aAAa,EAAE,GAAG,CAAC;IACnB,QAAQ,EAAE,GAAG,CAAC;CACf;AAED,MAAM,WAAW,4CAA4C;IAC3D,mBAAmB,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,KAAK,OAAO,CAAC;IAC5D,eAAe,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,MAAM,GAAG,IAAI,CAAC;IAC/C,0FAA0F;IAC1F,yBAAyB,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,KAAK,4BAA4B,GAAG,IAAI,CAAC;IAC9F,yBAAyB,CAAC,EAAE,OAAO,CAAC;CACrC;AAED,wBAAgB,qCAAqC,CACnD,QAAQ,EAAE,GAAG,EACb,OAAO,GAAE,4CAAiD,GACzD,sBAAsB,CAAC,0BAA0B,CAAC,EAAE,CAsDtD;AAED,wBAAgB,oCAAoC,CAAC,IAAI,EAAE,GAAG,GAAG,GAAG,GAAG,IAAI,CAY1E;AAED,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,GAAG,GAAG,OAAO,CAMzD;AAOD,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,EAAE,CAShE;AAED,wBAAgB,6BAA6B,CAC3C,IAAI,EAAE,GAAG,EACT,QAAQ,EAAE,GAAG,EACb,OAAO,GAAE,IAAI,CAAC,4CAA4C,EAAE,qBAAqB,GAAG,iBAAiB,CAAM,GAC1G,MAAM,GAAG,IAAI,CAaf"}
|
|
@@ -0,0 +1,217 @@
|
|
|
1
|
+
export function collectBabylonMaterialOwnerCandidates(rootNode, options = {}) {
|
|
2
|
+
if (!rootNode)
|
|
3
|
+
return [];
|
|
4
|
+
const candidates = [];
|
|
5
|
+
const visit = (node, isRoot = false, structuralPath = []) => {
|
|
6
|
+
if (!isRoot && options.isTraversalBoundary?.(node, rootNode))
|
|
7
|
+
return;
|
|
8
|
+
const materialOwner = resolveBabylonEffectiveMaterialOwner(node);
|
|
9
|
+
const material = materialOwner?.material ?? null;
|
|
10
|
+
if (materialOwner && (material || options.includeNonMaterialTargets)) {
|
|
11
|
+
const canonicalPath = buildBabylonMaterialOwnerPath(node, rootNode, options);
|
|
12
|
+
if (canonicalPath != null) {
|
|
13
|
+
const sourceOwnerPath = materialOwner !== node
|
|
14
|
+
? buildBabylonMaterialOwnerPath(materialOwner, rootNode, options)
|
|
15
|
+
?? readBabylonMaterialOwnerSegment(materialOwner, options)
|
|
16
|
+
: null;
|
|
17
|
+
const pointerEvidence = collectBabylonMaterialOwnerPointerEvidence(node, rootNode, materialOwner === node ? material : null);
|
|
18
|
+
const sourceOwnerEvidence = materialOwner !== node
|
|
19
|
+
? collectBabylonMaterialOwnerPointerEvidence(materialOwner, rootNode, material)
|
|
20
|
+
: null;
|
|
21
|
+
const instanceOwnerEvidence = materialOwner !== node
|
|
22
|
+
? options.readInstanceOwnerEvidence?.(node, rootNode) ?? null
|
|
23
|
+
: null;
|
|
24
|
+
candidates.push({
|
|
25
|
+
candidateId: [
|
|
26
|
+
canonicalPath || '__root__',
|
|
27
|
+
`structure:${structuralPath.length > 0 ? structuralPath.join('.') : 'root'}`,
|
|
28
|
+
isFiniteIndex(pointerEvidence.nodeIndex) ? `node:${pointerEvidence.nodeIndex}` : 'node:-',
|
|
29
|
+
isFiniteIndex(pointerEvidence.meshIndex)
|
|
30
|
+
? `mesh:${pointerEvidence.meshIndex}:${pointerEvidence.primitiveIndex ?? '-'}`
|
|
31
|
+
: 'mesh:-',
|
|
32
|
+
].join('|'),
|
|
33
|
+
target: { runtimeNode: node, materialOwner, material },
|
|
34
|
+
canonicalPath,
|
|
35
|
+
...pointerEvidence,
|
|
36
|
+
...(sourceOwnerPath != null ? {
|
|
37
|
+
sourceOwnerAliases: [sourceOwnerPath],
|
|
38
|
+
instanceOwnerAliases: [canonicalPath],
|
|
39
|
+
...(sourceOwnerEvidence ? { sourceOwnerEvidence } : {}),
|
|
40
|
+
...(instanceOwnerEvidence ? { instanceOwnerEvidence } : {}),
|
|
41
|
+
isSourceOwnerAliasCandidate: true,
|
|
42
|
+
} : {}),
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
const children = node?.getChildren?.() ?? [];
|
|
47
|
+
for (let index = 0; index < children.length; index += 1) {
|
|
48
|
+
visit(children[index], false, [...structuralPath, index]);
|
|
49
|
+
}
|
|
50
|
+
};
|
|
51
|
+
visit(rootNode, true);
|
|
52
|
+
return candidates;
|
|
53
|
+
}
|
|
54
|
+
export function resolveBabylonEffectiveMaterialOwner(node) {
|
|
55
|
+
if (!node || typeof node !== 'object')
|
|
56
|
+
return null;
|
|
57
|
+
if (node.sourceMesh == null)
|
|
58
|
+
return node;
|
|
59
|
+
const seen = new Set([node]);
|
|
60
|
+
let current = node;
|
|
61
|
+
while (current?.sourceMesh != null) {
|
|
62
|
+
const sourceMesh = current.sourceMesh;
|
|
63
|
+
if (!sourceMesh || typeof sourceMesh !== 'object' || seen.has(sourceMesh))
|
|
64
|
+
return null;
|
|
65
|
+
seen.add(sourceMesh);
|
|
66
|
+
current = sourceMesh;
|
|
67
|
+
}
|
|
68
|
+
return current;
|
|
69
|
+
}
|
|
70
|
+
export function isBabylonInstancedMesh(node) {
|
|
71
|
+
if (!node || typeof node !== 'object')
|
|
72
|
+
return false;
|
|
73
|
+
const className = typeof node.getClassName === 'function' ? node.getClassName() : undefined;
|
|
74
|
+
return className === 'InstancedMesh'
|
|
75
|
+
|| node.constructor?.name === 'InstancedMesh'
|
|
76
|
+
|| hasValidBabylonSourceMesh(node);
|
|
77
|
+
}
|
|
78
|
+
function hasValidBabylonSourceMesh(node) {
|
|
79
|
+
return node?.sourceMesh != null
|
|
80
|
+
&& resolveBabylonEffectiveMaterialOwner(node) != null;
|
|
81
|
+
}
|
|
82
|
+
export function readBabylonGltfPointers(value) {
|
|
83
|
+
if (!value || typeof value !== 'object')
|
|
84
|
+
return [];
|
|
85
|
+
const metadata = value._internalMetadata?.gltf;
|
|
86
|
+
const pointers = metadata?.pointers;
|
|
87
|
+
if (typeof pointers === 'string')
|
|
88
|
+
return pointers.trim() ? [pointers.trim()] : [];
|
|
89
|
+
if (!Array.isArray(pointers))
|
|
90
|
+
return [];
|
|
91
|
+
return [...new Set(pointers.filter((pointer) => (typeof pointer === 'string' && pointer.trim().startsWith('/'))).map(pointer => pointer.trim()))].sort();
|
|
92
|
+
}
|
|
93
|
+
export function buildBabylonMaterialOwnerPath(node, rootNode, options = {}) {
|
|
94
|
+
if (!node || !rootNode || node === rootNode)
|
|
95
|
+
return '';
|
|
96
|
+
const segments = [];
|
|
97
|
+
let current = node;
|
|
98
|
+
while (current && current !== rootNode) {
|
|
99
|
+
if (options.isTraversalBoundary?.(current, rootNode))
|
|
100
|
+
return null;
|
|
101
|
+
const segment = options.readPathSegment
|
|
102
|
+
? options.readPathSegment(current)
|
|
103
|
+
: readDefaultPathSegment(current);
|
|
104
|
+
if (segment)
|
|
105
|
+
segments.push(segment);
|
|
106
|
+
current = current.parent ?? null;
|
|
107
|
+
}
|
|
108
|
+
return current === rootNode ? segments.reverse().join('/') : null;
|
|
109
|
+
}
|
|
110
|
+
function collectBabylonNodePointerEvidence(node, rootNode) {
|
|
111
|
+
let current = node;
|
|
112
|
+
let nodeIndex;
|
|
113
|
+
const nodeIndexPath = [];
|
|
114
|
+
let hasPointerEvidence = false;
|
|
115
|
+
let conflict = false;
|
|
116
|
+
while (current) {
|
|
117
|
+
const pointers = collectParsedPointers(readBabylonGltfPointers(current), /^\/nodes\/(\d+)(?:\/|$)/);
|
|
118
|
+
if (pointers.length > 0) {
|
|
119
|
+
hasPointerEvidence = true;
|
|
120
|
+
if (pointers.length > 1) {
|
|
121
|
+
conflict = true;
|
|
122
|
+
}
|
|
123
|
+
else {
|
|
124
|
+
const index = pointers[0][0];
|
|
125
|
+
if (nodeIndex == null)
|
|
126
|
+
nodeIndex = index;
|
|
127
|
+
nodeIndexPath.push(index);
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
if (current === rootNode)
|
|
131
|
+
break;
|
|
132
|
+
current = current.parent ?? null;
|
|
133
|
+
}
|
|
134
|
+
return {
|
|
135
|
+
...(nodeIndex != null ? { nodeIndex } : {}),
|
|
136
|
+
nodeIndexPath: nodeIndexPath.reverse(),
|
|
137
|
+
hasPointerEvidence,
|
|
138
|
+
conflict,
|
|
139
|
+
};
|
|
140
|
+
}
|
|
141
|
+
function collectBabylonMaterialOwnerPointerEvidence(node, rootNode, material) {
|
|
142
|
+
const pointers = readBabylonGltfPointers(node);
|
|
143
|
+
const nodeEvidence = collectBabylonNodePointerEvidence(node, rootNode);
|
|
144
|
+
const primitivePointers = collectParsedPointers(pointers, /^\/meshes\/(\d+)\/primitives\/(\d+)(?:\/|$)/);
|
|
145
|
+
const allMeshPointers = collectParsedPointers(pointers, /^\/meshes\/(\d+)(?:\/|$)/);
|
|
146
|
+
const meshIndices = [...new Set(allMeshPointers.map(pointer => pointer[0]))];
|
|
147
|
+
const primitivePointer = primitivePointers.length === 1 ? primitivePointers[0] : null;
|
|
148
|
+
const materialEvidence = material
|
|
149
|
+
? collectBabylonMaterialEvidence(material)
|
|
150
|
+
: { indices: [], conflict: false };
|
|
151
|
+
const pointerAmbiguous = primitivePointers.length > 1 && meshIndices.length === 1;
|
|
152
|
+
const pointerConflict = nodeEvidence.conflict
|
|
153
|
+
|| primitivePointers.length > 1
|
|
154
|
+
|| meshIndices.length > 1
|
|
155
|
+
|| materialEvidence.conflict;
|
|
156
|
+
const hasPointerEvidence = nodeEvidence.hasPointerEvidence
|
|
157
|
+
|| allMeshPointers.length > 0
|
|
158
|
+
|| materialEvidence.indices.length > 0;
|
|
159
|
+
return {
|
|
160
|
+
...(isFiniteIndex(nodeEvidence.nodeIndex) ? { nodeIndex: nodeEvidence.nodeIndex } : {}),
|
|
161
|
+
...(nodeEvidence.nodeIndexPath.length ? { nodeIndexPath: nodeEvidence.nodeIndexPath } : {}),
|
|
162
|
+
...(meshIndices.length === 1 ? { meshIndex: meshIndices[0] } : {}),
|
|
163
|
+
...(primitivePointer ? { primitiveIndex: primitivePointer[1] } : {}),
|
|
164
|
+
...(materialEvidence.indices.length ? { materialIndices: materialEvidence.indices } : {}),
|
|
165
|
+
hasPointerEvidence,
|
|
166
|
+
...(pointerAmbiguous ? { pointerAmbiguous: true } : {}),
|
|
167
|
+
...(pointerConflict ? { pointerConflict: true } : {}),
|
|
168
|
+
};
|
|
169
|
+
}
|
|
170
|
+
function collectBabylonMaterialEvidence(material) {
|
|
171
|
+
const materials = Array.isArray(material?.subMaterials)
|
|
172
|
+
? [material, ...material.subMaterials]
|
|
173
|
+
: [material];
|
|
174
|
+
const indices = new Set();
|
|
175
|
+
let conflict = false;
|
|
176
|
+
for (const item of materials) {
|
|
177
|
+
const itemPointers = collectParsedPointers(readBabylonGltfPointers(item), /^\/materials\/(\d+)(?:\/|$)/);
|
|
178
|
+
if (itemPointers.length > 1)
|
|
179
|
+
conflict = true;
|
|
180
|
+
for (const pointer of itemPointers)
|
|
181
|
+
indices.add(pointer[0]);
|
|
182
|
+
}
|
|
183
|
+
return { indices: [...indices].sort((a, b) => a - b), conflict };
|
|
184
|
+
}
|
|
185
|
+
function collectParsedPointers(pointers, pattern) {
|
|
186
|
+
const parsed = new Map();
|
|
187
|
+
for (const pointer of pointers) {
|
|
188
|
+
const match = pattern.exec(pointer);
|
|
189
|
+
if (!match)
|
|
190
|
+
continue;
|
|
191
|
+
const indices = match.slice(1).map(Number);
|
|
192
|
+
parsed.set(indices.join(':'), indices);
|
|
193
|
+
}
|
|
194
|
+
return [...parsed.values()].sort((left, right) => {
|
|
195
|
+
const length = Math.max(left.length, right.length);
|
|
196
|
+
for (let index = 0; index < length; index += 1) {
|
|
197
|
+
const delta = (left[index] ?? -1) - (right[index] ?? -1);
|
|
198
|
+
if (delta)
|
|
199
|
+
return delta;
|
|
200
|
+
}
|
|
201
|
+
return 0;
|
|
202
|
+
});
|
|
203
|
+
}
|
|
204
|
+
function readDefaultPathSegment(node) {
|
|
205
|
+
for (const value of [node?.name, node?.id]) {
|
|
206
|
+
if (typeof value === 'string' && value.trim())
|
|
207
|
+
return value.trim();
|
|
208
|
+
}
|
|
209
|
+
return null;
|
|
210
|
+
}
|
|
211
|
+
function readBabylonMaterialOwnerSegment(node, options) {
|
|
212
|
+
return options.readPathSegment ? options.readPathSegment(node) : readDefaultPathSegment(node);
|
|
213
|
+
}
|
|
214
|
+
function isFiniteIndex(value) {
|
|
215
|
+
return typeof value === 'number' && Number.isInteger(value) && value >= 0;
|
|
216
|
+
}
|
|
217
|
+
//# sourceMappingURL=material-owner-candidates.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"material-owner-candidates.js","sourceRoot":"","sources":["../../../src/babylon/renderer/material-owner-candidates.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/babylon/renderer/materials/index.ts"],"names":[],"mappings":"AAAA,cAAc,0BAA0B,CAAC;AACzC,cAAc,uBAAuB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/babylon/renderer/materials/index.ts"],"names":[],"mappings":"AAAA,cAAc,0BAA0B,CAAC;AACzC,cAAc,uBAAuB,CAAC"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { Color3 } from '@babylonjs/core/Maths/math.color.js';
|
|
2
|
+
import { Texture } from '@babylonjs/core/Materials/Textures/texture.js';
|
|
3
|
+
import { MaterialPluginBase } from '@babylonjs/core/Materials/materialPluginBase.js';
|
|
4
|
+
import type { ArtistMaterialProfile, ArtistMaterialProp, ArtistMaterialTextureRef, MaterialProp, MaterialRuntimeKind, MaterialValue } from '../../../material-profile.js';
|
|
5
|
+
export interface FpsBabylonMaterialRuntime {
|
|
6
|
+
readonly Color3?: typeof Color3;
|
|
7
|
+
readonly Texture?: typeof Texture;
|
|
8
|
+
readonly MaterialPluginBase?: typeof MaterialPluginBase;
|
|
9
|
+
}
|
|
10
|
+
export interface ApplyMaterialRuntimeOptions {
|
|
11
|
+
readonly babylon?: FpsBabylonMaterialRuntime | null;
|
|
12
|
+
readonly resolveTextureUrl?: (texture: ArtistMaterialTextureRef) => string | null | undefined;
|
|
13
|
+
}
|
|
14
|
+
export type ApplyArtistMaterialProfileOptions = ApplyMaterialRuntimeOptions;
|
|
15
|
+
type RuntimeScene = any;
|
|
16
|
+
export declare function resolveMaterialRuntimeKind(material: any): MaterialRuntimeKind;
|
|
17
|
+
export declare function applyMaterialValueToRuntimeMaterial(material: unknown, scene: RuntimeScene | null, path: MaterialProp, value: MaterialValue, options?: ApplyMaterialRuntimeOptions): boolean;
|
|
18
|
+
export declare function applyArtistMaterialProfileToRuntimeMaterial(material: unknown, scene: RuntimeScene | null, profile: ArtistMaterialProfile | null | undefined, options?: ApplyArtistMaterialProfileOptions): boolean;
|
|
19
|
+
/**
|
|
20
|
+
* Applies only the lightweight runtime value represented by one artist profile
|
|
21
|
+
* path. Texture ownership and shader-structure changes deliberately return
|
|
22
|
+
* false so callers can fall back to the full profile transaction.
|
|
23
|
+
*/
|
|
24
|
+
export declare function applyArtistMaterialProfileValueToRuntimeMaterial(material: unknown, scene: RuntimeScene | null, path: ArtistMaterialProp, profile: ArtistMaterialProfile | null | undefined, options?: ApplyArtistMaterialProfileOptions): boolean;
|
|
25
|
+
export declare function applyMaterialValueToRuntimeNode(ownerNode: {
|
|
26
|
+
material?: unknown;
|
|
27
|
+
} | null, scene: RuntimeScene | null, path: MaterialProp, value: MaterialValue, options?: ApplyMaterialRuntimeOptions): boolean;
|
|
28
|
+
export {};
|
|
29
|
+
//# sourceMappingURL=material-runtime.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"material-runtime.d.ts","sourceRoot":"","sources":["../../../../src/babylon/renderer/materials/material-runtime.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,qCAAqC,CAAC;AAC7D,OAAO,EAAE,OAAO,EAAE,MAAM,+CAA+C,CAAC;AACxE,OAAO,EAAE,kBAAkB,EAAE,MAAM,iDAAiD,CAAC;AACrF,OAAO,KAAK,EAEV,qBAAqB,EACrB,kBAAkB,EAClB,wBAAwB,EAExB,YAAY,EACZ,mBAAmB,EACnB,aAAa,EACd,MAAM,8BAA8B,CAAC;AAEtC,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,MAAM,CAAC;IAChC,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,OAAO,CAAC;IAClC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,OAAO,kBAAkB,CAAC;CACzD;AAED,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,CAAC,OAAO,CAAC,EAAE,yBAAyB,GAAG,IAAI,CAAC;IACpD,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAAC,OAAO,EAAE,wBAAwB,KAAK,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;CAC/F;AAED,MAAM,MAAM,iCAAiC,GAAG,2BAA2B,CAAC;AAC5E,KAAK,YAAY,GAAG,GAAG,CAAC;AAyBxB,wBAAgB,0BAA0B,CAAC,QAAQ,EAAE,GAAG,GAAG,mBAAmB,CAuB7E;AAmED,wBAAgB,mCAAmC,CACjD,QAAQ,EAAE,OAAO,EACjB,KAAK,EAAE,YAAY,GAAG,IAAI,EAC1B,IAAI,EAAE,YAAY,EAClB,KAAK,EAAE,aAAa,EACpB,OAAO,GAAE,2BAAgC,GACxC,OAAO,CAoET;AAED,wBAAgB,2CAA2C,CACzD,QAAQ,EAAE,OAAO,EACjB,KAAK,EAAE,YAAY,GAAG,IAAI,EAC1B,OAAO,EAAE,qBAAqB,GAAG,IAAI,GAAG,SAAS,EACjD,OAAO,GAAE,iCAAsC,GAC9C,OAAO,CA+CT;AAED;;;;GAIG;AACH,wBAAgB,gDAAgD,CAC9D,QAAQ,EAAE,OAAO,EACjB,KAAK,EAAE,YAAY,GAAG,IAAI,EAC1B,IAAI,EAAE,kBAAkB,EACxB,OAAO,EAAE,qBAAqB,GAAG,IAAI,GAAG,SAAS,EACjD,OAAO,GAAE,iCAAsC,GAC9C,OAAO,CAgHT;AA8hBD,wBAAgB,+BAA+B,CAC7C,SAAS,EAAE;IAAE,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,IAAI,EACxC,KAAK,EAAE,YAAY,GAAG,IAAI,EAC1B,IAAI,EAAE,YAAY,EAClB,KAAK,EAAE,aAAa,EACpB,OAAO,GAAE,2BAAgC,GACxC,OAAO,CAET"}
|