소스 검색

Merge branch 'dev' into apply-fog-order

Mr.doob 1 년 전
부모
커밋
1bf3a75522
100개의 변경된 파일156개의 추가작업 그리고 634개의 파일을 삭제
  1. 1 1
      docs/api/zh/materials/SpriteMaterial.html
  2. 0 4
      docs/manual/ar/introduction/Installation.html
  3. 1 3
      docs/manual/en/introduction/Installation.html
  4. 0 8
      docs/manual/fr/introduction/Installation.html
  5. 0 8
      docs/manual/it/introduction/Installation.html
  6. 0 4
      docs/manual/ja/introduction/Installation.html
  7. 0 4
      docs/manual/ko/introduction/Installation.html
  8. 0 8
      docs/manual/pt-br/introduction/Installation.html
  9. 0 8
      docs/manual/ru/introduction/Installation.html
  10. 0 4
      docs/manual/zh/introduction/Installation.html
  11. 0 5
      docs/scenes/bones-browser.html
  12. 0 5
      docs/scenes/ccdiksolver-browser.html
  13. 1 6
      docs/scenes/geometry-browser.html
  14. 0 5
      docs/scenes/material-browser.html
  15. 0 4
      editor/index.html
  16. 0 391
      editor/js/libs/es-module-shims.js
  17. 0 1
      editor/sw.js
  18. 0 4
      examples/css2d_label.html
  19. 0 4
      examples/css3d_molecules.html
  20. 0 4
      examples/css3d_orthographic.html
  21. 0 4
      examples/css3d_periodictable.html
  22. 0 4
      examples/css3d_sandbox.html
  23. 0 4
      examples/css3d_sprites.html
  24. 0 4
      examples/css3d_youtube.html
  25. 2 2
      examples/files.json
  26. 0 4
      examples/games_fps.html
  27. 1 1
      examples/jsm/loaders/GLTFLoader.js
  28. 1 1
      examples/jsm/nodes/accessors/BitangentNode.js
  29. 2 2
      examples/jsm/nodes/accessors/BufferAttributeNode.js
  30. 1 1
      examples/jsm/nodes/accessors/BufferNode.js
  31. 1 1
      examples/jsm/nodes/accessors/CameraNode.js
  32. 2 2
      examples/jsm/nodes/accessors/CubeTextureNode.js
  33. 3 3
      examples/jsm/nodes/accessors/ExtendedMaterialNode.js
  34. 2 2
      examples/jsm/nodes/accessors/InstanceNode.js
  35. 2 2
      examples/jsm/nodes/accessors/LineMaterialNode.js
  36. 2 2
      examples/jsm/nodes/accessors/MaterialNode.js
  37. 3 3
      examples/jsm/nodes/accessors/MaterialReferenceNode.js
  38. 1 1
      examples/jsm/nodes/accessors/ModelNode.js
  39. 2 2
      examples/jsm/nodes/accessors/ModelViewProjectionNode.js
  40. 4 4
      examples/jsm/nodes/accessors/MorphNode.js
  41. 1 1
      examples/jsm/nodes/accessors/NormalNode.js
  42. 1 1
      examples/jsm/nodes/accessors/Object3DNode.js
  43. 1 1
      examples/jsm/nodes/accessors/PointUVNode.js
  44. 1 1
      examples/jsm/nodes/accessors/PositionNode.js
  45. 2 2
      examples/jsm/nodes/accessors/ReferenceNode.js
  46. 2 2
      examples/jsm/nodes/accessors/ReflectVectorNode.js
  47. 2 2
      examples/jsm/nodes/accessors/SceneNode.js
  48. 2 2
      examples/jsm/nodes/accessors/SkinningNode.js
  49. 1 1
      examples/jsm/nodes/accessors/StorageBufferNode.js
  50. 1 1
      examples/jsm/nodes/accessors/TangentNode.js
  51. 2 2
      examples/jsm/nodes/accessors/TextureBicubicNode.js
  52. 5 5
      examples/jsm/nodes/accessors/TextureNode.js
  53. 1 1
      examples/jsm/nodes/accessors/TextureSizeNode.js
  54. 1 1
      examples/jsm/nodes/accessors/TextureStoreNode.js
  55. 1 1
      examples/jsm/nodes/accessors/UVNode.js
  56. 1 1
      examples/jsm/nodes/accessors/UserDataNode.js
  57. 1 1
      examples/jsm/nodes/code/CodeNode.js
  58. 1 1
      examples/jsm/nodes/code/ExpressionNode.js
  59. 1 1
      examples/jsm/nodes/code/FunctionCallNode.js
  60. 18 7
      examples/jsm/nodes/code/FunctionNode.js
  61. 2 2
      examples/jsm/nodes/code/ScriptableNode.js
  62. 2 2
      examples/jsm/nodes/code/ScriptableValueNode.js
  63. 1 1
      examples/jsm/nodes/core/ArrayUniformNode.js
  64. 1 1
      examples/jsm/nodes/core/AttributeNode.js
  65. 1 1
      examples/jsm/nodes/core/BypassNode.js
  66. 1 1
      examples/jsm/nodes/core/CacheNode.js
  67. 1 1
      examples/jsm/nodes/core/ConstNode.js
  68. 2 2
      examples/jsm/nodes/core/ContextNode.js
  69. 1 1
      examples/jsm/nodes/core/IndexNode.js
  70. 1 1
      examples/jsm/nodes/core/InputNode.js
  71. 20 11
      examples/jsm/nodes/core/Node.js
  72. 1 1
      examples/jsm/nodes/core/NodeBuilder.js
  73. 3 3
      examples/jsm/nodes/core/OutputStructNode.js
  74. 1 1
      examples/jsm/nodes/core/PropertyNode.js
  75. 1 1
      examples/jsm/nodes/core/StackNode.js
  76. 1 1
      examples/jsm/nodes/core/StructTypeNode.js
  77. 1 1
      examples/jsm/nodes/core/TempNode.js
  78. 1 1
      examples/jsm/nodes/core/UniformNode.js
  79. 1 1
      examples/jsm/nodes/core/VarNode.js
  80. 1 1
      examples/jsm/nodes/core/VaryingNode.js
  81. 1 1
      examples/jsm/nodes/core/constants.js
  82. 2 2
      examples/jsm/nodes/display/BlendModeNode.js
  83. 2 2
      examples/jsm/nodes/display/BumpMapNode.js
  84. 2 2
      examples/jsm/nodes/display/ColorAdjustmentNode.js
  85. 2 2
      examples/jsm/nodes/display/ColorSpaceNode.js
  86. 1 1
      examples/jsm/nodes/display/FrontFacingNode.js
  87. 2 2
      examples/jsm/nodes/display/NormalMapNode.js
  88. 2 2
      examples/jsm/nodes/display/PosterizeNode.js
  89. 2 2
      examples/jsm/nodes/display/ToneMappingNode.js
  90. 2 2
      examples/jsm/nodes/display/ViewportDepthNode.js
  91. 1 1
      examples/jsm/nodes/display/ViewportDepthTextureNode.js
  92. 2 2
      examples/jsm/nodes/display/ViewportNode.js
  93. 1 1
      examples/jsm/nodes/display/ViewportSharedTextureNode.js
  94. 1 1
      examples/jsm/nodes/display/ViewportTextureNode.js
  95. 2 2
      examples/jsm/nodes/fog/FogExp2Node.js
  96. 2 2
      examples/jsm/nodes/fog/FogNode.js
  97. 2 2
      examples/jsm/nodes/fog/FogRangeNode.js
  98. 2 2
      examples/jsm/nodes/geometry/RangeNode.js
  99. 1 1
      examples/jsm/nodes/gpgpu/ComputeNode.js
  100. 2 2
      examples/jsm/nodes/lighting/AONode.js

+ 1 - 1
docs/api/zh/materials/SpriteMaterial.html

@@ -36,7 +36,7 @@
 		<h3>[name]( [param:Object parameters] )</h3>
 		<h3>[name]( [param:Object parameters] )</h3>
 		<p>
 		<p>
 			[page:Object parameters] - (可选)用于定义材质外观的对象,具有一个或多个属性。
 			[page:Object parameters] - (可选)用于定义材质外观的对象,具有一个或多个属性。
-			材质的任何属性都可以从此处传入(包括从[page:Material] 和 [page:ShaderMaterial]继承的任何属性)。<br /><br />
+			材质的任何属性都可以从此处传入(包括从[page:Material]继承的任何属性)。<br /><br />
 
 
 			属性[page:Hexadecimal color]例外,其可以作为十六进制字符串传递,默认情况下为 *0xffffff*(白色),
 			属性[page:Hexadecimal color]例外,其可以作为十六进制字符串传递,默认情况下为 *0xffffff*(白色),
 			内部调用[page:Color.set](color)。
 			内部调用[page:Color.set](color)。

+ 0 - 4
docs/manual/ar/introduction/Installation.html

@@ -85,8 +85,6 @@
 		</p>
 		</p>
 
 
 		<code>
 		<code>
