@anov/3d 0.0.3 → 0.0.4-alpha12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (586) hide show
  1. package/README.md +1 -144
  2. package/dist/applicationApi.d.ts +34 -0
  3. package/dist/{core/cssRenderer.js → applicationApi.js} +53 -21
  4. package/dist/environment/index.d.ts +24 -0
  5. package/dist/environment/index.js +84 -0
  6. package/dist/environment/time/index.d.ts +12 -0
  7. package/dist/environment/time/index.js +27 -0
  8. package/dist/environment/weather/type.d.ts +15 -0
  9. package/dist/environment/weather/type.js +27 -0
  10. package/dist/hooksManager.d.ts +2 -0
  11. package/dist/hooksManager.js +15 -0
  12. package/dist/index.d.ts +15 -3
  13. package/dist/index.js +38 -5
  14. package/dist/messageStatus.d.ts +49 -0
  15. package/dist/messageStatus.js +50 -0
  16. package/dist/utils/index.d.ts +11 -44
  17. package/dist/utils/index.js +29 -73
  18. package/dist/utils/messageFn.d.ts +12 -0
  19. package/dist/utils/messageFn.js +33 -0
  20. package/package.json +8 -24
  21. package/dist/commonEnu.d.ts +0 -5
  22. package/dist/commonEnu.js +0 -6
  23. package/dist/core/camera.d.ts +0 -32
  24. package/dist/core/camera.js +0 -74
  25. package/dist/core/control/transformControls.d.ts +0 -12
  26. package/dist/core/control/transformControls.js +0 -72
  27. package/dist/core/cssRenderer.d.ts +0 -17
  28. package/dist/core/global/global.d.ts +0 -27
  29. package/dist/core/global/global.js +0 -72
  30. package/dist/core/global/globalControl.d.ts +0 -17
  31. package/dist/core/global/globalControl.js +0 -62
  32. package/dist/core/group.d.ts +0 -53
  33. package/dist/core/group.js +0 -135
  34. package/dist/core/line.d.ts +0 -13
  35. package/dist/core/line.js +0 -83
  36. package/dist/core/mesh.d.ts +0 -49
  37. package/dist/core/mesh.js +0 -146
  38. package/dist/core/model.d.ts +0 -29
  39. package/dist/core/model.js +0 -85
  40. package/dist/core/scene.d.ts +0 -175
  41. package/dist/core/scene.js +0 -389
  42. package/dist/core/use/useScene.d.ts +0 -10
  43. package/dist/core/use/useScene.js +0 -14
  44. package/dist/core/use/useframe.d.ts +0 -6
  45. package/dist/core/use/useframe.js +0 -11
  46. package/dist/export.d.ts +0 -40
  47. package/dist/export.js +0 -36
  48. package/dist/threeCell.d.ts +0 -8
  49. package/dist/threeCell.js +0 -16
  50. package/dist/type.d.ts +0 -4
  51. package/dist/type.js +0 -1
  52. package/dist/utils/createElement.d.ts +0 -103
  53. package/dist/utils/createElement.js +0 -145
  54. package/dist/utils/createLabel.d.ts +0 -2
  55. package/dist/utils/createLabel.js +0 -4
  56. package/dist/utils/line.d.ts +0 -0
  57. package/dist/utils/line.js +0 -0
  58. package/dist/utils/move.d.ts +0 -48
  59. package/dist/utils/move.js +0 -149
  60. package/examples/fonts/LICENSE +0 -13
  61. package/examples/fonts/README.md +0 -11
  62. package/examples/fonts/droid/NOTICE +0 -190
  63. package/examples/fonts/droid/README.txt +0 -18
  64. package/examples/fonts/droid/droid_sans_bold.typeface.json +0 -1
  65. package/examples/fonts/droid/droid_sans_mono_regular.typeface.json +0 -1
  66. package/examples/fonts/droid/droid_sans_regular.typeface.json +0 -1
  67. package/examples/fonts/droid/droid_serif_bold.typeface.json +0 -1
  68. package/examples/fonts/droid/droid_serif_regular.typeface.json +0 -1
  69. package/examples/fonts/gentilis_bold.typeface.json +0 -1
  70. package/examples/fonts/gentilis_regular.typeface.json +0 -1
  71. package/examples/fonts/helvetiker_bold.typeface.json +0 -1
  72. package/examples/fonts/helvetiker_regular.typeface.json +0 -1
  73. package/examples/fonts/optimer_bold.typeface.json +0 -1
  74. package/examples/fonts/optimer_regular.typeface.json +0 -1
  75. package/examples/fonts/ttf/README.md +0 -9
  76. package/examples/fonts/ttf/kenpixel.ttf +0 -0
  77. package/examples/jsm/animation/AnimationClipCreator.js +0 -116
  78. package/examples/jsm/animation/CCDIKSolver.js +0 -482
  79. package/examples/jsm/animation/MMDAnimationHelper.js +0 -1207
  80. package/examples/jsm/animation/MMDPhysics.js +0 -1406
  81. package/examples/jsm/cameras/CinematicCamera.js +0 -208
  82. package/examples/jsm/capabilities/WebGL.js +0 -91
  83. package/examples/jsm/capabilities/WebGPU.js +0 -53
  84. package/examples/jsm/controls/ArcballControls.js +0 -3224
  85. package/examples/jsm/controls/DragControls.js +0 -220
  86. package/examples/jsm/controls/FirstPersonControls.js +0 -325
  87. package/examples/jsm/controls/FlyControls.js +0 -300
  88. package/examples/jsm/controls/MapControls.js +0 -28
  89. package/examples/jsm/controls/OrbitControls.js +0 -1388
  90. package/examples/jsm/controls/PointerLockControls.js +0 -162
  91. package/examples/jsm/controls/TrackballControls.js +0 -828
  92. package/examples/jsm/controls/TransformControls.js +0 -1557
  93. package/examples/jsm/csm/CSM.js +0 -384
  94. package/examples/jsm/csm/CSMFrustum.js +0 -152
  95. package/examples/jsm/csm/CSMHelper.js +0 -193
  96. package/examples/jsm/csm/CSMShader.js +0 -252
  97. package/examples/jsm/curves/CurveExtras.js +0 -422
  98. package/examples/jsm/curves/NURBSCurve.js +0 -80
  99. package/examples/jsm/curves/NURBSSurface.js +0 -52
  100. package/examples/jsm/curves/NURBSUtils.js +0 -487
  101. package/examples/jsm/effects/AnaglyphEffect.js +0 -154
  102. package/examples/jsm/effects/AsciiEffect.js +0 -263
  103. package/examples/jsm/effects/OutlineEffect.js +0 -539
  104. package/examples/jsm/effects/ParallaxBarrierEffect.js +0 -119
  105. package/examples/jsm/effects/PeppersGhostEffect.js +0 -153
  106. package/examples/jsm/effects/StereoEffect.js +0 -55
  107. package/examples/jsm/environments/DebugEnvironment.js +0 -52
  108. package/examples/jsm/environments/RoomEnvironment.js +0 -148
  109. package/examples/jsm/exporters/DRACOExporter.js +0 -267
  110. package/examples/jsm/exporters/EXRExporter.js +0 -501
  111. package/examples/jsm/exporters/GLTFExporter.js +0 -3161
  112. package/examples/jsm/exporters/KTX2Exporter.js +0 -292
  113. package/examples/jsm/exporters/MMDExporter.js +0 -217
  114. package/examples/jsm/exporters/OBJExporter.js +0 -284
  115. package/examples/jsm/exporters/PLYExporter.js +0 -528
  116. package/examples/jsm/exporters/STLExporter.js +0 -199
  117. package/examples/jsm/exporters/USDZExporter.js +0 -711
  118. package/examples/jsm/geometries/BoxLineGeometry.js +0 -69
  119. package/examples/jsm/geometries/ConvexGeometry.js +0 -53
  120. package/examples/jsm/geometries/DecalGeometry.js +0 -356
  121. package/examples/jsm/geometries/ParametricGeometries.js +0 -254
  122. package/examples/jsm/geometries/ParametricGeometry.js +0 -139
  123. package/examples/jsm/geometries/RoundedBoxGeometry.js +0 -155
  124. package/examples/jsm/geometries/TeapotGeometry.js +0 -704
  125. package/examples/jsm/geometries/TextGeometry.js +0 -57
  126. package/examples/jsm/helpers/LightProbeHelper.js +0 -130
  127. package/examples/jsm/helpers/OctreeHelper.js +0 -73
  128. package/examples/jsm/helpers/PositionalAudioHelper.js +0 -109
  129. package/examples/jsm/helpers/RectAreaLightHelper.js +0 -85
  130. package/examples/jsm/helpers/VertexNormalsHelper.js +0 -96
  131. package/examples/jsm/helpers/VertexTangentsHelper.js +0 -88
  132. package/examples/jsm/helpers/ViewHelper.js +0 -333
  133. package/examples/jsm/interactive/HTMLMesh.js +0 -565
  134. package/examples/jsm/interactive/InteractiveGroup.js +0 -116
  135. package/examples/jsm/interactive/SelectionBox.js +0 -227
  136. package/examples/jsm/interactive/SelectionHelper.js +0 -104
  137. package/examples/jsm/libs/ammo.wasm.js +0 -822
  138. package/examples/jsm/libs/ammo.wasm.wasm +0 -0
  139. package/examples/jsm/libs/basis/README.md +0 -46
  140. package/examples/jsm/libs/basis/basis_transcoder.js +0 -21
  141. package/examples/jsm/libs/basis/basis_transcoder.wasm +0 -0
  142. package/examples/jsm/libs/chevrotain.module.min.js +0 -141
  143. package/examples/jsm/libs/draco/README.md +0 -32
  144. package/examples/jsm/libs/draco/draco_decoder.js +0 -34
  145. package/examples/jsm/libs/draco/draco_decoder.wasm +0 -0
  146. package/examples/jsm/libs/draco/draco_encoder.js +0 -33
  147. package/examples/jsm/libs/draco/draco_wasm_wrapper.js +0 -117
  148. package/examples/jsm/libs/draco/gltf/draco_decoder.js +0 -33
  149. package/examples/jsm/libs/draco/gltf/draco_decoder.wasm +0 -0
  150. package/examples/jsm/libs/draco/gltf/draco_encoder.js +0 -33
  151. package/examples/jsm/libs/draco/gltf/draco_wasm_wrapper.js +0 -116
  152. package/examples/jsm/libs/ecsy.module.js +0 -1792
  153. package/examples/jsm/libs/fflate.module.js +0 -2474
  154. package/examples/jsm/libs/ktx-parse.module.js +0 -1
  155. package/examples/jsm/libs/lil-gui.module.min.js +0 -8
  156. package/examples/jsm/libs/lottie_canvas.module.js +0 -14844
  157. package/examples/jsm/libs/meshopt_decoder.module.js +0 -178
  158. package/examples/jsm/libs/mikktspace.module.js +0 -128
  159. package/examples/jsm/libs/mmdparser.module.js +0 -11530
  160. package/examples/jsm/libs/motion-controllers.module.js +0 -397
  161. package/examples/jsm/libs/opentype.module.js +0 -14568
  162. package/examples/jsm/libs/potpack.module.js +0 -125
  163. package/examples/jsm/libs/rhino3dm/rhino3dm.js +0 -21
  164. package/examples/jsm/libs/rhino3dm/rhino3dm.module.js +0 -16
  165. package/examples/jsm/libs/rhino3dm/rhino3dm.wasm +0 -0
  166. package/examples/jsm/libs/stats.module.js +0 -167
  167. package/examples/jsm/libs/tween.module.js +0 -803
  168. package/examples/jsm/libs/utif.module.js +0 -1579
  169. package/examples/jsm/libs/zstddec.module.js +0 -1
  170. package/examples/jsm/lights/IESSpotLight.js +0 -25
  171. package/examples/jsm/lights/LightProbeGenerator.js +0 -252
  172. package/examples/jsm/lights/RectAreaLightUniformsLib.js +0 -79
  173. package/examples/jsm/lines/Line2.js +0 -19
  174. package/examples/jsm/lines/LineGeometry.js +0 -79
  175. package/examples/jsm/lines/LineMaterial.js +0 -702
  176. package/examples/jsm/lines/LineSegments2.js +0 -361
  177. package/examples/jsm/lines/LineSegmentsGeometry.js +0 -241
  178. package/examples/jsm/lines/Wireframe.js +0 -56
  179. package/examples/jsm/lines/WireframeGeometry2.js +0 -24
  180. package/examples/jsm/loaders/3DMLoader.js +0 -1497
  181. package/examples/jsm/loaders/3MFLoader.js +0 -1478
  182. package/examples/jsm/loaders/AMFLoader.js +0 -521
  183. package/examples/jsm/loaders/BVHLoader.js +0 -437
  184. package/examples/jsm/loaders/ColladaLoader.js +0 -4122
  185. package/examples/jsm/loaders/DDSLoader.js +0 -274
  186. package/examples/jsm/loaders/DRACOLoader.js +0 -612
  187. package/examples/jsm/loaders/EXRLoader.js +0 -2309
  188. package/examples/jsm/loaders/FBXLoader.js +0 -4142
  189. package/examples/jsm/loaders/FontLoader.js +0 -183
  190. package/examples/jsm/loaders/GCodeLoader.js +0 -261
  191. package/examples/jsm/loaders/GLTFLoader.js +0 -4576
  192. package/examples/jsm/loaders/HDRCubeTextureLoader.js +0 -115
  193. package/examples/jsm/loaders/IESLoader.js +0 -337
  194. package/examples/jsm/loaders/KMZLoader.js +0 -130
  195. package/examples/jsm/loaders/KTX2Loader.js +0 -868
  196. package/examples/jsm/loaders/KTXLoader.js +0 -176
  197. package/examples/jsm/loaders/LDrawLoader.js +0 -2464
  198. package/examples/jsm/loaders/LUT3dlLoader.js +0 -151
  199. package/examples/jsm/loaders/LUTCubeLoader.js +0 -153
  200. package/examples/jsm/loaders/LWOLoader.js +0 -1052
  201. package/examples/jsm/loaders/LogLuvLoader.js +0 -606
  202. package/examples/jsm/loaders/LottieLoader.js +0 -77
  203. package/examples/jsm/loaders/MD2Loader.js +0 -399
  204. package/examples/jsm/loaders/MDDLoader.js +0 -102
  205. package/examples/jsm/loaders/MMDLoader.js +0 -2273
  206. package/examples/jsm/loaders/MTLLoader.js +0 -567
  207. package/examples/jsm/loaders/MaterialXLoader.js +0 -734
  208. package/examples/jsm/loaders/NRRDLoader.js +0 -699
  209. package/examples/jsm/loaders/OBJLoader.js +0 -905
  210. package/examples/jsm/loaders/PCDLoader.js +0 -467
  211. package/examples/jsm/loaders/PDBLoader.js +0 -232
  212. package/examples/jsm/loaders/PLYLoader.js +0 -771
  213. package/examples/jsm/loaders/PVRLoader.js +0 -251
  214. package/examples/jsm/loaders/RGBELoader.js +0 -468
  215. package/examples/jsm/loaders/RGBMLoader.js +0 -1065
  216. package/examples/jsm/loaders/STLLoader.js +0 -403
  217. package/examples/jsm/loaders/SVGLoader.js +0 -3172
  218. package/examples/jsm/loaders/TDSLoader.js +0 -1124
  219. package/examples/jsm/loaders/TGALoader.js +0 -517
  220. package/examples/jsm/loaders/TIFFLoader.js +0 -36
  221. package/examples/jsm/loaders/TTFLoader.js +0 -214
  222. package/examples/jsm/loaders/TiltLoader.js +0 -520
  223. package/examples/jsm/loaders/USDZLoader.js +0 -633
  224. package/examples/jsm/loaders/VOXLoader.js +0 -311
  225. package/examples/jsm/loaders/VRMLLoader.js +0 -3533
  226. package/examples/jsm/loaders/VTKLoader.js +0 -1163
  227. package/examples/jsm/loaders/XYZLoader.js +0 -106
  228. package/examples/jsm/loaders/lwo/IFFParser.js +0 -1218
  229. package/examples/jsm/loaders/lwo/LWO2Parser.js +0 -414
  230. package/examples/jsm/loaders/lwo/LWO3Parser.js +0 -373
  231. package/examples/jsm/materials/MeshGouraudMaterial.js +0 -420
  232. package/examples/jsm/math/Capsule.js +0 -137
  233. package/examples/jsm/math/ColorConverter.js +0 -36
  234. package/examples/jsm/math/ConvexHull.js +0 -1271
  235. package/examples/jsm/math/ImprovedNoise.js +0 -71
  236. package/examples/jsm/math/Lut.js +0 -204
  237. package/examples/jsm/math/MeshSurfaceSampler.js +0 -250
  238. package/examples/jsm/math/OBB.js +0 -423
  239. package/examples/jsm/math/Octree.js +0 -462
  240. package/examples/jsm/math/SimplexNoise.js +0 -444
  241. package/examples/jsm/misc/ConvexObjectBreaker.js +0 -519
  242. package/examples/jsm/misc/GPUComputationRenderer.js +0 -446
  243. package/examples/jsm/misc/Gyroscope.js +0 -66
  244. package/examples/jsm/misc/MD2Character.js +0 -276
  245. package/examples/jsm/misc/MD2CharacterComplex.js +0 -576
  246. package/examples/jsm/misc/MorphAnimMesh.js +0 -75
  247. package/examples/jsm/misc/MorphBlendMesh.js +0 -322
  248. package/examples/jsm/misc/ProgressiveLightMap.js +0 -323
  249. package/examples/jsm/misc/RollerCoaster.js +0 -566
  250. package/examples/jsm/misc/TubePainter.js +0 -205
  251. package/examples/jsm/misc/Volume.js +0 -473
  252. package/examples/jsm/misc/VolumeSlice.js +0 -229
  253. package/examples/jsm/modifiers/CurveModifier.js +0 -326
  254. package/examples/jsm/modifiers/EdgeSplitModifier.js +0 -279
  255. package/examples/jsm/modifiers/SimplifyModifier.js +0 -525
  256. package/examples/jsm/modifiers/TessellateModifier.js +0 -307
  257. package/examples/jsm/nodes/Nodes.js +0 -171
  258. package/examples/jsm/nodes/accessors/BitangentNode.js +0 -89
  259. package/examples/jsm/nodes/accessors/BufferAttributeNode.js +0 -99
  260. package/examples/jsm/nodes/accessors/BufferNode.js +0 -30
  261. package/examples/jsm/nodes/accessors/CameraNode.js +0 -98
  262. package/examples/jsm/nodes/accessors/CubeTextureNode.js +0 -103
  263. package/examples/jsm/nodes/accessors/ExtendedMaterialNode.js +0 -77
  264. package/examples/jsm/nodes/accessors/InstanceNode.js +0 -71
  265. package/examples/jsm/nodes/accessors/MaterialNode.js +0 -267
  266. package/examples/jsm/nodes/accessors/MaterialReferenceNode.js +0 -39
  267. package/examples/jsm/nodes/accessors/ModelNode.js +0 -34
  268. package/examples/jsm/nodes/accessors/ModelViewProjectionNode.js +0 -29
  269. package/examples/jsm/nodes/accessors/MorphNode.js +0 -70
  270. package/examples/jsm/nodes/accessors/NormalNode.js +0 -96
  271. package/examples/jsm/nodes/accessors/Object3DNode.js +0 -150
  272. package/examples/jsm/nodes/accessors/PointUVNode.js +0 -26
  273. package/examples/jsm/nodes/accessors/PositionNode.js +0 -104
  274. package/examples/jsm/nodes/accessors/ReferenceNode.js +0 -72
  275. package/examples/jsm/nodes/accessors/ReflectVectorNode.js +0 -35
  276. package/examples/jsm/nodes/accessors/SceneNode.js +0 -52
  277. package/examples/jsm/nodes/accessors/SkinningNode.js +0 -93
  278. package/examples/jsm/nodes/accessors/StorageBufferNode.js +0 -27
  279. package/examples/jsm/nodes/accessors/TangentNode.js +0 -103
  280. package/examples/jsm/nodes/accessors/TextureBicubicNode.js +0 -94
  281. package/examples/jsm/nodes/accessors/TextureNode.js +0 -271
  282. package/examples/jsm/nodes/accessors/TextureSizeNode.js +0 -35
  283. package/examples/jsm/nodes/accessors/UVNode.js +0 -47
  284. package/examples/jsm/nodes/accessors/UserDataNode.js +0 -29
  285. package/examples/jsm/nodes/code/CodeNode.js +0 -78
  286. package/examples/jsm/nodes/code/ExpressionNode.js +0 -37
  287. package/examples/jsm/nodes/code/FunctionCallNode.js +0 -96
  288. package/examples/jsm/nodes/code/FunctionNode.js +0 -127
  289. package/examples/jsm/nodes/code/ScriptableNode.js +0 -488
  290. package/examples/jsm/nodes/code/ScriptableValueNode.js +0 -167
  291. package/examples/jsm/nodes/core/ArrayUniformNode.js +0 -26
  292. package/examples/jsm/nodes/core/AttributeNode.js +0 -102
  293. package/examples/jsm/nodes/core/BypassNode.js +0 -45
  294. package/examples/jsm/nodes/core/CacheNode.js +0 -46
  295. package/examples/jsm/nodes/core/ConstNode.js +0 -32
  296. package/examples/jsm/nodes/core/ContextNode.js +0 -61
  297. package/examples/jsm/nodes/core/IndexNode.js +0 -66
  298. package/examples/jsm/nodes/core/InputNode.js +0 -83
  299. package/examples/jsm/nodes/core/LightingModel.js +0 -15
  300. package/examples/jsm/nodes/core/Node.js +0 -454
  301. package/examples/jsm/nodes/core/NodeAttribute.js +0 -15
  302. package/examples/jsm/nodes/core/NodeBuilder.js +0 -1016
  303. package/examples/jsm/nodes/core/NodeCache.js +0 -26
  304. package/examples/jsm/nodes/core/NodeCode.js +0 -15
  305. package/examples/jsm/nodes/core/NodeFrame.js +0 -110
  306. package/examples/jsm/nodes/core/NodeFunction.js +0 -22
  307. package/examples/jsm/nodes/core/NodeFunctionInput.js +0 -17
  308. package/examples/jsm/nodes/core/NodeKeywords.js +0 -80
  309. package/examples/jsm/nodes/core/NodeParser.js +0 -11
  310. package/examples/jsm/nodes/core/NodeUniform.js +0 -28
  311. package/examples/jsm/nodes/core/NodeUtils.js +0 -212
  312. package/examples/jsm/nodes/core/NodeVar.js +0 -14
  313. package/examples/jsm/nodes/core/NodeVarying.js +0 -17
  314. package/examples/jsm/nodes/core/PropertyNode.js +0 -61
  315. package/examples/jsm/nodes/core/StackNode.js +0 -99
  316. package/examples/jsm/nodes/core/TempNode.js +0 -58
  317. package/examples/jsm/nodes/core/UniformNode.js +0 -61
  318. package/examples/jsm/nodes/core/VarNode.js +0 -87
  319. package/examples/jsm/nodes/core/VaryingNode.js +0 -69
  320. package/examples/jsm/nodes/core/constants.js +0 -27
  321. package/examples/jsm/nodes/display/BlendModeNode.js +0 -99
  322. package/examples/jsm/nodes/display/BumpMapNode.js +0 -77
  323. package/examples/jsm/nodes/display/ColorAdjustmentNode.js +0 -100
  324. package/examples/jsm/nodes/display/ColorSpaceNode.js +0 -108
  325. package/examples/jsm/nodes/display/FrontFacingNode.js +0 -27
  326. package/examples/jsm/nodes/display/NormalMapNode.js +0 -106
  327. package/examples/jsm/nodes/display/PosterizeNode.js +0 -32
  328. package/examples/jsm/nodes/display/ToneMappingNode.js +0 -141
  329. package/examples/jsm/nodes/display/ViewportDepthNode.js +0 -69
  330. package/examples/jsm/nodes/display/ViewportDepthTextureNode.js +0 -34
  331. package/examples/jsm/nodes/display/ViewportNode.js +0 -115
  332. package/examples/jsm/nodes/display/ViewportSharedTextureNode.js +0 -31
  333. package/examples/jsm/nodes/display/ViewportTextureNode.js +0 -75
  334. package/examples/jsm/nodes/fog/FogExp2Node.js +0 -35
  335. package/examples/jsm/nodes/fog/FogNode.js +0 -37
  336. package/examples/jsm/nodes/fog/FogRangeNode.js +0 -34
  337. package/examples/jsm/nodes/functions/BSDF/BRDF_GGX.js +0 -40
  338. package/examples/jsm/nodes/functions/BSDF/BRDF_Lambert.js +0 -9
  339. package/examples/jsm/nodes/functions/BSDF/BRDF_Sheen.js +0 -43
  340. package/examples/jsm/nodes/functions/BSDF/DFGApprox.js +0 -29
  341. package/examples/jsm/nodes/functions/BSDF/D_GGX.js +0 -18
  342. package/examples/jsm/nodes/functions/BSDF/EnvironmentBRDF.js +0 -13
  343. package/examples/jsm/nodes/functions/BSDF/F_Schlick.js +0 -16
  344. package/examples/jsm/nodes/functions/BSDF/Schlick_to_F0.js +0 -13
  345. package/examples/jsm/nodes/functions/BSDF/V_GGX_SmithCorrelated.js +0 -20
  346. package/examples/jsm/nodes/functions/PhongLightingModel.js +0 -67
  347. package/examples/jsm/nodes/functions/PhysicalLightingModel.js +0 -343
  348. package/examples/jsm/nodes/functions/material/getGeometryRoughness.js +0 -13
  349. package/examples/jsm/nodes/functions/material/getRoughness.js +0 -18
  350. package/examples/jsm/nodes/geometry/RangeNode.js +0 -104
  351. package/examples/jsm/nodes/gpgpu/ComputeNode.js +0 -85
  352. package/examples/jsm/nodes/lighting/AONode.js +0 -27
  353. package/examples/jsm/nodes/lighting/AmbientLightNode.js +0 -27
  354. package/examples/jsm/nodes/lighting/AnalyticLightNode.js +0 -184
  355. package/examples/jsm/nodes/lighting/DirectionalLightNode.js +0 -40
  356. package/examples/jsm/nodes/lighting/EnvironmentNode.js +0 -191
  357. package/examples/jsm/nodes/lighting/HemisphereLightNode.js +0 -55
  358. package/examples/jsm/nodes/lighting/IESSpotLightNode.js +0 -39
  359. package/examples/jsm/nodes/lighting/LightNode.js +0 -57
  360. package/examples/jsm/nodes/lighting/LightUtils.js +0 -17
  361. package/examples/jsm/nodes/lighting/LightingContextNode.js +0 -102
  362. package/examples/jsm/nodes/lighting/LightingNode.js +0 -21
  363. package/examples/jsm/nodes/lighting/LightsNode.js +0 -128
  364. package/examples/jsm/nodes/lighting/PointLightNode.js +0 -68
  365. package/examples/jsm/nodes/lighting/SpotLightNode.js +0 -89
  366. package/examples/jsm/nodes/loaders/NodeLoader.js +0 -108
  367. package/examples/jsm/nodes/loaders/NodeMaterialLoader.js +0 -59
  368. package/examples/jsm/nodes/loaders/NodeObjectLoader.js +0 -70
  369. package/examples/jsm/nodes/materials/LineBasicNodeMaterial.js +0 -28
  370. package/examples/jsm/nodes/materials/Materials.js +0 -12
  371. package/examples/jsm/nodes/materials/MeshBasicNodeMaterial.js +0 -27
  372. package/examples/jsm/nodes/materials/MeshLambertNodeMaterial.js +0 -34
  373. package/examples/jsm/nodes/materials/MeshNormalNodeMaterial.js +0 -40
  374. package/examples/jsm/nodes/materials/MeshPhongNodeMaterial.js +0 -65
  375. package/examples/jsm/nodes/materials/MeshPhysicalNodeMaterial.js +0 -128
  376. package/examples/jsm/nodes/materials/MeshStandardNodeMaterial.js +0 -80
  377. package/examples/jsm/nodes/materials/NodeMaterial.js +0 -536
  378. package/examples/jsm/nodes/materials/PointsNodeMaterial.js +0 -49
  379. package/examples/jsm/nodes/materials/SpriteNodeMaterial.js +0 -103
  380. package/examples/jsm/nodes/materialx/DISCLAIMER.md +0 -199
  381. package/examples/jsm/nodes/materialx/MaterialXNodes.js +0 -68
  382. package/examples/jsm/nodes/materialx/lib/mx_hsv.js +0 -56
  383. package/examples/jsm/nodes/materialx/lib/mx_noise.js +0 -618
  384. package/examples/jsm/nodes/materialx/lib/mx_transform_color.js +0 -19
  385. package/examples/jsm/nodes/math/CondNode.js +0 -86
  386. package/examples/jsm/nodes/math/MathNode.js +0 -359
  387. package/examples/jsm/nodes/math/OperatorNode.js +0 -269
  388. package/examples/jsm/nodes/parsers/GLSLNodeFunction.js +0 -152
  389. package/examples/jsm/nodes/parsers/GLSLNodeParser.js +0 -14
  390. package/examples/jsm/nodes/procedural/CheckerNode.js +0 -42
  391. package/examples/jsm/nodes/shadernode/ShaderNode.js +0 -420
  392. package/examples/jsm/nodes/utils/ArrayElementNode.js +0 -33
  393. package/examples/jsm/nodes/utils/ConvertNode.js +0 -65
  394. package/examples/jsm/nodes/utils/DiscardNode.js +0 -26
  395. package/examples/jsm/nodes/utils/EquirectUVNode.js +0 -33
  396. package/examples/jsm/nodes/utils/JoinNode.js +0 -51
  397. package/examples/jsm/nodes/utils/LoopNode.js +0 -186
  398. package/examples/jsm/nodes/utils/MatcapUVNode.js +0 -30
  399. package/examples/jsm/nodes/utils/MaxMipLevelNode.js +0 -46
  400. package/examples/jsm/nodes/utils/OscNode.js +0 -81
  401. package/examples/jsm/nodes/utils/PackingNode.js +0 -55
  402. package/examples/jsm/nodes/utils/RemapNode.js +0 -42
  403. package/examples/jsm/nodes/utils/RotateUVNode.js +0 -43
  404. package/examples/jsm/nodes/utils/SpecularMIPLevelNode.js +0 -37
  405. package/examples/jsm/nodes/utils/SplitNode.js +0 -104
  406. package/examples/jsm/nodes/utils/SpriteSheetUVNode.js +0 -41
  407. package/examples/jsm/nodes/utils/TimerNode.js +0 -94
  408. package/examples/jsm/nodes/utils/TriplanarTexturesNode.js +0 -62
  409. package/examples/jsm/objects/GroundProjectedSkybox.js +0 -172
  410. package/examples/jsm/objects/Lensflare.js +0 -377
  411. package/examples/jsm/objects/MarchingCubes.js +0 -1176
  412. package/examples/jsm/objects/Reflector.js +0 -264
  413. package/examples/jsm/objects/ReflectorForSSRPass.js +0 -349
  414. package/examples/jsm/objects/Refractor.js +0 -324
  415. package/examples/jsm/objects/ShadowMesh.js +0 -80
  416. package/examples/jsm/objects/Sky.js +0 -219
  417. package/examples/jsm/objects/Water.js +0 -330
  418. package/examples/jsm/objects/Water2.js +0 -358
  419. package/examples/jsm/offscreen/jank.js +0 -45
  420. package/examples/jsm/offscreen/offscreen.js +0 -8
  421. package/examples/jsm/offscreen/scene.js +0 -86
  422. package/examples/jsm/physics/AmmoPhysics.js +0 -285
  423. package/examples/jsm/physics/RapierPhysics.js +0 -199
  424. package/examples/jsm/postprocessing/AfterimagePass.js +0 -104
  425. package/examples/jsm/postprocessing/BloomPass.js +0 -172
  426. package/examples/jsm/postprocessing/BokehPass.js +0 -140
  427. package/examples/jsm/postprocessing/ClearPass.js +0 -46
  428. package/examples/jsm/postprocessing/CubeTexturePass.js +0 -85
  429. package/examples/jsm/postprocessing/DotScreenPass.js +0 -65
  430. package/examples/jsm/postprocessing/EffectComposer.js +0 -231
  431. package/examples/jsm/postprocessing/FilmPass.js +0 -66
  432. package/examples/jsm/postprocessing/GlitchPass.js +0 -128
  433. package/examples/jsm/postprocessing/HalftonePass.js +0 -79
  434. package/examples/jsm/postprocessing/LUTPass.js +0 -173
  435. package/examples/jsm/postprocessing/MaskPass.js +0 -104
  436. package/examples/jsm/postprocessing/OutlinePass.js +0 -654
  437. package/examples/jsm/postprocessing/OutputPass.js +0 -91
  438. package/examples/jsm/postprocessing/Pass.js +0 -84
  439. package/examples/jsm/postprocessing/RenderPass.js +0 -81
  440. package/examples/jsm/postprocessing/RenderPixelatedPass.js +0 -235
  441. package/examples/jsm/postprocessing/SAOPass.js +0 -411
  442. package/examples/jsm/postprocessing/SMAAPass.js +0 -201
  443. package/examples/jsm/postprocessing/SSAARenderPass.js +0 -228
  444. package/examples/jsm/postprocessing/SSAOPass.js +0 -440
  445. package/examples/jsm/postprocessing/SSRPass.js +0 -641
  446. package/examples/jsm/postprocessing/SavePass.js +0 -79
  447. package/examples/jsm/postprocessing/ShaderPass.js +0 -77
  448. package/examples/jsm/postprocessing/TAARenderPass.js +0 -189
  449. package/examples/jsm/postprocessing/TexturePass.js +0 -67
  450. package/examples/jsm/postprocessing/UnrealBloomPass.js +0 -415
  451. package/examples/jsm/renderers/CSS2DRenderer.js +0 -215
  452. package/examples/jsm/renderers/CSS3DRenderer.js +0 -335
  453. package/examples/jsm/renderers/Projector.js +0 -918
  454. package/examples/jsm/renderers/SVGRenderer.js +0 -553
  455. package/examples/jsm/renderers/common/Animation.js +0 -58
  456. package/examples/jsm/renderers/common/Attributes.js +0 -75
  457. package/examples/jsm/renderers/common/Backend.js +0 -162
  458. package/examples/jsm/renderers/common/Background.js +0 -136
  459. package/examples/jsm/renderers/common/Binding.js +0 -19
  460. package/examples/jsm/renderers/common/Bindings.js +0 -165
  461. package/examples/jsm/renderers/common/Buffer.js +0 -38
  462. package/examples/jsm/renderers/common/BufferUtils.js +0 -33
  463. package/examples/jsm/renderers/common/ChainMap.js +0 -89
  464. package/examples/jsm/renderers/common/ComputePipeline.js +0 -17
  465. package/examples/jsm/renderers/common/Constants.js +0 -14
  466. package/examples/jsm/renderers/common/CubeRenderTarget.js +0 -65
  467. package/examples/jsm/renderers/common/DataMap.js +0 -54
  468. package/examples/jsm/renderers/common/Geometries.js +0 -215
  469. package/examples/jsm/renderers/common/Info.js +0 -73
  470. package/examples/jsm/renderers/common/Pipeline.js +0 -13
  471. package/examples/jsm/renderers/common/Pipelines.js +0 -370
  472. package/examples/jsm/renderers/common/ProgrammableStage.js +0 -18
  473. package/examples/jsm/renderers/common/RenderContext.js +0 -38
  474. package/examples/jsm/renderers/common/RenderContexts.js +0 -49
  475. package/examples/jsm/renderers/common/RenderList.js +0 -178
  476. package/examples/jsm/renderers/common/RenderLists.js +0 -38
  477. package/examples/jsm/renderers/common/RenderObject.js +0 -129
  478. package/examples/jsm/renderers/common/RenderObjects.js +0 -95
  479. package/examples/jsm/renderers/common/RenderPipeline.js +0 -16
  480. package/examples/jsm/renderers/common/Renderer.js +0 -895
  481. package/examples/jsm/renderers/common/SampledTexture.js +0 -80
  482. package/examples/jsm/renderers/common/Sampler.js +0 -18
  483. package/examples/jsm/renderers/common/StorageBuffer.js +0 -17
  484. package/examples/jsm/renderers/common/Textures.js +0 -218
  485. package/examples/jsm/renderers/common/Uniform.js +0 -140
  486. package/examples/jsm/renderers/common/UniformBuffer.js +0 -15
  487. package/examples/jsm/renderers/common/UniformsGroup.js +0 -299
  488. package/examples/jsm/renderers/common/nodes/NodeSampledTexture.js +0 -39
  489. package/examples/jsm/renderers/common/nodes/NodeSampler.js +0 -21
  490. package/examples/jsm/renderers/common/nodes/NodeUniform.js +0 -135
  491. package/examples/jsm/renderers/common/nodes/Nodes.js +0 -330
  492. package/examples/jsm/renderers/webgl/nodes/GLSLNodeBuilder.js +0 -340
  493. package/examples/jsm/renderers/webgl/nodes/SlotNode.js +0 -26
  494. package/examples/jsm/renderers/webgl/nodes/WebGLNodeBuilder.js +0 -764
  495. package/examples/jsm/renderers/webgl/nodes/WebGLNodes.js +0 -49
  496. package/examples/jsm/renderers/webgpu/WebGPUBackend.js +0 -844
  497. package/examples/jsm/renderers/webgpu/WebGPURenderer.js +0 -32
  498. package/examples/jsm/renderers/webgpu/nodes/WGSLNodeBuilder.js +0 -902
  499. package/examples/jsm/renderers/webgpu/nodes/WGSLNodeFunction.js +0 -104
  500. package/examples/jsm/renderers/webgpu/nodes/WGSLNodeParser.js +0 -14
  501. package/examples/jsm/renderers/webgpu/utils/WebGPUAttributeUtils.js +0 -274
  502. package/examples/jsm/renderers/webgpu/utils/WebGPUBindingUtils.js +0 -223
  503. package/examples/jsm/renderers/webgpu/utils/WebGPUConstants.js +0 -324
  504. package/examples/jsm/renderers/webgpu/utils/WebGPUPipelineUtils.js +0 -533
  505. package/examples/jsm/renderers/webgpu/utils/WebGPUTextureMipmapUtils.js +0 -163
  506. package/examples/jsm/renderers/webgpu/utils/WebGPUTextureUtils.js +0 -964
  507. package/examples/jsm/renderers/webgpu/utils/WebGPUUtils.js +0 -92
  508. package/examples/jsm/shaders/ACESFilmicToneMappingShader.js +0 -87
  509. package/examples/jsm/shaders/AfterimageShader.js +0 -56
  510. package/examples/jsm/shaders/BasicShader.js +0 -27
  511. package/examples/jsm/shaders/BleachBypassShader.js +0 -62
  512. package/examples/jsm/shaders/BlendShader.js +0 -47
  513. package/examples/jsm/shaders/BokehShader.js +0 -143
  514. package/examples/jsm/shaders/BokehShader2.js +0 -393
  515. package/examples/jsm/shaders/BrightnessContrastShader.js +0 -54
  516. package/examples/jsm/shaders/ColorCorrectionShader.js +0 -50
  517. package/examples/jsm/shaders/ColorifyShader.js +0 -51
  518. package/examples/jsm/shaders/ConvolutionShader.js +0 -103
  519. package/examples/jsm/shaders/CopyShader.js +0 -45
  520. package/examples/jsm/shaders/DOFMipMapShader.js +0 -54
  521. package/examples/jsm/shaders/DepthLimitedBlurShader.js +0 -166
  522. package/examples/jsm/shaders/DigitalGlitch.js +0 -101
  523. package/examples/jsm/shaders/DotScreenShader.js +0 -70
  524. package/examples/jsm/shaders/ExposureShader.js +0 -44
  525. package/examples/jsm/shaders/FXAAShader.js +0 -286
  526. package/examples/jsm/shaders/FilmShader.js +0 -102
  527. package/examples/jsm/shaders/FocusShader.js +0 -87
  528. package/examples/jsm/shaders/FreiChenShader.js +0 -94
  529. package/examples/jsm/shaders/GammaCorrectionShader.js +0 -43
  530. package/examples/jsm/shaders/GodRaysShader.js +0 -313
  531. package/examples/jsm/shaders/HalftoneShader.js +0 -310
  532. package/examples/jsm/shaders/HorizontalBlurShader.js +0 -59
  533. package/examples/jsm/shaders/HorizontalTiltShiftShader.js +0 -61
  534. package/examples/jsm/shaders/HueSaturationShader.js +0 -65
  535. package/examples/jsm/shaders/KaleidoShader.js +0 -56
  536. package/examples/jsm/shaders/LuminosityHighPassShader.js +0 -64
  537. package/examples/jsm/shaders/LuminosityShader.js +0 -46
  538. package/examples/jsm/shaders/MMDToonShader.js +0 -132
  539. package/examples/jsm/shaders/MirrorShader.js +0 -54
  540. package/examples/jsm/shaders/NormalMapShader.js +0 -53
  541. package/examples/jsm/shaders/OutputShader.js +0 -78
  542. package/examples/jsm/shaders/RGBShiftShader.js +0 -54
  543. package/examples/jsm/shaders/SAOShader.js +0 -188
  544. package/examples/jsm/shaders/SMAAShader.js +0 -460
  545. package/examples/jsm/shaders/SSAOShader.js +0 -288
  546. package/examples/jsm/shaders/SSRShader.js +0 -364
  547. package/examples/jsm/shaders/SepiaShader.js +0 -52
  548. package/examples/jsm/shaders/SobelOperatorShader.js +0 -90
  549. package/examples/jsm/shaders/SubsurfaceScatteringShader.js +0 -88
  550. package/examples/jsm/shaders/TechnicolorShader.js +0 -43
  551. package/examples/jsm/shaders/ToonShader.js +0 -326
  552. package/examples/jsm/shaders/TriangleBlurShader.js +0 -72
  553. package/examples/jsm/shaders/UnpackDepthRGBAShader.js +0 -45
  554. package/examples/jsm/shaders/VelocityShader.js +0 -128
  555. package/examples/jsm/shaders/VerticalBlurShader.js +0 -59
  556. package/examples/jsm/shaders/VerticalTiltShiftShader.js +0 -61
  557. package/examples/jsm/shaders/VignetteShader.js +0 -51
  558. package/examples/jsm/shaders/VolumeShader.js +0 -289
  559. package/examples/jsm/shaders/WaterRefractionShader.js +0 -93
  560. package/examples/jsm/textures/FlakesTexture.js +0 -40
  561. package/examples/jsm/utils/BufferGeometryUtils.js +0 -1373
  562. package/examples/jsm/utils/CameraUtils.js +0 -73
  563. package/examples/jsm/utils/GPUStatsPanel.js +0 -128
  564. package/examples/jsm/utils/GeometryCompressionUtils.js +0 -639
  565. package/examples/jsm/utils/GeometryUtils.js +0 -221
  566. package/examples/jsm/utils/LDrawUtils.js +0 -202
  567. package/examples/jsm/utils/PackedPhongMaterial.js +0 -178
  568. package/examples/jsm/utils/SceneUtils.js +0 -254
  569. package/examples/jsm/utils/ShadowMapViewer.js +0 -210
  570. package/examples/jsm/utils/SkeletonUtils.js +0 -413
  571. package/examples/jsm/utils/TextureUtils.js +0 -86
  572. package/examples/jsm/utils/UVsDebug.js +0 -165
  573. package/examples/jsm/utils/WorkerPool.js +0 -102
  574. package/examples/jsm/webxr/ARButton.js +0 -208
  575. package/examples/jsm/webxr/OculusHandModel.js +0 -109
  576. package/examples/jsm/webxr/OculusHandPointerModel.js +0 -413
  577. package/examples/jsm/webxr/Text2D.js +0 -38
  578. package/examples/jsm/webxr/VRButton.js +0 -200
  579. package/examples/jsm/webxr/XRButton.js +0 -198
  580. package/examples/jsm/webxr/XRControllerModelFactory.js +0 -299
  581. package/examples/jsm/webxr/XREstimatedLight.js +0 -223
  582. package/examples/jsm/webxr/XRHandMeshModel.js +0 -112
  583. package/examples/jsm/webxr/XRHandModelFactory.js +0 -105
  584. package/examples/jsm/webxr/XRHandPrimitiveModel.js +0 -103
  585. package/examples/jsm/webxr/XRPlanes.js +0 -100
  586. package/lib/3d.min.js +0 -1
