super-three 0.136.1 → 0.137.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.
Files changed (100) hide show
  1. package/README.md +1 -1
  2. package/build/three.cjs +37132 -0
  3. package/build/three.js +71 -53
  4. package/build/three.min.js +2 -2
  5. package/build/three.module.js +80 -47
  6. package/examples/js/animation/MMDAnimationHelper.js +3 -1
  7. package/examples/js/controls/experimental/CameraControls.js +6 -2
  8. package/examples/js/exporters/GLTFExporter.js +82 -39
  9. package/examples/js/geometries/TextGeometry.js +12 -10
  10. package/examples/js/interactive/HTMLMesh.js +14 -2
  11. package/examples/js/loaders/EXRLoader.js +20 -9
  12. package/examples/js/loaders/GLTFLoader.js +1 -1
  13. package/examples/js/loaders/LDrawLoader.js +541 -425
  14. package/examples/js/loaders/MD2Loader.js +5 -5
  15. package/examples/js/loaders/MTLLoader.js +10 -3
  16. package/examples/js/loaders/PCDLoader.js +2 -2
  17. package/examples/js/loaders/STLLoader.js +1 -1
  18. package/examples/js/loaders/SVGLoader.js +3 -2
  19. package/examples/js/modifiers/EdgeSplitModifier.js +0 -6
  20. package/examples/js/modifiers/SimplifyModifier.js +0 -10
  21. package/examples/js/objects/Lensflare.js +2 -2
  22. package/examples/js/postprocessing/OutlinePass.js +1 -5
  23. package/examples/js/renderers/CSS2DRenderer.js +25 -19
  24. package/examples/js/renderers/CSS3DRenderer.js +37 -32
  25. package/examples/js/utils/LDrawUtils.js +182 -0
  26. package/examples/jsm/exporters/GLTFExporter.js +80 -12
  27. package/examples/jsm/geometries/TextGeometry.js +13 -13
  28. package/examples/jsm/interactive/HTMLMesh.js +16 -2
  29. package/examples/jsm/libs/flow.module.js +930 -169
  30. package/examples/jsm/loaders/EXRLoader.js +19 -9
  31. package/examples/jsm/loaders/GLTFLoader.js +1 -1
  32. package/examples/jsm/loaders/LDrawLoader.js +534 -442
  33. package/examples/jsm/loaders/MD2Loader.js +5 -5
  34. package/examples/jsm/loaders/MTLLoader.js +11 -4
  35. package/examples/jsm/loaders/PCDLoader.js +2 -2
  36. package/examples/jsm/loaders/STLLoader.js +1 -1
  37. package/examples/jsm/loaders/SVGLoader.js +3 -1
  38. package/examples/jsm/loaders/VRMLLoader.js +0 -1
  39. package/examples/jsm/modifiers/EdgeSplitModifier.js +0 -6
  40. package/examples/jsm/modifiers/SimplifyModifier.js +0 -10
  41. package/examples/jsm/node-editor/NodeEditor.js +435 -181
  42. package/examples/jsm/node-editor/accessors/NormalEditor.js +8 -8
  43. package/examples/jsm/node-editor/accessors/PositionEditor.js +8 -8
  44. package/examples/jsm/node-editor/accessors/UVEditor.js +6 -7
  45. package/examples/jsm/node-editor/core/BaseNode.js +83 -0
  46. package/examples/jsm/node-editor/display/BlendEditor.js +7 -6
  47. package/examples/jsm/node-editor/examples/animate-uv.json +1 -1
  48. package/examples/jsm/node-editor/examples/fake-top-light.json +1 -1
  49. package/examples/jsm/node-editor/examples/oscillator-color.json +1 -1
  50. package/examples/jsm/node-editor/examples/rim.json +1 -1
  51. package/examples/jsm/node-editor/inputs/ColorEditor.js +14 -10
  52. package/examples/jsm/node-editor/inputs/FloatEditor.js +6 -7
  53. package/examples/jsm/node-editor/inputs/SliderEditor.js +4 -5
  54. package/examples/jsm/node-editor/inputs/Vector2Editor.js +6 -7
  55. package/examples/jsm/node-editor/inputs/Vector3Editor.js +8 -9
  56. package/examples/jsm/node-editor/inputs/Vector4Editor.js +9 -10
  57. package/examples/jsm/node-editor/materials/BasicMaterialEditor.js +87 -0
  58. package/examples/jsm/node-editor/materials/PointsMaterialEditor.js +97 -0
  59. package/examples/jsm/node-editor/materials/StandardMaterialEditor.js +20 -17
  60. package/examples/jsm/node-editor/math/AngleEditor.js +39 -0
  61. package/examples/jsm/node-editor/math/DotEditor.js +6 -7
  62. package/examples/jsm/node-editor/math/InvertEditor.js +4 -3
  63. package/examples/jsm/node-editor/math/LimiterEditor.js +11 -10
  64. package/examples/jsm/node-editor/math/NormalizeEditor.js +6 -5
  65. package/examples/jsm/node-editor/math/OperatorEditor.js +12 -11
  66. package/examples/jsm/node-editor/math/PowerEditor.js +6 -5
  67. package/examples/jsm/node-editor/math/TrigonometryEditor.js +12 -7
  68. package/examples/jsm/node-editor/procedural/CheckerEditor.js +4 -3
  69. package/examples/jsm/node-editor/scene/MeshEditor.js +99 -0
  70. package/examples/jsm/node-editor/scene/Object3DEditor.js +160 -0
  71. package/examples/jsm/node-editor/scene/PointsEditor.js +99 -0
  72. package/examples/jsm/node-editor/utils/JoinEditor.js +58 -0
  73. package/examples/jsm/node-editor/utils/OscillatorEditor.js +7 -6
  74. package/examples/jsm/node-editor/utils/SplitEditor.js +39 -0
  75. package/examples/jsm/node-editor/utils/TimerEditor.js +6 -5
  76. package/examples/jsm/postprocessing/OutlinePass.js +1 -4
  77. package/examples/jsm/renderers/CSS2DRenderer.js +24 -19
  78. package/examples/jsm/renderers/CSS3DRenderer.js +36 -30
  79. package/examples/jsm/renderers/nodes/accessors/UVNode.js +4 -4
  80. package/examples/jsm/renderers/nodes/core/NodeBuilder.js +2 -1
  81. package/examples/jsm/renderers/nodes/utils/SplitNode.js +19 -4
  82. package/examples/jsm/utils/LDrawUtils.js +18 -11
  83. package/package.json +16 -9
  84. package/src/constants.js +1 -3
  85. package/src/core/BufferGeometry.js +2 -2
  86. package/src/geometries/LatheGeometry.js +1 -1
  87. package/src/loaders/FileLoader.js +20 -3
  88. package/src/math/Box3.js +24 -10
  89. package/src/renderers/WebGLRenderTarget.js +4 -1
  90. package/src/renderers/WebGLRenderer.js +3 -3
  91. package/src/renderers/shaders/ShaderChunk/morphnormal_vertex.glsl.js +1 -1
  92. package/src/renderers/shaders/ShaderChunk/morphtarget_vertex.glsl.js +2 -2
  93. package/src/renderers/webgl/WebGLBackground.js +2 -2
  94. package/src/renderers/webgl/WebGLGeometries.js +2 -2
  95. package/src/renderers/webgl/WebGLPrograms.js +2 -2
  96. package/src/renderers/webgl/WebGLState.js +2 -2
  97. package/src/renderers/webgl/WebGLTextures.js +9 -6
  98. package/src/renderers/webgl/WebGLUtils.js +1 -3
  99. package/src/renderers/webxr/WebXRManager.js +2 -0
  100. package/src/utils.js +15 -1