-		&lt;script async src="https://unpkg.com/[email protected]/dist/es-module-shims.js">&lt;/script>
-
 		&lt;script type="importmap">
 		&lt;script type="importmap">
 			{
 			{
 			"imports": {
 			"imports": {
@@ -126,8 +124,6 @@
 		</p>
 		</p>
 
 
 		<code>
 		<code>
-		&lt;script async src="https://unpkg.com/[email protected]/dist/es-module-shims.js">&lt;/script>
-
 		&lt;script type="importmap">
 		&lt;script type="importmap">
 			{
 			{
 			"imports": {
 			"imports": {

+ 1 - 3
docs/manual/en/introduction/Installation.html

@@ -149,8 +149,6 @@ npm install --save-dev vite
 					We imported code from 'three' (an npm package) in <i>main.js</i>, and web browsers don't know what that means. In <i>index.html</i> we'll need to add an [link:https://developer.mozilla.org/en-US/docs/Web/HTML/Element/script/type/importmap import map] defining where to get the package. Put the code below inside the <i>&lt;head>&lt/head></i> tag, after the styles.
 					We imported code from 'three' (an npm package) in <i>main.js</i>, and web browsers don't know what that means. In <i>index.html</i> we'll need to add an [link:https://developer.mozilla.org/en-US/docs/Web/HTML/Element/script/type/importmap import map] defining where to get the package. Put the code below inside the <i>&lt;head>&lt/head></i> tag, after the styles.
 				</p>
 				</p>
 				<code>
 				<code>
-&lt;script async src="https://unpkg.com/[email protected]/dist/es-module-shims.js">&lt;/script>
-
 &lt;script type="importmap">
 &lt;script type="importmap">
   {
   {
     "imports": {
     "imports": {
@@ -161,7 +159,7 @@ npm install --save-dev vite
 &lt;/script>
 &lt;/script>
 				</code>
 				</code>
 				<p>
 				<p>
-					Don't forget to replace <i>&lt;version&gt;</i> with an actual version of three.js, like <i>"v0.149.0"</i>. The most recent version can be found on the [link:https://www.npmjs.com/package/three?activeTab=versions npm version list]. Because import maps are [link:https://caniuse.com/import-maps not yet supported] by some major browsers, we include the polyfill <i>es-module-shims.js</i>.
+					Don't forget to replace <i>&lt;version&gt;</i> with an actual version of three.js, like <i>"v0.149.0"</i>. The most recent version can be found on the [link:https://www.npmjs.com/package/three?activeTab=versions npm version list].
 				</p>
 				</p>
 			</li>
 			</li>
 			<li>
 			<li>

+ 0 - 8
docs/manual/fr/introduction/Installation.html

@@ -68,8 +68,6 @@
 		</p>
 		</p>
 
 
 		<code>
 		<code>
-		&lt;script async src="https://unpkg.com/[email protected]/dist/es-module-shims.js">&lt;/script>
-
 		&lt;script type="importmap">
 		&lt;script type="importmap">
 		  {
 		  {
 		    "imports": {
 		    "imports": {
@@ -87,10 +85,6 @@
 		&lt;/script>
 		&lt;/script>
 		</code>
 		</code>
 
 
-		<p>
-			Étant donné que les Import maps ne sont pas encore supportées par tous les navigateurs, il est nécessaire d'ajouter le polyfill *es-module-shims.js*.
-		</p>
-
 		<h2>Addons</h2>
 		<h2>Addons</h2>
 
 
 		<p>
 		<p>
@@ -113,8 +107,6 @@
 		</p>
 		</p>
 
 
 		<code>
 		<code>
-		&lt;script async src="https://unpkg.com/[email protected]/dist/es-module-shims.js">&lt;/script>
-
 		&lt;script type="importmap">
 		&lt;script type="importmap">
 			{
 			{
 			"imports": {
 			"imports": {

+ 0 - 8
docs/manual/it/introduction/Installation.html

@@ -69,8 +69,6 @@
 		</p>
 		</p>
 
 
 		<code>
 		<code>
-		&lt;script async src="https://unpkg.com/[email protected]/dist/es-module-shims.js">&lt;/script>
-
 		&lt;script type="importmap">
 		&lt;script type="importmap">
 		  {
 		  {
 		    "imports": {
 		    "imports": {
@@ -88,10 +86,6 @@
 		&lt;/script>
 		&lt;/script>
 		</code>
 		</code>
 
 
-		<p>
-      Poiché le mappe di importazione non sono ancora supportate da tutti i browser, è necessario aggiungere il polyfill *es-module-shims.js*.
-		</p>
-
 		<h2>Addons</h2>
 		<h2>Addons</h2>
 
 
 		<p>
 		<p>
@@ -113,8 +107,6 @@
 		</p>
 		</p>
 
 
 		<code>
 		<code>
-		&lt;script async src="https://unpkg.com/[email protected]/dist/es-module-shims.js">&lt;/script>
-
 		&lt;script type="importmap">
 		&lt;script type="importmap">
 			{
 			{
 			"imports": {
 			"imports": {

+ 0 - 4
docs/manual/ja/introduction/Installation.html

@@ -69,8 +69,6 @@
     </p>
     </p>
 
 
     <code>
     <code>
-&lt;script async src="https://unpkg.com/[email protected]/dist/es-module-shims.js">&lt;/script>
-
 &lt;script type="importmap">
 &lt;script type="importmap">
     {
     {
     "imports": {
     "imports": {
@@ -110,8 +108,6 @@
     </p>
     </p>
 
 
     <code>
     <code>
-&lt;script async src="https://unpkg.com/[email protected]/dist/es-module-shims.js">&lt;/script>
-
 &lt;script type="importmap">
 &lt;script type="importmap">
     {
     {
     "imports": {
     "imports": {

+ 0 - 4
docs/manual/ko/introduction/Installation.html

@@ -77,8 +77,6 @@
     </p>
     </p>
 
 
     <code>
     <code>
-&lt;script async src="https://unpkg.com/[email protected]/dist/es-module-shims.js">&lt;/script>
-
 &lt;script type="importmap">
 &lt;script type="importmap">
     {
     {
     "imports": {
     "imports": {
@@ -122,8 +120,6 @@
     </p>
     </p>
 
 
     <code>
     <code>
-&lt;script async src="https://unpkg.com/[email protected]/dist/es-module-shims.js">&lt;/script>
-
 &lt;script type="importmap">
 &lt;script type="importmap">
     {
     {
     "imports": {
     "imports": {

+ 0 - 8
docs/manual/pt-br/introduction/Installation.html

@@ -53,8 +53,6 @@
 		<p>A biblioteca three.js pode ser utilizada sem nenhum sistema de build, seja fazendo o upload dos arquivos para seu próprio servidor web ou usando um CDN existente. Como a biblioteca depende dos ES modules, qualquer script que faça referência a eles deve usar <em>type="module"</em> como mostrado abaixo. Também é necessário definir um mapa de importação que resolva a importação direta do `three`.</p>
 		<p>A biblioteca three.js pode ser utilizada sem nenhum sistema de build, seja fazendo o upload dos arquivos para seu próprio servidor web ou usando um CDN existente. Como a biblioteca depende dos ES modules, qualquer script que faça referência a eles deve usar <em>type="module"</em> como mostrado abaixo. Também é necessário definir um mapa de importação que resolva a importação direta do `three`.</p>
 
 
 		<code>
 		<code>
-		&lt;script async src="https://unpkg.com/[email protected]/dist/es-module-shims.js">&lt;/script>
-
 		&lt;script type="importmap">
 		&lt;script type="importmap">
 		  {
 		  {
 		    "imports": {
 		    "imports": {
@@ -76,10 +74,6 @@
 			Nem todos os recursos disponíveis são acessados diretamente através do módulo <em>three</em>. Outras partes populares da biblioteca - tais como controls, loaders e post-processing effects - devem ser importados da subpasta [link:https://github.com/mrdoob/three.js/tree/dev/examples/jsm examples/jsm]. Para aprender mais, veja o <em>Exemplo</em> abaixo.
 			Nem todos os recursos disponíveis são acessados diretamente através do módulo <em>three</em>. Outras partes populares da biblioteca - tais como controls, loaders e post-processing effects - devem ser importados da subpasta [link:https://github.com/mrdoob/three.js/tree/dev/examples/jsm examples/jsm]. Para aprender mais, veja o <em>Exemplo</em> abaixo.
 		</p>
 		</p>
 
 
-		<p>
-			Como os mapas de importação ainda não são suportados por todos os navegadores, é necessário adicionar o polyfill *es-module-shims.js*.
-		</p>
-
 		<h2>Addons</h2>
 		<h2>Addons</h2>
 
 
 		<p>
 		<p>
@@ -99,8 +93,6 @@
 		<p>Se o three.js foi instalado de um CDN, use o mesmo CDN para instalar outros componentes:</p>
 		<p>Se o three.js foi instalado de um CDN, use o mesmo CDN para instalar outros componentes:</p>
 
 
 		<code>
 		<code>
-		&lt;script async src="https://unpkg.com/[email protected]/dist/es-module-shims.js">&lt;/script>
-
 		&lt;script type="importmap">
 		&lt;script type="importmap">
 			{
 			{
 			"imports": {
 			"imports": {

+ 0 - 8
docs/manual/ru/introduction/Installation.html

@@ -92,8 +92,6 @@
 	</p>
 	</p>
 
 
 	<code>
 	<code>
-		&lt;script async src="https://unpkg.com/[email protected]/dist/es-module-shims.js">&lt;/script>
-
 		&lt;script type="importmap">
 		&lt;script type="importmap">
 		{
 		{
 			"imports": {
 			"imports": {
@@ -111,10 +109,6 @@
 		&lt;/script>
 		&lt;/script>
 	</code>
 	</code>
 
 
-	<p>
-		Поскольку импорт карт еще не поддерживается всеми браузерами, необходимо добавить полифил *es-module-shims.js*.
-	</p>
-
 	<h2>Дополнения</h2>
 	<h2>Дополнения</h2>
 
 
 	<p>
 	<p>
@@ -143,8 +137,6 @@
 	</p>
 	</p>
 
 
 	<code>
 	<code>
-		&lt;script async src="https://unpkg.com/[email protected]/dist/es-module-shims.js">&lt;/script>
-
 		&lt;script type="importmap">
 		&lt;script type="importmap">
 		{
 		{
 			"imports": {
 			"imports": {

+ 0 - 4
docs/manual/zh/introduction/Installation.html

@@ -67,8 +67,6 @@
 		</p>
 		</p>
 
 
 		<code>
 		<code>
-		&lt;script async src="https://unpkg.com/[email protected]/dist/es-module-shims.js">&lt;/script>
-
 		&lt;script type="importmap">
 		&lt;script type="importmap">
 			{
 			{
 			"imports": {
 			"imports": {
@@ -108,8 +106,6 @@
 		</p>
 		</p>
 
 
 		<code>
 		<code>
-		&lt;script async src="https://unpkg.com/[email protected]/dist/es-module-shims.js">&lt;/script>
-
 		&lt;script type="importmap">
 		&lt;script type="importmap">
 			{
 			{
 			"imports": {
 			"imports": {

+ 0 - 5
docs/scenes/bones-browser.html

@@ -22,11 +22,6 @@
 		</style>
 		</style>
 	</head>
 	</head>
 	<body>
 	<body>
-
-		<!-- Import maps polyfill -->
-		<!-- Remove this when import maps will be widely supported -->
-		<script async src="https://unpkg.com/[email protected]/dist/es-module-shims.js"></script>
-
 		<script type="importmap">
 		<script type="importmap">
 			{
 			{
 				"imports": {
 				"imports": {

+ 0 - 5
docs/scenes/ccdiksolver-browser.html

@@ -22,11 +22,6 @@
 		</style>
 		</style>
 	</head>
 	</head>
 	<body>
 	<body>
-
-		<!-- Import maps polyfill -->
-		<!-- Remove this when import maps will be widely supported -->
-		<script async src="https://unpkg.com/[email protected]/dist/es-module-shims.js"></script>
-
 		<script type="importmap">
 		<script type="importmap">
 			{
 			{
 				"imports": {
 				"imports": {

+ 1 - 6
docs/scenes/geometry-browser.html

@@ -22,11 +22,6 @@
 		</style>
 		</style>
 	</head>
 	</head>
 	<body>
 	<body>
-
-		<!-- Import maps polyfill -->
-		<!-- Remove this when import maps will be widely supported -->
-		<script async src="https://unpkg.com/[email protected]/dist/es-module-shims.js"></script>
-
 		<script type="importmap">
 		<script type="importmap">
 			{
 			{
 				"imports": {
 				"imports": {
@@ -758,7 +753,7 @@
 			lights[ 0 ] = new DirectionalLight( 0xffffff, 3 );
 			lights[ 0 ] = new DirectionalLight( 0xffffff, 3 );
 			lights[ 1 ] = new DirectionalLight( 0xffffff, 3 );
 			lights[ 1 ] = new DirectionalLight( 0xffffff, 3 );
 			lights[ 2 ] = new DirectionalLight( 0xffffff, 3 );
 			lights[ 2 ] = new DirectionalLight( 0xffffff, 3 );
-			
+
 			lights[ 0 ].position.set( 0, 200, 0 );
 			lights[ 0 ].position.set( 0, 200, 0 );
 			lights[ 1 ].position.set( 100, 200, 100 );
 			lights[ 1 ].position.set( 100, 200, 100 );
 			lights[ 2 ].position.set( - 100, - 200, - 100 );
 			lights[ 2 ].position.set( - 100, - 200, - 100 );

+ 0 - 5
docs/scenes/material-browser.html

@@ -22,11 +22,6 @@
 		</style>
 		</style>
 	</head>
 	</head>
 	<body>
 	<body>
-
-		<!-- Import maps polyfill -->
-		<!-- Remove this when import maps will be widely supported -->
-		<script async src="https://unpkg.com/[email protected]/dist/es-module-shims.js"></script>
-
 		<script type="importmap">
 		<script type="importmap">
 			{
 			{
 				"imports": {
 				"imports": {

+ 0 - 4
editor/index.html

@@ -45,10 +45,6 @@
 		<script src="js/libs/tern-threejs/threejs.js"></script>
 		<script src="js/libs/tern-threejs/threejs.js"></script>
 		<script src="js/libs/signals.min.js"></script>
 		<script src="js/libs/signals.min.js"></script>
 
 
-		<!-- Import maps polyfill -->
-		<!-- Remove this when import maps will be widely supported -->
-		<script async src="js/libs/es-module-shims.js"></script>
-
 		<script type="importmap">
 		<script type="importmap">
 			{
 			{
 				"imports": {
 				"imports": {

파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 391
editor/js/libs/es-module-shims.js


+ 0 - 1
editor/sw.js

@@ -90,7 +90,6 @@ const assets = [
 	'./js/libs/codemirror/mode/javascript.js',
 	'./js/libs/codemirror/mode/javascript.js',
 	'./js/libs/codemirror/mode/glsl.js',
 	'./js/libs/codemirror/mode/glsl.js',
 
 
-	'./js/libs/es-module-shims.js',
 	'./js/libs/esprima.js',
 	'./js/libs/esprima.js',
 	'./js/libs/ffmpeg.min.js',
 	'./js/libs/ffmpeg.min.js',
 	'./js/libs/jsonlint.js',
 	'./js/libs/jsonlint.js',

+ 0 - 4
examples/css2d_label.html

@@ -17,10 +17,6 @@
 	<body>
 	<body>
 		<div id="info"><a href="https://threejs.org" target="_blank" rel="noopener">three.js</a> css2d - label</div>
 		<div id="info"><a href="https://threejs.org" target="_blank" rel="noopener">three.js</a> css2d - label</div>
 
 
-		<!-- Import maps polyfill -->
-		<!-- Remove this when import maps will be widely supported -->
-		<script async src="https://unpkg.com/[email protected]/dist/es-module-shims.js"></script>
-
 		<script type="importmap">
 		<script type="importmap">
 			{
 			{
 				"imports": {
 				"imports": {

+ 0 - 4
examples/css3d_molecules.html

@@ -22,10 +22,6 @@
 		<div id="container"></div>
 		<div id="container"></div>
 		<div id="info"><a href="https://threejs.org" target="_blank" rel="noopener">three.js</a> css3d - molecules</div>
 		<div id="info"><a href="https://threejs.org" target="_blank" rel="noopener">three.js</a> css3d - molecules</div>
 
 
-		<!-- Import maps polyfill -->
-		<!-- Remove this when import maps will be widely supported -->
-		<script async src="https://unpkg.com/[email protected]/dist/es-module-shims.js"></script>
-
 		<script type="importmap">
 		<script type="importmap">
 			{
 			{
 				"imports": {
 				"imports": {

+ 0 - 4
examples/css3d_orthographic.html

@@ -20,10 +20,6 @@
 	<body>
 	<body>
 		<div id="info"><a href="https://threejs.org" target="_blank" rel="noopener">three.js</a> css3d - orthographic</div>
 		<div id="info"><a href="https://threejs.org" target="_blank" rel="noopener">three.js</a> css3d - orthographic</div>
 
 
-		<!-- Import maps polyfill -->
-		<!-- Remove this when import maps will be widely supported -->
-		<script async src="https://unpkg.com/[email protected]/dist/es-module-shims.js"></script>
-
 		<script type="importmap">
 		<script type="importmap">
 			{
 			{
 				"imports": {
 				"imports": {

+ 0 - 4
examples/css3d_periodictable.html

@@ -91,10 +91,6 @@
 			<button id="grid">GRID</button>
 			<button id="grid">GRID</button>
 		</div>
 		</div>
 
 
-		<!-- Import maps polyfill -->
-		<!-- Remove this when import maps will be widely supported -->
-		<script async src="https://unpkg.com/[email protected]/dist/es-module-shims.js"></script>
-
 		<script type="importmap">
 		<script type="importmap">
 			{
 			{
 				"imports": {
 				"imports": {

+ 0 - 4
examples/css3d_sandbox.html

@@ -16,10 +16,6 @@
 	<body>
 	<body>
 		<div id="info"><a href="https://threejs.org" target="_blank" rel="noopener">three.js</a> css3d - sandbox</div>
 		<div id="info"><a href="https://threejs.org" target="_blank" rel="noopener">three.js</a> css3d - sandbox</div>
 
 
-		<!-- Import maps polyfill -->
-		<!-- Remove this when import maps will be widely supported -->
-		<script async src="https://unpkg.com/[email protected]/dist/es-module-shims.js"></script>
-
 		<script type="importmap">
 		<script type="importmap">
 			{
 			{
 				"imports": {
 				"imports": {

+ 0 - 4
examples/css3d_sprites.html

@@ -20,10 +20,6 @@
 		<div id="info"><a href="https://threejs.org" target="_blank" rel="noopener">three.js</a> css3d - sprites</div>
 		<div id="info"><a href="https://threejs.org" target="_blank" rel="noopener">three.js</a> css3d - sprites</div>
 		<div id="container"></div>
 		<div id="container"></div>
 
 
-		<!-- Import maps polyfill -->
-		<!-- Remove this when import maps will be widely supported -->
-		<script async src="https://unpkg.com/[email protected]/dist/es-module-shims.js"></script>
-
 		<script type="importmap">
 		<script type="importmap">
 			{
 			{
 				"imports": {
 				"imports": {

+ 0 - 4
examples/css3d_youtube.html

@@ -23,10 +23,6 @@
 		<div id="container"></div>
 		<div id="container"></div>
 		<div id="blocker"></div>
 		<div id="blocker"></div>
 
 
-		<!-- Import maps polyfill -->
-		<!-- Remove this when import maps will be widely supported -->
-		<script async src="https://unpkg.com/[email protected]/dist/es-module-shims.js"></script>
-
 		<script type="importmap">
 		<script type="importmap">
 			{
 			{
 				"imports": {
 				"imports": {

+ 2 - 2
examples/files.json

@@ -308,12 +308,12 @@
 		"webgl2_volume_perlin"
 		"webgl2_volume_perlin"
 	],
 	],
 	"webgpu (wip)": [
 	"webgpu (wip)": [
-		"webgpu_audio_processing",
 		"webgpu_backdrop",
 		"webgpu_backdrop",
 		"webgpu_backdrop_area",
 		"webgpu_backdrop_area",
 		"webgpu_clearcoat",
 		"webgpu_clearcoat",
-		"webgpu_compute",
+		"webgpu_compute_audio",
 		"webgpu_compute_particles",
 		"webgpu_compute_particles",
+		"webgpu_compute_points",
 		"webgpu_compute_texture",
 		"webgpu_compute_texture",
 		"webgpu_compute_texture_pingpong",
 		"webgpu_compute_texture_pingpong",
 		"webgpu_cubemap_adjustments",
 		"webgpu_cubemap_adjustments",

+ 0 - 4
examples/games_fps.html

@@ -14,10 +14,6 @@
 		</div>
 		</div>
 		<div id="container"></div>
 		<div id="container"></div>
 
 
-		<!-- Import maps polyfill -->
-		<!-- Remove this when import maps will be widely supported -->
-		<script async src="https://unpkg.com/[email protected]/dist/es-module-shims.js"></script>
-
 		<script type="importmap">
 		<script type="importmap">
 			{
 			{
 				"imports": {
 				"imports": {

+ 1 - 1
examples/jsm/loaders/GLTFLoader.js

@@ -2544,7 +2544,7 @@ class GLTFParser {
 
 
 			assignExtrasToUserData( result, json );
 			assignExtrasToUserData( result, json );
 
 
-			Promise.all( parser._invokeAll( function ( ext ) {
+			return Promise.all( parser._invokeAll( function ( ext ) {
 
 
 				return ext.afterRoot && ext.afterRoot( result );
 				return ext.afterRoot && ext.afterRoot( result );
 
 

+ 1 - 1
examples/jsm/nodes/accessors/BitangentNode.js

@@ -86,4 +86,4 @@ export const bitangentWorld = nodeImmutable( BitangentNode, BitangentNode.WORLD
 export const transformedBitangentView = normalize( transformedNormalView.cross( transformedTangentView ).mul( tangentGeometry.w ) );
 export const transformedBitangentView = normalize( transformedNormalView.cross( transformedTangentView ).mul( tangentGeometry.w ) );
 export const transformedBitangentWorld = normalize( transformedBitangentView.transformDirection( cameraViewMatrix ) );
 export const transformedBitangentWorld = normalize( transformedBitangentView.transformDirection( cameraViewMatrix ) );
 
 
-addNodeClass( BitangentNode );
+addNodeClass( 'BitangentNode', BitangentNode );

+ 2 - 2
examples/jsm/nodes/accessors/BufferAttributeNode.js

@@ -43,7 +43,7 @@ class BufferAttributeNode extends InputNode {
 
 
 	}
 	}
 
 
-	construct( builder ) {
+	setup( builder ) {
 
 
 		if ( this.attribute !== null ) return;
 		if ( this.attribute !== null ) return;
 
 
@@ -122,4 +122,4 @@ export const instancedDynamicBufferAttribute = ( array, type, stride, offset ) =
 
 
 addNodeElement( 'toAttribute', ( bufferNode ) => bufferAttribute( bufferNode.value ) );
 addNodeElement( 'toAttribute', ( bufferNode ) => bufferAttribute( bufferNode.value ) );
 
 
-addNodeClass( BufferAttributeNode );
+addNodeClass( 'BufferAttributeNode', BufferAttributeNode );

+ 1 - 1
examples/jsm/nodes/accessors/BufferNode.js

@@ -27,4 +27,4 @@ export default BufferNode;
 
 
 export const buffer = ( value, type, count ) => nodeObject( new BufferNode( value, type, count ) );
 export const buffer = ( value, type, count ) => nodeObject( new BufferNode( value, type, count ) );
 
 
-addNodeClass( BufferNode );
+addNodeClass( 'BufferNode', BufferNode );

+ 1 - 1
examples/jsm/nodes/accessors/CameraNode.js

@@ -95,4 +95,4 @@ export const cameraNormalMatrix = nodeImmutable( CameraNode, CameraNode.NORMAL_M
 export const cameraWorldMatrix = nodeImmutable( CameraNode, CameraNode.WORLD_MATRIX );
 export const cameraWorldMatrix = nodeImmutable( CameraNode, CameraNode.WORLD_MATRIX );
 export const cameraPosition = nodeImmutable( CameraNode, CameraNode.POSITION );
 export const cameraPosition = nodeImmutable( CameraNode, CameraNode.POSITION );
 
 
-addNodeClass( CameraNode );
+addNodeClass( 'CameraNode', CameraNode );

+ 2 - 2
examples/jsm/nodes/accessors/CubeTextureNode.js

@@ -97,7 +97,7 @@ class CubeTextureNode extends TextureNode {
 
 
 			if ( builder.needsColorSpaceToLinear( this.value ) ) {
 			if ( builder.needsColorSpaceToLinear( this.value ) ) {
 
 
-				snippet = colorSpaceToLinear( expression( snippet, nodeType ), this.value.colorSpace ).construct( builder ).build( builder, nodeType );
+				snippet = colorSpaceToLinear( expression( snippet, nodeType ), this.value.colorSpace ).setup( builder ).build( builder, nodeType );
 
 
 			}
 			}
 
 
@@ -115,4 +115,4 @@ export const cubeTexture = nodeProxy( CubeTextureNode );
 
 
 addNodeElement( 'cubeTexture', cubeTexture );
 addNodeElement( 'cubeTexture', cubeTexture );
 
 
-addNodeClass( CubeTextureNode );
+addNodeClass( 'CubeTextureNode', CubeTextureNode );

+ 3 - 3
examples/jsm/nodes/accessors/ExtendedMaterialNode.js

@@ -29,7 +29,7 @@ class ExtendedMaterialNode extends MaterialNode {
 
 
 	}
 	}
 
 
-	construct( builder ) {
+	setup( builder ) {
 
 
 		const material = builder.material;
 		const material = builder.material;
 		const scope = this.scope;
 		const scope = this.scope;
@@ -59,7 +59,7 @@ class ExtendedMaterialNode extends MaterialNode {
 
 
 		}
 		}
 
 
-		return node || super.construct( builder );
+		return node || super.setup( builder );
 
 
 	}
 	}
 
 
@@ -73,4 +73,4 @@ export default ExtendedMaterialNode;
 export const materialNormal = nodeImmutable( ExtendedMaterialNode, ExtendedMaterialNode.NORMAL );
 export const materialNormal = nodeImmutable( ExtendedMaterialNode, ExtendedMaterialNode.NORMAL );
 export const materialClearcoatNormal = nodeImmutable( ExtendedMaterialNode, ExtendedMaterialNode.CLEARCOAT_NORMAL );
 export const materialClearcoatNormal = nodeImmutable( ExtendedMaterialNode, ExtendedMaterialNode.CLEARCOAT_NORMAL );
 
 
-addNodeClass( ExtendedMaterialNode );
+addNodeClass( 'ExtendedMaterialNode', ExtendedMaterialNode );

+ 2 - 2
examples/jsm/nodes/accessors/InstanceNode.js

@@ -17,7 +17,7 @@ class InstanceNode extends Node {
 
 
 	}
 	}
 
 
-	construct( builder ) {
+	setup( builder ) {
 
 
 		let instanceMatrixNode = this.instanceMatrixNode;
 		let instanceMatrixNode = this.instanceMatrixNode;
 
 
@@ -68,4 +68,4 @@ export default InstanceNode;
 
 
 export const instance = nodeProxy( InstanceNode );
 export const instance = nodeProxy( InstanceNode );
 
 
-addNodeClass( InstanceNode );
+addNodeClass( 'InstanceNode', InstanceNode );

+ 2 - 2
examples/jsm/nodes/accessors/LineMaterialNode.js

@@ -4,7 +4,7 @@ import { nodeImmutable } from '../shadernode/ShaderNode.js';
 
 
 class LineMaterialNode extends MaterialNode {
 class LineMaterialNode extends MaterialNode {
 
 
-	construct( /*builder*/ ) {
+	setup( /*builder*/ ) {
 
 
 		return this.getFloat( this.scope );
 		return this.getFloat( this.scope );
 
 
@@ -26,4 +26,4 @@ export const materialLineDashSize = nodeImmutable( LineMaterialNode, LineMateria
 export const materialLineGapSize = nodeImmutable( LineMaterialNode, LineMaterialNode.GAP_SIZE );
 export const materialLineGapSize = nodeImmutable( LineMaterialNode, LineMaterialNode.GAP_SIZE );
 export const materialLineWidth = nodeImmutable( LineMaterialNode, LineMaterialNode.LINEWIDTH );
 export const materialLineWidth = nodeImmutable( LineMaterialNode, LineMaterialNode.LINEWIDTH );
 
 
-addNodeClass( LineMaterialNode );
+addNodeClass( 'LineMaterialNode', LineMaterialNode );

+ 2 - 2
examples/jsm/nodes/accessors/MaterialNode.js

@@ -49,7 +49,7 @@ class MaterialNode extends Node {
 
 
 	}
 	}
 
 
-	construct( builder ) {
+	setup( builder ) {
 
 
 		const material = builder.context.material;
 		const material = builder.context.material;
 		const scope = this.scope;
 		const scope = this.scope;
@@ -274,4 +274,4 @@ export const materialIridescence = nodeImmutable( MaterialNode, MaterialNode.IRI
 export const materialIridescenceIOR = nodeImmutable( MaterialNode, MaterialNode.IRIDESCENCE_IOR );
 export const materialIridescenceIOR = nodeImmutable( MaterialNode, MaterialNode.IRIDESCENCE_IOR );
 export const materialIridescenceThickness = nodeImmutable( MaterialNode, MaterialNode.IRIDESCENCE_THICKNESS );
 export const materialIridescenceThickness = nodeImmutable( MaterialNode, MaterialNode.IRIDESCENCE_THICKNESS );
 
 
-addNodeClass( MaterialNode );
+addNodeClass( 'MaterialNode', MaterialNode );

+ 3 - 3
examples/jsm/nodes/accessors/MaterialReferenceNode.js

@@ -23,13 +23,13 @@ class MaterialReferenceNode extends ReferenceNode {
 
 
 	}
 	}
 
 
-	construct( builder ) {
+	setup( builder ) {
 
 
 		const material = this.material !== null ? this.material : builder.material;
 		const material = this.material !== null ? this.material : builder.material;
 
 
 		this.node.value = material[ this.property ];
 		this.node.value = material[ this.property ];
 
 
-		return super.construct( builder );
+		return super.setup( builder );
 
 
 	}
 	}
 
 
@@ -39,4 +39,4 @@ export default MaterialReferenceNode;
 
 
 export const materialReference = ( name, type, material ) => nodeObject( new MaterialReferenceNode( name, type, material ) );
 export const materialReference = ( name, type, material ) => nodeObject( new MaterialReferenceNode( name, type, material ) );
 
 
-addNodeClass( MaterialReferenceNode );
+addNodeClass( 'MaterialReferenceNode', MaterialReferenceNode );

+ 1 - 1
examples/jsm/nodes/accessors/ModelNode.js

@@ -31,4 +31,4 @@ export const modelPosition = nodeImmutable( ModelNode, ModelNode.POSITION );
 export const modelScale = nodeImmutable( ModelNode, ModelNode.SCALE );
 export const modelScale = nodeImmutable( ModelNode, ModelNode.SCALE );
 export const modelViewPosition = nodeImmutable( ModelNode, ModelNode.VIEW_POSITION );
 export const modelViewPosition = nodeImmutable( ModelNode, ModelNode.VIEW_POSITION );
 
 
-addNodeClass( ModelNode );
+addNodeClass( 'ModelNode', ModelNode );

+ 2 - 2
examples/jsm/nodes/accessors/ModelViewProjectionNode.js

@@ -15,7 +15,7 @@ class ModelViewProjectionNode extends TempNode {
 
 
 	}
 	}
 
 
-	construct() {
+	setup() {
 
 
 		return cameraProjectionMatrix.mul( modelViewMatrix ).mul( this.positionNode );
 		return cameraProjectionMatrix.mul( modelViewMatrix ).mul( this.positionNode );
 
 
@@ -27,4 +27,4 @@ export default ModelViewProjectionNode;
 
 
 export const modelViewProjection = nodeProxy( ModelViewProjectionNode );
 export const modelViewProjection = nodeProxy( ModelViewProjectionNode );
 
 
-addNodeClass( ModelViewProjectionNode );
+addNodeClass( 'ModelViewProjectionNode', ModelViewProjectionNode );

+ 4 - 4
examples/jsm/nodes/accessors/MorphNode.js

@@ -19,7 +19,7 @@ class MorphNode extends Node {
 
 
 	}
 	}
 
 
-	constructAttribute( builder, name, assignNode = positionLocal ) {
+	setupAttribute( builder, name, assignNode = positionLocal ) {
 
 
 		const mesh = this.mesh;
 		const mesh = this.mesh;
 		const attributes = mesh.geometry.morphAttributes[ name ];
 		const attributes = mesh.geometry.morphAttributes[ name ];
@@ -39,9 +39,9 @@ class MorphNode extends Node {
 
 
 	}
 	}
 
 
-	construct( builder ) {
+	setup( builder ) {
 
 
-		this.constructAttribute( builder, 'position' );
+		this.setupAttribute( builder, 'position' );
 
 
 	}
 	}
 
 
@@ -67,4 +67,4 @@ export default MorphNode;
 
 
 export const morph = nodeProxy( MorphNode );
 export const morph = nodeProxy( MorphNode );
 
 
-addNodeClass( MorphNode );
+addNodeClass( 'MorphNode', MorphNode );

+ 1 - 1
examples/jsm/nodes/accessors/NormalNode.js

@@ -93,4 +93,4 @@ export const transformedNormalView = property( 'vec3', 'TransformedNormalView' )
 export const transformedNormalWorld = transformedNormalView.transformDirection( cameraViewMatrix ).normalize();
 export const transformedNormalWorld = transformedNormalView.transformDirection( cameraViewMatrix ).normalize();
 export const transformedClearcoatNormalView = property( 'vec3', 'TransformedClearcoatNormalView' );
 export const transformedClearcoatNormalView = property( 'vec3', 'TransformedClearcoatNormalView' );
 
 
-addNodeClass( NormalNode );
+addNodeClass( 'NormalNode', NormalNode );

+ 1 - 1
examples/jsm/nodes/accessors/Object3DNode.js

@@ -147,4 +147,4 @@ export const objectPosition = nodeProxy( Object3DNode, Object3DNode.POSITION );
 export const objectScale = nodeProxy( Object3DNode, Object3DNode.SCALE );
 export const objectScale = nodeProxy( Object3DNode, Object3DNode.SCALE );
 export const objectViewPosition = nodeProxy( Object3DNode, Object3DNode.VIEW_POSITION );
 export const objectViewPosition = nodeProxy( Object3DNode, Object3DNode.VIEW_POSITION );
 
 
-addNodeClass( Object3DNode );
+addNodeClass( 'Object3DNode', Object3DNode );

+ 1 - 1
examples/jsm/nodes/accessors/PointUVNode.js

@@ -23,4 +23,4 @@ export default PointUVNode;
 
 
 export const pointUV = nodeImmutable( PointUVNode );
 export const pointUV = nodeImmutable( PointUVNode );
 
 
-addNodeClass( PointUVNode );
+addNodeClass( 'PointUVNode', PointUVNode );

+ 1 - 1
examples/jsm/nodes/accessors/PositionNode.js

@@ -101,4 +101,4 @@ export const positionWorldDirection = nodeImmutable( PositionNode, PositionNode.
 export const positionView = nodeImmutable( PositionNode, PositionNode.VIEW );
 export const positionView = nodeImmutable( PositionNode, PositionNode.VIEW );
 export const positionViewDirection = nodeImmutable( PositionNode, PositionNode.VIEW_DIRECTION );
 export const positionViewDirection = nodeImmutable( PositionNode, PositionNode.VIEW_DIRECTION );
 
 
-addNodeClass( PositionNode );
+addNodeClass( 'PositionNode', PositionNode );

+ 2 - 2
examples/jsm/nodes/accessors/ReferenceNode.js

@@ -63,7 +63,7 @@ class ReferenceNode extends Node {
 
 
 	}
 	}
 
 
-	construct( /*builder*/ ) {
+	setup( /*builder*/ ) {
 
 
 		return this.node;
 		return this.node;
 
 
@@ -75,4 +75,4 @@ export default ReferenceNode;
 
 
 export const reference = ( name, type, object ) => nodeObject( new ReferenceNode( name, type, object ) );
 export const reference = ( name, type, object ) => nodeObject( new ReferenceNode( name, type, object ) );
 
 
-addNodeClass( ReferenceNode );
+addNodeClass( 'ReferenceNode', ReferenceNode );

+ 2 - 2
examples/jsm/nodes/accessors/ReflectVectorNode.js

@@ -18,7 +18,7 @@ class ReflectVectorNode extends Node {
 
 
 	}
 	}
 
 
-	construct() {
+	setup() {
 
 
 		const reflectView = positionViewDirection.negate().reflect( transformedNormalView );
 		const reflectView = positionViewDirection.negate().reflect( transformedNormalView );
 
 
@@ -32,4 +32,4 @@ export default ReflectVectorNode;
 
 
 export const reflectVector = nodeImmutable( ReflectVectorNode );
 export const reflectVector = nodeImmutable( ReflectVectorNode );
 
 
-addNodeClass( ReflectVectorNode );
+addNodeClass( 'ReflectVectorNode', ReflectVectorNode );

+ 2 - 2
examples/jsm/nodes/accessors/SceneNode.js

@@ -14,7 +14,7 @@ class SceneNode extends Node {
 
 
 	}
 	}
 
 
-	construct( builder ) {
+	setup( builder ) {
 
 
 		const scope = this.scope;
 		const scope = this.scope;
 		const scene = this.scene !== null ? this.scene : builder.scene;
 		const scene = this.scene !== null ? this.scene : builder.scene;
@@ -49,4 +49,4 @@ export default SceneNode;
 export const backgroundBlurriness = nodeImmutable( SceneNode, SceneNode.BACKGROUND_BLURRINESS );
 export const backgroundBlurriness = nodeImmutable( SceneNode, SceneNode.BACKGROUND_BLURRINESS );
 export const backgroundIntensity = nodeImmutable( SceneNode, SceneNode.BACKGROUND_INTENSITY );
 export const backgroundIntensity = nodeImmutable( SceneNode, SceneNode.BACKGROUND_INTENSITY );
 
 
-addNodeClass( SceneNode );
+addNodeClass( 'SceneNode', SceneNode );

+ 2 - 2
examples/jsm/nodes/accessors/SkinningNode.js

@@ -30,7 +30,7 @@ class SkinningNode extends Node {
 
 
 	}
 	}
 
 
-	construct( builder ) {
+	setup( builder ) {
 
 
 		const { skinIndexNode, skinWeightNode, bindMatrixNode, bindMatrixInverseNode, boneMatricesNode } = this;
 		const { skinIndexNode, skinWeightNode, bindMatrixNode, bindMatrixInverseNode, boneMatricesNode } = this;
 
 
@@ -90,4 +90,4 @@ export default SkinningNode;
 
 
 export const skinning = nodeProxy( SkinningNode );
 export const skinning = nodeProxy( SkinningNode );
 
 
-addNodeClass( SkinningNode );
+addNodeClass( 'SkinningNode', SkinningNode );

+ 1 - 1
examples/jsm/nodes/accessors/StorageBufferNode.js

@@ -24,4 +24,4 @@ export default StorageBufferNode;
 
 
 export const storage = ( value, type, count ) => nodeObject( new StorageBufferNode( value, type, count ) );
 export const storage = ( value, type, count ) => nodeObject( new StorageBufferNode( value, type, count ) );
 
 
-addNodeClass( StorageBufferNode );
+addNodeClass( 'StorageBufferNode', StorageBufferNode );

+ 1 - 1
examples/jsm/nodes/accessors/TangentNode.js

@@ -100,4 +100,4 @@ export const tangentWorld = nodeImmutable( TangentNode, TangentNode.WORLD );
 export const transformedTangentView = temp( tangentView, 'TransformedTangentView' );
 export const transformedTangentView = temp( tangentView, 'TransformedTangentView' );
 export const transformedTangentWorld = normalize( transformedTangentView.transformDirection( cameraViewMatrix ) );
 export const transformedTangentWorld = normalize( transformedTangentView.transformDirection( cameraViewMatrix ) );
 
 
-addNodeClass( TangentNode );
+addNodeClass( 'TangentNode', TangentNode );

+ 2 - 2
examples/jsm/nodes/accessors/TextureBicubicNode.js

@@ -77,7 +77,7 @@ class TextureBicubicNode extends TempNode {
 
 
 	}
 	}
 
 
-	construct() {
+	setup() {
 
 
 		return textureBicubicMethod( this.textureNode, this.blurNode );
 		return textureBicubicMethod( this.textureNode, this.blurNode );
 
 
@@ -91,4 +91,4 @@ export const textureBicubic = nodeProxy( TextureBicubicNode );
 
 
 addNodeElement( 'bicubic', textureBicubic );
 addNodeElement( 'bicubic', textureBicubic );
 
 
-addNodeClass( TextureBicubicNode );
+addNodeClass( 'TextureBicubicNode', TextureBicubicNode );

+ 5 - 5
examples/jsm/nodes/accessors/TextureNode.js

@@ -59,7 +59,7 @@ class TextureNode extends UniformNode {
 
 
 	}
 	}
 
 
-	getTextureMatrix( uvNode ) {
+	getTransformedUV( uvNode ) {
 
 
 		const texture = this.value;
 		const texture = this.value;
 
 
@@ -76,7 +76,7 @@ class TextureNode extends UniformNode {
 
 
 	}
 	}
 
 
-	construct( builder ) {
+	setup( builder ) {
 
 
 		const properties = builder.getNodeProperties( this );
 		const properties = builder.getNodeProperties( this );
 
 
@@ -94,7 +94,7 @@ class TextureNode extends UniformNode {
 
 
 		if ( this.updateMatrix === true ) {
 		if ( this.updateMatrix === true ) {
 
 
-			uvNode = this.getTextureMatrix( uvNode );
+			uvNode = this.getTransformedUV( uvNode );
 
 
 		}
 		}
 
 
@@ -187,7 +187,7 @@ class TextureNode extends UniformNode {
 
 
 			if ( builder.needsColorSpaceToLinear( this.value ) ) {
 			if ( builder.needsColorSpaceToLinear( this.value ) ) {
 
 
-				snippet = colorSpaceToLinear( expression( snippet, nodeType ), this.value.colorSpace ).construct( builder ).build( builder, nodeType );
+				snippet = colorSpaceToLinear( expression( snippet, nodeType ), this.value.colorSpace ).setup( builder ).build( builder, nodeType );
 
 
 			}
 			}
 
 
@@ -278,4 +278,4 @@ export const sampler = ( aTexture ) => ( aTexture.isNode === true ? aTexture : t
 addNodeElement( 'texture', texture );
 addNodeElement( 'texture', texture );
 //addNodeElement( 'textureLevel', textureLevel );
 //addNodeElement( 'textureLevel', textureLevel );
 
 
-addNodeClass( TextureNode );
+addNodeClass( 'TextureNode', TextureNode );

+ 1 - 1
examples/jsm/nodes/accessors/TextureSizeNode.js

@@ -32,4 +32,4 @@ export const textureSize = nodeProxy( TextureSizeNode );
 
 
 addNodeElement( 'textureSize', textureSize );
 addNodeElement( 'textureSize', textureSize );
 
 
-addNodeClass( TextureSizeNode );
+addNodeClass( 'TextureSizeNode', TextureSizeNode );

+ 1 - 1
examples/jsm/nodes/accessors/TextureStoreNode.js

@@ -26,4 +26,4 @@ export default TextureStoreNode;
 
 
 export const textureStore = nodeProxy( TextureStoreNode );
 export const textureStore = nodeProxy( TextureStoreNode );
 
 
-addNodeClass( TextureStoreNode );
+addNodeClass( 'TextureStoreNode', TextureStoreNode );

+ 1 - 1
examples/jsm/nodes/accessors/UVNode.js

@@ -44,4 +44,4 @@ export default UVNode;
 
 
 export const uv = ( ...params ) => nodeObject( new UVNode( ...params ) );
 export const uv = ( ...params ) => nodeObject( new UVNode( ...params ) );
 
 
-addNodeClass( UVNode );
+addNodeClass( 'UVNode', UVNode );

+ 1 - 1
examples/jsm/nodes/accessors/UserDataNode.js

@@ -26,4 +26,4 @@ export default UserDataNode;
 
 
 export const userData = ( name, inputType, userData ) => nodeObject( new UserDataNode( name, inputType, userData ) );
 export const userData = ( name, inputType, userData ) => nodeObject( new UserDataNode( name, inputType, userData ) );
 
 
-addNodeClass( UserDataNode );
+addNodeClass( 'UserDataNode', UserDataNode );

+ 1 - 1
examples/jsm/nodes/code/CodeNode.js

@@ -75,4 +75,4 @@ export const js = ( src, includes ) => code( src, includes, 'js' );
 export const wgsl = ( src, includes ) => code( src, includes, 'wgsl' );
 export const wgsl = ( src, includes ) => code( src, includes, 'wgsl' );
 export const glsl = ( src, includes ) => code( src, includes, 'glsl' );
 export const glsl = ( src, includes ) => code( src, includes, 'glsl' );
 
 
-addNodeClass( CodeNode );
+addNodeClass( 'CodeNode', CodeNode );

+ 1 - 1
examples/jsm/nodes/code/ExpressionNode.js

@@ -34,4 +34,4 @@ export default ExpressionNode;
 
 
 export const expression = nodeProxy( ExpressionNode );
 export const expression = nodeProxy( ExpressionNode );
 
 
-addNodeClass( ExpressionNode );
+addNodeClass( 'ExpressionNode', ExpressionNode );

+ 1 - 1
examples/jsm/nodes/code/FunctionCallNode.js

@@ -93,4 +93,4 @@ export const call = ( func, ...params ) => {
 
 
 addNodeElement( 'call', call );
 addNodeElement( 'call', call );
 
 
-addNodeClass( FunctionCallNode );
+addNodeClass( 'FunctionCallNode', FunctionCallNode );

+ 18 - 7
examples/jsm/nodes/code/FunctionNode.js

@@ -99,17 +99,28 @@ class FunctionNode extends CodeNode {
 
 
 export default FunctionNode;
 export default FunctionNode;
 
 
-const nativeFn = ( code, includes, language = '' ) => {
+const nativeFn = ( code, includes = [], language = '' ) => {
 
 
-	let functionNode = null;
+	for ( let i = 0; i < includes.length; i ++ ) {
 
 
-	return ( ...params ) => {
+		const include = includes[ i ];
 
 
-		if ( functionNode === null ) functionNode = nodeObject( new FunctionNode( code, includes, language ) );
+		// TSL Function: glslFn, wgslFn
 
 
-		return functionNode.call( ...params );
+		if ( typeof include === 'function' ) {
 
 
-	};
+			includes[ i ] = include.functionNode;
+
+		}
+
+	}
+
+	const functionNode = nodeObject( new FunctionNode( code, includes, language ) );
+
+	const fn = ( ...params ) => functionNode.call( ...params );
+	fn.functionNode = functionNode;
+
+	return fn;
 
 
 };
 };
 
 
@@ -124,4 +135,4 @@ export const func = ( code, includes ) => { // @deprecated, r154
 
 
 };
 };
 
 
-addNodeClass( FunctionNode );
+addNodeClass( 'FunctionNode', FunctionNode );

+ 2 - 2
examples/jsm/nodes/code/ScriptableNode.js

@@ -431,7 +431,7 @@ class ScriptableNode extends Node {
 
 
 	}
 	}
 
 
-	construct() {
+	setup() {
 
 
 		return this.getDefaultOutputNode();
 		return this.getDefaultOutputNode();
 
 
@@ -485,4 +485,4 @@ export const scriptable = nodeProxy( ScriptableNode );
 
 
 addNodeElement( 'scriptable', scriptable );
 addNodeElement( 'scriptable', scriptable );
 
 
-addNodeClass( ScriptableNode );
+addNodeClass( 'ScriptableNode', ScriptableNode );

+ 2 - 2
examples/jsm/nodes/code/ScriptableValueNode.js

@@ -92,7 +92,7 @@ class ScriptableValueNode extends Node {
 
 
 	}
 	}
 
 
-	construct() {
+	setup() {
 
 
 		return this.value && this.value.isNode ? this.value : float();
 		return this.value && this.value.isNode ? this.value : float();
 
 
@@ -164,4 +164,4 @@ export const scriptableValue = nodeProxy( ScriptableValueNode );
 
 
 addNodeElement( 'scriptableValue', scriptableValue );
 addNodeElement( 'scriptableValue', scriptableValue );
 
 
-addNodeClass( ScriptableValueNode );
+addNodeClass( 'ScriptableValueNode', ScriptableValueNode );

+ 1 - 1
examples/jsm/nodes/core/ArrayUniformNode.js

@@ -23,4 +23,4 @@ class ArrayUniformNode extends UniformNode {
 
 
 export default ArrayUniformNode;
 export default ArrayUniformNode;
 
 
-addNodeClass( ArrayUniformNode );
+addNodeClass( 'ArrayUniformNode', ArrayUniformNode );

+ 1 - 1
examples/jsm/nodes/core/AttributeNode.js

@@ -99,4 +99,4 @@ export default AttributeNode;
 
 
 export const attribute = ( name, nodeType ) => nodeObject( new AttributeNode( name, nodeType ) );
 export const attribute = ( name, nodeType ) => nodeObject( new AttributeNode( name, nodeType ) );
 
 
-addNodeClass( AttributeNode );
+addNodeClass( 'AttributeNode', AttributeNode );

+ 1 - 1
examples/jsm/nodes/core/BypassNode.js

@@ -42,4 +42,4 @@ export const bypass = nodeProxy( BypassNode );
 
 
 addNodeElement( 'bypass', bypass );
 addNodeElement( 'bypass', bypass );
 
 
-addNodeClass( BypassNode );
+addNodeClass( 'BypassNode', BypassNode );

+ 1 - 1
examples/jsm/nodes/core/CacheNode.js

@@ -43,4 +43,4 @@ export const cache = nodeProxy( CacheNode );
 
 
 addNodeElement( 'cache', cache );
 addNodeElement( 'cache', cache );
 
 
-addNodeClass( CacheNode );
+addNodeClass( 'CacheNode', CacheNode );

+ 1 - 1
examples/jsm/nodes/core/ConstNode.js

@@ -29,4 +29,4 @@ class ConstNode extends InputNode {
 
 
 export default ConstNode;
 export default ConstNode;
 
 
-addNodeClass( ConstNode );
+addNodeClass( 'ConstNode', ConstNode );

+ 2 - 2
examples/jsm/nodes/core/ContextNode.js

@@ -20,7 +20,7 @@ class ContextNode extends Node {
 
 
 	}
 	}
 
 
-	construct( builder ) {
+	setup( builder ) {
 
 
 		const previousContext = builder.getContext();
 		const previousContext = builder.getContext();
 
 
@@ -58,4 +58,4 @@ export const label = ( node, name ) => context( node, { label: name } );
 addNodeElement( 'context', context );
 addNodeElement( 'context', context );
 addNodeElement( 'label', label );
 addNodeElement( 'label', label );
 
 
-addNodeClass( ContextNode );
+addNodeClass( 'ContextNode', ContextNode );

+ 1 - 1
examples/jsm/nodes/core/IndexNode.js

@@ -63,4 +63,4 @@ export default IndexNode;
 export const vertexIndex = nodeImmutable( IndexNode, IndexNode.VERTEX );
 export const vertexIndex = nodeImmutable( IndexNode, IndexNode.VERTEX );
 export const instanceIndex = nodeImmutable( IndexNode, IndexNode.INSTANCE );
 export const instanceIndex = nodeImmutable( IndexNode, IndexNode.INSTANCE );
 
 
-addNodeClass( IndexNode );
+addNodeClass( 'IndexNode', IndexNode );

+ 1 - 1
examples/jsm/nodes/core/InputNode.js

@@ -80,4 +80,4 @@ class InputNode extends Node {
 
 
 export default InputNode;
 export default InputNode;
 
 
-addNodeClass( InputNode );
+addNodeClass( 'InputNode', InputNode );

+ 20 - 11
examples/jsm/nodes/core/Node.js

@@ -28,7 +28,7 @@ class Node extends EventDispatcher {
 
 
 	get type() {
 	get type() {
 
 
-		return this.constructor.name;
+		return this.constructor.type;
 
 
 	}
 	}
 
 
@@ -134,7 +134,7 @@ class Node extends EventDispatcher {
 
 
 	}
 	}
 
 
-	construct( builder ) {
+	setup( builder ) {
 
 
 		const nodeProperties = builder.getNodeProperties( this );
 		const nodeProperties = builder.getNodeProperties( this );
 
 
@@ -149,6 +149,14 @@ class Node extends EventDispatcher {
 
 
 	}
 	}
 
 
+	construct( builder ) { // @deprecated, r157
+
+		console.warn( 'THREE.Node: construct() is deprecated. Use setup() instead.' );
+
+		return this.setup( builder );
+
+	}
+
 	analyze( builder ) {
 	analyze( builder ) {
 
 
 		const nodeData = builder.getDataFromNode( this );
 		const nodeData = builder.getDataFromNode( this );
@@ -212,7 +220,7 @@ class Node extends EventDispatcher {
 		builder.addChain( this );
 		builder.addChain( this );
 
 
 		/* Build stages expected results:
 		/* Build stages expected results:
-			- "construct"	-> Node
+			- "setup"		-> Node
 			- "analyze"		-> null
 			- "analyze"		-> null
 			- "generate"	-> String
 			- "generate"	-> String
 		*/
 		*/
@@ -220,18 +228,18 @@ class Node extends EventDispatcher {
 
 
 		const buildStage = builder.getBuildStage();
 		const buildStage = builder.getBuildStage();
 
 
-		if ( buildStage === 'construct' ) {
+		if ( buildStage === 'setup' ) {
 
 
 			const properties = builder.getNodeProperties( this );
 			const properties = builder.getNodeProperties( this );
 
 
 			if ( properties.initialized !== true || builder.context.tempRead === false ) {
 			if ( properties.initialized !== true || builder.context.tempRead === false ) {
 
 
-				const stackNodesBeforeConstruct = builder.stack.nodes.length;
+				const stackNodesBeforeSetup = builder.stack.nodes.length;
 
 
 				properties.initialized = true;
 				properties.initialized = true;
-				properties.outputNode = this.construct( builder );
+				properties.outputNode = this.setup( builder );
 
 
-				if ( properties.outputNode !== null && builder.stack.nodes.length !== stackNodesBeforeConstruct ) {
+				if ( properties.outputNode !== null && builder.stack.nodes.length !== stackNodesBeforeSetup ) {
 
 
 					properties.outputNode = builder.stack;
 					properties.outputNode = builder.stack;
 
 
@@ -454,12 +462,13 @@ class Node extends EventDispatcher {
 
 
 export default Node;
 export default Node;
 
 
-export function addNodeClass( nodeClass ) {
+export function addNodeClass( type, nodeClass ) {
 
 
-	if ( typeof nodeClass !== 'function' || ! nodeClass.name ) throw new Error( `Node class ${ nodeClass.name } is not a class` );
-	if ( NodeClasses.has( nodeClass.name ) ) throw new Error( `Redefinition of node class ${ nodeClass.name }` );
+	if ( typeof nodeClass !== 'function' || ! type ) throw new Error( `Node class ${ type } is not a class` );
+	if ( NodeClasses.has( type ) ) throw new Error( `Redefinition of node class ${ type }` );
 
 
-	NodeClasses.set( nodeClass.name, nodeClass );
+	NodeClasses.set( type, nodeClass );
+	nodeClass.type = type;
 
 
 }
 }
 
 

+ 1 - 1
examples/jsm/nodes/core/NodeBuilder.js

@@ -945,7 +945,7 @@ class NodeBuilder {
 
 
 	build() {
 	build() {
 
 
-		// construct() -> stage 1: create possible new nodes and returns an output reference node
+		// setup() -> stage 1: create possible new nodes and returns an output reference node
 		// analyze()   -> stage 2: analyze nodes to possible optimization and validation
 		// analyze()   -> stage 2: analyze nodes to possible optimization and validation
 		// generate()  -> stage 3: generate shader
 		// generate()  -> stage 3: generate shader
 
 

+ 3 - 3
examples/jsm/nodes/core/OutputStructNode.js

@@ -13,9 +13,9 @@ class OutputStructNode extends Node {
 
 
 	}
 	}
 
 
-	construct( builder ) {
+	setup( builder ) {
 
 
-		super.construct( builder );
+		super.setup( builder );
 
 
 		const members = this.members;
 		const members = this.members;
 		const types = [];
 		const types = [];
@@ -59,4 +59,4 @@ export default OutputStructNode;
 
 
 export const outputStruct = nodeProxy( OutputStructNode );
 export const outputStruct = nodeProxy( OutputStructNode );
 
 
-addNodeClass( OutputStructNode );
+addNodeClass( 'OutputStructNode', OutputStructNode );

+ 1 - 1
examples/jsm/nodes/core/PropertyNode.js

@@ -60,4 +60,4 @@ export const output = nodeImmutable( PropertyNode, 'vec4', 'Output' );
 export const dashSize = nodeImmutable( PropertyNode, 'float', 'dashSize' );
 export const dashSize = nodeImmutable( PropertyNode, 'float', 'dashSize' );
 export const gapSize = nodeImmutable( PropertyNode, 'float', 'gapSize' );
 export const gapSize = nodeImmutable( PropertyNode, 'float', 'gapSize' );
 
 
-addNodeClass( PropertyNode );
+addNodeClass( 'PropertyNode', PropertyNode );

+ 1 - 1
examples/jsm/nodes/core/StackNode.js

@@ -96,4 +96,4 @@ export default StackNode;
 
 
 export const stack = nodeProxy( StackNode );
 export const stack = nodeProxy( StackNode );
 
 
-addNodeClass( StackNode );
+addNodeClass( 'StackNode', StackNode );

+ 1 - 1
examples/jsm/nodes/core/StructTypeNode.js

@@ -21,4 +21,4 @@ class StructTypeNode extends Node {
 
 
 export default StructTypeNode;
 export default StructTypeNode;
 
 
-addNodeClass( StructTypeNode );
+addNodeClass( 'StructTypeNode', StructTypeNode );

+ 1 - 1
examples/jsm/nodes/core/TempNode.js

@@ -55,4 +55,4 @@ class TempNode extends Node {
 
 
 export default TempNode;
 export default TempNode;
 
 
-addNodeClass( TempNode );
+addNodeClass( 'TempNode', TempNode );

+ 1 - 1
examples/jsm/nodes/core/UniformNode.js

@@ -60,4 +60,4 @@ export const uniform = ( arg1, arg2 ) => {
 
 
 };
 };
 
 
-addNodeClass( UniformNode );
+addNodeClass( 'UniformNode', UniformNode );

+ 1 - 1
examples/jsm/nodes/core/VarNode.js

@@ -84,4 +84,4 @@ export const temp = nodeProxy( VarNode );
 
 
 addNodeElement( 'temp', temp );
 addNodeElement( 'temp', temp );
 
 
-addNodeClass( VarNode );
+addNodeClass( 'VarNode', VarNode );

+ 1 - 1
examples/jsm/nodes/core/VaryingNode.js

@@ -66,4 +66,4 @@ export const varying = nodeProxy( VaryingNode );
 
 
 addNodeElement( 'varying', varying );
 addNodeElement( 'varying', varying );
 
 
-addNodeClass( VaryingNode );
+addNodeClass( 'VaryingNode', VaryingNode );

+ 1 - 1
examples/jsm/nodes/core/constants.js

@@ -22,6 +22,6 @@ export const NodeType = {
 };
 };
 
 
 export const defaultShaderStages = [ 'fragment', 'vertex' ];
 export const defaultShaderStages = [ 'fragment', 'vertex' ];
-export const defaultBuildStages = [ 'construct', 'analyze', 'generate' ];
+export const defaultBuildStages = [ 'setup', 'analyze', 'generate' ];
 export const shaderStages = [ ...defaultShaderStages, 'compute' ];
 export const shaderStages = [ ...defaultShaderStages, 'compute' ];
 export const vectorComponents = [ 'x', 'y', 'z', 'w' ];
 export const vectorComponents = [ 'x', 'y', 'z', 'w' ];

+ 2 - 2
examples/jsm/nodes/display/BlendModeNode.js

@@ -48,7 +48,7 @@ class BlendModeNode extends TempNode {
 
 
 	}
 	}
 
 
-	construct() {
+	setup() {
 
 
 		const { blendMode, baseNode, blendNode } = this;
 		const { blendMode, baseNode, blendNode } = this;
 		const params = { base: baseNode, blend: blendNode };
 		const params = { base: baseNode, blend: blendNode };
@@ -96,4 +96,4 @@ addNodeElement( 'dodge', dodge );
 addNodeElement( 'overlay', overlay );
 addNodeElement( 'overlay', overlay );
 addNodeElement( 'screen', screen );
 addNodeElement( 'screen', screen );
 
 
-addNodeClass( BlendModeNode );
+addNodeClass( 'BlendModeNode', BlendModeNode );

+ 2 - 2
examples/jsm/nodes/display/BumpMapNode.js

@@ -55,7 +55,7 @@ class BumpMapNode extends TempNode {
 
 
 	}
 	}
 
 
-	construct() {
+	setup() {
 
 
 		const bumpScale = this.scaleNode !== null ? this.scaleNode : 1;
 		const bumpScale = this.scaleNode !== null ? this.scaleNode : 1;
 		const dHdxy = dHdxy_fwd( { bumpTexture: this.texture, bumpScale } );
 		const dHdxy = dHdxy_fwd( { bumpTexture: this.texture, bumpScale } );
@@ -74,4 +74,4 @@ export default BumpMapNode;
 
 
 export const bumpMap = nodeProxy( BumpMapNode );
 export const bumpMap = nodeProxy( BumpMapNode );
 
 
-addNodeClass( BumpMapNode );
+addNodeClass( 'BumpMapNode', BumpMapNode );

+ 2 - 2
examples/jsm/nodes/display/ColorAdjustmentNode.js

@@ -48,7 +48,7 @@ class ColorAdjustmentNode extends TempNode {
 
 
 	}
 	}
 
 
-	construct() {
+	setup() {
 
 
 		const { method, colorNode, adjustmentNode } = this;
 		const { method, colorNode, adjustmentNode } = this;
 
 
@@ -97,4 +97,4 @@ addNodeElement( 'saturation', saturation );
 addNodeElement( 'vibrance', vibrance );
 addNodeElement( 'vibrance', vibrance );
 addNodeElement( 'hue', hue );
 addNodeElement( 'hue', hue );
 
 
-addNodeClass( ColorAdjustmentNode );
+addNodeClass( 'ColorAdjustmentNode', ColorAdjustmentNode );

+ 2 - 2
examples/jsm/nodes/display/ColorSpaceNode.js

@@ -70,7 +70,7 @@ class ColorSpaceNode extends TempNode {
 
 
 	}
 	}
 
 
-	construct() {
+	setup() {
 
 
 		const { method, node } = this;
 		const { method, node } = this;
 
 
@@ -105,4 +105,4 @@ addNodeElement( 'sRGBToLinear', sRGBToLinear );
 addNodeElement( 'linearToColorSpace', linearToColorSpace );
 addNodeElement( 'linearToColorSpace', linearToColorSpace );
 addNodeElement( 'colorSpaceToLinear', colorSpaceToLinear );
 addNodeElement( 'colorSpaceToLinear', colorSpaceToLinear );
 
 
-addNodeClass( ColorSpaceNode );
+addNodeClass( 'ColorSpaceNode', ColorSpaceNode );

+ 1 - 1
examples/jsm/nodes/display/FrontFacingNode.js

@@ -24,4 +24,4 @@ export default FrontFacingNode;
 export const frontFacing = nodeImmutable( FrontFacingNode );
 export const frontFacing = nodeImmutable( FrontFacingNode );
 export const faceDirection = float( frontFacing ).mul( 2.0 ).sub( 1.0 );
 export const faceDirection = float( frontFacing ).mul( 2.0 ).sub( 1.0 );
 
 
-addNodeClass( FrontFacingNode );
+addNodeClass( 'FrontFacingNode', FrontFacingNode );

+ 2 - 2
examples/jsm/nodes/display/NormalMapNode.js

@@ -52,7 +52,7 @@ class NormalMapNode extends TempNode {
 
 
 	}
 	}
 
 
-	construct( builder ) {
+	setup( builder ) {
 
 
 		const { normalMapType, scaleNode } = this;
 		const { normalMapType, scaleNode } = this;
 
 
@@ -103,4 +103,4 @@ export const normalMap = nodeProxy( NormalMapNode );
 
 
 export const TBNViewMatrix = mat3( tangentView, bitangentView, normalView );
 export const TBNViewMatrix = mat3( tangentView, bitangentView, normalView );
 
 
-addNodeClass( NormalMapNode );
+addNodeClass( 'NormalMapNode', NormalMapNode );

+ 2 - 2
examples/jsm/nodes/display/PosterizeNode.js

@@ -13,7 +13,7 @@ class PosterizeNode extends TempNode {
 
 
 	}
 	}
 
 
-	construct() {
+	setup() {
 
 
 		const { sourceNode, stepsNode } = this;
 		const { sourceNode, stepsNode } = this;
 
 
@@ -29,4 +29,4 @@ export const posterize = nodeProxy( PosterizeNode );
 
 
 addNodeElement( 'posterize', posterize );
 addNodeElement( 'posterize', posterize );
 
 
-addNodeClass( PosterizeNode );
+addNodeClass( 'PosterizeNode', PosterizeNode );

+ 2 - 2
examples/jsm/nodes/display/ToneMappingNode.js

@@ -104,7 +104,7 @@ class ToneMappingNode extends TempNode {
 
 
 	}
 	}
 
 
-	construct( builder ) {
+	setup( builder ) {
 
 
 		const colorNode = this.colorNode || builder.context.color;
 		const colorNode = this.colorNode || builder.context.color;
 		const toneMapping = this.toneMapping;
 		const toneMapping = this.toneMapping;
@@ -138,4 +138,4 @@ export default ToneMappingNode;
 
 
 export const toneMapping = ( mapping, exposure, color ) => nodeObject( new ToneMappingNode( mapping, nodeObject( exposure ), nodeObject( color ) ) );
 export const toneMapping = ( mapping, exposure, color ) => nodeObject( new ToneMappingNode( mapping, nodeObject( exposure ), nodeObject( color ) ) );
 
 
-addNodeClass( ToneMappingNode );
+addNodeClass( 'ToneMappingNode', ToneMappingNode );

+ 2 - 2
examples/jsm/nodes/display/ViewportDepthNode.js

@@ -17,7 +17,7 @@ class ViewportDepthNode extends Node {
 
 
 	}
 	}
 
 
-	construct( /*builder*/ ) {
+	setup( /*builder*/ ) {
 
 
 		const { scope } = this;
 		const { scope } = this;
 
 
@@ -66,4 +66,4 @@ export default ViewportDepthNode;
 export const depth = nodeImmutable( ViewportDepthNode, ViewportDepthNode.DEPTH );
 export const depth = nodeImmutable( ViewportDepthNode, ViewportDepthNode.DEPTH );
 export const depthTexture = nodeProxy( ViewportDepthNode, ViewportDepthNode.DEPTH_TEXTURE );
 export const depthTexture = nodeProxy( ViewportDepthNode, ViewportDepthNode.DEPTH_TEXTURE );
 
 
-addNodeClass( ViewportDepthNode );
+addNodeClass( 'ViewportDepthNode', ViewportDepthNode );

+ 1 - 1
examples/jsm/nodes/display/ViewportDepthTextureNode.js

@@ -31,4 +31,4 @@ export const viewportDepthTexture = nodeProxy( ViewportDepthTextureNode );
 
 
 addNodeElement( 'viewportDepthTexture', viewportDepthTexture );
 addNodeElement( 'viewportDepthTexture', viewportDepthTexture );
 
 
-addNodeClass( ViewportDepthTextureNode );
+addNodeClass( 'ViewportDepthTextureNode', ViewportDepthTextureNode );

+ 2 - 2
examples/jsm/nodes/display/ViewportNode.js

@@ -55,7 +55,7 @@ class ViewportNode extends Node {
 
 
 	}
 	}
 
 
-	construct( builder ) {
+	setup( builder ) {
 
 
 		const scope = this.scope;
 		const scope = this.scope;
 
 
@@ -126,4 +126,4 @@ export const viewportBottomLeft = nodeImmutable( ViewportNode, ViewportNode.BOTT
 export const viewportTopRight = nodeImmutable( ViewportNode, ViewportNode.TOP_RIGHT );
 export const viewportTopRight = nodeImmutable( ViewportNode, ViewportNode.TOP_RIGHT );
 export const viewportBottomRight = nodeImmutable( ViewportNode, ViewportNode.BOTTOM_RIGHT );
 export const viewportBottomRight = nodeImmutable( ViewportNode, ViewportNode.BOTTOM_RIGHT );
 
 
-addNodeClass( ViewportNode );
+addNodeClass( 'ViewportNode', ViewportNode );

+ 1 - 1
examples/jsm/nodes/display/ViewportSharedTextureNode.js

@@ -28,4 +28,4 @@ export const viewportSharedTexture = nodeProxy( ViewportSharedTextureNode );
 
 
 addNodeElement( 'viewportSharedTexture', viewportSharedTexture );
 addNodeElement( 'viewportSharedTexture', viewportSharedTexture );
 
 
-addNodeClass( ViewportSharedTextureNode );
+addNodeClass( 'ViewportSharedTextureNode', ViewportSharedTextureNode );

+ 1 - 1
examples/jsm/nodes/display/ViewportTextureNode.js

@@ -72,4 +72,4 @@ export const viewportMipTexture = nodeProxy( ViewportTextureNode, null, null, {
 addNodeElement( 'viewportTexture', viewportTexture );
 addNodeElement( 'viewportTexture', viewportTexture );
 addNodeElement( 'viewportMipTexture', viewportMipTexture );
 addNodeElement( 'viewportMipTexture', viewportMipTexture );
 
 
-addNodeClass( ViewportTextureNode );
+addNodeClass( 'ViewportTextureNode', ViewportTextureNode );

+ 2 - 2
examples/jsm/nodes/fog/FogExp2Node.js

@@ -15,7 +15,7 @@ class FogExp2Node extends FogNode {
 
 
 	}
 	}
 
 
-	construct() {
+	setup() {
 
 
 		const depthNode = positionView.z.negate();
 		const depthNode = positionView.z.negate();
 		const densityNode = this.densityNode;
 		const densityNode = this.densityNode;
@@ -32,4 +32,4 @@ export const densityFog = nodeProxy( FogExp2Node );
 
 
 addNodeElement( 'densityFog', densityFog );
 addNodeElement( 'densityFog', densityFog );
 
 
-addNodeClass( FogExp2Node );
+addNodeClass( 'FogExp2Node', FogExp2Node );

+ 2 - 2
examples/jsm/nodes/fog/FogNode.js

@@ -20,7 +20,7 @@ class FogNode extends Node {
 
 
 	}
 	}
 
 
-	construct() {
+	setup() {
 
 
 		return this.factorNode;
 		return this.factorNode;
 
 
@@ -34,4 +34,4 @@ export const fog = nodeProxy( FogNode );
 
 
 addNodeElement( 'fog', fog );
 addNodeElement( 'fog', fog );
 
 
-addNodeClass( FogNode );
+addNodeClass( 'FogNode', FogNode );

+ 2 - 2
examples/jsm/nodes/fog/FogRangeNode.js

@@ -17,7 +17,7 @@ class FogRangeNode extends FogNode {
 
 
 	}
 	}
 
 
-	construct() {
+	setup() {
 
 
 		return smoothstep( this.nearNode, this.farNode, positionView.z.negate() );
 		return smoothstep( this.nearNode, this.farNode, positionView.z.negate() );
 
 
@@ -31,4 +31,4 @@ export const rangeFog = nodeProxy( FogRangeNode );
 
 
 addNodeElement( 'rangeFog', rangeFog );
 addNodeElement( 'rangeFog', rangeFog );
 
 
-addNodeClass( FogRangeNode );
+addNodeClass( 'FogRangeNode', FogRangeNode );

+ 2 - 2
examples/jsm/nodes/geometry/RangeNode.js

@@ -36,7 +36,7 @@ class RangeNode extends Node {
 
 
 	}
 	}
 
 
-	construct( builder ) {
+	setup( builder ) {
 
 
 		const object = builder.object;
 		const object = builder.object;
 
 
@@ -101,4 +101,4 @@ export default RangeNode;
 
 
 export const range = nodeProxy( RangeNode );
 export const range = nodeProxy( RangeNode );
 
 
-addNodeClass( RangeNode );
+addNodeClass( 'RangeNode', RangeNode );

+ 1 - 1
examples/jsm/nodes/gpgpu/ComputeNode.js

@@ -82,4 +82,4 @@ export const compute = ( node, count, workgroupSize ) => nodeObject( new Compute
 
 
 addNodeElement( 'compute', compute );
 addNodeElement( 'compute', compute );
 
 
-addNodeClass( ComputeNode );
+addNodeClass( 'ComputeNode', ComputeNode );

+ 2 - 2
examples/jsm/nodes/lighting/AONode.js

@@ -11,7 +11,7 @@ class AONode extends LightingNode {
 
 
 	}
 	}
 
 
-	construct( builder ) {
+	setup( builder ) {
 
 
 		const aoIntensity = 1;
 		const aoIntensity = 1;
 		const aoNode = this.aoNode.x.sub( 1.0 ).mul( aoIntensity ).add( 1.0 );
 		const aoNode = this.aoNode.x.sub( 1.0 ).mul( aoIntensity ).add( 1.0 );
@@ -24,4 +24,4 @@ class AONode extends LightingNode {
 
 
 export default AONode;
 export default AONode;
 
 
-addNodeClass( AONode );
+addNodeClass( 'AONode', AONode );

이 변경점에서 너무 많은 파일들이 변경되어 몇몇 파일들은 표시되지 않았습니다.