@plastic-software/three 0.180.0 → 0.181.2
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/build/three.cjs +944 -487
- package/build/three.core.js +506 -327
- package/build/three.core.min.js +1 -1
- package/build/three.module.js +436 -164
- package/build/three.module.min.js +1 -1
- package/build/three.tsl.js +8 -2
- package/build/three.tsl.min.js +1 -1
- package/build/three.webgpu.js +3753 -1177
- package/build/three.webgpu.min.js +1 -1
- package/build/three.webgpu.nodes.js +3752 -1176
- package/build/three.webgpu.nodes.min.js +1 -1
- package/examples/fonts/MPLUSRounded1c/MPLUSRounded1c-Regular.typeface.json.zip +0 -0
- package/examples/fonts/MPLUSRounded1c/OFL.txt +91 -0
- package/examples/jsm/animation/CCDIKSolver.js +1 -1
- package/examples/jsm/controls/ArcballControls.js +1 -1
- package/examples/jsm/controls/DragControls.js +1 -1
- package/examples/jsm/controls/FirstPersonControls.js +1 -1
- package/examples/jsm/controls/FlyControls.js +1 -1
- package/examples/jsm/controls/OrbitControls.js +2 -2
- package/examples/jsm/controls/PointerLockControls.js +2 -2
- package/examples/jsm/controls/TrackballControls.js +1 -1
- package/examples/jsm/controls/TransformControls.js +1 -1
- package/examples/jsm/effects/AsciiEffect.js +8 -8
- package/examples/jsm/exporters/DRACOExporter.js +2 -2
- package/examples/jsm/exporters/EXRExporter.js +1 -1
- package/examples/jsm/exporters/GLTFExporter.js +3 -3
- package/examples/jsm/exporters/USDZExporter.js +9 -2
- package/examples/jsm/geometries/DecalGeometry.js +2 -2
- package/examples/jsm/geometries/ParametricGeometry.js +1 -1
- package/examples/jsm/geometries/TeapotGeometry.js +2 -2
- package/examples/jsm/geometries/TextGeometry.js +3 -2
- package/examples/jsm/gpgpu/BitonicSort.js +715 -0
- package/examples/jsm/helpers/ViewHelper.js +43 -5
- package/examples/jsm/inspector/Inspector.js +427 -0
- package/examples/jsm/inspector/RendererInspector.js +415 -0
- package/examples/jsm/inspector/tabs/Console.js +204 -0
- package/examples/jsm/inspector/tabs/Parameters.js +332 -0
- package/examples/jsm/inspector/tabs/Performance.js +268 -0
- package/examples/jsm/inspector/tabs/Viewer.js +166 -0
- package/examples/jsm/inspector/ui/Graph.js +95 -0
- package/examples/jsm/inspector/ui/Item.js +170 -0
- package/examples/jsm/inspector/ui/List.js +75 -0
- package/examples/jsm/inspector/ui/Profiler.js +170 -0
- package/examples/jsm/inspector/ui/Style.js +654 -0
- package/examples/jsm/inspector/ui/Tab.js +46 -0
- package/examples/jsm/inspector/ui/Values.js +423 -0
- package/examples/jsm/inspector/ui/utils.js +56 -0
- package/examples/jsm/interactive/HTMLMesh.js +6 -10
- package/examples/jsm/interactive/InteractiveGroup.js +1 -1
- package/examples/jsm/interactive/SelectionBox.js +30 -0
- package/examples/jsm/lights/RectAreaLightTexturesLib.js +1 -1
- package/examples/jsm/loaders/3MFLoader.js +1 -1
- package/examples/jsm/loaders/ColladaLoader.js +2 -2
- package/examples/jsm/loaders/DDSLoader.js +1 -1
- package/examples/jsm/loaders/DRACOLoader.js +73 -22
- package/examples/jsm/loaders/FBXLoader.js +2 -2
- package/examples/jsm/loaders/FontLoader.js +23 -5
- package/examples/jsm/loaders/GLTFLoader.js +5 -3
- package/examples/jsm/loaders/KTX2Loader.js +28 -21
- package/examples/jsm/loaders/KTXLoader.js +2 -2
- package/examples/jsm/loaders/LDrawLoader.js +1 -1
- package/examples/jsm/loaders/LUT3dlLoader.js +2 -2
- package/examples/jsm/loaders/LUTCubeLoader.js +1 -1
- package/examples/jsm/loaders/LWOLoader.js +2 -2
- package/examples/jsm/loaders/MaterialXLoader.js +22 -5
- package/examples/jsm/loaders/OBJLoader.js +1 -1
- package/examples/jsm/loaders/PDBLoader.js +1 -1
- package/examples/jsm/loaders/SVGLoader.js +2 -2
- package/examples/jsm/loaders/UltraHDRLoader.js +1 -1
- package/examples/jsm/math/ConvexHull.js +1 -1
- package/examples/jsm/math/ImprovedNoise.js +1 -1
- package/examples/jsm/math/SimplexNoise.js +1 -1
- package/examples/jsm/misc/ProgressiveLightMap.js +9 -3
- package/examples/jsm/misc/ProgressiveLightMapGPU.js +7 -1
- package/examples/jsm/misc/TubePainter.js +383 -40
- package/examples/jsm/modifiers/SimplifyModifier.js +1 -1
- package/examples/jsm/objects/ReflectorForSSRPass.js +1 -0
- package/examples/jsm/objects/Sky.js +1 -1
- package/examples/jsm/objects/SkyMesh.js +1 -1
- package/examples/jsm/objects/Water.js +3 -3
- package/examples/jsm/objects/WaterMesh.js +6 -6
- package/examples/jsm/postprocessing/GlitchPass.js +2 -2
- package/examples/jsm/postprocessing/UnrealBloomPass.js +8 -6
- package/examples/jsm/renderers/CSS2DRenderer.js +16 -5
- package/examples/jsm/renderers/CSS3DRenderer.js +7 -6
- package/examples/jsm/renderers/SVGRenderer.js +1 -1
- package/examples/jsm/shaders/ACESFilmicToneMappingShader.js +1 -1
- package/examples/jsm/shaders/AfterimageShader.js +1 -1
- package/examples/jsm/shaders/BleachBypassShader.js +1 -1
- package/examples/jsm/shaders/BokehShader.js +1 -1
- package/examples/jsm/shaders/BokehShader2.js +1 -1
- package/examples/jsm/shaders/DotScreenShader.js +1 -1
- package/examples/jsm/shaders/FocusShader.js +1 -1
- package/examples/jsm/shaders/GTAOShader.js +2 -2
- package/examples/jsm/shaders/GodRaysShader.js +1 -1
- package/examples/jsm/shaders/KaleidoShader.js +1 -1
- package/examples/jsm/shaders/PoissonDenoiseShader.js +2 -2
- package/examples/jsm/shaders/SSRShader.js +1 -1
- package/examples/jsm/shaders/SepiaShader.js +1 -1
- package/examples/jsm/shaders/SubsurfaceScatteringShader.js +1 -1
- package/examples/jsm/shaders/TriangleBlurShader.js +1 -1
- package/examples/jsm/shaders/VignetteShader.js +1 -1
- package/examples/jsm/transpiler/TSLEncoder.js +7 -0
- package/examples/jsm/tsl/display/AfterImageNode.js +26 -24
- package/examples/jsm/tsl/display/AnamorphicNode.js +2 -1
- package/examples/jsm/tsl/display/BloomNode.js +4 -0
- package/examples/jsm/tsl/display/DenoiseNode.js +2 -0
- package/examples/jsm/tsl/display/DepthOfFieldNode.js +7 -0
- package/examples/jsm/tsl/display/GTAONode.js +45 -5
- package/examples/jsm/tsl/display/GaussianBlurNode.js +5 -3
- package/examples/jsm/tsl/display/OutlineNode.js +11 -0
- package/examples/jsm/tsl/display/SSGINode.js +654 -0
- package/examples/jsm/tsl/display/SSRNode.js +2 -0
- package/examples/jsm/tsl/display/SSSNode.js +488 -0
- package/examples/jsm/tsl/display/TRAANode.js +123 -6
- package/examples/jsm/tsl/display/boxBlur.js +1 -0
- package/examples/jsm/tsl/display/hashBlur.js +1 -0
- package/examples/jsm/tsl/lighting/TiledLightsNode.js +21 -1
- package/examples/jsm/webxr/XRControllerModelFactory.js +1 -1
- package/examples/jsm/webxr/XRHandModelFactory.js +2 -6
- package/package.json +5 -10
- package/src/Three.Core.js +3 -2
- package/src/Three.TSL.js +7 -1
- package/src/Three.WebGPU.Nodes.js +2 -0
- package/src/Three.WebGPU.js +2 -0
- package/src/animation/AnimationClip.js +3 -2
- package/src/animation/AnimationMixer.js +3 -3
- package/src/animation/AnimationObjectGroup.js +2 -1
- package/src/animation/KeyframeTrack.js +7 -6
- package/src/animation/PropertyBinding.js +12 -11
- package/src/audio/Audio.js +10 -9
- package/src/audio/PositionalAudio.js +1 -1
- package/src/cameras/OrthographicCamera.js +1 -1
- package/src/cameras/PerspectiveCamera.js +1 -1
- package/src/cameras/StereoCamera.js +2 -2
- package/src/constants.js +1 -1
- package/src/core/BufferGeometry.js +8 -8
- package/src/core/EventDispatcher.js +1 -1
- package/src/core/InterleavedBuffer.js +1 -1
- package/src/core/InterleavedBufferAttribute.js +3 -2
- package/src/core/Object3D.js +3 -2
- package/src/core/Raycaster.js +2 -1
- package/src/core/RenderTarget.js +10 -1
- package/src/extras/Controls.js +5 -4
- package/src/extras/DataUtils.js +2 -1
- package/src/extras/Earcut.js +6 -0
- package/src/extras/ImageUtils.js +2 -2
- package/src/extras/PMREMGenerator.js +268 -55
- package/src/extras/core/Curve.js +2 -1
- package/src/extras/core/Interpolations.js +7 -1
- package/src/extras/core/ShapePath.js +4 -4
- package/src/extras/lib/earcut.js +7 -7
- package/src/geometries/BoxGeometry.js +1 -0
- package/src/geometries/CapsuleGeometry.js +1 -0
- package/src/geometries/CircleGeometry.js +1 -0
- package/src/geometries/ConeGeometry.js +1 -0
- package/src/geometries/CylinderGeometry.js +1 -0
- package/src/geometries/DodecahedronGeometry.js +1 -0
- package/src/geometries/ExtrudeGeometry.js +8 -6
- package/src/geometries/IcosahedronGeometry.js +1 -0
- package/src/geometries/LatheGeometry.js +1 -0
- package/src/geometries/OctahedronGeometry.js +1 -0
- package/src/geometries/PlaneGeometry.js +1 -0
- package/src/geometries/RingGeometry.js +1 -0
- package/src/geometries/ShapeGeometry.js +1 -0
- package/src/geometries/SphereGeometry.js +1 -0
- package/src/geometries/TetrahedronGeometry.js +1 -0
- package/src/geometries/TorusGeometry.js +1 -0
- package/src/geometries/TorusKnotGeometry.js +1 -0
- package/src/geometries/TubeGeometry.js +1 -0
- package/src/helpers/CameraHelper.js +1 -1
- package/src/loaders/AnimationLoader.js +2 -1
- package/src/loaders/AudioLoader.js +2 -1
- package/src/loaders/BufferGeometryLoader.js +2 -2
- package/src/loaders/Cache.js +2 -2
- package/src/loaders/DataTextureLoader.js +1 -1
- package/src/loaders/FileLoader.js +3 -2
- package/src/loaders/ImageBitmapLoader.js +5 -4
- package/src/loaders/ImageLoader.js +1 -1
- package/src/loaders/Loader.js +3 -3
- package/src/loaders/LoadingManager.js +25 -3
- package/src/loaders/MaterialLoader.js +3 -2
- package/src/loaders/ObjectLoader.js +13 -13
- package/src/loaders/TextureLoader.js +1 -1
- package/src/loaders/nodes/NodeLoader.js +3 -2
- package/src/materials/Material.js +4 -3
- package/src/materials/MeshBasicMaterial.js +1 -0
- package/src/materials/MeshDepthMaterial.js +1 -0
- package/src/materials/MeshLambertMaterial.js +2 -1
- package/src/materials/MeshMatcapMaterial.js +22 -0
- package/src/materials/MeshNormalMaterial.js +1 -0
- package/src/materials/MeshPhongMaterial.js +2 -1
- package/src/materials/MeshPhysicalMaterial.js +2 -1
- package/src/materials/MeshStandardMaterial.js +8 -7
- package/src/materials/MeshToonMaterial.js +1 -0
- package/src/materials/PointsMaterial.js +1 -1
- package/src/materials/ShaderMaterial.js +2 -2
- package/src/materials/nodes/Line2NodeMaterial.js +2 -2
- package/src/materials/nodes/MeshSSSNodeMaterial.js +1 -1
- package/src/materials/nodes/NodeMaterial.js +62 -22
- package/src/materials/nodes/manager/NodeMaterialObserver.js +2 -1
- package/src/math/Color.js +6 -5
- package/src/math/ColorManagement.js +2 -2
- package/src/math/Cylindrical.js +1 -1
- package/src/math/Euler.js +2 -1
- package/src/math/MathUtils.js +13 -11
- package/src/math/Matrix2.js +1 -1
- package/src/math/Matrix3.js +2 -2
- package/src/math/Matrix4.js +7 -7
- package/src/math/Plane.js +1 -1
- package/src/math/Quaternion.js +68 -66
- package/src/math/Spherical.js +1 -1
- package/src/nodes/Nodes.js +1 -1
- package/src/nodes/TSL.js +1 -1
- package/src/nodes/accessors/CubeTextureNode.js +3 -2
- package/src/nodes/accessors/InstanceNode.js +22 -4
- package/src/nodes/accessors/Lights.js +10 -0
- package/src/nodes/accessors/Normal.js +5 -4
- package/src/nodes/accessors/Position.js +18 -2
- package/src/nodes/accessors/ReferenceNode.js +2 -1
- package/src/nodes/accessors/SceneNode.js +2 -1
- package/src/nodes/accessors/StorageBufferNode.js +2 -1
- package/src/nodes/accessors/StorageTextureNode.js +22 -0
- package/src/nodes/accessors/Texture3DNode.js +1 -1
- package/src/nodes/accessors/TextureNode.js +61 -27
- package/src/nodes/code/FunctionCallNode.js +5 -4
- package/src/nodes/core/ArrayNode.js +1 -0
- package/src/nodes/core/AttributeNode.js +2 -1
- package/src/nodes/core/ContextNode.js +5 -10
- package/src/nodes/core/IndexNode.js +2 -2
- package/src/nodes/core/InputNode.js +2 -1
- package/src/nodes/core/InspectorNode.js +128 -0
- package/src/nodes/core/{CacheNode.js → IsolateNode.js} +40 -7
- package/src/nodes/core/Node.js +137 -12
- package/src/nodes/core/NodeBuilder.js +135 -21
- package/src/nodes/core/NodeFrame.js +20 -20
- package/src/nodes/core/NodeFunction.js +2 -1
- package/src/nodes/core/NodeParser.js +2 -1
- package/src/nodes/core/NodeUtils.js +17 -90
- package/src/nodes/core/ParameterNode.js +31 -0
- package/src/nodes/core/PropertyNode.js +7 -0
- package/src/nodes/core/StackNode.js +16 -14
- package/src/nodes/core/UniformNode.js +2 -1
- package/src/nodes/core/VarNode.js +70 -12
- package/src/nodes/core/VaryingNode.js +3 -2
- package/src/nodes/display/BlendModes.js +5 -4
- package/src/nodes/display/BumpMapNode.js +1 -1
- package/src/nodes/display/ColorAdjustment.js +1 -1
- package/src/nodes/display/NormalMapNode.js +2 -1
- package/src/nodes/display/PassNode.js +51 -10
- package/src/nodes/display/RenderOutputNode.js +28 -2
- package/src/nodes/display/ScreenNode.js +2 -1
- package/src/nodes/display/ToneMappingNode.js +31 -4
- package/src/nodes/display/ToonOutlinePassNode.js +8 -0
- package/src/nodes/fog/Fog.js +3 -2
- package/src/nodes/functions/BSDF/BRDF_GGX_Multiscatter.js +52 -0
- package/src/nodes/functions/BSDF/DFGApprox.js +60 -19
- package/src/nodes/functions/BasicLightingModel.js +2 -1
- package/src/nodes/functions/PhysicalLightingModel.js +3 -2
- package/src/nodes/functions/VolumetricLightingModel.js +5 -5
- package/src/nodes/geometry/RangeNode.js +40 -4
- package/src/nodes/gpgpu/ComputeBuiltinNode.js +2 -1
- package/src/nodes/gpgpu/ComputeNode.js +17 -5
- package/src/nodes/gpgpu/SubgroupFunctionNode.js +25 -0
- package/src/nodes/gpgpu/WorkgroupInfoNode.js +2 -1
- package/src/nodes/lighting/EnvironmentNode.js +6 -6
- package/src/nodes/lighting/LightsNode.js +2 -3
- package/src/nodes/lighting/PointShadowNode.js +6 -0
- package/src/nodes/lighting/ShadowFilterNode.js +2 -0
- package/src/nodes/lighting/ShadowNode.js +75 -8
- package/src/nodes/math/ConditionalNode.js +6 -5
- package/src/nodes/math/MathNode.js +22 -4
- package/src/nodes/math/OperatorNode.js +3 -2
- package/src/nodes/pmrem/PMREMUtils.js +117 -2
- package/src/nodes/shapes/Shapes.js +1 -1
- package/src/nodes/tsl/TSLBase.js +5 -2
- package/src/nodes/tsl/TSLCore.js +36 -15
- package/src/nodes/utils/DebugNode.js +2 -1
- package/src/nodes/utils/EventNode.js +36 -0
- package/src/nodes/utils/FunctionOverloadingNode.js +37 -19
- package/src/nodes/utils/JoinNode.js +3 -2
- package/src/nodes/utils/LoopNode.js +20 -24
- package/src/nodes/utils/MemberNode.js +2 -1
- package/src/nodes/utils/PostProcessingUtils.js +28 -1
- package/src/nodes/utils/RTTNode.js +12 -2
- package/src/nodes/utils/ReflectorNode.js +10 -3
- package/src/objects/Line.js +2 -1
- package/src/objects/LineSegments.js +2 -1
- package/src/objects/Skeleton.js +3 -2
- package/src/objects/SkinnedMesh.js +3 -1
- package/src/objects/Sprite.js +2 -1
- package/src/renderers/WebGLRenderer.js +49 -33
- package/src/renderers/common/Animation.js +13 -1
- package/src/renderers/common/Backend.js +93 -30
- package/src/renderers/common/Background.js +2 -1
- package/src/renderers/common/Bindings.js +56 -2
- package/src/renderers/common/CanvasTarget.js +341 -0
- package/src/renderers/common/Geometries.js +26 -0
- package/src/renderers/common/Info.js +4 -2
- package/src/renderers/common/InspectorBase.js +146 -0
- package/src/renderers/common/PostProcessing.js +6 -25
- package/src/renderers/common/QuadMesh.js +7 -1
- package/src/renderers/common/RenderList.js +7 -3
- package/src/renderers/common/RenderObject.js +3 -1
- package/src/renderers/common/RenderObjects.js +1 -1
- package/src/renderers/common/Renderer.js +436 -228
- package/src/renderers/common/RendererUtils.js +9 -0
- package/src/renderers/common/SampledTexture.js +8 -0
- package/src/renderers/common/Sampler.js +37 -11
- package/src/renderers/common/StorageTexture.js +9 -1
- package/src/renderers/common/Textures.js +89 -35
- package/src/renderers/common/TimestampQueryPool.js +63 -1
- package/src/renderers/common/UniformsGroup.js +2 -1
- package/src/renderers/common/XRManager.js +7 -3
- package/src/renderers/common/extras/PMREMGenerator.js +160 -65
- package/src/renderers/common/nodes/NodeLibrary.js +4 -2
- package/src/renderers/common/nodes/NodeSampler.js +13 -1
- package/src/renderers/common/nodes/Nodes.js +38 -16
- package/src/renderers/shaders/DFGLUTData.js +64 -0
- package/src/renderers/shaders/ShaderChunk/common.glsl.js +0 -12
- package/src/renderers/shaders/ShaderChunk/envmap_common_pars_fragment.glsl.js +1 -1
- package/src/renderers/shaders/ShaderChunk/envmap_physical_pars_fragment.glsl.js +1 -1
- package/src/renderers/shaders/ShaderChunk/lights_physical_pars_fragment.glsl.js +52 -18
- package/src/renderers/shaders/UniformsLib.js +1 -0
- package/src/renderers/shaders/UniformsUtils.js +25 -4
- package/src/renderers/webgl/WebGLCapabilities.js +2 -1
- package/src/renderers/webgl/WebGLExtensions.js +2 -25
- package/src/renderers/webgl/WebGLInfo.js +3 -1
- package/src/renderers/webgl/WebGLProgram.js +11 -10
- package/src/renderers/webgl/WebGLPrograms.js +2 -1
- package/src/renderers/webgl/WebGLShadowMap.js +2 -1
- package/src/renderers/webgl/WebGLState.js +15 -14
- package/src/renderers/webgl/WebGLTextures.js +18 -14
- package/src/renderers/webgl/WebGLUniformsGroups.js +5 -3
- package/src/renderers/webgl-fallback/WebGLBackend.js +22 -41
- package/src/renderers/webgl-fallback/nodes/GLSLNodeBuilder.js +74 -11
- package/src/renderers/webgl-fallback/utils/WebGLConstants.js +2 -3
- package/src/renderers/webgl-fallback/utils/WebGLState.js +6 -5
- package/src/renderers/webgl-fallback/utils/WebGLTextureUtils.js +117 -16
- package/src/renderers/webgl-fallback/utils/WebGLTimestampQueryPool.js +42 -12
- package/src/renderers/webgpu/WebGPUBackend.js +134 -108
- package/src/renderers/webgpu/WebGPURenderer.Nodes.js +2 -1
- package/src/renderers/webgpu/WebGPURenderer.js +3 -2
- package/src/renderers/webgpu/nodes/WGSLNodeBuilder.js +21 -19
- package/src/renderers/webgpu/utils/WebGPUAttributeUtils.js +2 -1
- package/src/renderers/webgpu/utils/WebGPUBindingUtils.js +5 -3
- package/src/renderers/webgpu/utils/WebGPUConstants.js +5 -0
- package/src/renderers/webgpu/utils/WebGPUPipelineUtils.js +44 -16
- package/src/renderers/webgpu/utils/WebGPUTexturePassUtils.js +6 -8
- package/src/renderers/webgpu/utils/WebGPUTextureUtils.js +146 -74
- package/src/renderers/webgpu/utils/WebGPUTimestampQueryPool.js +29 -6
- package/src/renderers/webgpu/utils/WebGPUUtils.js +22 -2
- package/src/renderers/webxr/WebXRManager.js +3 -2
- package/src/textures/Source.js +2 -1
- package/src/textures/Texture.js +3 -2
- package/src/textures/VideoTexture.js +2 -0
- package/src/utils.js +67 -3
|
@@ -236,7 +236,7 @@ class ShapePath {
|
|
|
236
236
|
let holesFirst = ! isClockWise( subPaths[ 0 ].getPoints() );
|
|
237
237
|
holesFirst = isCCW ? ! holesFirst : holesFirst;
|
|
238
238
|
|
|
239
|
-
//
|
|
239
|
+
// log("Holes first", holesFirst);
|
|
240
240
|
|
|
241
241
|
const betterShapeHoles = [];
|
|
242
242
|
const newShapes = [];
|
|
@@ -264,13 +264,13 @@ class ShapePath {
|
|
|
264
264
|
if ( holesFirst ) mainIdx ++;
|
|
265
265
|
newShapeHoles[ mainIdx ] = [];
|
|
266
266
|
|
|
267
|
-
//
|
|
267
|
+
//log('cw', i);
|
|
268
268
|
|
|
269
269
|
} else {
|
|
270
270
|
|
|
271
271
|
newShapeHoles[ mainIdx ].push( { h: tmpPath, p: tmpPoints[ 0 ] } );
|
|
272
272
|
|
|
273
|
-
//
|
|
273
|
+
//log('ccw', i);
|
|
274
274
|
|
|
275
275
|
}
|
|
276
276
|
|
|
@@ -355,7 +355,7 @@ class ShapePath {
|
|
|
355
355
|
|
|
356
356
|
}
|
|
357
357
|
|
|
358
|
-
//
|
|
358
|
+
//log("shape", shapes);
|
|
359
359
|
|
|
360
360
|
return shapes;
|
|
361
361
|
|
package/src/extras/lib/earcut.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/* eslint-disable */
|
|
2
|
-
// copy of mapbox/earcut version 3.0.
|
|
3
|
-
// https://github.com/mapbox/earcut/tree/v3.0.
|
|
2
|
+
// copy of mapbox/earcut version 3.0.2
|
|
3
|
+
// https://github.com/mapbox/earcut/tree/v3.0.2
|
|
4
4
|
|
|
5
5
|
export default function earcut(data, holeIndices, dim = 2) {
|
|
6
6
|
|
|
@@ -17,10 +17,10 @@ export default function earcut(data, holeIndices, dim = 2) {
|
|
|
17
17
|
|
|
18
18
|
// if the shape is not too simple, we'll use z-order curve hash later; calculate polygon bbox
|
|
19
19
|
if (data.length > 80 * dim) {
|
|
20
|
-
minX =
|
|
21
|
-
minY =
|
|
22
|
-
let maxX =
|
|
23
|
-
let maxY =
|
|
20
|
+
minX = data[0];
|
|
21
|
+
minY = data[1];
|
|
22
|
+
let maxX = minX;
|
|
23
|
+
let maxY = minY;
|
|
24
24
|
|
|
25
25
|
for (let i = dim; i < outerLen; i += dim) {
|
|
26
26
|
const x = data[i];
|
|
@@ -296,7 +296,7 @@ function compareXYSlope(a, b) {
|
|
|
296
296
|
return result;
|
|
297
297
|
}
|
|
298
298
|
|
|
299
|
-
// find a bridge between vertices that connects hole with an outer ring and
|
|
299
|
+
// find a bridge between vertices that connects hole with an outer ring and link it
|
|
300
300
|
function eliminateHole(hole, outerNode) {
|
|
301
301
|
const bridge = findHoleBridge(hole, outerNode);
|
|
302
302
|
if (!bridge) {
|
|
@@ -5,6 +5,7 @@ import { Vector2 } from '../math/Vector2.js';
|
|
|
5
5
|
import { Vector3 } from '../math/Vector3.js';
|
|
6
6
|
import { Shape } from '../extras/core/Shape.js';
|
|
7
7
|
import { ShapeUtils } from '../extras/ShapeUtils.js';
|
|
8
|
+
import { error } from '../utils.js';
|
|
8
9
|
|
|
9
10
|
/**
|
|
10
11
|
* Creates extruded geometry from a path shape.
|
|
@@ -26,6 +27,7 @@ import { ShapeUtils } from '../extras/ShapeUtils.js';
|
|
|
26
27
|
* ```
|
|
27
28
|
*
|
|
28
29
|
* @augments BufferGeometry
|
|
30
|
+
* @demo scenes/geometry-browser.html#ExtrudeGeometry
|
|
29
31
|
*/
|
|
30
32
|
class ExtrudeGeometry extends BufferGeometry {
|
|
31
33
|
|
|
@@ -114,7 +116,7 @@ class ExtrudeGeometry extends BufferGeometry {
|
|
|
114
116
|
|
|
115
117
|
splineTube = extrudePath.computeFrenetFrames( steps, false );
|
|
116
118
|
|
|
117
|
-
//
|
|
119
|
+
// log(splineTube, 'splineTube', splineTube.normals.length, 'steps', steps, 'extrudePts', extrudePts.length);
|
|
118
120
|
|
|
119
121
|
binormal = new Vector3();
|
|
120
122
|
normal = new Vector3();
|
|
@@ -219,7 +221,7 @@ class ExtrudeGeometry extends BufferGeometry {
|
|
|
219
221
|
|
|
220
222
|
function scalePt2( pt, vec, size ) {
|
|
221
223
|
|
|
222
|
-
if ( ! vec )
|
|
224
|
+
if ( ! vec ) error( 'ExtrudeGeometry: vec does not exist' );
|
|
223
225
|
|
|
224
226
|
return pt.clone().addScaledVector( vec, size );
|
|
225
227
|
|
|
@@ -334,14 +336,14 @@ class ExtrudeGeometry extends BufferGeometry {
|
|
|
334
336
|
|
|
335
337
|
if ( direction_eq ) {
|
|
336
338
|
|
|
337
|
-
//
|
|
339
|
+
// log("Warning: lines are a straight sequence");
|
|
338
340
|
v_trans_x = - v_prev_y;
|
|
339
341
|
v_trans_y = v_prev_x;
|
|
340
342
|
shrink_by = Math.sqrt( v_prev_lensq );
|
|
341
343
|
|
|
342
344
|
} else {
|
|
343
345
|
|
|
344
|
-
//
|
|
346
|
+
// log("Warning: lines are a straight spike");
|
|
345
347
|
v_trans_x = v_prev_x;
|
|
346
348
|
v_trans_y = v_prev_y;
|
|
347
349
|
shrink_by = Math.sqrt( v_prev_lensq / 2 );
|
|
@@ -363,7 +365,7 @@ class ExtrudeGeometry extends BufferGeometry {
|
|
|
363
365
|
if ( k === il ) k = 0;
|
|
364
366
|
|
|
365
367
|
// (j)---(i)---(k)
|
|
366
|
-
//
|
|
368
|
+
// log('i,j,k', i, j , k)
|
|
367
369
|
|
|
368
370
|
contourMovements[ i ] = getBevelVec( contour[ i ], contour[ j ], contour[ k ] );
|
|
369
371
|
|
|
@@ -660,7 +662,7 @@ class ExtrudeGeometry extends BufferGeometry {
|
|
|
660
662
|
let k = i - 1;
|
|
661
663
|
if ( k < 0 ) k = contour.length - 1;
|
|
662
664
|
|
|
663
|
-
//
|
|
665
|
+
//log('b', i,j, i-1, k,vertices.length);
|
|
664
666
|
|
|
665
667
|
for ( let s = 0, sl = ( steps + bevelSegments * 2 ); s < sl; s ++ ) {
|
|
666
668
|
|
|
@@ -14,7 +14,7 @@ const _camera = /*@__PURE__*/ new Camera();
|
|
|
14
14
|
* This helps with visualizing what a camera contains in its frustum. It
|
|
15
15
|
* visualizes the frustum of a camera using a line segments.
|
|
16
16
|
*
|
|
17
|
-
* Based on frustum visualization in [lightgl.js shadowmap example]
|
|
17
|
+
* Based on frustum visualization in [lightgl.js shadowmap example](https://github.com/evanw/lightgl.js/blob/master/tests/shadowmap.html).
|
|
18
18
|
*
|
|
19
19
|
* `CameraHelper` must be a child of the scene.
|
|
20
20
|
*
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { AnimationClip } from '../animation/AnimationClip.js';
|
|
2
2
|
import { FileLoader } from './FileLoader.js';
|
|
3
3
|
import { Loader } from './Loader.js';
|
|
4
|
+
import { error } from '../utils.js';
|
|
4
5
|
|
|
5
6
|
/**
|
|
6
7
|
* Class for loading animation clips in the JSON format. The files are internally
|
|
@@ -57,7 +58,7 @@ class AnimationLoader extends Loader {
|
|
|
57
58
|
|
|
58
59
|
} else {
|
|
59
60
|
|
|
60
|
-
|
|
61
|
+
error( e );
|
|
61
62
|
|
|
62
63
|
}
|
|
63
64
|
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { AudioContext } from '../audio/AudioContext.js';
|
|
2
2
|
import { FileLoader } from './FileLoader.js';
|
|
3
3
|
import { Loader } from './Loader.js';
|
|
4
|
+
import { error } from '../utils.js';
|
|
4
5
|
|
|
5
6
|
/**
|
|
6
7
|
* Class for loading audio buffers. Audios are internally
|
|
@@ -81,7 +82,7 @@ class AudioLoader extends Loader {
|
|
|
81
82
|
|
|
82
83
|
} else {
|
|
83
84
|
|
|
84
|
-
|
|
85
|
+
error( e );
|
|
85
86
|
|
|
86
87
|
}
|
|
87
88
|
|
|
@@ -7,7 +7,7 @@ import { InstancedBufferGeometry } from '../core/InstancedBufferGeometry.js';
|
|
|
7
7
|
import { InstancedBufferAttribute } from '../core/InstancedBufferAttribute.js';
|
|
8
8
|
import { InterleavedBufferAttribute } from '../core/InterleavedBufferAttribute.js';
|
|
9
9
|
import { InterleavedBuffer } from '../core/InterleavedBuffer.js';
|
|
10
|
-
import { getTypedArray } from '../utils.js';
|
|
10
|
+
import { getTypedArray, error } from '../utils.js';
|
|
11
11
|
|
|
12
12
|
/**
|
|
13
13
|
* Class for loading geometries. The files are internally
|
|
@@ -67,7 +67,7 @@ class BufferGeometryLoader extends Loader {
|
|
|
67
67
|
|
|
68
68
|
} else {
|
|
69
69
|
|
|
70
|
-
|
|
70
|
+
error( e );
|
|
71
71
|
|
|
72
72
|
}
|
|
73
73
|
|
package/src/loaders/Cache.js
CHANGED
|
@@ -35,7 +35,7 @@ const Cache = {
|
|
|
35
35
|
|
|
36
36
|
if ( this.enabled === false ) return;
|
|
37
37
|
|
|
38
|
-
//
|
|
38
|
+
// log( 'Cache', 'Adding key:', key );
|
|
39
39
|
|
|
40
40
|
this.files[ key ] = file;
|
|
41
41
|
|
|
@@ -52,7 +52,7 @@ const Cache = {
|
|
|
52
52
|
|
|
53
53
|
if ( this.enabled === false ) return;
|
|
54
54
|
|
|
55
|
-
//
|
|
55
|
+
// log( 'Cache', 'Checking key:', key );
|
|
56
56
|
|
|
57
57
|
return this.files[ key ];
|
|
58
58
|
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { Cache } from './Cache.js';
|
|
2
2
|
import { Loader } from './Loader.js';
|
|
3
|
+
import { warn } from '../utils.js';
|
|
3
4
|
|
|
4
5
|
const loading = {};
|
|
5
6
|
|
|
@@ -42,7 +43,7 @@ class FileLoader extends Loader {
|
|
|
42
43
|
|
|
43
44
|
/**
|
|
44
45
|
* The expected mime type. Valid values can be found
|
|
45
|
-
* [here]
|
|
46
|
+
* [here](hhttps://developer.mozilla.org/en-US/docs/Web/API/DOMParser/parseFromString#mimetype)
|
|
46
47
|
*
|
|
47
48
|
* @type {string}
|
|
48
49
|
*/
|
|
@@ -148,7 +149,7 @@ class FileLoader extends Loader {
|
|
|
148
149
|
|
|
149
150
|
if ( response.status === 0 ) {
|
|
150
151
|
|
|
151
|
-
|
|
152
|
+
warn( 'FileLoader: HTTP Status 0 received.' );
|
|
152
153
|
|
|
153
154
|
}
|
|
154
155
|
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import { Cache } from './Cache.js';
|
|
2
2
|
import { Loader } from './Loader.js';
|
|
3
|
+
import { warn } from '../utils.js';
|
|
3
4
|
|
|
4
5
|
const _errorMap = new WeakMap();
|
|
5
6
|
|
|
6
7
|
/**
|
|
7
|
-
* A loader for loading images as an [ImageBitmap]
|
|
8
|
+
* A loader for loading images as an [ImageBitmap](https://developer.mozilla.org/en-US/docs/Web/API/ImageBitmap).
|
|
8
9
|
* An `ImageBitmap` provides an asynchronous and resource efficient pathway to prepare
|
|
9
10
|
* textures for rendering.
|
|
10
11
|
*
|
|
@@ -48,13 +49,13 @@ class ImageBitmapLoader extends Loader {
|
|
|
48
49
|
|
|
49
50
|
if ( typeof createImageBitmap === 'undefined' ) {
|
|
50
51
|
|
|
51
|
-
|
|
52
|
+
warn( 'ImageBitmapLoader: createImageBitmap() not supported.' );
|
|
52
53
|
|
|
53
54
|
}
|
|
54
55
|
|
|
55
56
|
if ( typeof fetch === 'undefined' ) {
|
|
56
57
|
|
|
57
|
-
|
|
58
|
+
warn( 'ImageBitmapLoader: fetch() not supported.' );
|
|
58
59
|
|
|
59
60
|
}
|
|
60
61
|
|
|
@@ -78,7 +79,7 @@ class ImageBitmapLoader extends Loader {
|
|
|
78
79
|
|
|
79
80
|
/**
|
|
80
81
|
* Sets the given loader options. The structure of the object must match the `options` parameter of
|
|
81
|
-
* [createImageBitmap]
|
|
82
|
+
* [createImageBitmap](https://developer.mozilla.org/en-US/docs/Web/API/Window/createImageBitmap).
|
|
82
83
|
*
|
|
83
84
|
* @param {Object} options - The loader options to set.
|
|
84
85
|
* @return {ImageBitmapLoader} A reference to this image bitmap loader.
|
|
@@ -13,7 +13,7 @@ const _loading = new WeakMap();
|
|
|
13
13
|
* ```
|
|
14
14
|
* Please note that `ImageLoader` has dropped support for progress
|
|
15
15
|
* events in `r84`. For an `ImageLoader` that supports progress events, see
|
|
16
|
-
* [this thread]
|
|
16
|
+
* [this thread](https://github.com/mrdoob/three.js/issues/10439#issuecomment-275785639).
|
|
17
17
|
*
|
|
18
18
|
* @augments Loader
|
|
19
19
|
*/
|
package/src/loaders/Loader.js
CHANGED
|
@@ -54,7 +54,7 @@ class Loader {
|
|
|
54
54
|
this.resourcePath = '';
|
|
55
55
|
|
|
56
56
|
/**
|
|
57
|
-
* The [request header]
|
|
57
|
+
* The [request header](https://developer.mozilla.org/en-US/docs/Glossary/Request_header)
|
|
58
58
|
* used in HTTP request.
|
|
59
59
|
*
|
|
60
60
|
* @type {Object<string, any>}
|
|
@@ -119,7 +119,7 @@ class Loader {
|
|
|
119
119
|
|
|
120
120
|
/**
|
|
121
121
|
* Whether the XMLHttpRequest uses credentials such as cookies, authorization
|
|
122
|
-
* headers or TLS client certificates, see [XMLHttpRequest.withCredentials]
|
|
122
|
+
* headers or TLS client certificates, see [XMLHttpRequest.withCredentials](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/withCredentials).
|
|
123
123
|
*
|
|
124
124
|
* Note: This setting has no effect if you are loading files locally or from the same domain.
|
|
125
125
|
*
|
|
@@ -162,7 +162,7 @@ class Loader {
|
|
|
162
162
|
/**
|
|
163
163
|
* Sets the given request header.
|
|
164
164
|
*
|
|
165
|
-
* @param {Object} requestHeader - A [request header]
|
|
165
|
+
* @param {Object} requestHeader - A [request header](https://developer.mozilla.org/en-US/docs/Glossary/Request_header)
|
|
166
166
|
* for configuring the HTTP request.
|
|
167
167
|
* @return {Loader} A reference to this instance.
|
|
168
168
|
*/
|
|
@@ -72,9 +72,10 @@ class LoadingManager {
|
|
|
72
72
|
/**
|
|
73
73
|
* Used for aborting ongoing requests in loaders using this manager.
|
|
74
74
|
*
|
|
75
|
-
* @
|
|
75
|
+
* @private
|
|
76
|
+
* @type {AbortController | null}
|
|
76
77
|
*/
|
|
77
|
-
this.
|
|
78
|
+
this._abortController = null;
|
|
78
79
|
|
|
79
80
|
/**
|
|
80
81
|
* This should be called by any loader using the manager when the loader
|
|
@@ -285,8 +286,9 @@ class LoadingManager {
|
|
|
285
286
|
*/
|
|
286
287
|
this.abort = function () {
|
|
287
288
|
|
|
289
|
+
|
|
288
290
|
this.abortController.abort();
|
|
289
|
-
this.
|
|
291
|
+
this._abortController = null;
|
|
290
292
|
|
|
291
293
|
return this;
|
|
292
294
|
|
|
@@ -294,6 +296,26 @@ class LoadingManager {
|
|
|
294
296
|
|
|
295
297
|
}
|
|
296
298
|
|
|
299
|
+
// TODO: Revert this back to a single member variable once this issue has been fixed
|
|
300
|
+
// https://github.com/cloudflare/workerd/issues/3657
|
|
301
|
+
|
|
302
|
+
/**
|
|
303
|
+
* Used for aborting ongoing requests in loaders using this manager.
|
|
304
|
+
*
|
|
305
|
+
* @type {AbortController}
|
|
306
|
+
*/
|
|
307
|
+
get abortController() {
|
|
308
|
+
|
|
309
|
+
if ( ! this._abortController ) {
|
|
310
|
+
|
|
311
|
+
this._abortController = new AbortController();
|
|
312
|
+
|
|
313
|
+
}
|
|
314
|
+
|
|
315
|
+
return this._abortController;
|
|
316
|
+
|
|
317
|
+
}
|
|
318
|
+
|
|
297
319
|
}
|
|
298
320
|
|
|
299
321
|
/**
|
|
@@ -26,6 +26,7 @@ import {
|
|
|
26
26
|
LineBasicMaterial,
|
|
27
27
|
Material,
|
|
28
28
|
} from '../materials/Materials.js';
|
|
29
|
+
import { error, warn } from '../utils.js';
|
|
29
30
|
|
|
30
31
|
/**
|
|
31
32
|
* Class for loading geometries. The files are internally
|
|
@@ -89,7 +90,7 @@ class MaterialLoader extends Loader {
|
|
|
89
90
|
|
|
90
91
|
} else {
|
|
91
92
|
|
|
92
|
-
|
|
93
|
+
error( e );
|
|
93
94
|
|
|
94
95
|
}
|
|
95
96
|
|
|
@@ -115,7 +116,7 @@ class MaterialLoader extends Loader {
|
|
|
115
116
|
|
|
116
117
|
if ( textures[ name ] === undefined ) {
|
|
117
118
|
|
|
118
|
-
|
|
119
|
+
warn( 'MaterialLoader: Undefined texture', name );
|
|
119
120
|
|
|
120
121
|
}
|
|
121
122
|
|