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,69 @@
|
|
|
1
|
+
import { ComponentStore } from '@ngrx/component-store';
|
|
2
|
+
import { MonoTypeOperatorFunction, Observable } from 'rxjs';
|
|
3
|
+
import type { NgtAnyRecord } from '../types';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
/**
|
|
6
|
+
* a default Selector that consumers can quickly use for their selectors projector
|
|
7
|
+
*/
|
|
8
|
+
export declare const defaultProjector: () => {};
|
|
9
|
+
/**
|
|
10
|
+
* A custom operator that skips the first undefined value but allows subsequent undefined values.
|
|
11
|
+
* NgRxComponentStore#select always emits the first value regardless of undefined or not after initialize
|
|
12
|
+
*/
|
|
13
|
+
export declare const skipFirstUndefined: <T>() => MonoTypeOperatorFunction<T>;
|
|
14
|
+
declare type EffectFn<TValue> = (value: TValue) => void | undefined | ((cleanUpParams: {
|
|
15
|
+
prev: TValue | undefined;
|
|
16
|
+
complete: boolean;
|
|
17
|
+
error: boolean;
|
|
18
|
+
}) => void);
|
|
19
|
+
/**
|
|
20
|
+
* An extended `tap` operator that accepts an `effectFn` which:
|
|
21
|
+
* - runs on every `next` notification from `source$`
|
|
22
|
+
* - can optionally return a `cleanUp` function that
|
|
23
|
+
* invokes from the 2nd `next` notification onward and on `unsubscribe` (destroyed)
|
|
24
|
+
*
|
|
25
|
+
*
|
|
26
|
+
* @example
|
|
27
|
+
* ```typescript
|
|
28
|
+
* source$.pipe(
|
|
29
|
+
* tapEffect((sourceValue) = {
|
|
30
|
+
* const cb = () => {
|
|
31
|
+
* doStuff(sourceValue);
|
|
32
|
+
* };
|
|
33
|
+
* addListener('event', cb);
|
|
34
|
+
*
|
|
35
|
+
* return () => {
|
|
36
|
+
* removeListener('event', cb);
|
|
37
|
+
* }
|
|
38
|
+
* })
|
|
39
|
+
* )
|
|
40
|
+
* ```
|
|
41
|
+
*/
|
|
42
|
+
export declare function tapEffect<TValue>(effectFn: EffectFn<TValue>): MonoTypeOperatorFunction<TValue>;
|
|
43
|
+
export declare class NgtComponentStore<TState extends object = any, TInternalState extends object = TState & NgtAnyRecord> extends ComponentStore<TInternalState> {
|
|
44
|
+
constructor();
|
|
45
|
+
readonly read: {
|
|
46
|
+
(): TInternalState;
|
|
47
|
+
<R>(projector: (s: TInternalState) => R): R;
|
|
48
|
+
};
|
|
49
|
+
/**
|
|
50
|
+
* A custom patchState that allows for:
|
|
51
|
+
* - Partial state updates and Observable of partial state updates like patchState
|
|
52
|
+
* - Pass a Record<string, ObservableInput> to update a specific key with an Observable.
|
|
53
|
+
* This is similar to `RxState.connect()` API
|
|
54
|
+
*/
|
|
55
|
+
write(partialStateOrFactory: ((state: TInternalState) => Record<string, any>) | ((state: TInternalState) => Observable<Partial<TInternalState>>) | Observable<Partial<TInternalState>> | Record<string, any>): void;
|
|
56
|
+
protected initialize(): void;
|
|
57
|
+
/**
|
|
58
|
+
* A utility class method to select a state on the template as Observable
|
|
59
|
+
* - This method always debounce the Observable
|
|
60
|
+
*/
|
|
61
|
+
selectKey<TKey extends keyof TInternalState & string>(key: TKey, skipFirst?: boolean): Observable<TInternalState[TKey]>;
|
|
62
|
+
/**
|
|
63
|
+
* A utility class method to get a state on the template as imperative Value
|
|
64
|
+
*/
|
|
65
|
+
readKey<TKey extends keyof TInternalState & string>(key: TKey): TInternalState[TKey];
|
|
66
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<NgtComponentStore<any, any>, never>;
|
|
67
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<NgtComponentStore<any, any>>;
|
|
68
|
+
}
|
|
69
|
+
export {};
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { Subscription } from 'rxjs';
|
|
2
|
+
import type { NgtCanvasInputs, NgtState, NgtStateFactory } from '../types';
|
|
3
|
+
import { NgtComponentStore, tapEffect } from './component-store';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export declare const rootStateMap: Map<Element, NgtStateFactory>;
|
|
6
|
+
export declare class NgtStore extends NgtComponentStore<NgtState> {
|
|
7
|
+
private readonly parentStore;
|
|
8
|
+
private readonly zone;
|
|
9
|
+
private readonly window;
|
|
10
|
+
private readonly position;
|
|
11
|
+
private readonly defaultTarget;
|
|
12
|
+
private readonly tempTarget;
|
|
13
|
+
get rootStateFactory(): NgtStateFactory;
|
|
14
|
+
private readonly resize;
|
|
15
|
+
private readonly invalidate;
|
|
16
|
+
isInit: boolean;
|
|
17
|
+
isConfigured: boolean;
|
|
18
|
+
init(): void;
|
|
19
|
+
private readonly addInteraction;
|
|
20
|
+
private readonly removeInteraction;
|
|
21
|
+
private readonly setPerformanceCurrent;
|
|
22
|
+
private readonly setEvents;
|
|
23
|
+
private readonly setSize;
|
|
24
|
+
private readonly setCamera;
|
|
25
|
+
private readonly setDpr;
|
|
26
|
+
private readonly setFrameloop;
|
|
27
|
+
private readonly getCurrentViewport;
|
|
28
|
+
configure(inputs: NgtCanvasInputs, canvasElement: HTMLCanvasElement): void;
|
|
29
|
+
onReady(cb: Parameters<typeof tapEffect>[0]): Subscription;
|
|
30
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<NgtStore, never>;
|
|
31
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<NgtStore>;
|
|
32
|
+
}
|
package/lib/types.d.ts
ADDED
|
@@ -0,0 +1,358 @@
|
|
|
1
|
+
/// <reference types="webxr" />
|
|
2
|
+
import { ElementRef } from '@angular/core';
|
|
3
|
+
import { ObservableInput } from 'rxjs';
|
|
4
|
+
import * as THREE from 'three';
|
|
5
|
+
import { Renderer, WebGLRenderer, WebGLRendererParameters } from 'three';
|
|
6
|
+
import { NgtRef } from './ref';
|
|
7
|
+
export declare type NgtEquConfig = {
|
|
8
|
+
/** Compare arrays by reference equality a === b (default), or by shallow equality */
|
|
9
|
+
arrays?: 'reference' | 'shallow';
|
|
10
|
+
/** Compare objects by reference equality a === b (default), or by shallow equality */
|
|
11
|
+
objects?: 'reference' | 'shallow';
|
|
12
|
+
/** If true the keys in both a and b must match 1:1 (default), if false a's keys must intersect b's */
|
|
13
|
+
strict?: boolean;
|
|
14
|
+
};
|
|
15
|
+
export declare type NgtObservableInput<T> = T | ObservableInput<T>;
|
|
16
|
+
export declare type NgtAnyRecord = Record<string, any>;
|
|
17
|
+
export declare type NgtAnyFunction<TReturn = any> = (...args: any[]) => TReturn;
|
|
18
|
+
export declare type NgtAnyConstructor<TObject = any> = new (...args: any[]) => TObject;
|
|
19
|
+
export declare type NgtAnyAbstractConstructor<TObject = any> = abstract new (...args: any[]) => TObject;
|
|
20
|
+
export declare type NgtAnyCtor<TObject = any> = NgtAnyConstructor<TObject> | NgtAnyAbstractConstructor<TObject>;
|
|
21
|
+
export declare type NgtProperties<T> = Pick<T, {
|
|
22
|
+
[K in keyof T]: T[K] extends (_: any) => any ? never : K;
|
|
23
|
+
}[keyof T]>;
|
|
24
|
+
export declare type NgtNonFunctionKeys<T> = {
|
|
25
|
+
[K in keyof T]-?: T[K] extends Function ? never : K;
|
|
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;
|
|
59
|
+
};
|
|
60
|
+
export declare type NgtCamera = THREE.OrthographicCamera | THREE.PerspectiveCamera;
|
|
61
|
+
export declare type NgtDomEvent = PointerEvent | MouseEvent | WheelEvent;
|
|
62
|
+
export interface NgtIntersectionEvent<TSourceEvent> extends NgtIntersection {
|
|
63
|
+
/** An array of intersections */
|
|
64
|
+
intersections: NgtIntersection[];
|
|
65
|
+
/** vec3.set(pointer.x, pointer.y, 0).unproject(camera) */
|
|
66
|
+
unprojectedPoint: THREE.Vector3;
|
|
67
|
+
/** Normalized event coordinates (x: [-1, 1], y: [-1, 1]) */
|
|
68
|
+
pointer: THREE.Vector2;
|
|
69
|
+
/** delta between first click and this event */
|
|
70
|
+
delta: number;
|
|
71
|
+
/** the ray casted from the camera */
|
|
72
|
+
ray: THREE.Ray;
|
|
73
|
+
/** the camera used to raycast */
|
|
74
|
+
camera: NgtCamera;
|
|
75
|
+
/** stopPropagation will stop underlying handlers from firing */
|
|
76
|
+
stopPropagation: () => void;
|
|
77
|
+
/** the original event */
|
|
78
|
+
nativeEvent: TSourceEvent;
|
|
79
|
+
/** if the event was stopped by calling stopPropagation */
|
|
80
|
+
stopped: boolean;
|
|
81
|
+
}
|
|
82
|
+
export interface NgtIntersection extends THREE.Intersection {
|
|
83
|
+
/** The event source (the object which registered the handler) */
|
|
84
|
+
eventObject: THREE.Object3D;
|
|
85
|
+
}
|
|
86
|
+
export interface NgtPointerCaptureTarget {
|
|
87
|
+
intersection: NgtIntersection;
|
|
88
|
+
target: Element;
|
|
89
|
+
}
|
|
90
|
+
export declare type NgtThreeEvent<TEvent> = NgtIntersectionEvent<TEvent>;
|
|
91
|
+
export interface NgtEventHandlers {
|
|
92
|
+
click?: (event: NgtThreeEvent<MouseEvent>) => void;
|
|
93
|
+
contextmenu?: (event: NgtThreeEvent<MouseEvent>) => void;
|
|
94
|
+
dblclick?: (event: NgtThreeEvent<MouseEvent>) => void;
|
|
95
|
+
pointerup?: (event: NgtThreeEvent<PointerEvent>) => void;
|
|
96
|
+
pointerdown?: (event: NgtThreeEvent<PointerEvent>) => void;
|
|
97
|
+
pointerover?: (event: NgtThreeEvent<PointerEvent>) => void;
|
|
98
|
+
pointerout?: (event: NgtThreeEvent<PointerEvent>) => void;
|
|
99
|
+
pointerenter?: (event: NgtThreeEvent<PointerEvent>) => void;
|
|
100
|
+
pointerleave?: (event: NgtThreeEvent<PointerEvent>) => void;
|
|
101
|
+
pointermove?: (event: NgtThreeEvent<PointerEvent>) => void;
|
|
102
|
+
pointermissed?: (event: MouseEvent) => void;
|
|
103
|
+
pointercancel?: (event: NgtThreeEvent<PointerEvent>) => void;
|
|
104
|
+
wheel?: (event: NgtThreeEvent<WheelEvent>) => void;
|
|
105
|
+
}
|
|
106
|
+
export declare type NgtEvents = {
|
|
107
|
+
click: EventListener;
|
|
108
|
+
contextmenu: EventListener;
|
|
109
|
+
dblclick: EventListener;
|
|
110
|
+
wheel: EventListener;
|
|
111
|
+
pointerdown: EventListener;
|
|
112
|
+
pointerup: EventListener;
|
|
113
|
+
pointerleave: EventListener;
|
|
114
|
+
pointermove: EventListener;
|
|
115
|
+
pointercancel: EventListener;
|
|
116
|
+
lostpointercapture: EventListener;
|
|
117
|
+
};
|
|
118
|
+
export declare type NgtConditionalType<Child, Parent, Truthy, Falsy> = Child extends Parent ? Truthy : Falsy;
|
|
119
|
+
export interface NgtLoaderProto<T> extends THREE.Loader {
|
|
120
|
+
load(url: string | string[], onLoad?: (result: T) => void, onProgress?: (event: ProgressEvent) => void, onError?: (event: ErrorEvent) => void): unknown;
|
|
121
|
+
}
|
|
122
|
+
export interface NgtLoaderExtensions {
|
|
123
|
+
(loader: THREE.Loader): void;
|
|
124
|
+
}
|
|
125
|
+
export declare type NgtLoaderResult<T> = T extends any[] ? NgtLoaderProto<T[number]> : NgtLoaderProto<T>;
|
|
126
|
+
export declare type NgtBranchingReturn<T = any, Parent = any, Coerced = any> = NgtConditionalType<T, Parent, Coerced, T>;
|
|
127
|
+
export interface NgtObjectMap {
|
|
128
|
+
nodes: {
|
|
129
|
+
[name: string]: THREE.Object3D;
|
|
130
|
+
};
|
|
131
|
+
materials: {
|
|
132
|
+
[name: string]: THREE.Material;
|
|
133
|
+
};
|
|
134
|
+
[key: string]: any;
|
|
135
|
+
}
|
|
136
|
+
/**
|
|
137
|
+
* If **T** contains a constructor, @see ConstructorParameters must be used, otherwise **T**.
|
|
138
|
+
*/
|
|
139
|
+
export declare type NgtNodeArgs<T> = T extends new (...args: any) => any ? ConstructorParameters<T> : T;
|
|
140
|
+
/**
|
|
141
|
+
* Turn an implementation of THREE.Vector in to the type that an r3f component would accept as a prop.
|
|
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];
|
|
154
|
+
};
|
|
155
|
+
export interface NgtNodeProps<P> {
|
|
156
|
+
attach?: string[];
|
|
157
|
+
/** Constructor arguments */
|
|
158
|
+
args?: NgtNodeArgs<P>;
|
|
159
|
+
}
|
|
160
|
+
export declare type NgtNode<T, P> = NgtExtendedColors<NgtOverwrite<Partial<T>, NgtNodeProps<P>>>;
|
|
161
|
+
export declare type NgtObject3DNode<T, P> = NgtOverwrite<NgtNode<T, P>, {
|
|
162
|
+
position?: NgtVector3;
|
|
163
|
+
up?: NgtVector3;
|
|
164
|
+
scale?: NgtVector3;
|
|
165
|
+
rotation?: NgtEuler;
|
|
166
|
+
matrix?: NgtMatrix4;
|
|
167
|
+
quaternion?: NgtQuaternion;
|
|
168
|
+
layers?: NgtLayers;
|
|
169
|
+
dispose?: (() => void) | null;
|
|
170
|
+
}> & NgtEventHandlers;
|
|
171
|
+
export declare type NgtCameraWithManual = NgtCamera & {
|
|
172
|
+
manual?: boolean;
|
|
173
|
+
};
|
|
174
|
+
export interface NgtRenderState extends NgtState {
|
|
175
|
+
delta: number;
|
|
176
|
+
frame?: XRFrame;
|
|
177
|
+
}
|
|
178
|
+
export declare type NgtBeforeRenderCallback<TObject = any> = (state: NgtRenderState, obj: TObject) => void;
|
|
179
|
+
export interface NgtBeforeRenderRecord {
|
|
180
|
+
obj?: THREE.Object3D | NgtRef;
|
|
181
|
+
callback: NgtBeforeRenderCallback<THREE.Object3D | undefined>;
|
|
182
|
+
priority?: number;
|
|
183
|
+
stateFactory: NgtStateFactory;
|
|
184
|
+
}
|
|
185
|
+
export interface NgtInternalState {
|
|
186
|
+
active: boolean;
|
|
187
|
+
priority: number;
|
|
188
|
+
frames: number;
|
|
189
|
+
lastEvent: NgtDomEvent | null;
|
|
190
|
+
interaction: THREE.Object3D[];
|
|
191
|
+
hovered: Map<string, NgtThreeEvent<NgtDomEvent>>;
|
|
192
|
+
subscribers: NgtBeforeRenderRecord[];
|
|
193
|
+
capturedMap: Map<number, Map<THREE.Object3D, NgtPointerCaptureTarget>>;
|
|
194
|
+
initialClick: [x: number, y: number];
|
|
195
|
+
initialHits: THREE.Object3D[];
|
|
196
|
+
subscribe: (callback: NgtBeforeRenderCallback, priority?: number, stateFactory?: NgtStateFactory, obj?: THREE.Object3D | NgtRef) => () => void;
|
|
197
|
+
}
|
|
198
|
+
export interface NgtState {
|
|
199
|
+
/** The flag to notify if the Canvas is ready to render */
|
|
200
|
+
ready: boolean;
|
|
201
|
+
/** The instance of the renderer */
|
|
202
|
+
gl: THREE.WebGLRenderer;
|
|
203
|
+
/** Default camera */
|
|
204
|
+
camera: NgtCameraWithManual /** Default scene */;
|
|
205
|
+
cameraRef: NgtRef<NgtCameraWithManual>;
|
|
206
|
+
scene: THREE.Scene;
|
|
207
|
+
sceneRef: NgtRef<THREE.Scene>;
|
|
208
|
+
/** Default raycaster */
|
|
209
|
+
raycaster: THREE.Raycaster;
|
|
210
|
+
/** Default clock */
|
|
211
|
+
clock: THREE.Clock;
|
|
212
|
+
/** Event layer interface, contains the event handler and the node they're connected to */
|
|
213
|
+
events: NgtEventManager<any>;
|
|
214
|
+
/** XR interface */
|
|
215
|
+
xr: {
|
|
216
|
+
connect: () => void;
|
|
217
|
+
disconnect: () => void;
|
|
218
|
+
};
|
|
219
|
+
/** Currently used controls */
|
|
220
|
+
controls: THREE.EventDispatcher | null;
|
|
221
|
+
/** Normalized event coordinates */
|
|
222
|
+
pointer: THREE.Vector2;
|
|
223
|
+
legacy: boolean;
|
|
224
|
+
/** Shortcut to gl.outputEncoding = LinearEncoding */
|
|
225
|
+
linear: boolean;
|
|
226
|
+
/** Shortcut to gl.toneMapping = NoTonemapping */
|
|
227
|
+
flat: boolean;
|
|
228
|
+
/** Render loop flags */
|
|
229
|
+
frameloop: 'always' | 'demand' | 'never';
|
|
230
|
+
/** Adaptive performance interface */
|
|
231
|
+
performance: NgtPerformance;
|
|
232
|
+
/** Reactive pixel-size of the canvas */
|
|
233
|
+
size: NgtSize;
|
|
234
|
+
/** Reactive size of the viewport in threejs units */
|
|
235
|
+
viewport: NgtViewport & {
|
|
236
|
+
getCurrentViewport: (camera?: NgtCamera, target?: THREE.Vector3 | Parameters<THREE.Vector3['set']>, size?: NgtSize) => Omit<NgtViewport, 'dpr' | 'initialDpr'>;
|
|
237
|
+
};
|
|
238
|
+
/** Flags the canvas for render, but doesn't render in itself */
|
|
239
|
+
invalidate: (frames?: number) => void;
|
|
240
|
+
/** Advance (render) one step */
|
|
241
|
+
advance: (timestamp: number, runGlobalEffects?: boolean) => void;
|
|
242
|
+
/** Shortcut to setting the event layer */
|
|
243
|
+
setEvents: (events: Partial<NgtEventManager<any>>) => void;
|
|
244
|
+
/**
|
|
245
|
+
* Shortcut to manual sizing
|
|
246
|
+
*/
|
|
247
|
+
setSize: (width: number, height: number, top?: number, left?: number, updateStyle?: boolean) => void;
|
|
248
|
+
/** Shortcut to manual setting the pixel ratio */
|
|
249
|
+
setDpr: (dpr: NgtDpr) => void;
|
|
250
|
+
/** Shortcut to frameloop flags */
|
|
251
|
+
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
|
+
/** When the canvas was clicked but nothing was hit */
|
|
261
|
+
onPointerMissed?: (event: MouseEvent) => void;
|
|
262
|
+
internal: NgtInternalState;
|
|
263
|
+
/** If this state model is layerd (via createPortal) then this contains the previous layer */
|
|
264
|
+
previousStateFactory?: NgtStateFactory;
|
|
265
|
+
}
|
|
266
|
+
export declare type NgtStateFactory = () => NgtState;
|
|
267
|
+
export declare type NgtFilterFunction = (items: THREE.Intersection[], stateFactory: NgtStateFactory) => THREE.Intersection[];
|
|
268
|
+
export declare type NgtComputeFunction = (event: NgtDomEvent, rootStateFactory: NgtStateFactory, previousStateFactory?: NgtStateFactory) => void;
|
|
269
|
+
export interface NgtEventManager<TTarget> {
|
|
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;
|
|
286
|
+
}
|
|
287
|
+
export declare type NgtAttachFunction<TChild = any, TParent = any> = (parent: NgtRef<TParent>, child: NgtRef<TChild>, stateFactory: NgtStateFactory) => void | (() => void);
|
|
288
|
+
export interface NgtInstanceLocalState {
|
|
289
|
+
/** the state getter of the canvas that the instance is being rendered to */
|
|
290
|
+
stateFactory: NgtStateFactory;
|
|
291
|
+
rootFactory: NgtStateFactory;
|
|
292
|
+
instancesRefs: NgtRef<NgtRef[]>;
|
|
293
|
+
objectsRefs: NgtRef<NgtRef[]>;
|
|
294
|
+
parentRef: NgtRef<NgtInstanceNode> | null;
|
|
295
|
+
isPrimitive?: boolean;
|
|
296
|
+
isRaw?: boolean;
|
|
297
|
+
eventCount: number;
|
|
298
|
+
handlers: Partial<NgtEventHandlers>;
|
|
299
|
+
args?: unknown[];
|
|
300
|
+
attach?: string[] | (() => void);
|
|
301
|
+
attachValue?: unknown;
|
|
302
|
+
memoized?: NgtAnyRecord;
|
|
303
|
+
}
|
|
304
|
+
export declare type NgtInstanceNode<TNode = any> = TNode & {
|
|
305
|
+
__ngt__: NgtInstanceLocalState;
|
|
306
|
+
[key: string]: any;
|
|
307
|
+
};
|
|
308
|
+
export declare type NgtGLOptions = Renderer | ((canvas: HTMLCanvasElement) => Renderer) | Partial<NgtProperties<WebGLRenderer> | WebGLRendererParameters> | undefined;
|
|
309
|
+
export interface NgtCanvasInputs {
|
|
310
|
+
/** A threejs renderer instance or props that go into the default renderer */
|
|
311
|
+
gl?: NgtGLOptions;
|
|
312
|
+
/** Dimensions to fit the renderer to. Will measure canvas dimensions if omitted */
|
|
313
|
+
size?: NgtSize;
|
|
314
|
+
/**
|
|
315
|
+
* Enables PCFsoft shadows. Can accept `gl.shadowMap` options for fine-tuning.
|
|
316
|
+
* @see https://threejs.org/docs/#api/en/renderers/WebGLRenderer.shadowMap
|
|
317
|
+
*/
|
|
318
|
+
shadows?: boolean | Partial<THREE.WebGLShadowMap>;
|
|
319
|
+
/**
|
|
320
|
+
* Disables three r139 color management.
|
|
321
|
+
* @see https://threejs.org/docs/#manual/en/introduction/Color-management
|
|
322
|
+
*/
|
|
323
|
+
legacy?: boolean;
|
|
324
|
+
/** Switch off automatic sRGB encoding and gamma correction */
|
|
325
|
+
linear?: boolean;
|
|
326
|
+
/** Use `THREE.NoToneMapping` instead of `THREE.ACESFilmicToneMapping` */
|
|
327
|
+
flat?: boolean;
|
|
328
|
+
/** Creates an orthographic camera */
|
|
329
|
+
orthographic?: boolean;
|
|
330
|
+
/**
|
|
331
|
+
* R3F's render mode. Set to `demand` to only render on state change or `never` to take control.
|
|
332
|
+
* @see https://docs.pmnd.rs/react-three-fiber/advanced/scaling-performance#on-demand-rendering
|
|
333
|
+
*/
|
|
334
|
+
frameloop?: 'always' | 'demand' | 'never';
|
|
335
|
+
/**
|
|
336
|
+
* R3F performance options for adaptive performance.
|
|
337
|
+
* @see https://docs.pmnd.rs/react-three-fiber/advanced/scaling-performance#movement-regression
|
|
338
|
+
*/
|
|
339
|
+
performance?: Partial<Omit<NgtPerformance, 'regress'>>;
|
|
340
|
+
/** Target pixel ratio. Can clamp between a range: `[min, max]` */
|
|
341
|
+
dpr?: NgtDpr;
|
|
342
|
+
/** Props that go into the default raycaster */
|
|
343
|
+
raycaster?: Partial<THREE.Raycaster>;
|
|
344
|
+
/** A `THREE.Camera` instance or props that go into the default camera */
|
|
345
|
+
camera?: (NgtCamera | Partial<NgtObject3DNode<THREE.Camera, typeof THREE.Camera> & NgtObject3DNode<THREE.PerspectiveCamera, typeof THREE.PerspectiveCamera> & NgtObject3DNode<THREE.OrthographicCamera, typeof THREE.OrthographicCamera>>) & {
|
|
346
|
+
/** Flags the camera as manual, putting projection into your own hands */
|
|
347
|
+
manual?: boolean;
|
|
348
|
+
};
|
|
349
|
+
/** An R3F event manager to manage elements' pointer events */
|
|
350
|
+
events?: (stateFactory: NgtStateFactory) => NgtEventManager<HTMLElement>;
|
|
351
|
+
/** The target where events are being subscribed to, default: the div that wraps canvas */
|
|
352
|
+
eventSource?: HTMLElement | ElementRef<HTMLElement>;
|
|
353
|
+
/** The event prefix that is cast into canvas pointer x/y events, default: "offset" */
|
|
354
|
+
eventPrefix?: 'offset' | 'client' | 'page' | 'layer' | 'screen';
|
|
355
|
+
/** Default coordinate for the camera to look at */
|
|
356
|
+
lookAt?: THREE.Vector3;
|
|
357
|
+
}
|
|
358
|
+
export {};
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { NgtAnyRecord } from '../types';
|
|
2
|
+
export declare function diffProps<TInstance extends object>(instance: TInstance, props: NgtAnyRecord, previousProps?: NgtAnyRecord, remove?: boolean): {
|
|
3
|
+
changes: [key: string, value: unknown][];
|
|
4
|
+
memoized: NgtAnyRecord;
|
|
5
|
+
};
|
|
6
|
+
export declare function applyProps<TInstance extends object>(instance: TInstance, props: NgtAnyRecord): TInstance;
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import * as THREE from 'three';
|
|
2
|
+
import type { NgtCameraWithManual, NgtSize } from '../types';
|
|
3
|
+
export declare function updateCamera(camera: NgtCameraWithManual, size: NgtSize): void;
|
|
4
|
+
export declare function createDefaultCamera(isOrthographic: boolean, size: NgtSize): THREE.OrthographicCamera | THREE.PerspectiveCamera;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function capitalize(str: string): string;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import * as THREE from 'three';
|
|
2
|
+
import type { NgtDomEvent, NgtStateFactory } from '../types';
|
|
3
|
+
export declare function removeInteractivity(stateFactory: NgtStateFactory, object: THREE.Object3D): void;
|
|
4
|
+
export declare function createEvents(stateFactory: NgtStateFactory): {
|
|
5
|
+
handlePointer: (name: string) => (event: NgtDomEvent) => void;
|
|
6
|
+
};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { InjectionToken, InjectOptions, Provider } from '@angular/core';
|
|
2
|
+
export declare function createInjection<TTokenValue, TProvideValue = TTokenValue extends object ? Partial<TTokenValue> : TTokenValue>(description: string, { defaultValueOrFactory, provideValueFactory, }?: {
|
|
3
|
+
defaultValueOrFactory?: TTokenValue | (() => TTokenValue);
|
|
4
|
+
provideValueFactory?: (value: TProvideValue) => TTokenValue;
|
|
5
|
+
}): [
|
|
6
|
+
injectFn: (options?: InjectOptions) => TTokenValue,
|
|
7
|
+
provideFn: (value: TProvideValue) => Provider,
|
|
8
|
+
token: InjectionToken<TTokenValue>
|
|
9
|
+
];
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { NgtRef } from '../ref';
|
|
2
|
+
import type { NgtAnyRecord, NgtInstanceNode, NgtStateFactory } from '../types';
|
|
3
|
+
export declare function invalidateInstance<TInstance extends object>(instance: TInstance): void;
|
|
4
|
+
export declare function prepare<TInstance extends object = NgtAnyRecord>(instance: TInstance, parentStateFactory: NgtStateFactory, rootStateFactory: NgtStateFactory, parentInstance?: NgtRef, previousInstance?: NgtRef, isPrimitive?: boolean): NgtInstanceNode<TInstance>;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import * as THREE from 'three';
|
|
2
|
+
import { NgtRef } from '../ref';
|
|
3
|
+
import type { NgtEquConfig } from '../types';
|
|
4
|
+
export declare const is: {
|
|
5
|
+
obj: (a: unknown) => a is object;
|
|
6
|
+
material: (a: unknown) => a is THREE.Material;
|
|
7
|
+
geometry: (a: unknown) => a is THREE.BufferGeometry;
|
|
8
|
+
mesh: (a: unknown) => a is THREE.Mesh<THREE.BufferGeometry, THREE.Material | THREE.Material[]>;
|
|
9
|
+
color: (a: unknown) => a is THREE.Color;
|
|
10
|
+
orthographic: (a: unknown) => a is THREE.OrthographicCamera;
|
|
11
|
+
perspective: (a: unknown) => a is THREE.PerspectiveCamera;
|
|
12
|
+
camera: (a: unknown) => a is THREE.Camera;
|
|
13
|
+
glRenderer: (a: unknown) => a is THREE.WebGLRenderer;
|
|
14
|
+
scene: (a: unknown) => a is THREE.Scene;
|
|
15
|
+
object3d: (a: unknown) => a is THREE.Object3D<THREE.Event>;
|
|
16
|
+
instance: (a: unknown) => a is any;
|
|
17
|
+
ref: (a: unknown) => a is NgtRef<any>;
|
|
18
|
+
supportColorManagement: () => boolean;
|
|
19
|
+
canvas: (a: unknown) => a is HTMLCanvasElement;
|
|
20
|
+
equ(a: any, b: any, { arrays, objects, strict }?: NgtEquConfig): boolean;
|
|
21
|
+
};
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import type { NgtStateFactory } from '../types';
|
|
2
|
+
export declare type NgtGlobalRenderCallback = (timeStamp: number) => void;
|
|
3
|
+
/**
|
|
4
|
+
* Adds a global render callback which is called each frame.
|
|
5
|
+
* @see https://docs.pmnd.rs/react-three-fiber/api/additional-exports#addEffect
|
|
6
|
+
*/
|
|
7
|
+
export declare const addEffect: (callback: NgtGlobalRenderCallback) => () => void;
|
|
8
|
+
/**
|
|
9
|
+
* Adds a global after-render callback which is called each frame.
|
|
10
|
+
* @see https://docs.pmnd.rs/react-three-fiber/api/additional-exports#addAfterEffect
|
|
11
|
+
*/
|
|
12
|
+
export declare const addAfterEffect: (callback: NgtGlobalRenderCallback) => () => void;
|
|
13
|
+
/**
|
|
14
|
+
* Adds a global callback which is called when rendering stops.
|
|
15
|
+
* @see https://docs.pmnd.rs/react-three-fiber/api/additional-exports#addTail
|
|
16
|
+
*/
|
|
17
|
+
export declare const addTail: (callback: NgtGlobalRenderCallback) => () => void;
|
|
18
|
+
export declare type GlobalEffectType = 'before' | 'after' | 'tail';
|
|
19
|
+
export declare function flushGlobalEffects(type: GlobalEffectType, timestamp: number): void;
|
|
20
|
+
export declare function createLoop<TCanvas>(roots: Map<TCanvas, NgtStateFactory>): {
|
|
21
|
+
loop: (timestamp: number) => void;
|
|
22
|
+
/**
|
|
23
|
+
* Invalidates the view, requesting a frame to be rendered. Will globally invalidate unless passed a root's state.
|
|
24
|
+
* @see https://docs.pmnd.rs/react-three-fiber/api/additional-exports#invalidate
|
|
25
|
+
*/
|
|
26
|
+
invalidate: (stateFactory?: NgtStateFactory, frames?: number) => void;
|
|
27
|
+
/**
|
|
28
|
+
* Advances the frameloop and runs render effects, useful for when manually rendering via `frameloop="never"`.
|
|
29
|
+
* @see https://docs.pmnd.rs/react-three-fiber/api/additional-exports#advance
|
|
30
|
+
*/
|
|
31
|
+
advance: (timestamp: number, runGlobalEffects?: boolean, stateFactory?: NgtStateFactory, frame?: XRFrame) => void;
|
|
32
|
+
};
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { NgtAnyConstructor, NgtDpr, NgtIntersection } from '../types';
|
|
2
|
+
export declare function makeId(event?: NgtIntersection): string;
|
|
3
|
+
export declare function makeDpr(dpr: NgtDpr, window?: Window): number;
|
|
4
|
+
export declare function make<TType extends NgtAnyConstructor>(type: TType, input?: InstanceType<TType> | Parameters<typeof type.prototype['set']> | Parameters<typeof type.prototype['setScalar']>[0] | ConstructorParameters<TType>): InstanceType<TType>;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { NgtInstance } from '../instance';
|
|
2
|
+
import { NgtAttachFunction, NgtStateFactory } from '../types';
|
|
3
|
+
export declare function proxify<T extends object>(instance: T, proxifyOptions?: {
|
|
4
|
+
attach?: string | string[] | NgtAttachFunction<T>;
|
|
5
|
+
created?: (instance: T, stateFactory: NgtStateFactory, ngtInstance: NgtInstance) => void;
|
|
6
|
+
primitive?: boolean;
|
|
7
|
+
}): T;
|
package/lights/README.md
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export * from './lib/light-probe/light-probe';
|
|
2
|
+
export * from './lib/ambient-light/ambient-light';
|
|
3
|
+
export * from './lib/ambient-light-probe/ambient-light-probe';
|
|
4
|
+
export * from './lib/hemisphere-light/hemisphere-light';
|
|
5
|
+
export * from './lib/hemisphere-light-probe/hemisphere-light-probe';
|
|
6
|
+
export * from './lib/directional-light/directional-light';
|
|
7
|
+
export * from './lib/point-light/point-light';
|
|
8
|
+
export * from './lib/spot-light/spot-light';
|
|
9
|
+
export * from './lib/rect-area-light/rect-area-light';
|