three-stdlib 2.8.9 → 2.8.10

Sign up to get free protection for your applications and to get access to all the features.
Files changed (318) hide show
  1. package/Nodes-607e9ed8.js +471 -0
  2. package/Nodes-627a8bdf.js +1 -0
  3. package/index.cjs.js +1 -1
  4. package/index.d.ts +0 -75
  5. package/index.js +70 -76
  6. package/loaders/NodeMaterialLoader.cjs.js +1 -1
  7. package/loaders/NodeMaterialLoader.js +2 -136
  8. package/nodes/Nodes.cjs.js +1 -1
  9. package/nodes/Nodes.js +203 -76
  10. package/nodes/ShaderNode.cjs.js +1 -0
  11. package/nodes/ShaderNode.js +308 -0
  12. package/nodes/accessors/BufferNode.cjs.js +1 -0
  13. package/nodes/accessors/BufferNode.js +18 -0
  14. package/nodes/accessors/CameraNode.cjs.js +1 -1
  15. package/nodes/accessors/CameraNode.js +32 -138
  16. package/nodes/accessors/CubeTextureNode.cjs.js +1 -0
  17. package/nodes/accessors/CubeTextureNode.js +53 -0
  18. package/nodes/accessors/MaterialNode.cjs.js +1 -0
  19. package/nodes/accessors/MaterialNode.js +80 -0
  20. package/nodes/accessors/MaterialReferenceNode.cjs.js +1 -0
  21. package/nodes/accessors/MaterialReferenceNode.js +16 -0
  22. package/nodes/accessors/ModelNode.cjs.js +1 -0
  23. package/nodes/accessors/ModelNode.js +10 -0
  24. package/nodes/accessors/ModelViewProjectionNode.cjs.js +1 -0
  25. package/nodes/accessors/ModelViewProjectionNode.js +22 -0
  26. package/nodes/accessors/NormalNode.cjs.js +1 -1
  27. package/nodes/accessors/NormalNode.js +48 -78
  28. package/nodes/accessors/Object3DNode.cjs.js +1 -0
  29. package/nodes/accessors/Object3DNode.js +85 -0
  30. package/nodes/accessors/PointUVNode.cjs.js +1 -0
  31. package/nodes/accessors/PointUVNode.js +16 -0
  32. package/nodes/accessors/PositionNode.cjs.js +1 -1
  33. package/nodes/accessors/PositionNode.js +49 -87
  34. package/nodes/accessors/ReferenceNode.cjs.js +1 -0
  35. package/nodes/accessors/ReferenceNode.js +43 -0
  36. package/nodes/accessors/ReflectNode.cjs.js +1 -1
  37. package/nodes/accessors/ReflectNode.js +35 -98
  38. package/nodes/accessors/SkinningNode.cjs.js +1 -0
  39. package/nodes/accessors/SkinningNode.js +59 -0
  40. package/nodes/accessors/TextureNode.cjs.js +1 -0
  41. package/nodes/accessors/TextureNode.js +68 -0
  42. package/nodes/accessors/UVNode.cjs.js +1 -1
  43. package/nodes/accessors/UVNode.js +20 -38
  44. package/nodes/core/ArrayUniformNode.cjs.js +1 -0
  45. package/nodes/core/ArrayUniformNode.js +17 -0
  46. package/nodes/core/AttributeNode.cjs.js +1 -1
  47. package/nodes/core/AttributeNode.js +31 -40
  48. package/nodes/core/BypassNode.cjs.js +1 -0
  49. package/nodes/core/BypassNode.js +28 -0
  50. package/nodes/core/CodeNode.cjs.js +1 -0
  51. package/nodes/core/CodeNode.js +35 -0
  52. package/nodes/core/ConstNode.cjs.js +1 -1
  53. package/nodes/core/ConstNode.js +10 -78
  54. package/nodes/core/ContextNode.cjs.js +1 -0
  55. package/nodes/core/ContextNode.js +26 -0
  56. package/nodes/core/ExpressionNode.cjs.js +1 -1
  57. package/nodes/core/ExpressionNode.js +19 -8
  58. package/nodes/core/FunctionCallNode.cjs.js +1 -1
  59. package/nodes/core/FunctionCallNode.js +31 -60
  60. package/nodes/core/FunctionNode.cjs.js +1 -1
  61. package/nodes/core/FunctionNode.js +45 -166
  62. package/nodes/core/InputNode.cjs.js +1 -1
  63. package/nodes/core/InputNode.js +43 -57
  64. package/nodes/core/Node.cjs.js +1 -1
  65. package/nodes/core/Node.js +155 -113
  66. package/nodes/core/NodeAttribute.cjs.js +1 -0
  67. package/nodes/core/NodeAttribute.js +11 -0
  68. package/nodes/core/NodeBuilder.cjs.js +1 -1
  69. package/nodes/core/NodeBuilder.js +422 -548
  70. package/nodes/core/NodeCode.cjs.js +1 -0
  71. package/nodes/core/NodeCode.js +13 -0
  72. package/nodes/core/NodeFrame.cjs.js +1 -1
  73. package/nodes/core/NodeFrame.js +34 -27
  74. package/nodes/core/NodeFunction.cjs.js +1 -0
  75. package/nodes/core/NodeFunction.js +17 -0
  76. package/nodes/core/NodeFunctionInput.cjs.js +1 -0
  77. package/nodes/core/NodeFunctionInput.js +14 -0
  78. package/nodes/core/NodeKeywords.cjs.js +1 -0
  79. package/nodes/core/NodeKeywords.js +54 -0
  80. package/nodes/core/NodeParser.cjs.js +1 -0
  81. package/nodes/core/NodeParser.js +8 -0
  82. package/nodes/core/NodeUniform.cjs.js +1 -1
  83. package/nodes/core/NodeUniform.js +18 -17
  84. package/nodes/core/NodeUtils.cjs.js +1 -1
  85. package/nodes/core/NodeUtils.js +55 -35
  86. package/nodes/core/NodeVar.cjs.js +1 -0
  87. package/nodes/core/NodeVar.js +11 -0
  88. package/nodes/core/NodeVary.cjs.js +1 -0
  89. package/nodes/core/NodeVary.js +11 -0
  90. package/nodes/core/PropertyNode.cjs.js +1 -0
  91. package/nodes/core/PropertyNode.js +26 -0
  92. package/nodes/core/TempNode.cjs.js +1 -1
  93. package/nodes/core/TempNode.js +21 -88
  94. package/nodes/core/UniformNode.cjs.js +1 -0
  95. package/nodes/core/UniformNode.js +28 -0
  96. package/nodes/core/VarNode.cjs.js +1 -1
  97. package/nodes/core/VarNode.js +28 -35
  98. package/nodes/core/VaryNode.cjs.js +1 -0
  99. package/nodes/core/VaryNode.js +38 -0
  100. package/nodes/core/constants.cjs.js +1 -0
  101. package/nodes/core/constants.js +11 -0
  102. package/nodes/display/ColorSpaceNode.cjs.js +1 -0
  103. package/nodes/display/ColorSpaceNode.js +67 -0
  104. package/nodes/display/NormalMapNode.cjs.js +1 -0
  105. package/nodes/display/NormalMapNode.js +71 -0
  106. package/nodes/fog/FogNode.cjs.js +1 -0
  107. package/nodes/fog/FogNode.js +18 -0
  108. package/nodes/fog/FogRangeNode.cjs.js +1 -0
  109. package/nodes/fog/FogRangeNode.js +20 -0
  110. package/nodes/functions/BSDFs.cjs.js +1 -0
  111. package/nodes/functions/BSDFs.js +121 -0
  112. package/nodes/functions/PhysicalMaterialFunctions.cjs.js +1 -0
  113. package/nodes/functions/PhysicalMaterialFunctions.js +57 -0
  114. package/nodes/lights/LightContextNode.cjs.js +1 -0
  115. package/nodes/lights/LightContextNode.js +43 -0
  116. package/nodes/lights/LightNode.cjs.js +1 -0
  117. package/nodes/lights/LightNode.js +61 -0
  118. package/nodes/lights/LightsNode.cjs.js +1 -0
  119. package/nodes/lights/LightsNode.js +77 -0
  120. package/nodes/loaders/NodeLoader.cjs.js +1 -0
  121. package/nodes/loaders/NodeLoader.js +80 -0
  122. package/nodes/loaders/NodeMaterialLoader.cjs.js +1 -0
  123. package/nodes/loaders/NodeMaterialLoader.js +29 -0
  124. package/nodes/loaders/NodeObjectLoader.cjs.js +1 -0
  125. package/nodes/loaders/NodeObjectLoader.js +49 -0
  126. package/nodes/materials/LineBasicNodeMaterial.cjs.js +1 -0
  127. package/nodes/materials/LineBasicNodeMaterial.js +31 -0
  128. package/nodes/materials/Materials.cjs.js +1 -0
  129. package/nodes/materials/Materials.js +27 -0
  130. package/nodes/materials/MeshBasicNodeMaterial.cjs.js +1 -0
  131. package/nodes/materials/MeshBasicNodeMaterial.js +32 -0
  132. package/nodes/materials/MeshStandardNodeMaterial.cjs.js +1 -1
  133. package/nodes/materials/MeshStandardNodeMaterial.js +41 -13
  134. package/nodes/materials/NodeMaterial.cjs.js +1 -1
  135. package/nodes/materials/NodeMaterial.js +67 -140
  136. package/nodes/materials/PointsNodeMaterial.cjs.js +1 -0
  137. package/nodes/materials/PointsNodeMaterial.js +34 -0
  138. package/nodes/math/CondNode.cjs.js +1 -1
  139. package/nodes/math/CondNode.js +33 -74
  140. package/nodes/math/MathNode.cjs.js +1 -1
  141. package/nodes/math/MathNode.js +193 -193
  142. package/nodes/math/OperatorNode.cjs.js +1 -1
  143. package/nodes/math/OperatorNode.js +116 -52
  144. package/nodes/parsers/GLSLNodeFunction.cjs.js +1 -0
  145. package/nodes/parsers/GLSLNodeFunction.js +101 -0
  146. package/nodes/parsers/GLSLNodeParser.cjs.js +1 -0
  147. package/nodes/parsers/GLSLNodeParser.js +13 -0
  148. package/nodes/parsers/WGSLNodeFunction.cjs.js +1 -0
  149. package/nodes/parsers/WGSLNodeFunction.js +71 -0
  150. package/nodes/parsers/WGSLNodeParser.cjs.js +1 -0
  151. package/nodes/parsers/WGSLNodeParser.js +13 -0
  152. package/nodes/procedural/CheckerNode.cjs.js +1 -1
  153. package/nodes/procedural/CheckerNode.js +22 -40
  154. package/nodes/utils/ArrayElementNode.cjs.js +1 -0
  155. package/nodes/utils/ArrayElementNode.js +22 -0
  156. package/nodes/utils/ConvertNode.cjs.js +1 -0
  157. package/nodes/utils/ConvertNode.js +29 -0
  158. package/nodes/utils/JoinNode.cjs.js +1 -1
  159. package/nodes/utils/JoinNode.js +19 -69
  160. package/nodes/utils/MatcapUVNode.cjs.js +1 -0
  161. package/nodes/utils/MatcapUVNode.js +18 -0
  162. package/nodes/utils/OscNode.cjs.js +1 -0
  163. package/nodes/utils/OscNode.js +55 -0
  164. package/nodes/utils/SplitNode.cjs.js +1 -0
  165. package/nodes/utils/SplitNode.js +58 -0
  166. package/nodes/utils/SpriteSheetUVNode.cjs.js +1 -0
  167. package/nodes/utils/SpriteSheetUVNode.js +39 -0
  168. package/nodes/utils/TimerNode.cjs.js +1 -1
  169. package/nodes/utils/TimerNode.js +38 -56
  170. package/package.json +1 -1
  171. package/Nodes-894ac9dc.js +0 -1
  172. package/Nodes-af575af7.js +0 -157
  173. package/nodes/accessors/ColorsNode.cjs.js +0 -1
  174. package/nodes/accessors/ColorsNode.d.ts +0 -10
  175. package/nodes/accessors/ColorsNode.js +0 -40
  176. package/nodes/accessors/LightNode.cjs.js +0 -1
  177. package/nodes/accessors/LightNode.d.ts +0 -12
  178. package/nodes/accessors/LightNode.js +0 -41
  179. package/nodes/accessors/ResolutionNode.cjs.js +0 -1
  180. package/nodes/accessors/ResolutionNode.d.ts +0 -14
  181. package/nodes/accessors/ResolutionNode.js +0 -41
  182. package/nodes/accessors/ScreenUVNode.cjs.js +0 -1
  183. package/nodes/accessors/ScreenUVNode.d.ts +0 -11
  184. package/nodes/accessors/ScreenUVNode.js +0 -43
  185. package/nodes/core/NodeLib.cjs.js +0 -1
  186. package/nodes/core/NodeLib.d.ts +0 -22
  187. package/nodes/core/NodeLib.js +0 -37
  188. package/nodes/core/StructNode.cjs.js +0 -1
  189. package/nodes/core/StructNode.d.ts +0 -19
  190. package/nodes/core/StructNode.js +0 -72
  191. package/nodes/effects/BlurNode.cjs.js +0 -1
  192. package/nodes/effects/BlurNode.d.ts +0 -31
  193. package/nodes/effects/BlurNode.js +0 -100
  194. package/nodes/effects/ColorAdjustmentNode.cjs.js +0 -1
  195. package/nodes/effects/ColorAdjustmentNode.d.ts +0 -27
  196. package/nodes/effects/ColorAdjustmentNode.js +0 -73
  197. package/nodes/effects/LuminanceNode.cjs.js +0 -1
  198. package/nodes/effects/LuminanceNode.d.ts +0 -18
  199. package/nodes/effects/LuminanceNode.js +0 -46
  200. package/nodes/inputs/BoolNode.cjs.js +0 -1
  201. package/nodes/inputs/BoolNode.d.ts +0 -19
  202. package/nodes/inputs/BoolNode.js +0 -36
  203. package/nodes/inputs/ColorNode.cjs.js +0 -1
  204. package/nodes/inputs/ColorNode.d.ts +0 -21
  205. package/nodes/inputs/ColorNode.js +0 -41
  206. package/nodes/inputs/CubeTextureNode.cjs.js +0 -1
  207. package/nodes/inputs/CubeTextureNode.d.ts +0 -17
  208. package/nodes/inputs/CubeTextureNode.js +0 -79
  209. package/nodes/inputs/FloatNode.cjs.js +0 -1
  210. package/nodes/inputs/FloatNode.d.ts +0 -19
  211. package/nodes/inputs/FloatNode.js +0 -36
  212. package/nodes/inputs/IntNode.cjs.js +0 -1
  213. package/nodes/inputs/IntNode.d.ts +0 -19
  214. package/nodes/inputs/IntNode.js +0 -36
  215. package/nodes/inputs/Matrix3Node.cjs.js +0 -1
  216. package/nodes/inputs/Matrix3Node.d.ts +0 -22
  217. package/nodes/inputs/Matrix3Node.js +0 -46
  218. package/nodes/inputs/Matrix4Node.cjs.js +0 -1
  219. package/nodes/inputs/Matrix4Node.d.ts +0 -22
  220. package/nodes/inputs/Matrix4Node.js +0 -46
  221. package/nodes/inputs/PropertyNode.cjs.js +0 -1
  222. package/nodes/inputs/PropertyNode.d.ts +0 -10
  223. package/nodes/inputs/PropertyNode.js +0 -35
  224. package/nodes/inputs/RTTNode.cjs.js +0 -1
  225. package/nodes/inputs/RTTNode.d.ts +0 -27
  226. package/nodes/inputs/RTTNode.js +0 -103
  227. package/nodes/inputs/ReflectorNode.cjs.js +0 -1
  228. package/nodes/inputs/ReflectorNode.d.ts +0 -21
  229. package/nodes/inputs/ReflectorNode.js +0 -60
  230. package/nodes/inputs/ScreenNode.cjs.js +0 -1
  231. package/nodes/inputs/ScreenNode.d.ts +0 -11
  232. package/nodes/inputs/ScreenNode.js +0 -20
  233. package/nodes/inputs/TextureNode.cjs.js +0 -1
  234. package/nodes/inputs/TextureNode.d.ts +0 -20
  235. package/nodes/inputs/TextureNode.js +0 -83
  236. package/nodes/inputs/Vector2Node.cjs.js +0 -1
  237. package/nodes/inputs/Vector2Node.d.ts +0 -21
  238. package/nodes/inputs/Vector2Node.js +0 -40
  239. package/nodes/inputs/Vector3Node.cjs.js +0 -1
  240. package/nodes/inputs/Vector3Node.d.ts +0 -21
  241. package/nodes/inputs/Vector3Node.js +0 -41
  242. package/nodes/inputs/Vector4Node.cjs.js +0 -1
  243. package/nodes/inputs/Vector4Node.d.ts +0 -21
  244. package/nodes/inputs/Vector4Node.js +0 -42
  245. package/nodes/materials/BasicNodeMaterial.cjs.js +0 -1
  246. package/nodes/materials/BasicNodeMaterial.d.ts +0 -11
  247. package/nodes/materials/BasicNodeMaterial.js +0 -15
  248. package/nodes/materials/PhongNodeMaterial.cjs.js +0 -1
  249. package/nodes/materials/PhongNodeMaterial.d.ts +0 -21
  250. package/nodes/materials/PhongNodeMaterial.js +0 -15
  251. package/nodes/materials/SpriteNodeMaterial.cjs.js +0 -1
  252. package/nodes/materials/SpriteNodeMaterial.d.ts +0 -12
  253. package/nodes/materials/SpriteNodeMaterial.js +0 -15
  254. package/nodes/materials/StandardNodeMaterial.cjs.js +0 -1
  255. package/nodes/materials/StandardNodeMaterial.d.ts +0 -25
  256. package/nodes/materials/StandardNodeMaterial.js +0 -15
  257. package/nodes/materials/nodes/BasicNode.cjs.js +0 -1
  258. package/nodes/materials/nodes/BasicNode.d.ts +0 -15
  259. package/nodes/materials/nodes/BasicNode.js +0 -91
  260. package/nodes/materials/nodes/MeshStandardNode.cjs.js +0 -1
  261. package/nodes/materials/nodes/MeshStandardNode.d.ts +0 -25
  262. package/nodes/materials/nodes/MeshStandardNode.js +0 -81
  263. package/nodes/materials/nodes/PhongNode.cjs.js +0 -1
  264. package/nodes/materials/nodes/PhongNode.d.ts +0 -14
  265. package/nodes/materials/nodes/PhongNode.js +0 -212
  266. package/nodes/materials/nodes/RawNode.cjs.js +0 -1
  267. package/nodes/materials/nodes/RawNode.d.ts +0 -10
  268. package/nodes/materials/nodes/RawNode.js +0 -42
  269. package/nodes/materials/nodes/SpriteNode.cjs.js +0 -1
  270. package/nodes/materials/nodes/SpriteNode.d.ts +0 -13
  271. package/nodes/materials/nodes/SpriteNode.js +0 -113
  272. package/nodes/materials/nodes/StandardNode.cjs.js +0 -1
  273. package/nodes/materials/nodes/StandardNode.d.ts +0 -15
  274. package/nodes/materials/nodes/StandardNode.js +0 -336
  275. package/nodes/misc/BumpMapNode.cjs.js +0 -1
  276. package/nodes/misc/BumpMapNode.d.ts +0 -21
  277. package/nodes/misc/BumpMapNode.js +0 -80
  278. package/nodes/misc/NormalMapNode.cjs.js +0 -1
  279. package/nodes/misc/NormalMapNode.d.ts +0 -19
  280. package/nodes/misc/NormalMapNode.js +0 -102
  281. package/nodes/misc/TextureCubeNode.cjs.js +0 -1
  282. package/nodes/misc/TextureCubeNode.d.ts +0 -21
  283. package/nodes/misc/TextureCubeNode.js +0 -52
  284. package/nodes/misc/TextureCubeUVNode.cjs.js +0 -1
  285. package/nodes/misc/TextureCubeUVNode.d.ts +0 -18
  286. package/nodes/misc/TextureCubeUVNode.js +0 -229
  287. package/nodes/postprocessing/NodePass.cjs.js +0 -1
  288. package/nodes/postprocessing/NodePass.d.ts +0 -15
  289. package/nodes/postprocessing/NodePass.js +0 -61
  290. package/nodes/postprocessing/NodePostProcessing.cjs.js +0 -1
  291. package/nodes/postprocessing/NodePostProcessing.d.ts +0 -26
  292. package/nodes/postprocessing/NodePostProcessing.js +0 -91
  293. package/nodes/procedural/NoiseNode.cjs.js +0 -1
  294. package/nodes/procedural/NoiseNode.d.ts +0 -17
  295. package/nodes/procedural/NoiseNode.js +0 -43
  296. package/nodes/utils/BypassNode.cjs.js +0 -1
  297. package/nodes/utils/BypassNode.d.ts +0 -11
  298. package/nodes/utils/BypassNode.js +0 -55
  299. package/nodes/utils/ColorSpaceNode.cjs.js +0 -1
  300. package/nodes/utils/ColorSpaceNode.d.ts +0 -55
  301. package/nodes/utils/ColorSpaceNode.js +0 -106
  302. package/nodes/utils/MaxMIPLevelNode.cjs.js +0 -1
  303. package/nodes/utils/MaxMIPLevelNode.d.ts +0 -11
  304. package/nodes/utils/MaxMIPLevelNode.js +0 -38
  305. package/nodes/utils/SpecularMIPLevelNode.cjs.js +0 -1
  306. package/nodes/utils/SpecularMIPLevelNode.d.ts +0 -17
  307. package/nodes/utils/SpecularMIPLevelNode.js +0 -61
  308. package/nodes/utils/SubSlotNode.cjs.js +0 -1
  309. package/nodes/utils/SubSlotNode.js +0 -53
  310. package/nodes/utils/SwitchNode.cjs.js +0 -1
  311. package/nodes/utils/SwitchNode.d.ts +0 -11
  312. package/nodes/utils/SwitchNode.js +0 -69
  313. package/nodes/utils/UVTransformNode.cjs.js +0 -1
  314. package/nodes/utils/UVTransformNode.d.ts +0 -15
  315. package/nodes/utils/UVTransformNode.js +0 -46
  316. package/nodes/utils/VelocityNode.cjs.js +0 -1
  317. package/nodes/utils/VelocityNode.d.ts +0 -28
  318. package/nodes/utils/VelocityNode.js +0 -115
