angular-three 0.0.7 → 1.0.0-beta.0
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/esm2020/angular-three.mjs +1 -1
- package/esm2020/index.mjs +2 -35
- package/esm2020/lib/canvas.mjs +141 -128
- package/esm2020/lib/di/catalogue.mjs +7 -0
- package/esm2020/lib/directives/args.mjs +37 -17
- package/esm2020/lib/directives/repeat.mjs +5 -8
- package/esm2020/lib/events.mjs +341 -52
- package/esm2020/lib/loader.mjs +55 -0
- package/esm2020/lib/loop.mjs +137 -0
- package/esm2020/lib/renderer/di.mjs +3 -0
- package/esm2020/lib/renderer/enums.mjs +2 -0
- package/esm2020/lib/renderer/provider.mjs +19 -0
- package/esm2020/lib/renderer/renderer.mjs +293 -0
- package/esm2020/lib/renderer/state.mjs +350 -0
- package/esm2020/lib/renderer/utils.mjs +177 -0
- package/esm2020/lib/stores/rx-store.mjs +99 -0
- package/esm2020/lib/stores/store.mjs +190 -239
- package/esm2020/lib/types.mjs +1 -1
- package/esm2020/lib/utils/apply-props.mjs +37 -80
- package/esm2020/lib/utils/attach.mjs +29 -0
- package/esm2020/lib/utils/instance.mjs +43 -28
- package/esm2020/lib/utils/is.mjs +7 -11
- package/esm2020/lib/utils/make.mjs +30 -10
- package/esm2020/lib/utils/update.mjs +37 -0
- package/esm2020/lib/web/events.mjs +68 -0
- package/fesm2015/angular-three.mjs +2053 -2046
- package/fesm2015/angular-three.mjs.map +1 -1
- package/fesm2020/angular-three.mjs +2003 -1990
- package/fesm2020/angular-three.mjs.map +1 -1
- package/index.d.ts +1 -34
- package/lib/canvas.d.ts +29 -28
- package/lib/di/catalogue.d.ts +3 -0
- package/lib/directives/args.d.ts +8 -12
- package/lib/events.d.ts +7 -2
- package/lib/loader.d.ts +15 -0
- package/lib/{utils/loop.d.ts → loop.d.ts} +7 -6
- package/lib/renderer/di.d.ts +2 -0
- package/lib/renderer/enums.d.ts +25 -0
- package/lib/renderer/provider.d.ts +25 -0
- package/lib/renderer/renderer.d.ts +49 -0
- package/lib/renderer/state.d.ts +59 -0
- package/lib/renderer/utils.d.ts +20 -0
- package/lib/stores/rx-store.d.ts +17 -0
- package/lib/stores/store.d.ts +6 -23
- package/lib/types.d.ts +182 -191
- package/lib/utils/apply-props.d.ts +2 -6
- package/lib/utils/attach.d.ts +3 -0
- package/lib/utils/instance.d.ts +3 -3
- package/lib/utils/is.d.ts +6 -10
- package/lib/utils/make.d.ts +5 -2
- package/lib/utils/update.d.ts +4 -0
- package/lib/web/events.d.ts +4 -0
- package/package.json +30 -99
- package/attributes/README.md +0 -3
- package/attributes/index.d.ts +0 -22
- package/attributes/lib/buffer-attribute/buffer-attribute.d.ts +0 -8
- package/attributes/lib/color-attribute/color-attribute.d.ts +0 -8
- package/attributes/lib/common.d.ts +0 -1
- package/attributes/lib/float16-buffer-attribute/float16-buffer-attribute.d.ts +0 -8
- package/attributes/lib/float32-buffer-attribute/float32-buffer-attribute.d.ts +0 -8
- package/attributes/lib/float64-buffer-attribute/float64-buffer-attribute.d.ts +0 -8
- package/attributes/lib/fog-attribute/fog-attribute.d.ts +0 -8
- package/attributes/lib/fog-exp2-attribute/fog-exp2-attribute.d.ts +0 -8
- package/attributes/lib/instanced-buffer-attribute/instanced-buffer-attribute.d.ts +0 -8
- package/attributes/lib/int16-buffer-attribute/int16-buffer-attribute.d.ts +0 -8
- package/attributes/lib/int32-buffer-attribute/int32-buffer-attribute.d.ts +0 -8
- package/attributes/lib/int8-buffer-attribute/int8-buffer-attribute.d.ts +0 -8
- package/attributes/lib/interleaved-buffer-attribute/interleaved-buffer-attribute.d.ts +0 -8
- package/attributes/lib/matrix3-attribute/matrix3-attribute.d.ts +0 -8
- package/attributes/lib/matrix4-attribute/matrix4-attribute.d.ts +0 -8
- package/attributes/lib/uint16-buffer-attribute/uint16-buffer-attribute.d.ts +0 -8
- package/attributes/lib/uint32-buffer-attribute/uint32-buffer-attribute.d.ts +0 -8
- package/attributes/lib/uint8-buffer-attribute/uint8-buffer-attribute.d.ts +0 -8
- package/attributes/lib/uint8-clamped-buffer-attribute/uint8-clamped-buffer-attribute.d.ts +0 -8
- package/attributes/lib/value-attribute/value-attribute.d.ts +0 -8
- package/attributes/lib/vector2-attribute/vector2-attribute.d.ts +0 -8
- package/attributes/lib/vector3-attribute/vector3-attribute.d.ts +0 -8
- package/attributes/lib/vector4-attribute/vector4-attribute.d.ts +0 -8
- package/audios/README.md +0 -3
- package/audios/index.d.ts +0 -3
- package/audios/lib/audio/audio.d.ts +0 -49
- package/audios/lib/audio-listener/audio-listener.d.ts +0 -35
- package/audios/lib/common.d.ts +0 -3
- package/audios/lib/positional-audio/positional-audio.d.ts +0 -49
- package/cameras/README.md +0 -3
- package/cameras/index.d.ts +0 -5
- package/cameras/lib/array-camera/array-camera.d.ts +0 -56
- package/cameras/lib/common.d.ts +0 -3
- package/cameras/lib/cube-camera/cube-camera.d.ts +0 -36
- package/cameras/lib/orthographic-camera/orthographic-camera.d.ts +0 -54
- package/cameras/lib/perspective-camera/perspective-camera.d.ts +0 -55
- package/cameras/lib/stereo-camera/stereo-camera.d.ts +0 -42
- package/esm2020/attributes/angular-three-attributes.mjs +0 -5
- package/esm2020/attributes/index.mjs +0 -24
- package/esm2020/attributes/lib/buffer-attribute/buffer-attribute.mjs +0 -26
- package/esm2020/attributes/lib/color-attribute/color-attribute.mjs +0 -26
- package/esm2020/attributes/lib/common.mjs +0 -13
- package/esm2020/attributes/lib/float16-buffer-attribute/float16-buffer-attribute.mjs +0 -26
- package/esm2020/attributes/lib/float32-buffer-attribute/float32-buffer-attribute.mjs +0 -26
- package/esm2020/attributes/lib/float64-buffer-attribute/float64-buffer-attribute.mjs +0 -26
- package/esm2020/attributes/lib/fog-attribute/fog-attribute.mjs +0 -26
- package/esm2020/attributes/lib/fog-exp2-attribute/fog-exp2-attribute.mjs +0 -26
- package/esm2020/attributes/lib/instanced-buffer-attribute/instanced-buffer-attribute.mjs +0 -26
- package/esm2020/attributes/lib/int16-buffer-attribute/int16-buffer-attribute.mjs +0 -26
- package/esm2020/attributes/lib/int32-buffer-attribute/int32-buffer-attribute.mjs +0 -26
- package/esm2020/attributes/lib/int8-buffer-attribute/int8-buffer-attribute.mjs +0 -26
- package/esm2020/attributes/lib/interleaved-buffer-attribute/interleaved-buffer-attribute.mjs +0 -30
- package/esm2020/attributes/lib/matrix3-attribute/matrix3-attribute.mjs +0 -26
- package/esm2020/attributes/lib/matrix4-attribute/matrix4-attribute.mjs +0 -26
- package/esm2020/attributes/lib/uint16-buffer-attribute/uint16-buffer-attribute.mjs +0 -26
- package/esm2020/attributes/lib/uint32-buffer-attribute/uint32-buffer-attribute.mjs +0 -26
- package/esm2020/attributes/lib/uint8-buffer-attribute/uint8-buffer-attribute.mjs +0 -26
- package/esm2020/attributes/lib/uint8-clamped-buffer-attribute/uint8-clamped-buffer-attribute.mjs +0 -26
- package/esm2020/attributes/lib/value-attribute/value-attribute.mjs +0 -28
- package/esm2020/attributes/lib/vector2-attribute/vector2-attribute.mjs +0 -26
- package/esm2020/attributes/lib/vector3-attribute/vector3-attribute.mjs +0 -26
- package/esm2020/attributes/lib/vector4-attribute/vector4-attribute.mjs +0 -26
- package/esm2020/audios/angular-three-audios.mjs +0 -5
- package/esm2020/audios/index.mjs +0 -5
- package/esm2020/audios/lib/audio/audio.mjs +0 -45
- package/esm2020/audios/lib/audio-listener/audio-listener.mjs +0 -38
- package/esm2020/audios/lib/common.mjs +0 -54
- package/esm2020/audios/lib/positional-audio/positional-audio.mjs +0 -45
- package/esm2020/cameras/angular-three-cameras.mjs +0 -5
- package/esm2020/cameras/index.mjs +0 -7
- package/esm2020/cameras/lib/array-camera/array-camera.mjs +0 -44
- package/esm2020/cameras/lib/common.mjs +0 -54
- package/esm2020/cameras/lib/cube-camera/cube-camera.mjs +0 -30
- package/esm2020/cameras/lib/orthographic-camera/orthographic-camera.mjs +0 -42
- package/esm2020/cameras/lib/perspective-camera/perspective-camera.mjs +0 -43
- package/esm2020/cameras/lib/stereo-camera/stereo-camera.mjs +0 -38
- package/esm2020/geometries/angular-three-geometries.mjs +0 -5
- package/esm2020/geometries/index.mjs +0 -25
- package/esm2020/geometries/lib/box-geometry/box-geometry.mjs +0 -26
- package/esm2020/geometries/lib/buffer-geometry/buffer-geometry.mjs +0 -26
- package/esm2020/geometries/lib/capsule-geometry/capsule-geometry.mjs +0 -26
- package/esm2020/geometries/lib/circle-geometry/circle-geometry.mjs +0 -26
- package/esm2020/geometries/lib/common.mjs +0 -13
- package/esm2020/geometries/lib/cone-geometry/cone-geometry.mjs +0 -26
- package/esm2020/geometries/lib/cylinder-geometry/cylinder-geometry.mjs +0 -26
- package/esm2020/geometries/lib/dodecahedron-geometry/dodecahedron-geometry.mjs +0 -26
- package/esm2020/geometries/lib/edges-geometry/edges-geometry.mjs +0 -26
- package/esm2020/geometries/lib/extrude-geometry/extrude-geometry.mjs +0 -26
- package/esm2020/geometries/lib/icosahedron-geometry/icosahedron-geometry.mjs +0 -26
- package/esm2020/geometries/lib/instanced-buffer-geometry/instanced-buffer-geometry.mjs +0 -26
- package/esm2020/geometries/lib/lathe-geometry/lathe-geometry.mjs +0 -26
- package/esm2020/geometries/lib/octahedron-geometry/octahedron-geometry.mjs +0 -26
- package/esm2020/geometries/lib/plane-geometry/plane-geometry.mjs +0 -26
- package/esm2020/geometries/lib/polyhedron-geometry/polyhedron-geometry.mjs +0 -26
- package/esm2020/geometries/lib/ring-geometry/ring-geometry.mjs +0 -26
- package/esm2020/geometries/lib/shape-geometry/shape-geometry.mjs +0 -26
- package/esm2020/geometries/lib/sphere-geometry/sphere-geometry.mjs +0 -26
- package/esm2020/geometries/lib/tetrahedron-geometry/tetrahedron-geometry.mjs +0 -26
- package/esm2020/geometries/lib/torus-geometry/torus-geometry.mjs +0 -26
- package/esm2020/geometries/lib/torus-knot-geometry/torus-knot-geometry.mjs +0 -26
- package/esm2020/geometries/lib/tube-geometry/tube-geometry.mjs +0 -26
- package/esm2020/geometries/lib/wireframe-geometry/wireframe-geometry.mjs +0 -26
- package/esm2020/helpers/angular-three-helpers.mjs +0 -5
- package/esm2020/helpers/index.mjs +0 -15
- package/esm2020/helpers/lib/arrow-helper/arrow-helper.mjs +0 -26
- package/esm2020/helpers/lib/axes-helper/axes-helper.mjs +0 -26
- package/esm2020/helpers/lib/box-helper/box-helper.mjs +0 -36
- package/esm2020/helpers/lib/box3-helper/box3-helper.mjs +0 -36
- package/esm2020/helpers/lib/camera-helper/camera-helper.mjs +0 -36
- package/esm2020/helpers/lib/common.mjs +0 -13
- package/esm2020/helpers/lib/directional-light-helper/directional-light-helper.mjs +0 -36
- package/esm2020/helpers/lib/grid-helper/grid-helper.mjs +0 -26
- package/esm2020/helpers/lib/hemisphere-light-helper/hemisphere-light-helper.mjs +0 -36
- package/esm2020/helpers/lib/plane-helper/plane-helper.mjs +0 -36
- package/esm2020/helpers/lib/point-light-helper/point-light-helper.mjs +0 -36
- package/esm2020/helpers/lib/polar-grid-helper/polar-grid-helper.mjs +0 -26
- package/esm2020/helpers/lib/skeleton-helper/skeleton-helper.mjs +0 -36
- package/esm2020/helpers/lib/spot-light-helper/spot-light-helper.mjs +0 -36
- package/esm2020/lib/di/resize.mjs +0 -19
- package/esm2020/lib/di/window.mjs +0 -13
- package/esm2020/lib/directives/cursor.mjs +0 -35
- package/esm2020/lib/instance.mjs +0 -368
- package/esm2020/lib/pipes/math.mjs +0 -15
- package/esm2020/lib/pipes/pi.mjs +0 -14
- package/esm2020/lib/pipes/radian.mjs +0 -14
- package/esm2020/lib/pipes/side.mjs +0 -22
- package/esm2020/lib/ref.mjs +0 -15
- package/esm2020/lib/services/loader.mjs +0 -45
- package/esm2020/lib/services/resize.mjs +0 -127
- package/esm2020/lib/stores/component-store.mjs +0 -137
- package/esm2020/lib/utils/build-graph.mjs +0 -15
- package/esm2020/lib/utils/camera.mjs +0 -28
- package/esm2020/lib/utils/capitalize.mjs +0 -4
- package/esm2020/lib/utils/check-update.mjs +0 -22
- package/esm2020/lib/utils/events.mjs +0 -353
- package/esm2020/lib/utils/get-instance-local-state.mjs +0 -6
- package/esm2020/lib/utils/inject.mjs +0 -18
- package/esm2020/lib/utils/loop.mjs +0 -139
- package/esm2020/lib/utils/mutate.mjs +0 -24
- package/esm2020/lib/utils/proxy.mjs +0 -99
- package/esm2020/lib/utils/renderer.mjs +0 -15
- package/esm2020/lights/angular-three-lights.mjs +0 -5
- package/esm2020/lights/index.mjs +0 -11
- package/esm2020/lights/lib/ambient-light/ambient-light.mjs +0 -30
- package/esm2020/lights/lib/ambient-light-probe/ambient-light-probe.mjs +0 -30
- package/esm2020/lights/lib/common.mjs +0 -54
- package/esm2020/lights/lib/directional-light/directional-light.mjs +0 -30
- package/esm2020/lights/lib/hemisphere-light/hemisphere-light.mjs +0 -30
- package/esm2020/lights/lib/hemisphere-light-probe/hemisphere-light-probe.mjs +0 -30
- package/esm2020/lights/lib/light-probe/light-probe.mjs +0 -30
- package/esm2020/lights/lib/point-light/point-light.mjs +0 -30
- package/esm2020/lights/lib/rect-area-light/rect-area-light.mjs +0 -30
- package/esm2020/lights/lib/spot-light/spot-light.mjs +0 -42
- package/esm2020/materials/angular-three-materials.mjs +0 -5
- package/esm2020/materials/index.mjs +0 -19
- package/esm2020/materials/lib/common.mjs +0 -13
- package/esm2020/materials/lib/line-basic-material/line-basic-material.mjs +0 -77
- package/esm2020/materials/lib/line-dashed-material/line-dashed-material.mjs +0 -80
- package/esm2020/materials/lib/mesh-basic-material/mesh-basic-material.mjs +0 -89
- package/esm2020/materials/lib/mesh-depth-material/mesh-depth-material.mjs +0 -80
- package/esm2020/materials/lib/mesh-distance-material/mesh-distance-material.mjs +0 -80
- package/esm2020/materials/lib/mesh-lambert-material/mesh-lambert-material.mjs +0 -100
- package/esm2020/materials/lib/mesh-matcap-material/mesh-matcap-material.mjs +0 -86
- package/esm2020/materials/lib/mesh-normal-material/mesh-normal-material.mjs +0 -83
- package/esm2020/materials/lib/mesh-phong-material/mesh-phong-material.mjs +0 -103
- package/esm2020/materials/lib/mesh-physical-material/mesh-physical-material.mjs +0 -119
- package/esm2020/materials/lib/mesh-standard-material/mesh-standard-material.mjs +0 -100
- package/esm2020/materials/lib/mesh-toon-material/mesh-toon-material.mjs +0 -96
- package/esm2020/materials/lib/points-material/points-material.mjs +0 -78
- package/esm2020/materials/lib/raw-shader-material/raw-shader-material.mjs +0 -83
- package/esm2020/materials/lib/shader-material/shader-material.mjs +0 -83
- package/esm2020/materials/lib/shadow-material/shadow-material.mjs +0 -74
- package/esm2020/materials/lib/sprite-material/sprite-material.mjs +0 -78
- package/esm2020/objects/angular-three-objects.mjs +0 -5
- package/esm2020/objects/index.mjs +0 -14
- package/esm2020/objects/lib/bone/bone.mjs +0 -27
- package/esm2020/objects/lib/common.mjs +0 -54
- package/esm2020/objects/lib/group/group.mjs +0 -27
- package/esm2020/objects/lib/instanced-mesh/instanced-mesh.mjs +0 -40
- package/esm2020/objects/lib/line/line.mjs +0 -30
- package/esm2020/objects/lib/line-loop/line-loop.mjs +0 -30
- package/esm2020/objects/lib/line-segments/line-segments.mjs +0 -30
- package/esm2020/objects/lib/lod/lod.mjs +0 -30
- package/esm2020/objects/lib/mesh/mesh.mjs +0 -30
- package/esm2020/objects/lib/points/points.mjs +0 -30
- package/esm2020/objects/lib/skeleton/skeleton.mjs +0 -41
- package/esm2020/objects/lib/skinned-mesh/skinned-mesh.mjs +0 -39
- package/esm2020/objects/lib/sprite/sprite.mjs +0 -30
- package/esm2020/primitives/angular-three-primitives.mjs +0 -5
- package/esm2020/primitives/index.mjs +0 -3
- package/esm2020/primitives/lib/common.mjs +0 -54
- package/esm2020/primitives/lib/object-primitive/object-primitive.mjs +0 -27
- package/esm2020/primitives/lib/primitive/primitive.mjs +0 -38
- package/esm2020/stats/angular-three-stats.mjs +0 -5
- package/esm2020/stats/index.mjs +0 -2
- package/esm2020/stats/lib/stats/stats.mjs +0 -54
- package/esm2020/textures/angular-three-textures.mjs +0 -5
- package/esm2020/textures/index.mjs +0 -12
- package/esm2020/textures/lib/canvas-texture/canvas-texture.mjs +0 -26
- package/esm2020/textures/lib/common.mjs +0 -13
- package/esm2020/textures/lib/compressed-array-texture/compressed-array-texture.mjs +0 -26
- package/esm2020/textures/lib/compressed-texture/compressed-texture.mjs +0 -26
- package/esm2020/textures/lib/cube-texture/cube-texture.mjs +0 -26
- package/esm2020/textures/lib/data-array-texture/data-array-texture.mjs +0 -26
- package/esm2020/textures/lib/data-texture/data-texture.mjs +0 -26
- package/esm2020/textures/lib/data3-dtexture/data3-dtexture.mjs +0 -26
- package/esm2020/textures/lib/depth-texture/depth-texture.mjs +0 -26
- package/esm2020/textures/lib/framebuffer-texture/framebuffer-texture.mjs +0 -26
- package/esm2020/textures/lib/video-texture/video-texture.mjs +0 -26
- package/fesm2015/angular-three-attributes.mjs +0 -475
- package/fesm2015/angular-three-attributes.mjs.map +0 -1
- package/fesm2015/angular-three-audios.mjs +0 -179
- package/fesm2015/angular-three-audios.mjs.map +0 -1
- package/fesm2015/angular-three-cameras.mjs +0 -236
- package/fesm2015/angular-three-cameras.mjs.map +0 -1
- package/fesm2015/angular-three-geometries.mjs +0 -488
- package/fesm2015/angular-three-geometries.mjs.map +0 -1
- package/fesm2015/angular-three-helpers.mjs +0 -378
- package/fesm2015/angular-three-helpers.mjs.map +0 -1
- package/fesm2015/angular-three-lights.mjs +0 -297
- package/fesm2015/angular-three-lights.mjs.map +0 -1
- package/fesm2015/angular-three-materials.mjs +0 -1415
- package/fesm2015/angular-three-materials.mjs.map +0 -1
- package/fesm2015/angular-three-objects.mjs +0 -381
- package/fesm2015/angular-three-objects.mjs.map +0 -1
- package/fesm2015/angular-three-primitives.mjs +0 -120
- package/fesm2015/angular-three-primitives.mjs.map +0 -1
- package/fesm2015/angular-three-stats.mjs +0 -62
- package/fesm2015/angular-three-stats.mjs.map +0 -1
- package/fesm2015/angular-three-textures.mjs +0 -228
- package/fesm2015/angular-three-textures.mjs.map +0 -1
- package/fesm2020/angular-three-attributes.mjs +0 -475
- package/fesm2020/angular-three-attributes.mjs.map +0 -1
- package/fesm2020/angular-three-audios.mjs +0 -179
- package/fesm2020/angular-three-audios.mjs.map +0 -1
- package/fesm2020/angular-three-cameras.mjs +0 -236
- package/fesm2020/angular-three-cameras.mjs.map +0 -1
- package/fesm2020/angular-three-geometries.mjs +0 -488
- package/fesm2020/angular-three-geometries.mjs.map +0 -1
- package/fesm2020/angular-three-helpers.mjs +0 -378
- package/fesm2020/angular-three-helpers.mjs.map +0 -1
- package/fesm2020/angular-three-lights.mjs +0 -297
- package/fesm2020/angular-three-lights.mjs.map +0 -1
- package/fesm2020/angular-three-materials.mjs +0 -1415
- package/fesm2020/angular-three-materials.mjs.map +0 -1
- package/fesm2020/angular-three-objects.mjs +0 -381
- package/fesm2020/angular-three-objects.mjs.map +0 -1
- package/fesm2020/angular-three-primitives.mjs +0 -120
- package/fesm2020/angular-three-primitives.mjs.map +0 -1
- package/fesm2020/angular-three-stats.mjs +0 -62
- package/fesm2020/angular-three-stats.mjs.map +0 -1
- package/fesm2020/angular-three-textures.mjs +0 -228
- package/fesm2020/angular-three-textures.mjs.map +0 -1
- package/geometries/README.md +0 -3
- package/geometries/index.d.ts +0 -23
- package/geometries/lib/box-geometry/box-geometry.d.ts +0 -8
- package/geometries/lib/buffer-geometry/buffer-geometry.d.ts +0 -8
- package/geometries/lib/capsule-geometry/capsule-geometry.d.ts +0 -8
- package/geometries/lib/circle-geometry/circle-geometry.d.ts +0 -8
- package/geometries/lib/common.d.ts +0 -1
- package/geometries/lib/cone-geometry/cone-geometry.d.ts +0 -8
- package/geometries/lib/cylinder-geometry/cylinder-geometry.d.ts +0 -8
- package/geometries/lib/dodecahedron-geometry/dodecahedron-geometry.d.ts +0 -8
- package/geometries/lib/edges-geometry/edges-geometry.d.ts +0 -8
- package/geometries/lib/extrude-geometry/extrude-geometry.d.ts +0 -8
- package/geometries/lib/icosahedron-geometry/icosahedron-geometry.d.ts +0 -8
- package/geometries/lib/instanced-buffer-geometry/instanced-buffer-geometry.d.ts +0 -8
- package/geometries/lib/lathe-geometry/lathe-geometry.d.ts +0 -8
- package/geometries/lib/octahedron-geometry/octahedron-geometry.d.ts +0 -8
- package/geometries/lib/plane-geometry/plane-geometry.d.ts +0 -8
- package/geometries/lib/polyhedron-geometry/polyhedron-geometry.d.ts +0 -8
- package/geometries/lib/ring-geometry/ring-geometry.d.ts +0 -8
- package/geometries/lib/shape-geometry/shape-geometry.d.ts +0 -8
- package/geometries/lib/sphere-geometry/sphere-geometry.d.ts +0 -8
- package/geometries/lib/tetrahedron-geometry/tetrahedron-geometry.d.ts +0 -8
- package/geometries/lib/torus-geometry/torus-geometry.d.ts +0 -8
- package/geometries/lib/torus-knot-geometry/torus-knot-geometry.d.ts +0 -8
- package/geometries/lib/tube-geometry/tube-geometry.d.ts +0 -8
- package/geometries/lib/wireframe-geometry/wireframe-geometry.d.ts +0 -8
- package/helpers/README.md +0 -3
- package/helpers/index.d.ts +0 -13
- package/helpers/lib/arrow-helper/arrow-helper.d.ts +0 -8
- package/helpers/lib/axes-helper/axes-helper.d.ts +0 -8
- package/helpers/lib/box-helper/box-helper.d.ts +0 -8
- package/helpers/lib/box3-helper/box3-helper.d.ts +0 -8
- package/helpers/lib/camera-helper/camera-helper.d.ts +0 -8
- package/helpers/lib/common.d.ts +0 -1
- package/helpers/lib/directional-light-helper/directional-light-helper.d.ts +0 -8
- package/helpers/lib/grid-helper/grid-helper.d.ts +0 -8
- package/helpers/lib/hemisphere-light-helper/hemisphere-light-helper.d.ts +0 -8
- package/helpers/lib/plane-helper/plane-helper.d.ts +0 -8
- package/helpers/lib/point-light-helper/point-light-helper.d.ts +0 -8
- package/helpers/lib/polar-grid-helper/polar-grid-helper.d.ts +0 -8
- package/helpers/lib/skeleton-helper/skeleton-helper.d.ts +0 -8
- package/helpers/lib/spot-light-helper/spot-light-helper.d.ts +0 -8
- package/lib/di/resize.d.ts +0 -12
- package/lib/di/window.d.ts +0 -1
- package/lib/directives/cursor.d.ts +0 -7
- package/lib/instance.d.ts +0 -81
- package/lib/pipes/math.d.ts +0 -7
- package/lib/pipes/pi.d.ts +0 -7
- package/lib/pipes/radian.d.ts +0 -7
- package/lib/pipes/side.d.ts +0 -8
- package/lib/ref.d.ts +0 -5
- package/lib/services/loader.d.ts +0 -11
- package/lib/services/resize.d.ts +0 -19
- package/lib/stores/component-store.d.ts +0 -69
- package/lib/utils/build-graph.d.ts +0 -3
- package/lib/utils/camera.d.ts +0 -4
- package/lib/utils/capitalize.d.ts +0 -1
- package/lib/utils/check-update.d.ts +0 -2
- package/lib/utils/events.d.ts +0 -6
- package/lib/utils/get-instance-local-state.d.ts +0 -2
- package/lib/utils/inject.d.ts +0 -9
- package/lib/utils/mutate.d.ts +0 -2
- package/lib/utils/proxy.d.ts +0 -7
- package/lib/utils/renderer.d.ts +0 -3
- package/lights/README.md +0 -3
- package/lights/index.d.ts +0 -9
- package/lights/lib/ambient-light/ambient-light.d.ts +0 -39
- package/lights/lib/ambient-light-probe/ambient-light-probe.d.ts +0 -40
- package/lights/lib/common.d.ts +0 -3
- package/lights/lib/directional-light/directional-light.d.ts +0 -40
- package/lights/lib/hemisphere-light/hemisphere-light.d.ts +0 -41
- package/lights/lib/hemisphere-light-probe/hemisphere-light-probe.d.ts +0 -42
- package/lights/lib/light-probe/light-probe.d.ts +0 -40
- package/lights/lib/point-light/point-light.d.ts +0 -42
- package/lights/lib/rect-area-light/rect-area-light.d.ts +0 -42
- package/lights/lib/spot-light/spot-light.d.ts +0 -45
- package/materials/README.md +0 -3
- package/materials/index.d.ts +0 -17
- package/materials/lib/common.d.ts +0 -1
- package/materials/lib/line-basic-material/line-basic-material.d.ts +0 -55
- package/materials/lib/line-dashed-material/line-dashed-material.d.ts +0 -58
- package/materials/lib/mesh-basic-material/mesh-basic-material.d.ts +0 -67
- package/materials/lib/mesh-depth-material/mesh-depth-material.d.ts +0 -58
- package/materials/lib/mesh-distance-material/mesh-distance-material.d.ts +0 -58
- package/materials/lib/mesh-lambert-material/mesh-lambert-material.d.ts +0 -78
- package/materials/lib/mesh-matcap-material/mesh-matcap-material.d.ts +0 -64
- package/materials/lib/mesh-normal-material/mesh-normal-material.d.ts +0 -61
- package/materials/lib/mesh-phong-material/mesh-phong-material.d.ts +0 -81
- package/materials/lib/mesh-physical-material/mesh-physical-material.d.ts +0 -97
- package/materials/lib/mesh-standard-material/mesh-standard-material.d.ts +0 -78
- package/materials/lib/mesh-toon-material/mesh-toon-material.d.ts +0 -74
- package/materials/lib/points-material/points-material.d.ts +0 -56
- package/materials/lib/raw-shader-material/raw-shader-material.d.ts +0 -68
- package/materials/lib/shader-material/shader-material.d.ts +0 -68
- package/materials/lib/shadow-material/shadow-material.d.ts +0 -52
- package/materials/lib/sprite-material/sprite-material.d.ts +0 -56
- package/objects/README.md +0 -3
- package/objects/index.d.ts +0 -12
- package/objects/lib/bone/bone.d.ts +0 -35
- package/objects/lib/common.d.ts +0 -3
- package/objects/lib/group/group.d.ts +0 -35
- package/objects/lib/instanced-mesh/instanced-mesh.d.ts +0 -44
- package/objects/lib/line/line.d.ts +0 -41
- package/objects/lib/line-loop/line-loop.d.ts +0 -41
- package/objects/lib/line-segments/line-segments.d.ts +0 -41
- package/objects/lib/lod/lod.d.ts +0 -40
- package/objects/lib/mesh/mesh.d.ts +0 -41
- package/objects/lib/points/points.d.ts +0 -41
- package/objects/lib/skeleton/skeleton.d.ts +0 -16
- package/objects/lib/skinned-mesh/skinned-mesh.d.ts +0 -45
- package/objects/lib/sprite/sprite.d.ts +0 -38
- package/primitives/README.md +0 -3
- package/primitives/index.d.ts +0 -2
- package/primitives/lib/common.d.ts +0 -3
- package/primitives/lib/object-primitive/object-primitive.d.ts +0 -35
- package/primitives/lib/primitive/primitive.d.ts +0 -10
- package/schematics/README.md +0 -11
- package/stats/README.md +0 -3
- package/stats/index.d.ts +0 -1
- package/stats/lib/stats/stats.d.ts +0 -16
- package/textures/README.md +0 -3
- package/textures/index.d.ts +0 -10
- package/textures/lib/canvas-texture/canvas-texture.d.ts +0 -8
- package/textures/lib/common.d.ts +0 -1
- package/textures/lib/compressed-array-texture/compressed-array-texture.d.ts +0 -8
- package/textures/lib/compressed-texture/compressed-texture.d.ts +0 -8
- package/textures/lib/cube-texture/cube-texture.d.ts +0 -8
- package/textures/lib/data-array-texture/data-array-texture.d.ts +0 -8
- package/textures/lib/data-texture/data-texture.d.ts +0 -8
- package/textures/lib/data3-dtexture/data3-dtexture.d.ts +0 -8
- package/textures/lib/depth-texture/depth-texture.d.ts +0 -8
- package/textures/lib/framebuffer-texture/framebuffer-texture.d.ts +0 -8
- package/textures/lib/video-texture/video-texture.d.ts +0 -8
package/lib/types.d.ts
CHANGED
|
@@ -1,10 +1,17 @@
|
|
|
1
1
|
/// <reference types="webxr" />
|
|
2
|
-
import { ElementRef } from '@angular/core';
|
|
3
|
-
import {
|
|
2
|
+
import type { ElementRef, EventEmitter } from '@angular/core';
|
|
3
|
+
import type { BehaviorSubject } from 'rxjs';
|
|
4
4
|
import * as THREE from 'three';
|
|
5
|
-
import {
|
|
6
|
-
|
|
7
|
-
export
|
|
5
|
+
import type { NgtRxStore } from './stores/rx-store';
|
|
6
|
+
export type NgtAnyRecord = Record<string, any>;
|
|
7
|
+
export type NgtNonFunctionKeys<T> = {
|
|
8
|
+
[K in keyof T]-?: T[K] extends Function ? never : K;
|
|
9
|
+
}[keyof T];
|
|
10
|
+
export type NgtProperties<T> = Pick<T, {
|
|
11
|
+
[K in keyof T]: T[K] extends (_: any) => any ? never : K;
|
|
12
|
+
}[keyof T]>;
|
|
13
|
+
export type NgtOverwrite<T, O> = Omit<T, NgtNonFunctionKeys<O>> & O;
|
|
14
|
+
export type NgtEquConfig = {
|
|
8
15
|
/** Compare arrays by reference equality a === b (default), or by shallow equality */
|
|
9
16
|
arrays?: 'reference' | 'shallow';
|
|
10
17
|
/** Compare objects by reference equality a === b (default), or by shallow equality */
|
|
@@ -12,82 +19,54 @@ export declare type NgtEquConfig = {
|
|
|
12
19
|
/** If true the keys in both a and b must match 1:1 (default), if false a's keys must intersect b's */
|
|
13
20
|
strict?: boolean;
|
|
14
21
|
};
|
|
15
|
-
export
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
export
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
export
|
|
25
|
-
|
|
26
|
-
}[keyof T];
|
|
27
|
-
export declare type NgtOverwrite<T, O> = Omit<T, NgtNonFunctionKeys<O>> & O;
|
|
28
|
-
export declare type NgtDpr = number | [min: number, max: number];
|
|
29
|
-
export declare type NgtSize = {
|
|
30
|
-
width: number;
|
|
31
|
-
height: number;
|
|
32
|
-
top: number;
|
|
33
|
-
left: number;
|
|
34
|
-
updateStyle?: boolean;
|
|
35
|
-
};
|
|
36
|
-
export declare type NgtViewport = NgtSize & {
|
|
37
|
-
/** The initial pixel ratio */
|
|
38
|
-
initialDpr: number;
|
|
39
|
-
/** Current pixel ratio */
|
|
40
|
-
dpr: number;
|
|
41
|
-
/** size.width / viewport.width */
|
|
42
|
-
factor: number;
|
|
43
|
-
/** Camera distance */
|
|
44
|
-
distance: number;
|
|
45
|
-
/** Camera aspect ratio: width / height */
|
|
46
|
-
aspect: number;
|
|
47
|
-
};
|
|
48
|
-
export declare type NgtPerformance = {
|
|
49
|
-
/** Current performance normal, between min and max */
|
|
50
|
-
current: number;
|
|
51
|
-
/** How low the performance can go, between 0 and max */
|
|
52
|
-
min: number;
|
|
53
|
-
/** How high the performance can go, between min and max */
|
|
54
|
-
max: number;
|
|
55
|
-
/** Time until current returns to max in ms */
|
|
56
|
-
debounce: number;
|
|
57
|
-
/** Sets current to min, puts the system in regression */
|
|
58
|
-
regress: () => void;
|
|
22
|
+
export interface NgtIntersection extends THREE.Intersection {
|
|
23
|
+
/** The event source (the object which registered the handler) */
|
|
24
|
+
eventObject: THREE.Object3D;
|
|
25
|
+
}
|
|
26
|
+
export interface NgtPointerCaptureTarget {
|
|
27
|
+
intersection: NgtIntersection;
|
|
28
|
+
target: Element;
|
|
29
|
+
}
|
|
30
|
+
export type NgtCamera = THREE.OrthographicCamera | THREE.PerspectiveCamera;
|
|
31
|
+
export type NgtCameraManual = NgtCamera & {
|
|
32
|
+
manual?: boolean;
|
|
59
33
|
};
|
|
60
|
-
export declare type NgtCamera = THREE.OrthographicCamera | THREE.PerspectiveCamera;
|
|
61
|
-
export declare type NgtDomEvent = PointerEvent | MouseEvent | WheelEvent;
|
|
62
34
|
export interface NgtIntersectionEvent<TSourceEvent> extends NgtIntersection {
|
|
35
|
+
/** The event source (the object which registered the handler) */
|
|
36
|
+
eventObject: THREE.Object3D;
|
|
63
37
|
/** An array of intersections */
|
|
64
38
|
intersections: NgtIntersection[];
|
|
65
39
|
/** vec3.set(pointer.x, pointer.y, 0).unproject(camera) */
|
|
66
40
|
unprojectedPoint: THREE.Vector3;
|
|
67
|
-
/** Normalized event coordinates
|
|
41
|
+
/** Normalized event coordinates */
|
|
68
42
|
pointer: THREE.Vector2;
|
|
69
|
-
/**
|
|
43
|
+
/** Delta between first click and this event */
|
|
70
44
|
delta: number;
|
|
71
|
-
/**
|
|
45
|
+
/** The ray that pierced it */
|
|
72
46
|
ray: THREE.Ray;
|
|
73
|
-
/**
|
|
47
|
+
/** The camera that was used by the raycaster */
|
|
74
48
|
camera: NgtCamera;
|
|
75
49
|
/** stopPropagation will stop underlying handlers from firing */
|
|
76
50
|
stopPropagation: () => void;
|
|
77
|
-
/**
|
|
51
|
+
/** The original host event */
|
|
78
52
|
nativeEvent: TSourceEvent;
|
|
79
|
-
/**
|
|
53
|
+
/** If the event was stopped by calling stopPropagation */
|
|
80
54
|
stopped: boolean;
|
|
81
55
|
}
|
|
82
|
-
export
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
56
|
+
export type NgtThreeEvent<TEvent> = NgtIntersectionEvent<TEvent> & NgtProperties<TEvent>;
|
|
57
|
+
export type NgtDomEvent = PointerEvent | MouseEvent | WheelEvent;
|
|
58
|
+
export interface NgtEvents {
|
|
59
|
+
click: EventListener;
|
|
60
|
+
contextmenu: EventListener;
|
|
61
|
+
dblclick: EventListener;
|
|
62
|
+
wheel: EventListener;
|
|
63
|
+
pointerdown: EventListener;
|
|
64
|
+
pointerup: EventListener;
|
|
65
|
+
pointerleave: EventListener;
|
|
66
|
+
pointermove: EventListener;
|
|
67
|
+
pointercancel: EventListener;
|
|
68
|
+
lostpointercapture: EventListener;
|
|
89
69
|
}
|
|
90
|
-
export declare type NgtThreeEvent<TEvent> = NgtIntersectionEvent<TEvent>;
|
|
91
70
|
export interface NgtEventHandlers {
|
|
92
71
|
click?: (event: NgtThreeEvent<MouseEvent>) => void;
|
|
93
72
|
contextmenu?: (event: NgtThreeEvent<MouseEvent>) => void;
|
|
@@ -103,114 +82,103 @@ export interface NgtEventHandlers {
|
|
|
103
82
|
pointercancel?: (event: NgtThreeEvent<PointerEvent>) => void;
|
|
104
83
|
wheel?: (event: NgtThreeEvent<WheelEvent>) => void;
|
|
105
84
|
}
|
|
106
|
-
export
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
85
|
+
export type NgtFilterFunction = (items: THREE.Intersection[], store: NgtRxStore<NgtState>) => THREE.Intersection[];
|
|
86
|
+
export type NgtComputeFunction = (event: NgtDomEvent, root: NgtRxStore<NgtState>, previous?: NgtRxStore<NgtState>) => void;
|
|
87
|
+
export interface NgtEventManager<TTarget = any> {
|
|
88
|
+
/** Determines if the event layer is active */
|
|
89
|
+
enabled: boolean;
|
|
90
|
+
/** Event layer priority, higher prioritized layers come first and may stop(-propagate) lower layer */
|
|
91
|
+
priority: number;
|
|
92
|
+
/** The compute function needs to set up the raycaster and an xy- pointer */
|
|
93
|
+
compute?: NgtComputeFunction;
|
|
94
|
+
/** The filter can re-order or re-structure the intersections */
|
|
95
|
+
filter?: NgtFilterFunction;
|
|
96
|
+
/** The target node the event layer is tied to */
|
|
97
|
+
connected?: TTarget;
|
|
98
|
+
/** All the pointer event handlers through which the host forwards native events */
|
|
99
|
+
handlers?: NgtEvents;
|
|
100
|
+
/** Allows re-connecting to another target */
|
|
101
|
+
connect?: (target: TTarget) => void;
|
|
102
|
+
/** Removes all existing events handlers from the target */
|
|
103
|
+
disconnect?: () => void;
|
|
124
104
|
}
|
|
125
|
-
export
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
105
|
+
export interface NgtPerformance {
|
|
106
|
+
/** Current performance normal, between min and max */
|
|
107
|
+
current: number;
|
|
108
|
+
/** How low the performance can go, between 0 and max */
|
|
109
|
+
min: number;
|
|
110
|
+
/** How high the performance can go, between min and max */
|
|
111
|
+
max: number;
|
|
112
|
+
/** Time until current returns to max in ms */
|
|
113
|
+
debounce: number;
|
|
114
|
+
/** Sets current to min, puts the system in regression */
|
|
115
|
+
regress: () => void;
|
|
135
116
|
}
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
*/
|
|
143
|
-
declare type NgtVectorLike<VectorClass extends THREE.Vector> = VectorClass | Parameters<VectorClass['set']> | Readonly<Parameters<VectorClass['set']>> | Parameters<VectorClass['setScalar']>[0];
|
|
144
|
-
export declare type NgtVector2 = NgtVectorLike<THREE.Vector2>;
|
|
145
|
-
export declare type NgtVector3 = NgtVectorLike<THREE.Vector3>;
|
|
146
|
-
export declare type NgtVector4 = NgtVectorLike<THREE.Vector4>;
|
|
147
|
-
export declare type NgtLayers = THREE.Layers | Parameters<THREE.Layers['set']>[0];
|
|
148
|
-
export declare type NgtQuaternion = THREE.Quaternion | Parameters<THREE.Quaternion['set']>;
|
|
149
|
-
export declare type NgtEuler = THREE.Euler | Parameters<THREE.Euler['set']>;
|
|
150
|
-
export declare type NgtMatrix4 = THREE.Matrix4 | Parameters<THREE.Matrix4['set']> | Readonly<THREE.Matrix4['set']>;
|
|
151
|
-
export declare type NgtColor = ConstructorParameters<typeof THREE.Color> | THREE.ColorRepresentation;
|
|
152
|
-
export declare type NgtExtendedColors<T> = {
|
|
153
|
-
[K in keyof T]: T[K] extends THREE.Color | undefined ? NgtColor : T[K];
|
|
117
|
+
export type NgtDpr = number | [min: number, max: number];
|
|
118
|
+
export type NgtSize = {
|
|
119
|
+
width: number;
|
|
120
|
+
height: number;
|
|
121
|
+
top: number;
|
|
122
|
+
left: number;
|
|
154
123
|
};
|
|
155
|
-
export
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
matrix?: NgtMatrix4;
|
|
167
|
-
quaternion?: NgtQuaternion;
|
|
168
|
-
layers?: NgtLayers;
|
|
169
|
-
dispose?: (() => void) | null;
|
|
170
|
-
}> & NgtEventHandlers;
|
|
171
|
-
export declare type NgtCameraWithManual = NgtCamera & {
|
|
172
|
-
manual?: boolean;
|
|
124
|
+
export type NgtViewport = NgtSize & {
|
|
125
|
+
/** The initial pixel ratio */
|
|
126
|
+
initialDpr: number;
|
|
127
|
+
/** Current pixel ratio */
|
|
128
|
+
dpr: number;
|
|
129
|
+
/** size.width / viewport.width */
|
|
130
|
+
factor: number;
|
|
131
|
+
/** Camera distance */
|
|
132
|
+
distance: number;
|
|
133
|
+
/** Camera aspect ratio: width / height */
|
|
134
|
+
aspect: number;
|
|
173
135
|
};
|
|
174
136
|
export interface NgtRenderState extends NgtState {
|
|
175
137
|
delta: number;
|
|
176
138
|
frame?: XRFrame;
|
|
177
139
|
}
|
|
178
|
-
export
|
|
140
|
+
export interface NgtBeforeRenderEvent<TObject extends NgtInstanceNode = NgtInstanceNode> {
|
|
141
|
+
state: NgtRenderState;
|
|
142
|
+
object: TObject;
|
|
143
|
+
}
|
|
179
144
|
export interface NgtBeforeRenderRecord {
|
|
180
|
-
|
|
181
|
-
|
|
145
|
+
callback: (state: NgtRenderState) => void;
|
|
146
|
+
store: NgtRxStore<NgtState>;
|
|
182
147
|
priority?: number;
|
|
183
|
-
stateFactory: NgtStateFactory;
|
|
184
148
|
}
|
|
185
149
|
export interface NgtInternalState {
|
|
186
150
|
active: boolean;
|
|
187
151
|
priority: number;
|
|
188
152
|
frames: number;
|
|
189
|
-
lastEvent: NgtDomEvent
|
|
153
|
+
lastEvent: NgtDomEvent;
|
|
190
154
|
interaction: THREE.Object3D[];
|
|
191
155
|
hovered: Map<string, NgtThreeEvent<NgtDomEvent>>;
|
|
192
156
|
subscribers: NgtBeforeRenderRecord[];
|
|
193
157
|
capturedMap: Map<number, Map<THREE.Object3D, NgtPointerCaptureTarget>>;
|
|
194
158
|
initialClick: [x: number, y: number];
|
|
195
159
|
initialHits: THREE.Object3D[];
|
|
196
|
-
subscribe: (callback:
|
|
160
|
+
subscribe: (callback: NgtBeforeRenderRecord['callback'], priority?: number, store?: NgtRxStore<NgtState>) => () => void;
|
|
197
161
|
}
|
|
198
162
|
export interface NgtState {
|
|
199
|
-
/**
|
|
163
|
+
/** Set current state */
|
|
164
|
+
set: NgtRxStore<NgtState>['set'];
|
|
165
|
+
/** Get current state */
|
|
166
|
+
get: NgtRxStore<NgtState>['get'];
|
|
167
|
+
select: NgtRxStore<NgtState>['select'];
|
|
168
|
+
/** canvas ready state */
|
|
200
169
|
ready: boolean;
|
|
201
170
|
/** The instance of the renderer */
|
|
202
171
|
gl: THREE.WebGLRenderer;
|
|
203
172
|
/** Default camera */
|
|
204
|
-
camera:
|
|
205
|
-
|
|
173
|
+
camera: NgtCameraManual;
|
|
174
|
+
/** Default scene */
|
|
206
175
|
scene: THREE.Scene;
|
|
207
|
-
sceneRef: NgtRef<THREE.Scene>;
|
|
208
176
|
/** Default raycaster */
|
|
209
177
|
raycaster: THREE.Raycaster;
|
|
210
178
|
/** Default clock */
|
|
211
179
|
clock: THREE.Clock;
|
|
212
180
|
/** Event layer interface, contains the event handler and the node they're connected to */
|
|
213
|
-
events: NgtEventManager
|
|
181
|
+
events: NgtEventManager;
|
|
214
182
|
/** XR interface */
|
|
215
183
|
xr: {
|
|
216
184
|
connect: () => void;
|
|
@@ -233,7 +201,7 @@ export interface NgtState {
|
|
|
233
201
|
size: NgtSize;
|
|
234
202
|
/** Reactive size of the viewport in threejs units */
|
|
235
203
|
viewport: NgtViewport & {
|
|
236
|
-
getCurrentViewport: (camera?:
|
|
204
|
+
getCurrentViewport: (camera?: NgtCameraManual, target?: THREE.Vector3 | Parameters<THREE.Vector3['set']>, size?: NgtSize) => Omit<NgtViewport, 'dpr' | 'initialDpr'>;
|
|
237
205
|
};
|
|
238
206
|
/** Flags the canvas for render, but doesn't render in itself */
|
|
239
207
|
invalidate: (frames?: number) => void;
|
|
@@ -249,63 +217,87 @@ export interface NgtState {
|
|
|
249
217
|
setDpr: (dpr: NgtDpr) => void;
|
|
250
218
|
/** Shortcut to frameloop flags */
|
|
251
219
|
setFrameloop: (frameloop?: 'always' | 'demand' | 'never') => void;
|
|
252
|
-
/** Shortcut to set performance.current for performance regressing */
|
|
253
|
-
setPerformanceCurrent: (current: number) => void;
|
|
254
|
-
/** Shortcut to set the current camera */
|
|
255
|
-
setCamera: (camera: NgtCamera) => void;
|
|
256
|
-
/** Shortcut to add an object as an Event interaction */
|
|
257
|
-
addInteraction(interaction: THREE.Object3D): void;
|
|
258
|
-
/** Shortcut to remove an object UUID from participating in Events */
|
|
259
|
-
removeInteraction(uuid: string): void;
|
|
260
220
|
/** When the canvas was clicked but nothing was hit */
|
|
261
221
|
onPointerMissed?: (event: MouseEvent) => void;
|
|
262
|
-
internal: NgtInternalState;
|
|
263
222
|
/** If this state model is layerd (via createPortal) then this contains the previous layer */
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
/** Determines if the event layer is active */
|
|
271
|
-
enabled: boolean;
|
|
272
|
-
/** Event layer priority, higher prioritized layers come first and may stop(-propagate) lower layer */
|
|
273
|
-
priority: number;
|
|
274
|
-
/** The compute function needs to set up the raycaster and an xy- pointer */
|
|
275
|
-
compute?: NgtComputeFunction;
|
|
276
|
-
/** The filter can re-order or re-structure the intersections */
|
|
277
|
-
filter?: NgtFilterFunction;
|
|
278
|
-
/** The target node the event layer is tied to */
|
|
279
|
-
connected?: TTarget;
|
|
280
|
-
/** All the pointer event handlers through which the host forwards native events */
|
|
281
|
-
handlers?: NgtEvents;
|
|
282
|
-
/** Allows re-connecting to another target */
|
|
283
|
-
connect?: (target: TTarget) => void;
|
|
284
|
-
/** Removes all existing events handlers from the target */
|
|
285
|
-
disconnect?: () => void;
|
|
223
|
+
previousStore?: NgtRxStore<NgtState>;
|
|
224
|
+
/** Internals */
|
|
225
|
+
internal: NgtInternalState;
|
|
226
|
+
/** shortcuts for add and remove interaction */
|
|
227
|
+
addInteraction: (interaction: THREE.Object3D) => void;
|
|
228
|
+
removeInteraction: (uuid: string) => void;
|
|
286
229
|
}
|
|
287
|
-
export
|
|
230
|
+
export type NgtAttachFunction<TChild = any, TParent = any> = (parent: TParent, child: TChild, store: NgtRxStore<NgtState>) => void | (() => void);
|
|
231
|
+
export type NgtAfterAttach<TParent extends NgtInstanceNode = NgtInstanceNode, TChild extends NgtInstanceNode = NgtInstanceNode> = {
|
|
232
|
+
parent: TParent;
|
|
233
|
+
node: TChild;
|
|
234
|
+
};
|
|
288
235
|
export interface NgtInstanceLocalState {
|
|
289
236
|
/** the state getter of the canvas that the instance is being rendered to */
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
237
|
+
store: NgtRxStore<NgtState>;
|
|
238
|
+
nonObjects: BehaviorSubject<NgtInstanceNode[]>;
|
|
239
|
+
objects: BehaviorSubject<NgtInstanceNode[]>;
|
|
240
|
+
add: (instance: NgtInstanceNode, type: 'objects' | 'nonObjects') => void;
|
|
241
|
+
remove: (instance: NgtInstanceNode, type: 'objects' | 'nonObjects') => void;
|
|
242
|
+
parent: NgtInstanceNode | null;
|
|
243
|
+
primitive?: boolean;
|
|
297
244
|
eventCount: number;
|
|
298
245
|
handlers: Partial<NgtEventHandlers>;
|
|
299
246
|
args?: unknown[];
|
|
300
|
-
attach?: string[] |
|
|
301
|
-
|
|
302
|
-
|
|
247
|
+
attach?: string[] | NgtAttachFunction;
|
|
248
|
+
previousAttach?: unknown | (() => void);
|
|
249
|
+
isRaw?: boolean;
|
|
250
|
+
priority?: number;
|
|
251
|
+
afterUpdate?: EventEmitter<NgtInstanceNode>;
|
|
252
|
+
afterAttach?: EventEmitter<NgtAfterAttach>;
|
|
303
253
|
}
|
|
304
|
-
export
|
|
254
|
+
export type NgtInstanceNode<TNode = any> = TNode & {
|
|
305
255
|
__ngt__: NgtInstanceLocalState;
|
|
306
|
-
|
|
256
|
+
} & NgtAnyRecord;
|
|
257
|
+
export type NgtGLRenderer = {
|
|
258
|
+
render: (scene: THREE.Scene, camera: THREE.Camera) => void;
|
|
259
|
+
};
|
|
260
|
+
export type NgtGLOptions = NgtGLRenderer | ((canvas: HTMLCanvasElement) => NgtGLRenderer) | Partial<NgtProperties<THREE.WebGLRenderer> | THREE.WebGLRendererParameters> | undefined;
|
|
261
|
+
export type NgtExtendedColors<T> = {
|
|
262
|
+
[K in keyof T]: T[K] extends THREE.Color | undefined ? THREE.ColorRepresentation : T[K];
|
|
307
263
|
};
|
|
308
|
-
|
|
264
|
+
/**
|
|
265
|
+
* If **T** contains a constructor, @see ConstructorParameters must be used, otherwise **T**.
|
|
266
|
+
*/
|
|
267
|
+
export type NgtNodeArgs<T> = T extends new (...args: any) => any ? ConstructorParameters<T> : T;
|
|
268
|
+
export interface NgtNodeProps<P> {
|
|
269
|
+
attach?: string[];
|
|
270
|
+
/** Constructor arguments */
|
|
271
|
+
args?: NgtNodeArgs<P>;
|
|
272
|
+
}
|
|
273
|
+
export type NgtNode<T, P> = NgtExtendedColors<NgtOverwrite<Partial<T>, NgtNodeProps<P>>>;
|
|
274
|
+
export type NgtObject3DNode<T, P> = NgtOverwrite<NgtNode<T, P>, {
|
|
275
|
+
position?: THREE.Vector3 | Parameters<THREE.Vector3['set']>;
|
|
276
|
+
up?: THREE.Vector3 | Parameters<THREE.Vector3['set']>;
|
|
277
|
+
scale?: THREE.Vector3 | Parameters<THREE.Vector3['set']>;
|
|
278
|
+
rotation?: THREE.Euler | Parameters<THREE.Euler['set']>;
|
|
279
|
+
matrix?: THREE.Matrix4 | Parameters<THREE.Matrix4['set']>;
|
|
280
|
+
quaternion?: THREE.Quaternion | Parameters<THREE.Quaternion['set']>;
|
|
281
|
+
layers?: THREE.Layers | Parameters<THREE.Layers['set']>;
|
|
282
|
+
}> & NgtEventHandlers;
|
|
283
|
+
export type NgtConditionalType<Child, Parent, Truthy, Falsy> = Child extends Parent ? Truthy : Falsy;
|
|
284
|
+
export interface NgtLoaderProto<T> extends THREE.Loader {
|
|
285
|
+
load(url: string | string[], onLoad?: (result: T) => void, onProgress?: (event: ProgressEvent) => void, onError?: (event: ErrorEvent) => void): unknown;
|
|
286
|
+
}
|
|
287
|
+
export interface NgtLoaderExtensions {
|
|
288
|
+
(loader: THREE.Loader): void;
|
|
289
|
+
}
|
|
290
|
+
export type NgtLoaderResult<T> = T extends any[] ? NgtLoaderProto<T[number]> : NgtLoaderProto<T>;
|
|
291
|
+
export type NgtBranchingReturn<T = any, Parent = any, Coerced = any> = NgtConditionalType<T, Parent, Coerced, T>;
|
|
292
|
+
export interface NgtObjectMap {
|
|
293
|
+
nodes: {
|
|
294
|
+
[name: string]: THREE.Object3D;
|
|
295
|
+
};
|
|
296
|
+
materials: {
|
|
297
|
+
[name: string]: THREE.Material;
|
|
298
|
+
};
|
|
299
|
+
[key: string]: any;
|
|
300
|
+
}
|
|
309
301
|
export interface NgtCanvasInputs {
|
|
310
302
|
/** A threejs renderer instance or props that go into the default renderer */
|
|
311
303
|
gl?: NgtGLOptions;
|
|
@@ -323,7 +315,7 @@ export interface NgtCanvasInputs {
|
|
|
323
315
|
legacy?: boolean;
|
|
324
316
|
/** Switch off automatic sRGB encoding and gamma correction */
|
|
325
317
|
linear?: boolean;
|
|
326
|
-
/** Use `
|
|
318
|
+
/** Use `NoToneMapping` instead of `ACESFilmicToneMapping` */
|
|
327
319
|
flat?: boolean;
|
|
328
320
|
/** Creates an orthographic camera */
|
|
329
321
|
orthographic?: boolean;
|
|
@@ -341,18 +333,17 @@ export interface NgtCanvasInputs {
|
|
|
341
333
|
dpr?: NgtDpr;
|
|
342
334
|
/** Props that go into the default raycaster */
|
|
343
335
|
raycaster?: Partial<THREE.Raycaster>;
|
|
344
|
-
/** A `
|
|
336
|
+
/** A `Camera` instance or props that go into the default camera */
|
|
345
337
|
camera?: (NgtCamera | Partial<NgtObject3DNode<THREE.Camera, typeof THREE.Camera> & NgtObject3DNode<THREE.PerspectiveCamera, typeof THREE.PerspectiveCamera> & NgtObject3DNode<THREE.OrthographicCamera, typeof THREE.OrthographicCamera>>) & {
|
|
346
338
|
/** Flags the camera as manual, putting projection into your own hands */
|
|
347
339
|
manual?: boolean;
|
|
348
340
|
};
|
|
349
341
|
/** An R3F event manager to manage elements' pointer events */
|
|
350
|
-
events?: (
|
|
342
|
+
events?: (store: NgtRxStore<NgtState>) => NgtEventManager<HTMLElement>;
|
|
351
343
|
/** The target where events are being subscribed to, default: the div that wraps canvas */
|
|
352
344
|
eventSource?: HTMLElement | ElementRef<HTMLElement>;
|
|
353
345
|
/** The event prefix that is cast into canvas pointer x/y events, default: "offset" */
|
|
354
346
|
eventPrefix?: 'offset' | 'client' | 'page' | 'layer' | 'screen';
|
|
355
347
|
/** Default coordinate for the camera to look at */
|
|
356
|
-
lookAt?: THREE.Vector3
|
|
348
|
+
lookAt?: THREE.Vector3 | Parameters<THREE.Vector3['set']>;
|
|
357
349
|
}
|
|
358
|
-
export {};
|
|
@@ -1,6 +1,2 @@
|
|
|
1
|
-
import type { NgtAnyRecord } from '../types';
|
|
2
|
-
export declare function
|
|
3
|
-
changes: [key: string, value: unknown][];
|
|
4
|
-
memoized: NgtAnyRecord;
|
|
5
|
-
};
|
|
6
|
-
export declare function applyProps<TInstance extends object>(instance: TInstance, props: NgtAnyRecord): TInstance;
|
|
1
|
+
import type { NgtAnyRecord, NgtInstanceNode } from '../types';
|
|
2
|
+
export declare function applyProps(instance: NgtInstanceNode, props: NgtAnyRecord): NgtInstanceNode;
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import type { NgtAnyRecord, NgtAttachFunction } from '../types';
|
|
2
|
+
export declare function attach(object: NgtAnyRecord, value: unknown, paths?: string[]): void;
|
|
3
|
+
export declare function detach(parent: NgtAnyRecord, child: NgtAnyRecord, attachProp: string[] | NgtAttachFunction): void;
|
package/lib/utils/instance.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
1
|
+
import type { NgtAnyRecord, NgtInstanceLocalState, NgtInstanceNode } from '../types';
|
|
2
|
+
export declare function getLocalState<TInstance extends object = NgtAnyRecord>(obj: TInstance | undefined): NgtInstanceLocalState;
|
|
3
3
|
export declare function invalidateInstance<TInstance extends object>(instance: TInstance): void;
|
|
4
|
-
export declare function prepare<TInstance extends object = NgtAnyRecord>(
|
|
4
|
+
export declare function prepare<TInstance extends object = NgtAnyRecord>(object: TInstance, localState?: Partial<NgtInstanceLocalState>): NgtInstanceNode<TInstance>;
|
package/lib/utils/is.d.ts
CHANGED
|
@@ -1,21 +1,17 @@
|
|
|
1
|
+
import { ElementRef } from '@angular/core';
|
|
1
2
|
import * as THREE from 'three';
|
|
2
|
-
import { NgtRef } from '../ref';
|
|
3
3
|
import type { NgtEquConfig } from '../types';
|
|
4
4
|
export declare const is: {
|
|
5
5
|
obj: (a: unknown) => a is object;
|
|
6
6
|
material: (a: unknown) => a is THREE.Material;
|
|
7
7
|
geometry: (a: unknown) => a is THREE.BufferGeometry;
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
orthographic: (a: unknown) => a is THREE.OrthographicCamera;
|
|
11
|
-
perspective: (a: unknown) => a is THREE.PerspectiveCamera;
|
|
8
|
+
orthographicCamera: (a: unknown) => a is THREE.OrthographicCamera;
|
|
9
|
+
perspectiveCamera: (a: unknown) => a is THREE.PerspectiveCamera;
|
|
12
10
|
camera: (a: unknown) => a is THREE.Camera;
|
|
13
|
-
|
|
11
|
+
renderer: (a: unknown) => a is THREE.WebGLRenderer;
|
|
14
12
|
scene: (a: unknown) => a is THREE.Scene;
|
|
15
|
-
|
|
13
|
+
object3D: (a: unknown) => a is THREE.Object3D<THREE.Event>;
|
|
16
14
|
instance: (a: unknown) => a is any;
|
|
17
|
-
ref: (a: unknown) => a is
|
|
18
|
-
supportColorManagement: () => boolean;
|
|
19
|
-
canvas: (a: unknown) => a is HTMLCanvasElement;
|
|
15
|
+
ref: (a: unknown) => a is ElementRef<any>;
|
|
20
16
|
equ(a: any, b: any, { arrays, objects, strict }?: NgtEquConfig): boolean;
|
|
21
17
|
};
|
package/lib/utils/make.d.ts
CHANGED
|
@@ -1,4 +1,7 @@
|
|
|
1
|
-
import
|
|
1
|
+
import * as THREE from 'three';
|
|
2
|
+
import type { NgtDpr, NgtGLOptions, NgtIntersection, NgtObjectMap, NgtSize } from '../types';
|
|
2
3
|
export declare function makeId(event?: NgtIntersection): string;
|
|
3
4
|
export declare function makeDpr(dpr: NgtDpr, window?: Window): number;
|
|
4
|
-
export declare function
|
|
5
|
+
export declare function makeDefaultCamera(isOrthographic: boolean, size: NgtSize): THREE.OrthographicCamera | THREE.PerspectiveCamera;
|
|
6
|
+
export declare function makeDefaultRenderer(glOptions: NgtGLOptions, canvasElement: HTMLCanvasElement): THREE.WebGLRenderer;
|
|
7
|
+
export declare function makeObjectGraph(object: THREE.Object3D): NgtObjectMap;
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { NgtRxStore } from '../stores/rx-store';
|
|
2
|
+
import type { NgtEventManager, NgtState } from '../types';
|
|
3
|
+
export declare const supportedEvents: readonly ["click", "contextmenu", "dblclick", "pointerup", "pointerdown", "pointerover", "pointerout", "pointerenter", "pointerleave", "pointermove", "pointermissed", "pointercancel", "wheel"];
|
|
4
|
+
export declare function createPointerEvents(store: NgtRxStore<NgtState>): NgtEventManager<HTMLElement>;
|