@needle-tools/engine 4.4.0-beta → 4.4.0-ci.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/CHANGELOG.md +3604 -3604
- package/LICENSE.md +10 -10
- package/README.md +64 -64
- package/components.needle.json +1 -1
- package/dist/needle-engine.bundle.js +8 -8
- package/dist/needle-engine.bundle.light.js +8 -8
- package/dist/needle-engine.bundle.light.min.js +2 -2
- package/dist/needle-engine.bundle.light.umd.cjs +2 -2
- package/dist/needle-engine.bundle.min.js +2 -2
- package/dist/needle-engine.bundle.umd.cjs +2 -2
- package/dist/needle-engine.d.ts +130 -138
- package/dist/needle-engine.light.d.ts +130 -138
- package/dist/postprocessing.js +1673 -1527
- package/dist/postprocessing.light.js +1673 -1527
- package/dist/postprocessing.light.min.js +80 -66
- package/dist/postprocessing.light.umd.cjs +83 -69
- package/dist/postprocessing.min.js +80 -66
- package/dist/postprocessing.umd.cjs +83 -69
- package/dist/vendor.js +1 -1
- package/dist/vendor.light.js +1 -1
- package/lib/asap/needle-asap.d.ts +1 -1
- package/lib/asap/needle-asap.js +95 -95
- package/lib/asap/sessiongranted.d.ts +3 -3
- package/lib/asap/sessiongranted.js +65 -65
- package/lib/asap/utils.d.ts +1 -1
- package/lib/asap/utils.js +3 -3
- package/lib/engine/analytics/index.d.ts +6 -6
- package/lib/engine/analytics/index.js +12 -12
- package/lib/engine/analytics/lcp.d.ts +3 -3
- package/lib/engine/analytics/lcp.js +34 -34
- package/lib/engine/api.d.ts +81 -81
- package/lib/engine/api.js +80 -80
- package/lib/engine/assets/index.d.ts +11 -11
- package/lib/engine/assets/index.js +47 -47
- package/lib/engine/assets/static.d.ts +1 -1
- package/lib/engine/assets/static.js +4 -4
- package/lib/engine/codegen/register_types.d.ts +1 -1
- package/lib/engine/codegen/register_types.js +298 -298
- package/lib/engine/debug/debug.d.ts +15 -15
- package/lib/engine/debug/debug.js +44 -44
- package/lib/engine/debug/debug_console.d.ts +2 -2
- package/lib/engine/debug/debug_console.js +307 -307
- package/lib/engine/debug/debug_overlay.d.ts +22 -22
- package/lib/engine/debug/debug_overlay.js +316 -316
- package/lib/engine/debug/debug_spatial_console.d.ts +2 -2
- package/lib/engine/debug/debug_spatial_console.js +390 -390
- package/lib/engine/debug/index.d.ts +2 -2
- package/lib/engine/debug/index.js +2 -2
- package/lib/engine/engine_addressables.d.ts +166 -166
- package/lib/engine/engine_addressables.js +608 -608
- package/lib/engine/engine_animation.d.ts +43 -43
- package/lib/engine/engine_animation.js +133 -133
- package/lib/engine/engine_application.d.ts +40 -40
- package/lib/engine/engine_application.js +104 -104
- package/lib/engine/engine_assetdatabase.d.ts +25 -25
- package/lib/engine/engine_assetdatabase.js +344 -344
- package/lib/engine/engine_audio.d.ts +4 -4
- package/lib/engine/engine_audio.js +23 -23
- package/lib/engine/engine_camera.d.ts +13 -13
- package/lib/engine/engine_camera.js +30 -30
- package/lib/engine/engine_components.d.ts +110 -110
- package/lib/engine/engine_components.js +380 -380
- package/lib/engine/engine_components_internal.d.ts +9 -9
- package/lib/engine/engine_components_internal.js +36 -36
- package/lib/engine/engine_constants.d.ts +10 -10
- package/lib/engine/engine_constants.js +41 -41
- package/lib/engine/engine_context.d.ts +345 -345
- package/lib/engine/engine_context.js +1515 -1515
- package/lib/engine/engine_context_registry.d.ts +71 -71
- package/lib/engine/engine_context_registry.js +117 -117
- package/lib/engine/engine_coroutine.d.ts +35 -35
- package/lib/engine/engine_coroutine.js +52 -52
- package/lib/engine/engine_create_objects.d.ts +118 -118
- package/lib/engine/engine_create_objects.js +308 -308
- package/lib/engine/engine_default_parameters.d.ts +2 -2
- package/lib/engine/engine_default_parameters.js +3 -3
- package/lib/engine/engine_editor-sync.d.ts +21 -21
- package/lib/engine/engine_editor-sync.js +4 -4
- package/lib/engine/engine_element.d.ts +113 -113
- package/lib/engine/engine_element.js +830 -830
- package/lib/engine/engine_element_attributes.d.ts +72 -72
- package/lib/engine/engine_element_attributes.js +1 -1
- package/lib/engine/engine_element_extras.d.ts +6 -6
- package/lib/engine/engine_element_extras.js +13 -13
- package/lib/engine/engine_element_loading.d.ts +44 -44
- package/lib/engine/engine_element_loading.js +349 -349
- package/lib/engine/engine_element_overlay.d.ts +21 -21
- package/lib/engine/engine_element_overlay.js +166 -166
- package/lib/engine/engine_fileloader.d.ts +2 -2
- package/lib/engine/engine_fileloader.js +8 -8
- package/lib/engine/engine_gameobject.d.ts +68 -68
- package/lib/engine/engine_gameobject.js +591 -591
- package/lib/engine/engine_generic_utils.d.ts +1 -1
- package/lib/engine/engine_generic_utils.js +13 -13
- package/lib/engine/engine_gizmos.d.ts +149 -149
- package/lib/engine/engine_gizmos.js +530 -530
- package/lib/engine/engine_gltf.d.ts +12 -12
- package/lib/engine/engine_gltf.js +15 -15
- package/lib/engine/engine_gltf_builtin_components.d.ts +7 -7
- package/lib/engine/engine_gltf_builtin_components.js +341 -341
- package/lib/engine/engine_hot_reload.d.ts +7 -7
- package/lib/engine/engine_hot_reload.js +184 -184
- package/lib/engine/engine_input.d.ts +352 -352
- package/lib/engine/engine_input.js +1265 -1265
- package/lib/engine/engine_input_utils.d.ts +2 -2
- package/lib/engine/engine_input_utils.js +22 -22
- package/lib/engine/engine_instancing.d.ts +19 -19
- package/lib/engine/engine_instancing.js +39 -39
- package/lib/engine/engine_license.d.ts +9 -9
- package/lib/engine/engine_license.js +320 -320
- package/lib/engine/engine_lifecycle_api.d.ts +76 -76
- package/lib/engine/engine_lifecycle_api.js +99 -99
- package/lib/engine/engine_lifecycle_functions_internal.d.ts +32 -32
- package/lib/engine/engine_lifecycle_functions_internal.js +146 -146
- package/lib/engine/engine_lightdata.d.ts +23 -23
- package/lib/engine/engine_lightdata.js +91 -91
- package/lib/engine/engine_loaders.d.ts +13 -13
- package/lib/engine/engine_loaders.js +62 -62
- package/lib/engine/engine_lods.d.ts +31 -31
- package/lib/engine/engine_lods.js +146 -146
- package/lib/engine/engine_mainloop_utils.d.ts +32 -32
- package/lib/engine/engine_mainloop_utils.js +466 -466
- package/lib/engine/engine_math.d.ts +114 -114
- package/lib/engine/engine_math.js +247 -247
- package/lib/engine/engine_modules.d.ts +36 -36
- package/lib/engine/engine_modules.js +85 -85
- package/lib/engine/engine_networking.d.ts +252 -252
- package/lib/engine/engine_networking.js +743 -743
- package/lib/engine/engine_networking_auto.d.ts +24 -24
- package/lib/engine/engine_networking_auto.js +310 -310
- package/lib/engine/engine_networking_blob.d.ts +48 -48
- package/lib/engine/engine_networking_blob.js +212 -212
- package/lib/engine/engine_networking_files.d.ts +35 -35
- package/lib/engine/engine_networking_files.js +172 -172
- package/lib/engine/engine_networking_files_default_components.d.ts +6 -6
- package/lib/engine/engine_networking_files_default_components.js +42 -42
- package/lib/engine/engine_networking_instantiate.d.ts +100 -100
- package/lib/engine/engine_networking_instantiate.js +345 -345
- package/lib/engine/engine_networking_peer.d.ts +15 -15
- package/lib/engine/engine_networking_peer.js +132 -132
- package/lib/engine/engine_networking_streams.d.ts +123 -123
- package/lib/engine/engine_networking_streams.js +645 -645
- package/lib/engine/engine_networking_types.d.ts +22 -22
- package/lib/engine/engine_networking_types.js +7 -7
- package/lib/engine/engine_networking_utils.d.ts +2 -2
- package/lib/engine/engine_networking_utils.js +20 -20
- package/lib/engine/engine_networking_websocket.d.ts +1 -1
- package/lib/engine/engine_networking_websocket.js +2 -2
- package/lib/engine/engine_patcher.d.ts +10 -10
- package/lib/engine/engine_patcher.js +142 -142
- package/lib/engine/engine_physics.d.ts +152 -152
- package/lib/engine/engine_physics.js +645 -645
- package/lib/engine/engine_physics.types.d.ts +40 -40
- package/lib/engine/engine_physics.types.js +33 -33
- package/lib/engine/engine_physics_rapier.d.ts +147 -147
- package/lib/engine/engine_physics_rapier.js +1432 -1432
- package/lib/engine/engine_playerview.d.ts +26 -26
- package/lib/engine/engine_playerview.js +64 -64
- package/lib/engine/engine_scenelighting.d.ts +71 -71
- package/lib/engine/engine_scenelighting.js +226 -226
- package/lib/engine/engine_scenetools.d.ts +50 -50
- package/lib/engine/engine_scenetools.js +321 -321
- package/lib/engine/engine_serialization.d.ts +3 -3
- package/lib/engine/engine_serialization.js +3 -3
- package/lib/engine/engine_serialization_builtin_serializer.d.ts +72 -72
- package/lib/engine/engine_serialization_builtin_serializer.js +403 -403
- package/lib/engine/engine_serialization_core.d.ts +85 -85
- package/lib/engine/engine_serialization_core.js +602 -602
- package/lib/engine/engine_serialization_decorator.d.ts +23 -23
- package/lib/engine/engine_serialization_decorator.js +66 -66
- package/lib/engine/engine_setup.d.ts +1 -1
- package/lib/engine/engine_setup.js +2 -2
- package/lib/engine/engine_shaders.d.ts +53 -53
- package/lib/engine/engine_shaders.js +252 -252
- package/lib/engine/engine_shims.d.ts +4 -4
- package/lib/engine/engine_shims.js +24 -24
- package/lib/engine/engine_test_utils.d.ts +39 -39
- package/lib/engine/engine_test_utils.js +83 -83
- package/lib/engine/engine_texture.d.ts +28 -28
- package/lib/engine/engine_texture.js +64 -64
- package/lib/engine/engine_three_utils.d.ts +201 -201
- package/lib/engine/engine_three_utils.js +731 -731
- package/lib/engine/engine_time.d.ts +51 -51
- package/lib/engine/engine_time.js +82 -82
- package/lib/engine/engine_time_utils.d.ts +88 -88
- package/lib/engine/engine_time_utils.js +215 -215
- package/lib/engine/engine_tonemapping.d.ts +2 -2
- package/lib/engine/engine_tonemapping.js +194 -194
- package/lib/engine/engine_types.d.ts +572 -572
- package/lib/engine/engine_types.js +88 -88
- package/lib/engine/engine_typestore.d.ts +28 -28
- package/lib/engine/engine_typestore.js +55 -55
- package/lib/engine/engine_util_decorator.d.ts +13 -13
- package/lib/engine/engine_util_decorator.js +116 -116
- package/lib/engine/engine_utils.d.ts +266 -266
- package/lib/engine/engine_utils.js +878 -878
- package/lib/engine/engine_utils_format.d.ts +21 -21
- package/lib/engine/engine_utils_format.js +193 -193
- package/lib/engine/engine_utils_screenshot.d.ts +159 -159
- package/lib/engine/engine_utils_screenshot.js +513 -513
- package/lib/engine/engine_utils_screenshot.xr.d.ts +5 -5
- package/lib/engine/engine_utils_screenshot.xr.js +90 -90
- package/lib/engine/engine_xr.d.ts +1 -1
- package/lib/engine/engine_xr.js +1 -1
- package/lib/engine/export/gltf/Writers.d.ts +19 -19
- package/lib/engine/export/gltf/Writers.js +24 -24
- package/lib/engine/export/gltf/index.d.ts +11 -11
- package/lib/engine/export/gltf/index.js +123 -123
- package/lib/engine/export/index.d.ts +2 -2
- package/lib/engine/export/index.js +2 -2
- package/lib/engine/export/state.d.ts +7 -7
- package/lib/engine/export/state.js +17 -17
- package/lib/engine/export/utils.d.ts +2 -2
- package/lib/engine/export/utils.js +7 -7
- package/lib/engine/extensions/EXT_texture_exr.d.ts +8 -8
- package/lib/engine/extensions/EXT_texture_exr.js +32 -32
- package/lib/engine/extensions/NEEDLE_animator_controller_model.d.ts +122 -122
- package/lib/engine/extensions/NEEDLE_animator_controller_model.js +95 -95
- package/lib/engine/extensions/NEEDLE_components.d.ts +35 -35
- package/lib/engine/extensions/NEEDLE_components.js +220 -220
- package/lib/engine/extensions/NEEDLE_gameobject_data.d.ts +10 -10
- package/lib/engine/extensions/NEEDLE_gameobject_data.js +57 -57
- package/lib/engine/extensions/NEEDLE_lighting_settings.d.ts +37 -37
- package/lib/engine/extensions/NEEDLE_lighting_settings.js +157 -157
- package/lib/engine/extensions/NEEDLE_lightmaps.d.ts +18 -18
- package/lib/engine/extensions/NEEDLE_lightmaps.js +99 -99
- package/lib/engine/extensions/NEEDLE_persistent_assets.d.ts +11 -11
- package/lib/engine/extensions/NEEDLE_persistent_assets.js +63 -63
- package/lib/engine/extensions/NEEDLE_progressive.d.ts +1 -1
- package/lib/engine/extensions/NEEDLE_progressive.js +1 -1
- package/lib/engine/extensions/NEEDLE_render_objects.d.ts +13 -13
- package/lib/engine/extensions/NEEDLE_render_objects.js +159 -159
- package/lib/engine/extensions/NEEDLE_techniques_webgl.d.ts +38 -38
- package/lib/engine/extensions/NEEDLE_techniques_webgl.js +564 -564
- package/lib/engine/extensions/extension_resolver.d.ts +4 -4
- package/lib/engine/extensions/extension_resolver.js +1 -1
- package/lib/engine/extensions/extension_utils.d.ts +12 -12
- package/lib/engine/extensions/extension_utils.js +152 -152
- package/lib/engine/extensions/extensions.d.ts +31 -31
- package/lib/engine/extensions/extensions.js +103 -103
- package/lib/engine/extensions/index.d.ts +6 -6
- package/lib/engine/extensions/index.js +6 -6
- package/lib/engine/extensions/usage_tracker.d.ts +13 -13
- package/lib/engine/extensions/usage_tracker.js +65 -65
- package/lib/engine/js-extensions/Camera.d.ts +1 -1
- package/lib/engine/js-extensions/Camera.js +39 -39
- package/lib/engine/js-extensions/ExtensionUtils.d.ts +9 -9
- package/lib/engine/js-extensions/ExtensionUtils.js +67 -67
- package/lib/engine/js-extensions/Layers.d.ts +6 -6
- package/lib/engine/js-extensions/Layers.js +22 -22
- package/lib/engine/js-extensions/Object3D.d.ts +120 -120
- package/lib/engine/js-extensions/Object3D.js +136 -136
- package/lib/engine/js-extensions/RGBAColor.d.ts +22 -22
- package/lib/engine/js-extensions/RGBAColor.js +62 -62
- package/lib/engine/js-extensions/Vector.d.ts +3 -3
- package/lib/engine/js-extensions/Vector.js +13 -13
- package/lib/engine/js-extensions/index.d.ts +5 -5
- package/lib/engine/js-extensions/index.js +5 -5
- package/lib/engine/physics/workers/mesh-bvh/GenerateMeshBVHWorker.d.ts +4 -4
- package/lib/engine/physics/workers/mesh-bvh/GenerateMeshBVHWorker.js +75 -75
- package/lib/engine/shaders/shaderData.d.ts +55 -55
- package/lib/engine/shaders/shaderData.js +58 -58
- package/lib/engine/tests/test_utils.d.ts +2 -2
- package/lib/engine/tests/test_utils.js +53 -53
- package/lib/engine/webcomponents/WebXRButtons.d.ts +56 -56
- package/lib/engine/webcomponents/WebXRButtons.js +230 -230
- package/lib/engine/webcomponents/api.d.ts +5 -5
- package/lib/engine/webcomponents/api.js +4 -4
- package/lib/engine/webcomponents/buttons.d.ts +39 -39
- package/lib/engine/webcomponents/buttons.js +237 -237
- package/lib/engine/webcomponents/fonts.d.ts +9 -9
- package/lib/engine/webcomponents/fonts.js +32 -32
- package/lib/engine/webcomponents/icons.d.ts +9 -9
- package/lib/engine/webcomponents/icons.js +52 -52
- package/lib/engine/webcomponents/index.d.ts +1 -1
- package/lib/engine/webcomponents/index.js +1 -1
- package/lib/engine/webcomponents/logo-element.d.ts +10 -10
- package/lib/engine/webcomponents/logo-element.js +67 -67
- package/lib/engine/webcomponents/needle menu/needle-menu-spatial.d.ts +37 -37
- package/lib/engine/webcomponents/needle menu/needle-menu-spatial.js +513 -513
- package/lib/engine/webcomponents/needle menu/needle-menu.d.ts +151 -151
- package/lib/engine/webcomponents/needle menu/needle-menu.js +1018 -1018
- package/lib/engine/webcomponents/needle-button.d.ts +34 -34
- package/lib/engine/webcomponents/needle-button.js +161 -161
- package/lib/engine/xr/NeedleXRController.d.ts +313 -313
- package/lib/engine/xr/NeedleXRController.js +1008 -1008
- package/lib/engine/xr/NeedleXRSession.d.ts +339 -339
- package/lib/engine/xr/NeedleXRSession.js +1427 -1427
- package/lib/engine/xr/NeedleXRSync.d.ts +22 -22
- package/lib/engine/xr/NeedleXRSync.js +188 -188
- package/lib/engine/xr/SceneTransition.d.ts +18 -18
- package/lib/engine/xr/SceneTransition.js +69 -69
- package/lib/engine/xr/TempXRContext.d.ts +34 -34
- package/lib/engine/xr/TempXRContext.js +187 -187
- package/lib/engine/xr/XRRig.d.ts +7 -7
- package/lib/engine/xr/XRRig.js +1 -1
- package/lib/engine/xr/api.d.ts +6 -6
- package/lib/engine/xr/api.js +6 -6
- package/lib/engine/xr/events.d.ts +66 -66
- package/lib/engine/xr/events.js +93 -93
- package/lib/engine/xr/internal.d.ts +12 -12
- package/lib/engine/xr/internal.js +25 -25
- package/lib/engine/xr/usdz.d.ts +12 -12
- package/lib/engine/xr/usdz.js +29 -29
- package/lib/engine/xr/utils.d.ts +11 -11
- package/lib/engine/xr/utils.js +34 -34
- package/lib/engine-components/AlignmentConstraint.d.ts +10 -10
- package/lib/engine-components/AlignmentConstraint.js +39 -39
- package/lib/engine-components/Animation.d.ts +156 -156
- package/lib/engine-components/Animation.js +508 -508
- package/lib/engine-components/AnimationCurve.d.ts +40 -40
- package/lib/engine-components/AnimationCurve.js +159 -159
- package/lib/engine-components/AnimationUtils.d.ts +8 -8
- package/lib/engine-components/AnimationUtils.js +27 -27
- package/lib/engine-components/AnimationUtilsAutoplay.d.ts +1 -1
- package/lib/engine-components/AnimationUtilsAutoplay.js +39 -39
- package/lib/engine-components/Animator.d.ts +217 -217
- package/lib/engine-components/Animator.js +354 -354
- package/lib/engine-components/AnimatorController.d.ts +227 -227
- package/lib/engine-components/AnimatorController.js +1152 -1152
- package/lib/engine-components/AudioListener.d.ts +33 -33
- package/lib/engine-components/AudioListener.js +86 -86
- package/lib/engine-components/AudioSource.d.ts +217 -217
- package/lib/engine-components/AudioSource.js +627 -627
- package/lib/engine-components/AvatarLoader.d.ts +80 -80
- package/lib/engine-components/AvatarLoader.js +231 -231
- package/lib/engine-components/AxesHelper.d.ts +32 -32
- package/lib/engine-components/AxesHelper.js +67 -67
- package/lib/engine-components/BasicIKConstraint.d.ts +9 -9
- package/lib/engine-components/BasicIKConstraint.js +43 -43
- package/lib/engine-components/BoxCollider.d.ts +2 -2
- package/lib/engine-components/BoxCollider.js +2 -2
- package/lib/engine-components/BoxHelperComponent.d.ts +47 -47
- package/lib/engine-components/BoxHelperComponent.js +102 -102
- package/lib/engine-components/Camera.d.ts +231 -231
- package/lib/engine-components/Camera.js +694 -694
- package/lib/engine-components/CameraUtils.d.ts +1 -1
- package/lib/engine-components/CameraUtils.js +127 -127
- package/lib/engine-components/CharacterController.d.ts +55 -55
- package/lib/engine-components/CharacterController.js +236 -236
- package/lib/engine-components/Collider.d.ts +188 -188
- package/lib/engine-components/Collider.js +369 -369
- package/lib/engine-components/Component.d.ts +792 -792
- package/lib/engine-components/Component.js +915 -915
- package/lib/engine-components/ContactShadows.d.ts +82 -82
- package/lib/engine-components/ContactShadows.js +430 -430
- package/lib/engine-components/DeleteBox.d.ts +19 -19
- package/lib/engine-components/DeleteBox.js +58 -58
- package/lib/engine-components/DeviceFlag.d.ts +16 -16
- package/lib/engine-components/DeviceFlag.js +47 -47
- package/lib/engine-components/DragControls.d.ts +170 -170
- package/lib/engine-components/DragControls.js +1421 -1421
- package/lib/engine-components/DropListener.d.ts +215 -215
- package/lib/engine-components/DropListener.js +630 -630
- package/lib/engine-components/Duplicatable.d.ts +35 -35
- package/lib/engine-components/Duplicatable.js +202 -202
- package/lib/engine-components/EventList.d.ts +54 -54
- package/lib/engine-components/EventList.js +232 -232
- package/lib/engine-components/EventTrigger.d.ts +33 -33
- package/lib/engine-components/EventTrigger.js +75 -75
- package/lib/engine-components/EventType.d.ts +22 -22
- package/lib/engine-components/EventType.js +23 -23
- package/lib/engine-components/Fog.d.ts +22 -22
- package/lib/engine-components/Fog.js +61 -61
- package/lib/engine-components/Gizmos.d.ts +17 -17
- package/lib/engine-components/Gizmos.js +64 -64
- package/lib/engine-components/GridHelper.d.ts +20 -20
- package/lib/engine-components/GridHelper.js +54 -54
- package/lib/engine-components/GroundProjection.d.ts +67 -67
- package/lib/engine-components/GroundProjection.js +343 -343
- package/lib/engine-components/Interactable.d.ts +12 -12
- package/lib/engine-components/Interactable.js +12 -12
- package/lib/engine-components/Joints.d.ts +19 -19
- package/lib/engine-components/Joints.js +51 -51
- package/lib/engine-components/LODGroup.d.ts +35 -35
- package/lib/engine-components/LODGroup.js +152 -152
- package/lib/engine-components/Light.d.ts +180 -180
- package/lib/engine-components/Light.js +535 -535
- package/lib/engine-components/LookAtConstraint.d.ts +19 -19
- package/lib/engine-components/LookAtConstraint.js +35 -35
- package/lib/engine-components/NeedleMenu.d.ts +50 -50
- package/lib/engine-components/NeedleMenu.js +92 -92
- package/lib/engine-components/NestedGltf.d.ts +25 -25
- package/lib/engine-components/NestedGltf.js +88 -88
- package/lib/engine-components/Networking.d.ts +54 -54
- package/lib/engine-components/Networking.js +112 -112
- package/lib/engine-components/OffsetConstraint.d.ts +14 -14
- package/lib/engine-components/OffsetConstraint.js +65 -65
- package/lib/engine-components/OrbitControls.d.ts +266 -266
- package/lib/engine-components/OrbitControls.js +1009 -1009
- package/lib/engine-components/PlayerColor.d.ts +19 -19
- package/lib/engine-components/PlayerColor.js +94 -94
- package/lib/engine-components/ReflectionProbe.d.ts +26 -26
- package/lib/engine-components/ReflectionProbe.js +194 -194
- package/lib/engine-components/Renderer.d.ts +153 -153
- package/lib/engine-components/Renderer.js +830 -830
- package/lib/engine-components/RendererInstancing.d.ts +140 -140
- package/lib/engine-components/RendererInstancing.js +744 -744
- package/lib/engine-components/RendererLightmap.d.ts +24 -24
- package/lib/engine-components/RendererLightmap.js +182 -182
- package/lib/engine-components/RigidBody.d.ts +155 -155
- package/lib/engine-components/RigidBody.js +517 -517
- package/lib/engine-components/SceneSwitcher.d.ts +263 -263
- package/lib/engine-components/SceneSwitcher.js +951 -951
- package/lib/engine-components/ScreenCapture.d.ts +144 -144
- package/lib/engine-components/ScreenCapture.js +547 -547
- package/lib/engine-components/ShadowCatcher.d.ts +33 -33
- package/lib/engine-components/ShadowCatcher.js +166 -166
- package/lib/engine-components/Skybox.d.ts +82 -82
- package/lib/engine-components/Skybox.js +448 -448
- package/lib/engine-components/SmoothFollow.d.ts +34 -34
- package/lib/engine-components/SmoothFollow.js +82 -82
- package/lib/engine-components/SpatialTrigger.d.ts +102 -102
- package/lib/engine-components/SpatialTrigger.js +225 -225
- package/lib/engine-components/SpectatorCamera.d.ts +111 -111
- package/lib/engine-components/SpectatorCamera.js +715 -715
- package/lib/engine-components/SphereCollider.d.ts +2 -2
- package/lib/engine-components/SphereCollider.js +2 -2
- package/lib/engine-components/SpriteRenderer.d.ts +132 -132
- package/lib/engine-components/SpriteRenderer.js +472 -472
- package/lib/engine-components/SyncedCamera.d.ts +41 -41
- package/lib/engine-components/SyncedCamera.js +199 -199
- package/lib/engine-components/SyncedRoom.d.ts +106 -106
- package/lib/engine-components/SyncedRoom.js +371 -371
- package/lib/engine-components/SyncedTransform.d.ts +88 -88
- package/lib/engine-components/SyncedTransform.js +326 -326
- package/lib/engine-components/TestRunner.d.ts +16 -16
- package/lib/engine-components/TestRunner.js +102 -102
- package/lib/engine-components/TransformGizmo.d.ts +75 -75
- package/lib/engine-components/TransformGizmo.js +209 -209
- package/lib/engine-components/VideoPlayer.d.ts +184 -184
- package/lib/engine-components/VideoPlayer.js +978 -978
- package/lib/engine-components/Voip.d.ts +67 -67
- package/lib/engine-components/Voip.js +360 -360
- package/lib/engine-components/api.d.ts +51 -51
- package/lib/engine-components/api.js +50 -50
- package/lib/engine-components/avatar/AvatarBlink_Simple.d.ts +11 -11
- package/lib/engine-components/avatar/AvatarBlink_Simple.js +76 -76
- package/lib/engine-components/avatar/AvatarEyeLook_Rotation.d.ts +14 -14
- package/lib/engine-components/avatar/AvatarEyeLook_Rotation.js +68 -68
- package/lib/engine-components/avatar/Avatar_Brain_LookAt.d.ts +29 -29
- package/lib/engine-components/avatar/Avatar_Brain_LookAt.js +121 -121
- package/lib/engine-components/avatar/Avatar_MouthShapes.d.ts +15 -15
- package/lib/engine-components/avatar/Avatar_MouthShapes.js +79 -79
- package/lib/engine-components/avatar/Avatar_MustacheShake.d.ts +9 -9
- package/lib/engine-components/avatar/Avatar_MustacheShake.js +29 -29
- package/lib/engine-components/codegen/components.d.ts +215 -215
- package/lib/engine-components/codegen/components.js +217 -217
- package/lib/engine-components/debug/LogStats.d.ts +5 -5
- package/lib/engine-components/debug/LogStats.js +18 -18
- package/lib/engine-components/export/gltf/GltfExport.d.ts +30 -30
- package/lib/engine-components/export/gltf/GltfExport.js +246 -246
- package/lib/engine-components/export/gltf/index.d.ts +1 -1
- package/lib/engine-components/export/gltf/index.js +1 -1
- package/lib/engine-components/export/index.d.ts +1 -1
- package/lib/engine-components/export/index.js +1 -1
- package/lib/engine-components/export/usdz/Extension.d.ts +22 -22
- package/lib/engine-components/export/usdz/Extension.js +1 -1
- package/lib/engine-components/export/usdz/ThreeUSDZExporter.d.ts +160 -160
- package/lib/engine-components/export/usdz/ThreeUSDZExporter.js +1782 -1782
- package/lib/engine-components/export/usdz/USDZExporter.d.ts +130 -130
- package/lib/engine-components/export/usdz/USDZExporter.js +663 -663
- package/lib/engine-components/export/usdz/extensions/Animation.d.ts +106 -106
- package/lib/engine-components/export/usdz/extensions/Animation.js +1071 -1071
- package/lib/engine-components/export/usdz/extensions/DocumentExtension.d.ts +5 -5
- package/lib/engine-components/export/usdz/extensions/DocumentExtension.js +6 -6
- package/lib/engine-components/export/usdz/extensions/USDZText.d.ts +54 -54
- package/lib/engine-components/export/usdz/extensions/USDZText.js +203 -203
- package/lib/engine-components/export/usdz/extensions/USDZUI.d.ts +8 -8
- package/lib/engine-components/export/usdz/extensions/USDZUI.js +157 -157
- package/lib/engine-components/export/usdz/extensions/behavior/Actions.d.ts +30 -30
- package/lib/engine-components/export/usdz/extensions/behavior/Actions.js +88 -88
- package/lib/engine-components/export/usdz/extensions/behavior/AudioExtension.d.ts +10 -10
- package/lib/engine-components/export/usdz/extensions/behavior/AudioExtension.js +86 -86
- package/lib/engine-components/export/usdz/extensions/behavior/Behaviour.d.ts +28 -28
- package/lib/engine-components/export/usdz/extensions/behavior/Behaviour.js +290 -290
- package/lib/engine-components/export/usdz/extensions/behavior/BehaviourComponents.d.ts +190 -190
- package/lib/engine-components/export/usdz/extensions/behavior/BehaviourComponents.js +1060 -1060
- package/lib/engine-components/export/usdz/extensions/behavior/BehavioursBuilder.d.ts +135 -135
- package/lib/engine-components/export/usdz/extensions/behavior/BehavioursBuilder.js +548 -548
- package/lib/engine-components/export/usdz/extensions/behavior/PhysicsExtension.d.ts +7 -7
- package/lib/engine-components/export/usdz/extensions/behavior/PhysicsExtension.js +115 -115
- package/lib/engine-components/export/usdz/index.d.ts +3 -3
- package/lib/engine-components/export/usdz/index.js +2 -2
- package/lib/engine-components/export/usdz/utils/animationutils.d.ts +7 -7
- package/lib/engine-components/export/usdz/utils/animationutils.js +163 -163
- package/lib/engine-components/export/usdz/utils/quicklook.d.ts +2 -2
- package/lib/engine-components/export/usdz/utils/quicklook.js +43 -43
- package/lib/engine-components/particlesystem/ParticleSystem.d.ts +177 -177
- package/lib/engine-components/particlesystem/ParticleSystem.js +1176 -1176
- package/lib/engine-components/particlesystem/ParticleSystemModules.d.ts +526 -526
- package/lib/engine-components/particlesystem/ParticleSystemModules.js +1930 -1930
- package/lib/engine-components/particlesystem/ParticleSystemSubEmitter.d.ts +25 -25
- package/lib/engine-components/particlesystem/ParticleSystemSubEmitter.js +87 -87
- package/lib/engine-components/particlesystem/api.d.ts +2 -2
- package/lib/engine-components/particlesystem/api.js +2 -2
- package/lib/engine-components/postprocessing/Effects/Antialiasing.d.ts +17 -17
- package/lib/engine-components/postprocessing/Effects/Antialiasing.js +50 -50
- package/lib/engine-components/postprocessing/Effects/BloomEffect.d.ts +46 -46
- package/lib/engine-components/postprocessing/Effects/BloomEffect.js +113 -113
- package/lib/engine-components/postprocessing/Effects/ChromaticAberration.d.ts +11 -11
- package/lib/engine-components/postprocessing/Effects/ChromaticAberration.js +39 -39
- package/lib/engine-components/postprocessing/Effects/ColorAdjustments.d.ts +15 -15
- package/lib/engine-components/postprocessing/Effects/ColorAdjustments.js +92 -92
- package/lib/engine-components/postprocessing/Effects/DepthOfField.d.ts +25 -25
- package/lib/engine-components/postprocessing/Effects/DepthOfField.js +104 -104
- package/lib/engine-components/postprocessing/Effects/EffectWrapper.d.ts +12 -12
- package/lib/engine-components/postprocessing/Effects/EffectWrapper.js +18 -18
- package/lib/engine-components/postprocessing/Effects/Pixelation.d.ts +11 -11
- package/lib/engine-components/postprocessing/Effects/Pixelation.js +32 -32
- package/lib/engine-components/postprocessing/Effects/ScreenspaceAmbientOcclusion.d.ts +18 -18
- package/lib/engine-components/postprocessing/Effects/ScreenspaceAmbientOcclusion.js +91 -91
- package/lib/engine-components/postprocessing/Effects/ScreenspaceAmbientOcclusionN8.d.ts +70 -70
- package/lib/engine-components/postprocessing/Effects/ScreenspaceAmbientOcclusionN8.js +175 -175
- package/lib/engine-components/postprocessing/Effects/Sharpening.d.ts +17 -17
- package/lib/engine-components/postprocessing/Effects/Sharpening.js +123 -123
- package/lib/engine-components/postprocessing/Effects/TiltShiftEffect.d.ts +17 -17
- package/lib/engine-components/postprocessing/Effects/TiltShiftEffect.js +70 -70
- package/lib/engine-components/postprocessing/Effects/Tonemapping.d.ts +26 -26
- package/lib/engine-components/postprocessing/Effects/Tonemapping.js +138 -138
- package/lib/engine-components/postprocessing/Effects/Vignette.d.ts +15 -15
- package/lib/engine-components/postprocessing/Effects/Vignette.js +60 -60
- package/lib/engine-components/postprocessing/PostProcessingEffect.d.ts +72 -72
- package/lib/engine-components/postprocessing/PostProcessingEffect.js +149 -149
- package/lib/engine-components/postprocessing/PostProcessingHandler.d.ts +25 -25
- package/lib/engine-components/postprocessing/PostProcessingHandler.js +350 -350
- package/lib/engine-components/postprocessing/Volume.d.ts +89 -89
- package/lib/engine-components/postprocessing/Volume.js +367 -367
- package/lib/engine-components/postprocessing/VolumeParameter.d.ts +26 -26
- package/lib/engine-components/postprocessing/VolumeParameter.js +136 -136
- package/lib/engine-components/postprocessing/VolumeProfile.d.ts +15 -15
- package/lib/engine-components/postprocessing/VolumeProfile.js +60 -60
- package/lib/engine-components/postprocessing/index.d.ts +5 -5
- package/lib/engine-components/postprocessing/index.js +5 -5
- package/lib/engine-components/postprocessing/utils.d.ts +11 -11
- package/lib/engine-components/postprocessing/utils.js +37 -37
- package/lib/engine-components/timeline/PlayableDirector.d.ts +163 -163
- package/lib/engine-components/timeline/PlayableDirector.js +686 -686
- package/lib/engine-components/timeline/SignalAsset.d.ts +24 -24
- package/lib/engine-components/timeline/SignalAsset.js +130 -130
- package/lib/engine-components/timeline/TimelineModels.d.ts +89 -89
- package/lib/engine-components/timeline/TimelineModels.js +22 -22
- package/lib/engine-components/timeline/TimelineTracks.d.ts +110 -110
- package/lib/engine-components/timeline/TimelineTracks.js +879 -879
- package/lib/engine-components/timeline/index.d.ts +4 -4
- package/lib/engine-components/timeline/index.js +3 -3
- package/lib/engine-components/ui/BaseUIComponent.d.ts +49 -49
- package/lib/engine-components/ui/BaseUIComponent.js +170 -170
- package/lib/engine-components/ui/Button.d.ts +64 -64
- package/lib/engine-components/ui/Button.js +315 -315
- package/lib/engine-components/ui/Canvas.d.ts +74 -74
- package/lib/engine-components/ui/Canvas.js +407 -407
- package/lib/engine-components/ui/CanvasGroup.d.ts +19 -19
- package/lib/engine-components/ui/CanvasGroup.js +58 -58
- package/lib/engine-components/ui/EventSystem.d.ts +125 -125
- package/lib/engine-components/ui/EventSystem.js +764 -764
- package/lib/engine-components/ui/Graphic.d.ts +55 -55
- package/lib/engine-components/ui/Graphic.js +254 -254
- package/lib/engine-components/ui/Image.d.ts +35 -35
- package/lib/engine-components/ui/Image.js +116 -116
- package/lib/engine-components/ui/InputField.d.ts +42 -42
- package/lib/engine-components/ui/InputField.js +268 -268
- package/lib/engine-components/ui/Interfaces.d.ts +38 -38
- package/lib/engine-components/ui/Interfaces.js +12 -12
- package/lib/engine-components/ui/Layout.d.ts +84 -84
- package/lib/engine-components/ui/Layout.js +330 -330
- package/lib/engine-components/ui/Outline.d.ts +7 -7
- package/lib/engine-components/ui/Outline.js +20 -20
- package/lib/engine-components/ui/PointerEvents.d.ts +115 -115
- package/lib/engine-components/ui/PointerEvents.js +145 -145
- package/lib/engine-components/ui/RaycastUtils.d.ts +11 -11
- package/lib/engine-components/ui/RaycastUtils.js +67 -67
- package/lib/engine-components/ui/Raycaster.d.ts +30 -30
- package/lib/engine-components/ui/Raycaster.js +95 -95
- package/lib/engine-components/ui/RectTransform.d.ts +61 -61
- package/lib/engine-components/ui/RectTransform.js +353 -353
- package/lib/engine-components/ui/SpatialHtml.d.ts +8 -8
- package/lib/engine-components/ui/SpatialHtml.js +79 -79
- package/lib/engine-components/ui/Text.d.ts +78 -78
- package/lib/engine-components/ui/Text.js +539 -539
- package/lib/engine-components/ui/Utils.d.ts +24 -24
- package/lib/engine-components/ui/Utils.js +90 -90
- package/lib/engine-components/ui/index.d.ts +1 -1
- package/lib/engine-components/ui/index.js +1 -1
- package/lib/engine-components/utils/EnvironmentScene.d.ts +5 -5
- package/lib/engine-components/utils/EnvironmentScene.js +205 -205
- package/lib/engine-components/utils/LookAt.d.ts +31 -31
- package/lib/engine-components/utils/LookAt.js +82 -82
- package/lib/engine-components/utils/OpenURL.d.ts +42 -42
- package/lib/engine-components/utils/OpenURL.js +119 -119
- package/lib/engine-components/webxr/Avatar.d.ts +25 -25
- package/lib/engine-components/webxr/Avatar.js +255 -255
- package/lib/engine-components/webxr/TeleportTarget.d.ts +7 -7
- package/lib/engine-components/webxr/TeleportTarget.js +7 -7
- package/lib/engine-components/webxr/WebARCameraBackground.d.ts +30 -30
- package/lib/engine-components/webxr/WebARCameraBackground.js +155 -155
- package/lib/engine-components/webxr/WebARSessionRoot.d.ts +98 -98
- package/lib/engine-components/webxr/WebARSessionRoot.js +770 -770
- package/lib/engine-components/webxr/WebXR.d.ts +232 -232
- package/lib/engine-components/webxr/WebXR.js +561 -561
- package/lib/engine-components/webxr/WebXRAvatar.d.ts +27 -27
- package/lib/engine-components/webxr/WebXRAvatar.js +44 -44
- package/lib/engine-components/webxr/WebXRImageTracking.d.ts +86 -86
- package/lib/engine-components/webxr/WebXRImageTracking.js +470 -470
- package/lib/engine-components/webxr/WebXRPlaneTracking.d.ts +92 -92
- package/lib/engine-components/webxr/WebXRPlaneTracking.js +500 -500
- package/lib/engine-components/webxr/WebXRRig.d.ts +32 -32
- package/lib/engine-components/webxr/WebXRRig.js +72 -72
- package/lib/engine-components/webxr/XRFlag.d.ts +38 -38
- package/lib/engine-components/webxr/XRFlag.js +139 -139
- package/lib/engine-components/webxr/controllers/XRControllerFollow.d.ts +47 -47
- package/lib/engine-components/webxr/controllers/XRControllerFollow.js +120 -120
- package/lib/engine-components/webxr/controllers/XRControllerModel.d.ts +43 -43
- package/lib/engine-components/webxr/controllers/XRControllerModel.js +351 -351
- package/lib/engine-components/webxr/controllers/XRControllerMovement.d.ts +78 -78
- package/lib/engine-components/webxr/controllers/XRControllerMovement.js +506 -506
- package/lib/engine-components/webxr/index.d.ts +3 -3
- package/lib/engine-components/webxr/index.js +3 -3
- package/lib/engine-components/webxr/types.d.ts +3 -3
- package/lib/engine-components/webxr/types.js +1 -1
- package/lib/engine-components-experimental/Presentation.d.ts +6 -6
- package/lib/engine-components-experimental/Presentation.js +9 -9
- package/lib/engine-components-experimental/api.d.ts +4 -4
- package/lib/engine-components-experimental/api.js +4 -4
- package/lib/engine-components-experimental/networking/PlayerSync.d.ts +156 -156
- package/lib/engine-components-experimental/networking/PlayerSync.js +377 -377
- package/lib/engine-schemes/api.d.ts +12 -12
- package/lib/engine-schemes/api.js +12 -12
- package/lib/engine-schemes/schemes.d.ts +7 -7
- package/lib/engine-schemes/schemes.js +19 -19
- package/lib/engine-schemes/synced-camera-model.d.ts +25 -25
- package/lib/engine-schemes/synced-camera-model.js +67 -67
- package/lib/engine-schemes/synced-transform-model.d.ts +31 -31
- package/lib/engine-schemes/synced-transform-model.js +66 -66
- package/lib/engine-schemes/transform.d.ts +12 -12
- package/lib/engine-schemes/transform.js +39 -39
- package/lib/engine-schemes/vec2.d.ts +10 -10
- package/lib/engine-schemes/vec2.js +25 -25
- package/lib/engine-schemes/vec3.d.ts +11 -11
- package/lib/engine-schemes/vec3.js +29 -29
- package/lib/engine-schemes/vec4.d.ts +12 -12
- package/lib/engine-schemes/vec4.js +33 -33
- package/lib/engine-schemes/vr-user-state-buffer.d.ts +37 -37
- package/lib/engine-schemes/vr-user-state-buffer.js +110 -110
- package/lib/include/three/EXT_mesh_gpu_instancing_exporter.d.ts +6 -6
- package/lib/include/three/EXT_mesh_gpu_instancing_exporter.js +45 -45
- package/lib/needle-engine.d.ts +7 -7
- package/lib/needle-engine.js +64 -64
- package/package.json +1 -1
- package/plugins/common/buildinfo.js +64 -63
- package/plugins/common/cloud.js +2 -0
- package/plugins/common/config.cjs +31 -31
- package/plugins/common/config.js +35 -35
- package/plugins/common/files.js +31 -31
- package/plugins/common/generator.js +10 -10
- package/plugins/common/license.js +266 -224
- package/plugins/common/npm.js +15 -15
- package/plugins/common/timers.js +7 -7
- package/plugins/common/version.js +37 -37
- package/plugins/gltf-packer.mjs +1 -1
- package/plugins/next/alias.cjs +39 -39
- package/plugins/next/license.cjs +18 -18
- package/plugins/next/meshbvhworker.cjs +18 -18
- package/plugins/next/next.js +128 -128
- package/plugins/types/index.d.ts +2 -2
- package/plugins/types/license.d.ts +24 -24
- package/plugins/types/needleConfig.d.ts +27 -27
- package/plugins/types/userconfig.d.ts +105 -105
- package/plugins/types/webmanifest.d.ts +32 -32
- package/plugins/vite/alias.js +174 -174
- package/plugins/vite/asap.js +245 -245
- package/plugins/vite/build-pipeline.js +355 -354
- package/plugins/vite/build.js +19 -19
- package/plugins/vite/buildinfo.js +41 -41
- package/plugins/vite/config.js +106 -106
- package/plugins/vite/copyfiles.js +138 -138
- package/plugins/vite/defines.js +66 -66
- package/plugins/vite/dependencies.js +213 -213
- package/plugins/vite/dependency-watcher.js +231 -231
- package/plugins/vite/drop-client.js +76 -76
- package/plugins/vite/drop.js +87 -87
- package/plugins/vite/editor-connection.js +124 -124
- package/plugins/vite/facebook-instant-games.js +99 -99
- package/plugins/vite/gzip.js +5 -5
- package/plugins/vite/imports-logger.js +143 -143
- package/plugins/vite/index.js +139 -139
- package/plugins/vite/license.js +55 -55
- package/plugins/vite/meta.js +163 -163
- package/plugins/vite/npm.js +7 -7
- package/plugins/vite/peer.js +29 -29
- package/plugins/vite/poster-client.js +73 -73
- package/plugins/vite/poster.js +79 -79
- package/plugins/vite/pwa.js +604 -604
- package/plugins/vite/reload-client.js +15 -15
- package/plugins/vite/reload.js +363 -363
- package/plugins/vite/server.js +66 -66
- package/plugins/vite/transform-codegen.js +55 -55
- package/plugins/vite/transform.js +31 -31
- package/plugins/vite/vite-4.4-hack.js +31 -31
- package/src/asap/needle-asap.ts +111 -111
- package/src/asap/sessiongranted.ts +75 -75
- package/src/asap/utils.ts +4 -4
- package/src/engine/analytics/index.ts +10 -10
- package/src/engine/analytics/lcp.ts +35 -35
- package/src/engine/api.ts +81 -81
- package/src/engine/assets/index.ts +59 -59
- package/src/engine/assets/static.js +5 -5
- package/src/engine/codegen/register_types.ts +298 -298
- package/src/engine/debug/debug.ts +51 -51
- package/src/engine/debug/debug_console.ts +333 -333
- package/src/engine/debug/debug_overlay.ts +332 -332
- package/src/engine/debug/debug_spatial_console.ts +429 -429
- package/src/engine/debug/index.ts +1 -1
- package/src/engine/engine_addressables.ts +679 -679
- package/src/engine/engine_animation.ts +145 -145
- package/src/engine/engine_application.ts +113 -113
- package/src/engine/engine_assetdatabase.ts +387 -387
- package/src/engine/engine_audio.ts +24 -24
- package/src/engine/engine_camera.ts +39 -39
- package/src/engine/engine_components.ts +373 -373
- package/src/engine/engine_components_internal.ts +40 -40
- package/src/engine/engine_constants.ts +52 -52
- package/src/engine/engine_context.ts +1662 -1662
- package/src/engine/engine_context_registry.ts +129 -129
- package/src/engine/engine_coroutine.ts +54 -54
- package/src/engine/engine_create_objects.ts +398 -398
- package/src/engine/engine_default_parameters.ts +3 -3
- package/src/engine/engine_editor-sync.ts +28 -28
- package/src/engine/engine_element.ts +871 -871
- package/src/engine/engine_element_attributes.ts +85 -85
- package/src/engine/engine_element_extras.ts +16 -16
- package/src/engine/engine_element_loading.ts +381 -381
- package/src/engine/engine_element_overlay.ts +186 -186
- package/src/engine/engine_fileloader.js +9 -9
- package/src/engine/engine_gameobject.ts +684 -684
- package/src/engine/engine_generic_utils.js +13 -13
- package/src/engine/engine_gizmos.ts +577 -577
- package/src/engine/engine_gltf.ts +29 -29
- package/src/engine/engine_gltf_builtin_components.ts +403 -403
- package/src/engine/engine_hot_reload.ts +198 -198
- package/src/engine/engine_input.ts +1460 -1460
- package/src/engine/engine_input_utils.ts +23 -23
- package/src/engine/engine_instancing.ts +45 -45
- package/src/engine/engine_license.ts +329 -329
- package/src/engine/engine_lifecycle_api.ts +106 -106
- package/src/engine/engine_lifecycle_functions_internal.ts +193 -193
- package/src/engine/engine_lightdata.ts +117 -117
- package/src/engine/engine_loaders.ts +82 -82
- package/src/engine/engine_lods.ts +168 -168
- package/src/engine/engine_mainloop_utils.ts +472 -472
- package/src/engine/engine_math.ts +282 -282
- package/src/engine/engine_modules.ts +83 -83
- package/src/engine/engine_networking.ts +841 -841
- package/src/engine/engine_networking_auto.ts +352 -352
- package/src/engine/engine_networking_blob.ts +254 -254
- package/src/engine/engine_networking_files.ts +217 -217
- package/src/engine/engine_networking_files_default_components.ts +58 -58
- package/src/engine/engine_networking_instantiate.ts +419 -419
- package/src/engine/engine_networking_peer.ts +159 -159
- package/src/engine/engine_networking_streams.ts +713 -713
- package/src/engine/engine_networking_types.ts +24 -24
- package/src/engine/engine_networking_utils.ts +23 -23
- package/src/engine/engine_networking_websocket.ts +2 -2
- package/src/engine/engine_patcher.ts +199 -199
- package/src/engine/engine_physics.ts +783 -783
- package/src/engine/engine_physics.types.ts +46 -46
- package/src/engine/engine_physics_rapier.ts +1579 -1579
- package/src/engine/engine_playerview.ts +80 -80
- package/src/engine/engine_scenelighting.ts +294 -294
- package/src/engine/engine_scenetools.ts +365 -365
- package/src/engine/engine_serialization.ts +2 -2
- package/src/engine/engine_serialization_builtin_serializer.ts +473 -473
- package/src/engine/engine_serialization_core.ts +705 -705
- package/src/engine/engine_serialization_decorator.ts +80 -80
- package/src/engine/engine_setup.ts +1 -1
- package/src/engine/engine_shaders.ts +267 -267
- package/src/engine/engine_shims.ts +32 -32
- package/src/engine/engine_test_utils.ts +109 -109
- package/src/engine/engine_texture.ts +82 -82
- package/src/engine/engine_three_utils.ts +849 -849
- package/src/engine/engine_time.ts +94 -94
- package/src/engine/engine_time_utils.ts +237 -237
- package/src/engine/engine_tonemapping.ts +210 -210
- package/src/engine/engine_types.ts +714 -714
- package/src/engine/engine_typestore.ts +63 -63
- package/src/engine/engine_util_decorator.ts +136 -136
- package/src/engine/engine_utils.ts +972 -972
- package/src/engine/engine_utils_format.ts +212 -212
- package/src/engine/engine_utils_screenshot.ts +698 -698
- package/src/engine/engine_utils_screenshot.xr.ts +103 -103
- package/src/engine/export/gltf/Writers.ts +34 -34
- package/src/engine/export/gltf/index.ts +158 -158
- package/src/engine/export/index.ts +2 -2
- package/src/engine/export/state.ts +19 -19
- package/src/engine/export/utils.ts +9 -9
- package/src/engine/extensions/EXT_texture_exr.ts +50 -50
- package/src/engine/extensions/NEEDLE_animator_controller_model.ts +195 -195
- package/src/engine/extensions/NEEDLE_components.ts +268 -268
- package/src/engine/extensions/NEEDLE_gameobject_data.ts +81 -81
- package/src/engine/extensions/NEEDLE_lighting_settings.ts +185 -185
- package/src/engine/extensions/NEEDLE_lightmaps.ts +119 -119
- package/src/engine/extensions/NEEDLE_persistent_assets.ts +76 -76
- package/src/engine/extensions/NEEDLE_render_objects.ts +209 -209
- package/src/engine/extensions/NEEDLE_techniques_webgl.ts +640 -640
- package/src/engine/extensions/extension_resolver.ts +4 -4
- package/src/engine/extensions/extension_utils.ts +166 -166
- package/src/engine/extensions/extensions.ts +135 -135
- package/src/engine/extensions/index.ts +5 -5
- package/src/engine/extensions/usage_tracker.ts +100 -100
- package/src/engine/js-extensions/Camera.ts +37 -37
- package/src/engine/js-extensions/ExtensionUtils.ts +85 -85
- package/src/engine/js-extensions/Layers.ts +23 -23
- package/src/engine/js-extensions/Object3D.ts +296 -296
- package/src/engine/js-extensions/RGBAColor.ts +75 -75
- package/src/engine/js-extensions/Vector.ts +18 -18
- package/src/engine/js-extensions/index.ts +4 -4
- package/src/engine/physics/workers/mesh-bvh/GenerateMeshBVHWorker.js +122 -122
- package/src/engine/shaders/shaderData.ts +67 -67
- package/src/engine/tests/test_utils.ts +63 -63
- package/src/engine/webcomponents/WebXRButtons.ts +260 -260
- package/src/engine/webcomponents/api.ts +6 -6
- package/src/engine/webcomponents/buttons.ts +262 -262
- package/src/engine/webcomponents/fonts.ts +41 -41
- package/src/engine/webcomponents/icons.ts +57 -57
- package/src/engine/webcomponents/index.ts +1 -1
- package/src/engine/webcomponents/logo-element.ts +78 -78
- package/src/engine/webcomponents/needle menu/needle-menu-spatial.ts +573 -573
- package/src/engine/webcomponents/needle menu/needle-menu.ts +1107 -1107
- package/src/engine/webcomponents/needle-button.ts +181 -181
- package/src/engine/xr/NeedleXRController.ts +1126 -1126
- package/src/engine/xr/NeedleXRSession.ts +1585 -1585
- package/src/engine/xr/NeedleXRSync.ts +220 -220
- package/src/engine/xr/SceneTransition.ts +78 -78
- package/src/engine/xr/TempXRContext.ts +216 -216
- package/src/engine/xr/XRRig.ts +9 -9
- package/src/engine/xr/api.ts +5 -5
- package/src/engine/xr/events.ts +102 -102
- package/src/engine/xr/internal.ts +34 -34
- package/src/engine/xr/usdz.ts +30 -30
- package/src/engine/xr/utils.ts +39 -39
- package/src/engine-components/AlignmentConstraint.ts +36 -36
- package/src/engine-components/Animation.ts +557 -557
- package/src/engine-components/AnimationCurve.ts +150 -150
- package/src/engine-components/AnimationUtils.ts +28 -28
- package/src/engine-components/AnimationUtilsAutoplay.ts +43 -43
- package/src/engine-components/Animator.ts +397 -397
- package/src/engine-components/AnimatorController.ts +1293 -1293
- package/src/engine-components/AudioListener.ts +92 -92
- package/src/engine-components/AudioSource.ts +639 -639
- package/src/engine-components/AvatarLoader.ts +263 -263
- package/src/engine-components/AxesHelper.ts +59 -59
- package/src/engine-components/BasicIKConstraint.ts +54 -54
- package/src/engine-components/BoxCollider.ts +1 -1
- package/src/engine-components/BoxHelperComponent.ts +114 -114
- package/src/engine-components/Camera.ts +707 -707
- package/src/engine-components/CameraUtils.ts +144 -144
- package/src/engine-components/CharacterController.ts +253 -253
- package/src/engine-components/Collider.ts +374 -374
- package/src/engine-components/Component.ts +1294 -1294
- package/src/engine-components/ContactShadows.ts +482 -482
- package/src/engine-components/DeleteBox.ts +62 -62
- package/src/engine-components/DeviceFlag.ts +46 -46
- package/src/engine-components/DragControls.ts +1623 -1623
- package/src/engine-components/DropListener.ts +698 -698
- package/src/engine-components/Duplicatable.ts +198 -198
- package/src/engine-components/EventList.ts +266 -266
- package/src/engine-components/EventTrigger.ts +74 -74
- package/src/engine-components/EventType.ts +22 -22
- package/src/engine-components/Fog.ts +60 -60
- package/src/engine-components/Gizmos.ts +56 -56
- package/src/engine-components/GridHelper.ts +48 -48
- package/src/engine-components/GroundProjection.ts +356 -356
- package/src/engine-components/Interactable.ts +14 -14
- package/src/engine-components/Joints.ts +52 -52
- package/src/engine-components/LODGroup.ts +153 -153
- package/src/engine-components/Light.ts +558 -558
- package/src/engine-components/LookAtConstraint.ts +25 -25
- package/src/engine-components/NeedleMenu.ts +84 -84
- package/src/engine-components/NestedGltf.ts +86 -86
- package/src/engine-components/Networking.ts +114 -114
- package/src/engine-components/OffsetConstraint.ts +60 -60
- package/src/engine-components/OrbitControls.ts +1068 -1068
- package/src/engine-components/PlayerColor.ts +103 -103
- package/src/engine-components/ReflectionProbe.ts +209 -209
- package/src/engine-components/Renderer.ts +900 -900
- package/src/engine-components/RendererInstancing.ts +855 -855
- package/src/engine-components/RendererLightmap.ts +198 -198
- package/src/engine-components/RigidBody.ts +526 -526
- package/src/engine-components/SceneSwitcher.ts +1013 -1013
- package/src/engine-components/ScreenCapture.ts +592 -592
- package/src/engine-components/ShadowCatcher.ts +172 -172
- package/src/engine-components/Skybox.ts +455 -455
- package/src/engine-components/SmoothFollow.ts +76 -76
- package/src/engine-components/SpatialTrigger.ts +229 -229
- package/src/engine-components/SpectatorCamera.ts +787 -787
- package/src/engine-components/SphereCollider.ts +1 -1
- package/src/engine-components/SpriteRenderer.ts +468 -468
- package/src/engine-components/SyncedCamera.ts +220 -220
- package/src/engine-components/SyncedRoom.ts +380 -380
- package/src/engine-components/SyncedTransform.ts +378 -378
- package/src/engine-components/TestRunner.ts +118 -118
- package/src/engine-components/TransformGizmo.ts +219 -219
- package/src/engine-components/VideoPlayer.ts +1025 -1025
- package/src/engine-components/Voip.ts +363 -363
- package/src/engine-components/api.ts +60 -60
- package/src/engine-components/avatar/AvatarBlink_Simple.ts +69 -69
- package/src/engine-components/avatar/AvatarEyeLook_Rotation.ts +63 -63
- package/src/engine-components/avatar/Avatar_Brain_LookAt.ts +139 -139
- package/src/engine-components/avatar/Avatar_MouthShapes.ts +83 -83
- package/src/engine-components/avatar/Avatar_MustacheShake.ts +31 -31
- package/src/engine-components/codegen/components.ts +216 -216
- package/src/engine-components/debug/LogStats.ts +21 -21
- package/src/engine-components/export/gltf/GltfExport.ts +265 -265
- package/src/engine-components/export/usdz/Extension.ts +24 -24
- package/src/engine-components/export/usdz/ThreeUSDZExporter.ts +2413 -2413
- package/src/engine-components/export/usdz/USDZExporter.ts +705 -705
- package/src/engine-components/export/usdz/extensions/Animation.ts +1204 -1204
- package/src/engine-components/export/usdz/extensions/DocumentExtension.ts +9 -9
- package/src/engine-components/export/usdz/extensions/USDZText.ts +240 -240
- package/src/engine-components/export/usdz/extensions/USDZUI.ts +189 -189
- package/src/engine-components/export/usdz/extensions/behavior/Actions.ts +99 -99
- package/src/engine-components/export/usdz/extensions/behavior/AudioExtension.ts +102 -102
- package/src/engine-components/export/usdz/extensions/behavior/Behaviour.ts +320 -320
- package/src/engine-components/export/usdz/extensions/behavior/BehaviourComponents.ts +1225 -1225
- package/src/engine-components/export/usdz/extensions/behavior/BehavioursBuilder.ts +646 -646
- package/src/engine-components/export/usdz/extensions/behavior/PhysicsExtension.ts +132 -132
- package/src/engine-components/export/usdz/index.ts +2 -2
- package/src/engine-components/export/usdz/utils/animationutils.ts +191 -191
- package/src/engine-components/export/usdz/utils/quicklook.ts +50 -50
- package/src/engine-components/particlesystem/ParticleSystem.ts +1287 -1287
- package/src/engine-components/particlesystem/ParticleSystemModules.ts +1765 -1765
- package/src/engine-components/particlesystem/ParticleSystemSubEmitter.ts +111 -111
- package/src/engine-components/particlesystem/api.ts +1 -1
- package/src/engine-components/postprocessing/Effects/Antialiasing.ts +55 -55
- package/src/engine-components/postprocessing/Effects/BloomEffect.ts +116 -116
- package/src/engine-components/postprocessing/Effects/ChromaticAberration.ts +37 -37
- package/src/engine-components/postprocessing/Effects/ColorAdjustments.ts +95 -95
- package/src/engine-components/postprocessing/Effects/DepthOfField.ts +103 -103
- package/src/engine-components/postprocessing/Effects/EffectWrapper.ts +25 -25
- package/src/engine-components/postprocessing/Effects/Pixelation.ts +32 -32
- package/src/engine-components/postprocessing/Effects/ScreenspaceAmbientOcclusion.ts +90 -90
- package/src/engine-components/postprocessing/Effects/ScreenspaceAmbientOcclusionN8.ts +191 -191
- package/src/engine-components/postprocessing/Effects/Sharpening.ts +138 -138
- package/src/engine-components/postprocessing/Effects/TiltShiftEffect.ts +61 -61
- package/src/engine-components/postprocessing/Effects/Tonemapping.ts +155 -155
- package/src/engine-components/postprocessing/Effects/Vignette.ts +59 -59
- package/src/engine-components/postprocessing/PostProcessingEffect.ts +172 -172
- package/src/engine-components/postprocessing/PostProcessingHandler.ts +398 -398
- package/src/engine-components/postprocessing/Volume.ts +410 -410
- package/src/engine-components/postprocessing/VolumeParameter.ts +158 -158
- package/src/engine-components/postprocessing/VolumeProfile.ts +61 -61
- package/src/engine-components/postprocessing/index.ts +5 -5
- package/src/engine-components/postprocessing/utils.ts +52 -52
- package/src/engine-components/timeline/PlayableDirector.ts +722 -722
- package/src/engine-components/timeline/SignalAsset.ts +144 -144
- package/src/engine-components/timeline/TimelineModels.ts +92 -92
- package/src/engine-components/timeline/TimelineTracks.ts +967 -967
- package/src/engine-components/timeline/index.ts +3 -3
- package/src/engine-components/ui/BaseUIComponent.ts +203 -203
- package/src/engine-components/ui/Button.ts +307 -307
- package/src/engine-components/ui/Canvas.ts +419 -419
- package/src/engine-components/ui/CanvasGroup.ts +54 -54
- package/src/engine-components/ui/EventSystem.ts +853 -853
- package/src/engine-components/ui/Graphic.ts +275 -275
- package/src/engine-components/ui/Image.ts +112 -112
- package/src/engine-components/ui/InputField.ts +321 -321
- package/src/engine-components/ui/Interfaces.ts +57 -57
- package/src/engine-components/ui/Layout.ts +334 -334
- package/src/engine-components/ui/Outline.ts +13 -13
- package/src/engine-components/ui/PointerEvents.ts +206 -206
- package/src/engine-components/ui/RaycastUtils.ts +69 -69
- package/src/engine-components/ui/Raycaster.ts +102 -102
- package/src/engine-components/ui/RectTransform.ts +372 -372
- package/src/engine-components/ui/SpatialHtml.ts +79 -79
- package/src/engine-components/ui/Text.ts +578 -578
- package/src/engine-components/ui/Utils.ts +112 -112
- package/src/engine-components/utils/EnvironmentScene.ts +245 -245
- package/src/engine-components/utils/LookAt.ts +88 -88
- package/src/engine-components/utils/OpenURL.ts +114 -114
- package/src/engine-components/webxr/Avatar.ts +265 -265
- package/src/engine-components/webxr/TeleportTarget.ts +9 -9
- package/src/engine-components/webxr/WebARCameraBackground.ts +175 -175
- package/src/engine-components/webxr/WebARSessionRoot.ts +880 -880
- package/src/engine-components/webxr/WebXR.ts +585 -585
- package/src/engine-components/webxr/WebXRAvatar.ts +66 -66
- package/src/engine-components/webxr/WebXRImageTracking.ts +518 -518
- package/src/engine-components/webxr/WebXRPlaneTracking.ts +570 -570
- package/src/engine-components/webxr/WebXRRig.ts +77 -77
- package/src/engine-components/webxr/XRFlag.ts +147 -147
- package/src/engine-components/webxr/controllers/XRControllerFollow.ts +118 -118
- package/src/engine-components/webxr/controllers/XRControllerModel.ts +374 -374
- package/src/engine-components/webxr/controllers/XRControllerMovement.ts +550 -550
- package/src/engine-components/webxr/index.ts +2 -2
- package/src/engine-components/webxr/types.ts +3 -3
- package/src/engine-components-experimental/Presentation.ts +12 -12
- package/src/engine-components-experimental/api.ts +4 -4
- package/src/engine-components-experimental/networking/PlayerSync.ts +401 -401
- package/src/engine-schemes/COMPILE_SCHEMES.bat +3 -3
- package/src/engine-schemes/COMPILE_TS.bat +11 -11
- package/src/engine-schemes/README.md +1 -1
- package/src/engine-schemes/api.ts +12 -12
- package/src/engine-schemes/schemes.ts +28 -28
- package/src/engine-schemes/synced-camera-model.ts +92 -92
- package/src/engine-schemes/synced-transform-model.ts +90 -90
- package/src/engine-schemes/syncedCamera.fbs +10 -10
- package/src/engine-schemes/transform.ts +50 -50
- package/src/engine-schemes/transforms.fbs +25 -25
- package/src/engine-schemes/vec.fbs +19 -19
- package/src/engine-schemes/vec2.ts +33 -33
- package/src/engine-schemes/vec3.ts +38 -38
- package/src/engine-schemes/vec4.ts +43 -43
- package/src/engine-schemes/vr-user-state-buffer.ts +145 -145
- package/src/engine-schemes/vrUserStateBuffer.fbs +17 -17
- package/src/include/draco/draco_decoder.js +34 -34
- package/src/include/ktx2/basis_transcoder.js +21 -21
- package/src/include/needle/arial-msdf.json +1471 -1471
- package/src/include/three/DragControls.js +231 -231
- package/src/include/three/EXT_mesh_gpu_instancing_exporter.js +66 -66
- package/src/needle-engine.ts +70 -70
- package/lib/engine/engine.d.ts +0 -4
- package/lib/engine/engine.js +0 -12
- package/lib/engine/engine.js.map +0 -1
- package/lib/engine/engine_web_api.d.ts +0 -12
- package/lib/engine/engine_web_api.js +0 -113
- package/lib/engine/engine_web_api.js.map +0 -1
- package/lib/engine-components/FlyControls.d.ts +0 -10
- package/lib/engine-components/FlyControls.js +0 -29
- package/lib/engine-components/FlyControls.js.map +0 -1
- package/src/engine-schemes/dist/api.js +0 -17
- package/src/engine-schemes/dist/api.js.meta +0 -7
- package/src/engine-schemes/dist/schemes.js +0 -25
- package/src/engine-schemes/dist/schemes.js.meta +0 -7
- package/src/engine-schemes/dist/synced-camera-model.js +0 -74
- package/src/engine-schemes/dist/synced-camera-model.js.meta +0 -7
- package/src/engine-schemes/dist/synced-transform-model.js +0 -73
- package/src/engine-schemes/dist/synced-transform-model.js.meta +0 -7
- package/src/engine-schemes/dist/transform.js +0 -46
- package/src/engine-schemes/dist/transform.js.meta +0 -7
- package/src/engine-schemes/dist/vec2.js +0 -32
- package/src/engine-schemes/dist/vec2.js.meta +0 -7
- package/src/engine-schemes/dist/vec3.js +0 -36
- package/src/engine-schemes/dist/vec3.js.meta +0 -7
- package/src/engine-schemes/dist/vec4.js +0 -40
- package/src/engine-schemes/dist/vec4.js.meta +0 -7
- package/src/engine-schemes/dist/vr-user-state-buffer.js +0 -110
- package/src/engine-schemes/dist/vr-user-state-buffer.js.meta +0 -7
|
@@ -1,105 +1,105 @@
|
|
|
1
|
-
import { License } from "./license";
|
|
2
|
-
import { NeedlePWAOptions } from "./webmanifest.js";
|
|
3
|
-
|
|
4
|
-
export type needleModules = {
|
|
5
|
-
webpack: object | undefined
|
|
6
|
-
}
|
|
7
|
-
|
|
8
|
-
/**
|
|
9
|
-
* Settings for the Needle plugin
|
|
10
|
-
*/
|
|
11
|
-
export type userSettings = {
|
|
12
|
-
|
|
13
|
-
/** disable needle asap plugin */
|
|
14
|
-
noAsap?: boolean;
|
|
15
|
-
|
|
16
|
-
/** disable vite.alias modification */
|
|
17
|
-
noAlias?: boolean;
|
|
18
|
-
/**
|
|
19
|
-
* When set to `true` a plugin will log all alias resolutions to a file in the project node_modules directory
|
|
20
|
-
* @default false
|
|
21
|
-
*/
|
|
22
|
-
debugAlias?: boolean;
|
|
23
|
-
|
|
24
|
-
/** disable automatic copying of files to include and output directory (dist) */
|
|
25
|
-
noCopy?: boolean;
|
|
26
|
-
/** When enabled the needle-engine include directory will be copied */
|
|
27
|
-
copyIncludesFromEngine?: boolean;
|
|
28
|
-
/** set to false to tree-shake rapier physics engine to the reduce bundle size */
|
|
29
|
-
useRapier?: boolean;
|
|
30
|
-
/** experimental */
|
|
31
|
-
usePostprocessing?: boolean;
|
|
32
|
-
noDependencyWatcher?: boolean;
|
|
33
|
-
/** set to false to suppress editor-sync package installation and connection */
|
|
34
|
-
dontInstallEditor?: boolean;
|
|
35
|
-
/** set to false to prevent meta.html modifications (vite only) */
|
|
36
|
-
allowMetaPlugin?: boolean;
|
|
37
|
-
/** set to true to prevent injecting peerjs `parcelRequire` global variable declaration */
|
|
38
|
-
noPeer?: boolean;
|
|
39
|
-
/** set to true to disable reload plugin */
|
|
40
|
-
noReload?: boolean;
|
|
41
|
-
/** Set to false to disable hot reload for the needle plugin. */
|
|
42
|
-
allowHotReload?: boolean;
|
|
43
|
-
|
|
44
|
-
/** When enabled the Vite drop plugin will be enabled. @default false */
|
|
45
|
-
useDrop?: boolean;
|
|
46
|
-
|
|
47
|
-
noCodegenTransform?: boolean;
|
|
48
|
-
noFacebookInstantGames?: boolean;
|
|
49
|
-
/** Set to true to create an imports.log file that shows all module imports. The file is generated when stopping the server. */
|
|
50
|
-
logModuleImportChains?: boolean;
|
|
51
|
-
|
|
52
|
-
/** Set to true to disable generating the buildinfo.json file in your output directory */
|
|
53
|
-
noBuildInfo?: boolean;
|
|
54
|
-
|
|
55
|
-
/** Set to true to disable the needle build pipeline (running compression and optimization as a postprocessing step on the exported glTF files) */
|
|
56
|
-
noBuildPipeline?: boolean;
|
|
57
|
-
|
|
58
|
-
/**
|
|
59
|
-
* Use to configure optimized builds
|
|
60
|
-
*/
|
|
61
|
-
buildPipeline?: {
|
|
62
|
-
/** Set to false to prevent the build pipeline from running */
|
|
63
|
-
enabled?: boolean,
|
|
64
|
-
/** Set a project name (cloud only) */
|
|
65
|
-
projectName?: string,
|
|
66
|
-
/** Enable for verbose log output */
|
|
67
|
-
verbose?: boolean,
|
|
68
|
-
|
|
69
|
-
/** Set to a specific version of the Needle Build Pipeline.
|
|
70
|
-
* @default "latest"
|
|
71
|
-
* @example "2.2.0-alpha"
|
|
72
|
-
*/
|
|
73
|
-
version?: string;
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
/** required for @serializable https://github.com/vitejs/vite/issues/13736 */
|
|
77
|
-
vite44Hack?: boolean;
|
|
78
|
-
|
|
79
|
-
/** set to true to disable poster generation */
|
|
80
|
-
noPoster?: boolean;
|
|
81
|
-
// posterFormat?: "image/webp";// | "image/png";
|
|
82
|
-
/**
|
|
83
|
-
* Use "default" to always generate the poster after 'src' has changed
|
|
84
|
-
* Use "once" to generate the poster only once, when no poster already exists
|
|
85
|
-
*/
|
|
86
|
-
posterGenerationMode?: "default" | "once";
|
|
87
|
-
|
|
88
|
-
/** Pass in a mix of VitePWA and NeedlePWA options, true to enable with defaults or "false" to disable */
|
|
89
|
-
/** @type {import("vite-plugin-pwa").VitePWAOptions & Partial<NeedlePWAOptions> | boolean} */
|
|
90
|
-
pwa?: undefined;
|
|
91
|
-
|
|
92
|
-
/** used by nextjs config to forward the webpack module */
|
|
93
|
-
modules?: needleModules;
|
|
94
|
-
|
|
95
|
-
/**
|
|
96
|
-
* Use to activate a needle engine license
|
|
97
|
-
*/
|
|
98
|
-
license?: License;
|
|
99
|
-
|
|
100
|
-
/**
|
|
101
|
-
* When set to `true` a plugin will automatically attempt to open the browser using a network ip address when the local server has started
|
|
102
|
-
* @default undefined
|
|
103
|
-
*/
|
|
104
|
-
openBrowser?: boolean;
|
|
105
|
-
}
|
|
1
|
+
import { License } from "./license";
|
|
2
|
+
import { NeedlePWAOptions } from "./webmanifest.js";
|
|
3
|
+
|
|
4
|
+
export type needleModules = {
|
|
5
|
+
webpack: object | undefined
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Settings for the Needle plugin
|
|
10
|
+
*/
|
|
11
|
+
export type userSettings = {
|
|
12
|
+
|
|
13
|
+
/** disable needle asap plugin */
|
|
14
|
+
noAsap?: boolean;
|
|
15
|
+
|
|
16
|
+
/** disable vite.alias modification */
|
|
17
|
+
noAlias?: boolean;
|
|
18
|
+
/**
|
|
19
|
+
* When set to `true` a plugin will log all alias resolutions to a file in the project node_modules directory
|
|
20
|
+
* @default false
|
|
21
|
+
*/
|
|
22
|
+
debugAlias?: boolean;
|
|
23
|
+
|
|
24
|
+
/** disable automatic copying of files to include and output directory (dist) */
|
|
25
|
+
noCopy?: boolean;
|
|
26
|
+
/** When enabled the needle-engine include directory will be copied */
|
|
27
|
+
copyIncludesFromEngine?: boolean;
|
|
28
|
+
/** set to false to tree-shake rapier physics engine to the reduce bundle size */
|
|
29
|
+
useRapier?: boolean;
|
|
30
|
+
/** experimental */
|
|
31
|
+
usePostprocessing?: boolean;
|
|
32
|
+
noDependencyWatcher?: boolean;
|
|
33
|
+
/** set to false to suppress editor-sync package installation and connection */
|
|
34
|
+
dontInstallEditor?: boolean;
|
|
35
|
+
/** set to false to prevent meta.html modifications (vite only) */
|
|
36
|
+
allowMetaPlugin?: boolean;
|
|
37
|
+
/** set to true to prevent injecting peerjs `parcelRequire` global variable declaration */
|
|
38
|
+
noPeer?: boolean;
|
|
39
|
+
/** set to true to disable reload plugin */
|
|
40
|
+
noReload?: boolean;
|
|
41
|
+
/** Set to false to disable hot reload for the needle plugin. */
|
|
42
|
+
allowHotReload?: boolean;
|
|
43
|
+
|
|
44
|
+
/** When enabled the Vite drop plugin will be enabled. @default false */
|
|
45
|
+
useDrop?: boolean;
|
|
46
|
+
|
|
47
|
+
noCodegenTransform?: boolean;
|
|
48
|
+
noFacebookInstantGames?: boolean;
|
|
49
|
+
/** Set to true to create an imports.log file that shows all module imports. The file is generated when stopping the server. */
|
|
50
|
+
logModuleImportChains?: boolean;
|
|
51
|
+
|
|
52
|
+
/** Set to true to disable generating the buildinfo.json file in your output directory */
|
|
53
|
+
noBuildInfo?: boolean;
|
|
54
|
+
|
|
55
|
+
/** Set to true to disable the needle build pipeline (running compression and optimization as a postprocessing step on the exported glTF files) */
|
|
56
|
+
noBuildPipeline?: boolean;
|
|
57
|
+
|
|
58
|
+
/**
|
|
59
|
+
* Use to configure optimized builds
|
|
60
|
+
*/
|
|
61
|
+
buildPipeline?: {
|
|
62
|
+
/** Set to false to prevent the build pipeline from running */
|
|
63
|
+
enabled?: boolean,
|
|
64
|
+
/** Set a project name (cloud only) */
|
|
65
|
+
projectName?: string,
|
|
66
|
+
/** Enable for verbose log output */
|
|
67
|
+
verbose?: boolean,
|
|
68
|
+
|
|
69
|
+
/** Set to a specific version of the Needle Build Pipeline.
|
|
70
|
+
* @default "latest"
|
|
71
|
+
* @example "2.2.0-alpha"
|
|
72
|
+
*/
|
|
73
|
+
version?: string;
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
/** required for @serializable https://github.com/vitejs/vite/issues/13736 */
|
|
77
|
+
vite44Hack?: boolean;
|
|
78
|
+
|
|
79
|
+
/** set to true to disable poster generation */
|
|
80
|
+
noPoster?: boolean;
|
|
81
|
+
// posterFormat?: "image/webp";// | "image/png";
|
|
82
|
+
/**
|
|
83
|
+
* Use "default" to always generate the poster after 'src' has changed
|
|
84
|
+
* Use "once" to generate the poster only once, when no poster already exists
|
|
85
|
+
*/
|
|
86
|
+
posterGenerationMode?: "default" | "once";
|
|
87
|
+
|
|
88
|
+
/** Pass in a mix of VitePWA and NeedlePWA options, true to enable with defaults or "false" to disable */
|
|
89
|
+
/** @type {import("vite-plugin-pwa").VitePWAOptions & Partial<NeedlePWAOptions> | boolean} */
|
|
90
|
+
pwa?: undefined;
|
|
91
|
+
|
|
92
|
+
/** used by nextjs config to forward the webpack module */
|
|
93
|
+
modules?: needleModules;
|
|
94
|
+
|
|
95
|
+
/**
|
|
96
|
+
* Use to activate a needle engine license
|
|
97
|
+
*/
|
|
98
|
+
license?: License;
|
|
99
|
+
|
|
100
|
+
/**
|
|
101
|
+
* When set to `true` a plugin will automatically attempt to open the browser using a network ip address when the local server has started
|
|
102
|
+
* @default undefined
|
|
103
|
+
*/
|
|
104
|
+
openBrowser?: boolean;
|
|
105
|
+
}
|
|
@@ -1,33 +1,33 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
declare type Icon = {
|
|
5
|
-
src: string;
|
|
6
|
-
/** string with concatenated size options, e.g. "48x48 96x96 192x192" */
|
|
7
|
-
sizes: string;
|
|
8
|
-
/** MIME type, e.g. image/svg+xml */
|
|
9
|
-
type: string;
|
|
10
|
-
/** Icon purpose, e.g. "any" or "maskable", which have different safe zones. */
|
|
11
|
-
purpose: string;
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
export declare type Webmanifest = {
|
|
15
|
-
start_url: string;
|
|
16
|
-
name?: string;
|
|
17
|
-
short_name?: string;
|
|
18
|
-
/** Unique ID – make sure that apps that live on the same subdomain use different IDs. */
|
|
19
|
-
id?: string;
|
|
20
|
-
icons?: Array<Icon>;
|
|
21
|
-
/** Workbox config as used by vite-pwa */
|
|
22
|
-
workbox?: object;
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
export declare type NeedlePWAOptions = {
|
|
26
|
-
/** Update check interval in milliseconds. After this time, a check is done if a new version is available. */
|
|
27
|
-
updateInterval?: number;
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
export declare type NeedlePWAProcessContext = {
|
|
31
|
-
/** Temporarily generated files that will be cleaned up after PWA export */
|
|
32
|
-
generatedFiles: Array<string>;
|
|
1
|
+
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
declare type Icon = {
|
|
5
|
+
src: string;
|
|
6
|
+
/** string with concatenated size options, e.g. "48x48 96x96 192x192" */
|
|
7
|
+
sizes: string;
|
|
8
|
+
/** MIME type, e.g. image/svg+xml */
|
|
9
|
+
type: string;
|
|
10
|
+
/** Icon purpose, e.g. "any" or "maskable", which have different safe zones. */
|
|
11
|
+
purpose: string;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
export declare type Webmanifest = {
|
|
15
|
+
start_url: string;
|
|
16
|
+
name?: string;
|
|
17
|
+
short_name?: string;
|
|
18
|
+
/** Unique ID – make sure that apps that live on the same subdomain use different IDs. */
|
|
19
|
+
id?: string;
|
|
20
|
+
icons?: Array<Icon>;
|
|
21
|
+
/** Workbox config as used by vite-pwa */
|
|
22
|
+
workbox?: object;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
export declare type NeedlePWAOptions = {
|
|
26
|
+
/** Update check interval in milliseconds. After this time, a check is done if a new version is available. */
|
|
27
|
+
updateInterval?: number;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
export declare type NeedlePWAProcessContext = {
|
|
31
|
+
/** Temporarily generated files that will be cleaned up after PWA export */
|
|
32
|
+
generatedFiles: Array<string>;
|
|
33
33
|
}
|
package/plugins/vite/alias.js
CHANGED
|
@@ -1,174 +1,174 @@
|
|
|
1
|
-
import { createWriteStream, existsSync, mkdirSync, rmSync, writeFileSync } from 'fs';
|
|
2
|
-
import path from 'path';
|
|
3
|
-
|
|
4
|
-
const projectDir = process.cwd() + "/";
|
|
5
|
-
|
|
6
|
-
/** these are alias callbacks as in the vite.alias dictionary
|
|
7
|
-
* the first argument is the already resoled absolute path (it is only invoked if the path was found in node_modules)
|
|
8
|
-
* the 2,3,4 args are the same as in vite.alias (packageName, index, path);
|
|
9
|
-
*/
|
|
10
|
-
/**
|
|
11
|
-
* @type {Record<string, null | ((res: string, packageName: string, index: number, path: string) => string | null | void)>}
|
|
12
|
-
*/
|
|
13
|
-
const packages_to_resolve = {
|
|
14
|
-
// Handle all previous imports where users did import using @needle-engine/src
|
|
15
|
-
'@needle-tools/engine/src': (res, packageName, index, path) => {
|
|
16
|
-
// resolve old engine/src imports UNLESS it's the asap plugin (the asap plugin currently only exists in the src folder)
|
|
17
|
-
if (!path.startsWith("@needle-tools/engine/src/asap")) {
|
|
18
|
-
return res + "/../lib";
|
|
19
|
-
}
|
|
20
|
-
},
|
|
21
|
-
/*
|
|
22
|
-
Removed the previously present @needle-tools/engine entry
|
|
23
|
-
because this is automatically done by vite according to whatever we define in our package.json exports
|
|
24
|
-
This did previously prevent us from declaring proper exports in package.json
|
|
25
|
-
*/
|
|
26
|
-
'@needle-tools/engine': (res, packageName, index, path) => {
|
|
27
|
-
// Check if the import is something like @needle-tools/engine/engine/engine_utils
|
|
28
|
-
// in which case we want to resolve into the lib directory
|
|
29
|
-
if (path.startsWith("@needle-tools/engine/engine")) {
|
|
30
|
-
return res + "/lib";
|
|
31
|
-
}
|
|
32
|
-
},
|
|
33
|
-
|
|
34
|
-
/*
|
|
35
|
-
Removed. Three.js is manually resolved below to ensure all dependencies resolve to the same three.js version.
|
|
36
|
-
'three': null,
|
|
37
|
-
*/
|
|
38
|
-
'peerjs': null,
|
|
39
|
-
'websocket-ts': null,
|
|
40
|
-
'md5': null,
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
/**
|
|
44
|
-
* @param {import('../types').userSettings} userSettings
|
|
45
|
-
*/
|
|
46
|
-
export const needleViteAlias = (command, config, userSettings) => {
|
|
47
|
-
|
|
48
|
-
if (config?.noAlias === true || userSettings?.noAlias === true)
|
|
49
|
-
return;
|
|
50
|
-
|
|
51
|
-
const debug = userSettings.debugAlias;
|
|
52
|
-
|
|
53
|
-
let outputDebugFile = null;
|
|
54
|
-
function log(...msg) {
|
|
55
|
-
console.log(...msg);
|
|
56
|
-
if (debug && outputDebugFile) outputDebugFile.write(msg.join(" ") + "\n");
|
|
57
|
-
}
|
|
58
|
-
if (debug) {
|
|
59
|
-
const outputFilePath = path.resolve(projectDir, 'node_modules/.vite/needle.alias.log');
|
|
60
|
-
const outputDirectory = path.dirname(outputFilePath);
|
|
61
|
-
if (!existsSync(outputDirectory)) mkdirSync(outputDirectory, { recursive: true });
|
|
62
|
-
outputDebugFile = createWriteStream(outputFilePath, { flags: "a" });
|
|
63
|
-
const timestamp = new Date().toISOString();
|
|
64
|
-
outputDebugFile.write("\n\n\n--------------------------\n");
|
|
65
|
-
outputDebugFile.write(`[needle-alias] Logging to: ${outputFilePath} (${timestamp})\n`);
|
|
66
|
-
log("[needle-alias] Logging to: ", outputFilePath);
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
const aliasPlugin = {
|
|
71
|
-
name: "needle-alias",
|
|
72
|
-
config(config) {
|
|
73
|
-
if (debug) console.log('[needle-alias] ProjectDirectory: ' + projectDir);
|
|
74
|
-
if (!config.resolve) config.resolve = {};
|
|
75
|
-
if (!config.resolve.alias) config.resolve.alias = {};
|
|
76
|
-
const aliasDict = config.resolve.alias;
|
|
77
|
-
|
|
78
|
-
addThreeJSResolvers(aliasDict);
|
|
79
|
-
|
|
80
|
-
for (const name in packages_to_resolve) {
|
|
81
|
-
if (!aliasDict[name]) {
|
|
82
|
-
addPathResolver(name, aliasDict, packages_to_resolve[name]);
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
|
-
|
|
86
|
-
if (debug) {
|
|
87
|
-
const testResults = [];
|
|
88
|
-
for (const name in aliasDict) {
|
|
89
|
-
const entry = aliasDict[name];
|
|
90
|
-
let res = entry;
|
|
91
|
-
if (typeof entry === "function") res = entry(name, 0, name);
|
|
92
|
-
testResults.push({ name, entry: res });
|
|
93
|
-
}
|
|
94
|
-
console.log('[needle-alias] Aliases: ', testResults);
|
|
95
|
-
}
|
|
96
|
-
},
|
|
97
|
-
}
|
|
98
|
-
|
|
99
|
-
let lastImporter = "";
|
|
100
|
-
/** This plugin logs all imports. This helps to find cases where incorrect folders are found/resolved. */
|
|
101
|
-
|
|
102
|
-
/** @type {import("vite").Plugin} */
|
|
103
|
-
const debuggingPlugin = {
|
|
104
|
-
name: "needle:alias-debug",
|
|
105
|
-
// needs to run before regular resolver
|
|
106
|
-
enforce: 'pre',
|
|
107
|
-
resolveId(id, importer, options) {
|
|
108
|
-
if (importer) {
|
|
109
|
-
// simplify paths for better readability
|
|
110
|
-
if (importer.includes("js/package~")) importer = "package~" + importer.split("js/package~")[1];
|
|
111
|
-
if (importer.includes("node_modules/@needle-tools")) importer = "node_modules/@needle-tools" + importer.split("node_modules/@needle-tools")[1];
|
|
112
|
-
if (importer.includes("node_modules/.vite")) importer = ".vite" + importer.split("node_modules/.vite")[1];
|
|
113
|
-
}
|
|
114
|
-
|
|
115
|
-
// could filter here, e.g. for things related to three
|
|
116
|
-
// if (id.includes("three")) return;
|
|
117
|
-
|
|
118
|
-
// verbose logging for all imports
|
|
119
|
-
if (lastImporter !== importer) {
|
|
120
|
-
lastImporter = importer;
|
|
121
|
-
log(`[needle-alias] Resolving: ${importer} (file${options?.ssr ? ", SSR" : ""})`);
|
|
122
|
-
}
|
|
123
|
-
log(`[needle-alias] → ${id}`);
|
|
124
|
-
return;
|
|
125
|
-
},
|
|
126
|
-
}
|
|
127
|
-
if (debug) return [debuggingPlugin, aliasPlugin];
|
|
128
|
-
return [aliasPlugin];
|
|
129
|
-
|
|
130
|
-
function addThreeJSResolvers(aliasDict) {
|
|
131
|
-
// We are currently overriding "three" resolution to ensure that all dependencies resolve to the same three.js version.
|
|
132
|
-
// This is hacky, but the alternative is potentially having conflicting three.js versions since some packages are
|
|
133
|
-
// stubborn with their peer dependencies or just slow (slower as we) with updating.
|
|
134
|
-
// NOT adding this allows node.js to correctly resolve `exports` specified in three.js package.json;
|
|
135
|
-
// since we're overriding resolution here we need to manually resolve the subset of exports that we use.
|
|
136
|
-
aliasDict['three/addons'] = (res, packageName, index, path) => {
|
|
137
|
-
return "three/examples/jsm";
|
|
138
|
-
};
|
|
139
|
-
aliasDict['three/nodes'] = (res, packageName, index, path) => {
|
|
140
|
-
return "three/examples/jsm/nodes/Nodes.js";
|
|
141
|
-
};
|
|
142
|
-
aliasDict['three'] = (res, packageName, index, _path) => {
|
|
143
|
-
return path.resolve(projectDir, 'node_modules', 'three');
|
|
144
|
-
};
|
|
145
|
-
}
|
|
146
|
-
|
|
147
|
-
function addPathResolver(name, aliasDict, cb) {
|
|
148
|
-
// If a package at the node_modules path exist we resolve the request there
|
|
149
|
-
// introduced in 89a50718c38940abb99ee16c5e029065e41d7d65
|
|
150
|
-
const fullpath = path.resolve(projectDir, 'node_modules', name);
|
|
151
|
-
if (typeof cb !== "function") cb = null;
|
|
152
|
-
const isDevEnvironment = process.env.NODE_ENV === "development";
|
|
153
|
-
|
|
154
|
-
if (existsSync(fullpath)) {
|
|
155
|
-
aliasDict[name] = (packageName, index, path) => {
|
|
156
|
-
if (cb !== null && !isDevEnvironment) {
|
|
157
|
-
const overrideResult = cb(fullpath, packageName, index, path);
|
|
158
|
-
if (overrideResult !== undefined)
|
|
159
|
-
if (existsSync(overrideResult)) {
|
|
160
|
-
console.warn(`[needle-alias] \"${path}\" was requested and resolved to \"${overrideResult}\"`);
|
|
161
|
-
return overrideResult;
|
|
162
|
-
}
|
|
163
|
-
}
|
|
164
|
-
|
|
165
|
-
if (path != packageName) {
|
|
166
|
-
// TODO: we might want to check if the package.json exports contains the path to see if it's valid
|
|
167
|
-
console.warn(`[needle-alias] \"${path}\" was requested and resolved to \"${fullpath}\"`);
|
|
168
|
-
}
|
|
169
|
-
|
|
170
|
-
return fullpath;
|
|
171
|
-
}
|
|
172
|
-
}
|
|
173
|
-
}
|
|
174
|
-
};
|
|
1
|
+
import { createWriteStream, existsSync, mkdirSync, rmSync, writeFileSync } from 'fs';
|
|
2
|
+
import path from 'path';
|
|
3
|
+
|
|
4
|
+
const projectDir = process.cwd() + "/";
|
|
5
|
+
|
|
6
|
+
/** these are alias callbacks as in the vite.alias dictionary
|
|
7
|
+
* the first argument is the already resoled absolute path (it is only invoked if the path was found in node_modules)
|
|
8
|
+
* the 2,3,4 args are the same as in vite.alias (packageName, index, path);
|
|
9
|
+
*/
|
|
10
|
+
/**
|
|
11
|
+
* @type {Record<string, null | ((res: string, packageName: string, index: number, path: string) => string | null | void)>}
|
|
12
|
+
*/
|
|
13
|
+
const packages_to_resolve = {
|
|
14
|
+
// Handle all previous imports where users did import using @needle-engine/src
|
|
15
|
+
'@needle-tools/engine/src': (res, packageName, index, path) => {
|
|
16
|
+
// resolve old engine/src imports UNLESS it's the asap plugin (the asap plugin currently only exists in the src folder)
|
|
17
|
+
if (!path.startsWith("@needle-tools/engine/src/asap")) {
|
|
18
|
+
return res + "/../lib";
|
|
19
|
+
}
|
|
20
|
+
},
|
|
21
|
+
/*
|
|
22
|
+
Removed the previously present @needle-tools/engine entry
|
|
23
|
+
because this is automatically done by vite according to whatever we define in our package.json exports
|
|
24
|
+
This did previously prevent us from declaring proper exports in package.json
|
|
25
|
+
*/
|
|
26
|
+
'@needle-tools/engine': (res, packageName, index, path) => {
|
|
27
|
+
// Check if the import is something like @needle-tools/engine/engine/engine_utils
|
|
28
|
+
// in which case we want to resolve into the lib directory
|
|
29
|
+
if (path.startsWith("@needle-tools/engine/engine")) {
|
|
30
|
+
return res + "/lib";
|
|
31
|
+
}
|
|
32
|
+
},
|
|
33
|
+
|
|
34
|
+
/*
|
|
35
|
+
Removed. Three.js is manually resolved below to ensure all dependencies resolve to the same three.js version.
|
|
36
|
+
'three': null,
|
|
37
|
+
*/
|
|
38
|
+
'peerjs': null,
|
|
39
|
+
'websocket-ts': null,
|
|
40
|
+
'md5': null,
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
/**
|
|
44
|
+
* @param {import('../types').userSettings} userSettings
|
|
45
|
+
*/
|
|
46
|
+
export const needleViteAlias = (command, config, userSettings) => {
|
|
47
|
+
|
|
48
|
+
if (config?.noAlias === true || userSettings?.noAlias === true)
|
|
49
|
+
return;
|
|
50
|
+
|
|
51
|
+
const debug = userSettings.debugAlias;
|
|
52
|
+
|
|
53
|
+
let outputDebugFile = null;
|
|
54
|
+
function log(...msg) {
|
|
55
|
+
console.log(...msg);
|
|
56
|
+
if (debug && outputDebugFile) outputDebugFile.write(msg.join(" ") + "\n");
|
|
57
|
+
}
|
|
58
|
+
if (debug) {
|
|
59
|
+
const outputFilePath = path.resolve(projectDir, 'node_modules/.vite/needle.alias.log');
|
|
60
|
+
const outputDirectory = path.dirname(outputFilePath);
|
|
61
|
+
if (!existsSync(outputDirectory)) mkdirSync(outputDirectory, { recursive: true });
|
|
62
|
+
outputDebugFile = createWriteStream(outputFilePath, { flags: "a" });
|
|
63
|
+
const timestamp = new Date().toISOString();
|
|
64
|
+
outputDebugFile.write("\n\n\n--------------------------\n");
|
|
65
|
+
outputDebugFile.write(`[needle-alias] Logging to: ${outputFilePath} (${timestamp})\n`);
|
|
66
|
+
log("[needle-alias] Logging to: ", outputFilePath);
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
|
|
70
|
+
const aliasPlugin = {
|
|
71
|
+
name: "needle-alias",
|
|
72
|
+
config(config) {
|
|
73
|
+
if (debug) console.log('[needle-alias] ProjectDirectory: ' + projectDir);
|
|
74
|
+
if (!config.resolve) config.resolve = {};
|
|
75
|
+
if (!config.resolve.alias) config.resolve.alias = {};
|
|
76
|
+
const aliasDict = config.resolve.alias;
|
|
77
|
+
|
|
78
|
+
addThreeJSResolvers(aliasDict);
|
|
79
|
+
|
|
80
|
+
for (const name in packages_to_resolve) {
|
|
81
|
+
if (!aliasDict[name]) {
|
|
82
|
+
addPathResolver(name, aliasDict, packages_to_resolve[name]);
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
if (debug) {
|
|
87
|
+
const testResults = [];
|
|
88
|
+
for (const name in aliasDict) {
|
|
89
|
+
const entry = aliasDict[name];
|
|
90
|
+
let res = entry;
|
|
91
|
+
if (typeof entry === "function") res = entry(name, 0, name);
|
|
92
|
+
testResults.push({ name, entry: res });
|
|
93
|
+
}
|
|
94
|
+
console.log('[needle-alias] Aliases: ', testResults);
|
|
95
|
+
}
|
|
96
|
+
},
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
let lastImporter = "";
|
|
100
|
+
/** This plugin logs all imports. This helps to find cases where incorrect folders are found/resolved. */
|
|
101
|
+
|
|
102
|
+
/** @type {import("vite").Plugin} */
|
|
103
|
+
const debuggingPlugin = {
|
|
104
|
+
name: "needle:alias-debug",
|
|
105
|
+
// needs to run before regular resolver
|
|
106
|
+
enforce: 'pre',
|
|
107
|
+
resolveId(id, importer, options) {
|
|
108
|
+
if (importer) {
|
|
109
|
+
// simplify paths for better readability
|
|
110
|
+
if (importer.includes("js/package~")) importer = "package~" + importer.split("js/package~")[1];
|
|
111
|
+
if (importer.includes("node_modules/@needle-tools")) importer = "node_modules/@needle-tools" + importer.split("node_modules/@needle-tools")[1];
|
|
112
|
+
if (importer.includes("node_modules/.vite")) importer = ".vite" + importer.split("node_modules/.vite")[1];
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
// could filter here, e.g. for things related to three
|
|
116
|
+
// if (id.includes("three")) return;
|
|
117
|
+
|
|
118
|
+
// verbose logging for all imports
|
|
119
|
+
if (lastImporter !== importer) {
|
|
120
|
+
lastImporter = importer;
|
|
121
|
+
log(`[needle-alias] Resolving: ${importer} (file${options?.ssr ? ", SSR" : ""})`);
|
|
122
|
+
}
|
|
123
|
+
log(`[needle-alias] → ${id}`);
|
|
124
|
+
return;
|
|
125
|
+
},
|
|
126
|
+
}
|
|
127
|
+
if (debug) return [debuggingPlugin, aliasPlugin];
|
|
128
|
+
return [aliasPlugin];
|
|
129
|
+
|
|
130
|
+
function addThreeJSResolvers(aliasDict) {
|
|
131
|
+
// We are currently overriding "three" resolution to ensure that all dependencies resolve to the same three.js version.
|
|
132
|
+
// This is hacky, but the alternative is potentially having conflicting three.js versions since some packages are
|
|
133
|
+
// stubborn with their peer dependencies or just slow (slower as we) with updating.
|
|
134
|
+
// NOT adding this allows node.js to correctly resolve `exports` specified in three.js package.json;
|
|
135
|
+
// since we're overriding resolution here we need to manually resolve the subset of exports that we use.
|
|
136
|
+
aliasDict['three/addons'] = (res, packageName, index, path) => {
|
|
137
|
+
return "three/examples/jsm";
|
|
138
|
+
};
|
|
139
|
+
aliasDict['three/nodes'] = (res, packageName, index, path) => {
|
|
140
|
+
return "three/examples/jsm/nodes/Nodes.js";
|
|
141
|
+
};
|
|
142
|
+
aliasDict['three'] = (res, packageName, index, _path) => {
|
|
143
|
+
return path.resolve(projectDir, 'node_modules', 'three');
|
|
144
|
+
};
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
function addPathResolver(name, aliasDict, cb) {
|
|
148
|
+
// If a package at the node_modules path exist we resolve the request there
|
|
149
|
+
// introduced in 89a50718c38940abb99ee16c5e029065e41d7d65
|
|
150
|
+
const fullpath = path.resolve(projectDir, 'node_modules', name);
|
|
151
|
+
if (typeof cb !== "function") cb = null;
|
|
152
|
+
const isDevEnvironment = process.env.NODE_ENV === "development";
|
|
153
|
+
|
|
154
|
+
if (existsSync(fullpath)) {
|
|
155
|
+
aliasDict[name] = (packageName, index, path) => {
|
|
156
|
+
if (cb !== null && !isDevEnvironment) {
|
|
157
|
+
const overrideResult = cb(fullpath, packageName, index, path);
|
|
158
|
+
if (overrideResult !== undefined)
|
|
159
|
+
if (existsSync(overrideResult)) {
|
|
160
|
+
console.warn(`[needle-alias] \"${path}\" was requested and resolved to \"${overrideResult}\"`);
|
|
161
|
+
return overrideResult;
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
if (path != packageName) {
|
|
166
|
+
// TODO: we might want to check if the package.json exports contains the path to see if it's valid
|
|
167
|
+
console.warn(`[needle-alias] \"${path}\" was requested and resolved to \"${fullpath}\"`);
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
return fullpath;
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
};
|