@@ -1,565 +0,0 @@
1
- import {
2
- CanvasTexture,
3
- LinearFilter,
4
- Mesh,
5
- MeshBasicMaterial,
6
- PlaneGeometry,
7
- SRGBColorSpace,
8
- Color
9
- } from 'three';
10
-
11
- class HTMLMesh extends Mesh {
12
-
13
- constructor( dom ) {
14
-
15
- const texture = new HTMLTexture( dom );
16
-
17
- const geometry = new PlaneGeometry( texture.image.width * 0.001, texture.image.height * 0.001 );
18
- const material = new MeshBasicMaterial( { map: texture, toneMapped: false, transparent: true } );
19
-
20
- super( geometry, material );
21
-
22
- function onEvent( event ) {
23
-
24
- material.map.dispatchDOMEvent( event );
25
-
26
- }
27
-
28
- this.addEventListener( 'mousedown', onEvent );
29
- this.addEventListener( 'mousemove', onEvent );
30
- this.addEventListener( 'mouseup', onEvent );
31
- this.addEventListener( 'click', onEvent );
32
-
33
- this.dispose = function () {
34
-
35
- geometry.dispose();
36
- material.dispose();
37
-
38
- material.map.dispose();
39
-
40
- canvases.delete( dom );
41
-
42
- this.removeEventListener( 'mousedown', onEvent );
43
- this.removeEventListener( 'mousemove', onEvent );
44
- this.removeEventListener( 'mouseup', onEvent );
45
- this.removeEventListener( 'click', onEvent );
46
-
47
- };
48
-
49
- }
50
-
51
- }
52
-
53
- class HTMLTexture extends CanvasTexture {
54
-
55
- constructor( dom ) {
56
-
57
- super( html2canvas( dom ) );
58
-
59
- this.dom = dom;
60
-
61
- this.anisotropy = 16;
62
- this.colorSpace = SRGBColorSpace;
63
- this.minFilter = LinearFilter;
64
- this.magFilter = LinearFilter;
65
-
66
- // Create an observer on the DOM, and run html2canvas update in the next loop
67
- const observer = new MutationObserver( () => {
68
-
69
- if ( ! this.scheduleUpdate ) {
70
-
71
- // ideally should use xr.requestAnimationFrame, here setTimeout to avoid passing the renderer
72
- this.scheduleUpdate = setTimeout( () => this.update(), 16 );
73
-
74
- }
75
-
76
- } );
77
-
78
- const config = { attributes: true, childList: true, subtree: true, characterData: true };
79
- observer.observe( dom, config );
80
-
81
- this.observer = observer;
82
-
83
- }
84
-
85
- dispatchDOMEvent( event ) {
86
-
87
- if ( event.data ) {
88
-
89
- htmlevent( this.dom, event.type, event.data.x, event.data.y );
90
-
91
- }
92
-
93
- }
94
-
95
- update() {
96
-
97
- this.image = html2canvas( this.dom );
98
- this.needsUpdate = true;
99
-
100
- this.scheduleUpdate = null;
101
-
102
- }
103
-
104
- dispose() {
105
-
106
- if ( this.observer ) {
107
-
108
- this.observer.disconnect();
109
-
110
- }
111
-
112
- this.scheduleUpdate = clearTimeout( this.scheduleUpdate );
113
-
114
- super.dispose();
115
-
116
- }
117
-
118
- }
119
-
120
-
121
- //
122
-
123
- const canvases = new WeakMap();
124
-
125
- function html2canvas( element ) {
126
-
127
- const range = document.createRange();
128
- const color = new Color();
129
-
130
- function Clipper( context ) {
131
-
132
- const clips = [];
133
- let isClipping = false;
134
-
135
- function doClip() {
136
-
137
- if ( isClipping ) {
138
-
139
- isClipping = false;
140
- context.restore();
141
-
142
- }
143
-
144
- if ( clips.length === 0 ) return;
145
-
146
- let minX = - Infinity, minY = - Infinity;
147
- let maxX = Infinity, maxY = Infinity;
148
-
149
- for ( let i = 0; i < clips.length; i ++ ) {
150
-
151
- const clip = clips[ i ];
152
-
153
- minX = Math.max( minX, clip.x );
154
- minY = Math.max( minY, clip.y );
155
- maxX = Math.min( maxX, clip.x + clip.width );
156
- maxY = Math.min( maxY, clip.y + clip.height );
157
-
158
- }
159
-
160
- context.save();
161
- context.beginPath();
162
- context.rect( minX, minY, maxX - minX, maxY - minY );
163
- context.clip();
164
-
165
- isClipping = true;
166
-
167
- }
168
-
169
- return {
170
-
171
- add: function ( clip ) {
172
-
173
- clips.push( clip );
174
- doClip();
175
-
176
- },
177
-
178
- remove: function () {
179
-
180
- clips.pop();
181
- doClip();
182
-
183
- }
184
-
185
- };
186
-
187
- }
188
-
189
- function drawText( style, x, y, string ) {
190
-
191
- if ( string !== '' ) {
192
-
193
- if ( style.textTransform === 'uppercase' ) {
194
-
195
- string = string.toUpperCase();
196
-
197
- }
198
-
199
- context.font = style.fontWeight + ' ' + style.fontSize + ' ' + style.fontFamily;
200
- context.textBaseline = 'top';
201
- context.fillStyle = style.color;
202
- context.fillText( string, x, y + parseFloat( style.fontSize ) * 0.1 );
203
-
204
- }
205
-
206
- }
207
-
208
- function buildRectPath( x, y, w, h, r ) {
209
-
210
- if ( w < 2 * r ) r = w / 2;
211
- if ( h < 2 * r ) r = h / 2;
212
-
213
- context.beginPath();
214
- context.moveTo( x + r, y );
215
- context.arcTo( x + w, y, x + w, y + h, r );
216
- context.arcTo( x + w, y + h, x, y + h, r );
217
- context.arcTo( x, y + h, x, y, r );
218
- context.arcTo( x, y, x + w, y, r );
219
- context.closePath();
220
-
221
- }
222
-
223
- function drawBorder( style, which, x, y, width, height ) {
224
-
225
- const borderWidth = style[ which + 'Width' ];
226
- const borderStyle = style[ which + 'Style' ];
227
- const borderColor = style[ which + 'Color' ];
228
-
229
- if ( borderWidth !== '0px' && borderStyle !== 'none' && borderColor !== 'transparent' && borderColor !== 'rgba(0, 0, 0, 0)' ) {
230
-
231
- context.strokeStyle = borderColor;
232
- context.lineWidth = parseFloat( borderWidth );
233
- context.beginPath();
234
- context.moveTo( x, y );
235
- context.lineTo( x + width, y + height );
236
- context.stroke();
237
-
238
- }
239
-
240
- }
241
-
242
- function drawElement( element, style ) {
243
-
244
- let x = 0, y = 0, width = 0, height = 0;
245
-
246
- if ( element.nodeType === Node.TEXT_NODE ) {
247
-
248
- // text
249
-
250
- range.selectNode( element );
251
-
252
- const rect = range.getBoundingClientRect();
253
-
254
- x = rect.left - offset.left - 0.5;
255
- y = rect.top - offset.top - 0.5;
256
- width = rect.width;
257
- height = rect.height;
258
-
259
- drawText( style, x, y, element.nodeValue.trim() );
260
-
261
- } else if ( element.nodeType === Node.COMMENT_NODE ) {
262
-
263
- return;
264
-
265
- } else if ( element instanceof HTMLCanvasElement ) {
266
-
267
- // Canvas element
268
- if ( element.style.display === 'none' ) return;
269
-
270
- context.save();
271
- const dpr = window.devicePixelRatio;
272
- context.scale( 1 / dpr, 1 / dpr );
273
- context.drawImage( element, 0, 0 );
274
- context.restore();
275
-
276
- } else if ( element instanceof HTMLImageElement ) {
277
-
278
- if ( element.style.display === 'none' ) return;
279
-
280
- const rect = element.getBoundingClientRect();
281
-
282
- x = rect.left - offset.left - 0.5;
283
- y = rect.top - offset.top - 0.5;
284
- width = rect.width;
285
- height = rect.height;
286
-
287
- context.drawImage( element, x, y, width, height );
288
-
289
- } else {
290
-
291
- if ( element.style.display === 'none' ) return;
292
-
293
- const rect = element.getBoundingClientRect();
294
-
295
- x = rect.left - offset.left - 0.5;
296
- y = rect.top - offset.top - 0.5;
297
- width = rect.width;
298
- height = rect.height;
299
-
300
- style = window.getComputedStyle( element );
301
-
302
- // Get the border of the element used for fill and border
303
-
304
- buildRectPath( x, y, width, height, parseFloat( style.borderRadius ) );
305
-
306
- const backgroundColor = style.backgroundColor;
307
-
308
- if ( backgroundColor !== 'transparent' && backgroundColor !== 'rgba(0, 0, 0, 0)' ) {
309
-
310
- context.fillStyle = backgroundColor;
311
- context.fill();
312
-
313
- }
314
-
315
- // If all the borders match then stroke the round rectangle
316
-
317
- const borders = [ 'borderTop', 'borderLeft', 'borderBottom', 'borderRight' ];
318
-
319
- let match = true;
320
- let prevBorder = null;
321
-
322
- for ( const border of borders ) {
323
-
324
- if ( prevBorder !== null ) {
325
-
326
- match = ( style[ border + 'Width' ] === style[ prevBorder + 'Width' ] ) &&
327
- ( style[ border + 'Color' ] === style[ prevBorder + 'Color' ] ) &&
328
- ( style[ border + 'Style' ] === style[ prevBorder + 'Style' ] );
329
-
330
- }
331
-
332
- if ( match === false ) break;
333
-
334
- prevBorder = border;
335
-
336
- }
337
-
338
- if ( match === true ) {
339
-
340
- // They all match so stroke the rectangle from before allows for border-radius
341
-
342
- const width = parseFloat( style.borderTopWidth );
343
-
344
- if ( style.borderTopWidth !== '0px' && style.borderTopStyle !== 'none' && style.borderTopColor !== 'transparent' && style.borderTopColor !== 'rgba(0, 0, 0, 0)' ) {
345
-
346
- context.strokeStyle = style.borderTopColor;
347
- context.lineWidth = width;
348
- context.stroke();
349
-
350
- }
351
-
352
- } else {
353
-
354
- // Otherwise draw individual borders
355
-
356
- drawBorder( style, 'borderTop', x, y, width, 0 );
357
- drawBorder( style, 'borderLeft', x, y, 0, height );
358
- drawBorder( style, 'borderBottom', x, y + height, width, 0 );
359
- drawBorder( style, 'borderRight', x + width, y, 0, height );
360
-
361
- }
362
-
363
- if ( element instanceof HTMLInputElement ) {
364
-
365
- let accentColor = style.accentColor;
366
-
367
- if ( accentColor === undefined || accentColor === 'auto' ) accentColor = style.color;
368
-
369
- color.set( accentColor );
370
-
371
- const luminance = Math.sqrt( 0.299 * ( color.r ** 2 ) + 0.587 * ( color.g ** 2 ) + 0.114 * ( color.b ** 2 ) );
372
- const accentTextColor = luminance < 0.5 ? 'white' : '#111111';
373
-
374
- if ( element.type === 'radio' ) {
375
-
376
- buildRectPath( x, y, width, height, height );
377
-
378
- context.fillStyle = 'white';
379
- context.strokeStyle = accentColor;
380
- context.lineWidth = 1;
381
- context.fill();
382
- context.stroke();
383
-
384
- if ( element.checked ) {
385
-
386
- buildRectPath( x + 2, y + 2, width - 4, height - 4, height );
387
-
388
- context.fillStyle = accentColor;
389
- context.strokeStyle = accentTextColor;
390
- context.lineWidth = 2;
391
- context.fill();
392
- context.stroke();
393
-
394
- }
395
-
396
- }
397
-
398
- if ( element.type === 'checkbox' ) {
399
-
400
- buildRectPath( x, y, width, height, 2 );
401
-
402
- context.fillStyle = element.checked ? accentColor : 'white';
403
- context.strokeStyle = element.checked ? accentTextColor : accentColor;
404
- context.lineWidth = 1;
405
- context.stroke();
406
- context.fill();
407
-
408
- if ( element.checked ) {
409
-
410
- const currentTextAlign = context.textAlign;
411
-
412
- context.textAlign = 'center';
413
-
414
- const properties = {
415
- color: accentTextColor,
416
- fontFamily: style.fontFamily,
417
- fontSize: height + 'px',
418
- fontWeight: 'bold'
419
- };
420
-
421
- drawText( properties, x + ( width / 2 ), y, '✔' );
422
-
423
- context.textAlign = currentTextAlign;
424
-
425
- }
426
-
427
- }
428
-
429
- if ( element.type === 'range' ) {
430
-
431
- const [ min, max, value ] = [ 'min', 'max', 'value' ].map( property => parseFloat( element[ property ] ) );
432
- const position = ( ( value - min ) / ( max - min ) ) * ( width - height );
433
-
434
- buildRectPath( x, y + ( height / 4 ), width, height / 2, height / 4 );
435
- context.fillStyle = accentTextColor;
436
- context.strokeStyle = accentColor;
437
- context.lineWidth = 1;
438
- context.fill();
439
- context.stroke();
440
-
441
- buildRectPath( x, y + ( height / 4 ), position + ( height / 2 ), height / 2, height / 4 );
442
- context.fillStyle = accentColor;
443
- context.fill();
444
-
445
- buildRectPath( x + position, y, height, height, height / 2 );
446
- context.fillStyle = accentColor;
447
- context.fill();
448
-
449
- }
450
-
451
- if ( element.type === 'color' || element.type === 'text' || element.type === 'number' ) {
452
-
453
- clipper.add( { x: x, y: y, width: width, height: height } );
454
-
455
- drawText( style, x + parseInt( style.paddingLeft ), y + parseInt( style.paddingTop ), element.value );
456
-
457
- clipper.remove();
458
-
459
- }
460
-
461
- }
462
-
463
- }
464
-
465
- /*
466
- // debug
467
- context.strokeStyle = '#' + Math.random().toString( 16 ).slice( - 3 );
468
- context.strokeRect( x - 0.5, y - 0.5, width + 1, height + 1 );
469
- */
470
-
471
- const isClipping = style.overflow === 'auto' || style.overflow === 'hidden';
472
-
473
- if ( isClipping ) clipper.add( { x: x, y: y, width: width, height: height } );
474
-
475
- for ( let i = 0; i < element.childNodes.length; i ++ ) {
476
-
477
- drawElement( element.childNodes[ i ], style );
478
-
479
- }
480
-
481
- if ( isClipping ) clipper.remove();
482
-
483
- }
484
-
485
- const offset = element.getBoundingClientRect();
486
-
487
- let canvas = canvases.get( element );
488
-
489
- if ( canvas === undefined ) {
490
-
491
- canvas = document.createElement( 'canvas' );
492
- canvas.width = offset.width;
493
- canvas.height = offset.height;
494
- canvases.set( element, canvas );
495
-
496
- }
497
-
498
- const context = canvas.getContext( '2d'/*, { alpha: false }*/ );
499
-
500
- const clipper = new Clipper( context );
501
-
502
- // console.time( 'drawElement' );
503
-
504
- drawElement( element );
505
-
506
- // console.timeEnd( 'drawElement' );
507
-
508
- return canvas;
509
-
510
- }
511
-
512
- function htmlevent( element, event, x, y ) {
513
-
514
- const mouseEventInit = {
515
- clientX: ( x * element.offsetWidth ) + element.offsetLeft,
516
- clientY: ( y * element.offsetHeight ) + element.offsetTop,
517
- view: element.ownerDocument.defaultView
518
- };
519
-
520
- window.dispatchEvent( new MouseEvent( event, mouseEventInit ) );
521
-
522
- const rect = element.getBoundingClientRect();
523
-
524
- x = x * rect.width + rect.left;
525
- y = y * rect.height + rect.top;
526
-
527
- function traverse( element ) {
528
-
529
- if ( element.nodeType !== Node.TEXT_NODE && element.nodeType !== Node.COMMENT_NODE ) {
530
-
531
- const rect = element.getBoundingClientRect();
532
-
533
- if ( x > rect.left && x < rect.right && y > rect.top && y < rect.bottom ) {
534
-
535
- element.dispatchEvent( new MouseEvent( event, mouseEventInit ) );
536
-
537
- if ( element instanceof HTMLInputElement && element.type === 'range' && ( event === 'mousedown' || event === 'click' ) ) {
538
-
539
- const [ min, max ] = [ 'min', 'max' ].map( property => parseFloat( element[ property ] ) );
540
-
541
- const width = rect.width;
542
- const offsetX = x - rect.x;
543
- const proportion = offsetX / width;
544
- element.value = min + ( max - min ) * proportion;
545
- element.dispatchEvent( new InputEvent( 'input', { bubbles: true } ) );
546
-
547
- }
548
-
549
- }
550
-
551
- for ( let i = 0; i < element.childNodes.length; i ++ ) {
552
-
553
- traverse( element.childNodes[ i ] );
554
-
555
- }
556
-
557
- }
558
-
559
- }
560
-
561
- traverse( element );
562
-
563
- }
564
-
565
- export { HTMLMesh };
@@ -1,116 +0,0 @@
1
- import {
2
- Group,
3
- Matrix4,
4
- Raycaster,
5
- Vector2
6
- } from 'three';
7
-
8
- const _pointer = new Vector2();
9
- const _event = { type: '', data: _pointer };
10
-
11
- class InteractiveGroup extends Group {
12
-
13
- constructor( renderer, camera ) {
14
-
15
- super();
16
-
17
- const scope = this;
18
-
19
- const raycaster = new Raycaster();
20
- const tempMatrix = new Matrix4();
21
-
22
- // Pointer Events
23
-
24
- const element = renderer.domElement;
25
-
26
- function onPointerEvent( event ) {
27
-
28
- event.stopPropagation();
29
-
30
- const rect = renderer.domElement.getBoundingClientRect();
31
-
32
- _pointer.x = ( event.clientX - rect.left ) / rect.width * 2 - 1;
33
- _pointer.y = - ( event.clientY - rect.top ) / rect.height * 2 + 1;
34
-
35
- raycaster.setFromCamera( _pointer, camera );
36
-
37
- const intersects = raycaster.intersectObjects( scope.children, false );
38
-
39
- if ( intersects.length > 0 ) {
40
-
41
- const intersection = intersects[ 0 ];
42
-
43
- const object = intersection.object;
44
- const uv = intersection.uv;
45
-
46
- _event.type = event.type;
47
- _event.data.set( uv.x, 1 - uv.y );
48
-
49
- object.dispatchEvent( _event );
50
-
51
- }
52
-
53
- }
54
-
55
- element.addEventListener( 'pointerdown', onPointerEvent );
56
- element.addEventListener( 'pointerup', onPointerEvent );
57
- element.addEventListener( 'pointermove', onPointerEvent );
58
- element.addEventListener( 'mousedown', onPointerEvent );
59
- element.addEventListener( 'mouseup', onPointerEvent );
60
- element.addEventListener( 'mousemove', onPointerEvent );
61
- element.addEventListener( 'click', onPointerEvent );
62
-
63
- // WebXR Controller Events
64
- // TODO: Dispatch pointerevents too
65
-
66
- const events = {
67
- 'move': 'mousemove',
68
- 'select': 'click',
69
- 'selectstart': 'mousedown',
70
- 'selectend': 'mouseup'
71
- };
72
-
73
- function onXRControllerEvent( event ) {
74
-
75
- const controller = event.target;
76
-
77
- tempMatrix.identity().extractRotation( controller.matrixWorld );
78
-
79
- raycaster.ray.origin.setFromMatrixPosition( controller.matrixWorld );
80
- raycaster.ray.direction.set( 0, 0, - 1 ).applyMatrix4( tempMatrix );
81
-
82
- const intersections = raycaster.intersectObjects( scope.children, false );
83
-
84
- if ( intersections.length > 0 ) {
85
-
86
- const intersection = intersections[ 0 ];
87
-
88
- const object = intersection.object;
89
- const uv = intersection.uv;
90
-
91
- _event.type = events[ event.type ];
92
- _event.data.set( uv.x, 1 - uv.y );
93
-
94
- object.dispatchEvent( _event );
95
-
96
- }
97
-
98
- }
99
-
100
- const controller1 = renderer.xr.getController( 0 );
101
- controller1.addEventListener( 'move', onXRControllerEvent );
102
- controller1.addEventListener( 'select', onXRControllerEvent );
103
- controller1.addEventListener( 'selectstart', onXRControllerEvent );
104
- controller1.addEventListener( 'selectend', onXRControllerEvent );
105
-
106
- const controller2 = renderer.xr.getController( 1 );
107
- controller2.addEventListener( 'move', onXRControllerEvent );
108
- controller2.addEventListener( 'select', onXRControllerEvent );
109
- controller2.addEventListener( 'selectstart', onXRControllerEvent );
110
- controller2.addEventListener( 'selectend', onXRControllerEvent );
111
-
112
- }
113
-
114
- }
115
-
116
- export { InteractiveGroup };