package/nodes/Nodes.js CHANGED
@@ -1,77 +1,204 @@
1
- export { Node } from './core/Node.js';
2
- export { TempNode } from './core/TempNode.js';
3
- export { InputNode } from './core/InputNode.js';
4
- export { ConstNode } from './core/ConstNode.js';
5
- export { VarNode } from './core/VarNode.js';
6
- export { StructNode } from './core/StructNode.js';
7
- export { AttributeNode } from './core/AttributeNode.js';
8
- export { FunctionNode } from './core/FunctionNode.js';
9
- export { ExpressionNode } from './core/ExpressionNode.js';
10
- export { FunctionCallNode } from './core/FunctionCallNode.js';
11
- export { NodeLib } from './core/NodeLib.js';
12
- export { NodeUtils } from './core/NodeUtils.js';
13
- export { NodeFrame } from './core/NodeFrame.js';
14
- export { NodeUniform } from './core/NodeUniform.js';
15
- export { NodeBuilder } from './core/NodeBuilder.js';
16
- export { BoolNode } from './inputs/BoolNode.js';
17
- export { IntNode } from './inputs/IntNode.js';
18
- export { FloatNode } from './inputs/FloatNode.js';
19
- export { Vector2Node } from './inputs/Vector2Node.js';
20
- export { Vector3Node } from './inputs/Vector3Node.js';
21
- export { Vector4Node } from './inputs/Vector4Node.js';
22
- export { ColorNode } from './inputs/ColorNode.js';
23
- export { Matrix3Node } from './inputs/Matrix3Node.js';
24
- export { Matrix4Node } from './inputs/Matrix4Node.js';
25
- export { TextureNode } from './inputs/TextureNode.js';
26
- export { CubeTextureNode } from './inputs/CubeTextureNode.js';
27
- export { ScreenNode } from './inputs/ScreenNode.js';
28
- export { ReflectorNode } from './inputs/ReflectorNode.js';
29
- export { PropertyNode } from './inputs/PropertyNode.js';
30
- export { RTTNode } from './inputs/RTTNode.js';
31
- export { UVNode } from './accessors/UVNode.js';
32
- export { ColorsNode } from './accessors/ColorsNode.js';
33
- export { PositionNode } from './accessors/PositionNode.js';
34
- export { NormalNode } from './accessors/NormalNode.js';
35
- export { CameraNode } from './accessors/CameraNode.js';
36
- export { LightNode } from './accessors/LightNode.js';
37
- export { ReflectNode } from './accessors/ReflectNode.js';
38
- export { ScreenUVNode } from './accessors/ScreenUVNode.js';
39
- export { ResolutionNode } from './accessors/ResolutionNode.js';
40
- export { MathNode } from './math/MathNode.js';
41
- export { OperatorNode } from './math/OperatorNode.js';
42
- export { CondNode } from './math/CondNode.js';
43
- export { NoiseNode } from './procedural/NoiseNode.js';
44
- export { CheckerNode } from './procedural/CheckerNode.js';
45
- export { TextureCubeUVNode } from './misc/TextureCubeUVNode.js';
46
- export { TextureCubeNode } from './misc/TextureCubeNode.js';
47
- export { NormalMapNode } from './misc/NormalMapNode.js';
48
- export { BumpMapNode } from './misc/BumpMapNode.js';
49
- export { BypassNode } from './utils/BypassNode.js';
50
- export { JoinNode } from './utils/JoinNode.js';
51
- export { SwitchNode } from './utils/SwitchNode.js';
52
- export { TimerNode } from './utils/TimerNode.js';
53
- export { VelocityNode } from './utils/VelocityNode.js';
54
- export { UVTransformNode } from './utils/UVTransformNode.js';
55
- export { MaxMIPLevelNode } from './utils/MaxMIPLevelNode.js';
56
- export { SpecularMIPLevelNode } from './utils/SpecularMIPLevelNode.js';
57
- export { ColorSpaceNode } from './utils/ColorSpaceNode.js';
58
- export { SubSlotNode } from './utils/SubSlotNode.js';
59
- export { BlurNode } from './effects/BlurNode.js';
60
- export { ColorAdjustmentNode } from './effects/ColorAdjustmentNode.js';
61
- export { LuminanceNode } from './effects/LuminanceNode.js';
62
- export { RawNode } from './materials/nodes/RawNode.js';
63
- export { BasicNode } from './materials/nodes/BasicNode.js';
64
- export { SpriteNode } from './materials/nodes/SpriteNode.js';
65
- export { PhongNode } from './materials/nodes/PhongNode.js';
66
- export { StandardNode } from './materials/nodes/StandardNode.js';
67
- export { MeshStandardNode } from './materials/nodes/MeshStandardNode.js';
68
- export { NodeMaterial } from './materials/NodeMaterial.js';
69
- export { BasicNodeMaterial } from './materials/BasicNodeMaterial.js';
70
- export { SpriteNodeMaterial } from './materials/SpriteNodeMaterial.js';
71
- export { PhongNodeMaterial } from './materials/PhongNodeMaterial.js';
72
- export { StandardNodeMaterial } from './materials/StandardNodeMaterial.js';
73
- export { MeshStandardNodeMaterial } from './materials/MeshStandardNodeMaterial.js';
74
- export { NodePostProcessing } from './postprocessing/NodePostProcessing.js';
1
+ import ArrayUniformNode from './core/ArrayUniformNode.js';
2
+ export { default as ArrayUniformNode } from './core/ArrayUniformNode.js';
3
+ import AttributeNode from './core/AttributeNode.js';
4
+ export { default as AttributeNode } from './core/AttributeNode.js';
5
+ import BypassNode from './core/BypassNode.js';
6
+ export { default as BypassNode } from './core/BypassNode.js';
7
+ import CodeNode from './core/CodeNode.js';
8
+ export { default as CodeNode } from './core/CodeNode.js';
9
+ import ConstNode from './core/ConstNode.js';
10
+ export { default as ConstNode } from './core/ConstNode.js';
11
+ import ContextNode from './core/ContextNode.js';
12
+ export { default as ContextNode } from './core/ContextNode.js';
13
+ import ExpressionNode from './core/ExpressionNode.js';
14
+ export { default as ExpressionNode } from './core/ExpressionNode.js';
15
+ import FunctionCallNode from './core/FunctionCallNode.js';
16
+ export { default as FunctionCallNode } from './core/FunctionCallNode.js';
17
+ import FunctionNode from './core/FunctionNode.js';
18
+ export { default as FunctionNode } from './core/FunctionNode.js';
19
+ import Node from './core/Node.js';
20
+ export { default as Node } from './core/Node.js';
21
+ import NodeAttribute from './core/NodeAttribute.js';
22
+ export { default as NodeAttribute } from './core/NodeAttribute.js';
23
+ import NodeBuilder from './core/NodeBuilder.js';
24
+ export { default as NodeBuilder } from './core/NodeBuilder.js';
25
+ import NodeCode from './core/NodeCode.js';
26
+ export { default as NodeCode } from './core/NodeCode.js';
27
+ import NodeFrame from './core/NodeFrame.js';
28
+ export { default as NodeFrame } from './core/NodeFrame.js';
29
+ import NodeFunctionInput from './core/NodeFunctionInput.js';
30
+ export { default as NodeFunctionInput } from './core/NodeFunctionInput.js';
31
+ import NodeKeywords from './core/NodeKeywords.js';
32
+ export { default as NodeKeywords } from './core/NodeKeywords.js';
33
+ import NodeUniform from './core/NodeUniform.js';
34
+ export { default as NodeUniform } from './core/NodeUniform.js';
35
+ import NodeVar from './core/NodeVar.js';
36
+ export { default as NodeVar } from './core/NodeVar.js';
37
+ import NodeVary from './core/NodeVary.js';
38
+ export { default as NodeVary } from './core/NodeVary.js';
39
+ import PropertyNode from './core/PropertyNode.js';
40
+ export { default as PropertyNode } from './core/PropertyNode.js';
41
+ import TempNode from './core/TempNode.js';
42
+ export { default as TempNode } from './core/TempNode.js';
43
+ import UniformNode from './core/UniformNode.js';
44
+ export { default as UniformNode } from './core/UniformNode.js';
45
+ import VarNode from './core/VarNode.js';
46
+ export { default as VarNode } from './core/VarNode.js';
47
+ import VaryNode from './core/VaryNode.js';
48
+ export { default as VaryNode } from './core/VaryNode.js';
49
+ import BufferNode from './accessors/BufferNode.js';
50
+ export { default as BufferNode } from './accessors/BufferNode.js';
51
+ import CameraNode from './accessors/CameraNode.js';
52
+ export { default as CameraNode } from './accessors/CameraNode.js';
53
+ import CubeTextureNode from './accessors/CubeTextureNode.js';
54
+ export { default as CubeTextureNode } from './accessors/CubeTextureNode.js';
55
+ import MaterialNode from './accessors/MaterialNode.js';
56
+ export { default as MaterialNode } from './accessors/MaterialNode.js';
57
+ import MaterialReferenceNode from './accessors/MaterialReferenceNode.js';
58
+ export { default as MaterialReferenceNode } from './accessors/MaterialReferenceNode.js';
59
+ import ModelNode from './accessors/ModelNode.js';
60
+ export { default as ModelNode } from './accessors/ModelNode.js';
61
+ import ModelViewProjectionNode from './accessors/ModelViewProjectionNode.js';
62
+ export { default as ModelViewProjectionNode } from './accessors/ModelViewProjectionNode.js';
63
+ import NormalNode from './accessors/NormalNode.js';
64
+ export { default as NormalNode } from './accessors/NormalNode.js';
65
+ import Object3DNode from './accessors/Object3DNode.js';
66
+ export { default as Object3DNode } from './accessors/Object3DNode.js';
67
+ import PointUVNode from './accessors/PointUVNode.js';
68
+ export { default as PointUVNode } from './accessors/PointUVNode.js';
69
+ import PositionNode from './accessors/PositionNode.js';
70
+ export { default as PositionNode } from './accessors/PositionNode.js';
71
+ import ReferenceNode from './accessors/ReferenceNode.js';
72
+ export { default as ReferenceNode } from './accessors/ReferenceNode.js';
73
+ import ReflectNode from './accessors/ReflectNode.js';
74
+ export { default as ReflectNode } from './accessors/ReflectNode.js';
75
+ import SkinningNode from './accessors/SkinningNode.js';
76
+ export { default as SkinningNode } from './accessors/SkinningNode.js';
77
+ import TextureNode from './accessors/TextureNode.js';
78
+ export { default as TextureNode } from './accessors/TextureNode.js';
79
+ import UVNode from './accessors/UVNode.js';
80
+ export { default as UVNode } from './accessors/UVNode.js';
81
+ import ColorSpaceNode from './display/ColorSpaceNode.js';
82
+ export { default as ColorSpaceNode } from './display/ColorSpaceNode.js';
83
+ import NormalMapNode from './display/NormalMapNode.js';
84
+ export { default as NormalMapNode } from './display/NormalMapNode.js';
85
+ import MathNode from './math/MathNode.js';
86
+ export { default as MathNode } from './math/MathNode.js';
87
+ import OperatorNode from './math/OperatorNode.js';
88
+ export { default as OperatorNode } from './math/OperatorNode.js';
89
+ import CondNode from './math/CondNode.js';
90
+ export { default as CondNode } from './math/CondNode.js';
91
+ import LightContextNode from './lights/LightContextNode.js';
92
+ export { default as LightContextNode } from './lights/LightContextNode.js';
93
+ import LightNode from './lights/LightNode.js';
94
+ export { default as LightNode } from './lights/LightNode.js';
95
+ import LightsNode from './lights/LightsNode.js';
96
+ export { default as LightsNode } from './lights/LightsNode.js';
97
+ import ArrayElementNode from './utils/ArrayElementNode.js';
98
+ export { default as ArrayElementNode } from './utils/ArrayElementNode.js';
99
+ import ConvertNode from './utils/ConvertNode.js';
100
+ export { default as ConvertNode } from './utils/ConvertNode.js';
101
+ import JoinNode from './utils/JoinNode.js';
102
+ export { default as JoinNode } from './utils/JoinNode.js';
103
+ import SplitNode from './utils/SplitNode.js';
104
+ export { default as SplitNode } from './utils/SplitNode.js';
105
+ import SpriteSheetUVNode from './utils/SpriteSheetUVNode.js';
106
+ export { default as SpriteSheetUVNode } from './utils/SpriteSheetUVNode.js';
107
+ import MatcapUVNode from './utils/MatcapUVNode.js';
108
+ export { default as MatcapUVNode } from './utils/MatcapUVNode.js';
109
+ import OscNode from './utils/OscNode.js';
110
+ export { default as OscNode } from './utils/OscNode.js';
111
+ import TimerNode from './utils/TimerNode.js';
112
+ export { default as TimerNode } from './utils/TimerNode.js';
113
+ import NodeLoader from './loaders/NodeLoader.js';
114
+ export { default as NodeLoader } from './loaders/NodeLoader.js';
115
+ import NodeObjectLoader from './loaders/NodeObjectLoader.js';
116
+ export { default as NodeObjectLoader } from './loaders/NodeObjectLoader.js';
117
+ import NodeMaterialLoader from './loaders/NodeMaterialLoader.js';
118
+ export { default as NodeMaterialLoader } from './loaders/NodeMaterialLoader.js';
119
+ import CheckerNode from './procedural/CheckerNode.js';
120
+ export { default as CheckerNode } from './procedural/CheckerNode.js';
121
+ import FogNode from './fog/FogNode.js';
122
+ export { default as FogNode } from './fog/FogNode.js';
123
+ import FogRangeNode from './fog/FogRangeNode.js';
124
+ export { default as FogRangeNode } from './fog/FogRangeNode.js';
75
125
 
