super-three 0.141.0 → 0.144.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/README.md +8 -8
- package/build/three.cjs +1558 -1034
- package/build/three.js +1558 -1034
- package/build/three.min.js +1 -1
- package/build/three.module.js +2012 -1243
- package/examples/js/animation/MMDPhysics.js +1 -16
- package/examples/js/controls/ArcballControls.js +16 -3
- package/examples/js/controls/FirstPersonControls.js +0 -7
- package/examples/js/controls/FlyControls.js +0 -8
- package/examples/js/controls/OrbitControls.js +0 -4
- package/examples/js/controls/PointerLockControls.js +0 -8
- package/examples/js/controls/TrackballControls.js +0 -2
- package/examples/js/controls/TransformControls.js +20 -16
- package/examples/js/effects/AnaglyphEffect.js +2 -2
- package/examples/js/effects/OutlineEffect.js +4 -24
- package/examples/js/effects/ParallaxBarrierEffect.js +2 -2
- package/examples/js/effects/PeppersGhostEffect.js +2 -2
- package/examples/js/effects/StereoEffect.js +2 -2
- package/examples/js/environments/RoomEnvironment.js +22 -0
- package/examples/js/exporters/ColladaExporter.js +4 -13
- package/examples/js/exporters/DRACOExporter.js +0 -12
- package/examples/js/exporters/GLTFExporter.js +28 -29
- package/examples/js/exporters/OBJExporter.js +2 -23
- package/examples/js/exporters/PLYExporter.js +12 -24
- package/examples/js/exporters/STLExporter.js +0 -7
- package/examples/js/exporters/USDZExporter.js +6 -0
- package/examples/js/geometries/ConvexGeometry.js +1 -1
- package/examples/js/geometries/ParametricGeometry.js +1 -8
- package/examples/js/interactive/SelectionHelper.js +2 -0
- package/examples/js/libs/ktx-parse.umd.js +1 -0
- package/examples/js/libs/meshopt_decoder.js +98 -32
- package/examples/js/loaders/ColladaLoader.js +1 -0
- package/examples/js/loaders/DRACOLoader.js +2 -25
- package/examples/js/loaders/EXRLoader.js +2 -13
- package/examples/js/loaders/FBXLoader.js +10 -3
- package/examples/js/loaders/FontLoader.js +3 -16
- package/examples/js/loaders/GLTFLoader.js +52 -36
- package/examples/js/loaders/HDRCubeTextureLoader.js +0 -11
- package/examples/js/loaders/LDrawLoader.js +139 -74
- package/examples/js/loaders/OBJLoader.js +7 -13
- package/examples/js/loaders/PCDLoader.js +59 -14
- package/examples/js/loaders/PLYLoader.js +3 -3
- package/examples/js/loaders/SVGLoader.js +4 -3
- package/examples/js/loaders/TIFFLoader.js +31 -0
- package/examples/js/loaders/VRMLLoader.js +33 -24
- package/examples/js/loaders/VTKLoader.js +1 -1
- package/examples/js/loaders/lwo/LWO2Parser.js +8 -7
- package/examples/js/loaders/lwo/LWO3Parser.js +8 -7
- package/examples/js/materials/MeshGouraudMaterial.js +385 -0
- package/examples/js/math/ColorConverter.js +0 -50
- package/examples/js/misc/GPUComputationRenderer.js +23 -0
- package/examples/js/misc/Volume.js +198 -190
- package/examples/js/misc/VolumeSlice.js +90 -88
- package/examples/js/modifiers/SimplifyModifier.js +1 -1
- package/examples/js/objects/GroundProjectedEnv.js +193 -0
- package/examples/js/objects/Reflector.js +9 -2
- package/examples/js/objects/ReflectorForSSRPass.js +3 -4
- package/examples/js/objects/Refractor.js +10 -4
- package/examples/js/objects/ShadowMesh.js +5 -1
- package/examples/js/postprocessing/OutlinePass.js +5 -3
- package/examples/js/renderers/CSS2DRenderer.js +2 -2
- package/examples/js/renderers/CSS3DRenderer.js +2 -2
- package/examples/js/renderers/Projector.js +2 -23
- package/examples/js/shaders/LuminosityShader.js +1 -1
- package/examples/js/shaders/MMDToonShader.js +6 -2
- package/examples/js/shaders/ToneMapShader.js +1 -1
- package/examples/js/utils/BufferGeometryUtils.js +1 -1
- package/examples/js/utils/GeometryUtils.js +2 -18
- package/examples/js/utils/PackedPhongMaterial.js +1 -1
- package/examples/js/utils/SceneUtils.js +0 -16
- package/examples/jsm/animation/MMDPhysics.js +3 -22
- package/examples/jsm/controls/ArcballControls.js +17 -2
- package/examples/jsm/controls/FirstPersonControls.js +0 -7
- package/examples/jsm/controls/FlyControls.js +0 -7
- package/examples/jsm/controls/OrbitControls.js +0 -5
- package/examples/jsm/controls/PointerLockControls.js +0 -7
- package/examples/jsm/controls/TrackballControls.js +0 -3
- package/examples/jsm/controls/TransformControls.js +18 -16
- package/examples/jsm/effects/AnaglyphEffect.js +2 -2
- package/examples/jsm/effects/OutlineEffect.js +4 -25
- package/examples/jsm/effects/ParallaxBarrierEffect.js +2 -2
- package/examples/jsm/effects/PeppersGhostEffect.js +2 -2
- package/examples/jsm/effects/StereoEffect.js +2 -2
- package/examples/jsm/environments/RoomEnvironment.js +23 -0
- package/examples/jsm/exporters/ColladaExporter.js +4 -13
- package/examples/jsm/exporters/DRACOExporter.js +0 -13
- package/examples/jsm/exporters/GLTFExporter.js +29 -31
- package/examples/jsm/exporters/KTX2Exporter.js +29 -29
- package/examples/jsm/exporters/OBJExporter.js +0 -18
- package/examples/jsm/exporters/PLYExporter.js +14 -22
- package/examples/jsm/exporters/STLExporter.js +1 -9
- package/examples/jsm/exporters/USDZExporter.js +14 -3
- package/examples/jsm/geometries/ConvexGeometry.js +1 -1
- package/examples/jsm/geometries/ParametricGeometry.js +0 -6
- package/examples/jsm/interactive/HTMLMesh.js +9 -9
- package/examples/jsm/interactive/SelectionHelper.js +5 -3
- package/examples/jsm/libs/meshopt_decoder.module.js +97 -32
- package/examples/jsm/libs/utif.module.js +1579 -0
- package/examples/jsm/libs/zstddec.module.js +1 -0
- package/examples/jsm/loaders/ColladaLoader.js +1 -0
- package/examples/jsm/loaders/DRACOLoader.js +2 -28
- package/examples/jsm/loaders/EXRLoader.js +3 -13
- package/examples/jsm/loaders/FBXLoader.js +10 -3
- package/examples/jsm/loaders/FontLoader.js +3 -16
- package/examples/jsm/loaders/GLTFLoader.js +52 -36
- package/examples/jsm/loaders/HDRCubeTextureLoader.js +0 -13
- package/examples/jsm/loaders/KTX2Loader.js +192 -30
- package/examples/jsm/loaders/LDrawLoader.js +135 -74
- package/examples/jsm/loaders/OBJLoader.js +6 -14
- package/examples/jsm/loaders/PCDLoader.js +59 -13
- package/examples/jsm/loaders/PLYLoader.js +3 -3
- package/examples/jsm/loaders/RGBELoader.js +1 -1
- package/examples/jsm/loaders/SVGLoader.js +4 -3
- package/examples/jsm/loaders/TIFFLoader.js +36 -0
- package/examples/jsm/loaders/USDZLoader.js +393 -0
- package/examples/jsm/loaders/VRMLLoader.js +23 -25
- package/examples/jsm/loaders/VTKLoader.js +1 -1
- package/examples/jsm/loaders/lwo/LWO2Parser.js +6 -8
- package/examples/jsm/loaders/lwo/LWO3Parser.js +6 -8
- package/examples/jsm/materials/MeshGouraudMaterial.js +423 -0
- package/examples/jsm/math/ColorConverter.js +1 -49
- package/examples/jsm/misc/GPUComputationRenderer.js +43 -0
- package/examples/jsm/misc/Volume.js +169 -171
- package/examples/jsm/misc/VolumeSlice.js +78 -80
- package/examples/jsm/modifiers/SimplifyModifier.js +1 -1
- package/examples/jsm/node-editor/accessors/MatcapUVEditor.js +1 -1
- package/examples/jsm/node-editor/accessors/NormalEditor.js +1 -1
- package/examples/jsm/node-editor/accessors/PositionEditor.js +1 -1
- package/examples/jsm/node-editor/accessors/UVEditor.js +1 -1
- package/examples/jsm/node-editor/display/BlendEditor.js +1 -1
- package/examples/jsm/node-editor/display/NormalMapEditor.js +1 -1
- package/examples/jsm/node-editor/inputs/ColorEditor.js +1 -1
- package/examples/jsm/node-editor/inputs/FloatEditor.js +1 -1
- package/examples/jsm/node-editor/inputs/SliderEditor.js +1 -1
- package/examples/jsm/node-editor/inputs/TextureEditor.js +1 -1
- package/examples/jsm/node-editor/inputs/Vector2Editor.js +1 -1
- package/examples/jsm/node-editor/inputs/Vector3Editor.js +1 -1
- package/examples/jsm/node-editor/inputs/Vector4Editor.js +1 -1
- package/examples/jsm/node-editor/materials/BasicMaterialEditor.js +1 -1
- package/examples/jsm/node-editor/materials/PointsMaterialEditor.js +1 -1
- package/examples/jsm/node-editor/materials/StandardMaterialEditor.js +1 -1
- package/examples/jsm/node-editor/math/AngleEditor.js +1 -1
- package/examples/jsm/node-editor/math/DotEditor.js +1 -1
- package/examples/jsm/node-editor/math/InvertEditor.js +1 -1
- package/examples/jsm/node-editor/math/LimiterEditor.js +1 -1
- package/examples/jsm/node-editor/math/NormalizeEditor.js +1 -1
- package/examples/jsm/node-editor/math/OperatorEditor.js +1 -1
- package/examples/jsm/node-editor/math/PowerEditor.js +1 -1
- package/examples/jsm/node-editor/math/TrigonometryEditor.js +1 -1
- package/examples/jsm/node-editor/procedural/CheckerEditor.js +1 -1
- package/examples/jsm/node-editor/utils/JoinEditor.js +1 -1
- package/examples/jsm/node-editor/utils/OscillatorEditor.js +1 -1
- package/examples/jsm/node-editor/utils/PreviewEditor.js +3 -3
- package/examples/jsm/node-editor/utils/SplitEditor.js +1 -1
- package/examples/jsm/node-editor/utils/TimerEditor.js +1 -1
- package/examples/jsm/nodes/Nodes.js +43 -13
- package/examples/jsm/nodes/accessors/CubeTextureNode.js +9 -5
- package/examples/jsm/nodes/accessors/NormalNode.js +4 -4
- package/examples/jsm/nodes/accessors/PositionNode.js +5 -5
- package/examples/jsm/nodes/accessors/ReflectVectorNode.js +31 -0
- package/examples/jsm/nodes/core/AttributeNode.js +3 -3
- package/examples/jsm/nodes/core/CodeNode.js +3 -3
- package/examples/jsm/nodes/core/FunctionCallNode.js +20 -5
- package/examples/jsm/nodes/core/FunctionNode.js +2 -2
- package/examples/jsm/nodes/core/Node.js +14 -12
- package/examples/jsm/nodes/core/NodeBuilder.js +12 -12
- package/examples/jsm/nodes/core/NodeUtils.js +23 -1
- package/examples/jsm/nodes/core/{NodeVary.js → NodeVarying.js} +3 -3
- package/examples/jsm/nodes/core/{VaryNode.js → VaryingNode.js} +7 -7
- package/examples/jsm/nodes/display/ColorAdjustmentNode.js +94 -0
- package/examples/jsm/nodes/geometry/RangeNode.js +109 -0
- package/examples/jsm/nodes/gpgpu/ComputeNode.js +2 -0
- package/examples/jsm/nodes/lighting/EnvironmentNode.js +8 -7
- package/examples/jsm/nodes/lighting/LightingContextNode.js +4 -4
- package/examples/jsm/nodes/loaders/NodeLoader.js +2 -2
- package/examples/jsm/nodes/loaders/NodeMaterialLoader.js +31 -0
- package/examples/jsm/nodes/materials/Materials.js +13 -25
- package/examples/jsm/nodes/materials/MeshPhysicalNodeMaterial.js +70 -0
- package/examples/jsm/nodes/materials/MeshStandardNodeMaterial.js +4 -7
- package/examples/jsm/nodes/materials/NodeMaterial.js +2 -2
- package/examples/jsm/nodes/materials/SpriteNodeMaterial.js +28 -17
- package/examples/jsm/nodes/materialx/Disclaimer.md +199 -0
- package/examples/jsm/nodes/materialx/functions/lib/mx_hsv.js +56 -0
- package/examples/jsm/nodes/materialx/functions/lib/mx_noise.js +607 -0
- package/examples/jsm/nodes/math/MathNode.js +2 -12
- package/examples/jsm/nodes/parsers/GLSLNodeFunction.js +21 -6
- package/examples/jsm/nodes/procedural/CheckerNode.js +2 -2
- package/examples/jsm/nodes/shadernode/ShaderNode.js +5 -5
- package/examples/jsm/nodes/shadernode/ShaderNodeBaseElements.js +8 -5
- package/examples/jsm/nodes/shadernode/ShaderNodeElements.js +20 -6
- package/examples/jsm/nodes/utils/ConvertNode.js +8 -3
- package/examples/jsm/nodes/utils/JoinNode.js +7 -7
- package/examples/jsm/nodes/utils/MaxMipLevelNode.js +2 -1
- package/examples/jsm/nodes/utils/RotateUVNode.js +32 -0
- package/examples/jsm/nodes/utils/SplitNode.js +21 -5
- package/examples/jsm/nodes/utils/TimerNode.js +2 -2
- package/examples/jsm/objects/GroundProjectedEnv.js +186 -0
- package/examples/jsm/objects/Reflector.js +12 -5
- package/examples/jsm/objects/ReflectorForSSRPass.js +3 -5
- package/examples/jsm/objects/Refractor.js +12 -6
- package/examples/jsm/objects/ShadowMesh.js +8 -2
- package/examples/jsm/postprocessing/OutlinePass.js +5 -3
- package/examples/jsm/renderers/CSS2DRenderer.js +2 -2
- package/examples/jsm/renderers/CSS3DRenderer.js +2 -2
- package/examples/jsm/renderers/Projector.js +2 -24
- package/examples/jsm/renderers/webgl/nodes/SlotNode.js +9 -5
- package/examples/jsm/renderers/webgl/nodes/WebGLNodeBuilder.js +329 -218
- package/examples/jsm/renderers/webgl/nodes/WebGLNodes.js +7 -3
- package/examples/jsm/renderers/webgpu/WebGPUBackground.js +39 -3
- package/examples/jsm/renderers/webgpu/WebGPUComputePipelines.js +6 -0
- package/examples/jsm/renderers/webgpu/WebGPUGeometries.js +6 -0
- package/examples/jsm/renderers/webgpu/WebGPUObjects.js +1 -1
- package/examples/jsm/renderers/webgpu/WebGPURenderPipeline.js +17 -19
- package/examples/jsm/renderers/webgpu/WebGPURenderPipelines.js +16 -14
- package/examples/jsm/renderers/webgpu/WebGPURenderStates.js +2 -2
- package/examples/jsm/renderers/webgpu/WebGPURenderer.js +66 -81
- package/examples/jsm/renderers/webgpu/WebGPUTextureUtils.js +5 -3
- package/examples/jsm/renderers/webgpu/WebGPUTextures.js +2 -2
- package/examples/jsm/renderers/webgpu/WebGPUUtils.js +81 -0
- package/examples/jsm/renderers/webgpu/nodes/WebGPUNodeBuilder.js +25 -30
- package/examples/jsm/renderers/webgpu/nodes/WebGPUNodes.js +1 -1
- package/examples/jsm/shaders/LuminosityShader.js +1 -1
- package/examples/jsm/shaders/MMDToonShader.js +2 -2
- package/examples/jsm/shaders/ToneMapShader.js +1 -1
- package/examples/jsm/utils/BufferGeometryUtils.js +2 -1
- package/examples/jsm/utils/GeometryUtils.js +17 -25
- package/examples/jsm/utils/PackedPhongMaterial.js +0 -1
- package/examples/jsm/utils/SceneUtils.js +1 -21
- package/examples/jsm/webxr/OculusHandPointerModel.js +6 -1
- package/examples/jsm/webxr/VRButton.js +1 -7
- package/package.json +18 -14
- package/src/Three.Legacy.js +262 -36
- package/src/Three.js +3 -2
- package/src/animation/AnimationAction.js +6 -5
- package/src/animation/AnimationClip.js +1 -1
- package/src/animation/AnimationMixer.js +1 -1
- package/src/animation/AnimationUtils.js +204 -199
- package/src/animation/KeyframeTrack.js +1 -1
- package/src/animation/PropertyBinding.js +24 -5
- package/src/cameras/CubeCamera.js +0 -7
- package/src/constants.js +2 -4
- package/src/core/BufferAttribute.js +81 -111
- package/src/core/BufferGeometry.js +3 -41
- package/src/core/InstancedBufferAttribute.js +0 -10
- package/src/core/InterleavedBuffer.js +1 -1
- package/src/core/InterleavedBufferAttribute.js +56 -7
- package/src/core/Object3D.js +22 -5
- package/src/core/Uniform.js +0 -7
- package/src/core/UniformsGroup.js +92 -0
- package/src/extras/DataUtils.js +104 -88
- package/src/extras/core/Path.js +1 -0
- package/src/extras/core/ShapePath.js +1 -4
- package/src/extras/curves/CatmullRomCurve3.js +4 -2
- package/src/geometries/BoxGeometry.js +1 -1
- package/src/geometries/CapsuleGeometry.js +1 -1
- package/src/geometries/CircleGeometry.js +1 -1
- package/src/geometries/ConeGeometry.js +1 -1
- package/src/geometries/CylinderGeometry.js +2 -1
- package/src/geometries/DodecahedronGeometry.js +1 -1
- package/src/geometries/EdgesGeometry.js +5 -4
- package/src/geometries/ExtrudeGeometry.js +2 -11
- package/src/geometries/IcosahedronGeometry.js +1 -1
- package/src/geometries/LatheGeometry.js +2 -2
- package/src/geometries/OctahedronGeometry.js +1 -1
- package/src/geometries/PlaneGeometry.js +2 -1
- package/src/geometries/PolyhedronGeometry.js +1 -1
- package/src/geometries/RingGeometry.js +1 -1
- package/src/geometries/ShapeGeometry.js +2 -1
- package/src/geometries/SphereGeometry.js +2 -1
- package/src/geometries/TetrahedronGeometry.js +1 -1
- package/src/geometries/TorusGeometry.js +2 -1
- package/src/geometries/TorusKnotGeometry.js +2 -1
- package/src/geometries/TubeGeometry.js +2 -1
- package/src/geometries/WireframeGeometry.js +1 -0
- package/src/helpers/CameraHelper.js +97 -38
- package/src/helpers/DirectionalLightHelper.js +1 -0
- package/src/helpers/HemisphereLightHelper.js +1 -0
- package/src/helpers/PlaneHelper.js +6 -9
- package/src/helpers/PolarGridHelper.js +18 -14
- package/src/helpers/SpotLightHelper.js +1 -0
- package/src/lights/SpotLight.js +2 -0
- package/src/loaders/FileLoader.js +12 -1
- package/src/loaders/LoadingManager.js +1 -1
- package/src/loaders/MaterialLoader.js +49 -7
- package/src/loaders/ObjectLoader.js +4 -41
- package/src/materials/Material.js +1 -33
- package/src/materials/Materials.js +0 -27
- package/src/materials/MeshLambertMaterial.js +28 -1
- package/src/materials/ShaderMaterial.js +3 -7
- package/src/math/Color.js +3 -13
- package/src/math/MathUtils.js +1 -7
- package/src/math/Matrix3.js +1 -7
- package/src/math/Matrix4.js +3 -27
- package/src/math/Quaternion.js +1 -21
- package/src/math/Vector2.js +4 -24
- package/src/math/Vector3.js +7 -46
- package/src/math/Vector4.js +4 -24
- package/src/renderers/WebGLRenderer.js +84 -8
- package/src/renderers/shaders/ShaderChunk/bsdfs.glsl.js +12 -12
- package/src/renderers/shaders/ShaderChunk/bumpmap_pars_fragment.glsl.js +3 -5
- package/src/renderers/shaders/ShaderChunk/common.glsl.js +6 -5
- package/src/renderers/shaders/ShaderChunk/cube_uv_reflection_fragment.glsl.js +24 -24
- package/src/renderers/shaders/ShaderChunk/envmap_pars_fragment.glsl.js +1 -1
- package/src/renderers/shaders/ShaderChunk/envmap_pars_vertex.glsl.js +1 -1
- package/src/renderers/shaders/ShaderChunk/gradientmap_pars_fragment.glsl.js +2 -1
- package/src/renderers/shaders/ShaderChunk/iridescence_fragment.glsl.js +113 -99
- package/src/renderers/shaders/ShaderChunk/lights_fragment_begin.glsl.js +34 -12
- package/src/renderers/shaders/ShaderChunk/lights_lambert_fragment.glsl.js +5 -0
- package/src/renderers/shaders/ShaderChunk/lights_lambert_pars_fragment.glsl.js +30 -0
- package/src/renderers/shaders/ShaderChunk/lights_physical_fragment.glsl.js +3 -1
- package/src/renderers/shaders/ShaderChunk/lights_physical_pars_fragment.glsl.js +13 -1
- package/src/renderers/shaders/ShaderChunk/normalmap_pars_fragment.glsl.js +2 -4
- package/src/renderers/shaders/ShaderChunk/output_fragment.glsl.js +1 -1
- package/src/renderers/shaders/ShaderChunk/shadowmap_pars_fragment.glsl.js +18 -7
- package/src/renderers/shaders/ShaderChunk/shadowmap_pars_vertex.glsl.js +8 -3
- package/src/renderers/shaders/ShaderChunk/shadowmap_vertex.glsl.js +9 -6
- package/src/renderers/shaders/ShaderChunk/shadowmask_pars_fragment.glsl.js +1 -1
- package/src/renderers/shaders/ShaderChunk/transmission_fragment.glsl.js +14 -10
- package/src/renderers/shaders/ShaderChunk/worldpos_vertex.glsl.js +1 -1
- package/src/renderers/shaders/ShaderChunk.js +4 -2
- package/src/renderers/shaders/ShaderLib/meshbasic.glsl.js +0 -1
- package/src/renderers/shaders/ShaderLib/meshlambert.glsl.js +22 -50
- package/src/renderers/shaders/ShaderLib/meshphong.glsl.js +0 -1
- package/src/renderers/shaders/ShaderLib.js +31 -31
- package/src/renderers/shaders/UniformsLib.js +12 -11
- package/src/renderers/shaders/UniformsUtils.js +14 -0
- package/src/renderers/webgl/WebGLBackground.js +2 -2
- package/src/renderers/webgl/WebGLLights.js +37 -13
- package/src/renderers/webgl/WebGLMorphtargets.js +0 -20
- package/src/renderers/webgl/WebGLProgram.js +6 -11
- package/src/renderers/webgl/WebGLPrograms.js +30 -26
- package/src/renderers/webgl/WebGLRenderLists.js +5 -4
- package/src/renderers/webgl/WebGLRenderStates.js +5 -4
- package/src/renderers/webgl/WebGLShaderCache.js +9 -6
- package/src/renderers/webgl/WebGLShadowMap.js +10 -15
- package/src/renderers/webgl/WebGLState.js +47 -0
- package/src/renderers/webgl/WebGLUniforms.js +4 -4
- package/src/renderers/webgl/WebGLUniformsGroups.js +372 -0
- package/src/renderers/webgl/WebGLUtils.js +2 -0
- package/src/renderers/webvr/WebVRManager.js +42 -9
- package/src/renderers/webvr/WebVRUtils.js +1 -1
- package/src/renderers/webxr/WebXRController.js +45 -37
- package/src/renderers/webxr/WebXRManager.js +58 -33
- package/src/scenes/Scene.js +16 -3
- package/src/textures/Source.js +1 -1
- package/src/utils.js +1 -1
- package/examples/js/controls/experimental/CameraControls.js +0 -1048
- package/examples/js/loaders/KTX2Loader.js +0 -558
- package/examples/jsm/controls/experimental/CameraControls.js +0 -1248
- package/examples/jsm/nodes/accessors/ReflectNode.js +0 -70
- package/examples/jsm/package.json +0 -3
- package/examples/jsm/renderers/webgl/nodes/WebGLPhysicalContextNode.js +0 -45
- package/src/renderers/shaders/ShaderChunk/lights_lambert_vertex.glsl.js +0 -122
|
@@ -22,13 +22,6 @@
|
|
|
22
22
|
if ( object.isMesh ) {
|
|
23
23
|
|
|
24
24
|
const geometry = object.geometry;
|
|
25
|
-
|
|
26
|
-
if ( geometry.isBufferGeometry !== true ) {
|
|
27
|
-
|
|
28
|
-
throw new Error( 'THREE.STLExporter: Geometry is not of type THREE.BufferGeometry.' );
|
|
29
|
-
|
|
30
|
-
}
|
|
31
|
-
|
|
32
25
|
const index = geometry.index;
|
|
33
26
|
const positionAttribute = geometry.getAttribute( 'position' );
|
|
34
27
|
triangles += index !== null ? index.count / 3 : positionAttribute.count / 3;
|
|
@@ -380,6 +380,12 @@ ${array.join( '' )}
|
|
|
380
380
|
|
|
381
381
|
}
|
|
382
382
|
|
|
383
|
+
if ( material.side === THREE.DoubleSide ) {
|
|
384
|
+
|
|
385
|
+
console.warn( 'THREE.USDZExporter: USDZ does not support double sided materials', material );
|
|
386
|
+
|
|
387
|
+
}
|
|
388
|
+
|
|
383
389
|
if ( material.map !== null ) {
|
|
384
390
|
|
|
385
391
|
inputs.push( `${pad}color3f inputs:diffuseColor.connect = </Materials/Material_${material.id}/Texture_${material.map.id}_diffuse.outputs:rgb>` );
|
|
@@ -26,14 +26,7 @@
|
|
|
26
26
|
const p0 = new THREE.Vector3(),
|
|
27
27
|
p1 = new THREE.Vector3();
|
|
28
28
|
const pu = new THREE.Vector3(),
|
|
29
|
-
pv = new THREE.Vector3();
|
|
30
|
-
|
|
31
|
-
if ( func.length < 3 ) {
|
|
32
|
-
|
|
33
|
-
console.error( 'THREE.ParametricGeometry: Function must now modify a THREE.Vector3 as third parameter.' );
|
|
34
|
-
|
|
35
|
-
} // generate vertices, normals and uvs
|
|
36
|
-
|
|
29
|
+
pv = new THREE.Vector3(); // generate vertices, normals and uvs
|
|
37
30
|
|
|
38
31
|
const sliceCount = slices + 1;
|
|
39
32
|
|
|
@@ -53,6 +53,7 @@
|
|
|
53
53
|
|
|
54
54
|
onSelectStart( event ) {
|
|
55
55
|
|
|
56
|
+
this.element.style.display = 'none';
|
|
56
57
|
this.renderer.domElement.parentElement.appendChild( this.element );
|
|
57
58
|
this.element.style.left = event.clientX + 'px';
|
|
58
59
|
this.element.style.top = event.clientY + 'px';
|
|
@@ -65,6 +66,7 @@
|
|
|
65
66
|
|
|
66
67
|
onSelectMove( event ) {
|
|
67
68
|
|
|
69
|
+
this.element.style.display = 'block';
|
|
68
70
|
this.pointBottomRight.x = Math.max( this.startPoint.x, event.clientX );
|
|
69
71
|
this.pointBottomRight.y = Math.max( this.startPoint.y, event.clientY );
|
|
70
72
|
this.pointTopLeft.x = Math.min( this.startPoint.x, event.clientX );
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
!function(_,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((_||self).KTX={})}(this,function(_){var t=function(){this.vkFormat=0,this.typeSize=1,this.pixelWidth=0,this.pixelHeight=0,this.pixelDepth=0,this.layerCount=0,this.faceCount=1,this.supercompressionScheme=0,this.levels=[],this.dataFormatDescriptor=[{vendorId:0,descriptorType:0,descriptorBlockSize:0,versionNumber:2,colorModel:0,colorPrimaries:1,transferFunction:2,flags:0,texelBlockDimension:[0,0,0,0],bytesPlane:[0,0,0,0,0,0,0,0],samples:[]}],this.keyValue={},this.globalData=null},e=/*#__PURE__*/function(){function _(_,t,e,R){this._dataView=void 0,this._littleEndian=void 0,this._offset=void 0,this._dataView=new DataView(_.buffer,_.byteOffset+t,e),this._littleEndian=R,this._offset=0}var t=_.prototype;return t._nextUint8=function(){var _=this._dataView.getUint8(this._offset);return this._offset+=1,_},t._nextUint16=function(){var _=this._dataView.getUint16(this._offset,this._littleEndian);return this._offset+=2,_},t._nextUint32=function(){var _=this._dataView.getUint32(this._offset,this._littleEndian);return this._offset+=4,_},t._nextUint64=function(){var _=this._dataView.getUint32(this._offset,this._littleEndian),t=this._dataView.getUint32(this._offset+4,this._littleEndian),e=_+Math.pow(2,32)*t;return this._offset+=8,e},t._nextInt32=function(){var _=this._dataView.getInt32(this._offset,this._littleEndian);return this._offset+=4,_},t._skip=function(_){return this._offset+=_,this},t._scan=function(_,t){void 0===t&&(t=0);for(var e=this._offset,R=0;this._dataView.getUint8(this._offset)!==t&&R<_;)R++,this._offset++;return R<_&&this._offset++,new Uint8Array(this._dataView.buffer,this._dataView.byteOffset+e,R)},_}(),R=new Uint8Array([0]),n=[171,75,84,88,32,50,48,187,13,10,26,10];function A(){return A=Object.assign?Object.assign.bind():function(_){for(var t=1;t<arguments.length;t++){var e=arguments[t];for(var R in e)Object.prototype.hasOwnProperty.call(e,R)&&(_[R]=e[R])}return _},A.apply(this,arguments)}function O(_,t){(null==t||t>_.length)&&(t=_.length);for(var e=0,R=new Array(t);e<t;e++)R[e]=_[e];return R}function i(_,t){var e="undefined"!=typeof Symbol&&_[Symbol.iterator]||_["@@iterator"];if(e)return(e=e.call(_)).next.bind(e);if(Array.isArray(_)||(e=function(_,t){if(_){if("string"==typeof _)return O(_,t);var e=Object.prototype.toString.call(_).slice(8,-1);return"Object"===e&&_.constructor&&(e=_.constructor.name),"Map"===e||"Set"===e?Array.from(_):"Arguments"===e||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(e)?O(_,t):void 0}}(_))||t&&_&&"number"==typeof _.length){e&&(_=e);var R=0;return function(){return R>=_.length?{done:!0}:{done:!1,value:_[R++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function T(_){return"undefined"!=typeof TextEncoder?(new TextEncoder).encode(_):Buffer.from(_)}function K(_){return"undefined"!=typeof TextDecoder?(new TextDecoder).decode(_):Buffer.from(_).toString("utf8")}function r(_){for(var t,e=0,R=i(_);!(t=R()).done;)e+=t.value.byteLength;for(var n,A=new Uint8Array(e),O=0,T=i(_);!(n=T()).done;){var K=n.value;A.set(new Uint8Array(K),O),O+=K.byteLength}return A}var a={keepWriter:!1};_.KDF_DF_MODEL_UASTC=166,_.KHR_DF_CHANNEL_RGBSDA_ALPHA=15,_.KHR_DF_CHANNEL_RGBSDA_BLUE=2,_.KHR_DF_CHANNEL_RGBSDA_DEPTH=14,_.KHR_DF_CHANNEL_RGBSDA_GREEN=1,_.KHR_DF_CHANNEL_RGBSDA_RED=0,_.KHR_DF_CHANNEL_RGBSDA_STENCIL=13,_.KHR_DF_FLAG_ALPHA_PREMULTIPLIED=1,_.KHR_DF_FLAG_ALPHA_STRAIGHT=0,_.KHR_DF_KHR_DESCRIPTORTYPE_BASICFORMAT=0,_.KHR_DF_MODEL_ASTC=162,_.KHR_DF_MODEL_ETC1=160,_.KHR_DF_MODEL_ETC1S=163,_.KHR_DF_MODEL_ETC2=161,_.KHR_DF_MODEL_RGBSDA=1,_.KHR_DF_MODEL_UNSPECIFIED=0,_.KHR_DF_PRIMARIES_ACES=6,_.KHR_DF_PRIMARIES_ACESCC=7,_.KHR_DF_PRIMARIES_ADOBERGB=11,_.KHR_DF_PRIMARIES_BT2020=4,_.KHR_DF_PRIMARIES_BT601_EBU=2,_.KHR_DF_PRIMARIES_BT601_SMPTE=3,_.KHR_DF_PRIMARIES_BT709=1,_.KHR_DF_PRIMARIES_CIEXYZ=5,_.KHR_DF_PRIMARIES_DISPLAYP3=10,_.KHR_DF_PRIMARIES_NTSC1953=8,_.KHR_DF_PRIMARIES_PAL525=9,_.KHR_DF_PRIMARIES_UNSPECIFIED=0,_.KHR_DF_SAMPLE_DATATYPE_EXPONENT=32,_.KHR_DF_SAMPLE_DATATYPE_FLOAT=128,_.KHR_DF_SAMPLE_DATATYPE_LINEAR=16,_.KHR_DF_SAMPLE_DATATYPE_SIGNED=64,_.KHR_DF_TRANSFER_ACESCC=16,_.KHR_DF_TRANSFER_ACESCCT=17,_.KHR_DF_TRANSFER_ADOBERGB=18,_.KHR_DF_TRANSFER_BT1886=7,_.KHR_DF_TRANSFER_DCIP3=12,_.KHR_DF_TRANSFER_HLG_EOTF=9,_.KHR_DF_TRANSFER_HLG_OETF=8,_.KHR_DF_TRANSFER_ITU=3,_.KHR_DF_TRANSFER_LINEAR=1,_.KHR_DF_TRANSFER_NTSC=4,_.KHR_DF_TRANSFER_PAL625_EOTF=14,_.KHR_DF_TRANSFER_PAL_OETF=13,_.KHR_DF_TRANSFER_PQ_EOTF=10,_.KHR_DF_TRANSFER_PQ_OETF=11,_.KHR_DF_TRANSFER_SLOG=5,_.KHR_DF_TRANSFER_SLOG2=6,_.KHR_DF_TRANSFER_SRGB=2,_.KHR_DF_TRANSFER_ST240=15,_.KHR_DF_TRANSFER_UNSPECIFIED=0,_.KHR_DF_VENDORID_KHRONOS=0,_.KHR_DF_VERSION=2,_.KHR_SUPERCOMPRESSION_BASISLZ=1,_.KHR_SUPERCOMPRESSION_NONE=0,_.KHR_SUPERCOMPRESSION_ZLIB=3,_.KHR_SUPERCOMPRESSION_ZSTD=2,_.KTX2Container=t,_.VK_FORMAT_A1R5G5B5_UNORM_PACK16=8,_.VK_FORMAT_A2B10G10R10_SINT_PACK32=69,_.VK_FORMAT_A2B10G10R10_SNORM_PACK32=65,_.VK_FORMAT_A2B10G10R10_UINT_PACK32=68,_.VK_FORMAT_A2B10G10R10_UNORM_PACK32=64,_.VK_FORMAT_A2R10G10B10_SINT_PACK32=63,_.VK_FORMAT_A2R10G10B10_SNORM_PACK32=59,_.VK_FORMAT_A2R10G10B10_UINT_PACK32=62,_.VK_FORMAT_A2R10G10B10_UNORM_PACK32=58,_.VK_FORMAT_A4B4G4R4_UNORM_PACK16_EXT=1000340001,_.VK_FORMAT_A4R4G4B4_UNORM_PACK16_EXT=100034e4,_.VK_FORMAT_ASTC_10x10_SFLOAT_BLOCK_EXT=1000066011,_.VK_FORMAT_ASTC_10x10_SRGB_BLOCK=180,_.VK_FORMAT_ASTC_10x10_UNORM_BLOCK=179,_.VK_FORMAT_ASTC_10x5_SFLOAT_BLOCK_EXT=1000066008,_.VK_FORMAT_ASTC_10x5_SRGB_BLOCK=174,_.VK_FORMAT_ASTC_10x5_UNORM_BLOCK=173,_.VK_FORMAT_ASTC_10x6_SFLOAT_BLOCK_EXT=1000066009,_.VK_FORMAT_ASTC_10x6_SRGB_BLOCK=176,_.VK_FORMAT_ASTC_10x6_UNORM_BLOCK=175,_.VK_FORMAT_ASTC_10x8_SFLOAT_BLOCK_EXT=1000066010,_.VK_FORMAT_ASTC_10x8_SRGB_BLOCK=178,_.VK_FORMAT_ASTC_10x8_UNORM_BLOCK=177,_.VK_FORMAT_ASTC_12x10_SFLOAT_BLOCK_EXT=1000066012,_.VK_FORMAT_ASTC_12x10_SRGB_BLOCK=182,_.VK_FORMAT_ASTC_12x10_UNORM_BLOCK=181,_.VK_FORMAT_ASTC_12x12_SFLOAT_BLOCK_EXT=1000066013,_.VK_FORMAT_ASTC_12x12_SRGB_BLOCK=184,_.VK_FORMAT_ASTC_12x12_UNORM_BLOCK=183,_.VK_FORMAT_ASTC_4x4_SFLOAT_BLOCK_EXT=1000066e3,_.VK_FORMAT_ASTC_4x4_SRGB_BLOCK=158,_.VK_FORMAT_ASTC_4x4_UNORM_BLOCK=157,_.VK_FORMAT_ASTC_5x4_SFLOAT_BLOCK_EXT=1000066001,_.VK_FORMAT_ASTC_5x4_SRGB_BLOCK=160,_.VK_FORMAT_ASTC_5x4_UNORM_BLOCK=159,_.VK_FORMAT_ASTC_5x5_SFLOAT_BLOCK_EXT=1000066002,_.VK_FORMAT_ASTC_5x5_SRGB_BLOCK=162,_.VK_FORMAT_ASTC_5x5_UNORM_BLOCK=161,_.VK_FORMAT_ASTC_6x5_SFLOAT_BLOCK_EXT=1000066003,_.VK_FORMAT_ASTC_6x5_SRGB_BLOCK=164,_.VK_FORMAT_ASTC_6x5_UNORM_BLOCK=163,_.VK_FORMAT_ASTC_6x6_SFLOAT_BLOCK_EXT=1000066004,_.VK_FORMAT_ASTC_6x6_SRGB_BLOCK=166,_.VK_FORMAT_ASTC_6x6_UNORM_BLOCK=165,_.VK_FORMAT_ASTC_8x5_SFLOAT_BLOCK_EXT=1000066005,_.VK_FORMAT_ASTC_8x5_SRGB_BLOCK=168,_.VK_FORMAT_ASTC_8x5_UNORM_BLOCK=167,_.VK_FORMAT_ASTC_8x6_SFLOAT_BLOCK_EXT=1000066006,_.VK_FORMAT_ASTC_8x6_SRGB_BLOCK=170,_.VK_FORMAT_ASTC_8x6_UNORM_BLOCK=169,_.VK_FORMAT_ASTC_8x8_SFLOAT_BLOCK_EXT=1000066007,_.VK_FORMAT_ASTC_8x8_SRGB_BLOCK=172,_.VK_FORMAT_ASTC_8x8_UNORM_BLOCK=171,_.VK_FORMAT_B10G11R11_UFLOAT_PACK32=122,_.VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16=1000156011,_.VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16=1000156021,_.VK_FORMAT_B4G4R4A4_UNORM_PACK16=3,_.VK_FORMAT_B5G5R5A1_UNORM_PACK16=7,_.VK_FORMAT_B5G6R5_UNORM_PACK16=5,_.VK_FORMAT_B8G8R8A8_SINT=49,_.VK_FORMAT_B8G8R8A8_SNORM=45,_.VK_FORMAT_B8G8R8A8_SRGB=50,_.VK_FORMAT_B8G8R8A8_UINT=48,_.VK_FORMAT_B8G8R8A8_UNORM=44,_.VK_FORMAT_B8G8R8_SINT=35,_.VK_FORMAT_B8G8R8_SNORM=31,_.VK_FORMAT_B8G8R8_SRGB=36,_.VK_FORMAT_B8G8R8_UINT=34,_.VK_FORMAT_B8G8R8_UNORM=30,_.VK_FORMAT_BC1_RGBA_SRGB_BLOCK=134,_.VK_FORMAT_BC1_RGBA_UNORM_BLOCK=133,_.VK_FORMAT_BC1_RGB_SRGB_BLOCK=132,_.VK_FORMAT_BC1_RGB_UNORM_BLOCK=131,_.VK_FORMAT_BC2_SRGB_BLOCK=136,_.VK_FORMAT_BC2_UNORM_BLOCK=135,_.VK_FORMAT_BC3_SRGB_BLOCK=138,_.VK_FORMAT_BC3_UNORM_BLOCK=137,_.VK_FORMAT_BC4_SNORM_BLOCK=140,_.VK_FORMAT_BC4_UNORM_BLOCK=139,_.VK_FORMAT_BC5_SNORM_BLOCK=142,_.VK_FORMAT_BC5_UNORM_BLOCK=141,_.VK_FORMAT_BC6H_SFLOAT_BLOCK=144,_.VK_FORMAT_BC6H_UFLOAT_BLOCK=143,_.VK_FORMAT_BC7_SRGB_BLOCK=146,_.VK_FORMAT_BC7_UNORM_BLOCK=145,_.VK_FORMAT_D16_UNORM=124,_.VK_FORMAT_D16_UNORM_S8_UINT=128,_.VK_FORMAT_D24_UNORM_S8_UINT=129,_.VK_FORMAT_D32_SFLOAT=126,_.VK_FORMAT_D32_SFLOAT_S8_UINT=130,_.VK_FORMAT_E5B9G9R9_UFLOAT_PACK32=123,_.VK_FORMAT_EAC_R11G11_SNORM_BLOCK=156,_.VK_FORMAT_EAC_R11G11_UNORM_BLOCK=155,_.VK_FORMAT_EAC_R11_SNORM_BLOCK=154,_.VK_FORMAT_EAC_R11_UNORM_BLOCK=153,_.VK_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK=150,_.VK_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK=149,_.VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK=152,_.VK_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK=151,_.VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK=148,_.VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK=147,_.VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16=1000156010,_.VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16=1000156020,_.VK_FORMAT_PVRTC1_2BPP_SRGB_BLOCK_IMG=1000054004,_.VK_FORMAT_PVRTC1_2BPP_UNORM_BLOCK_IMG=1000054e3,_.VK_FORMAT_PVRTC1_4BPP_SRGB_BLOCK_IMG=1000054005,_.VK_FORMAT_PVRTC1_4BPP_UNORM_BLOCK_IMG=1000054001,_.VK_FORMAT_PVRTC2_2BPP_SRGB_BLOCK_IMG=1000054006,_.VK_FORMAT_PVRTC2_2BPP_UNORM_BLOCK_IMG=1000054002,_.VK_FORMAT_PVRTC2_4BPP_SRGB_BLOCK_IMG=1000054007,_.VK_FORMAT_PVRTC2_4BPP_UNORM_BLOCK_IMG=1000054003,_.VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16=1000156009,_.VK_FORMAT_R10X6G10X6_UNORM_2PACK16=1000156008,_.VK_FORMAT_R10X6_UNORM_PACK16=1000156007,_.VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16=1000156019,_.VK_FORMAT_R12X4G12X4_UNORM_2PACK16=1000156018,_.VK_FORMAT_R12X4_UNORM_PACK16=1000156017,_.VK_FORMAT_R16G16B16A16_SFLOAT=97,_.VK_FORMAT_R16G16B16A16_SINT=96,_.VK_FORMAT_R16G16B16A16_SNORM=92,_.VK_FORMAT_R16G16B16A16_UINT=95,_.VK_FORMAT_R16G16B16A16_UNORM=91,_.VK_FORMAT_R16G16B16_SFLOAT=90,_.VK_FORMAT_R16G16B16_SINT=89,_.VK_FORMAT_R16G16B16_SNORM=85,_.VK_FORMAT_R16G16B16_UINT=88,_.VK_FORMAT_R16G16B16_UNORM=84,_.VK_FORMAT_R16G16_SFLOAT=83,_.VK_FORMAT_R16G16_SINT=82,_.VK_FORMAT_R16G16_SNORM=78,_.VK_FORMAT_R16G16_UINT=81,_.VK_FORMAT_R16G16_UNORM=77,_.VK_FORMAT_R16_SFLOAT=76,_.VK_FORMAT_R16_SINT=75,_.VK_FORMAT_R16_SNORM=71,_.VK_FORMAT_R16_UINT=74,_.VK_FORMAT_R16_UNORM=70,_.VK_FORMAT_R32G32B32A32_SFLOAT=109,_.VK_FORMAT_R32G32B32A32_SINT=108,_.VK_FORMAT_R32G32B32A32_UINT=107,_.VK_FORMAT_R32G32B32_SFLOAT=106,_.VK_FORMAT_R32G32B32_SINT=105,_.VK_FORMAT_R32G32B32_UINT=104,_.VK_FORMAT_R32G32_SFLOAT=103,_.VK_FORMAT_R32G32_SINT=102,_.VK_FORMAT_R32G32_UINT=101,_.VK_FORMAT_R32_SFLOAT=100,_.VK_FORMAT_R32_SINT=99,_.VK_FORMAT_R32_UINT=98,_.VK_FORMAT_R4G4B4A4_UNORM_PACK16=2,_.VK_FORMAT_R4G4_UNORM_PACK8=1,_.VK_FORMAT_R5G5B5A1_UNORM_PACK16=6,_.VK_FORMAT_R5G6B5_UNORM_PACK16=4,_.VK_FORMAT_R64G64B64A64_SFLOAT=121,_.VK_FORMAT_R64G64B64A64_SINT=120,_.VK_FORMAT_R64G64B64A64_UINT=119,_.VK_FORMAT_R64G64B64_SFLOAT=118,_.VK_FORMAT_R64G64B64_SINT=117,_.VK_FORMAT_R64G64B64_UINT=116,_.VK_FORMAT_R64G64_SFLOAT=115,_.VK_FORMAT_R64G64_SINT=114,_.VK_FORMAT_R64G64_UINT=113,_.VK_FORMAT_R64_SFLOAT=112,_.VK_FORMAT_R64_SINT=111,_.VK_FORMAT_R64_UINT=110,_.VK_FORMAT_R8G8B8A8_SINT=42,_.VK_FORMAT_R8G8B8A8_SNORM=38,_.VK_FORMAT_R8G8B8A8_SRGB=43,_.VK_FORMAT_R8G8B8A8_UINT=41,_.VK_FORMAT_R8G8B8A8_UNORM=37,_.VK_FORMAT_R8G8B8_SINT=28,_.VK_FORMAT_R8G8B8_SNORM=24,_.VK_FORMAT_R8G8B8_SRGB=29,_.VK_FORMAT_R8G8B8_UINT=27,_.VK_FORMAT_R8G8B8_UNORM=23,_.VK_FORMAT_R8G8_SINT=21,_.VK_FORMAT_R8G8_SNORM=17,_.VK_FORMAT_R8G8_SRGB=22,_.VK_FORMAT_R8G8_UINT=20,_.VK_FORMAT_R8G8_UNORM=16,_.VK_FORMAT_R8_SINT=14,_.VK_FORMAT_R8_SNORM=10,_.VK_FORMAT_R8_SRGB=15,_.VK_FORMAT_R8_UINT=13,_.VK_FORMAT_R8_UNORM=9,_.VK_FORMAT_S8_UINT=127,_.VK_FORMAT_UNDEFINED=0,_.VK_FORMAT_X8_D24_UNORM_PACK32=125,_.read=function(_){var R=new Uint8Array(_.buffer,_.byteOffset,n.length);if(R[0]!==n[0]||R[1]!==n[1]||R[2]!==n[2]||R[3]!==n[3]||R[4]!==n[4]||R[5]!==n[5]||R[6]!==n[6]||R[7]!==n[7]||R[8]!==n[8]||R[9]!==n[9]||R[10]!==n[10]||R[11]!==n[11])throw new Error("Missing KTX 2.0 identifier.");var A=new t,O=17*Uint32Array.BYTES_PER_ELEMENT,i=new e(_,n.length,O,!0);A.vkFormat=i._nextUint32(),A.typeSize=i._nextUint32(),A.pixelWidth=i._nextUint32(),A.pixelHeight=i._nextUint32(),A.pixelDepth=i._nextUint32(),A.layerCount=i._nextUint32(),A.faceCount=i._nextUint32();var T=i._nextUint32();A.supercompressionScheme=i._nextUint32();for(var r=i._nextUint32(),a=i._nextUint32(),F=i._nextUint32(),M=i._nextUint32(),s=i._nextUint64(),B=i._nextUint64(),o=new e(_,n.length+O,3*T*8,!0),S=0;S<T;S++)A.levels.push({levelData:new Uint8Array(_.buffer,_.byteOffset+o._nextUint64(),o._nextUint64()),uncompressedByteLength:o._nextUint64()});for(var U=new e(_,r,a,!0),C={vendorId:U._skip(4)._nextUint16(),descriptorType:U._nextUint16(),versionNumber:U._nextUint16(),descriptorBlockSize:U._nextUint16(),colorModel:U._nextUint8(),colorPrimaries:U._nextUint8(),transferFunction:U._nextUint8(),flags:U._nextUint8(),texelBlockDimension:[U._nextUint8(),U._nextUint8(),U._nextUint8(),U._nextUint8()],bytesPlane:[U._nextUint8(),U._nextUint8(),U._nextUint8(),U._nextUint8(),U._nextUint8(),U._nextUint8(),U._nextUint8(),U._nextUint8()],samples:[]},l=(C.descriptorBlockSize/4-6)/4,V=0;V<l;V++){var f={bitOffset:U._nextUint16(),bitLength:U._nextUint8(),channelType:U._nextUint8(),samplePosition:[U._nextUint8(),U._nextUint8(),U._nextUint8(),U._nextUint8()],sampleLower:-Infinity,sampleUpper:Infinity};64&f.channelType?(f.sampleLower=U._nextInt32(),f.sampleUpper=U._nextInt32()):(f.sampleLower=U._nextUint32(),f.sampleUpper=U._nextUint32()),C.samples[V]=f}A.dataFormatDescriptor.length=0,A.dataFormatDescriptor.push(C);for(var N=new e(_,F,M,!0);N._offset<M;){var L=N._nextUint32(),G=N._scan(L),D=K(G),E=N._scan(L-G.byteLength);A.keyValue[D]=D.match(/^ktx/i)?K(E):E,N._offset%4&&N._skip(4-N._offset%4)}if(B<=0)return A;for(var h=new e(_,s,B,!0),x=h._nextUint16(),p=h._nextUint16(),I=h._nextUint32(),c=h._nextUint32(),P=h._nextUint32(),y=h._nextUint32(),u=[],g=0;g<T;g++)u.push({imageFlags:h._nextUint32(),rgbSliceByteOffset:h._nextUint32(),rgbSliceByteLength:h._nextUint32(),alphaSliceByteOffset:h._nextUint32(),alphaSliceByteLength:h._nextUint32()});var d=s+h._offset,b=d+I,m=b+c,v=m+P,H=new Uint8Array(_.buffer,_.byteOffset+d,I),w=new Uint8Array(_.buffer,_.byteOffset+b,c),X=new Uint8Array(_.buffer,_.byteOffset+m,P),k=new Uint8Array(_.buffer,_.byteOffset+v,y);return A.globalData={endpointCount:x,selectorCount:p,imageDescs:u,endpointsData:H,selectorsData:w,tablesData:X,extendedData:k},A},_.write=function(_,t){void 0===t&&(t={}),t=A({},a,t);var e=new ArrayBuffer(0);if(_.globalData){var O=new ArrayBuffer(20+5*_.globalData.imageDescs.length*4),i=new DataView(O);i.setUint16(0,_.globalData.endpointCount,!0),i.setUint16(2,_.globalData.selectorCount,!0),i.setUint32(4,_.globalData.endpointsData.byteLength,!0),i.setUint32(8,_.globalData.selectorsData.byteLength,!0),i.setUint32(12,_.globalData.tablesData.byteLength,!0),i.setUint32(16,_.globalData.extendedData.byteLength,!0);for(var K=0;K<_.globalData.imageDescs.length;K++){var F=_.globalData.imageDescs[K];i.setUint32(20+5*K*4+0,F.imageFlags,!0),i.setUint32(20+5*K*4+4,F.rgbSliceByteOffset,!0),i.setUint32(20+5*K*4+8,F.rgbSliceByteLength,!0),i.setUint32(20+5*K*4+12,F.alphaSliceByteOffset,!0),i.setUint32(20+5*K*4+16,F.alphaSliceByteLength,!0)}e=r([O,_.globalData.endpointsData,_.globalData.selectorsData,_.globalData.tablesData,_.globalData.extendedData])}var M=[],s=_.keyValue;for(var B in t.keepWriter||(s=A({},_.keyValue,{KTXwriter:"KTX-Parse v0.3.3"})),s){var o=s[B],S=T(B),U="string"==typeof o?T(o):o,C=S.byteLength+1+U.byteLength+1,l=C%4?4-C%4:0;M.push(r([new Uint32Array([C]),S,R,U,R,new Uint8Array(l).fill(0)]))}var V=r(M);if(1!==_.dataFormatDescriptor.length||0!==_.dataFormatDescriptor[0].descriptorType)throw new Error("Only BASICFORMAT Data Format Descriptor output supported.");var f=_.dataFormatDescriptor[0],N=new ArrayBuffer(28+16*f.samples.length),L=new DataView(N),G=24+16*f.samples.length;if(L.setUint32(0,N.byteLength,!0),L.setUint16(4,f.vendorId,!0),L.setUint16(6,f.descriptorType,!0),L.setUint16(8,f.versionNumber,!0),L.setUint16(10,G,!0),L.setUint8(12,f.colorModel),L.setUint8(13,f.colorPrimaries),L.setUint8(14,f.transferFunction),L.setUint8(15,f.flags),!Array.isArray(f.texelBlockDimension))throw new Error("texelBlockDimension is now an array. For dimensionality `d`, set `d - 1`.");L.setUint8(16,f.texelBlockDimension[0]),L.setUint8(17,f.texelBlockDimension[1]),L.setUint8(18,f.texelBlockDimension[2]),L.setUint8(19,f.texelBlockDimension[3]);for(var D=0;D<8;D++)L.setUint8(20+D,f.bytesPlane[D]);for(var E=0;E<f.samples.length;E++){var h=f.samples[E],x=28+16*E;if(h.channelID)throw new Error("channelID has been renamed to channelType.");L.setUint16(x+0,h.bitOffset,!0),L.setUint8(x+2,h.bitLength),L.setUint8(x+3,h.channelType),L.setUint8(x+4,h.samplePosition[0]),L.setUint8(x+5,h.samplePosition[1]),L.setUint8(x+6,h.samplePosition[2]),L.setUint8(x+7,h.samplePosition[3]),64&h.channelType?(L.setInt32(x+8,h.sampleLower,!0),L.setInt32(x+12,h.sampleUpper,!0)):(L.setUint32(x+8,h.sampleLower,!0),L.setUint32(x+12,h.sampleUpper,!0))}var p=n.length+68+3*_.levels.length*8,I=p+N.byteLength,c=e.byteLength>0?I+V.byteLength:0;c%8&&(c+=8-c%8);for(var P=[],y=new DataView(new ArrayBuffer(3*_.levels.length*8)),u=(c||I+V.byteLength)+e.byteLength,g=0;g<_.levels.length;g++){var d=_.levels[g];P.push(d.levelData),y.setBigUint64(24*g+0,BigInt(u),!0),y.setBigUint64(24*g+8,BigInt(d.levelData.byteLength),!0),y.setBigUint64(24*g+16,BigInt(d.uncompressedByteLength),!0),u+=d.levelData.byteLength}var b=new ArrayBuffer(68),m=new DataView(b);return m.setUint32(0,_.vkFormat,!0),m.setUint32(4,_.typeSize,!0),m.setUint32(8,_.pixelWidth,!0),m.setUint32(12,_.pixelHeight,!0),m.setUint32(16,_.pixelDepth,!0),m.setUint32(20,_.layerCount,!0),m.setUint32(24,_.faceCount,!0),m.setUint32(28,_.levels.length,!0),m.setUint32(32,_.supercompressionScheme,!0),m.setUint32(36,p,!0),m.setUint32(40,N.byteLength,!0),m.setUint32(44,I,!0),m.setUint32(48,V.byteLength,!0),m.setBigUint64(52,BigInt(e.byteLength>0?c:0),!0),m.setBigUint64(60,BigInt(e.byteLength),!0),new Uint8Array(r([new Uint8Array(n).buffer,b,y.buffer,N,V,c>0?new ArrayBuffer(c-(I+V.byteLength)):new ArrayBuffer(0),e].concat(P)))}});
|
|
@@ -1,36 +1,27 @@
|
|
|
1
1
|
// This file is part of meshoptimizer library and is distributed under the terms of MIT License.
|
|
2
|
-
// Copyright (C) 2016-
|
|
2
|
+
// Copyright (C) 2016-2022, by Arseny Kapoulkine (arseny.kapoulkine@gmail.com)
|
|
3
3
|
var MeshoptDecoder = (function() {
|
|
4
4
|
"use strict";
|
|
5
5
|
|
|
6
|
-
// Built with clang version
|
|
7
|
-
// Built from meshoptimizer 0.
|
|
8
|
-
var wasm_base = "
|
|
9
|
-
var wasm_simd = "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";
|
|
6
|
+
// Built with clang version 14.0.4
|
|
7
|
+
// Built from meshoptimizer 0.18
|
|
8
|
+
var wasm_base = "b9H79Tebbbe8Fv9Gbb9Gvuuuuueu9Giuuub9Geueu9Giuuueuikqbeeedddillviebeoweuec:q;iekr;leDo9TW9T9VV95dbH9F9F939H79T9F9J9H229F9Jt9VV7bb8A9TW79O9V9Wt9F9KW9J9V9KW9wWVtW949c919M9MWVbeY9TW79O9V9Wt9F9KW9J9V9KW69U9KW949c919M9MWVbdE9TW79O9V9Wt9F9KW9J9V9KW69U9KW949tWG91W9U9JWbiL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9p9JtblK9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9r919HtbvL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWVT949Wbol79IV9Rbrq:P8Yqdbk;3sezu8Jjjjjbcj;eb9Rgv8Kjjjjbc9:hodnadcefal0mbcuhoaiRbbc:Ge9hmbavaialfgrad9Radz1jjjbhwcj;abad9UhoaicefhldnadTmbaoc;WFbGgocjdaocjd6EhDcbhqinaqae9pmeaDaeaq9RaqaDfae6Egkcsfgocl4cifcd4hxdndndndnaoc9WGgmTmbcbhPcehsawcjdfhzalhHinaraH9Rax6midnaraHaxfgl9RcK6mbczhoinawcj;cbfaogifgoc9WfhOdndndndndnaHaic9WfgAco4fRbbaAci4coG4ciGPlbedibkaO9cb83ibaOcwf9cb83ibxikaOalRblalRbbgAco4gCaCciSgCE86bbaocGfalclfaCfgORbbaAcl4ciGgCaCciSgCE86bbaocVfaOaCfgORbbaAcd4ciGgCaCciSgCE86bbaoc7faOaCfgORbbaAciGgAaAciSgAE86bbaoctfaOaAfgARbbalRbegOco4gCaCciSgCE86bbaoc91faAaCfgARbbaOcl4ciGgCaCciSgCE86bbaoc4faAaCfgARbbaOcd4ciGgCaCciSgCE86bbaoc93faAaCfgARbbaOciGgOaOciSgOE86bbaoc94faAaOfgARbbalRbdgOco4gCaCciSgCE86bbaoc95faAaCfgARbbaOcl4ciGgCaCciSgCE86bbaoc96faAaCfgARbbaOcd4ciGgCaCciSgCE86bbaoc97faAaCfgARbbaOciGgOaOciSgOE86bbaoc98faAaOfgORbbalRbiglco4gAaAciSgAE86bbaoc99faOaAfgORbbalcl4ciGgAaAciSgAE86bbaoc9:faOaAfgORbbalcd4ciGgAaAciSgAE86bbaocufaOaAfgoRbbalciGglalciSglE86bbaoalfhlxdkaOalRbwalRbbgAcl4gCaCcsSgCE86bbaocGfalcwfaCfgORbbaAcsGgAaAcsSgAE86bbaocVfaOaAfgORbbalRbegAcl4gCaCcsSgCE86bbaoc7faOaCfgORbbaAcsGgAaAcsSgAE86bbaoctfaOaAfgORbbalRbdgAcl4gCaCcsSgCE86bbaoc91faOaCfgORbbaAcsGgAaAcsSgAE86bbaoc4faOaAfgORbbalRbigAcl4gCaCcsSgCE86bbaoc93faOaCfgORbbaAcsGgAaAcsSgAE86bbaoc94faOaAfgORbbalRblgAcl4gCaCcsSgCE86bbaoc95faOaCfgORbbaAcsGgAaAcsSgAE86bbaoc96faOaAfgORbbalRbvgAcl4gCaCcsSgCE86bbaoc97faOaCfgORbbaAcsGgAaAcsSgAE86bbaoc98faOaAfgORbbalRbogAcl4gCaCcsSgCE86bbaoc99faOaCfgORbbaAcsGgAaAcsSgAE86bbaoc9:faOaAfgORbbalRbrglcl4gAaAcsSgAE86bbaocufaOaAfgoRbbalcsGglalcsSglE86bbaoalfhlxekaOal8Pbb83bbaOcwfalcwf8Pbb83bbalczfhlkdnaiam9pmbaiczfhoaral9RcL0mekkaiam6mialTmidnakTmbawaPfRbbhOcbhoazhiinaiawcj;cbfaofRbbgAce4cbaAceG9R7aOfgO86bbaiadfhiaocefgoak9hmbkkazcefhzaPcefgPad6hsalhHaPad9hmexvkkcbhlasceGmdxikalaxad2fhCdnakTmbcbhHcehsawcjdfhminaral9Rax6mialTmdalaxfhlawaHfRbbhOcbhoamhiinaiawcj;cbfaofRbbgAce4cbaAceG9R7aOfgO86bbaiadfhiaocefgoak9hmbkamcefhmaHcefgHad6hsaHad9hmbkaChlxikcbhocehsinaral9Rax6mdalTmealaxfhlaocefgoad6hsadao9hmbkaChlxdkcbhlasceGTmekc9:hoxikabaqad2fawcjdfakad2z1jjjb8Aawawcjdfakcufad2fadz1jjjb8Aakaqfhqalmbkc9:hoxekcbc99aral9Radcaadca0ESEhokavcj;ebf8Kjjjjbaok;yzeHu8Jjjjjbc;ae9Rgv8Kjjjjbc9:hodnaeci9UgrcHfal0mbcuhoaiRbbgwc;WeGc;Ge9hmbawcsGgDce0mbavc;abfcFecjez:jjjjb8AavcUf9cu83ibavc8Wf9cu83ibavcyf9cu83ibavcaf9cu83ibavcKf9cu83ibavczf9cu83ibav9cu83iwav9cu83ibaialfc9WfhqaicefgwarfhodnaeTmbcmcsaDceSEhkcbhxcbhmcbhDcbhicbhlindnaoaq9nmbc9:hoxikdndnawRbbgrc;Ve0mbavc;abfalarcl4cu7fcsGcitfgPydlhsaPydbhzdnarcsGgPak9pmbavaiarcu7fcsGcdtfydbaxaPEhraPThPdndnadcd9hmbabaDcetfgHaz87ebaHcdfas87ebaHclfar87ebxekabaDcdtfgHazBdbaHclfasBdbaHcwfarBdbkaxaPfhxavc;abfalcitfgHarBdbaHasBdlavaicdtfarBdbavc;abfalcefcsGglcitfgHazBdbaHarBdlaiaPfhialcefhlxdkdndnaPcsSmbamaPfaPc987fcefhmxekaocefhrao8SbbgPcFeGhHdndnaPcu9mmbarhoxekaocvfhoaHcFbGhHcrhPdninar8SbbgOcFbGaPtaHVhHaOcu9kmearcefhraPcrfgPc8J9hmbxdkkarcefhokaHce4cbaHceG9R7amfhmkdndnadcd9hmbabaDcetfgraz87ebarcdfas87ebarclfam87ebxekabaDcdtfgrazBdbarclfasBdbarcwfamBdbkavc;abfalcitfgramBdbarasBdlavaicdtfamBdbavc;abfalcefcsGglcitfgrazBdbaramBdlaicefhialcefhlxekdnarcpe0mbaxcefgOavaiaqarcsGfRbbgPcl49RcsGcdtfydbaPcz6gHEhravaiaP9RcsGcdtfydbaOaHfgsaPcsGgOEhPaOThOdndnadcd9hmbabaDcetfgzax87ebazcdfar87ebazclfaP87ebxekabaDcdtfgzaxBdbazclfarBdbazcwfaPBdbkavaicdtfaxBdbavc;abfalcitfgzarBdbazaxBdlavaicefgicsGcdtfarBdbavc;abfalcefcsGcitfgzaPBdbazarBdlavaiaHfcsGgicdtfaPBdbavc;abfalcdfcsGglcitfgraxBdbaraPBdlalcefhlaiaOfhiasaOfhxxekaxcbaoRbbgzEgAarc;:eSgrfhsazcsGhCazcl4hXdndnazcs0mbascefhOxekashOavaiaX9RcsGcdtfydbhskdndnaCmbaOcefhxxekaOhxavaiaz9RcsGcdtfydbhOkdndnarTmbaocefhrxekaocdfhrao8SbegHcFeGhPdnaHcu9kmbaocofhAaPcFbGhPcrhodninar8SbbgHcFbGaotaPVhPaHcu9kmearcefhraocrfgoc8J9hmbkaAhrxekarcefhrkaPce4cbaPceG9R7amfgmhAkdndnaXcsSmbarhPxekarcefhPar8SbbgocFeGhHdnaocu9kmbarcvfhsaHcFbGhHcrhodninaP8SbbgrcFbGaotaHVhHarcu9kmeaPcefhPaocrfgoc8J9hmbkashPxekaPcefhPkaHce4cbaHceG9R7amfgmhskdndnaCcsSmbaPhoxekaPcefhoaP8SbbgrcFeGhHdnarcu9kmbaPcvfhOaHcFbGhHcrhrdninao8SbbgPcFbGartaHVhHaPcu9kmeaocefhoarcrfgrc8J9hmbkaOhoxekaocefhokaHce4cbaHceG9R7amfgmhOkdndnadcd9hmbabaDcetfgraA87ebarcdfas87ebarclfaO87ebxekabaDcdtfgraABdbarclfasBdbarcwfaOBdbkavc;abfalcitfgrasBdbaraABdlavaicdtfaABdbavc;abfalcefcsGcitfgraOBdbarasBdlavaicefgicsGcdtfasBdbavc;abfalcdfcsGcitfgraABdbaraOBdlavaiazcz6aXcsSVfgicsGcdtfaOBdbaiaCTaCcsSVfhialcifhlkawcefhwalcsGhlaicsGhiaDcifgDae6mbkkcbc99aoaqSEhokavc;aef8Kjjjjbaok:llevu8Jjjjjbcz9Rhvc9:hodnaecvfal0mbcuhoaiRbbc;:eGc;qe9hmbav9cb83iwaicefhraialfc98fhwdnaeTmbdnadcdSmbcbhDindnaraw6mbc9:skarcefhoar8SbbglcFeGhidndnalcu9mmbaohrxekarcvfhraicFbGhicrhldninao8SbbgdcFbGaltaiVhiadcu9kmeaocefhoalcrfglc8J9hmbxdkkaocefhrkabaDcdtfaicd4cbaice4ceG9R7avcwfaiceGcdtVgoydbfglBdbaoalBdbaDcefgDae9hmbxdkkcbhDindnaraw6mbc9:skarcefhoar8SbbglcFeGhidndnalcu9mmbaohrxekarcvfhraicFbGhicrhldninao8SbbgdcFbGaltaiVhiadcu9kmeaocefhoalcrfglc8J9hmbxdkkaocefhrkabaDcetfaicd4cbaice4ceG9R7avcwfaiceGcdtVgoydbfgl87ebaoalBdbaDcefgDae9hmbkkcbc99arawSEhokaok:Lvoeue99dud99eud99dndnadcl9hmbaeTmeindndnabcdfgd8Sbb:Yab8Sbbgi:Ygl:l:tabcefgv8Sbbgo:Ygr:l:tgwJbb;:9cawawNJbbbbawawJbbbb9GgDEgq:mgkaqaicb9iEalMgwawNakaqaocb9iEarMgqaqNMM:r:vglNJbbbZJbbb:;aDEMgr:lJbbb9p9DTmbar:Ohixekcjjjj94hikadai86bbdndnaqalNJbbbZJbbb:;aqJbbbb9GEMgq:lJbbb9p9DTmbaq:Ohdxekcjjjj94hdkavad86bbdndnawalNJbbbZJbbb:;awJbbbb9GEMgw:lJbbb9p9DTmbaw:Ohdxekcjjjj94hdkabad86bbabclfhbaecufgembxdkkaeTmbindndnabclfgd8Ueb:Yab8Uebgi:Ygl:l:tabcdfgv8Uebgo:Ygr:l:tgwJb;:FSawawNJbbbbawawJbbbb9GgDEgq:mgkaqaicb9iEalMgwawNakaqaocb9iEarMgqaqNMM:r:vglNJbbbZJbbb:;aDEMgr:lJbbb9p9DTmbar:Ohixekcjjjj94hikadai87ebdndnaqalNJbbbZJbbb:;aqJbbbb9GEMgq:lJbbb9p9DTmbaq:Ohdxekcjjjj94hdkavad87ebdndnawalNJbbbZJbbb:;awJbbbb9GEMgw:lJbbb9p9DTmbaw:Ohdxekcjjjj94hdkabad87ebabcwfhbaecufgembkkk;siliui99iue99dnaeTmbcbhiabhlindndnJ;Zl81Zalcof8UebgvciV:Y:vgoal8Ueb:YNgrJb;:FSNJbbbZJbbb:;arJbbbb9GEMgw:lJbbb9p9DTmbaw:OhDxekcjjjj94hDkalclf8Uebhqalcdf8UebhkabavcefciGaiVcetfaD87ebdndnaoak:YNgwJb;:FSNJbbbZJbbb:;awJbbbb9GEMgx:lJbbb9p9DTmbax:Ohkxekcjjjj94hkkabavcdfciGaiVcetfak87ebdndnaoaq:YNgoJb;:FSNJbbbZJbbb:;aoJbbbb9GEMgx:lJbbb9p9DTmbax:Ohqxekcjjjj94hqkabavcufciGaiVcetfaq87ebdndnJbbjZararN:tawawN:taoaoN:tgrJbbbbarJbbbb9GE:rJb;:FSNJbbbZMgr:lJbbb9p9DTmbar:Ohqxekcjjjj94hqkabavciGaiVcetfaq87ebalcwfhlaiclfhiaecufgembkkk9mbdnadcd4ae2geTmbinababydbgdcwtcw91:Yadce91cjjj;8ifcjjj98G::NUdbabclfhbaecufgembkkk9teiucbcbydj1jjbgeabcifc98GfgbBdj1jjbdndnabZbcztgd9nmbcuhiabad9RcFFifcz4nbcuSmekaehikaik;LeeeudndnaeabVciGTmbabhixekdndnadcz9pmbabhixekabhiinaiaeydbBdbaiclfaeclfydbBdbaicwfaecwfydbBdbaicxfaecxfydbBdbaiczfhiaeczfheadc9Wfgdcs0mbkkadcl6mbinaiaeydbBdbaeclfheaiclfhiadc98fgdci0mbkkdnadTmbinaiaeRbb86bbaicefhiaecefheadcufgdmbkkabk;aeedudndnabciGTmbabhixekaecFeGc:b:c:ew2hldndnadcz9pmbabhixekabhiinaialBdbaicxfalBdbaicwfalBdbaiclfalBdbaiczfhiadc9Wfgdcs0mbkkadcl6mbinaialBdbaiclfhiadc98fgdci0mbkkdnadTmbinaiae86bbaicefhiadcufgdmbkkabkkkebcjwklz9Kbb";
|
|
9
|
+
var wasm_simd = "b9H79TebbbeKl9Gbb9Gvuuuuueu9Giuuub9Geueuikqbbebeedddilve9Weeeviebeoweuec:q;Aekr;leDo9TW9T9VV95dbH9F9F939H79T9F9J9H229F9Jt9VV7bb8A9TW79O9V9Wt9F9KW9J9V9KW9wWVtW949c919M9MWVbdY9TW79O9V9Wt9F9KW9J9V9KW69U9KW949c919M9MWVblE9TW79O9V9Wt9F9KW9J9V9KW69U9KW949tWG91W9U9JWbvL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9p9JtboK9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9r919HtbrL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWVT949Wbwl79IV9RbDq;t9tqlbzik9:evu8Jjjjjbcz9Rhbcbheincbhdcbhiinabcwfadfaicjuaead4ceGglE86bbaialfhiadcefgdcw9hmbkaec:q:yjjbfai86bbaecitc:q1jjbfab8Piw83ibaecefgecjd9hmbkk;h8JlHud97euo978Jjjjjbcj;kb9Rgv8Kjjjjbc9:hodnadcefal0mbcuhoaiRbbc:Ge9hmbavaialfgrad9Rad;8qbbcj;abad9UhoaicefhldnadTmbaoc;WFbGgocjdaocjd6EhwcbhDinaDae9pmeawaeaD9RaDawfae6Egqcsfgoc9WGgkci2hxakcethmaocl4cifcd4hPabaDad2fhscbhzdnincehHalhOcbhAdninaraO9RaP6miavcj;cbfaAak2fhCaOaPfhlcbhidnakc;ab6mbaral9Rc;Gb6mbcbhoinaCaofhidndndndndnaOaoco4fRbbgXciGPlbedibkaipxbbbbbbbbbbbbbbbbpklbxikaialpbblalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLgQcdp:meaQpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9ogLpxiiiiiiiiiiiiiiiip8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklbalclfaYpQbfaKc:q:yjjbfRbbfhlxdkaialpbbwalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9ogLpxssssssssssssssssp8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklbalcwfaYpQbfaKc:q:yjjbfRbbfhlxekaialpbbbpklbalczfhlkdndndndndnaXcd4ciGPlbedibkaipxbbbbbbbbbbbbbbbbpklzxikaialpbblalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLgQcdp:meaQpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9ogLpxiiiiiiiiiiiiiiiip8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklzalclfaYpQbfaKc:q:yjjbfRbbfhlxdkaialpbbwalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9ogLpxssssssssssssssssp8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklzalcwfaYpQbfaKc:q:yjjbfRbbfhlxekaialpbbbpklzalczfhlkdndndndndnaXcl4ciGPlbedibkaipxbbbbbbbbbbbbbbbbpklaxikaialpbblalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLgQcdp:meaQpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9ogLpxiiiiiiiiiiiiiiiip8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklaalclfaYpQbfaKc:q:yjjbfRbbfhlxdkaialpbbwalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9ogLpxssssssssssssssssp8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklaalcwfaYpQbfaKc:q:yjjbfRbbfhlxekaialpbbbpklaalczfhlkdndndndndnaXco4Plbedibkaipxbbbbbbbbbbbbbbbbpkl8WxikaialpbblalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLgQcdp:meaQpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9ogLpxiiiiiiiiiiiiiiiip8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgXcitc:q1jjbfpbibaXc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgXcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spkl8WalclfaYpQbfaXc:q:yjjbfRbbfhlxdkaialpbbwalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9ogLpxssssssssssssssssp8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgXcitc:q1jjbfpbibaXc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgXcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spkl8WalcwfaYpQbfaXc:q:yjjbfRbbfhlxekaialpbbbpkl8Walczfhlkaoc;abfhiaocjefak0meaihoaral9Rc;Fb0mbkkdndnaiak9pmbaici4hoinaral9RcK6mdaCaifhXdndndndndnaOaico4fRbbaocoG4ciGPlbedibkaXpxbbbbbbbbbbbbbbbbpklbxikaXalpbblalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLgQcdp:meaQpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9ogLpxiiiiiiiiiiiiiiiip8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklbalclfaYpQbfaKc:q:yjjbfRbbfhlxdkaXalpbbwalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9ogLpxssssssssssssssssp8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklbalcwfaYpQbfaKc:q:yjjbfRbbfhlxekaXalpbbbpklbalczfhlkaocdfhoaiczfgiak6mbkkalTmbaAci6hHalhOaAcefgohAaoclSmdxekkcbhlaHceGmdkdnakTmbavcjdfazfhiavazfpbdbhYcbhXinaiavcj;cbfaXfgopblbgLcep9TaLpxeeeeeeeeeeeeeeeegQp9op9Hp9rgLaoakfpblbg8Acep9Ta8AaQp9op9Hp9rg8ApmbzeHdOiAlCvXoQrLgEaoamfpblbg3cep9Ta3aQp9op9Hp9rg3aoaxfpblbg5cep9Ta5aQp9op9Hp9rg5pmbzeHdOiAlCvXoQrLg8EpmbezHdiOAlvCXorQLgQaQpmbedibedibedibediaYp9UgYp9AdbbaiadfgoaYaQaQpmlvorlvorlvorlvorp9UgYp9AdbbaoadfgoaYaQaQpmwDqkwDqkwDqkwDqkp9UgYp9AdbbaoadfgoaYaQaQpmxmPsxmPsxmPsxmPsp9UgYp9AdbbaoadfgoaYaEa8EpmwDKYqk8AExm35Ps8E8FgQaQpmbedibedibedibedip9UgYp9AdbbaoadfgoaYaQaQpmlvorlvorlvorlvorp9UgYp9AdbbaoadfgoaYaQaQpmwDqkwDqkwDqkwDqkp9UgYp9AdbbaoadfgoaYaQaQpmxmPsxmPsxmPsxmPsp9UgYp9AdbbaoadfgoaYaLa8ApmwKDYq8AkEx3m5P8Es8FgLa3a5pmwKDYq8AkEx3m5P8Es8Fg8ApmbezHdiOAlvCXorQLgQaQpmbedibedibedibedip9UgYp9AdbbaoadfgoaYaQaQpmlvorlvorlvorlvorp9UgYp9AdbbaoadfgoaYaQaQpmwDqkwDqkwDqkwDqkp9UgYp9AdbbaoadfgoaYaQaQpmxmPsxmPsxmPsxmPsp9UgYp9AdbbaoadfgoaYaLa8ApmwDKYqk8AExm35Ps8E8FgQaQpmbedibedibedibedip9UgYp9AdbbaoadfgoaYaQaQpmlvorlvorlvorlvorp9UgYp9AdbbaoadfgoaYaQaQpmwDqkwDqkwDqkwDqkp9UgYp9AdbbaoadfgoaYaQaQpmxmPsxmPsxmPsxmPsp9UgYp9AdbbaoadfhiaXczfgXak6mbkkazclfgzad6mbkasavcjdfaqad2;8qbbavavcjdfaqcufad2fad;8qbbaqaDfhDc9:hoalmexikkc9:hoxekcbc99aral9Radcaadca0ESEhokavcj;kbf8Kjjjjbaokwbz:bjjjbk;uzeHu8Jjjjjbc;ae9Rgv8Kjjjjbc9:hodnaeci9UgrcHfal0mbcuhoaiRbbgwc;WeGc;Ge9hmbawcsGgDce0mbavc;abfcFecje;8kbavcUf9cu83ibavc8Wf9cu83ibavcyf9cu83ibavcaf9cu83ibavcKf9cu83ibavczf9cu83ibav9cu83iwav9cu83ibaialfc9WfhqaicefgwarfhodnaeTmbcmcsaDceSEhkcbhxcbhmcbhDcbhicbhlindnaoaq9nmbc9:hoxikdndnawRbbgrc;Ve0mbavc;abfalarcl4cu7fcsGcitfgPydlhsaPydbhzdnarcsGgPak9pmbavaiarcu7fcsGcdtfydbaxaPEhraPThPdndnadcd9hmbabaDcetfgHaz87ebaHcdfas87ebaHclfar87ebxekabaDcdtfgHazBdbaHclfasBdbaHcwfarBdbkaxaPfhxavc;abfalcitfgHarBdbaHasBdlavaicdtfarBdbavc;abfalcefcsGglcitfgHazBdbaHarBdlaiaPfhialcefhlxdkdndnaPcsSmbamaPfaPc987fcefhmxekaocefhrao8SbbgPcFeGhHdndnaPcu9mmbarhoxekaocvfhoaHcFbGhHcrhPdninar8SbbgOcFbGaPtaHVhHaOcu9kmearcefhraPcrfgPc8J9hmbxdkkarcefhokaHce4cbaHceG9R7amfhmkdndnadcd9hmbabaDcetfgraz87ebarcdfas87ebarclfam87ebxekabaDcdtfgrazBdbarclfasBdbarcwfamBdbkavc;abfalcitfgramBdbarasBdlavaicdtfamBdbavc;abfalcefcsGglcitfgrazBdbaramBdlaicefhialcefhlxekdnarcpe0mbaxcefgOavaiaqarcsGfRbbgPcl49RcsGcdtfydbaPcz6gHEhravaiaP9RcsGcdtfydbaOaHfgsaPcsGgOEhPaOThOdndnadcd9hmbabaDcetfgzax87ebazcdfar87ebazclfaP87ebxekabaDcdtfgzaxBdbazclfarBdbazcwfaPBdbkavaicdtfaxBdbavc;abfalcitfgzarBdbazaxBdlavaicefgicsGcdtfarBdbavc;abfalcefcsGcitfgzaPBdbazarBdlavaiaHfcsGgicdtfaPBdbavc;abfalcdfcsGglcitfgraxBdbaraPBdlalcefhlaiaOfhiasaOfhxxekaxcbaoRbbgzEgAarc;:eSgrfhsazcsGhCazcl4hXdndnazcs0mbascefhOxekashOavaiaX9RcsGcdtfydbhskdndnaCmbaOcefhxxekaOhxavaiaz9RcsGcdtfydbhOkdndnarTmbaocefhrxekaocdfhrao8SbegHcFeGhPdnaHcu9kmbaocofhAaPcFbGhPcrhodninar8SbbgHcFbGaotaPVhPaHcu9kmearcefhraocrfgoc8J9hmbkaAhrxekarcefhrkaPce4cbaPceG9R7amfgmhAkdndnaXcsSmbarhPxekarcefhPar8SbbgocFeGhHdnaocu9kmbarcvfhsaHcFbGhHcrhodninaP8SbbgrcFbGaotaHVhHarcu9kmeaPcefhPaocrfgoc8J9hmbkashPxekaPcefhPkaHce4cbaHceG9R7amfgmhskdndnaCcsSmbaPhoxekaPcefhoaP8SbbgrcFeGhHdnarcu9kmbaPcvfhOaHcFbGhHcrhrdninao8SbbgPcFbGartaHVhHaPcu9kmeaocefhoarcrfgrc8J9hmbkaOhoxekaocefhokaHce4cbaHceG9R7amfgmhOkdndnadcd9hmbabaDcetfgraA87ebarcdfas87ebarclfaO87ebxekabaDcdtfgraABdbarclfasBdbarcwfaOBdbkavc;abfalcitfgrasBdbaraABdlavaicdtfaABdbavc;abfalcefcsGcitfgraOBdbarasBdlavaicefgicsGcdtfasBdbavc;abfalcdfcsGcitfgraABdbaraOBdlavaiazcz6aXcsSVfgicsGcdtfaOBdbaiaCTaCcsSVfhialcifhlkawcefhwalcsGhlaicsGhiaDcifgDae6mbkkcbc99aoaqSEhokavc;aef8Kjjjjbaok:llevu8Jjjjjbcz9Rhvc9:hodnaecvfal0mbcuhoaiRbbc;:eGc;qe9hmbav9cb83iwaicefhraialfc98fhwdnaeTmbdnadcdSmbcbhDindnaraw6mbc9:skarcefhoar8SbbglcFeGhidndnalcu9mmbaohrxekarcvfhraicFbGhicrhldninao8SbbgdcFbGaltaiVhiadcu9kmeaocefhoalcrfglc8J9hmbxdkkaocefhrkabaDcdtfaicd4cbaice4ceG9R7avcwfaiceGcdtVgoydbfglBdbaoalBdbaDcefgDae9hmbxdkkcbhDindnaraw6mbc9:skarcefhoar8SbbglcFeGhidndnalcu9mmbaohrxekarcvfhraicFbGhicrhldninao8SbbgdcFbGaltaiVhiadcu9kmeaocefhoalcrfglc8J9hmbxdkkaocefhrkabaDcetfaicd4cbaice4ceG9R7avcwfaiceGcdtVgoydbfgl87ebaoalBdbaDcefgDae9hmbkkcbc99arawSEhokaok:EPliuo97eue978Jjjjjbca9Rhidndnadcl9hmbdnaec98GglTmbcbhvabhdinadadpbbbgocKp:RecKp:Sep;6egraocwp:RecKp:Sep;6earp;Geaoczp:RecKp:Sep;6egwp;Gep;Kep;LegDpxbbbbbbbbbbbbbbbbp:2egqarpxbbbjbbbjbbbjbbbjgkp9op9rp;Kegrpxbb;:9cbb;:9cbb;:9cbb;:9cararp;MeaDaDp;Meawaqawakp9op9rp;Kegrarp;Mep;Kep;Kep;Jep;Negwp;Mepxbbn0bbn0bbn0bbn0gqp;KepxFbbbFbbbFbbbFbbbp9oaopxbbbFbbbFbbbFbbbFp9op9qarawp;Meaqp;Kecwp:RepxbFbbbFbbbFbbbFbbp9op9qaDawp;Meaqp;Keczp:RepxbbFbbbFbbbFbbbFbp9op9qpkbbadczfhdavclfgval6mbkkalae9pmeaiaeciGgvcdtgdVcbczad9R;8kbaiabalcdtfglad;8qbbdnavTmbaiaipblbgocKp:RecKp:Sep;6egraocwp:RecKp:Sep;6earp;Geaoczp:RecKp:Sep;6egwp;Gep;Kep;LegDpxbbbbbbbbbbbbbbbbp:2egqarpxbbbjbbbjbbbjbbbjgkp9op9rp;Kegrpxbb;:9cbb;:9cbb;:9cbb;:9cararp;MeaDaDp;Meawaqawakp9op9rp;Kegrarp;Mep;Kep;Kep;Jep;Negwp;Mepxbbn0bbn0bbn0bbn0gqp;KepxFbbbFbbbFbbbFbbbp9oaopxbbbFbbbFbbbFbbbFp9op9qarawp;Meaqp;Kecwp:RepxbFbbbFbbbFbbbFbbp9op9qaDawp;Meaqp;Keczp:RepxbbFbbbFbbbFbbbFbp9op9qpklbkalaiad;8qbbskdnaec98GgxTmbcbhvabhdinadczfglalpbbbgopxbbbbbbFFbbbbbbFFgkp9oadpbbbgDaopmlvorxmPsCXQL358E8FpxFubbFubbFubbFubbp9op;6eaDaopmbediwDqkzHOAKY8AEgoczp:Sep;6egrp;Geaoczp:Reczp:Sep;6egwp;Gep;Kep;Legopxb;:FSb;:FSb;:FSb;:FSawaopxbbbbbbbbbbbbbbbbp:2egqawpxbbbjbbbjbbbjbbbjgmp9op9rp;Kegwawp;Meaoaop;Mearaqaramp9op9rp;Kegoaop;Mep;Kep;Kep;Jep;Negrp;Mepxbbn0bbn0bbn0bbn0gqp;Keczp:Reawarp;Meaqp;KepxFFbbFFbbFFbbFFbbp9op9qgwaoarp;Meaqp;KepxFFbbFFbbFFbbFFbbp9ogopmwDKYqk8AExm35Ps8E8Fp9qpkbbadaDakp9oawaopmbezHdiOAlvCXorQLp9qpkbbadcafhdavclfgvax6mbkkaxae9pmbaiaeciGgvcitgdfcbcaad9R;8kbaiabaxcitfglad;8qbbdnavTmbaiaipblzgopxbbbbbbFFbbbbbbFFgkp9oaipblbgDaopmlvorxmPsCXQL358E8FpxFubbFubbFubbFubbp9op;6eaDaopmbediwDqkzHOAKY8AEgoczp:Sep;6egrp;Geaoczp:Reczp:Sep;6egwp;Gep;Kep;Legopxb;:FSb;:FSb;:FSb;:FSawaopxbbbbbbbbbbbbbbbbp:2egqawpxbbbjbbbjbbbjbbbjgmp9op9rp;Kegwawp;Meaoaop;Mearaqaramp9op9rp;Kegoaop;Mep;Kep;Kep;Jep;Negrp;Mepxbbn0bbn0bbn0bbn0gqp;Keczp:Reawarp;Meaqp;KepxFFbbFFbbFFbbFFbbp9op9qgwaoarp;Meaqp;KepxFFbbFFbbFFbbFFbbp9ogopmwDKYqk8AExm35Ps8E8Fp9qpklzaiaDakp9oawaopmbezHdiOAlvCXorQLp9qpklbkalaiad;8qbbkk;4wllue97euv978Jjjjjbc8W9Rhidnaec98GglTmbcbhvabhoinaiaopbbbgraoczfgwpbbbgDpmlvorxmPsCXQL358E8Fgqczp:Segkclp:RepklbaopxbbjZbbjZbbjZbbjZpx;Zl81Z;Zl81Z;Zl81Z;Zl81Zakpxibbbibbbibbbibbbp9qp;6ep;NegkaraDpmbediwDqkzHOAKY8AEgrczp:Reczp:Sep;6ep;MegDaDp;Meakarczp:Sep;6ep;Megxaxp;Meakaqczp:Reczp:Sep;6ep;Megqaqp;Mep;Kep;Kep;Lepxbbbbbbbbbbbbbbbbp:4ep;Jepxb;:FSb;:FSb;:FSb;:FSgkp;Mepxbbn0bbn0bbn0bbn0grp;KepxFFbbFFbbFFbbFFbbgmp9oaxakp;Mearp;Keczp:Rep9qgxaqakp;Mearp;Keczp:ReaDakp;Mearp;Keamp9op9qgkpmbezHdiOAlvCXorQLgrp5baipblbpEb:T:j83ibaocwfarp5eaipblbpEe:T:j83ibawaxakpmwDKYqk8AExm35Ps8E8Fgkp5baipblbpEd:T:j83ibaocKfakp5eaipblbpEi:T:j83ibaocafhoavclfgval6mbkkdnalae9pmbaiaeciGgvcitgofcbcaao9R;8kbaiabalcitfgwao;8qbbdnavTmbaiaipblbgraipblzgDpmlvorxmPsCXQL358E8Fgqczp:Segkclp:RepklaaipxbbjZbbjZbbjZbbjZpx;Zl81Z;Zl81Z;Zl81Z;Zl81Zakpxibbbibbbibbbibbbp9qp;6ep;NegkaraDpmbediwDqkzHOAKY8AEgrczp:Reczp:Sep;6ep;MegDaDp;Meakarczp:Sep;6ep;Megxaxp;Meakaqczp:Reczp:Sep;6ep;Megqaqp;Mep;Kep;Kep;Lepxbbbbbbbbbbbbbbbbp:4ep;Jepxb;:FSb;:FSb;:FSb;:FSgkp;Mepxbbn0bbn0bbn0bbn0grp;KepxFFbbFFbbFFbbFFbbgmp9oaxakp;Mearp;Keczp:Rep9qgxaqakp;Mearp;Keczp:ReaDakp;Mearp;Keamp9op9qgkpmbezHdiOAlvCXorQLgrp5baipblapEb:T:j83ibaiarp5eaipblapEe:T:j83iwaiaxakpmwDKYqk8AExm35Ps8E8Fgkp5baipblapEd:T:j83izaiakp5eaipblapEi:T:j83iKkawaiao;8qbbkk:Pddiue978Jjjjjbc;ab9Rhidnadcd4ae2glc98GgvTmbcbhdabheinaeaepbbbgocwp:Recwp:Sep;6eaocep:SepxbbjZbbjZbbjZbbjZp:UepxbbjFbbjFbbjFbbjFp9op;Mepkbbaeczfheadclfgdav6mbkkdnaval9pmbaialciGgdcdtgeVcbc;abae9R;8kbaiabavcdtfgvae;8qbbdnadTmbaiaipblbgocwp:Recwp:Sep;6eaocep:SepxbbjZbbjZbbjZbbjZp:UepxbbjFbbjFbbjFbbjFp9op;Mepklbkavaiae;8qbbkk9teiucbcbydj1jjbgeabcifc98GfgbBdj1jjbdndnabZbcztgd9nmbcuhiabad9RcFFifcz4nbcuSmekaehikaikkkebcjwklz9Tbb";
|
|
10
10
|
|
|
11
|
-
// Uses bulk-memory and simd extensions
|
|
12
11
|
var detector = new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,3,2,0,0,5,3,1,0,1,12,1,0,10,22,2,12,0,65,0,65,0,65,0,252,10,0,0,11,7,0,65,0,253,15,26,11]);
|
|
13
|
-
|
|
14
|
-
// Used to unpack wasm
|
|
15
|
-
var wasmpack = new Uint8Array([32,0,65,253,3,1,2,34,4,106,6,5,11,8,7,20,13,33,12,16,128,9,116,64,19,113,127,15,10,21,22,14,255,66,24,54,136,107,18,23,192,26,114,118,132,17,77,101,130,144,27,87,131,44,45,74,156,154,70,167]);
|
|
12
|
+
var wasmpack = new Uint8Array([32,0,65,2,1,106,34,33,3,128,11,4,13,64,6,253,10,7,15,116,127,5,8,12,40,16,19,54,20,9,27,255,113,17,42,67,24,23,146,148,18,14,22,45,70,69,56,114,101,21,25,63,75,136,108,28,118,29,73,115]);
|
|
16
13
|
|
|
17
14
|
if (typeof WebAssembly !== 'object') {
|
|
18
|
-
// This module requires WebAssembly to function
|
|
19
15
|
return {
|
|
20
16
|
supported: false,
|
|
21
17
|
};
|
|
22
18
|
}
|
|
23
19
|
|
|
24
|
-
var wasm = wasm_base;
|
|
25
|
-
|
|
26
|
-
if (WebAssembly.validate(detector)) {
|
|
27
|
-
wasm = wasm_simd;
|
|
28
|
-
console.log("Warning: meshopt_decoder is using experimental SIMD support");
|
|
29
|
-
}
|
|
20
|
+
var wasm = WebAssembly.validate(detector) ? wasm_simd : wasm_base;
|
|
30
21
|
|
|
31
22
|
var instance;
|
|
32
23
|
|
|
33
|
-
var
|
|
24
|
+
var ready =
|
|
34
25
|
WebAssembly.instantiate(unpack(wasm), {})
|
|
35
26
|
.then(function(result) {
|
|
36
27
|
instance = result.instance;
|
|
@@ -41,7 +32,7 @@ var MeshoptDecoder = (function() {
|
|
|
41
32
|
var result = new Uint8Array(data.length);
|
|
42
33
|
for (var i = 0; i < data.length; ++i) {
|
|
43
34
|
var ch = data.charCodeAt(i);
|
|
44
|
-
result[i] = ch > 96 ? ch -
|
|
35
|
+
result[i] = ch > 96 ? ch - 97 : ch > 64 ? ch - 39 : ch + 4;
|
|
45
36
|
}
|
|
46
37
|
var write = 0;
|
|
47
38
|
for (var i = 0; i < data.length; ++i) {
|
|
@@ -52,7 +43,7 @@ var MeshoptDecoder = (function() {
|
|
|
52
43
|
|
|
53
44
|
function decode(fun, target, count, size, source, filter) {
|
|
54
45
|
var sbrk = instance.exports.sbrk;
|
|
55
|
-
var count4 = (count + 3) & ~3;
|
|
46
|
+
var count4 = (count + 3) & ~3;
|
|
56
47
|
var tp = sbrk(count4 * size);
|
|
57
48
|
var sp = sbrk(source.length);
|
|
58
49
|
var heap = new Uint8Array(instance.exports.memory.buffer);
|
|
@@ -66,15 +57,9 @@ var MeshoptDecoder = (function() {
|
|
|
66
57
|
if (res != 0) {
|
|
67
58
|
throw new Error("Malformed buffer data: " + res);
|
|
68
59
|
}
|
|
69
|
-
}
|
|
60
|
+
}
|
|
70
61
|
|
|
71
62
|
var filters = {
|
|
72
|
-
// legacy index-based enums for glTF
|
|
73
|
-
0: "",
|
|
74
|
-
1: "meshopt_decodeFilterOct",
|
|
75
|
-
2: "meshopt_decodeFilterQuat",
|
|
76
|
-
3: "meshopt_decodeFilterExp",
|
|
77
|
-
// string-based enums for glTF
|
|
78
63
|
NONE: "",
|
|
79
64
|
OCTAHEDRAL: "meshopt_decodeFilterOct",
|
|
80
65
|
QUATERNION: "meshopt_decodeFilterQuat",
|
|
@@ -82,19 +67,88 @@ var MeshoptDecoder = (function() {
|
|
|
82
67
|
};
|
|
83
68
|
|
|
84
69
|
var decoders = {
|
|
85
|
-
// legacy index-based enums for glTF
|
|
86
|
-
0: "meshopt_decodeVertexBuffer",
|
|
87
|
-
1: "meshopt_decodeIndexBuffer",
|
|
88
|
-
2: "meshopt_decodeIndexSequence",
|
|
89
|
-
// string-based enums for glTF
|
|
90
70
|
ATTRIBUTES: "meshopt_decodeVertexBuffer",
|
|
91
71
|
TRIANGLES: "meshopt_decodeIndexBuffer",
|
|
92
72
|
INDICES: "meshopt_decodeIndexSequence",
|
|
93
73
|
};
|
|
94
74
|
|
|
75
|
+
var workers = [];
|
|
76
|
+
var requestId = 0;
|
|
77
|
+
|
|
78
|
+
function createWorker(url) {
|
|
79
|
+
var worker = {
|
|
80
|
+
object: new Worker(url),
|
|
81
|
+
pending: 0,
|
|
82
|
+
requests: {}
|
|
83
|
+
};
|
|
84
|
+
|
|
85
|
+
worker.object.onmessage = function(event) {
|
|
86
|
+
var data = event.data;
|
|
87
|
+
|
|
88
|
+
worker.pending -= data.count;
|
|
89
|
+
worker.requests[data.id][data.action](data.value);
|
|
90
|
+
|
|
91
|
+
delete worker.requests[data.id];
|
|
92
|
+
};
|
|
93
|
+
|
|
94
|
+
return worker;
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
function initWorkers(count) {
|
|
98
|
+
var source =
|
|
99
|
+
"var instance; var ready = WebAssembly.instantiate(new Uint8Array([" + new Uint8Array(unpack(wasm)) + "]), {})" +
|
|
100
|
+
".then(function(result) { instance = result.instance; instance.exports.__wasm_call_ctors(); });" +
|
|
101
|
+
"self.onmessage = workerProcess;" +
|
|
102
|
+
decode.toString() + workerProcess.toString();
|
|
103
|
+
|
|
104
|
+
var blob = new Blob([source], {type: 'text/javascript'});
|
|
105
|
+
var url = URL.createObjectURL(blob);
|
|
106
|
+
|
|
107
|
+
for (var i = 0; i < count; ++i) {
|
|
108
|
+
workers[i] = createWorker(url);
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
URL.revokeObjectURL(url);
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
function decodeWorker(count, size, source, mode, filter) {
|
|
115
|
+
var worker = workers[0];
|
|
116
|
+
|
|
117
|
+
for (var i = 1; i < workers.length; ++i) {
|
|
118
|
+
if (workers[i].pending < worker.pending) {
|
|
119
|
+
worker = workers[i];
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
return new Promise(function (resolve, reject) {
|
|
124
|
+
var data = new Uint8Array(source);
|
|
125
|
+
var id = requestId++;
|
|
126
|
+
|
|
127
|
+
worker.pending += count;
|
|
128
|
+
worker.requests[id] = { resolve: resolve, reject: reject };
|
|
129
|
+
worker.object.postMessage({ id: id, count: count, size: size, source: data, mode: mode, filter: filter }, [ data.buffer ]);
|
|
130
|
+
});
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
function workerProcess(event) {
|
|
134
|
+
ready.then(function() {
|
|
135
|
+
var data = event.data;
|
|
136
|
+
try {
|
|
137
|
+
var target = new Uint8Array(data.count * data.size);
|
|
138
|
+
decode(instance.exports[data.mode], target, data.count, data.size, data.source, instance.exports[data.filter]);
|
|
139
|
+
self.postMessage({ id: data.id, count: data.count, action: "resolve", value: target }, [ target.buffer ]);
|
|
140
|
+
} catch (error) {
|
|
141
|
+
self.postMessage({ id: data.id, count: data.count, action: "reject", value: error });
|
|
142
|
+
}
|
|
143
|
+
});
|
|
144
|
+
}
|
|
145
|
+
|
|
95
146
|
return {
|
|
96
|
-
ready:
|
|
147
|
+
ready: ready,
|
|
97
148
|
supported: true,
|
|
149
|
+
useWorkers: function(count) {
|
|
150
|
+
initWorkers(count);
|
|
151
|
+
},
|
|
98
152
|
decodeVertexBuffer: function(target, count, size, source, filter) {
|
|
99
153
|
decode(instance.exports.meshopt_decodeVertexBuffer, target, count, size, source, instance.exports[filters[filter]]);
|
|
100
154
|
},
|
|
@@ -106,10 +160,22 @@ var MeshoptDecoder = (function() {
|
|
|
106
160
|
},
|
|
107
161
|
decodeGltfBuffer: function(target, count, size, source, mode, filter) {
|
|
108
162
|
decode(instance.exports[decoders[mode]], target, count, size, source, instance.exports[filters[filter]]);
|
|
163
|
+
},
|
|
164
|
+
decodeGltfBufferAsync: function(count, size, source, mode, filter) {
|
|
165
|
+
if (workers.length > 0) {
|
|
166
|
+
return decodeWorker(count, size, source, decoders[mode], filters[filter]);
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
return ready.then(function() {
|
|
170
|
+
var target = new Uint8Array(count * size);
|
|
171
|
+
decode(instance.exports[decoders[mode]], target, count, size, source, instance.exports[filters[filter]]);
|
|
172
|
+
return target;
|
|
173
|
+
});
|
|
109
174
|
}
|
|
110
175
|
};
|
|
111
176
|
})();
|
|
112
177
|
|
|
178
|
+
// UMD-style export
|
|
113
179
|
if (typeof exports === 'object' && typeof module === 'object')
|
|
114
180
|
module.exports = MeshoptDecoder;
|
|
115
181
|
else if (typeof define === 'function' && define['amd'])
|
|
@@ -3793,6 +3793,7 @@
|
|
|
3793
3793
|
|
|
3794
3794
|
if ( asset.upAxis === 'Z_UP' ) {
|
|
3795
3795
|
|
|
3796
|
+
console.warn( 'THREE.ColladaLoader: You are loading an asset with a Z-UP coordinate system. The loader just rotates the asset to transform it into Y-UP. The vertex data are not converted, see #24289.' );
|
|
3796
3797
|
scene.quaternion.setFromEuler( new THREE.Euler( - Math.PI / 2, 0, 0 ) );
|
|
3797
3798
|
|
|
3798
3799
|
}
|
|
@@ -60,18 +60,11 @@
|
|
|
60
60
|
loader.setWithCredentials( this.withCredentials );
|
|
61
61
|
loader.load( url, buffer => {
|
|
62
62
|
|
|
63
|
-
|
|
64
|
-
attributeIDs: this.defaultAttributeIDs,
|
|
65
|
-
attributeTypes: this.defaultAttributeTypes,
|
|
66
|
-
useUniqueIDs: false
|
|
67
|
-
};
|
|
68
|
-
this.decodeGeometry( buffer, taskConfig ).then( onLoad ).catch( onError );
|
|
63
|
+
this.decodeDracoFile( buffer, onLoad ).catch( onError );
|
|
69
64
|
|
|
70
65
|
}, onProgress, onError );
|
|
71
66
|
|
|
72
67
|
}
|
|
73
|
-
/** @deprecated Kept for backward-compatibility with previous DRACOLoader versions. */
|
|
74
|
-
|
|
75
68
|
|
|
76
69
|
decodeDracoFile( buffer, callback, attributeIDs, attributeTypes ) {
|
|
77
70
|
|
|
@@ -80,28 +73,12 @@
|
|
|
80
73
|
attributeTypes: attributeTypes || this.defaultAttributeTypes,
|
|
81
74
|
useUniqueIDs: !! attributeIDs
|
|
82
75
|
};
|
|
83
|
-
this.decodeGeometry( buffer, taskConfig ).then( callback );
|
|
76
|
+
return this.decodeGeometry( buffer, taskConfig ).then( callback );
|
|
84
77
|
|
|
85
78
|
}
|
|
86
79
|
|
|
87
80
|
decodeGeometry( buffer, taskConfig ) {
|
|
88
81
|
|
|
89
|
-
// TODO: For backward-compatibility, support 'attributeTypes' objects containing
|
|
90
|
-
// references (rather than names) to typed array constructors. These must be
|
|
91
|
-
// serialized before sending them to the worker.
|
|
92
|
-
for ( const attribute in taskConfig.attributeTypes ) {
|
|
93
|
-
|
|
94
|
-
const type = taskConfig.attributeTypes[ attribute ];
|
|
95
|
-
|
|
96
|
-
if ( type.BYTES_PER_ELEMENT !== undefined ) {
|
|
97
|
-
|
|
98
|
-
taskConfig.attributeTypes[ attribute ] = type.name;
|
|
99
|
-
|
|
100
|
-
}
|
|
101
|
-
|
|
102
|
-
} //
|
|
103
|
-
|
|
104
|
-
|
|
105
82
|
const taskKey = JSON.stringify( taskConfig ); // Check for an existing task using this buffer. A transferred buffer cannot be transferred
|
|
106
83
|
// again from this thread.
|
|
107
84
|
|
|
@@ -1610,20 +1610,9 @@
|
|
|
1610
1610
|
|
|
1611
1611
|
const parseInt64 = function ( dataView, offset ) {
|
|
1612
1612
|
|
|
1613
|
-
|
|
1614
|
-
|
|
1615
|
-
if ( 'getBigInt64' in DataView.prototype ) {
|
|
1616
|
-
|
|
1617
|
-
int = Number( dataView.getBigInt64( offset.value, true ) );
|
|
1618
|
-
|
|
1619
|
-
} else {
|
|
1620
|
-
|
|
1621
|
-
int = dataView.getUint32( offset.value + 4, true ) + Number( dataView.getUint32( offset.value, true ) << 32 );
|
|
1622
|
-
|
|
1623
|
-
}
|
|
1624
|
-
|
|
1613
|
+
const Int64 = Number( dataView.getBigInt64( offset.value, true ) );
|
|
1625
1614
|
offset.value += ULONG_SIZE;
|
|
1626
|
-
return
|
|
1615
|
+
return Int64;
|
|
1627
1616
|
|
|
1628
1617
|
};
|
|
1629
1618
|
|
|
@@ -1744,6 +1744,13 @@
|
|
|
1744
1744
|
|
|
1745
1745
|
materialIndex = getData( polygonVertexIndex, polygonIndex, vertexIndex, geoInfo.material )[ 0 ];
|
|
1746
1746
|
|
|
1747
|
+
if ( materialIndex < 0 ) {
|
|
1748
|
+
|
|
1749
|
+
console.warn( 'THREE.FBXLoader: Invalid material index:', materialIndex );
|
|
1750
|
+
materialIndex = 0;
|
|
1751
|
+
|
|
1752
|
+
}
|
|
1753
|
+
|
|
1747
1754
|
}
|
|
1748
1755
|
|
|
1749
1756
|
if ( geoInfo.uv ) {
|
|
@@ -3669,7 +3676,7 @@
|
|
|
3669
3676
|
if ( transformData.preRotation ) {
|
|
3670
3677
|
|
|
3671
3678
|
const array = transformData.preRotation.map( THREE.MathUtils.degToRad );
|
|
3672
|
-
array.push( transformData.eulerOrder );
|
|
3679
|
+
array.push( transformData.eulerOrder || THREE.Euler.DefaultOrder );
|
|
3673
3680
|
lPreRotationM.makeRotationFromEuler( tempEuler.fromArray( array ) );
|
|
3674
3681
|
|
|
3675
3682
|
}
|
|
@@ -3677,7 +3684,7 @@
|
|
|
3677
3684
|
if ( transformData.rotation ) {
|
|
3678
3685
|
|
|
3679
3686
|
const array = transformData.rotation.map( THREE.MathUtils.degToRad );
|
|
3680
|
-
array.push( transformData.eulerOrder );
|
|
3687
|
+
array.push( transformData.eulerOrder || THREE.Euler.DefaultOrder );
|
|
3681
3688
|
lRotationM.makeRotationFromEuler( tempEuler.fromArray( array ) );
|
|
3682
3689
|
|
|
3683
3690
|
}
|
|
@@ -3685,7 +3692,7 @@
|
|
|
3685
3692
|
if ( transformData.postRotation ) {
|
|
3686
3693
|
|
|
3687
3694
|
const array = transformData.postRotation.map( THREE.MathUtils.degToRad );
|
|
3688
|
-
array.push( transformData.eulerOrder );
|
|
3695
|
+
array.push( transformData.eulerOrder || THREE.Euler.DefaultOrder );
|
|
3689
3696
|
lPostRotationM.makeRotationFromEuler( tempEuler.fromArray( array ) );
|
|
3690
3697
|
lPostRotationM.invert();
|
|
3691
3698
|
|
|
@@ -14,23 +14,10 @@
|
|
|
14
14
|
const loader = new THREE.FileLoader( this.manager );
|
|
15
15
|
loader.setPath( this.path );
|
|
16
16
|
loader.setRequestHeader( this.requestHeader );
|
|
17
|
-
loader.setWithCredentials(
|
|
17
|
+
loader.setWithCredentials( this.withCredentials );
|
|
18
18
|
loader.load( url, function ( text ) {
|
|
19
19
|
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
try {
|
|
23
|
-
|
|
24
|
-
json = JSON.parse( text );
|
|
25
|
-
|
|
26
|
-
} catch ( e ) {
|
|
27
|
-
|
|
28
|
-
console.warn( 'THREE.FontLoader: typeface.js support is being deprecated. Use typeface.json instead.' );
|
|
29
|
-
json = JSON.parse( text.substring( 65, text.length - 2 ) );
|
|
30
|
-
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
const font = scope.parse( json );
|
|
20
|
+
const font = scope.parse( JSON.parse( text ) );
|
|
34
21
|
if ( onLoad ) onLoad( font );
|
|
35
22
|
|
|
36
23
|
}, onProgress, onError );
|
|
@@ -63,7 +50,7 @@
|
|
|
63
50
|
|
|
64
51
|
for ( let p = 0, pl = paths.length; p < pl; p ++ ) {
|
|
65
52
|
|
|
66
|
-
|
|
53
|
+
shapes.push( ...paths[ p ].toShapes() );
|
|
67
54
|
|
|
68
55
|
}
|
|
69
56
|
|