@@ -243,7 +243,7 @@ class MD2Loader extends Loader {
243
243
 
244
244
  for ( let j = 0; j < 16; j ++ ) {
245
245
 
246
- const character = data.getUint8( offset + j, true );
246
+ const character = data.getUint8( offset + j );
247
247
  if ( character === 0 ) break;
248
248
 
249
249
  string[ j ] = character;
@@ -260,10 +260,10 @@ class MD2Loader extends Loader {
260
260
 
261
261
  for ( let j = 0; j < header.num_vertices; j ++ ) {
262
262
 
263
- let x = data.getUint8( offset ++, true );
264
- let y = data.getUint8( offset ++, true );
265
- let z = data.getUint8( offset ++, true );
266
- const n = _normalData[ data.getUint8( offset ++, true ) ];
263
+ let x = data.getUint8( offset ++ );
264
+ let y = data.getUint8( offset ++ );
265
+ let z = data.getUint8( offset ++ );
266
+ const n = _normalData[ data.getUint8( offset ++ ) ];
267
267
 
268
268
  x = x * scale.x + translation.x;
269
269
  y = y * scale.y + translation.y;
@@ -8,7 +8,8 @@ import {
8
8
  MeshPhongMaterial,
9
9
  RepeatWrapping,
10
10
  TextureLoader,
11
- Vector2
11
+ Vector2,
12
+ sRGBEncoding
12
13
  } from 'three';
13
14
 
14
15
  /**
@@ -358,6 +359,12 @@ class MaterialCreator {
358
359
  map.wrapS = scope.wrap;
359
360
  map.wrapT = scope.wrap;
360
361
 
362
+ if ( mapType === 'map' || mapType === 'emissiveMap' ) {
363
+
364
+ map.encoding = sRGBEncoding;
365
+
366
+ }
367
+
361
368
  params[ mapType ] = map;
362
369
 
363
370
  }
@@ -377,21 +384,21 @@ class MaterialCreator {
377
384
 
378
385
  // Diffuse color (color under white light) using RGB values
379
386
 
380
- params.color = new Color().fromArray( value );
387
+ params.color = new Color().fromArray( value ).convertSRGBToLinear();
381
388
 
382
389
  break;
383
390
 
384
391
  case 'ks':
385
392
 
386
393
  // Specular color (color when light is reflected from shiny surface) using RGB values
387
- params.specular = new Color().fromArray( value );
394
+ params.specular = new Color().fromArray( value ).convertSRGBToLinear();
388
395
 
389
396
  break;
390
397
 
391
398
  case 'ke':
392
399
 
393
400
  // Emissive using RGB values
394
- params.emissive = new Color().fromArray( value );
401
+ params.emissive = new Color().fromArray( value ).convertSRGBToLinear();
395
402
 
396
403
  break;
397
404
 
@@ -303,9 +303,9 @@ class PCDLoader extends Loader {
303
303
 
304
304
  if ( offset.rgb !== undefined ) {
305
305
 
306
- color.push( dataview.getUint8( ( PCDheader.points * offset.rgb ) + PCDheader.size[ 3 ] * i + 0 ) / 255.0 );
307
- color.push( dataview.getUint8( ( PCDheader.points * offset.rgb ) + PCDheader.size[ 3 ] * i + 1 ) / 255.0 );
308
306
  color.push( dataview.getUint8( ( PCDheader.points * offset.rgb ) + PCDheader.size[ 3 ] * i + 2 ) / 255.0 );
307
+ color.push( dataview.getUint8( ( PCDheader.points * offset.rgb ) + PCDheader.size[ 3 ] * i + 1 ) / 255.0 );
308
+ color.push( dataview.getUint8( ( PCDheader.points * offset.rgb ) + PCDheader.size[ 3 ] * i + 0 ) / 255.0 );
309
309
 
310
310
  }
311
311
 
@@ -151,7 +151,7 @@ class STLLoader extends Loader {
151
151
 
152
152
  for ( let i = 0, il = query.length; i < il; i ++ ) {
153
153
 
154
- if ( query[ i ] !== reader.getUint8( offset + i, false ) ) return false;
154
+ if ( query[ i ] !== reader.getUint8( offset + i ) ) return false;
155
155
 
156
156
  }
157
157
 
@@ -129,7 +129,9 @@ class SVGLoader extends Loader {
129
129
 
130
130
  case 'use':
131
131
  style = parseStyle( node, style );
132
- const usedNodeId = node.href.baseVal.substring( 1 );
132
+
133
+ const href = node.getAttributeNS( 'http://www.w3.org/1999/xlink', 'href' ) || '';
134
+ const usedNodeId = href.substring( 1 );
133
135
  const usedNode = node.viewportElement.getElementById( usedNodeId );
134
136
  if ( usedNode ) {
135
137
 
@@ -24,7 +24,6 @@ import {
24
24
  Points,
25
25
  PointsMaterial,
26
26
  Quaternion,
27
- RGBAFormat,
28
27
  RepeatWrapping,
29
28
  Scene,
30
29
  ShapeUtils,
@@ -181,12 +181,6 @@ class EdgeSplitModifier {
181
181
 
182
182
  if ( geometry.index == null ) {
183
183
 
184
- if ( BufferGeometryUtils === undefined ) {
185
-
186
- throw new Error( 'THREE.EdgeSplitModifier relies on BufferGeometryUtils' );
187
-
188
- }
189
-
190
184
  geometry = BufferGeometryUtils.mergeVertices( geometry );
191
185
 
192
186
  }
@@ -17,16 +17,6 @@ const _cb = new Vector3(), _ab = new Vector3();
17
17
 
18
18
  class SimplifyModifier {
19
19
 
20
- constructor() {
21
-
22
- if ( BufferGeometryUtils === undefined ) {
23
-
24
- throw new Error( 'THREE.SimplifyModifier relies on BufferGeometryUtils' );
25
-
26
- }
27
-
28
- }
29
-
30
20
  modify( geometry, count ) {
31
21
 
32
22
  if ( geometry.isGeometry === true ) {