76
- // TODO: all nodes
77
- //export { NodePass } from './postprocessing/NodePass';
126
+ // core
127
+ const nodeLib = {
128
+ // core
129
+ ArrayUniformNode,
130
+ AttributeNode,
131
+ BypassNode,
132
+ CodeNode,
133
+ ContextNode,
134
+ ConstNode,
135
+ ExpressionNode,
136
+ FunctionCallNode,
137
+ FunctionNode,
138
+ Node,
139
+ NodeAttribute,
140
+ NodeBuilder,
141
+ NodeCode,
142
+ NodeFrame,
143
+ NodeFunctionInput,
144
+ NodeKeywords,
145
+ NodeUniform,
146
+ NodeVar,
147
+ NodeVary,
148
+ PropertyNode,
149
+ TempNode,
150
+ UniformNode,
151
+ VarNode,
152
+ VaryNode,
153
+ // accessors
154
+ BufferNode,
155
+ CameraNode,
156
+ CubeTextureNode,
157
+ MaterialNode,
158
+ MaterialReferenceNode,
159
+ ModelNode,
160
+ ModelViewProjectionNode,
161
+ NormalNode,
162
+ Object3DNode,
163
+ PointUVNode,
164
+ PositionNode,
165
+ ReferenceNode,
166
+ ReflectNode,
167
+ SkinningNode,
168
+ TextureNode,
169
+ UVNode,
170
+ // display
171
+ ColorSpaceNode,
172
+ NormalMapNode,
173
+ // math
174
+ MathNode,
175
+ OperatorNode,
176
+ CondNode,
177
+ // lights
178
+ LightContextNode,
179
+ LightNode,
180
+ LightsNode,
181
+ // utils
182
+ ArrayElementNode,
183
+ ConvertNode,
184
+ JoinNode,
185
+ SplitNode,
186
+ SpriteSheetUVNode,
187
+ MatcapUVNode,
188
+ OscNode,
189
+ TimerNode,
190
+ // procedural
191
+ CheckerNode,
192
+ // fog
193
+ FogNode,
194
+ FogRangeNode,
195
+ // loaders
196
+ NodeLoader,
197
+ NodeObjectLoader,
198
+ NodeMaterialLoader
199
+ };
200
+ const fromType = type => {
201
+ return new nodeLib[type]();
202
+ };
203
+
204
+ export { fromType };
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("./core/PropertyNode.cjs.js"),r=require("./core/VarNode.cjs.js"),o=require("./core/AttributeNode.cjs.js"),s=require("./core/ConstNode.cjs.js"),t=require("./core/UniformNode.cjs.js"),n=require("./accessors/BufferNode.cjs.js"),w=require("./accessors/PositionNode.cjs.js"),p=require("./accessors/NormalNode.cjs.js"),a=require("./accessors/CameraNode.cjs.js"),c=require("./accessors/ModelNode.cjs.js"),i=require("./accessors/TextureNode.cjs.js"),x=require("./accessors/UVNode.cjs.js"),u=require("./math/OperatorNode.cjs.js"),l=require("./math/CondNode.cjs.js"),d=require("./math/MathNode.cjs.js"),j=require("./utils/ArrayElementNode.cjs.js"),m=require("./utils/ConvertNode.cjs.js"),f=require("./utils/JoinNode.cjs.js"),N=require("./utils/SplitNode.cjs.js"),q=require("./core/NodeUtils.cjs.js");require("./core/Node.cjs.js"),require("./core/constants.cjs.js"),require("three"),require("./core/VaryNode.cjs.js"),require("./core/InputNode.cjs.js"),require("@babel/runtime/helpers/defineProperty"),require("./accessors/Object3DNode.cjs.js"),require("./core/TempNode.cjs.js"),require("./core/ExpressionNode.cjs.js"),require("./core/NodeBuilder.cjs.js"),require("./core/NodeUniform.cjs.js"),require("./core/NodeAttribute.cjs.js"),require("./core/NodeVary.cjs.js"),require("./core/NodeVar.cjs.js"),require("./core/NodeCode.cjs.js"),require("./core/NodeKeywords.cjs.js"),require("./core/ContextNode.cjs.js");const v={construct(e,r){const o=r.shift();return e(new b(o),...r)},get:function(e,r){if("string"==typeof r&&void 0===e[r]){if(!0===/^[xyzwrgbastpq]{1,4}$/.test(r))return r=r.replace(/r|s/g,"x").replace(/g|t/g,"y").replace(/b|p/g,"z").replace(/a|q/g,"w"),new h(new N(e,r));if(!0===/^\d+$/.test(r))return new h(new j(e,_(Number(r))))}return e[r]}},g=new WeakMap,h=function(e){const r=typeof e;if("number"===r||"boolean"===r)return new h(A(e));if("object"===r&&!0===e.isNode){let r=g.get(e);return void 0===r&&(r=new Proxy(e,v),g.set(e,r),g.set(r,r)),r}return e},b=function(e){for(const r in e)e[r]=new h(e[r]);return e},I=e=>{const r=e.length;for(let o=0;o<r;o++)e[o]=new h(e[o]);return e},y=function(e,r=null,o=null){return null===r?(...r)=>new h(new e(...I(r))):null===o?(...o)=>new h(new e(r,...I(o))):(o=new h(o),(...s)=>new h(new e(r,...I(s),o)))},M=[!1,!0],T=[0,1,2,3],V=[-1,-2],P=[.5,1.5,1/3,1e-6,1e6,Math.PI,2*Math.PI,1/Math.PI,2/Math.PI,1/(2*Math.PI),Math.PI/2],O=new Map;for(let e of M)O.set(e,new s(e));const C=new Map;for(let e of T)C.set(e,new s(e,"uint"));const E=new Map([...C].map((e=>new s(e.value,"int"))));for(let e of V)E.set(e,new s(e,"int"));const L=new Map([...E].map((e=>new s(e.value))));for(let e of P)L.set(e,new s(e));for(let e of P)L.set(-e,new s(-e));const W=new Map([...O,...L]),A=e=>W.has(e)?W.get(e):!0===e.isNode?e:new s(e),D=function(e,r=null){return(...o)=>{if(0===o.length)return R(new s(q.getValueFromType(e),e));{if("color"===e&&!0!==o[0].isNode&&(o=[q.getValueFromType(e,...o)]),1===o.length&&null!==r&&r.has(o[0]))return r.get(o[0]);const s=o.map(A);return R(new m(1===s.length?s[0]:new f(s),e))}}},F=new Proxy((function(e){return(r,o)=>(new b(r),new h(e(r,o)))}),v),R=e=>new h(e),S=new D("color"),z=new D("float",L),U=new D("int",E),_=new D("uint",C),B=new D("bool",O),G=new D("vec2"),X=new D("ivec2"),Y=new D("uvec2"),$=new D("bvec2"),k=new D("vec3"),J=new D("ivec3"),K=new D("uvec3"),H=new D("bvec3"),Q=new D("vec4"),Z=new D("ivec4"),ee=new D("uvec4"),re=new D("bvec4"),oe=new D("mat3"),se=new D("imat3"),te=new D("umat3"),ne=new D("bmat3"),we=new D("mat4"),pe=new D("imat4"),ae=new D("umat4"),ce=new D("bmat4"),ie=new y(u,"+"),xe=new y(u,"-"),ue=new y(u,"*"),le=new y(u,"/"),de=new y(u,"%"),je=new y(u,"=="),me=new y(u,"="),fe=new y(u,"<"),Ne=new y(u,">"),qe=new y(u,"<="),ve=new y(u,">="),ge=new y(u,"&&"),he=new y(u,"||"),be=new y(u,"^^"),Ie=new y(u,"&"),ye=new y(u,"|"),Me=new y(u,"^"),Te=new y(u,"<<"),Ve=new y(u,">>"),Pe=new y(j),Oe=new h(new p(p.GEOMETRY)),Ce=new h(new p(p.LOCAL)),Ee=new h(new p(p.WORLD)),Le=new h(new p(p.VIEW)),We=new h(new r(new p(p.VIEW),"TransformedNormalView","vec3")),Ae=new h(new w(w.LOCAL)),De=new h(new w(w.WORLD)),Fe=new h(new w(w.VIEW)),Re=new h(new w(w.VIEW_DIRECTION)),Se=new h(new c(c.VIEW_MATRIX)),ze=new h(new a(a.POSITION)),Ue=new h(new e("DiffuseColor","vec4")),_e=new h(new e("Roughness","float")),Be=new h(new e("Metalness","float")),Ge=new h(new e("AlphaTest","float")),Xe=new h(new e("SpecularColor","color")),Ye=new y(d,"abs"),$e=new y(d,"acos"),ke=new y(d,"asin"),Je=new y(d,"atan"),Ke=new y(d,"ceil"),He=new y(d,"clamp"),Qe=new y(d,"cos"),Ze=new y(d,"cross"),er=new y(d,"degrees"),rr=new y(d,"dFdx"),or=new y(d,"dFdy"),sr=new y(d,"distance"),tr=new y(d,"dot"),nr=new y(d,"exp"),wr=new y(d,"exp2"),pr=new y(d,"faceforward"),ar=new y(d,"floor"),cr=new y(d,"fract"),ir=new y(d,"invert"),xr=new y(d,"inversesqrt"),ur=new y(d,"length"),lr=new y(d,"log"),dr=new y(d,"log2"),jr=new y(d,"max"),mr=new y(d,"min"),fr=new y(d,"mix"),Nr=new y(d,"mod"),qr=new y(d,"negate"),vr=new y(d,"normalize"),gr=new y(d,"pow"),hr=new y(d,"pow",2),br=new y(d,"pow",3),Ir=new y(d,"pow",4),yr=new y(d,"radians"),Mr=new y(d,"reflect"),Tr=new y(d,"refract"),Vr=new y(d,"round"),Pr=new y(d,"saturate"),Or=new y(d,"sign"),Cr=new y(d,"sin"),Er=new y(d,"smoothstep"),Lr=new y(d,"sqrt"),Wr=new y(d,"step"),Ar=new y(d,"tan"),Dr=new y(d,"transformDirection"),Fr=z(1e-6),Rr=z(1e6);exports.EPSILON=Fr,exports.INFINITY=Rr,exports.ShaderNode=F,exports.abs=Ye,exports.acos=$e,exports.add=ie,exports.addTo=(e,...r)=>(e.node=ie(e.node,...I(r)),R(e)),exports.alphaTest=Ge,exports.and=ge,exports.asin=ke,exports.assign=me,exports.atan=Je,exports.attribute=(...e)=>R(new o(...e)),exports.bitAnd=Ie,exports.bitOr=ye,exports.bitXor=Me,exports.bmat3=ne,exports.bmat4=ce,exports.bool=B,exports.buffer=(...e)=>R(new n(...e)),exports.bvec2=$,exports.bvec3=H,exports.bvec4=re,exports.cameraPosition=ze,exports.ceil=Ke,exports.clamp=He,exports.color=S,exports.cond=(...e)=>R(new l(...I(e))),exports.cos=Qe,exports.cross=Ze,exports.dFdx=rr,exports.dFdy=or,exports.degrees=er,exports.diffuseColor=Ue,exports.distance=sr,exports.div=le,exports.dot=tr,exports.element=Pe,exports.equal=je,exports.exp=nr,exports.exp2=wr,exports.faceforward=pr,exports.float=z,exports.floor=ar,exports.fract=cr,exports.greaterThan=Ne,exports.greaterThanEqual=ve,exports.imat3=se,exports.imat4=pe,exports.int=U,exports.inversesqrt=xr,exports.invert=ir,exports.ivec2=X,exports.ivec3=J,exports.ivec4=Z,exports.join=(...e)=>R(new f(I(e))),exports.label=(e,o)=>!0===(e=R(e)).isVarNode?(e.name=o,e):R(new r(e,o)),exports.length=ur,exports.lessThan=fe,exports.lessThanEqual=qe,exports.log=lr,exports.log2=dr,exports.mat3=oe,exports.mat4=we,exports.max=jr,exports.metalness=Be,exports.min=mr,exports.mix=fr,exports.mod=Nr,exports.mul=ue,exports.negate=qr,exports.nodeObject=R,exports.normalGeometry=Oe,exports.normalLocal=Ce,exports.normalView=Le,exports.normalWorld=Ee,exports.normalize=vr,exports.or=he,exports.positionLocal=Ae,exports.positionView=Fe,exports.positionViewDirection=Re,exports.positionWorld=De,exports.pow=gr,exports.pow2=hr,exports.pow3=br,exports.pow4=Ir,exports.radians=yr,exports.reflect=Mr,exports.refract=Tr,exports.remainder=de,exports.roughness=_e,exports.round=Vr,exports.sampler=e=>R(new m(!0===e.isNode?e:new i(e),"sampler")),exports.saturate=Pr,exports.shiftLeft=Te,exports.shiftRight=Ve,exports.sign=Or,exports.sin=Cr,exports.smoothstep=Er,exports.specularColor=Xe,exports.sqrt=Lr,exports.step=Wr,exports.sub=xe,exports.tan=Ar,exports.temp=e=>R(new r(R(e))),exports.texture=(...e)=>R(new i(...e)),exports.transformDirection=Dr,exports.transformedNormalView=We,exports.uint=_,exports.umat3=te,exports.umat4=ae,exports.uniform=e=>{var r;return e=!0===e.isNode?(null===(r=e.node)||void 0===r?void 0:r.value)||e.value:e,R(new t(e,e.nodeType))},exports.uv=(...e)=>R(new x(...e)),exports.uvec2=Y,exports.uvec3=K,exports.uvec4=ee,exports.vec2=G,exports.vec3=k,exports.vec4=Q,exports.viewMatrix=Se,exports.xor=be;
@@ -0,0 +1,308 @@
1
+ import PropertyNode from './core/PropertyNode.js';
2
+ import VarNode from './core/VarNode.js';
3
+ import AttributeNode from './core/AttributeNode.js';
4
+ import ConstNode from './core/ConstNode.js';
5
+ import UniformNode from './core/UniformNode.js';
6
+ import BufferNode from './accessors/BufferNode.js';
7
+ import PositionNode from './accessors/PositionNode.js';
8
+ import NormalNode from './accessors/NormalNode.js';
9
+ import CameraNode from './accessors/CameraNode.js';
10
+ import ModelNode from './accessors/ModelNode.js';
11
+ import TextureNode from './accessors/TextureNode.js';
12
+ import UVNode from './accessors/UVNode.js';
13
+ import OperatorNode from './math/OperatorNode.js';
14
+ import CondNode from './math/CondNode.js';
15
+ import MathNode from './math/MathNode.js';
16
+ import ArrayElementNode from './utils/ArrayElementNode.js';
17
+ import ConvertNode from './utils/ConvertNode.js';
18
+ import JoinNode from './utils/JoinNode.js';
19
+ import SplitNode from './utils/SplitNode.js';
20
+ import { getValueFromType } from './core/NodeUtils.js';
21
+
22
+ // core nodes
23
+ const NodeHandler = {
24
+ construct(NodeClosure, params) {
25
+ const inputs = params.shift();
26
+ return NodeClosure(new ShaderNodeObjects(inputs), ...params);
27
+ },
28
+
29
+ get: function (node, prop) {
30
+ if (typeof prop === 'string' && node[prop] === undefined) {
31
+ if (/^[xyzwrgbastpq]{1,4}$/.test(prop) === true) {
32
+ // accessing properties ( swizzle )
33
+ prop = prop.replace(/r|s/g, 'x').replace(/g|t/g, 'y').replace(/b|p/g, 'z').replace(/a|q/g, 'w');
34
+ return new ShaderNodeObject(new SplitNode(node, prop));
35
+ } else if (/^\d+$/.test(prop) === true) {
36
+ // accessing array
37
+ return new ShaderNodeObject(new ArrayElementNode(node, uint(Number(prop))));
38
+ }
39
+ }
40
+
41
+ return node[prop];
42
+ }
43
+ };
44
+ const nodeObjects = new WeakMap();
45
+
46
+ const ShaderNodeObject = function (obj) {
47
+ const type = typeof obj;
48
+
49
+ if (type === 'number' || type === 'boolean') {
50
+ return new ShaderNodeObject(getAutoTypedConstNode(obj));
51
+ } else if (type === 'object') {
52
+ if (obj.isNode === true) {
53
+ let nodeObject = nodeObjects.get(obj);
54
+
55
+ if (nodeObject === undefined) {
56
+ nodeObject = new Proxy(obj, NodeHandler);
57
+ nodeObjects.set(obj, nodeObject);
58
+ nodeObjects.set(nodeObject, nodeObject);
59
+ }
60
+
61
+ return nodeObject;
62
+ }
63
+ }
64
+
65
+ return obj;
66
+ };
67
+
68
+ const ShaderNodeObjects = function (objects) {
69
+ for (const name in objects) {
70
+ objects[name] = new ShaderNodeObject(objects[name]);
71
+ }
72
+
73
+ return objects;
74
+ };
75
+
76
+ const getShaderNodeArray = array => {
77
+ const len = array.length;
78
+
79
+ for (let i = 0; i < len; i++) {
80
+ array[i] = new ShaderNodeObject(array[i]);
81
+ }
82
+
83
+ return array;
84
+ };
85
+
86
+ const ShaderNodeProxy = function (NodeClass, scope = null, factor = null) {
87
+ if (scope === null) {
88
+ return (...params) => {
89
+ return new ShaderNodeObject(new NodeClass(...getShaderNodeArray(params)));
90
+ };
91
+ } else if (factor === null) {
92
+ return (...params) => {
93
+ return new ShaderNodeObject(new NodeClass(scope, ...getShaderNodeArray(params)));
94
+ };
95
+ } else {
96
+ factor = new ShaderNodeObject(factor);
97
+ return (...params) => {
98
+ return new ShaderNodeObject(new NodeClass(scope, ...getShaderNodeArray(params), factor));
99
+ };
100
+ }
101
+ };
102
+
103
+ const ShaderNodeScript = function (jsFunc) {
104
+ return (inputs, builder) => {
105
+ new ShaderNodeObjects(inputs);
106
+ return new ShaderNodeObject(jsFunc(inputs, builder));
107
+ };
108
+ };
109
+
110
+ const bools = [false, true];
111
+ const uints = [0, 1, 2, 3];
112
+ const ints = [-1, -2];
113
+ const floats = [0.5, 1.5, 1 / 3, 1e-6, 1e6, Math.PI, Math.PI * 2, 1 / Math.PI, 2 / Math.PI, 1 / (Math.PI * 2), Math.PI / 2];
114
+ const boolsCacheMap = new Map();
115
+
116
+ for (let bool of bools) boolsCacheMap.set(bool, new ConstNode(bool));
117
+
118
+ const uintsCacheMap = new Map();
119
+
120
+ for (let uint of uints) uintsCacheMap.set(uint, new ConstNode(uint, 'uint'));
121
+
122
+ const intsCacheMap = new Map([...uintsCacheMap].map(el => new ConstNode(el.value, 'int')));
123
+
124
+ for (let int of ints) intsCacheMap.set(int, new ConstNode(int, 'int'));
125
+
126
+ const floatsCacheMap = new Map([...intsCacheMap].map(el => new ConstNode(el.value)));
127
+
128
+ for (let float of floats) floatsCacheMap.set(float, new ConstNode(float));
129
+
130
+ for (let float of floats) floatsCacheMap.set(-float, new ConstNode(-float));
131
+
132
+ const constNodesCacheMap = new Map([...boolsCacheMap, ...floatsCacheMap]);
133
+
134
+ const getAutoTypedConstNode = value => {
135
+ if (constNodesCacheMap.has(value)) {
136
+ return constNodesCacheMap.get(value);
137
+ } else if (value.isNode === true) {
138
+ return value;
139
+ } else {
140
+ return new ConstNode(value);
141
+ }
142
+ };
143
+
144
+ const ConvertType = function (type, cacheMap = null) {
145
+ return (...params) => {
146
+ if (params.length === 0) {
147
+ return nodeObject(new ConstNode(getValueFromType(type), type));
148
+ } else {
149
+ if (type === 'color' && params[0].isNode !== true) {
150
+ params = [getValueFromType(type, ...params)];
151
+ }
152
+
153
+ if (params.length === 1 && cacheMap !== null && cacheMap.has(params[0])) {
154
+ return cacheMap.get(params[0]);
155
+ }
156
+
157
+ const nodes = params.map(getAutoTypedConstNode);
158
+ return nodeObject(new ConvertNode(nodes.length === 1 ? nodes[0] : new JoinNode(nodes), type));
159
+ }
160
+ };
161
+ }; //
162
+ // Node Material Shader Syntax
163
+ //
164
+
165
+
166
+ const ShaderNode = new Proxy(ShaderNodeScript, NodeHandler);
167
+ const nodeObject = val => {
168
+ return new ShaderNodeObject(val);
169
+ };
170
+ const uniform = value => {
171
+ var _value$node;
172
+
173
+ // TODO: get ConstNode from .traverse() in the future
174
+ value = value.isNode === true ? ((_value$node = value.node) === null || _value$node === void 0 ? void 0 : _value$node.value) || value.value : value;
175
+ return nodeObject(new UniformNode(value, value.nodeType));
176
+ };
177
+ const label = (node, name) => {
178
+ node = nodeObject(node);
179
+
180
+ if (node.isVarNode === true) {
181
+ node.name = name;
182
+ return node;
183
+ }
184
+
185
+ return nodeObject(new VarNode(node, name));
186
+ };
187
+ const temp = node => nodeObject(new VarNode(nodeObject(node)));
188
+ const color = new ConvertType('color');
189
+ const float = new ConvertType('float', floatsCacheMap);
190
+ const int = new ConvertType('int', intsCacheMap);
191
+ const uint = new ConvertType('uint', uintsCacheMap);
192
+ const bool = new ConvertType('bool', boolsCacheMap);
193
+ const vec2 = new ConvertType('vec2');
194
+ const ivec2 = new ConvertType('ivec2');
195
+ const uvec2 = new ConvertType('uvec2');
196
+ const bvec2 = new ConvertType('bvec2');
197
+ const vec3 = new ConvertType('vec3');
198
+ const ivec3 = new ConvertType('ivec3');
199
+ const uvec3 = new ConvertType('uvec3');
200
+ const bvec3 = new ConvertType('bvec3');
201
+ const vec4 = new ConvertType('vec4');
202
+ const ivec4 = new ConvertType('ivec4');
203
+ const uvec4 = new ConvertType('uvec4');
204
+ const bvec4 = new ConvertType('bvec4');
205
+ const mat3 = new ConvertType('mat3');
206
+ const imat3 = new ConvertType('imat3');
207
+ const umat3 = new ConvertType('umat3');
208
+ const bmat3 = new ConvertType('bmat3');
209
+ const mat4 = new ConvertType('mat4');
210
+ const imat4 = new ConvertType('imat4');
211
+ const umat4 = new ConvertType('umat4');
212
+ const bmat4 = new ConvertType('bmat4');
213
+ const join = (...params) => nodeObject(new JoinNode(getShaderNodeArray(params)));
214
+ const uv = (...params) => nodeObject(new UVNode(...params));
215
+ const attribute = (...params) => nodeObject(new AttributeNode(...params));
216
+ const buffer = (...params) => nodeObject(new BufferNode(...params));
217
+ const texture = (...params) => nodeObject(new TextureNode(...params));
218
+ const sampler = texture => nodeObject(new ConvertNode(texture.isNode === true ? texture : new TextureNode(texture), 'sampler'));
219
+ const cond = (...params) => nodeObject(new CondNode(...getShaderNodeArray(params)));
220
+ const addTo = (varNode, ...params) => {
221
+ varNode.node = add(varNode.node, ...getShaderNodeArray(params));
222
+ return nodeObject(varNode);
223
+ };
224
+ const add = new ShaderNodeProxy(OperatorNode, '+');
225
+ const sub = new ShaderNodeProxy(OperatorNode, '-');
226
+ const mul = new ShaderNodeProxy(OperatorNode, '*');
227
+ const div = new ShaderNodeProxy(OperatorNode, '/');
228
+ const remainder = new ShaderNodeProxy(OperatorNode, '%');
229
+ const equal = new ShaderNodeProxy(OperatorNode, '==');
230
+ const assign = new ShaderNodeProxy(OperatorNode, '=');
231
+ const lessThan = new ShaderNodeProxy(OperatorNode, '<');
232
+ const greaterThan = new ShaderNodeProxy(OperatorNode, '>');
233
+ const lessThanEqual = new ShaderNodeProxy(OperatorNode, '<=');
234
+ const greaterThanEqual = new ShaderNodeProxy(OperatorNode, '>=');
235
+ const and = new ShaderNodeProxy(OperatorNode, '&&');
236
+ const or = new ShaderNodeProxy(OperatorNode, '||');
237
+ const xor = new ShaderNodeProxy(OperatorNode, '^^');
238
+ const bitAnd = new ShaderNodeProxy(OperatorNode, '&');
239
+ const bitOr = new ShaderNodeProxy(OperatorNode, '|');
240
+ const bitXor = new ShaderNodeProxy(OperatorNode, '^');
241
+ const shiftLeft = new ShaderNodeProxy(OperatorNode, '<<');
242
+ const shiftRight = new ShaderNodeProxy(OperatorNode, '>>');
243
+ const element = new ShaderNodeProxy(ArrayElementNode);
244
+ const normalGeometry = new ShaderNodeObject(new NormalNode(NormalNode.GEOMETRY));
245
+ const normalLocal = new ShaderNodeObject(new NormalNode(NormalNode.LOCAL));
246
+ const normalWorld = new ShaderNodeObject(new NormalNode(NormalNode.WORLD));
247
+ const normalView = new ShaderNodeObject(new NormalNode(NormalNode.VIEW));
248
+ const transformedNormalView = new ShaderNodeObject(new VarNode(new NormalNode(NormalNode.VIEW), 'TransformedNormalView', 'vec3'));
249
+ const positionLocal = new ShaderNodeObject(new PositionNode(PositionNode.LOCAL));
250
+ const positionWorld = new ShaderNodeObject(new PositionNode(PositionNode.WORLD));
251
+ const positionView = new ShaderNodeObject(new PositionNode(PositionNode.VIEW));
252
+ const positionViewDirection = new ShaderNodeObject(new PositionNode(PositionNode.VIEW_DIRECTION));
253
+ const viewMatrix = new ShaderNodeObject(new ModelNode(ModelNode.VIEW_MATRIX));
254
+ const cameraPosition = new ShaderNodeObject(new CameraNode(CameraNode.POSITION));
255
+ const diffuseColor = new ShaderNodeObject(new PropertyNode('DiffuseColor', 'vec4'));
256
+ const roughness = new ShaderNodeObject(new PropertyNode('Roughness', 'float'));
257
+ const metalness = new ShaderNodeObject(new PropertyNode('Metalness', 'float'));
258
+ const alphaTest = new ShaderNodeObject(new PropertyNode('AlphaTest', 'float'));
259
+ const specularColor = new ShaderNodeObject(new PropertyNode('SpecularColor', 'color'));
260
+ const abs = new ShaderNodeProxy(MathNode, 'abs');
261
+ const acos = new ShaderNodeProxy(MathNode, 'acos');
262
+ const asin = new ShaderNodeProxy(MathNode, 'asin');
263
+ const atan = new ShaderNodeProxy(MathNode, 'atan');
264
+ const ceil = new ShaderNodeProxy(MathNode, 'ceil');
265
+ const clamp = new ShaderNodeProxy(MathNode, 'clamp');
266
+ const cos = new ShaderNodeProxy(MathNode, 'cos');
267
+ const cross = new ShaderNodeProxy(MathNode, 'cross');
268
+ const degrees = new ShaderNodeProxy(MathNode, 'degrees');
269
+ const dFdx = new ShaderNodeProxy(MathNode, 'dFdx');
270
+ const dFdy = new ShaderNodeProxy(MathNode, 'dFdy');
271
+ const distance = new ShaderNodeProxy(MathNode, 'distance');
272
+ const dot = new ShaderNodeProxy(MathNode, 'dot');
273
+ const exp = new ShaderNodeProxy(MathNode, 'exp');
274
+ const exp2 = new ShaderNodeProxy(MathNode, 'exp2');
275
+ const faceforward = new ShaderNodeProxy(MathNode, 'faceforward');
276
+ const floor = new ShaderNodeProxy(MathNode, 'floor');
277
+ const fract = new ShaderNodeProxy(MathNode, 'fract');
278
+ const invert = new ShaderNodeProxy(MathNode, 'invert');
279
+ const inversesqrt = new ShaderNodeProxy(MathNode, 'inversesqrt');
280
+ const length = new ShaderNodeProxy(MathNode, 'length');
281
+ const log = new ShaderNodeProxy(MathNode, 'log');
282
+ const log2 = new ShaderNodeProxy(MathNode, 'log2');
283
+ const max = new ShaderNodeProxy(MathNode, 'max');
284
+ const min = new ShaderNodeProxy(MathNode, 'min');
285
+ const mix = new ShaderNodeProxy(MathNode, 'mix');
286
+ const mod = new ShaderNodeProxy(MathNode, 'mod');
287
+ const negate = new ShaderNodeProxy(MathNode, 'negate');
288
+ const normalize = new ShaderNodeProxy(MathNode, 'normalize');
289
+ const pow = new ShaderNodeProxy(MathNode, 'pow');
290
+ const pow2 = new ShaderNodeProxy(MathNode, 'pow', 2);
291
+ const pow3 = new ShaderNodeProxy(MathNode, 'pow', 3);
292
+ const pow4 = new ShaderNodeProxy(MathNode, 'pow', 4);
293
+ const radians = new ShaderNodeProxy(MathNode, 'radians');
294
+ const reflect = new ShaderNodeProxy(MathNode, 'reflect');
295
+ const refract = new ShaderNodeProxy(MathNode, 'refract');
296
+ const round = new ShaderNodeProxy(MathNode, 'round');
297
+ const saturate = new ShaderNodeProxy(MathNode, 'saturate');
298
+ const sign = new ShaderNodeProxy(MathNode, 'sign');
299
+ const sin = new ShaderNodeProxy(MathNode, 'sin');
300
+ const smoothstep = new ShaderNodeProxy(MathNode, 'smoothstep');
301
+ const sqrt = new ShaderNodeProxy(MathNode, 'sqrt');
302
+ const step = new ShaderNodeProxy(MathNode, 'step');
303
+ const tan = new ShaderNodeProxy(MathNode, 'tan');
304
+ const transformDirection = new ShaderNodeProxy(MathNode, 'transformDirection');
305
+ const EPSILON = float(1e-6);
306
+ const INFINITY = float(1e6);
307
+
308
+ export { EPSILON, INFINITY, ShaderNode, abs, acos, add, addTo, alphaTest, and, asin, assign, atan, attribute, bitAnd, bitOr, bitXor, bmat3, bmat4, bool, buffer, bvec2, bvec3, bvec4, cameraPosition, ceil, clamp, color, cond, cos, cross, dFdx, dFdy, degrees, diffuseColor, distance, div, dot, element, equal, exp, exp2, faceforward, float, floor, fract, greaterThan, greaterThanEqual, imat3, imat4, int, inversesqrt, invert, ivec2, ivec3, ivec4, join, label, length, lessThan, lessThanEqual, log, log2, mat3, mat4, max, metalness, min, mix, mod, mul, negate, nodeObject, normalGeometry, normalLocal, normalView, normalWorld, normalize, or, positionLocal, positionView, positionViewDirection, positionWorld, pow, pow2, pow3, pow4, radians, reflect, refract, remainder, roughness, round, sampler, saturate, shiftLeft, shiftRight, sign, sin, smoothstep, specularColor, sqrt, step, sub, tan, temp, texture, transformDirection, transformedNormalView, uint, umat3, umat4, uniform, uv, uvec2, uvec3, uvec4, vec2, vec3, vec4, viewMatrix, xor };
@@ -0,0 +1 @@
1
+ "use strict";var e=require("../core/UniformNode.cjs.js");require("../core/InputNode.cjs.js"),require("../core/Node.cjs.js"),require("../core/constants.cjs.js"),require("../core/NodeUtils.cjs.js"),require("three");class r extends e{constructor(e,r,s=0){super(e,r),this.bufferType=r,this.bufferCount=s}getInputType(){return"buffer"}}r.prototype.isBufferNode=!0,module.exports=r;
@@ -0,0 +1,18 @@
1
+ import UniformNode from '../core/UniformNode.js';
2
+
3
+ class BufferNode extends UniformNode {
4
+ constructor(value, bufferType, bufferCount = 0) {
5
+ super(value, bufferType);
6
+ this.bufferType = bufferType;
7
+ this.bufferCount = bufferCount;
8
+ }
9
+
10
+ getInputType() {
11
+ return 'buffer';
12
+ }
13
+
14
+ }
15
+
16
+ BufferNode.prototype.isBufferNode = true;
17
+
18
+ export default BufferNode;