angular-three 0.0.2 → 0.0.3
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/attributes/README.md +3 -0
- package/attributes/index.d.ts +22 -0
- package/attributes/lib/buffer-attribute/buffer-attribute.d.ts +8 -0
- package/attributes/lib/color-attribute/color-attribute.d.ts +8 -0
- package/attributes/lib/float16-buffer-attribute/float16-buffer-attribute.d.ts +8 -0
- package/attributes/lib/float32-buffer-attribute/float32-buffer-attribute.d.ts +8 -0
- package/attributes/lib/float64-buffer-attribute/float64-buffer-attribute.d.ts +8 -0
- package/attributes/lib/fog-attribute/fog-attribute.d.ts +8 -0
- package/attributes/lib/fog-exp2-attribute/fog-exp2-attribute.d.ts +8 -0
- package/attributes/lib/instanced-buffer-attribute/instanced-buffer-attribute.d.ts +8 -0
- package/attributes/lib/int16-buffer-attribute/int16-buffer-attribute.d.ts +8 -0
- package/attributes/lib/int32-buffer-attribute/int32-buffer-attribute.d.ts +8 -0
- package/attributes/lib/int8-buffer-attribute/int8-buffer-attribute.d.ts +8 -0
- package/attributes/lib/interleaved-buffer-attribute/interleaved-buffer-attribute.d.ts +8 -0
- package/attributes/lib/matrix3-attribute/matrix3-attribute.d.ts +8 -0
- package/attributes/lib/matrix4-attribute/matrix4-attribute.d.ts +8 -0
- package/attributes/lib/uint16-buffer-attribute/uint16-buffer-attribute.d.ts +8 -0
- package/attributes/lib/uint32-buffer-attribute/uint32-buffer-attribute.d.ts +8 -0
- package/attributes/lib/uint8-buffer-attribute/uint8-buffer-attribute.d.ts +8 -0
- package/attributes/lib/uint8-clamped-buffer-attribute/uint8-clamped-buffer-attribute.d.ts +8 -0
- package/attributes/lib/value-attribute/value-attribute.d.ts +8 -0
- package/attributes/lib/vector2-attribute/vector2-attribute.d.ts +8 -0
- package/attributes/lib/vector3-attribute/vector3-attribute.d.ts +8 -0
- package/attributes/lib/vector4-attribute/vector4-attribute.d.ts +8 -0
- package/audios/README.md +3 -0
- package/audios/index.d.ts +3 -0
- package/audios/lib/audio/audio.d.ts +49 -0
- package/audios/lib/audio-listener/audio-listener.d.ts +35 -0
- package/audios/lib/positional-audio/positional-audio.d.ts +49 -0
- package/cameras/README.md +3 -0
- package/cameras/index.d.ts +5 -0
- package/cameras/lib/array-camera/array-camera.d.ts +56 -0
- package/cameras/lib/cube-camera/cube-camera.d.ts +36 -0
- package/cameras/lib/orthographic-camera/orthographic-camera.d.ts +54 -0
- package/cameras/lib/perspective-camera/perspective-camera.d.ts +55 -0
- package/cameras/lib/stereo-camera/stereo-camera.d.ts +42 -0
- package/esm2020/attributes/angular-three-attributes.mjs +5 -0
- package/esm2020/attributes/index.mjs +24 -0
- package/esm2020/attributes/lib/buffer-attribute/buffer-attribute.mjs +25 -0
- package/esm2020/attributes/lib/color-attribute/color-attribute.mjs +25 -0
- package/esm2020/attributes/lib/float16-buffer-attribute/float16-buffer-attribute.mjs +25 -0
- package/esm2020/attributes/lib/float32-buffer-attribute/float32-buffer-attribute.mjs +25 -0
- package/esm2020/attributes/lib/float64-buffer-attribute/float64-buffer-attribute.mjs +25 -0
- package/esm2020/attributes/lib/fog-attribute/fog-attribute.mjs +25 -0
- package/esm2020/attributes/lib/fog-exp2-attribute/fog-exp2-attribute.mjs +25 -0
- package/esm2020/attributes/lib/instanced-buffer-attribute/instanced-buffer-attribute.mjs +25 -0
- package/esm2020/attributes/lib/int16-buffer-attribute/int16-buffer-attribute.mjs +25 -0
- package/esm2020/attributes/lib/int32-buffer-attribute/int32-buffer-attribute.mjs +25 -0
- package/esm2020/attributes/lib/int8-buffer-attribute/int8-buffer-attribute.mjs +25 -0
- package/esm2020/attributes/lib/interleaved-buffer-attribute/interleaved-buffer-attribute.mjs +29 -0
- package/esm2020/attributes/lib/matrix3-attribute/matrix3-attribute.mjs +25 -0
- package/esm2020/attributes/lib/matrix4-attribute/matrix4-attribute.mjs +25 -0
- package/esm2020/attributes/lib/uint16-buffer-attribute/uint16-buffer-attribute.mjs +25 -0
- package/esm2020/attributes/lib/uint32-buffer-attribute/uint32-buffer-attribute.mjs +25 -0
- package/esm2020/attributes/lib/uint8-buffer-attribute/uint8-buffer-attribute.mjs +25 -0
- package/esm2020/attributes/lib/uint8-clamped-buffer-attribute/uint8-clamped-buffer-attribute.mjs +25 -0
- package/esm2020/attributes/lib/value-attribute/value-attribute.mjs +27 -0
- package/esm2020/attributes/lib/vector2-attribute/vector2-attribute.mjs +25 -0
- package/esm2020/attributes/lib/vector3-attribute/vector3-attribute.mjs +25 -0
- package/esm2020/attributes/lib/vector4-attribute/vector4-attribute.mjs +25 -0
- package/esm2020/audios/angular-three-audios.mjs +5 -0
- package/esm2020/audios/index.mjs +5 -0
- package/esm2020/audios/lib/audio/audio.mjs +68 -0
- package/esm2020/audios/lib/audio-listener/audio-listener.mjs +65 -0
- package/esm2020/audios/lib/positional-audio/positional-audio.mjs +68 -0
- package/esm2020/cameras/angular-three-cameras.mjs +5 -0
- package/esm2020/cameras/index.mjs +7 -0
- package/esm2020/cameras/lib/array-camera/array-camera.mjs +67 -0
- package/esm2020/cameras/lib/cube-camera/cube-camera.mjs +55 -0
- package/esm2020/cameras/lib/orthographic-camera/orthographic-camera.mjs +65 -0
- package/esm2020/cameras/lib/perspective-camera/perspective-camera.mjs +66 -0
- package/esm2020/cameras/lib/stereo-camera/stereo-camera.mjs +61 -0
- package/esm2020/geometries/angular-three-geometries.mjs +5 -0
- package/esm2020/geometries/index.mjs +25 -0
- package/esm2020/geometries/lib/box-geometry/box-geometry.mjs +25 -0
- package/esm2020/geometries/lib/buffer-geometry/buffer-geometry.mjs +25 -0
- package/esm2020/geometries/lib/capsule-geometry/capsule-geometry.mjs +25 -0
- package/esm2020/geometries/lib/circle-geometry/circle-geometry.mjs +25 -0
- package/esm2020/geometries/lib/cone-geometry/cone-geometry.mjs +25 -0
- package/esm2020/geometries/lib/cylinder-geometry/cylinder-geometry.mjs +25 -0
- package/esm2020/geometries/lib/dodecahedron-geometry/dodecahedron-geometry.mjs +25 -0
- package/esm2020/geometries/lib/edges-geometry/edges-geometry.mjs +25 -0
- package/esm2020/geometries/lib/extrude-geometry/extrude-geometry.mjs +25 -0
- package/esm2020/geometries/lib/icosahedron-geometry/icosahedron-geometry.mjs +25 -0
- package/esm2020/geometries/lib/instanced-buffer-geometry/instanced-buffer-geometry.mjs +25 -0
- package/esm2020/geometries/lib/lathe-geometry/lathe-geometry.mjs +25 -0
- package/esm2020/geometries/lib/octahedron-geometry/octahedron-geometry.mjs +25 -0
- package/esm2020/geometries/lib/plane-geometry/plane-geometry.mjs +25 -0
- package/esm2020/geometries/lib/polyhedron-geometry/polyhedron-geometry.mjs +25 -0
- package/esm2020/geometries/lib/ring-geometry/ring-geometry.mjs +25 -0
- package/esm2020/geometries/lib/shape-geometry/shape-geometry.mjs +25 -0
- package/esm2020/geometries/lib/sphere-geometry/sphere-geometry.mjs +25 -0
- package/esm2020/geometries/lib/tetrahedron-geometry/tetrahedron-geometry.mjs +25 -0
- package/esm2020/geometries/lib/torus-geometry/torus-geometry.mjs +25 -0
- package/esm2020/geometries/lib/torus-knot-geometry/torus-knot-geometry.mjs +25 -0
- package/esm2020/geometries/lib/tube-geometry/tube-geometry.mjs +25 -0
- package/esm2020/geometries/lib/wireframe-geometry/wireframe-geometry.mjs +25 -0
- package/esm2020/helpers/angular-three-helpers.mjs +5 -0
- package/esm2020/helpers/index.mjs +15 -0
- package/esm2020/helpers/lib/arrow-helper/arrow-helper.mjs +25 -0
- package/esm2020/helpers/lib/axes-helper/axes-helper.mjs +25 -0
- package/esm2020/helpers/lib/box-helper/box-helper.mjs +35 -0
- package/esm2020/helpers/lib/box3-helper/box3-helper.mjs +35 -0
- package/esm2020/helpers/lib/camera-helper/camera-helper.mjs +35 -0
- package/esm2020/helpers/lib/directional-light-helper/directional-light-helper.mjs +35 -0
- package/esm2020/helpers/lib/grid-helper/grid-helper.mjs +25 -0
- package/esm2020/helpers/lib/hemisphere-light-helper/hemisphere-light-helper.mjs +35 -0
- package/esm2020/helpers/lib/plane-helper/plane-helper.mjs +35 -0
- package/esm2020/helpers/lib/point-light-helper/point-light-helper.mjs +35 -0
- package/esm2020/helpers/lib/polar-grid-helper/polar-grid-helper.mjs +25 -0
- package/esm2020/helpers/lib/skeleton-helper/skeleton-helper.mjs +35 -0
- package/esm2020/helpers/lib/spot-light-helper/spot-light-helper.mjs +35 -0
- package/esm2020/index.mjs +12 -2
- package/esm2020/lib/canvas.mjs +227 -0
- package/esm2020/lib/di/resize.mjs +19 -0
- package/esm2020/lib/di/window.mjs +13 -0
- package/esm2020/lib/directives/args.mjs +30 -0
- package/esm2020/lib/events.mjs +53 -0
- package/esm2020/lib/instance.mjs +358 -0
- package/esm2020/lib/ref.mjs +15 -0
- package/esm2020/lib/services/loader.mjs +45 -0
- package/esm2020/lib/services/resize.mjs +127 -0
- package/esm2020/lib/stores/component-store.mjs +137 -0
- package/esm2020/lib/stores/store.mjs +433 -0
- package/esm2020/lib/types.mjs +2 -0
- package/esm2020/lib/utils/apply-props.mjs +135 -0
- package/esm2020/lib/utils/build-graph.mjs +15 -0
- package/esm2020/lib/utils/camera.mjs +28 -0
- package/esm2020/lib/utils/capitalize.mjs +4 -0
- package/esm2020/lib/utils/check-update.mjs +22 -0
- package/esm2020/lib/utils/events.mjs +353 -0
- package/esm2020/lib/utils/get-instance-local-state.mjs +6 -0
- package/esm2020/lib/utils/inject.mjs +18 -0
- package/esm2020/lib/utils/instance.mjs +35 -0
- package/esm2020/lib/utils/is.mjs +54 -0
- package/esm2020/lib/utils/loop.mjs +139 -0
- package/esm2020/lib/utils/make.mjs +30 -0
- package/esm2020/lib/utils/mutate.mjs +24 -0
- package/esm2020/lib/utils/proxy.mjs +99 -0
- package/esm2020/lib/utils/renderer.mjs +15 -0
- package/esm2020/lights/angular-three-lights.mjs +5 -0
- package/esm2020/lights/index.mjs +11 -0
- package/esm2020/lights/lib/ambient-light/ambient-light.mjs +68 -0
- package/esm2020/lights/lib/ambient-light-probe/ambient-light-probe.mjs +69 -0
- package/esm2020/lights/lib/directional-light/directional-light.mjs +69 -0
- package/esm2020/lights/lib/hemisphere-light/hemisphere-light.mjs +70 -0
- package/esm2020/lights/lib/hemisphere-light-probe/hemisphere-light-probe.mjs +71 -0
- package/esm2020/lights/lib/light-probe/light-probe.mjs +69 -0
- package/esm2020/lights/lib/point-light/point-light.mjs +71 -0
- package/esm2020/lights/lib/rect-area-light/rect-area-light.mjs +71 -0
- package/esm2020/lights/lib/spot-light/spot-light.mjs +74 -0
- package/esm2020/materials/angular-three-materials.mjs +5 -0
- package/esm2020/materials/index.mjs +19 -0
- package/esm2020/materials/lib/line-basic-material/line-basic-material.mjs +76 -0
- package/esm2020/materials/lib/line-dashed-material/line-dashed-material.mjs +79 -0
- package/esm2020/materials/lib/mesh-basic-material/mesh-basic-material.mjs +88 -0
- package/esm2020/materials/lib/mesh-depth-material/mesh-depth-material.mjs +79 -0
- package/esm2020/materials/lib/mesh-distance-material/mesh-distance-material.mjs +79 -0
- package/esm2020/materials/lib/mesh-lambert-material/mesh-lambert-material.mjs +99 -0
- package/esm2020/materials/lib/mesh-matcap-material/mesh-matcap-material.mjs +85 -0
- package/esm2020/materials/lib/mesh-normal-material/mesh-normal-material.mjs +82 -0
- package/esm2020/materials/lib/mesh-phong-material/mesh-phong-material.mjs +102 -0
- package/esm2020/materials/lib/mesh-physical-material/mesh-physical-material.mjs +118 -0
- package/esm2020/materials/lib/mesh-standard-material/mesh-standard-material.mjs +99 -0
- package/esm2020/materials/lib/mesh-toon-material/mesh-toon-material.mjs +95 -0
- package/esm2020/materials/lib/points-material/points-material.mjs +77 -0
- package/esm2020/materials/lib/raw-shader-material/raw-shader-material.mjs +82 -0
- package/esm2020/materials/lib/shader-material/shader-material.mjs +82 -0
- package/esm2020/materials/lib/shadow-material/shadow-material.mjs +73 -0
- package/esm2020/materials/lib/sprite-material/sprite-material.mjs +77 -0
- package/esm2020/objects/angular-three-objects.mjs +5 -0
- package/esm2020/objects/index.mjs +14 -0
- package/esm2020/objects/lib/bone/bone.mjs +54 -0
- package/esm2020/objects/lib/group/group.mjs +54 -0
- package/esm2020/objects/lib/instanced-mesh/instanced-mesh.mjs +63 -0
- package/esm2020/objects/lib/line/line.mjs +58 -0
- package/esm2020/objects/lib/line-loop/line-loop.mjs +58 -0
- package/esm2020/objects/lib/line-segments/line-segments.mjs +58 -0
- package/esm2020/objects/lib/lod/lod.mjs +57 -0
- package/esm2020/objects/lib/mesh/mesh.mjs +58 -0
- package/esm2020/objects/lib/points/points.mjs +58 -0
- package/esm2020/objects/lib/skeleton/skeleton.mjs +49 -0
- package/esm2020/objects/lib/skinned-mesh/skinned-mesh.mjs +62 -0
- package/esm2020/objects/lib/sprite/sprite.mjs +57 -0
- package/esm2020/primitives/angular-three-primitives.mjs +5 -0
- package/esm2020/primitives/index.mjs +3 -0
- package/esm2020/primitives/lib/object-primitive/object-primitive.mjs +54 -0
- package/esm2020/primitives/lib/primitive/primitive.mjs +37 -0
- package/esm2020/stats/angular-three-stats.mjs +5 -0
- package/esm2020/stats/index.mjs +2 -0
- package/esm2020/stats/lib/stats/stats.mjs +54 -0
- package/esm2020/textures/angular-three-textures.mjs +5 -0
- package/esm2020/textures/index.mjs +12 -0
- package/esm2020/textures/lib/canvas-texture/canvas-texture.mjs +25 -0
- package/esm2020/textures/lib/compressed-array-texture/compressed-array-texture.mjs +25 -0
- package/esm2020/textures/lib/compressed-texture/compressed-texture.mjs +25 -0
- package/esm2020/textures/lib/cube-texture/cube-texture.mjs +25 -0
- package/esm2020/textures/lib/data-array-texture/data-array-texture.mjs +25 -0
- package/esm2020/textures/lib/data-texture/data-texture.mjs +25 -0
- package/esm2020/textures/lib/data3-dtexture/data3-dtexture.mjs +25 -0
- package/esm2020/textures/lib/depth-texture/depth-texture.mjs +25 -0
- package/esm2020/textures/lib/framebuffer-texture/framebuffer-texture.mjs +25 -0
- package/esm2020/textures/lib/video-texture/video-texture.mjs +25 -0
- package/fesm2015/angular-three-attributes.mjs +462 -0
- package/fesm2015/angular-three-attributes.mjs.map +1 -0
- package/fesm2015/angular-three-audios.mjs +200 -0
- package/fesm2015/angular-three-audios.mjs.map +1 -0
- package/fesm2015/angular-three-cameras.mjs +304 -0
- package/fesm2015/angular-three-cameras.mjs.map +1 -0
- package/fesm2015/angular-three-geometries.mjs +475 -0
- package/fesm2015/angular-three-geometries.mjs.map +1 -0
- package/fesm2015/angular-three-helpers.mjs +365 -0
- package/fesm2015/angular-three-helpers.mjs.map +1 -0
- package/fesm2015/angular-three-lights.mjs +602 -0
- package/fesm2015/angular-three-lights.mjs.map +1 -0
- package/fesm2015/angular-three-materials.mjs +1402 -0
- package/fesm2015/angular-three-materials.mjs.map +1 -0
- package/fesm2015/angular-three-objects.mjs +641 -0
- package/fesm2015/angular-three-objects.mjs.map +1 -0
- package/fesm2015/angular-three-primitives.mjs +95 -0
- package/fesm2015/angular-three-primitives.mjs.map +1 -0
- package/fesm2015/angular-three-stats.mjs +62 -0
- package/fesm2015/angular-three-stats.mjs.map +1 -0
- package/fesm2015/angular-three-textures.mjs +215 -0
- package/fesm2015/angular-three-textures.mjs.map +1 -0
- package/fesm2015/angular-three.mjs +2327 -10
- package/fesm2015/angular-three.mjs.map +1 -1
- package/fesm2020/angular-three-attributes.mjs +462 -0
- package/fesm2020/angular-three-attributes.mjs.map +1 -0
- package/fesm2020/angular-three-audios.mjs +200 -0
- package/fesm2020/angular-three-audios.mjs.map +1 -0
- package/fesm2020/angular-three-cameras.mjs +304 -0
- package/fesm2020/angular-three-cameras.mjs.map +1 -0
- package/fesm2020/angular-three-geometries.mjs +475 -0
- package/fesm2020/angular-three-geometries.mjs.map +1 -0
- package/fesm2020/angular-three-helpers.mjs +365 -0
- package/fesm2020/angular-three-helpers.mjs.map +1 -0
- package/fesm2020/angular-three-lights.mjs +602 -0
- package/fesm2020/angular-three-lights.mjs.map +1 -0
- package/fesm2020/angular-three-materials.mjs +1402 -0
- package/fesm2020/angular-three-materials.mjs.map +1 -0
- package/fesm2020/angular-three-objects.mjs +641 -0
- package/fesm2020/angular-three-objects.mjs.map +1 -0
- package/fesm2020/angular-three-primitives.mjs +95 -0
- package/fesm2020/angular-three-primitives.mjs.map +1 -0
- package/fesm2020/angular-three-stats.mjs +62 -0
- package/fesm2020/angular-three-stats.mjs.map +1 -0
- package/fesm2020/angular-three-textures.mjs +215 -0
- package/fesm2020/angular-three-textures.mjs.map +1 -0
- package/fesm2020/angular-three.mjs +2344 -10
- package/fesm2020/angular-three.mjs.map +1 -1
- package/geometries/README.md +3 -0
- package/geometries/index.d.ts +23 -0
- package/geometries/lib/box-geometry/box-geometry.d.ts +8 -0
- package/geometries/lib/buffer-geometry/buffer-geometry.d.ts +8 -0
- package/geometries/lib/capsule-geometry/capsule-geometry.d.ts +8 -0
- package/geometries/lib/circle-geometry/circle-geometry.d.ts +8 -0
- package/geometries/lib/cone-geometry/cone-geometry.d.ts +8 -0
- package/geometries/lib/cylinder-geometry/cylinder-geometry.d.ts +8 -0
- package/geometries/lib/dodecahedron-geometry/dodecahedron-geometry.d.ts +8 -0
- package/geometries/lib/edges-geometry/edges-geometry.d.ts +8 -0
- package/geometries/lib/extrude-geometry/extrude-geometry.d.ts +8 -0
- package/geometries/lib/icosahedron-geometry/icosahedron-geometry.d.ts +8 -0
- package/geometries/lib/instanced-buffer-geometry/instanced-buffer-geometry.d.ts +8 -0
- package/geometries/lib/lathe-geometry/lathe-geometry.d.ts +8 -0
- package/geometries/lib/octahedron-geometry/octahedron-geometry.d.ts +8 -0
- package/geometries/lib/plane-geometry/plane-geometry.d.ts +8 -0
- package/geometries/lib/polyhedron-geometry/polyhedron-geometry.d.ts +8 -0
- package/geometries/lib/ring-geometry/ring-geometry.d.ts +8 -0
- package/geometries/lib/shape-geometry/shape-geometry.d.ts +8 -0
- package/geometries/lib/sphere-geometry/sphere-geometry.d.ts +8 -0
- package/geometries/lib/tetrahedron-geometry/tetrahedron-geometry.d.ts +8 -0
- package/geometries/lib/torus-geometry/torus-geometry.d.ts +8 -0
- package/geometries/lib/torus-knot-geometry/torus-knot-geometry.d.ts +8 -0
- package/geometries/lib/tube-geometry/tube-geometry.d.ts +8 -0
- package/geometries/lib/wireframe-geometry/wireframe-geometry.d.ts +8 -0
- package/helpers/README.md +3 -0
- package/helpers/index.d.ts +13 -0
- package/helpers/lib/arrow-helper/arrow-helper.d.ts +8 -0
- package/helpers/lib/axes-helper/axes-helper.d.ts +8 -0
- package/helpers/lib/box-helper/box-helper.d.ts +8 -0
- package/helpers/lib/box3-helper/box3-helper.d.ts +8 -0
- package/helpers/lib/camera-helper/camera-helper.d.ts +8 -0
- package/helpers/lib/directional-light-helper/directional-light-helper.d.ts +8 -0
- package/helpers/lib/grid-helper/grid-helper.d.ts +8 -0
- package/helpers/lib/hemisphere-light-helper/hemisphere-light-helper.d.ts +8 -0
- package/helpers/lib/plane-helper/plane-helper.d.ts +8 -0
- package/helpers/lib/point-light-helper/point-light-helper.d.ts +8 -0
- package/helpers/lib/polar-grid-helper/polar-grid-helper.d.ts +8 -0
- package/helpers/lib/skeleton-helper/skeleton-helper.d.ts +8 -0
- package/helpers/lib/spot-light-helper/spot-light-helper.d.ts +8 -0
- package/index.d.ts +11 -1
- package/lib/canvas.d.ts +46 -0
- package/lib/di/resize.d.ts +12 -0
- package/lib/di/window.d.ts +1 -0
- package/lib/directives/args.d.ts +19 -0
- package/lib/events.d.ts +2 -0
- package/lib/instance.d.ts +81 -0
- package/lib/ref.d.ts +5 -0
- package/lib/services/loader.d.ts +11 -0
- package/lib/services/resize.d.ts +19 -0
- package/lib/stores/component-store.d.ts +69 -0
- package/lib/stores/store.d.ts +32 -0
- package/lib/types.d.ts +358 -0
- package/lib/utils/apply-props.d.ts +6 -0
- package/lib/utils/build-graph.d.ts +3 -0
- package/lib/utils/camera.d.ts +4 -0
- package/lib/utils/capitalize.d.ts +1 -0
- package/lib/utils/check-update.d.ts +2 -0
- package/lib/utils/events.d.ts +6 -0
- package/lib/utils/get-instance-local-state.d.ts +2 -0
- package/lib/utils/inject.d.ts +9 -0
- package/lib/utils/instance.d.ts +4 -0
- package/lib/utils/is.d.ts +21 -0
- package/lib/utils/loop.d.ts +32 -0
- package/lib/utils/make.d.ts +4 -0
- package/lib/utils/mutate.d.ts +2 -0
- package/lib/utils/proxy.d.ts +7 -0
- package/lib/utils/renderer.d.ts +3 -0
- package/lights/README.md +3 -0
- package/lights/index.d.ts +9 -0
- package/lights/lib/ambient-light/ambient-light.d.ts +49 -0
- package/lights/lib/ambient-light-probe/ambient-light-probe.d.ts +50 -0
- package/lights/lib/directional-light/directional-light.d.ts +50 -0
- package/lights/lib/hemisphere-light/hemisphere-light.d.ts +51 -0
- package/lights/lib/hemisphere-light-probe/hemisphere-light-probe.d.ts +52 -0
- package/lights/lib/light-probe/light-probe.d.ts +50 -0
- package/lights/lib/point-light/point-light.d.ts +52 -0
- package/lights/lib/rect-area-light/rect-area-light.d.ts +52 -0
- package/lights/lib/spot-light/spot-light.d.ts +55 -0
- package/materials/README.md +3 -0
- package/materials/index.d.ts +17 -0
- package/materials/lib/line-basic-material/line-basic-material.d.ts +55 -0
- package/materials/lib/line-dashed-material/line-dashed-material.d.ts +58 -0
- package/materials/lib/mesh-basic-material/mesh-basic-material.d.ts +67 -0
- package/materials/lib/mesh-depth-material/mesh-depth-material.d.ts +58 -0
- package/materials/lib/mesh-distance-material/mesh-distance-material.d.ts +58 -0
- package/materials/lib/mesh-lambert-material/mesh-lambert-material.d.ts +78 -0
- package/materials/lib/mesh-matcap-material/mesh-matcap-material.d.ts +64 -0
- package/materials/lib/mesh-normal-material/mesh-normal-material.d.ts +61 -0
- package/materials/lib/mesh-phong-material/mesh-phong-material.d.ts +81 -0
- package/materials/lib/mesh-physical-material/mesh-physical-material.d.ts +97 -0
- package/materials/lib/mesh-standard-material/mesh-standard-material.d.ts +78 -0
- package/materials/lib/mesh-toon-material/mesh-toon-material.d.ts +74 -0
- package/materials/lib/points-material/points-material.d.ts +56 -0
- package/materials/lib/raw-shader-material/raw-shader-material.d.ts +68 -0
- package/materials/lib/shader-material/shader-material.d.ts +68 -0
- package/materials/lib/shadow-material/shadow-material.d.ts +52 -0
- package/materials/lib/sprite-material/sprite-material.d.ts +56 -0
- package/objects/README.md +3 -0
- package/objects/index.d.ts +12 -0
- package/objects/lib/bone/bone.d.ts +35 -0
- package/objects/lib/group/group.d.ts +35 -0
- package/objects/lib/instanced-mesh/instanced-mesh.d.ts +44 -0
- package/objects/lib/line/line.d.ts +41 -0
- package/objects/lib/line-loop/line-loop.d.ts +41 -0
- package/objects/lib/line-segments/line-segments.d.ts +41 -0
- package/objects/lib/lod/lod.d.ts +41 -0
- package/objects/lib/mesh/mesh.d.ts +41 -0
- package/objects/lib/points/points.d.ts +41 -0
- package/objects/lib/skeleton/skeleton.d.ts +17 -0
- package/objects/lib/skinned-mesh/skinned-mesh.d.ts +45 -0
- package/objects/lib/sprite/sprite.d.ts +38 -0
- package/package.json +93 -2
- package/primitives/README.md +3 -0
- package/primitives/index.d.ts +2 -0
- package/primitives/lib/object-primitive/object-primitive.d.ts +35 -0
- package/primitives/lib/primitive/primitive.d.ts +10 -0
- package/schematics/src/generators/init/generator.d.ts +1 -1
- package/schematics/src/generators/init/generator.js +4 -4
- package/schematics/src/generators/init/generator.js.map +1 -1
- package/stats/README.md +3 -0
- package/stats/index.d.ts +1 -0
- package/stats/lib/stats/stats.d.ts +16 -0
- package/textures/README.md +3 -0
- package/textures/index.d.ts +10 -0
- package/textures/lib/canvas-texture/canvas-texture.d.ts +8 -0
- package/textures/lib/compressed-array-texture/compressed-array-texture.d.ts +8 -0
- package/textures/lib/compressed-texture/compressed-texture.d.ts +8 -0
- package/textures/lib/cube-texture/cube-texture.d.ts +8 -0
- package/textures/lib/data-array-texture/data-array-texture.d.ts +8 -0
- package/textures/lib/data-texture/data-texture.d.ts +8 -0
- package/textures/lib/data3-dtexture/data3-dtexture.d.ts +8 -0
- package/textures/lib/depth-texture/depth-texture.d.ts +8 -0
- package/textures/lib/framebuffer-texture/framebuffer-texture.d.ts +8 -0
- package/textures/lib/video-texture/video-texture.d.ts +8 -0
- package/esm2020/lib/angular-three.module.mjs +0 -15
- package/lib/angular-three.module.d.ts +0 -7
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
import { is } from './is';
|
|
2
|
+
function createSubs(callback, subs) {
|
|
3
|
+
const sub = { callback };
|
|
4
|
+
subs.add(sub);
|
|
5
|
+
return () => void subs.delete(sub);
|
|
6
|
+
}
|
|
7
|
+
const globalEffects = new Set();
|
|
8
|
+
const globalAfterEffects = new Set();
|
|
9
|
+
const globalTailEffects = new Set();
|
|
10
|
+
/**
|
|
11
|
+
* Adds a global render callback which is called each frame.
|
|
12
|
+
* @see https://docs.pmnd.rs/react-three-fiber/api/additional-exports#addEffect
|
|
13
|
+
*/
|
|
14
|
+
export const addEffect = (callback) => createSubs(callback, globalEffects);
|
|
15
|
+
/**
|
|
16
|
+
* Adds a global after-render callback which is called each frame.
|
|
17
|
+
* @see https://docs.pmnd.rs/react-three-fiber/api/additional-exports#addAfterEffect
|
|
18
|
+
*/
|
|
19
|
+
export const addAfterEffect = (callback) => createSubs(callback, globalAfterEffects);
|
|
20
|
+
/**
|
|
21
|
+
* Adds a global callback which is called when rendering stops.
|
|
22
|
+
* @see https://docs.pmnd.rs/react-three-fiber/api/additional-exports#addTail
|
|
23
|
+
*/
|
|
24
|
+
export const addTail = (callback) => createSubs(callback, globalTailEffects);
|
|
25
|
+
function run(effects, timestamp) {
|
|
26
|
+
if (!effects.size)
|
|
27
|
+
return;
|
|
28
|
+
for (const { callback } of effects.values()) {
|
|
29
|
+
callback(timestamp);
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
export function flushGlobalEffects(type, timestamp) {
|
|
33
|
+
switch (type) {
|
|
34
|
+
case 'before':
|
|
35
|
+
return run(globalEffects, timestamp);
|
|
36
|
+
case 'after':
|
|
37
|
+
return run(globalAfterEffects, timestamp);
|
|
38
|
+
case 'tail':
|
|
39
|
+
return run(globalTailEffects, timestamp);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
function render(timestamp, stateFactory, frame) {
|
|
43
|
+
const state = stateFactory();
|
|
44
|
+
// Run local effects
|
|
45
|
+
let delta = state.clock.getDelta();
|
|
46
|
+
// In frameloop='never' mode, clock times are updated using the provided timestamp
|
|
47
|
+
if (state.frameloop === 'never' && typeof timestamp === 'number') {
|
|
48
|
+
delta = timestamp - state.clock.elapsedTime;
|
|
49
|
+
state.clock.oldTime = state.clock.elapsedTime;
|
|
50
|
+
state.clock.elapsedTime = timestamp;
|
|
51
|
+
}
|
|
52
|
+
// Call subscribers (useFrame)
|
|
53
|
+
// subscribers = state.internal.subscribers;
|
|
54
|
+
for (let i = 0; i < state.internal.subscribers.length; i++) {
|
|
55
|
+
const subscriber = state.internal.subscribers[i];
|
|
56
|
+
const object = is.ref(subscriber.obj) ? subscriber.obj.value : subscriber.obj;
|
|
57
|
+
subscriber.callback({ ...state, delta, frame }, object);
|
|
58
|
+
}
|
|
59
|
+
// Render content
|
|
60
|
+
if (!state.internal.priority && state.gl.render)
|
|
61
|
+
state.gl.render(state.scene, state.camera);
|
|
62
|
+
// Decrease frame count
|
|
63
|
+
state.internal.frames = Math.max(0, state.internal.frames - 1);
|
|
64
|
+
return state.frameloop === 'always' ? 1 : state.internal.frames;
|
|
65
|
+
}
|
|
66
|
+
export function createLoop(roots) {
|
|
67
|
+
let running = false;
|
|
68
|
+
let repeat;
|
|
69
|
+
let frame;
|
|
70
|
+
let state;
|
|
71
|
+
function loop(timestamp) {
|
|
72
|
+
frame = requestAnimationFrame(loop);
|
|
73
|
+
running = true;
|
|
74
|
+
repeat = 0;
|
|
75
|
+
// Run effects
|
|
76
|
+
flushGlobalEffects('before', timestamp);
|
|
77
|
+
// Render all roots
|
|
78
|
+
for (const root of roots.values()) {
|
|
79
|
+
state = root();
|
|
80
|
+
// If the frameloop is invalidated, do not run another frame
|
|
81
|
+
if (state.internal.active &&
|
|
82
|
+
(state.frameloop === 'always' || state.internal.frames > 0) &&
|
|
83
|
+
!state.gl.xr?.isPresenting) {
|
|
84
|
+
repeat += render(timestamp, root);
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
// Run after-effects
|
|
88
|
+
flushGlobalEffects('after', timestamp);
|
|
89
|
+
// Stop the loop if nothing invalidates it
|
|
90
|
+
if (repeat === 0) {
|
|
91
|
+
// Tail call effects, they are called when rendering stops
|
|
92
|
+
flushGlobalEffects('tail', timestamp);
|
|
93
|
+
// Flag end of operation
|
|
94
|
+
running = false;
|
|
95
|
+
return cancelAnimationFrame(frame);
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
function invalidate(stateFactory, frames = 1) {
|
|
99
|
+
const stateToInvalidate = stateFactory?.();
|
|
100
|
+
if (!stateToInvalidate)
|
|
101
|
+
return roots.forEach((root) => invalidate(root, frames));
|
|
102
|
+
if (stateToInvalidate.gl.xr?.isPresenting ||
|
|
103
|
+
!stateToInvalidate.internal.active ||
|
|
104
|
+
stateToInvalidate.frameloop === 'never')
|
|
105
|
+
return;
|
|
106
|
+
// Increase frames, do not go higher than 60
|
|
107
|
+
stateToInvalidate.internal.frames = Math.min(60, stateToInvalidate.internal.frames + frames);
|
|
108
|
+
// If the render-loop isn't active, start it
|
|
109
|
+
if (!running) {
|
|
110
|
+
running = true;
|
|
111
|
+
requestAnimationFrame(loop);
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
function advance(timestamp, runGlobalEffects = true, stateFactory, frame) {
|
|
115
|
+
if (runGlobalEffects)
|
|
116
|
+
flushGlobalEffects('before', timestamp);
|
|
117
|
+
if (!stateFactory)
|
|
118
|
+
for (const root of roots.values())
|
|
119
|
+
render(timestamp, root);
|
|
120
|
+
else
|
|
121
|
+
render(timestamp, stateFactory, frame);
|
|
122
|
+
if (runGlobalEffects)
|
|
123
|
+
flushGlobalEffects('after', timestamp);
|
|
124
|
+
}
|
|
125
|
+
return {
|
|
126
|
+
loop,
|
|
127
|
+
/**
|
|
128
|
+
* Invalidates the view, requesting a frame to be rendered. Will globally invalidate unless passed a root's state.
|
|
129
|
+
* @see https://docs.pmnd.rs/react-three-fiber/api/additional-exports#invalidate
|
|
130
|
+
*/
|
|
131
|
+
invalidate,
|
|
132
|
+
/**
|
|
133
|
+
* Advances the frameloop and runs render effects, useful for when manually rendering via `frameloop="never"`.
|
|
134
|
+
* @see https://docs.pmnd.rs/react-three-fiber/api/additional-exports#advance
|
|
135
|
+
*/
|
|
136
|
+
advance,
|
|
137
|
+
};
|
|
138
|
+
}
|
|
139
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9vcC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2FuZ3VsYXItdGhyZWUvc3JjL2xpYi91dGlscy9sb29wLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFLMUIsU0FBUyxVQUFVLENBQUMsUUFBaUMsRUFBRSxJQUFxQjtJQUN4RSxNQUFNLEdBQUcsR0FBRyxFQUFFLFFBQVEsRUFBRSxDQUFDO0lBQ3pCLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDZCxPQUFPLEdBQUcsRUFBRSxDQUFDLEtBQUssSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUN2QyxDQUFDO0FBRUQsTUFBTSxhQUFhLEdBQW9CLElBQUksR0FBRyxFQUFFLENBQUM7QUFDakQsTUFBTSxrQkFBa0IsR0FBb0IsSUFBSSxHQUFHLEVBQUUsQ0FBQztBQUN0RCxNQUFNLGlCQUFpQixHQUFvQixJQUFJLEdBQUcsRUFBRSxDQUFDO0FBRXJEOzs7R0FHRztBQUNILE1BQU0sQ0FBQyxNQUFNLFNBQVMsR0FBRyxDQUFDLFFBQWlDLEVBQUUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsYUFBYSxDQUFDLENBQUM7QUFFcEc7OztHQUdHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHLENBQUMsUUFBaUMsRUFBRSxFQUFFLENBQUMsVUFBVSxDQUFDLFFBQVEsRUFBRSxrQkFBa0IsQ0FBQyxDQUFDO0FBRTlHOzs7R0FHRztBQUNILE1BQU0sQ0FBQyxNQUFNLE9BQU8sR0FBRyxDQUFDLFFBQWlDLEVBQUUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsaUJBQWlCLENBQUMsQ0FBQztBQUV0RyxTQUFTLEdBQUcsQ0FBQyxPQUF3QixFQUFFLFNBQWlCO0lBQ3BELElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSTtRQUFF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akYsSUFDSSxpQkFBaUIsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLFlBQVk7WUFDckMsQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLENBQUMsTUFBTTtZQUNsQyxpQkFBaUIsQ0FBQyxTQUFTLEtBQUssT0FBTztZQUV2QyxPQUFPO1FBQ1gsNENBQTRDO1FBQzVDLGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEVBQUUsaUJBQWlCLENBQUMsUUFBUSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUMsQ0FBQztRQUM3Riw0Q0FBNEM7UUFDNUMsSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUNWLE9BQU8sR0FBRyxJQUFJLENBQUM7WUFDZixxQkFBcUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUMvQjtJQUNMLENBQUM7SUFFRCxTQUFTLE9BQU8sQ0FDWixTQUFpQixFQUNqQixtQkFBNEIsSUFBSSxFQUNoQyxZQUE4QixFQUM5QixLQUFlO1FBRWYsSUFBSSxnQkFBZ0I7WUFBRSxrQkFBa0IsQ0FBQyxRQUFRLEVBQUUsU0FBUyxDQUFDLENBQUM7UUFDOUQsSUFBSSxDQUFDLFlBQVk7WUFBRSxLQUFLLE1BQU0sSUFBSSxJQUFJLEtBQUssQ0FBQyxNQUFNLEVBQUU7Z0JBQUUsTUFBTSxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsQ0FBQzs7WUFDekUsTUFBTSxDQUFDLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDNUMsSUFBSSxnQkFBZ0I7WUFBRSxrQkFBa0IsQ0FBQyxPQUFPLEVBQUUsU0FBUyxDQUFDLENBQUM7SUFDakUsQ0FBQztJQUVELE9BQU87UUFDSCxJQUFJO1FBQ0o7OztXQUdHO1FBQ0gsVUFBVTtRQUNWOzs7V0FHRztRQUNILE9BQU87S0FDVixDQUFDO0FBQ04sQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgTmd0U3RhdGUsIE5ndFN0YXRlRmFjdG9yeSB9IGZyb20gJy4uL3R5cGVzJztcbmltcG9ydCB7IGlzIH0gZnJvbSAnLi9pcyc7XG5cbmV4cG9ydCB0eXBlIE5ndEdsb2JhbFJlbmRlckNhbGxiYWNrID0gKHRpbWVTdGFtcDogbnVtYmVyKSA9PiB2b2lkO1xudHlwZSBOZ3RTdWJJdGVtID0geyBjYWxsYmFjazogTmd0R2xvYmFsUmVuZGVyQ2FsbGJhY2sgfTtcblxuZnVuY3Rpb24gY3JlYXRlU3VicyhjYWxsYmFjazogTmd0R2xvYmFsUmVuZGVyQ2FsbGJhY2ssIHN1YnM6IFNldDxOZ3RTdWJJdGVtPik6ICgpID0+IHZvaWQge1xuICAgIGNvbnN0IHN1YiA9IHsgY2FsbGJhY2sgfTtcbiAgICBzdWJzLmFkZChzdWIpO1xuICAgIHJldHVybiAoKSA9PiB2b2lkIHN1YnMuZGVsZXRlKHN1Yik7XG59XG5cbmNvbnN0IGdsb2JhbEVmZmVjdHM6IFNldDxOZ3RTdWJJdGVtPiA9IG5ldyBTZXQoKTtcbmNvbnN0IGdsb2JhbEFmdGVyRWZmZWN0czogU2V0PE5ndFN1Ykl0ZW0+ID0gbmV3IFNldCgpO1xuY29uc3QgZ2xvYmFsVGFpbEVmZmVjdHM6IFNldDxOZ3RTdWJJdGVtPiA9IG5ldyBTZXQoKTtcblxuLyoqXG4gKiBBZGRzIGEgZ2xvYmFsIHJlbmRlciBjYWxsYmFjayB3aGljaCBpcyBjYWxsZWQgZWFjaCBmcmFtZS5cbiAqIEBzZWUgaHR0cHM6Ly9kb2NzLnBtbmQucnMvcmVhY3QtdGhyZWUtZmliZXIvYXBpL2FkZGl0aW9uYWwtZXhwb3J0cyNhZGRFZmZlY3RcbiAqL1xuZXhwb3J0IGNvbnN0IGFkZEVmZmVjdCA9IChjYWxsYmFjazogTmd0R2xvYmFsUmVuZGVyQ2FsbGJhY2spID0+IGNyZWF0ZVN1YnMoY2FsbGJhY2ssIGdsb2JhbEVmZmVjdHMpO1xuXG4vKipcbiAqIEFkZHMgYSBnbG9iYWwgYWZ0ZXItcmVuZGVyIGNhbGxiYWNrIHdoaWNoIGlzIGNhbGxlZCBlYWNoIGZyYW1lLlxuICogQHNlZSBodHRwczovL2RvY3MucG1uZC5ycy9yZWFjdC10aHJlZS1maWJlci9hcGkvYWRkaXRpb25hbC1leHBvcnRzI2FkZEFmdGVyRWZmZWN0XG4gKi9cbmV4cG9ydCBjb25zdCBhZGRBZnRlckVmZmVjdCA9IChjYWxsYmFjazogTmd0R2xvYmFsUmVuZGVyQ2FsbGJhY2spID0+IGNyZWF0ZVN1YnMoY2FsbGJhY2ssIGdsb2JhbEFmdGVyRWZmZWN0cyk7XG5cbi8qKlxuICogQWRkcyBhIGdsb2JhbCBjYWxsYmFjayB3aGljaCBpcyBjYWxsZWQgd2hlbiByZW5kZXJpbmcgc3RvcHMuXG4gKiBAc2VlIGh0dHBzOi8vZG9jcy5wbW5kLnJzL3JlYWN0LXRocmVlLWZpYmVyL2FwaS9hZGRpdGlvbmFsLWV4cG9ydHMjYWRkVGFpbFxuICovXG5leHBvcnQgY29uc3QgYWRkVGFpbCA9IChjYWxsYmFjazogTmd0R2xvYmFsUmVuZGVyQ2FsbGJhY2spID0+IGNyZWF0ZVN1YnMoY2FsbGJhY2ssIGdsb2JhbFRhaWxFZmZlY3RzKTtcblxuZnVuY3Rpb24gcnVuKGVmZmVjdHM6IFNldDxOZ3RTdWJJdGVtPiwgdGltZXN0YW1wOiBudW1iZXIpIHtcbiAgICBpZiAoIWVmZmVjdHMuc2l6ZSkgcmV0dXJuO1xuICAgIGZvciAoY29uc3QgeyBjYWxsYmFjayB9IG9mIGVmZmVjdHMudmFsdWVzKCkpIHtcbiAgICAgICAgY2FsbGJhY2sodGltZXN0YW1wKTtcbiAgICB9XG59XG5cbmV4cG9ydCB0eXBlIEdsb2JhbEVmZmVjdFR5cGUgPSAnYmVmb3JlJyB8ICdhZnRlcicgfCAndGFpbCc7XG5cbmV4cG9ydCBmdW5jdGlvbiBmbHVzaEdsb2JhbEVmZmVjdHModHlwZTogR2xvYmFsRWZmZWN0VHlwZSwgdGltZXN0YW1wOiBudW1iZXIpOiB2b2lkIHtcbiAgICBzd2l0Y2ggKHR5cGUpIHtcbiAgICAgICAgY2FzZSAnYmVmb3JlJzpcbiAgICAgICAgICAgIHJldHVybiBydW4oZ2xvYmFsRWZmZWN0cywgdGltZXN0YW1wKTtcbiAgICAgICAgY2FzZSAnYWZ0ZXInOlxuICAgICAgICAgICAgcmV0dXJuIHJ1bihnbG9iYWxBZnRlckVmZmVjdHMsIHRpbWVzdGFtcCk7XG4gICAgICAgIGNhc2UgJ3RhaWwnOlxuICAgICAgICAgICAgcmV0dXJuIHJ1bihnbG9iYWxUYWlsRWZmZWN0cywgdGltZXN0YW1wKTtcbiAgICB9XG59XG5cbmZ1bmN0aW9uIHJlbmRlcih0aW1lc3RhbXA6IG51bWJlciwgc3RhdGVGYWN0b3J5OiBOZ3RTdGF0ZUZhY3RvcnksIGZyYW1lPzogWFJGcmFtZSkge1xuICAgIGNvbnN0IHN0YXRlID0gc3RhdGVGYWN0b3J5KCk7XG4gICAgLy8gUnVuIGxvY2FsIGVmZmVjdHNcbiAgICBsZXQgZGVsdGEgPSBzdGF0ZS5jbG9jay5nZXREZWx0YSgpO1xuICAgIC8vIEluIGZyYW1lbG9vcD0nbmV2ZXInIG1vZGUsIGNsb2NrIHRpbWVzIGFyZSB1cGRhdGVkIHVzaW5nIHRoZSBwcm92aWRlZCB0aW1lc3RhbXBcbiAgICBpZiAoc3RhdGUuZnJhbWVsb29wID09PSAnbmV2ZXInICYmIHR5cGVvZiB0aW1lc3RhbXAgPT09ICdudW1iZXInKSB7XG4gICAgICAgIGRlbHRhID0gdGltZXN0YW1wIC0gc3RhdGUuY2xvY2suZWxhcHNlZFRpbWU7XG4gICAgICAgIHN0YXRlLmNsb2NrLm9sZFRpbWUgPSBzdGF0ZS5jbG9jay5lbGFwc2VkVGltZTtcbiAgICAgICAgc3RhdGUuY2xvY2suZWxhcHNlZFRpbWUgPSB0aW1lc3RhbXA7XG4gICAgfVxuICAgIC8vIENhbGwgc3Vic2NyaWJlcnMgKHVzZUZyYW1lKVxuICAgIC8vIHN1YnNjcmliZXJzID0gc3RhdGUuaW50ZXJuYWwuc3Vic2NyaWJlcnM7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBzdGF0ZS5pbnRlcm5hbC5zdWJzY3JpYmVycy5sZW5ndGg7IGkrKykge1xuICAgICAgICBjb25zdCBzdWJzY3JpYmVyID0gc3RhdGUuaW50ZXJuYWwuc3Vic2NyaWJlcnNbaV07XG4gICAgICAgIGNvbnN0IG9iamVjdCA9IGlzLnJlZihzdWJzY3JpYmVyLm9iaikgPyBzdWJzY3JpYmVyLm9iai52YWx1ZSA6IHN1YnNjcmliZXIub2JqO1xuICAgICAgICBzdWJzY3JpYmVyLmNhbGxiYWNrKHsgLi4uc3RhdGUsIGRlbHRhLCBmcmFtZSB9LCBvYmplY3QpO1xuICAgIH1cbiAgICAvLyBSZW5kZXIgY29udGVudFxuICAgIGlmICghc3RhdGUuaW50ZXJuYWwucHJpb3JpdHkgJiYgc3RhdGUuZ2wucmVuZGVyKSBzdGF0ZS5nbC5yZW5kZXIoc3RhdGUuc2NlbmUsIHN0YXRlLmNhbWVyYSk7XG4gICAgLy8gRGVjcmVhc2UgZnJhbWUgY291bnRcbiAgICBzdGF0ZS5pbnRlcm5hbC5mcmFtZXMgPSBNYXRoLm1heCgwLCBzdGF0ZS5pbnRlcm5hbC5mcmFtZXMgLSAxKTtcbiAgICByZXR1cm4gc3RhdGUuZnJhbWVsb29wID09PSAnYWx3YXlzJyA/IDEgOiBzdGF0ZS5pbnRlcm5hbC5mcmFtZXM7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVMb29wPFRDYW52YXM+KHJvb3RzOiBNYXA8VENhbnZhcywgTmd0U3RhdGVGYWN0b3J5Pikge1xuICAgIGxldCBydW5uaW5nID0gZmFsc2U7XG4gICAgbGV0IHJlcGVhdDogbnVtYmVyO1xuICAgIGxldCBmcmFtZTogbnVtYmVyO1xuICAgIGxldCBzdGF0ZTogTmd0U3RhdGU7XG5cbiAgICBmdW5jdGlvbiBsb29wKHRpbWVzdGFtcDogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIGZyYW1lID0gcmVxdWVzdEFuaW1hdGlvbkZyYW1lKGxvb3ApO1xuICAgICAgICBydW5uaW5nID0gdHJ1ZTtcbiAgICAgICAgcmVwZWF0ID0gMDtcblxuICAgICAgICAvLyBSdW4gZWZmZWN0c1xuICAgICAgICBmbHVzaEdsb2JhbEVmZmVjdHMoJ2JlZm9yZScsIHRpbWVzdGFtcCk7XG5cbiAgICAgICAgLy8gUmVuZGVyIGFsbCByb290c1xuICAgICAgICBmb3IgKGNvbnN0IHJvb3Qgb2Ygcm9vdHMudmFsdWVzKCkpIHtcbiAgICAgICAgICAgIHN0YXRlID0gcm9vdCgpO1xuICAgICAgICAgICAgLy8gSWYgdGhlIGZyYW1lbG9vcCBpcyBpbnZhbGlkYXRlZCwgZG8gbm90IHJ1biBhbm90aGVyIGZyYW1lXG4gICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgc3RhdGUuaW50ZXJuYWwuYWN0aXZlICYmXG4gICAgICAgICAgICAgICAgKHN0YXRlLmZyYW1lbG9vcCA9PT0gJ2Fsd2F5cycgfHwgc3RhdGUuaW50ZXJuYWwuZnJhbWVzID4gMCkgJiZcbiAgICAgICAgICAgICAgICAhc3RhdGUuZ2wueHI/LmlzUHJlc2VudGluZ1xuICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgcmVwZWF0ICs9IHJlbmRlcih0aW1lc3RhbXAsIHJvb3QpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gUnVuIGFmdGVyLWVmZmVjdHNcbiAgICAgICAgZmx1c2hHbG9iYWxFZmZlY3RzKCdhZnRlcicsIHRpbWVzdGFtcCk7XG5cbiAgICAgICAgLy8gU3RvcCB0aGUgbG9vcCBpZiBub3RoaW5nIGludmFsaWRhdGVzIGl0XG4gICAgICAgIGlmIChyZXBlYXQgPT09IDApIHtcbiAgICAgICAgICAgIC8vIFRhaWwgY2FsbCBlZmZlY3RzLCB0aGV5IGFyZSBjYWxsZWQgd2hlbiByZW5kZXJpbmcgc3RvcHNcbiAgICAgICAgICAgIGZsdXNoR2xvYmFsRWZmZWN0cygndGFpbCcsIHRpbWVzdGFtcCk7XG5cbiAgICAgICAgICAgIC8vIEZsYWcgZW5kIG9mIG9wZXJhdGlvblxuICAgICAgICAgICAgcnVubmluZyA9IGZhbHNlO1xuICAgICAgICAgICAgcmV0dXJuIGNhbmNlbEFuaW1hdGlvbkZyYW1lKGZyYW1lKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGZ1bmN0aW9uIGludmFsaWRhdGUoc3RhdGVGYWN0b3J5PzogTmd0U3RhdGVGYWN0b3J5LCBmcmFtZXMgPSAxKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHN0YXRlVG9JbnZhbGlkYXRlID0gc3RhdGVGYWN0b3J5Py4oKTtcbiAgICAgICAgaWYgKCFzdGF0ZVRvSW52YWxpZGF0ZSkgcmV0dXJuIHJvb3RzLmZvckVhY2goKHJvb3QpID0+IGludmFsaWRhdGUocm9vdCwgZnJhbWVzKSk7XG4gICAgICAgIGlmIChcbiAgICAgICAgICAgIHN0YXRlVG9JbnZhbGlkYXRlLmdsLnhyPy5pc1ByZXNlbnRpbmcgfHxcbiAgICAgICAgICAgICFzdGF0ZVRvSW52YWxpZGF0ZS5pbnRlcm5hbC5hY3RpdmUgfHxcbiAgICAgICAgICAgIHN0YXRlVG9JbnZhbGlkYXRlLmZyYW1lbG9vcCA9PT0gJ25ldmVyJ1xuICAgICAgICApXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIC8vIEluY3JlYXNlIGZyYW1lcywgZG8gbm90IGdvIGhpZ2hlciB0aGFuIDYwXG4gICAgICAgIHN0YXRlVG9JbnZhbGlkYXRlLmludGVybmFsLmZyYW1lcyA9IE1hdGgubWluKDYwLCBzdGF0ZVRvSW52YWxpZGF0ZS5pbnRlcm5hbC5mcmFtZXMgKyBmcmFtZXMpO1xuICAgICAgICAvLyBJZiB0aGUgcmVuZGVyLWxvb3AgaXNuJ3QgYWN0aXZlLCBzdGFydCBpdFxuICAgICAgICBpZiAoIXJ1bm5pbmcpIHtcbiAgICAgICAgICAgIHJ1bm5pbmcgPSB0cnVlO1xuICAgICAgICAgICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKGxvb3ApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gYWR2YW5jZShcbiAgICAgICAgdGltZXN0YW1wOiBudW1iZXIsXG4gICAgICAgIHJ1bkdsb2JhbEVmZmVjdHM6IGJvb2xlYW4gPSB0cnVlLFxuICAgICAgICBzdGF0ZUZhY3Rvcnk/OiBOZ3RTdGF0ZUZhY3RvcnksXG4gICAgICAgIGZyYW1lPzogWFJGcmFtZVxuICAgICk6IHZvaWQge1xuICAgICAgICBpZiAocnVuR2xvYmFsRWZmZWN0cykgZmx1c2hHbG9iYWxFZmZlY3RzKCdiZWZvcmUnLCB0aW1lc3RhbXApO1xuICAgICAgICBpZiAoIXN0YXRlRmFjdG9yeSkgZm9yIChjb25zdCByb290IG9mIHJvb3RzLnZhbHVlcygpKSByZW5kZXIodGltZXN0YW1wLCByb290KTtcbiAgICAgICAgZWxzZSByZW5kZXIodGltZXN0YW1wLCBzdGF0ZUZhY3RvcnksIGZyYW1lKTtcbiAgICAgICAgaWYgKHJ1bkdsb2JhbEVmZmVjdHMpIGZsdXNoR2xvYmFsRWZmZWN0cygnYWZ0ZXInLCB0aW1lc3RhbXApO1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICAgIGxvb3AsXG4gICAgICAgIC8qKlxuICAgICAgICAgKiBJbnZhbGlkYXRlcyB0aGUgdmlldywgcmVxdWVzdGluZyBhIGZyYW1lIHRvIGJlIHJlbmRlcmVkLiBXaWxsIGdsb2JhbGx5IGludmFsaWRhdGUgdW5sZXNzIHBhc3NlZCBhIHJvb3QncyBzdGF0ZS5cbiAgICAgICAgICogQHNlZSBodHRwczovL2RvY3MucG1uZC5ycy9yZWFjdC10aHJlZS1maWJlci9hcGkvYWRkaXRpb25hbC1leHBvcnRzI2ludmFsaWRhdGVcbiAgICAgICAgICovXG4gICAgICAgIGludmFsaWRhdGUsXG4gICAgICAgIC8qKlxuICAgICAgICAgKiBBZHZhbmNlcyB0aGUgZnJhbWVsb29wIGFuZCBydW5zIHJlbmRlciBlZmZlY3RzLCB1c2VmdWwgZm9yIHdoZW4gbWFudWFsbHkgcmVuZGVyaW5nIHZpYSBgZnJhbWVsb29wPVwibmV2ZXJcImAuXG4gICAgICAgICAqIEBzZWUgaHR0cHM6Ly9kb2NzLnBtbmQucnMvcmVhY3QtdGhyZWUtZmliZXIvYXBpL2FkZGl0aW9uYWwtZXhwb3J0cyNhZHZhbmNlXG4gICAgICAgICAqL1xuICAgICAgICBhZHZhbmNlLFxuICAgIH07XG59XG4iXX0=
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import * as THREE from 'three';
|
|
2
|
+
const idCache = {};
|
|
3
|
+
export function makeId(event) {
|
|
4
|
+
if (event) {
|
|
5
|
+
return (event.eventObject || event.object).uuid + '/' + event.index + event.instanceId;
|
|
6
|
+
}
|
|
7
|
+
const newId = THREE.MathUtils.generateUUID();
|
|
8
|
+
// ensure not already used
|
|
9
|
+
if (!idCache[newId]) {
|
|
10
|
+
idCache[newId] = true;
|
|
11
|
+
return newId;
|
|
12
|
+
}
|
|
13
|
+
return makeId();
|
|
14
|
+
}
|
|
15
|
+
export function makeDpr(dpr, window) {
|
|
16
|
+
const target = window?.devicePixelRatio || 1;
|
|
17
|
+
return Array.isArray(dpr) ? Math.min(Math.max(dpr[0], target), dpr[1]) : dpr;
|
|
18
|
+
}
|
|
19
|
+
export function make(type, input) {
|
|
20
|
+
if (!input)
|
|
21
|
+
return new type();
|
|
22
|
+
if (input instanceof type) {
|
|
23
|
+
return input;
|
|
24
|
+
}
|
|
25
|
+
if (!Array.isArray(input)) {
|
|
26
|
+
input = typeof input === 'number' ? [input, input, input, input] : [input];
|
|
27
|
+
}
|
|
28
|
+
return new type(...input);
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFrZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2FuZ3VsYXItdGhyZWUvc3JjL2xpYi91dGlscy9tYWtlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxLQUFLLE1BQU0sT0FBTyxDQUFDO0FBRy9CLE1BQU0sT0FBTyxHQUEwQyxFQUFFLENBQUM7QUFDMUQsTUFBTSxVQUFVLE1BQU0sQ0FBQyxLQUF1QjtJQUMxQyxJQUFJLEtBQUssRUFBRTtRQUNQLE9BQU8sQ0FBQyxLQUFLLENBQUMsV0FBVyxJQUFJLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLEdBQUcsR0FBRyxHQUFHLEtBQUssQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDLFVBQVUsQ0FBQztLQUMxRjtJQUVELE1BQU0sS0FBSyxHQUFHLEtBQUssQ0FBQyxTQUFTLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDN0MsMEJBQTBCO0lBQzFCLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUU7UUFDakIsT0FBTyxDQUFDLEtBQUssQ0FBQyxHQUFHLElBQUksQ0FBQztRQUN0QixPQUFPLEtBQUssQ0FBQztLQUNoQjtJQUNELE9BQU8sTUFBTSxFQUFFLENBQUM7QUFDcEIsQ0FBQztBQUVELE1BQU0sVUFBVSxPQUFPLENBQUMsR0FBVyxFQUFFLE1BQWU7SUFDaEQsTUFBTSxNQUFNLEdBQUcsTUFBTSxFQUFFLGdCQUFnQixJQUFJLENBQUMsQ0FBQztJQUM3QyxPQUFPLEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsTUFBTSxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQztBQUNqRixDQUFDO0FBRUQsTUFBTSxVQUFVLElBQUksQ0FDaEIsSUFBVyxFQUNYLEtBSWtDO0lBRWxDLElBQUksQ0FBQyxLQUFLO1FBQUUsT0FBTyxJQUFJLElBQUksRUFBRSxDQUFDO0lBRTlCLElBQUksS0FBSyxZQUFZLElBQUksRUFBRTtRQUN2QixPQUFPLEtBQTRCLENBQUM7S0FDdkM7SUFFRCxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRTtRQUN2QixLQUFLLEdBQUcsT0FBTyxLQUFLLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDO0tBQzlFO0lBRUQsT0FBTyxJQUFJLElBQUksQ0FBQyxHQUFJLEtBQW1CLENBQUMsQ0FBQztBQUM3QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgVEhSRUUgZnJvbSAndGhyZWUnO1xuaW1wb3J0IHR5cGUgeyBOZ3RBbnlDb25zdHJ1Y3RvciwgTmd0RHByLCBOZ3RJbnRlcnNlY3Rpb24gfSBmcm9tICcuLi90eXBlcyc7XG5cbmNvbnN0IGlkQ2FjaGU6IHsgW2lkOiBzdHJpbmddOiBib29sZWFuIHwgdW5kZWZpbmVkIH0gPSB7fTtcbmV4cG9ydCBmdW5jdGlvbiBtYWtlSWQoZXZlbnQ/OiBOZ3RJbnRlcnNlY3Rpb24pOiBzdHJpbmcge1xuICAgIGlmIChldmVudCkge1xuICAgICAgICByZXR1cm4gKGV2ZW50LmV2ZW50T2JqZWN0IHx8IGV2ZW50Lm9iamVjdCkudXVpZCArICcvJyArIGV2ZW50LmluZGV4ICsgZXZlbnQuaW5zdGFuY2VJZDtcbiAgICB9XG5cbiAgICBjb25zdCBuZXdJZCA9IFRIUkVFLk1hdGhVdGlscy5nZW5lcmF0ZVVVSUQoKTtcbiAgICAvLyBlbnN1cmUgbm90IGFscmVhZHkgdXNlZFxuICAgIGlmICghaWRDYWNoZVtuZXdJZF0pIHtcbiAgICAgICAgaWRDYWNoZVtuZXdJZF0gPSB0cnVlO1xuICAgICAgICByZXR1cm4gbmV3SWQ7XG4gICAgfVxuICAgIHJldHVybiBtYWtlSWQoKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG1ha2VEcHIoZHByOiBOZ3REcHIsIHdpbmRvdz86IFdpbmRvdykge1xuICAgIGNvbnN0IHRhcmdldCA9IHdpbmRvdz8uZGV2aWNlUGl4ZWxSYXRpbyB8fCAxO1xuICAgIHJldHVybiBBcnJheS5pc0FycmF5KGRwcikgPyBNYXRoLm1pbihNYXRoLm1heChkcHJbMF0sIHRhcmdldCksIGRwclsxXSkgOiBkcHI7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBtYWtlPFRUeXBlIGV4dGVuZHMgTmd0QW55Q29uc3RydWN0b3I+KFxuICAgIHR5cGU6IFRUeXBlLFxuICAgIGlucHV0PzpcbiAgICAgICAgfCBJbnN0YW5jZVR5cGU8VFR5cGU+XG4gICAgICAgIHwgUGFyYW1ldGVyczx0eXBlb2YgdHlwZS5wcm90b3R5cGVbJ3NldCddPlxuICAgICAgICB8IFBhcmFtZXRlcnM8dHlwZW9mIHR5cGUucHJvdG90eXBlWydzZXRTY2FsYXInXT5bMF1cbiAgICAgICAgfCBDb25zdHJ1Y3RvclBhcmFtZXRlcnM8VFR5cGU+XG4pOiBJbnN0YW5jZVR5cGU8VFR5cGU+IHtcbiAgICBpZiAoIWlucHV0KSByZXR1cm4gbmV3IHR5cGUoKTtcblxuICAgIGlmIChpbnB1dCBpbnN0YW5jZW9mIHR5cGUpIHtcbiAgICAgICAgcmV0dXJuIGlucHV0IGFzIEluc3RhbmNlVHlwZTxUVHlwZT47XG4gICAgfVxuXG4gICAgaWYgKCFBcnJheS5pc0FycmF5KGlucHV0KSkge1xuICAgICAgICBpbnB1dCA9IHR5cGVvZiBpbnB1dCA9PT0gJ251bWJlcicgPyBbaW5wdXQsIGlucHV0LCBpbnB1dCwgaW5wdXRdIDogW2lucHV0XTtcbiAgICB9XG5cbiAgICByZXR1cm4gbmV3IHR5cGUoLi4uKGlucHV0IGFzIHVua25vd25bXSkpO1xufVxuIl19
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { applyProps } from './apply-props';
|
|
2
|
+
export function mutate(object, value, paths = []) {
|
|
3
|
+
const [base, ...remaining] = paths;
|
|
4
|
+
if (!base)
|
|
5
|
+
return;
|
|
6
|
+
if (remaining.length === 0) {
|
|
7
|
+
applyProps(object, { [base]: value });
|
|
8
|
+
}
|
|
9
|
+
else {
|
|
10
|
+
// assign an empty object in order to spread object if undefined
|
|
11
|
+
assignEmpty(object, base);
|
|
12
|
+
// recursion
|
|
13
|
+
mutate(object[base], value, remaining);
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
function assignEmpty(obj, base) {
|
|
17
|
+
if (
|
|
18
|
+
// @ts-ignore
|
|
19
|
+
(!Object.hasOwn(obj, base) && Reflect && !!Reflect.has && !Reflect.has(obj, base)) ||
|
|
20
|
+
obj[base] === undefined) {
|
|
21
|
+
obj[base] = {};
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXV0YXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYW5ndWxhci10aHJlZS9zcmMvbGliL3V0aWxzL211dGF0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE1BQU0sVUFBVSxNQUFNLENBQXlCLE1BQVMsRUFBRSxLQUFjLEVBQUUsUUFBa0IsRUFBRTtJQUMxRixNQUFNLENBQUMsSUFBSSxFQUFFLEdBQUcsU0FBUyxDQUFDLEdBQUcsS0FBSyxDQUFDO0lBRW5DLElBQUksQ0FBQyxJQUFJO1FBQUUsT0FBTztJQUVsQixJQUFJLFNBQVMsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO1FBQ3hCLFVBQVUsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7S0FDekM7U0FBTTtRQUNILGdFQUFnRTtRQUNoRSxXQUFXLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQzFCLFlBQVk7UUFDWixNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLEtBQUssRUFBRSxTQUFTLENBQUMsQ0FBQztLQUMxQztBQUNMLENBQUM7QUFFRCxTQUFTLFdBQVcsQ0FBQyxHQUFpQixFQUFFLElBQVk7SUFDaEQ7SUFDSSxhQUFhO0lBQ2IsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxJQUFJLE9BQU8sSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ2xGLEdBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxTQUFTLEVBQ3pCO1FBQ0UsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQztLQUNsQjtBQUNMLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IE5ndEFueVJlY29yZCB9IGZyb20gJy4uL3R5cGVzJztcbmltcG9ydCB7IGFwcGx5UHJvcHMgfSBmcm9tICcuL2FwcGx5LXByb3BzJztcblxuZXhwb3J0IGZ1bmN0aW9uIG11dGF0ZTxUIGV4dGVuZHMgTmd0QW55UmVjb3JkPihvYmplY3Q6IFQsIHZhbHVlOiB1bmtub3duLCBwYXRoczogc3RyaW5nW10gPSBbXSk6IHZvaWQge1xuICAgIGNvbnN0IFtiYXNlLCAuLi5yZW1haW5pbmddID0gcGF0aHM7XG5cbiAgICBpZiAoIWJhc2UpIHJldHVybjtcblxuICAgIGlmIChyZW1haW5pbmcubGVuZ3RoID09PSAwKSB7XG4gICAgICAgIGFwcGx5UHJvcHMob2JqZWN0LCB7IFtiYXNlXTogdmFsdWUgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgICAgLy8gYXNzaWduIGFuIGVtcHR5IG9iamVjdCBpbiBvcmRlciB0byBzcHJlYWQgb2JqZWN0IGlmIHVuZGVmaW5lZFxuICAgICAgICBhc3NpZ25FbXB0eShvYmplY3QsIGJhc2UpO1xuICAgICAgICAvLyByZWN1cnNpb25cbiAgICAgICAgbXV0YXRlKG9iamVjdFtiYXNlXSwgdmFsdWUsIHJlbWFpbmluZyk7XG4gICAgfVxufVxuXG5mdW5jdGlvbiBhc3NpZ25FbXB0eShvYmo6IE5ndEFueVJlY29yZCwgYmFzZTogc3RyaW5nKSB7XG4gICAgaWYgKFxuICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgICghT2JqZWN0Lmhhc093bihvYmosIGJhc2UpICYmIFJlZmxlY3QgJiYgISFSZWZsZWN0LmhhcyAmJiAhUmVmbGVjdC5oYXMob2JqLCBiYXNlKSkgfHxcbiAgICAgICAgb2JqW2Jhc2VdID09PSB1bmRlZmluZWRcbiAgICApIHtcbiAgICAgICAgb2JqW2Jhc2VdID0ge307XG4gICAgfVxufVxuIl19
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
import { inject, NgZone } from '@angular/core';
|
|
2
|
+
import { isObservable } from 'rxjs';
|
|
3
|
+
import { injectInstance, injectInstanceRef, NGT_PROXY_INSTANCE } from '../instance';
|
|
4
|
+
import { tapEffect } from '../stores/component-store';
|
|
5
|
+
import { NgtStore } from '../stores/store';
|
|
6
|
+
import { applyProps } from './apply-props';
|
|
7
|
+
import { capitalize } from './capitalize';
|
|
8
|
+
import { prepare } from './instance';
|
|
9
|
+
export function proxify(instance, proxifyOptions = {}) {
|
|
10
|
+
const ngtInstance = injectInstance({ host: true });
|
|
11
|
+
const store = inject(NgtStore);
|
|
12
|
+
const zone = inject(NgZone);
|
|
13
|
+
const parentInstance = injectInstanceRef({ skipSelf: true, optional: true });
|
|
14
|
+
return zone.runOutsideAngular(() => {
|
|
15
|
+
// prep the instance w/ local state
|
|
16
|
+
instance = prepare(instance, store.read, store.rootStateFactory, parentInstance?.(), ngtInstance.instanceValue ? ngtInstance.instanceRef : undefined, !!proxifyOptions.primitive);
|
|
17
|
+
let storeReadySubscription;
|
|
18
|
+
const newValueSubscriptionMap = new Map();
|
|
19
|
+
function setProp(obj, prop, newValue) {
|
|
20
|
+
const capitalizedProp = `set${capitalize(prop)}`;
|
|
21
|
+
if (isObservable(newValue)) {
|
|
22
|
+
const sub = newValue.subscribe((val) => {
|
|
23
|
+
if (obj[capitalizedProp] && typeof obj[capitalizedProp] === 'function') {
|
|
24
|
+
obj[capitalizedProp](val);
|
|
25
|
+
}
|
|
26
|
+
else {
|
|
27
|
+
applyProps(obj, { [prop]: val });
|
|
28
|
+
}
|
|
29
|
+
ngtInstance.write({ [prop]: val });
|
|
30
|
+
});
|
|
31
|
+
return () => sub.unsubscribe();
|
|
32
|
+
}
|
|
33
|
+
if (obj[capitalizedProp] && typeof obj[capitalizedProp] === 'function') {
|
|
34
|
+
obj[capitalizedProp](newValue);
|
|
35
|
+
}
|
|
36
|
+
else {
|
|
37
|
+
applyProps(obj, { [prop]: newValue });
|
|
38
|
+
}
|
|
39
|
+
ngtInstance.write({ [prop]: newValue });
|
|
40
|
+
return;
|
|
41
|
+
}
|
|
42
|
+
const handler = {
|
|
43
|
+
get(target, p, receiver) {
|
|
44
|
+
if (p === 'instanceRef')
|
|
45
|
+
return ngtInstance.instanceRef;
|
|
46
|
+
if (p === 'instance')
|
|
47
|
+
return ngtInstance;
|
|
48
|
+
if (p === NGT_PROXY_INSTANCE)
|
|
49
|
+
return target;
|
|
50
|
+
const capitalizedProp = `get${capitalize(p)}`;
|
|
51
|
+
if (target[capitalizedProp] && typeof target[capitalizedProp] === 'function') {
|
|
52
|
+
return target[capitalizedProp]();
|
|
53
|
+
}
|
|
54
|
+
return Reflect.get(target, p, receiver);
|
|
55
|
+
},
|
|
56
|
+
set(target, p, newValue, receiver) {
|
|
57
|
+
const prop = p;
|
|
58
|
+
if (storeReadySubscription)
|
|
59
|
+
storeReadySubscription.unsubscribe();
|
|
60
|
+
if (newValueSubscriptionMap.has(prop))
|
|
61
|
+
newValueSubscriptionMap.get(prop)();
|
|
62
|
+
// Angular sets this property
|
|
63
|
+
if (p === '__ngContext__')
|
|
64
|
+
return Reflect.set(target, p, newValue, receiver);
|
|
65
|
+
return zone.runOutsideAngular(() => {
|
|
66
|
+
// TODO: figure out what else we need to handle
|
|
67
|
+
// we should handle if newValue is an Observable as well
|
|
68
|
+
if (store.read((s) => s.ready)) {
|
|
69
|
+
const cleanUp = setProp(instance, prop, newValue);
|
|
70
|
+
if (cleanUp)
|
|
71
|
+
newValueSubscriptionMap.set(prop, cleanUp);
|
|
72
|
+
}
|
|
73
|
+
else {
|
|
74
|
+
storeReadySubscription = store.onReady(() => setProp(instance, prop, newValue));
|
|
75
|
+
}
|
|
76
|
+
// schedule updateCallback on next event loop
|
|
77
|
+
queueMicrotask(() => {
|
|
78
|
+
if (ngtInstance.updateCallback)
|
|
79
|
+
ngtInstance.updateCallback(instance);
|
|
80
|
+
});
|
|
81
|
+
return true;
|
|
82
|
+
});
|
|
83
|
+
},
|
|
84
|
+
};
|
|
85
|
+
ngtInstance.effect(tapEffect(() => () => {
|
|
86
|
+
if (storeReadySubscription)
|
|
87
|
+
storeReadySubscription.unsubscribe();
|
|
88
|
+
newValueSubscriptionMap.forEach((cleanUp) => cleanUp());
|
|
89
|
+
}))();
|
|
90
|
+
const proxied = new Proxy(instance, handler);
|
|
91
|
+
if (proxifyOptions.attach)
|
|
92
|
+
ngtInstance.attach = proxifyOptions.attach;
|
|
93
|
+
if (proxifyOptions.created)
|
|
94
|
+
proxifyOptions.created(proxied, store.read, ngtInstance);
|
|
95
|
+
ngtInstance.instanceRef.set(proxied);
|
|
96
|
+
return proxied;
|
|
97
|
+
});
|
|
98
|
+
}
|
|
99
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJveHkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9hbmd1bGFyLXRocmVlL3NyYy9saWIvdXRpbHMvcHJveHkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0MsT0FBTyxFQUFFLFlBQVksRUFBZ0IsTUFBTSxNQUFNLENBQUM7QUFDbEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxpQkFBaUIsRUFBRSxrQkFBa0IsRUFBZSxNQUFNLGFBQWEsQ0FBQztBQUNqRyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDdEQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRTNDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUMxQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBRXJDLE1BQU0sVUFBVSxPQUFPLENBQ25CLFFBQVcsRUFDWCxpQkFJSSxFQUFFO0lBRU4sTUFBTSxXQUFXLEdBQUcsY0FBYyxDQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7SUFDdEQsTUFBTSxLQUFLLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQy9CLE1BQU0sSUFBSSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUM1QixNQUFNLGNBQWMsR0FBRyxpQkFBaUIsQ0FBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7SUFFN0UsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsR0FBRyxFQUFFO1FBQy9CLG1DQUFtQztRQUNuQyxRQUFRLEdBQUcsT0FBTyxDQUNkLFFBQVEsRUFDUixL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QyxPQUFPLEVBQUUsQ0FBQyxDQUFDO1FBQzVELENBQUMsQ0FBQyxDQUNMLEVBQUUsQ0FBQztRQUVKLE1BQU0sT0FBTyxHQUFHLElBQUksS0FBSyxDQUFDLFFBQVEsRUFBRSxPQUFPLENBQUMsQ0FBQztRQUU3QyxJQUFJLGNBQWMsQ0FBQyxNQUFNO1lBQUUsV0FBVyxDQUFDLE1BQU0sR0FBRyxjQUFjLENBQUMsTUFBTSxDQUFDO1FBQ3RFLElBQUksY0FBYyxDQUFDLE9BQU87WUFBRSxjQUFjLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsSUFBSSxFQUFFLFdBQVcsQ0FBQyxDQUFDO1FBRXJGLFdBQVcsQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRXJDLE9BQU8sT0FBTyxDQUFDO0lBQ25CLENBQUMsQ0FBQyxDQUFDO0FBQ1AsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGluamVjdCwgTmdab25lIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBpc09ic2VydmFibGUsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgaW5qZWN0SW5zdGFuY2UsIGluamVjdEluc3RhbmNlUmVmLCBOR1RfUFJPWFlfSU5TVEFOQ0UsIE5ndEluc3RhbmNlIH0gZnJvbSAnLi4vaW5zdGFuY2UnO1xuaW1wb3J0IHsgdGFwRWZmZWN0IH0gZnJvbSAnLi4vc3RvcmVzL2NvbXBvbmVudC1zdG9yZSc7XG5pbXBvcnQgeyBOZ3RTdG9yZSB9IGZyb20gJy4uL3N0b3Jlcy9zdG9yZSc7XG5pbXBvcnQgeyBOZ3RBbnlGdW5jdGlvbiwgTmd0QXR0YWNoRnVuY3Rpb24sIE5ndFN0YXRlRmFjdG9yeSB9IGZyb20gJy4uL3R5cGVzJztcbmltcG9ydCB7IGFwcGx5UHJvcHMgfSBmcm9tICcuL2FwcGx5LXByb3BzJztcbmltcG9ydCB7IGNhcGl0YWxpemUgfSBmcm9tICcuL2NhcGl0YWxpemUnO1xuaW1wb3J0IHsgcHJlcGFyZSB9IGZyb20gJy4vaW5zdGFuY2UnO1xuXG5leHBvcnQgZnVuY3Rpb24gcHJveGlmeTxUIGV4dGVuZHMgb2JqZWN0PihcbiAgICBpbnN0YW5jZTogVCxcbiAgICBwcm94aWZ5T3B0aW9uczoge1xuICAgICAgICBhdHRhY2g/OiBzdHJpbmcgfCBzdHJpbmdbXSB8IE5ndEF0dGFjaEZ1bmN0aW9uPFQ+O1xuICAgICAgICBjcmVhdGVkPzogKGluc3RhbmNlOiBULCBzdGF0ZUZhY3Rvcnk6IE5ndFN0YXRlRmFjdG9yeSwgbmd0SW5zdGFuY2U6IE5ndEluc3RhbmNlKSA9PiB2b2lkO1xuICAgICAgICBwcmltaXRpdmU/OiBib29sZWFuO1xuICAgIH0gPSB7fVxuKTogVCB7XG4gICAgY29uc3Qgbmd0SW5zdGFuY2UgPSBpbmplY3RJbnN0YW5jZTxUPih7IGhvc3Q6IHRydWUgfSk7XG4gICAgY29uc3Qgc3RvcmUgPSBpbmplY3QoTmd0U3RvcmUpO1xuICAgIGNvbnN0IHpvbmUgPSBpbmplY3QoTmdab25lKTtcbiAgICBjb25zdCBwYXJlbnRJbnN0YW5jZSA9IGluamVjdEluc3RhbmNlUmVmKHsgc2tpcFNlbGY6IHRydWUsIG9wdGlvbmFsOiB0cnVlIH0pO1xuXG4gICAgcmV0dXJuIHpvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4ge1xuICAgICAgICAvLyBwcmVwIHRoZSBpbnN0YW5jZSB3LyBsb2NhbCBzdGF0ZVxuICAgICAgICBpbnN0YW5jZSA9IHByZXBhcmUoXG4gICAgICAgICAgICBpbnN0YW5jZSxcbiAgICAgICAgICAgIHN0b3JlLnJlYWQsXG4gICAgICAgICAgICBzdG9yZS5yb290U3RhdGVGYWN0b3J5LFxuICAgICAgICAgICAgcGFyZW50SW5zdGFuY2U/LigpLFxuICAgICAgICAgICAgbmd0SW5zdGFuY2UuaW5zdGFuY2VWYWx1ZSA/IG5ndEluc3RhbmNlLmluc3RhbmNlUmVmIDogdW5kZWZpbmVkLFxuICAgICAgICAgICAgISFwcm94aWZ5T3B0aW9ucy5wcmltaXRpdmVcbiAgICAgICAgKTtcblxuICAgICAgICBsZXQgc3RvcmVSZWFkeVN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuICAgICAgICBjb25zdCBuZXdWYWx1ZVN1YnNjcmlwdGlvbk1hcCA9IG5ldyBNYXA8c3RyaW5nLCAoKSA9PiB2b2lkPigpO1xuXG4gICAgICAgIGZ1bmN0aW9uIHNldFByb3Aob2JqOiBULCBwcm9wOiBzdHJpbmcsIG5ld1ZhbHVlOiBhbnkpOiAoKCkgPT4gdm9pZCkgfCB1bmRlZmluZWQge1xuICAgICAgICAgICAgY29uc3QgY2FwaXRhbGl6ZWRQcm9wID0gYHNldCR7Y2FwaXRhbGl6ZShwcm9wKX1gIGFzIGtleW9mIFQ7XG5cbiAgICAgICAgICAgIGlmIChpc09ic2VydmFibGUobmV3VmFsdWUpKSB7XG4gICAgICAgICAgICAgICAgY29uc3Qgc3ViID0gbmV3VmFsdWUuc3Vic2NyaWJlKCh2YWwpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKG9ialtjYXBpdGFsaXplZFByb3BdICYmIHR5cGVvZiBvYmpbY2FwaXRhbGl6ZWRQcm9wXSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgICAgICAgICAgICAgKG9ialtjYXBpdGFsaXplZFByb3BdIGFzIE5ndEFueUZ1bmN0aW9uKSh2YWwpO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgYXBwbHlQcm9wcyhvYmosIHsgW3Byb3BdOiB2YWwgfSk7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICBuZ3RJbnN0YW5jZS53cml0ZSh7IFtwcm9wXTogdmFsIH0pO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIHJldHVybiAoKSA9PiBzdWIudW5zdWJzY3JpYmUoKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKG9ialtjYXBpdGFsaXplZFByb3BdICYmIHR5cGVvZiBvYmpbY2FwaXRhbGl6ZWRQcm9wXSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgICAgIChvYmpbY2FwaXRhbGl6ZWRQcm9wXSBhcyBOZ3RBbnlGdW5jdGlvbikobmV3VmFsdWUpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBhcHBseVByb3BzKG9iaiwgeyBbcHJvcF06IG5ld1ZhbHVlIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgbmd0SW5zdGFuY2Uud3JpdGUoeyBbcHJvcF06IG5ld1ZhbHVlIH0pO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgaGFuZGxlcjogUHJveHlIYW5kbGVyPFQ+ID0ge1xuICAgICAgICAgICAgZ2V0KHRhcmdldDogVCwgcDogc3RyaW5nIHwgc3ltYm9sLCByZWNlaXZlcjogYW55KTogYW55IHtcbiAgICAgICAgICAgICAgICBpZiAocCA9PT0gJ2luc3RhbmNlUmVmJykgcmV0dXJuIG5ndEluc3RhbmNlLmluc3RhbmNlUmVmO1xuICAgICAgICAgICAgICAgIGlmIChwID09PSAnaW5zdGFuY2UnKSByZXR1cm4gbmd0SW5zdGFuY2U7XG4gICAgICAgICAgICAgICAgaWYgKHAgPT09IE5HVF9QUk9YWV9JTlNUQU5DRSkgcmV0dXJuIHRhcmdldDtcblxuICAgICAgICAgICAgICAgIGNvbnN0IGNhcGl0YWxpemVkUHJvcCA9IGBnZXQke2NhcGl0YWxpemUocCBhcyBzdHJpbmcpfWA7XG4gICAgICAgICAgICAgICAgaWYgKHRhcmdldFtjYXBpdGFsaXplZFByb3AgYXMga2V5b2YgVF0gJiYgdHlwZW9mIHRhcmdldFtjYXBpdGFsaXplZFByb3AgYXMga2V5b2YgVF0gPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICh0YXJnZXRbY2FwaXRhbGl6ZWRQcm9wIGFzIGtleW9mIFRdIGFzIEZ1bmN0aW9uKSgpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHJldHVybiBSZWZsZWN0LmdldCh0YXJnZXQsIHAsIHJlY2VpdmVyKTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBzZXQodGFyZ2V0OiBULCBwOiBzdHJpbmcgfCBzeW1ib2wsIG5ld1ZhbHVlOiBhbnksIHJlY2VpdmVyOiBhbnkpOiBib29sZWFuIHtcbiAgICAgICAgICAgICAgICBjb25zdCBwcm9wID0gcCBhcyBzdHJpbmc7XG5cbiAgICAgICAgICAgICAgICBpZiAoc3RvcmVSZWFkeVN1YnNjcmlwdGlvbikgc3RvcmVSZWFkeVN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgICAgICAgICAgICAgIGlmIChuZXdWYWx1ZVN1YnNjcmlwdGlvbk1hcC5oYXMocHJvcCkpIG5ld1ZhbHVlU3Vic2NyaXB0aW9uTWFwLmdldChwcm9wKSEoKTtcblxuICAgICAgICAgICAgICAgIC8vIEFuZ3VsYXIgc2V0cyB0aGlzIHByb3BlcnR5XG4gICAgICAgICAgICAgICAgaWYgKHAgPT09ICdfX25nQ29udGV4dF9fJykgcmV0dXJuIFJlZmxlY3Quc2V0KHRhcmdldCwgcCwgbmV3VmFsdWUsIHJlY2VpdmVyKTtcblxuICAgICAgICAgICAgICAgIHJldHVybiB6b25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgLy8gVE9ETzogZmlndXJlIG91dCB3aGF0IGVsc2Ugd2UgbmVlZCB0byBoYW5kbGVcbiAgICAgICAgICAgICAgICAgICAgLy8gd2Ugc2hvdWxkIGhhbmRsZSBpZiBuZXdWYWx1ZSBpcyBhbiBPYnNlcnZhYmxlIGFzIHdlbGxcbiAgICAgICAgICAgICAgICAgICAgaWYgKHN0b3JlLnJlYWQoKHMpID0+IHMucmVhZHkpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjbGVhblVwID0gc2V0UHJvcChpbnN0YW5jZSwgcHJvcCwgbmV3VmFsdWUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGNsZWFuVXApIG5ld1ZhbHVlU3Vic2NyaXB0aW9uTWFwLnNldChwcm9wLCBjbGVhblVwKTtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0b3JlUmVhZHlTdWJzY3JpcHRpb24gPSBzdG9yZS5vblJlYWR5KCgpID0+IHNldFByb3AoaW5zdGFuY2UsIHByb3AsIG5ld1ZhbHVlKSk7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAvLyBzY2hlZHVsZSB1cGRhdGVDYWxsYmFjayBvbiBuZXh0IGV2ZW50IGxvb3BcbiAgICAgICAgICAgICAgICAgICAgcXVldWVNaWNyb3Rhc2soKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKG5ndEluc3RhbmNlLnVwZGF0ZUNhbGxiYWNrKSBuZ3RJbnN0YW5jZS51cGRhdGVDYWxsYmFjayhpbnN0YW5jZSk7XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgfTtcblxuICAgICAgICBuZ3RJbnN0YW5jZS5lZmZlY3Q8dm9pZD4oXG4gICAgICAgICAgICB0YXBFZmZlY3QoKCkgPT4gKCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChzdG9yZVJlYWR5U3Vic2NyaXB0aW9uKSBzdG9yZVJlYWR5U3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgICAgICAgICAgbmV3VmFsdWVTdWJzY3JpcHRpb25NYXAuZm9yRWFjaCgoY2xlYW5VcCkgPT4gY2xlYW5VcCgpKTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICkoKTtcblxuICAgICAgICBjb25zdCBwcm94aWVkID0gbmV3IFByb3h5KGluc3RhbmNlLCBoYW5kbGVyKTtcblxuICAgICAgICBpZiAocHJveGlmeU9wdGlvbnMuYXR0YWNoKSBuZ3RJbnN0YW5jZS5hdHRhY2ggPSBwcm94aWZ5T3B0aW9ucy5hdHRhY2g7XG4gICAgICAgIGlmIChwcm94aWZ5T3B0aW9ucy5jcmVhdGVkKSBwcm94aWZ5T3B0aW9ucy5jcmVhdGVkKHByb3hpZWQsIHN0b3JlLnJlYWQsIG5ndEluc3RhbmNlKTtcblxuICAgICAgICBuZ3RJbnN0YW5jZS5pbnN0YW5jZVJlZi5zZXQocHJveGllZCk7XG5cbiAgICAgICAgcmV0dXJuIHByb3hpZWQ7XG4gICAgfSk7XG59XG4iXX0=
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import * as THREE from 'three';
|
|
2
|
+
export function createRenderer(glOptions, canvasElement) {
|
|
3
|
+
const customRenderer = (typeof glOptions === 'function' ? glOptions(canvasElement) : glOptions);
|
|
4
|
+
if (customRenderer?.render != null) {
|
|
5
|
+
return customRenderer;
|
|
6
|
+
}
|
|
7
|
+
return new THREE.WebGLRenderer({
|
|
8
|
+
powerPreference: 'high-performance',
|
|
9
|
+
canvas: canvasElement,
|
|
10
|
+
antialias: true,
|
|
11
|
+
alpha: true,
|
|
12
|
+
...(glOptions || {}),
|
|
13
|
+
});
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVuZGVyZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9hbmd1bGFyLXRocmVlL3NyYy9saWIvdXRpbHMvcmVuZGVyZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEtBQUssTUFBTSxPQUFPLENBQUM7QUFHL0IsTUFBTSxVQUFVLGNBQWMsQ0FBQyxTQUF1QixFQUFFLGFBQWdDO0lBQ3BGLE1BQU0sY0FBYyxHQUFHLENBQ25CLE9BQU8sU0FBUyxLQUFLLFVBQVUsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQ2xELENBQUM7SUFFekIsSUFBSSxjQUFjLEVBQUUsTUFBTSxJQUFJLElBQUksRUFBRTtRQUNoQyxPQUFPLGNBQWMsQ0FBQztLQUN6QjtJQUVELE9BQU8sSUFBSSxLQUFLLENBQUMsYUFBYSxDQUFDO1FBQzNCLGVBQWUsRUFBRSxrQkFBa0I7UUFDbkMsTUFBTSxFQUFFLGFBQWE7UUFDckIsU0FBUyxFQUFFLElBQUk7UUFDZixLQUFLLEVBQUUsSUFBSTtRQUNYLEdBQUcsQ0FBQyxTQUFTLElBQUksRUFBRSxDQUFDO0tBQ3ZCLENBQUMsQ0FBQztBQUNQLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBUSFJFRSBmcm9tICd0aHJlZSc7XG5pbXBvcnQgdHlwZSB7IE5ndEdMT3B0aW9ucyB9IGZyb20gJy4uL3R5cGVzJztcblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZVJlbmRlcmVyKGdsT3B0aW9uczogTmd0R0xPcHRpb25zLCBjYW52YXNFbGVtZW50OiBIVE1MQ2FudmFzRWxlbWVudCk6IFRIUkVFLldlYkdMUmVuZGVyZXIge1xuICAgIGNvbnN0IGN1c3RvbVJlbmRlcmVyID0gKFxuICAgICAgICB0eXBlb2YgZ2xPcHRpb25zID09PSAnZnVuY3Rpb24nID8gZ2xPcHRpb25zKGNhbnZhc0VsZW1lbnQpIDogZ2xPcHRpb25zXG4gICAgKSBhcyBUSFJFRS5XZWJHTFJlbmRlcmVyO1xuXG4gICAgaWYgKGN1c3RvbVJlbmRlcmVyPy5yZW5kZXIgIT0gbnVsbCkge1xuICAgICAgICByZXR1cm4gY3VzdG9tUmVuZGVyZXI7XG4gICAgfVxuXG4gICAgcmV0dXJuIG5ldyBUSFJFRS5XZWJHTFJlbmRlcmVyKHtcbiAgICAgICAgcG93ZXJQcmVmZXJlbmNlOiAnaGlnaC1wZXJmb3JtYW5jZScsXG4gICAgICAgIGNhbnZhczogY2FudmFzRWxlbWVudCxcbiAgICAgICAgYW50aWFsaWFzOiB0cnVlLFxuICAgICAgICBhbHBoYTogdHJ1ZSxcbiAgICAgICAgLi4uKGdsT3B0aW9ucyB8fCB7fSksXG4gICAgfSk7XG59XG4iXX0=
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generated bundle index. Do not edit.
|
|
3
|
+
*/
|
|
4
|
+
export * from './index';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhci10aHJlZS1saWdodHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9hbmd1bGFyLXRocmVlL2xpZ2h0cy9zcmMvYW5ndWxhci10aHJlZS1saWdodHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLFNBQVMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9pbmRleCc7XG4iXX0=
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
// GENERATED - AngularThree v1.0.0
|
|
2
|
+
export * from './lib/light-probe/light-probe';
|
|
3
|
+
export * from './lib/ambient-light/ambient-light';
|
|
4
|
+
export * from './lib/ambient-light-probe/ambient-light-probe';
|
|
5
|
+
export * from './lib/hemisphere-light/hemisphere-light';
|
|
6
|
+
export * from './lib/hemisphere-light-probe/hemisphere-light-probe';
|
|
7
|
+
export * from './lib/directional-light/directional-light';
|
|
8
|
+
export * from './lib/point-light/point-light';
|
|
9
|
+
export * from './lib/spot-light/spot-light';
|
|
10
|
+
export * from './lib/rect-area-light/rect-area-light';
|
|
11
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9hbmd1bGFyLXRocmVlL2xpZ2h0cy9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsa0NBQWtDO0FBQ2xDLGNBQWMsK0JBQStCLENBQUM7QUFDOUMsY0FBYyxtQ0FBbUMsQ0FBQztBQUNsRCxjQUFjLCtDQUErQyxDQUFDO0FBQzlELGNBQWMseUNBQXlDLENBQUM7QUFDeEQsY0FBYyxxREFBcUQsQ0FBQztBQUNwRSxjQUFjLDJDQUEyQyxDQUFDO0FBQzFELGNBQWMsK0JBQStCLENBQUM7QUFDOUMsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLHVDQUF1QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gR0VORVJBVEVEIC0gQW5ndWxhclRocmVlIHYxLjAuMFxuZXhwb3J0ICogZnJvbSAnLi9saWIvbGlnaHQtcHJvYmUvbGlnaHQtcHJvYmUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvYW1iaWVudC1saWdodC9hbWJpZW50LWxpZ2h0JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FtYmllbnQtbGlnaHQtcHJvYmUvYW1iaWVudC1saWdodC1wcm9iZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9oZW1pc3BoZXJlLWxpZ2h0L2hlbWlzcGhlcmUtbGlnaHQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvaGVtaXNwaGVyZS1saWdodC1wcm9iZS9oZW1pc3BoZXJlLWxpZ2h0LXByb2JlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RpcmVjdGlvbmFsLWxpZ2h0L2RpcmVjdGlvbmFsLWxpZ2h0JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3BvaW50LWxpZ2h0L3BvaW50LWxpZ2h0JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3Nwb3QtbGlnaHQvc3BvdC1saWdodCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9yZWN0LWFyZWEtbGlnaHQvcmVjdC1hcmVhLWxpZ2h0JztcbiJdfQ==
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
// GENERATED - AngularThree v1.0.0
|
|
2
|
+
import * as THREE from 'three';
|
|
3
|
+
import { Component } from '@angular/core';
|
|
4
|
+
import { injectArgs, NGT_INSTANCE_INPUTS, NGT_INSTANCE_OUTPUTS, NgtInstance, provideInstanceRef, proxify, } from 'angular-three';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
import * as i1 from "angular-three";
|
|
7
|
+
export class NgtAmbientLight extends THREE.AmbientLight {
|
|
8
|
+
constructor() {
|
|
9
|
+
super(...(injectArgs({ optional: true }) || []));
|
|
10
|
+
return proxify(this);
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
NgtAmbientLight.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: NgtAmbientLight, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
14
|
+
NgtAmbientLight.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.0", type: NgtAmbientLight, isStandalone: true, selector: "ngt-ambient-light", inputs: { color: "color", intensity: "intensity", hex: "hex", shadow: "shadow", shadowCameraFov: "shadowCameraFov", shadowCameraLeft: "shadowCameraLeft", shadowCameraRight: "shadowCameraRight", shadowCameraTop: "shadowCameraTop", shadowCameraBottom: "shadowCameraBottom", shadowCameraNear: "shadowCameraNear", shadowCameraFar: "shadowCameraFar", shadowBias: "shadowBias", shadowMapWidth: "shadowMapWidth", shadowMapHeight: "shadowMapHeight", name: "name", position: "position", rotation: "rotation", quaternion: "quaternion", scale: "scale", modelViewMatrix: "modelViewMatrix", normalMatrix: "normalMatrix", matrix: "matrix", matrixWorld: "matrixWorld", matrixAutoUpdate: "matrixAutoUpdate", matrixWorldAutoUpdate: "matrixWorldAutoUpdate", matrixWorldNeedsUpdate: "matrixWorldNeedsUpdate", layers: "layers", visible: "visible", castShadow: "castShadow", receiveShadow: "receiveShadow", frustumCulled: "frustumCulled", renderOrder: "renderOrder", animations: "animations", userData: "userData", customDepthMaterial: "customDepthMaterial", customDistanceMaterial: "customDistanceMaterial", onBeforeRender: "onBeforeRender", onAfterRender: "onAfterRender" }, providers: [provideInstanceRef(NgtAmbientLight)], usesInheritance: true, hostDirectives: [{ directive: i1.NgtInstance }], ngImport: i0, template: '<ng-content></ng-content>', isInline: true });
|
|
15
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: NgtAmbientLight, decorators: [{
|
|
16
|
+
type: Component,
|
|
17
|
+
args: [{
|
|
18
|
+
selector: 'ngt-ambient-light',
|
|
19
|
+
standalone: true,
|
|
20
|
+
template: '<ng-content></ng-content>',
|
|
21
|
+
hostDirectives: [{ directive: NgtInstance, inputs: NGT_INSTANCE_INPUTS, outputs: NGT_INSTANCE_OUTPUTS }],
|
|
22
|
+
providers: [provideInstanceRef(NgtAmbientLight)],
|
|
23
|
+
inputs: [...getInputs()],
|
|
24
|
+
}]
|
|
25
|
+
}], ctorParameters: function () { return []; } });
|
|
26
|
+
function getInputs() {
|
|
27
|
+
return [
|
|
28
|
+
'color',
|
|
29
|
+
'intensity',
|
|
30
|
+
'hex',
|
|
31
|
+
'shadow',
|
|
32
|
+
'shadowCameraFov',
|
|
33
|
+
'shadowCameraLeft',
|
|
34
|
+
'shadowCameraRight',
|
|
35
|
+
'shadowCameraTop',
|
|
36
|
+
'shadowCameraBottom',
|
|
37
|
+
'shadowCameraNear',
|
|
38
|
+
'shadowCameraFar',
|
|
39
|
+
'shadowBias',
|
|
40
|
+
'shadowMapWidth',
|
|
41
|
+
'shadowMapHeight',
|
|
42
|
+
'name',
|
|
43
|
+
'position',
|
|
44
|
+
'rotation',
|
|
45
|
+
'quaternion',
|
|
46
|
+
'scale',
|
|
47
|
+
'modelViewMatrix',
|
|
48
|
+
'normalMatrix',
|
|
49
|
+
'matrix',
|
|
50
|
+
'matrixWorld',
|
|
51
|
+
'matrixAutoUpdate',
|
|
52
|
+
'matrixWorldAutoUpdate',
|
|
53
|
+
'matrixWorldNeedsUpdate',
|
|
54
|
+
'layers',
|
|
55
|
+
'visible',
|
|
56
|
+
'castShadow',
|
|
57
|
+
'receiveShadow',
|
|
58
|
+
'frustumCulled',
|
|
59
|
+
'renderOrder',
|
|
60
|
+
'animations',
|
|
61
|
+
'userData',
|
|
62
|
+
'customDepthMaterial',
|
|
63
|
+
'customDistanceMaterial',
|
|
64
|
+
'onBeforeRender',
|
|
65
|
+
'onAfterRender',
|
|
66
|
+
];
|
|
67
|
+
}
|
|
68
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW1iaWVudC1saWdodC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2FuZ3VsYXItdGhyZWUvbGlnaHRzL3NyYy9saWIvYW1iaWVudC1saWdodC9hbWJpZW50LWxpZ2h0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGtDQUFrQztBQUNsQyxPQUFPLEtBQUssS0FBSyxNQUFNLE9BQU8sQ0FBQztBQUMvQixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFDLE9BQU8sRUFDSCxVQUFVLEVBQ1YsbUJBQW1CLEVBQ25CLG9CQUFvQixFQUNwQixXQUFXLEVBQ1gsa0JBQWtCLEVBQ2xCLE9BQU8sR0FPVixNQUFNLGVBQWUsQ0FBQzs7O0FBVXZCLE1BQU0sT0FBTyxlQUFnQixTQUFRLEtBQUssQ0FBQyxZQUFZO0lBQ25EO1FBQ0ksS0FBSyxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQTRCLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQztRQUM1RSxPQUFPLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN6QixDQUFDOzs0R0FKUSxlQUFlO2dHQUFmLGVBQWUsb3NDQUhiLENBQUMsa0JBQWtCLENBQUMsZUFBZSxDQUFDLENBQUMsa0dBRnRDLDJCQUEyQjsyRkFLNUIsZUFBZTtrQkFSM0IsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsbUJBQW1CO29CQUM3QixVQUFVLEVBQUUsSUFBSTtvQkFDaEIsUUFBUSxFQUFFLDJCQUEyQjtvQkFDckMsY0FBYyxFQUFFLENBQUMsRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxtQkFBbUIsRUFBRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsQ0FBQztvQkFDeEcsU0FBUyxFQUFFLENBQUMsa0JBQWtCLGlCQUFpQixDQUFDO29CQUNoRCxNQUFNLEVBQUUsQ0FBQyxHQUFHLFNBQVMsRUFBRSxDQUFDO2lCQUMzQjs7QUFpRUQsU0FBUyxTQUFTO0lBQ2QsT0FBTztRQUNILE9BQU87UUFDUCxXQUFXO1FBQ1gsS0FBSztRQUNMLFFBQVE7UUFDUixpQkFBaUI7UUFDakIsa0JBQWtCO1FBQ2xCLG1CQUFtQjtRQUNuQixpQkFBaUI7UUFDakIsb0JBQW9CO1FBQ3BCLGtCQUFrQjtRQUNsQixpQkFBaUI7UUFDakIsWUFBWTtRQUNaLGdCQUFnQjtRQUNoQixpQkFBaUI7UUFDakIsTUFBTTtRQUNOLFVBQVU7UUFDVixVQUFVO1FBQ1YsWUFBWTtRQUNaLE9BQU87UUFDUCxpQkFBaUI7UUFDakIsY0FBYztRQUNkLFFBQVE7UUFDUixhQUFhO1FBQ2Isa0JBQWtCO1FBQ2xCLHVCQUF1QjtRQUN2Qix3QkFBd0I7UUFDeEIsUUFBUTtRQUNSLFNBQVM7UUFDVCxZQUFZO1FBQ1osZUFBZTtRQUNmLGVBQWU7UUFDZixhQUFhO1FBQ2IsWUFBWTtRQUNaLFVBQVU7UUFDVixxQkFBcUI7UUFDckIsd0JBQXdCO1FBQ3hCLGdCQUFnQjtRQUNoQixlQUFlO0tBQ2xCLENBQUM7QUFDTixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gR0VORVJBVEVEIC0gQW5ndWxhclRocmVlIHYxLjAuMFxuaW1wb3J0ICogYXMgVEhSRUUgZnJvbSAndGhyZWUnO1xuaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICAgIGluamVjdEFyZ3MsXG4gICAgTkdUX0lOU1RBTkNFX0lOUFVUUyxcbiAgICBOR1RfSU5TVEFOQ0VfT1VUUFVUUyxcbiAgICBOZ3RJbnN0YW5jZSxcbiAgICBwcm92aWRlSW5zdGFuY2VSZWYsXG4gICAgcHJveGlmeSxcbiAgICBOZ3RWZWN0b3IzLFxuICAgIE5ndEV1bGVyLFxuICAgIE5ndFF1YXRlcm5pb24sXG4gICAgTmd0TWF0cml4NCxcbiAgICBOZ3RMYXllcnMsXG4gICAgTmd0T2JzZXJ2YWJsZUlucHV0LFxufSBmcm9tICdhbmd1bGFyLXRocmVlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICduZ3QtYW1iaWVudC1saWdodCcsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAgIGhvc3REaXJlY3RpdmVzOiBbeyBkaXJlY3RpdmU6IE5ndEluc3RhbmNlLCBpbnB1dHM6IE5HVF9JTlNUQU5DRV9JTlBVVFMsIG91dHB1dHM6IE5HVF9JTlNUQU5DRV9PVVRQVVRTIH1dLFxuICAgIHByb3ZpZGVyczogW3Byb3ZpZGVJbnN0YW5jZVJlZihOZ3RBbWJpZW50TGlnaHQpXSxcbiAgICBpbnB1dHM6IFsuLi5nZXRJbnB1dHMoKV0sXG59KVxuZXhwb3J0IGNsYXNzIE5ndEFtYmllbnRMaWdodCBleHRlbmRzIFRIUkVFLkFtYmllbnRMaWdodCB7XG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHN1cGVyKC4uLihpbmplY3RBcmdzPHR5cGVvZiBUSFJFRS5BbWJpZW50TGlnaHQ+KHsgb3B0aW9uYWw6IHRydWUgfSkgfHwgW10pKTtcbiAgICAgICAgcmV0dXJuIHByb3hpZnkodGhpcyk7XG4gICAgfVxuXG4gICAgc3RhdGljIG5nQWNjZXB0SW5wdXRUeXBlX2NvbG9yOiBOZ3RPYnNlcnZhYmxlSW5wdXQ8VEhSRUUuQ29sb3JSZXByZXNlbnRhdGlvbj4gfCB1bmRlZmluZWQ7XG4gICAgc3RhdGljIG5nQWNjZXB0SW5wdXRUeXBlX2ludGVuc2l0eTogTmd0T2JzZXJ2YWJsZUlucHV0PG51bWJlcj4gfCB1bmRlZmluZWQ7XG4gICAgc3RhdGljIG5nQWNjZXB0SW5wdXRUeXBlX2hleDogTmd0T2JzZXJ2YWJsZUlucHV0PG51bWJlciB8IHN0cmluZz4gfCB1bmRlZmluZWQ7XG4gICAgc3RhdGljIG5nQWNjZXB0SW5wdXRUeXBlX3NoYWRvdzogTmd0T2JzZXJ2YWJsZUlucHV0PFRIUkVFLkxpZ2h0U2hhZG93PjtcbiAgICBzdGF0aWMgbmdBY2NlcHRJbnB1dFR5cGVfc2hhZG93Q2FtZXJhRm92OiBOZ3RPYnNlcnZhYmxlSW5wdXQ8YW55PjtcbiAgICBzdGF0aWMgbmdBY2NlcHRJbnB1dFR5cGVfc2hhZG93Q2FtZXJhTGVmdDogTmd0T2JzZXJ2YWJsZUlucHV0PGFueT47XG4gICAgc3RhdGljIG5nQWNjZXB0SW5wdXRUeXBlX3NoYWRvd0NhbWVyYVJpZ2h0OiBOZ3RPYnNlcnZhYmxlSW5wdXQ8YW55PjtcbiAgICBzdGF0aWMgbmdBY2NlcHRJbnB1dFR5cGVfc2hhZG93Q2FtZXJhVG9wOiBOZ3RPYnNlcnZhYmxlSW5wdXQ8YW55PjtcbiAgICBzdGF0aWMgbmdBY2NlcHRJbnB1dFR5cGVfc2hhZG93Q2FtZXJhQm90dG9tOiBOZ3RPYnNlcnZhYmxlSW5wdXQ8YW55PjtcbiAgICBzdGF0aWMgbmdBY2NlcHRJbnB1dFR5cGVfc2hhZG93Q2FtZXJhTmVhcjogTmd0T2JzZXJ2YWJsZUlucHV0PGFueT47XG4gICAgc3RhdGljIG5nQWNjZXB0SW5wdXRUeXBlX3NoYWRvd0NhbWVyYUZhcjogTmd0T2JzZXJ2YWJsZUlucHV0PGFueT47XG4gICAgc3RhdGljIG5nQWNjZXB0SW5wdXRUeXBlX3NoYWRvd0JpYXM6IE5ndE9ic2VydmFibGVJbnB1dDxhbnk+O1xuICAgIHN0YXRpYyBuZ0FjY2VwdElucHV0VHlwZV9zaGFkb3dNYXBXaWR0aDogTmd0T2JzZXJ2YWJsZUlucHV0PGFueT47XG4gICAgc3RhdGljIG5nQWNjZXB0SW5wdXRUeXBlX3NoYWRvd01hcEhlaWdodDogTmd0T2JzZXJ2YWJsZUlucHV0PGFueT47XG4gICAgc3RhdGljIG5nQWNjZXB0SW5wdXRUeXBlX25hbWU6IE5ndE9ic2VydmFibGVJbnB1dDxzdHJpbmc+O1xuICAgIHN0YXRpYyBuZ0FjY2VwdElucHV0VHlwZV9wb3NpdGlvbjogTmd0T2JzZXJ2YWJsZUlucHV0PE5ndFZlY3RvcjM+O1xuICAgIHN0YXRpYyBuZ0FjY2VwdElucHV0VHlwZV9yb3RhdGlvbjogTmd0T2JzZXJ2YWJsZUlucHV0PE5ndEV1bGVyPjtcbiAgICBzdGF0aWMgbmdBY2NlcHRJbnB1dFR5cGVfcXVhdGVybmlvbjogTmd0T2JzZXJ2YWJsZUlucHV0PE5ndFF1YXRlcm5pb24+O1xuICAgIHN0YXRpYyBuZ0FjY2VwdElucHV0VHlwZV9zY2FsZTogTmd0T2JzZXJ2YWJsZUlucHV0PE5ndFZlY3RvcjM+O1xuICAgIHN0YXRpYyBuZ0FjY2VwdElucHV0VHlwZV9tb2RlbFZpZXdNYXRyaXg6IE5ndE9ic2VydmFibGVJbnB1dDxOZ3RNYXRyaXg0PjtcbiAgICBzdGF0aWMgbmdBY2NlcHRJbnB1dFR5cGVfbm9ybWFsTWF0cml4OiBOZ3RPYnNlcnZhYmxlSW5wdXQ8VEhSRUUuTWF0cml4Mz47XG4gICAgc3RhdGljIG5nQWNjZXB0SW5wdXRUeXBlX21hdHJpeDogTmd0T2JzZXJ2YWJsZUlucHV0PE5ndE1hdHJpeDQ+O1xuICAgIHN0YXRpYyBuZ0FjY2VwdElucHV0VHlwZV9tYXRyaXhXb3JsZDogTmd0T2JzZXJ2YWJsZUlucHV0PE5ndE1hdHJpeDQ+O1xuICAgIHN0YXRpYyBuZ0FjY2VwdElucHV0VHlwZV9tYXRyaXhBdXRvVXBkYXRlOiBOZ3RPYnNlcnZhYmxlSW5wdXQ8Ym9vbGVhbj47XG4gICAgc3RhdGljIG5nQWNjZXB0SW5wdXRUeXBlX21hdHJpeFdvcmxkQXV0b1VwZGF0ZTogTmd0T2JzZXJ2YWJsZUlucHV0PGJvb2xlYW4+O1xuICAgIHN0YXRpYyBuZ0FjY2VwdElucHV0VHlwZV9tYXRyaXhXb3JsZE5lZWRzVXBkYXRlOiBOZ3RPYnNlcnZhYmxlSW5wdXQ8Ym9vbGVhbj47XG4gICAgc3RhdGljIG5nQWNjZXB0SW5wdXRUeXBlX2xheWVyczogTmd0T2JzZXJ2YWJsZUlucHV0PE5ndExheWVycz47XG4gICAgc3RhdGljIG5nQWNjZXB0SW5wdXRUeXBlX3Zpc2libGU6IE5ndE9ic2VydmFibGVJbnB1dDxib29sZWFuPjtcbiAgICBzdGF0aWMgbmdBY2NlcHRJbnB1dFR5cGVfY2FzdFNoYWRvdzogTmd0T2JzZXJ2YWJsZUlucHV0PGJvb2xlYW4+O1xuICAgIHN0YXRpYyBuZ0FjY2VwdElucHV0VHlwZV9yZWNlaXZlU2hhZG93OiBOZ3RPYnNlcnZhYmxlSW5wdXQ8Ym9vbGVhbj47XG4gICAgc3RhdGljIG5nQWNjZXB0SW5wdXRUeXBlX2ZydXN0dW1DdWxsZWQ6IE5ndE9ic2VydmFibGVJbnB1dDxib29sZWFuPjtcbiAgICBzdGF0aWMgbmdBY2NlcHRJbnB1dFR5cGVfcmVuZGVyT3JkZXI6IE5ndE9ic2VydmFibGVJbnB1dDxudW1iZXI+O1xuICAgIHN0YXRpYyBuZ0FjY2VwdElucHV0VHlwZV9hbmltYXRpb25zOiBOZ3RPYnNlcnZhYmxlSW5wdXQ8VEhSRUUuQW5pbWF0aW9uQ2xpcFtdPjtcbiAgICBzdGF0aWMgbmdBY2NlcHRJbnB1dFR5cGVfdXNlckRhdGE6IE5ndE9ic2VydmFibGVJbnB1dDx7IFtrZXk6IHN0cmluZ106IGFueSB9PjtcbiAgICBzdGF0aWMgbmdBY2NlcHRJbnB1dFR5cGVfY3VzdG9tRGVwdGhNYXRlcmlhbDogTmd0T2JzZXJ2YWJsZUlucHV0PFRIUkVFLk1hdGVyaWFsPjtcbiAgICBzdGF0aWMgbmdBY2NlcHRJbnB1dFR5cGVfY3VzdG9tRGlzdGFuY2VNYXRlcmlhbDogTmd0T2JzZXJ2YWJsZUlucHV0PFRIUkVFLk1hdGVyaWFsPjtcbiAgICBzdGF0aWMgbmdBY2NlcHRJbnB1dFR5cGVfb25CZWZvcmVSZW5kZXI6IE5ndE9ic2VydmFibGVJbnB1dDxcbiAgICAgICAgKFxuICAgICAgICAgICAgcmVuZGVyZXI6IFRIUkVFLldlYkdMUmVuZGVyZXIsXG4gICAgICAgICAgICBzY2VuZTogVEhSRUUuU2NlbmUsXG4gICAgICAgICAgICBjYW1lcmE6IFRIUkVFLkNhbWVyYSxcbiAgICAgICAgICAgIGdlb21ldHJ5OiBUSFJFRS5CdWZmZXJHZW9tZXRyeSxcbiAgICAgICAgICAgIG1hdGVyaWFsOiBUSFJFRS5NYXRlcmlhbCxcbiAgICAgICAgICAgIGdyb3VwOiBUSFJFRS5Hcm91cFxuICAgICAgICApID0+IHZvaWRcbiAgICA+O1xuICAgIHN0YXRpYyBuZ0FjY2VwdElucHV0VHlwZV9vbkFmdGVyUmVuZGVyOiBOZ3RPYnNlcnZhYmxlSW5wdXQ8XG4gICAgICAgIChcbiAgICAgICAgICAgIHJlbmRlcmVyOiBUSFJFRS5XZWJHTFJlbmRlcmVyLFxuICAgICAgICAgICAgc2NlbmU6IFRIUkVFLlNjZW5lLFxuICAgICAgICAgICAgY2FtZXJhOiBUSFJFRS5DYW1lcmEsXG4gICAgICAgICAgICBnZW9tZXRyeTogVEhSRUUuQnVmZmVyR2VvbWV0cnksXG4gICAgICAgICAgICBtYXRlcmlhbDogVEhSRUUuTWF0ZXJpYWwsXG4gICAgICAgICAgICBncm91cDogVEhSRUUuR3JvdXBcbiAgICAgICAgKSA9PiB2b2lkXG4gICAgPjtcbn1cblxuZnVuY3Rpb24gZ2V0SW5wdXRzKCkge1xuICAgIHJldHVybiBbXG4gICAgICAgICdjb2xvcicsXG4gICAgICAgICdpbnRlbnNpdHknLFxuICAgICAgICAnaGV4JyxcbiAgICAgICAgJ3NoYWRvdycsXG4gICAgICAgICdzaGFkb3dDYW1lcmFGb3YnLFxuICAgICAgICAnc2hhZG93Q2FtZXJhTGVmdCcsXG4gICAgICAgICdzaGFkb3dDYW1lcmFSaWdodCcsXG4gICAgICAgICdzaGFkb3dDYW1lcmFUb3AnLFxuICAgICAgICAnc2hhZG93Q2FtZXJhQm90dG9tJyxcbiAgICAgICAgJ3NoYWRvd0NhbWVyYU5lYXInLFxuICAgICAgICAnc2hhZG93Q2FtZXJhRmFyJyxcbiAgICAgICAgJ3NoYWRvd0JpYXMnLFxuICAgICAgICAnc2hhZG93TWFwV2lkdGgnLFxuICAgICAgICAnc2hhZG93TWFwSGVpZ2h0JyxcbiAgICAgICAgJ25hbWUnLFxuICAgICAgICAncG9zaXRpb24nLFxuICAgICAgICAncm90YXRpb24nLFxuICAgICAgICAncXVhdGVybmlvbicsXG4gICAgICAgICdzY2FsZScsXG4gICAgICAgICdtb2RlbFZpZXdNYXRyaXgnLFxuICAgICAgICAnbm9ybWFsTWF0cml4JyxcbiAgICAgICAgJ21hdHJpeCcsXG4gICAgICAgICdtYXRyaXhXb3JsZCcsXG4gICAgICAgICdtYXRyaXhBdXRvVXBkYXRlJyxcbiAgICAgICAgJ21hdHJpeFdvcmxkQXV0b1VwZGF0ZScsXG4gICAgICAgICdtYXRyaXhXb3JsZE5lZWRzVXBkYXRlJyxcbiAgICAgICAgJ2xheWVycycsXG4gICAgICAgICd2aXNpYmxlJyxcbiAgICAgICAgJ2Nhc3RTaGFkb3cnLFxuICAgICAgICAncmVjZWl2ZVNoYWRvdycsXG4gICAgICAgICdmcnVzdHVtQ3VsbGVkJyxcbiAgICAgICAgJ3JlbmRlck9yZGVyJyxcbiAgICAgICAgJ2FuaW1hdGlvbnMnLFxuICAgICAgICAndXNlckRhdGEnLFxuICAgICAgICAnY3VzdG9tRGVwdGhNYXRlcmlhbCcsXG4gICAgICAgICdjdXN0b21EaXN0YW5jZU1hdGVyaWFsJyxcbiAgICAgICAgJ29uQmVmb3JlUmVuZGVyJyxcbiAgICAgICAgJ29uQWZ0ZXJSZW5kZXInLFxuICAgIF07XG59XG4iXX0=
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
// GENERATED - AngularThree v1.0.0
|
|
2
|
+
import * as THREE from 'three';
|
|
3
|
+
import { Component } from '@angular/core';
|
|
4
|
+
import { injectArgs, NGT_INSTANCE_INPUTS, NGT_INSTANCE_OUTPUTS, NgtInstance, provideInstanceRef, proxify, } from 'angular-three';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
import * as i1 from "angular-three";
|
|
7
|
+
export class NgtAmbientLightProbe extends THREE.AmbientLightProbe {
|
|
8
|
+
constructor() {
|
|
9
|
+
super(...(injectArgs({ optional: true }) || []));
|
|
10
|
+
return proxify(this);
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
NgtAmbientLightProbe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: NgtAmbientLightProbe, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
14
|
+
NgtAmbientLightProbe.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.0", type: NgtAmbientLightProbe, isStandalone: true, selector: "ngt-ambient-light-probe", inputs: { color: "color", intensity: "intensity", sh: "sh", hex: "hex", shadow: "shadow", shadowCameraFov: "shadowCameraFov", shadowCameraLeft: "shadowCameraLeft", shadowCameraRight: "shadowCameraRight", shadowCameraTop: "shadowCameraTop", shadowCameraBottom: "shadowCameraBottom", shadowCameraNear: "shadowCameraNear", shadowCameraFar: "shadowCameraFar", shadowBias: "shadowBias", shadowMapWidth: "shadowMapWidth", shadowMapHeight: "shadowMapHeight", name: "name", position: "position", rotation: "rotation", quaternion: "quaternion", scale: "scale", modelViewMatrix: "modelViewMatrix", normalMatrix: "normalMatrix", matrix: "matrix", matrixWorld: "matrixWorld", matrixAutoUpdate: "matrixAutoUpdate", matrixWorldAutoUpdate: "matrixWorldAutoUpdate", matrixWorldNeedsUpdate: "matrixWorldNeedsUpdate", layers: "layers", visible: "visible", castShadow: "castShadow", receiveShadow: "receiveShadow", frustumCulled: "frustumCulled", renderOrder: "renderOrder", animations: "animations", userData: "userData", customDepthMaterial: "customDepthMaterial", customDistanceMaterial: "customDistanceMaterial", onBeforeRender: "onBeforeRender", onAfterRender: "onAfterRender" }, providers: [provideInstanceRef(NgtAmbientLightProbe)], usesInheritance: true, hostDirectives: [{ directive: i1.NgtInstance }], ngImport: i0, template: '<ng-content></ng-content>', isInline: true });
|
|
15
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: NgtAmbientLightProbe, decorators: [{
|
|
16
|
+
type: Component,
|
|
17
|
+
args: [{
|
|
18
|
+
selector: 'ngt-ambient-light-probe',
|
|
19
|
+
standalone: true,
|
|
20
|
+
template: '<ng-content></ng-content>',
|
|
21
|
+
hostDirectives: [{ directive: NgtInstance, inputs: NGT_INSTANCE_INPUTS, outputs: NGT_INSTANCE_OUTPUTS }],
|
|
22
|
+
providers: [provideInstanceRef(NgtAmbientLightProbe)],
|
|
23
|
+
inputs: [...getInputs()],
|
|
24
|
+
}]
|
|
25
|
+
}], ctorParameters: function () { return []; } });
|
|
26
|
+
function getInputs() {
|
|
27
|
+
return [
|
|
28
|
+
'color',
|
|
29
|
+
'intensity',
|
|
30
|
+
'sh',
|
|
31
|
+
'hex',
|
|
32
|
+
'shadow',
|
|
33
|
+
'shadowCameraFov',
|
|
34
|
+
'shadowCameraLeft',
|
|
35
|
+
'shadowCameraRight',
|
|
36
|
+
'shadowCameraTop',
|
|
37
|
+
'shadowCameraBottom',
|
|
38
|
+
'shadowCameraNear',
|
|
39
|
+
'shadowCameraFar',
|
|
40
|
+
'shadowBias',
|
|
41
|
+
'shadowMapWidth',
|
|
42
|
+
'shadowMapHeight',
|
|
43
|
+
'name',
|
|
44
|
+
'position',
|
|
45
|
+
'rotation',
|
|
46
|
+
'quaternion',
|
|
47
|
+
'scale',
|
|
48
|
+
'modelViewMatrix',
|
|
49
|
+
'normalMatrix',
|
|
50
|
+
'matrix',
|
|
51
|
+
'matrixWorld',
|
|
52
|
+
'matrixAutoUpdate',
|
|
53
|
+
'matrixWorldAutoUpdate',
|
|
54
|
+
'matrixWorldNeedsUpdate',
|
|
55
|
+
'layers',
|
|
56
|
+
'visible',
|
|
57
|
+
'castShadow',
|
|
58
|
+
'receiveShadow',
|
|
59
|
+
'frustumCulled',
|
|
60
|
+
'renderOrder',
|
|
61
|
+
'animations',
|
|
62
|
+
'userData',
|
|
63
|
+
'customDepthMaterial',
|
|
64
|
+
'customDistanceMaterial',
|
|
65
|
+
'onBeforeRender',
|
|
66
|
+
'onAfterRender',
|
|
67
|
+
];
|
|
68
|
+
}
|
|
69
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW1iaWVudC1saWdodC1wcm9iZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2FuZ3VsYXItdGhyZWUvbGlnaHRzL3NyYy9saWIvYW1iaWVudC1saWdodC1wcm9iZS9hbWJpZW50LWxpZ2h0LXByb2JlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGtDQUFrQztBQUNsQyxPQUFPLEtBQUssS0FBSyxNQUFNLE9BQU8sQ0FBQztBQUMvQixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFDLE9BQU8sRUFDSCxVQUFVLEVBQ1YsbUJBQW1CLEVBQ25CLG9CQUFvQixFQUNwQixXQUFXLEVBQ1gsa0JBQWtCLEVBQ2xCLE9BQU8sR0FPVixNQUFNLGVBQWUsQ0FBQzs7O0FBVXZCLE1BQU0sT0FBTyxvQkFBcUIsU0FBUSxLQUFLLENBQUMsaUJBQWlCO0lBQzdEO1FBQ0ksS0FBSyxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQWlDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQztRQUNqRixPQUFPLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN6QixDQUFDOztpSEFKUSxvQkFBb0I7cUdBQXBCLG9CQUFvQixvdENBSGxCLENBQUMsa0JBQWtCLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxrR0FGM0MsMkJBQTJCOzJGQUs1QixvQkFBb0I7a0JBUmhDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLHlCQUF5QjtvQkFDbkMsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFFBQVEsRUFBRSwyQkFBMkI7b0JBQ3JDLGNBQWMsRUFBRSxDQUFDLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUUsbUJBQW1CLEVBQUUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLENBQUM7b0JBQ3hHLFNBQVMsRUFBRSxDQUFDLGtCQUFrQixzQkFBc0IsQ0FBQztvQkFDckQsTUFBTSxFQUFFLENBQUMsR0FBRyxTQUFTLEVBQUUsQ0FBQztpQkFDM0I7O0FBa0VELFNBQVMsU0FBUztJQUNkLE9BQU87UUFDSCxPQUFPO1FBQ1AsV0FBVztRQUNYLElBQUk7UUFDSixLQUFLO1FBQ0wsUUFBUTtRQUNSLGlCQUFpQjtRQUNqQixrQkFBa0I7UUFDbEIsbUJBQW1CO1FBQ25CLGlCQUFpQjtRQUNqQixvQkFBb0I7UUFDcEIsa0JBQWtCO1FBQ2xCLGlCQUFpQjtRQUNqQixZQUFZO1FBQ1osZ0JBQWdCO1FBQ2hCLGlCQUFpQjtRQUNqQixNQUFNO1FBQ04sVUFBVTtRQUNWLFVBQVU7UUFDVixZQUFZO1FBQ1osT0FBTztRQUNQLGlCQUFpQjtRQUNqQixjQUFjO1FBQ2QsUUFBUTtRQUNSLGFBQWE7UUFDYixrQkFBa0I7UUFDbEIsdUJBQXVCO1FBQ3ZCLHdCQUF3QjtRQUN4QixRQUFRO1FBQ1IsU0FBUztRQUNULFlBQVk7UUFDWixlQUFlO1FBQ2YsZUFBZTtRQUNmLGFBQWE7UUFDYixZQUFZO1FBQ1osVUFBVTtRQUNWLHFCQUFxQjtRQUNyQix3QkFBd0I7UUFDeEIsZ0JBQWdCO1FBQ2hCLGVBQWU7S0FDbEIsQ0FBQztBQUNOLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBHRU5FUkFURUQgLSBBbmd1bGFyVGhyZWUgdjEuMC4wXG5pbXBvcnQgKiBhcyBUSFJFRSBmcm9tICd0aHJlZSc7XG5pbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gICAgaW5qZWN0QXJncyxcbiAgICBOR1RfSU5TVEFOQ0VfSU5QVVRTLFxuICAgIE5HVF9JTlNUQU5DRV9PVVRQVVRTLFxuICAgIE5ndEluc3RhbmNlLFxuICAgIHByb3ZpZGVJbnN0YW5jZVJlZixcbiAgICBwcm94aWZ5LFxuICAgIE5ndFZlY3RvcjMsXG4gICAgTmd0RXVsZXIsXG4gICAgTmd0UXVhdGVybmlvbixcbiAgICBOZ3RNYXRyaXg0LFxuICAgIE5ndExheWVycyxcbiAgICBOZ3RPYnNlcnZhYmxlSW5wdXQsXG59IGZyb20gJ2FuZ3VsYXItdGhyZWUnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ25ndC1hbWJpZW50LWxpZ2h0LXByb2JlJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gICAgaG9zdERpcmVjdGl2ZXM6IFt7IGRpcmVjdGl2ZTogTmd0SW5zdGFuY2UsIGlucHV0czogTkdUX0lOU1RBTkNFX0lOUFVUUywgb3V0cHV0czogTkdUX0lOU1RBTkNFX09VVFBVVFMgfV0sXG4gICAgcHJvdmlkZXJzOiBbcHJvdmlkZUluc3RhbmNlUmVmKE5ndEFtYmllbnRMaWdodFByb2JlKV0sXG4gICAgaW5wdXRzOiBbLi4uZ2V0SW5wdXRzKCldLFxufSlcbmV4cG9ydCBjbGFzcyBOZ3RBbWJpZW50TGlnaHRQcm9iZSBleHRlbmRzIFRIUkVFLkFtYmllbnRMaWdodFByb2JlIHtcbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgc3VwZXIoLi4uKGluamVjdEFyZ3M8dHlwZW9mIFRIUkVFLkFtYmllbnRMaWdodFByb2JlPih7IG9wdGlvbmFsOiB0cnVlIH0pIHx8IFtdKSk7XG4gICAgICAgIHJldHVybiBwcm94aWZ5KHRoaXMpO1xuICAgIH1cblxuICAgIHN0YXRpYyBuZ0FjY2VwdElucHV0VHlwZV9jb2xvcjogTmd0T2JzZXJ2YWJsZUlucHV0PFRIUkVFLkNvbG9yUmVwcmVzZW50YXRpb24+IHwgdW5kZWZpbmVkO1xuICAgIHN0YXRpYyBuZ0FjY2VwdElucHV0VHlwZV9pbnRlbnNpdHk6IE5ndE9ic2VydmFibGVJbnB1dDxudW1iZXI+IHwgdW5kZWZpbmVkO1xuICAgIHN0YXRpYyBuZ0FjY2VwdElucHV0VHlwZV9zaDogTmd0T2JzZXJ2YWJsZUlucHV0PFRIUkVFLlNwaGVyaWNhbEhhcm1vbmljczM+O1xuICAgIHN0YXRpYyBuZ0FjY2VwdElucHV0VHlwZV9oZXg6IE5ndE9ic2VydmFibGVJbnB1dDxudW1iZXIgfCBzdHJpbmc+IHwgdW5kZWZpbmVkO1xuICAgIHN0YXRpYyBuZ0FjY2VwdElucHV0VHlwZV9zaGFkb3c6IE5ndE9ic2VydmFibGVJbnB1dDxUSFJFRS5MaWdodFNoYWRvdz47XG4gICAgc3RhdGljIG5nQWNjZXB0SW5wdXRUeXBlX3NoYWRvd0NhbWVyYUZvdjogTmd0T2JzZXJ2YWJsZUlucHV0PGFueT47XG4gICAgc3RhdGljIG5nQWNjZXB0SW5wdXRUeXBlX3NoYWRvd0NhbWVyYUxlZnQ6IE5ndE9ic2VydmFibGVJbnB1dDxhbnk+O1xuICAgIHN0YXRpYyBuZ0FjY2VwdElucHV0VHlwZV9zaGFkb3dDYW1lcmFSaWdodDogTmd0T2JzZXJ2YWJsZUlucHV0PGFueT47XG4gICAgc3RhdGljIG5nQWNjZXB0SW5wdXRUeXBlX3NoYWRvd0NhbWVyYVRvcDogTmd0T2JzZXJ2YWJsZUlucHV0PGFueT47XG4gICAgc3RhdGljIG5nQWNjZXB0SW5wdXRUeXBlX3NoYWRvd0NhbWVyYUJvdHRvbTogTmd0T2JzZXJ2YWJsZUlucHV0PGFueT47XG4gICAgc3RhdGljIG5nQWNjZXB0SW5wdXRUeXBlX3NoYWRvd0NhbWVyYU5lYXI6IE5ndE9ic2VydmFibGVJbnB1dDxhbnk+O1xuICAgIHN0YXRpYyBuZ0FjY2VwdElucHV0VHlwZV9zaGFkb3dDYW1lcmFGYXI6IE5ndE9ic2VydmFibGVJbnB1dDxhbnk+O1xuICAgIHN0YXRpYyBuZ0FjY2VwdElucHV0VHlwZV9zaGFkb3dCaWFzOiBOZ3RPYnNlcnZhYmxlSW5wdXQ8YW55PjtcbiAgICBzdGF0aWMgbmdBY2NlcHRJbnB1dFR5cGVfc2hhZG93TWFwV2lkdGg6IE5ndE9ic2VydmFibGVJbnB1dDxhbnk+O1xuICAgIHN0YXRpYyBuZ0FjY2VwdElucHV0VHlwZV9zaGFkb3dNYXBIZWlnaHQ6IE5ndE9ic2VydmFibGVJbnB1dDxhbnk+O1xuICAgIHN0YXRpYyBuZ0FjY2VwdElucHV0VHlwZV9uYW1lOiBOZ3RPYnNlcnZhYmxlSW5wdXQ8c3RyaW5nPjtcbiAgICBzdGF0aWMgbmdBY2NlcHRJbnB1dFR5cGVfcG9zaXRpb246IE5ndE9ic2VydmFibGVJbnB1dDxOZ3RWZWN0b3IzPjtcbiAgICBzdGF0aWMgbmdBY2NlcHRJbnB1dFR5cGVfcm90YXRpb246IE5ndE9ic2VydmFibGVJbnB1dDxOZ3RFdWxlcj47XG4gICAgc3RhdGljIG5nQWNjZXB0SW5wdXRUeXBlX3F1YXRlcm5pb246IE5ndE9ic2VydmFibGVJbnB1dDxOZ3RRdWF0ZXJuaW9uPjtcbiAgICBzdGF0aWMgbmdBY2NlcHRJbnB1dFR5cGVfc2NhbGU6IE5ndE9ic2VydmFibGVJbnB1dDxOZ3RWZWN0b3IzPjtcbiAgICBzdGF0aWMgbmdBY2NlcHRJbnB1dFR5cGVfbW9kZWxWaWV3TWF0cml4OiBOZ3RPYnNlcnZhYmxlSW5wdXQ8Tmd0TWF0cml4ND47XG4gICAgc3RhdGljIG5nQWNjZXB0SW5wdXRUeXBlX25vcm1hbE1hdHJpeDogTmd0T2JzZXJ2YWJsZUlucHV0PFRIUkVFLk1hdHJpeDM+O1xuICAgIHN0YXRpYyBuZ0FjY2VwdElucHV0VHlwZV9tYXRyaXg6IE5ndE9ic2VydmFibGVJbnB1dDxOZ3RNYXRyaXg0PjtcbiAgICBzdGF0aWMgbmdBY2NlcHRJbnB1dFR5cGVfbWF0cml4V29ybGQ6IE5ndE9ic2VydmFibGVJbnB1dDxOZ3RNYXRyaXg0PjtcbiAgICBzdGF0aWMgbmdBY2NlcHRJbnB1dFR5cGVfbWF0cml4QXV0b1VwZGF0ZTogTmd0T2JzZXJ2YWJsZUlucHV0PGJvb2xlYW4+O1xuICAgIHN0YXRpYyBuZ0FjY2VwdElucHV0VHlwZV9tYXRyaXhXb3JsZEF1dG9VcGRhdGU6IE5ndE9ic2VydmFibGVJbnB1dDxib29sZWFuPjtcbiAgICBzdGF0aWMgbmdBY2NlcHRJbnB1dFR5cGVfbWF0cml4V29ybGROZWVkc1VwZGF0ZTogTmd0T2JzZXJ2YWJsZUlucHV0PGJvb2xlYW4+O1xuICAgIHN0YXRpYyBuZ0FjY2VwdElucHV0VHlwZV9sYXllcnM6IE5ndE9ic2VydmFibGVJbnB1dDxOZ3RMYXllcnM+O1xuICAgIHN0YXRpYyBuZ0FjY2VwdElucHV0VHlwZV92aXNpYmxlOiBOZ3RPYnNlcnZhYmxlSW5wdXQ8Ym9vbGVhbj47XG4gICAgc3RhdGljIG5nQWNjZXB0SW5wdXRUeXBlX2Nhc3RTaGFkb3c6IE5ndE9ic2VydmFibGVJbnB1dDxib29sZWFuPjtcbiAgICBzdGF0aWMgbmdBY2NlcHRJbnB1dFR5cGVfcmVjZWl2ZVNoYWRvdzogTmd0T2JzZXJ2YWJsZUlucHV0PGJvb2xlYW4+O1xuICAgIHN0YXRpYyBuZ0FjY2VwdElucHV0VHlwZV9mcnVzdHVtQ3VsbGVkOiBOZ3RPYnNlcnZhYmxlSW5wdXQ8Ym9vbGVhbj47XG4gICAgc3RhdGljIG5nQWNjZXB0SW5wdXRUeXBlX3JlbmRlck9yZGVyOiBOZ3RPYnNlcnZhYmxlSW5wdXQ8bnVtYmVyPjtcbiAgICBzdGF0aWMgbmdBY2NlcHRJbnB1dFR5cGVfYW5pbWF0aW9uczogTmd0T2JzZXJ2YWJsZUlucHV0PFRIUkVFLkFuaW1hdGlvbkNsaXBbXT47XG4gICAgc3RhdGljIG5nQWNjZXB0SW5wdXRUeXBlX3VzZXJEYXRhOiBOZ3RPYnNlcnZhYmxlSW5wdXQ8eyBba2V5OiBzdHJpbmddOiBhbnkgfT47XG4gICAgc3RhdGljIG5nQWNjZXB0SW5wdXRUeXBlX2N1c3RvbURlcHRoTWF0ZXJpYWw6IE5ndE9ic2VydmFibGVJbnB1dDxUSFJFRS5NYXRlcmlhbD47XG4gICAgc3RhdGljIG5nQWNjZXB0SW5wdXRUeXBlX2N1c3RvbURpc3RhbmNlTWF0ZXJpYWw6IE5ndE9ic2VydmFibGVJbnB1dDxUSFJFRS5NYXRlcmlhbD47XG4gICAgc3RhdGljIG5nQWNjZXB0SW5wdXRUeXBlX29uQmVmb3JlUmVuZGVyOiBOZ3RPYnNlcnZhYmxlSW5wdXQ8XG4gICAgICAgIChcbiAgICAgICAgICAgIHJlbmRlcmVyOiBUSFJFRS5XZWJHTFJlbmRlcmVyLFxuICAgICAgICAgICAgc2NlbmU6IFRIUkVFLlNjZW5lLFxuICAgICAgICAgICAgY2FtZXJhOiBUSFJFRS5DYW1lcmEsXG4gICAgICAgICAgICBnZW9tZXRyeTogVEhSRUUuQnVmZmVyR2VvbWV0cnksXG4gICAgICAgICAgICBtYXRlcmlhbDogVEhSRUUuTWF0ZXJpYWwsXG4gICAgICAgICAgICBncm91cDogVEhSRUUuR3JvdXBcbiAgICAgICAgKSA9PiB2b2lkXG4gICAgPjtcbiAgICBzdGF0aWMgbmdBY2NlcHRJbnB1dFR5cGVfb25BZnRlclJlbmRlcjogTmd0T2JzZXJ2YWJsZUlucHV0PFxuICAgICAgICAoXG4gICAgICAgICAgICByZW5kZXJlcjogVEhSRUUuV2ViR0xSZW5kZXJlcixcbiAgICAgICAgICAgIHNjZW5lOiBUSFJFRS5TY2VuZSxcbiAgICAgICAgICAgIGNhbWVyYTogVEhSRUUuQ2FtZXJhLFxuICAgICAgICAgICAgZ2VvbWV0cnk6IFRIUkVFLkJ1ZmZlckdlb21ldHJ5LFxuICAgICAgICAgICAgbWF0ZXJpYWw6IFRIUkVFLk1hdGVyaWFsLFxuICAgICAgICAgICAgZ3JvdXA6IFRIUkVFLkdyb3VwXG4gICAgICAgICkgPT4gdm9pZFxuICAgID47XG59XG5cbmZ1bmN0aW9uIGdldElucHV0cygpIHtcbiAgICByZXR1cm4gW1xuICAgICAgICAnY29sb3InLFxuICAgICAgICAnaW50ZW5zaXR5JyxcbiAgICAgICAgJ3NoJyxcbiAgICAgICAgJ2hleCcsXG4gICAgICAgICdzaGFkb3cnLFxuICAgICAgICAnc2hhZG93Q2FtZXJhRm92JyxcbiAgICAgICAgJ3NoYWRvd0NhbWVyYUxlZnQnLFxuICAgICAgICAnc2hhZG93Q2FtZXJhUmlnaHQnLFxuICAgICAgICAnc2hhZG93Q2FtZXJhVG9wJyxcbiAgICAgICAgJ3NoYWRvd0NhbWVyYUJvdHRvbScsXG4gICAgICAgICdzaGFkb3dDYW1lcmFOZWFyJyxcbiAgICAgICAgJ3NoYWRvd0NhbWVyYUZhcicsXG4gICAgICAgICdzaGFkb3dCaWFzJyxcbiAgICAgICAgJ3NoYWRvd01hcFdpZHRoJyxcbiAgICAgICAgJ3NoYWRvd01hcEhlaWdodCcsXG4gICAgICAgICduYW1lJyxcbiAgICAgICAgJ3Bvc2l0aW9uJyxcbiAgICAgICAgJ3JvdGF0aW9uJyxcbiAgICAgICAgJ3F1YXRlcm5pb24nLFxuICAgICAgICAnc2NhbGUnLFxuICAgICAgICAnbW9kZWxWaWV3TWF0cml4JyxcbiAgICAgICAgJ25vcm1hbE1hdHJpeCcsXG4gICAgICAgICdtYXRyaXgnLFxuICAgICAgICAnbWF0cml4V29ybGQnLFxuICAgICAgICAnbWF0cml4QXV0b1VwZGF0ZScsXG4gICAgICAgICdtYXRyaXhXb3JsZEF1dG9VcGRhdGUnLFxuICAgICAgICAnbWF0cml4V29ybGROZWVkc1VwZGF0ZScsXG4gICAgICAgICdsYXllcnMnLFxuICAgICAgICAndmlzaWJsZScsXG4gICAgICAgICdjYXN0U2hhZG93JyxcbiAgICAgICAgJ3JlY2VpdmVTaGFkb3cnLFxuICAgICAgICAnZnJ1c3R1bUN1bGxlZCcsXG4gICAgICAgICdyZW5kZXJPcmRlcicsXG4gICAgICAgICdhbmltYXRpb25zJyxcbiAgICAgICAgJ3VzZXJEYXRhJyxcbiAgICAgICAgJ2N1c3RvbURlcHRoTWF0ZXJpYWwnLFxuICAgICAgICAnY3VzdG9tRGlzdGFuY2VNYXRlcmlhbCcsXG4gICAgICAgICdvbkJlZm9yZVJlbmRlcicsXG4gICAgICAgICdvbkFmdGVyUmVuZGVyJyxcbiAgICBdO1xufVxuIl19
|