@kitware/vtk.js 28.10.1 → 28.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (566) hide show
  1. package/Common/Core/Base64.js +53 -82
  2. package/Common/Core/CellArray.js +52 -60
  3. package/Common/Core/ClassHierarchy.js +8 -36
  4. package/Common/Core/DataArray/Constants.js +6 -6
  5. package/Common/Core/DataArray.js +185 -270
  6. package/Common/Core/Endian.js +14 -17
  7. package/Common/Core/HalfFloat.js +17 -34
  8. package/Common/Core/ImageHelper.js +17 -25
  9. package/Common/Core/LookupTable.js +131 -144
  10. package/Common/Core/Math/Constants.js +8 -8
  11. package/Common/Core/Math/index.js +778 -903
  12. package/Common/Core/Math.d.ts +14 -0
  13. package/Common/Core/Math.js +2 -4
  14. package/Common/Core/MatrixBuilder.js +99 -151
  15. package/Common/Core/Points.js +43 -43
  16. package/Common/Core/PriorityQueue.js +30 -28
  17. package/Common/Core/ProgressHandler.js +31 -32
  18. package/Common/Core/ScalarsToColors/Constants.js +4 -4
  19. package/Common/Core/ScalarsToColors.js +196 -253
  20. package/Common/Core/StringArray.js +48 -73
  21. package/Common/Core/URLExtract.js +10 -29
  22. package/Common/Core/VariantArray.js +48 -73
  23. package/Common/Core.js +11 -11
  24. package/Common/DataModel/AbstractPointLocator.js +19 -17
  25. package/Common/DataModel/BoundingBox.js +322 -490
  26. package/Common/DataModel/Box.js +46 -63
  27. package/Common/DataModel/CardinalSpline1D.js +92 -102
  28. package/Common/DataModel/Cell.js +41 -61
  29. package/Common/DataModel/CellLinks.js +91 -127
  30. package/Common/DataModel/CellTypes/Constants.js +7 -6
  31. package/Common/DataModel/CellTypes.js +55 -74
  32. package/Common/DataModel/Collection.js +45 -61
  33. package/Common/DataModel/Cone.js +28 -20
  34. package/Common/DataModel/Cylinder.js +41 -35
  35. package/Common/DataModel/DataSet/Constants.js +11 -5
  36. package/Common/DataModel/DataSet.js +37 -25
  37. package/Common/DataModel/DataSetAttributes/Constants.js +18 -18
  38. package/Common/DataModel/DataSetAttributes/FieldData.js +103 -194
  39. package/Common/DataModel/DataSetAttributes.js +96 -138
  40. package/Common/DataModel/EdgeLocator.js +45 -70
  41. package/Common/DataModel/ITKHelper.js +67 -137
  42. package/Common/DataModel/ImageData.js +115 -172
  43. package/Common/DataModel/ImplicitBoolean/Constants.js +2 -2
  44. package/Common/DataModel/ImplicitBoolean.js +66 -96
  45. package/Common/DataModel/IncrementalOctreeNode.js +201 -231
  46. package/Common/DataModel/IncrementalOctreePointLocator.js +160 -198
  47. package/Common/DataModel/KochanekSpline1D.js +78 -81
  48. package/Common/DataModel/Line/Constants.js +2 -2
  49. package/Common/DataModel/Line.js +82 -105
  50. package/Common/DataModel/Locator.js +17 -10
  51. package/Common/DataModel/Molecule.js +26 -17
  52. package/Common/DataModel/PiecewiseFunction.js +218 -239
  53. package/Common/DataModel/Plane.js +90 -113
  54. package/Common/DataModel/PointSet.js +30 -26
  55. package/Common/DataModel/PolyData/Constants.js +2 -2
  56. package/Common/DataModel/PolyData.js +95 -120
  57. package/Common/DataModel/PolyLine.js +44 -61
  58. package/Common/DataModel/Polygon/Constants.js +4 -4
  59. package/Common/DataModel/Polygon.js +128 -169
  60. package/Common/DataModel/Quad/Constants.js +2 -2
  61. package/Common/DataModel/Quad.js +61 -100
  62. package/Common/DataModel/SelectionNode/Constants.js +5 -4
  63. package/Common/DataModel/SelectionNode.js +25 -21
  64. package/Common/DataModel/Sphere.js +40 -35
  65. package/Common/DataModel/Spline1D/Constants.js +3 -2
  66. package/Common/DataModel/Spline1D.js +34 -18
  67. package/Common/DataModel/Spline3D/Constants.js +2 -2
  68. package/Common/DataModel/Spline3D.js +46 -41
  69. package/Common/DataModel/StructuredData/Constants.js +2 -2
  70. package/Common/DataModel/StructuredData.js +9 -20
  71. package/Common/DataModel/Triangle.js +207 -250
  72. package/Common/DataModel.js +19 -19
  73. package/Common/System/MobileVR.js +56 -61
  74. package/Common/System/TimerLog.js +1 -1
  75. package/Common/System.js +2 -2
  76. package/Common/Transform/LandmarkTransform/Constants.js +2 -2
  77. package/Common/Transform/LandmarkTransform.js +133 -117
  78. package/Common/Transform/Transform.js +42 -57
  79. package/Common/Transform.js +2 -2
  80. package/Common/index.js +4 -4
  81. package/Filters/Core/Cutter.js +134 -146
  82. package/Filters/Core/PolyDataNormals.js +44 -50
  83. package/Filters/Core.js +2 -2
  84. package/Filters/Cornerstone/ImageDataToCornerstoneImage.js +45 -33
  85. package/Filters/Cornerstone.js +1 -1
  86. package/Filters/General/AppendPolyData.js +84 -100
  87. package/Filters/General/Calculator.js +95 -163
  88. package/Filters/General/ClipClosedSurface/Constants.js +2 -2
  89. package/Filters/General/ClipClosedSurface.js +341 -416
  90. package/Filters/General/ClosedPolyLineToSurfaceFilter.js +141 -156
  91. package/Filters/General/ContourTriangulator/Constants.js +2 -2
  92. package/Filters/General/ContourTriangulator/helper.js +684 -812
  93. package/Filters/General/ContourTriangulator.js +92 -89
  94. package/Filters/General/ImageCropFilter.js +77 -78
  95. package/Filters/General/ImageDataOutlineFilter.js +42 -36
  96. package/Filters/General/ImageMarchingCubes/caseTable.js +9 -521
  97. package/Filters/General/ImageMarchingCubes.js +99 -112
  98. package/Filters/General/ImageMarchingSquares/caseTable.js +9 -41
  99. package/Filters/General/ImageMarchingSquares.js +93 -118
  100. package/Filters/General/ImageOutlineFilter.js +53 -54
  101. package/Filters/General/ImageSliceFilter.js +39 -30
  102. package/Filters/General/ImageStreamline.js +107 -124
  103. package/Filters/General/LineFilter.js +26 -15
  104. package/Filters/General/MoleculeToRepresentation.js +136 -149
  105. package/Filters/General/OBBTree/OBBNode.js +36 -34
  106. package/Filters/General/OBBTree/helper.js +19 -24
  107. package/Filters/General/OBBTree.js +396 -488
  108. package/Filters/General/OutlineFilter.js +52 -34
  109. package/Filters/General/PaintFilter/PaintFilter.worker.js +93 -130
  110. package/Filters/General/PaintFilter.js +150 -162
  111. package/Filters/General/ScalarToRGBA.js +38 -33
  112. package/Filters/General/TriangleFilter.js +65 -62
  113. package/Filters/General/TubeFilter/Constants.js +4 -4
  114. package/Filters/General/TubeFilter.js +376 -496
  115. package/Filters/General/WarpScalar.js +58 -60
  116. package/Filters/General/WindowedSincPolyDataFilter.js +258 -330
  117. package/Filters/General.js +21 -21
  118. package/Filters/Sources/Arrow2DSource/Constants.js +2 -2
  119. package/Filters/Sources/Arrow2DSource.js +56 -56
  120. package/Filters/Sources/ArrowSource.js +39 -29
  121. package/Filters/Sources/CircleSource.js +43 -43
  122. package/Filters/Sources/ConcentricCylinderSource.js +151 -174
  123. package/Filters/Sources/ConeSource.js +51 -42
  124. package/Filters/Sources/CubeSource.js +75 -96
  125. package/Filters/Sources/Cursor3D.js +94 -109
  126. package/Filters/Sources/CylinderSource.js +90 -90
  127. package/Filters/Sources/ImageGridSource.js +43 -43
  128. package/Filters/Sources/LineSource.js +49 -39
  129. package/Filters/Sources/PlaneSource.js +97 -104
  130. package/Filters/Sources/PointSource.js +46 -37
  131. package/Filters/Sources/RTAnalyticSource.js +50 -48
  132. package/Filters/Sources/SLICSource.js +63 -73
  133. package/Filters/Sources/SphereSource.js +88 -78
  134. package/Filters/Sources/ViewFinderSource.js +26 -23
  135. package/Filters/Sources.js +14 -14
  136. package/Filters/Texture/TextureMapToPlane.js +95 -97
  137. package/Filters/Texture/TextureMapToSphere.js +46 -54
  138. package/Filters/Texture.js +2 -2
  139. package/Filters/index.js +5 -5
  140. package/IO/Core/BinaryHelper.js +12 -18
  141. package/IO/Core/DataAccessHelper/HtmlDataAccessHelper.js +43 -59
  142. package/IO/Core/DataAccessHelper/HttpDataAccessHelper.js +76 -113
  143. package/IO/Core/DataAccessHelper/JSZipDataAccessHelper.js +62 -112
  144. package/IO/Core/DataAccessHelper/LiteHttpDataAccessHelper.js +76 -113
  145. package/IO/Core/DataAccessHelper.js +6 -6
  146. package/IO/Core/HttpDataSetReader.js +136 -139
  147. package/IO/Core/HttpDataSetSeriesReader.js +64 -75
  148. package/IO/Core/HttpSceneLoader.js +130 -179
  149. package/IO/Core/ImageStream/DefaultProtocol.js +29 -43
  150. package/IO/Core/ImageStream/ViewStream.js +100 -103
  151. package/IO/Core/ImageStream.js +62 -54
  152. package/IO/Core/ResourceLoader.js +10 -9
  153. package/IO/Core/Serializer/ArraySerializer.js +40 -40
  154. package/IO/Core/Serializer/FieldDataSerializer.js +18 -28
  155. package/IO/Core/Serializer/ImageDataSerializer.js +22 -23
  156. package/IO/Core/Serializer/PolyDataSerializer.js +17 -21
  157. package/IO/Core/Serializer.js +6 -13
  158. package/IO/Core/WSLinkClient.js +90 -76
  159. package/IO/Core/ZipMultiDataSetReader.js +46 -44
  160. package/IO/Core/ZipMultiDataSetWriter.js +43 -34
  161. package/IO/Core.js +7 -7
  162. package/IO/Geometry/DracoReader.js +118 -121
  163. package/IO/Geometry/PLYReader.js +163 -223
  164. package/IO/Geometry/PLYWriter/Constants.js +5 -5
  165. package/IO/Geometry/PLYWriter.js +139 -154
  166. package/IO/Geometry/STLReader.js +123 -146
  167. package/IO/Geometry/STLWriter/Constants.js +2 -2
  168. package/IO/Geometry/STLWriter.js +83 -82
  169. package/IO/Geometry.js +5 -5
  170. package/IO/Legacy/LegacyAsciiParser.js +78 -139
  171. package/IO/Legacy/PolyDataReader.js +48 -36
  172. package/IO/Legacy.js +2 -2
  173. package/IO/Misc/ElevationReader.js +67 -60
  174. package/IO/Misc/HttpDataSetLODsLoader.js +41 -38
  175. package/IO/Misc/ITKImageReader.js +58 -45
  176. package/IO/Misc/ITKPolyDataReader.js +50 -38
  177. package/IO/Misc/JSONNucleoReader.js +49 -42
  178. package/IO/Misc/JSONReader.js +38 -33
  179. package/IO/Misc/MTLReader.js +74 -119
  180. package/IO/Misc/OBJReader.js +153 -206
  181. package/IO/Misc/PDBReader.js +70 -68
  182. package/IO/Misc/SkyboxReader.js +77 -82
  183. package/IO/Misc.js +9 -9
  184. package/IO/XML/XMLImageDataReader.js +36 -38
  185. package/IO/XML/XMLImageDataWriter.js +28 -21
  186. package/IO/XML/XMLPolyDataReader.js +49 -46
  187. package/IO/XML/XMLPolyDataWriter.js +43 -42
  188. package/IO/XML/XMLReader.js +262 -304
  189. package/IO/XML/XMLWriter/Constants.js +3 -3
  190. package/IO/XML/XMLWriter.js +70 -84
  191. package/IO/XML.js +6 -6
  192. package/IO/index.js +5 -5
  193. package/Imaging/Core/AbstractImageInterpolator/Constants.js +4 -4
  194. package/Imaging/Core/AbstractImageInterpolator/InterpolationInfo.js +30 -27
  195. package/Imaging/Core/AbstractImageInterpolator.js +74 -87
  196. package/Imaging/Core/ImageInterpolator.js +201 -252
  197. package/Imaging/Core/ImagePointDataIterator.js +96 -122
  198. package/Imaging/Core/ImageReslice/Constants.js +2 -2
  199. package/Imaging/Core/ImageReslice.js +327 -464
  200. package/Imaging/Core.js +4 -4
  201. package/Imaging/Hybrid/SampleFunction.js +58 -51
  202. package/Imaging/Hybrid.js +1 -1
  203. package/Imaging/index.js +2 -2
  204. package/Interaction/Animations/TimeStepBasedAnimationHandler.js +39 -54
  205. package/Interaction/Manipulators/CompositeCameraManipulator.js +22 -13
  206. package/Interaction/Manipulators/CompositeGestureManipulator.js +31 -43
  207. package/Interaction/Manipulators/CompositeKeyboardManipulator.js +15 -11
  208. package/Interaction/Manipulators/CompositeMouseManipulator.js +27 -33
  209. package/Interaction/Manipulators/CompositeVRManipulator.js +22 -15
  210. package/Interaction/Manipulators/GestureCameraManipulator.js +54 -36
  211. package/Interaction/Manipulators/KeyboardCameraManipulator.js +95 -97
  212. package/Interaction/Manipulators/MouseBoxSelectorManipulator.js +70 -89
  213. package/Interaction/Manipulators/MouseCameraAxisRotateManipulator.js +67 -54
  214. package/Interaction/Manipulators/MouseCameraSliceManipulator.js +40 -38
  215. package/Interaction/Manipulators/MouseCameraTrackballFirstPersonManipulator.js +83 -68
  216. package/Interaction/Manipulators/MouseCameraTrackballMultiRotateManipulator.js +32 -28
  217. package/Interaction/Manipulators/MouseCameraTrackballPanManipulator.js +47 -40
  218. package/Interaction/Manipulators/MouseCameraTrackballRollManipulator.js +55 -43
  219. package/Interaction/Manipulators/MouseCameraTrackballRotateManipulator.js +56 -46
  220. package/Interaction/Manipulators/MouseCameraTrackballZoomManipulator.js +41 -46
  221. package/Interaction/Manipulators/MouseCameraTrackballZoomToMouseManipulator.js +29 -27
  222. package/Interaction/Manipulators/MouseCameraUnicamManipulator.js +123 -146
  223. package/Interaction/Manipulators/MouseCameraUnicamRotateManipulator.js +144 -166
  224. package/Interaction/Manipulators/MouseRangeManipulator.js +127 -132
  225. package/Interaction/Manipulators/VRButtonPanManipulator.js +33 -23
  226. package/Interaction/Manipulators.js +21 -21
  227. package/Interaction/Misc/DeviceOrientationToCamera.js +25 -47
  228. package/Interaction/Misc.js +1 -1
  229. package/Interaction/Style/InteractorStyleImage.js +101 -121
  230. package/Interaction/Style/InteractorStyleMPRSlice.js +111 -128
  231. package/Interaction/Style/InteractorStyleManipulator/Presets.js +9 -17
  232. package/Interaction/Style/InteractorStyleManipulator.js +254 -329
  233. package/Interaction/Style/InteractorStyleRemoteMouse.js +195 -180
  234. package/Interaction/Style/InteractorStyleTrackballCamera.js +154 -157
  235. package/Interaction/Style/InteractorStyleUnicam.js +30 -38
  236. package/Interaction/Style.js +5 -5
  237. package/Interaction/UI/CornerAnnotation/CornerAnnotation.module.css.js +1 -1
  238. package/Interaction/UI/CornerAnnotation.js +65 -48
  239. package/Interaction/UI/FPSMonitor.js +104 -105
  240. package/Interaction/UI/Icons.js +1 -1
  241. package/Interaction/UI/Slider/Constants.js +2 -2
  242. package/Interaction/UI/Slider.js +78 -95
  243. package/Interaction/UI/VolumeController.js +104 -97
  244. package/Interaction/UI.js +5 -5
  245. package/Interaction/Widgets/OrientationMarkerWidget/Constants.js +2 -2
  246. package/Interaction/Widgets/OrientationMarkerWidget.js +90 -135
  247. package/Interaction/Widgets/PiecewiseGaussianWidget/ComputeHistogram.worker.js +0 -3
  248. package/Interaction/Widgets/PiecewiseGaussianWidget.js +381 -498
  249. package/Interaction/Widgets.js +2 -2
  250. package/Interaction/index.js +5 -5
  251. package/Proxy/Animation/AbstractAnimationProxy.js +22 -15
  252. package/Proxy/Animation/AnimationProxyManager.js +43 -51
  253. package/Proxy/Animation/TimeStepBasedAnimationHandlerProxy.js +26 -19
  254. package/Proxy/Core/AbstractRepresentationProxy.js +97 -151
  255. package/Proxy/Core/LookupTableProxy/Constants.js +4 -4
  256. package/Proxy/Core/LookupTableProxy.js +49 -52
  257. package/Proxy/Core/PiecewiseFunctionProxy/Constants.js +4 -4
  258. package/Proxy/Core/PiecewiseFunctionProxy.js +63 -72
  259. package/Proxy/Core/ProxyManager/core.js +83 -106
  260. package/Proxy/Core/ProxyManager/properties.js +53 -76
  261. package/Proxy/Core/ProxyManager/state.js +100 -110
  262. package/Proxy/Core/ProxyManager/view.js +45 -55
  263. package/Proxy/Core/ProxyManager.js +16 -8
  264. package/Proxy/Core/SourceProxy.js +41 -38
  265. package/Proxy/Core/View2DProxy.js +143 -199
  266. package/Proxy/Core/ViewProxy.js +223 -269
  267. package/Proxy/Core.js +7 -7
  268. package/Proxy/Representations/GeometryRepresentationProxy.js +34 -20
  269. package/Proxy/Representations/GlyphRepresentationProxy.js +42 -41
  270. package/Proxy/Representations/MoleculeRepresentationProxy.js +32 -22
  271. package/Proxy/Representations/ResliceRepresentationProxy.js +48 -32
  272. package/Proxy/Representations/SkyboxRepresentationProxy.js +30 -29
  273. package/Proxy/Representations/SliceRepresentationProxy.js +93 -112
  274. package/Proxy/Representations/SlicedGeometryRepresentationProxy.js +46 -42
  275. package/Proxy/Representations/VolumeRepresentationProxy.js +108 -133
  276. package/Proxy/Representations.js +7 -7
  277. package/Proxy/index.js +2 -2
  278. package/Rendering/Core/AbstractImageMapper/helper.js +44 -49
  279. package/Rendering/Core/AbstractImageMapper.js +18 -19
  280. package/Rendering/Core/AbstractMapper.js +39 -55
  281. package/Rendering/Core/AbstractMapper3D.js +26 -31
  282. package/Rendering/Core/AbstractPicker.js +25 -21
  283. package/Rendering/Core/Actor.js +71 -93
  284. package/Rendering/Core/Actor2D.js +64 -78
  285. package/Rendering/Core/AnnotatedCubeActor/Presets.js +5 -11
  286. package/Rendering/Core/AnnotatedCubeActor.js +94 -79
  287. package/Rendering/Core/AxesActor.js +65 -87
  288. package/Rendering/Core/Camera.js +246 -271
  289. package/Rendering/Core/CellPicker.js +125 -148
  290. package/Rendering/Core/ColorTransferFunction/ColorMaps.js +20 -21
  291. package/Rendering/Core/ColorTransferFunction/ColorMapsLite.js +20 -21
  292. package/Rendering/Core/ColorTransferFunction/Constants.js +4 -4
  293. package/Rendering/Core/ColorTransferFunction.js +460 -546
  294. package/Rendering/Core/Coordinate/Constants.js +2 -2
  295. package/Rendering/Core/Coordinate.js +119 -198
  296. package/Rendering/Core/CubeAxesActor.js +294 -320
  297. package/Rendering/Core/Follower.js +46 -45
  298. package/Rendering/Core/Glyph3DMapper/Constants.js +4 -4
  299. package/Rendering/Core/Glyph3DMapper.js +96 -148
  300. package/Rendering/Core/HardwareSelector.js +36 -69
  301. package/Rendering/Core/ImageArrayMapper.js +87 -126
  302. package/Rendering/Core/ImageCPRMapper.js +134 -209
  303. package/Rendering/Core/ImageMapper/Constants.js +2 -2
  304. package/Rendering/Core/ImageMapper.js +92 -170
  305. package/Rendering/Core/ImageProperty/Constants.js +2 -2
  306. package/Rendering/Core/ImageProperty.js +66 -81
  307. package/Rendering/Core/ImageResliceMapper/Constants.js +2 -2
  308. package/Rendering/Core/ImageResliceMapper.js +36 -29
  309. package/Rendering/Core/ImageSlice.js +85 -127
  310. package/Rendering/Core/InteractorObserver.js +82 -73
  311. package/Rendering/Core/InteractorStyle/Constants.js +2 -2
  312. package/Rendering/Core/InteractorStyle.js +56 -58
  313. package/Rendering/Core/Light.js +43 -49
  314. package/Rendering/Core/Mapper/CoincidentTopologyHelper.js +37 -48
  315. package/Rendering/Core/Mapper/Constants.js +6 -6
  316. package/Rendering/Core/Mapper/Static.js +15 -12
  317. package/Rendering/Core/Mapper.js +194 -259
  318. package/Rendering/Core/Mapper2D.js +61 -100
  319. package/Rendering/Core/Picker.js +124 -143
  320. package/Rendering/Core/PixelSpaceCallbackMapper.js +40 -37
  321. package/Rendering/Core/PointPicker.js +68 -79
  322. package/Rendering/Core/Prop/Constants.js +2 -2
  323. package/Rendering/Core/Prop.js +58 -106
  324. package/Rendering/Core/Prop3D.js +54 -83
  325. package/Rendering/Core/Property/Constants.js +6 -6
  326. package/Rendering/Core/Property.js +45 -74
  327. package/Rendering/Core/Property2D/Constants.js +2 -2
  328. package/Rendering/Core/Property2D.js +33 -42
  329. package/Rendering/Core/RenderWindow.js +70 -82
  330. package/Rendering/Core/RenderWindowInteractor/Constants.js +7 -7
  331. package/Rendering/Core/RenderWindowInteractor.js +324 -439
  332. package/Rendering/Core/Renderer.js +193 -257
  333. package/Rendering/Core/ScalarBarActor.js +267 -272
  334. package/Rendering/Core/Skybox.js +26 -24
  335. package/Rendering/Core/SphereMapper.js +22 -12
  336. package/Rendering/Core/StickMapper.js +22 -12
  337. package/Rendering/Core/SurfaceLICInterface/Constants.js +6 -6
  338. package/Rendering/Core/SurfaceLICInterface.js +13 -9
  339. package/Rendering/Core/SurfaceLICMapper.js +23 -15
  340. package/Rendering/Core/Texture.js +99 -141
  341. package/Rendering/Core/Viewport.js +60 -88
  342. package/Rendering/Core/Volume.js +55 -77
  343. package/Rendering/Core/VolumeMapper/Constants.js +4 -4
  344. package/Rendering/Core/VolumeMapper.js +59 -91
  345. package/Rendering/Core/VolumeProperty/Constants.js +4 -4
  346. package/Rendering/Core/VolumeProperty.js +78 -115
  347. package/Rendering/Core.js +47 -49
  348. package/Rendering/Misc/CanvasView.js +62 -61
  349. package/Rendering/Misc/FullScreenRenderWindow.js +60 -62
  350. package/Rendering/Misc/GenericRenderWindow.js +48 -37
  351. package/Rendering/Misc/RemoteView.js +86 -80
  352. package/Rendering/Misc/RenderWindowWithControlBar.js +54 -48
  353. package/Rendering/Misc/SynchronizableRenderWindow/BehaviorManager/CameraSynchronizer.js +43 -51
  354. package/Rendering/Misc/SynchronizableRenderWindow/BehaviorManager.js +52 -82
  355. package/Rendering/Misc/SynchronizableRenderWindow/ObjectManager.js +258 -308
  356. package/Rendering/Misc/SynchronizableRenderWindow.js +133 -163
  357. package/Rendering/Misc/TextureLODsDownloader.js +72 -74
  358. package/Rendering/Misc.js +7 -7
  359. package/Rendering/OpenGL/Actor.js +57 -68
  360. package/Rendering/OpenGL/Actor2D.js +56 -56
  361. package/Rendering/OpenGL/BufferObject/Constants.js +2 -2
  362. package/Rendering/OpenGL/BufferObject.js +50 -65
  363. package/Rendering/OpenGL/Camera.js +35 -29
  364. package/Rendering/OpenGL/CellArrayBufferObject.js +119 -149
  365. package/Rendering/OpenGL/Convolution2DPass.js +87 -81
  366. package/Rendering/OpenGL/CubeAxesActor.js +28 -21
  367. package/Rendering/OpenGL/ForwardPass.js +53 -64
  368. package/Rendering/OpenGL/Framebuffer.js +61 -101
  369. package/Rendering/OpenGL/Glyph3DMapper.js +165 -196
  370. package/Rendering/OpenGL/HardwareSelector/Constants.js +2 -2
  371. package/Rendering/OpenGL/HardwareSelector.js +272 -397
  372. package/Rendering/OpenGL/Helper.js +58 -73
  373. package/Rendering/OpenGL/ImageCPRMapper.js +339 -421
  374. package/Rendering/OpenGL/ImageMapper.js +268 -361
  375. package/Rendering/OpenGL/ImageResliceMapper.js +306 -438
  376. package/Rendering/OpenGL/ImageSlice.js +48 -54
  377. package/Rendering/OpenGL/OrderIndependentTranslucentPass.js +102 -84
  378. package/Rendering/OpenGL/PixelSpaceCallbackMapper.js +43 -42
  379. package/Rendering/OpenGL/PolyDataMapper.js +358 -492
  380. package/Rendering/OpenGL/PolyDataMapper2D.js +153 -205
  381. package/Rendering/OpenGL/RadialDistortionPass.js +86 -89
  382. package/Rendering/OpenGL/RenderWindow/Constants.js +2 -2
  383. package/Rendering/OpenGL/RenderWindow/ContextProxy.js +20 -29
  384. package/Rendering/OpenGL/RenderWindow.js +356 -510
  385. package/Rendering/OpenGL/Renderer.js +77 -89
  386. package/Rendering/OpenGL/ReplacementShaderMapper.js +28 -46
  387. package/Rendering/OpenGL/ScalarBarActor.js +28 -21
  388. package/Rendering/OpenGL/Shader.js +37 -31
  389. package/Rendering/OpenGL/ShaderCache.js +67 -74
  390. package/Rendering/OpenGL/ShaderProgram.js +136 -248
  391. package/Rendering/OpenGL/Skybox.js +99 -60
  392. package/Rendering/OpenGL/SphereMapper.js +94 -108
  393. package/Rendering/OpenGL/StickMapper.js +110 -114
  394. package/Rendering/OpenGL/SurfaceLIC/LineIntegralConvolution2D/pingpong.js +91 -157
  395. package/Rendering/OpenGL/SurfaceLIC/LineIntegralConvolution2D.js +142 -151
  396. package/Rendering/OpenGL/SurfaceLIC/SurfaceLICInterface.js +142 -216
  397. package/Rendering/OpenGL/SurfaceLIC/SurfaceLICMapper.js +79 -100
  398. package/Rendering/OpenGL/SurfaceLIC.js +2 -2
  399. package/Rendering/OpenGL/Texture/Constants.js +4 -4
  400. package/Rendering/OpenGL/Texture.js +444 -609
  401. package/Rendering/OpenGL/TextureUnitManager.js +47 -43
  402. package/Rendering/OpenGL/VertexArrayObject.js +92 -131
  403. package/Rendering/OpenGL/ViewNodeFactory.js +25 -13
  404. package/Rendering/OpenGL/Volume.js +38 -34
  405. package/Rendering/OpenGL/VolumeMapper.js +437 -547
  406. package/Rendering/OpenGL.js +28 -28
  407. package/Rendering/SceneGraph/RenderPass.js +34 -31
  408. package/Rendering/SceneGraph/RenderWindowViewNode.js +68 -94
  409. package/Rendering/SceneGraph/ViewNode.js +82 -111
  410. package/Rendering/SceneGraph/ViewNodeFactory.js +31 -26
  411. package/Rendering/SceneGraph.js +4 -4
  412. package/Rendering/WebGPU/Actor.js +49 -49
  413. package/Rendering/WebGPU/Actor2D.js +45 -44
  414. package/Rendering/WebGPU/BindGroup.js +43 -50
  415. package/Rendering/WebGPU/Buffer.js +41 -50
  416. package/Rendering/WebGPU/BufferManager/Constants.js +4 -4
  417. package/Rendering/WebGPU/BufferManager.js +111 -141
  418. package/Rendering/WebGPU/Camera.js +65 -67
  419. package/Rendering/WebGPU/CellArrayMapper.js +621 -388
  420. package/Rendering/WebGPU/CubeAxesActor.js +28 -19
  421. package/Rendering/WebGPU/Device.js +78 -133
  422. package/Rendering/WebGPU/ForwardPass.js +75 -72
  423. package/Rendering/WebGPU/FullScreenQuad.js +25 -18
  424. package/Rendering/WebGPU/Glyph3DMapper.js +62 -74
  425. package/Rendering/WebGPU/HardwareSelectionPass.js +45 -38
  426. package/Rendering/WebGPU/HardwareSelector.js +200 -276
  427. package/Rendering/WebGPU/ImageMapper.js +180 -171
  428. package/Rendering/WebGPU/ImageSlice.js +45 -44
  429. package/Rendering/WebGPU/IndexBuffer.js +166 -200
  430. package/Rendering/WebGPU/OpaquePass.js +37 -36
  431. package/Rendering/WebGPU/OrderIndependentTranslucentPass.js +72 -45
  432. package/Rendering/WebGPU/Pipeline.js +37 -51
  433. package/Rendering/WebGPU/PixelSpaceCallbackMapper.js +27 -19
  434. package/Rendering/WebGPU/PolyDataMapper.js +50 -53
  435. package/Rendering/WebGPU/PolyDataMapper2D.js +39 -39
  436. package/Rendering/WebGPU/RenderEncoder.js +68 -88
  437. package/Rendering/WebGPU/RenderWindow.js +262 -376
  438. package/Rendering/WebGPU/Renderer.js +224 -208
  439. package/Rendering/WebGPU/Sampler.js +27 -21
  440. package/Rendering/WebGPU/ScalarBarActor.js +28 -19
  441. package/Rendering/WebGPU/ShaderCache.js +43 -41
  442. package/Rendering/WebGPU/ShaderDescription.js +52 -59
  443. package/Rendering/WebGPU/ShaderModule.js +26 -17
  444. package/Rendering/WebGPU/SimpleMapper.js +185 -121
  445. package/Rendering/WebGPU/SphereMapper.js +200 -130
  446. package/Rendering/WebGPU/StickMapper.js +289 -152
  447. package/Rendering/WebGPU/StorageBuffer.js +100 -115
  448. package/Rendering/WebGPU/Texture.js +79 -99
  449. package/Rendering/WebGPU/TextureManager.js +52 -54
  450. package/Rendering/WebGPU/TextureView.js +40 -43
  451. package/Rendering/WebGPU/Types.js +53 -70
  452. package/Rendering/WebGPU/UniformBuffer.js +158 -184
  453. package/Rendering/WebGPU/VertexInput.js +64 -90
  454. package/Rendering/WebGPU/ViewNodeFactory.js +25 -13
  455. package/Rendering/WebGPU/Volume.js +52 -51
  456. package/Rendering/WebGPU/VolumePass.js +218 -239
  457. package/Rendering/WebGPU/VolumePassFSQ.js +625 -306
  458. package/Rendering/WebGPU.js +1 -1
  459. package/Rendering/index.js +5 -5
  460. package/Widgets/Core/AbstractWidget/Constants.js +2 -2
  461. package/Widgets/Core/AbstractWidget.js +49 -58
  462. package/Widgets/Core/AbstractWidgetFactory.js +101 -122
  463. package/Widgets/Core/StateBuilder/boundsMixin.js +23 -28
  464. package/Widgets/Core/StateBuilder/color3Mixin.js +10 -7
  465. package/Widgets/Core/StateBuilder/colorMixin.js +10 -6
  466. package/Widgets/Core/StateBuilder/cornerMixin.js +16 -15
  467. package/Widgets/Core/StateBuilder/directionMixin.js +20 -18
  468. package/Widgets/Core/StateBuilder/manipulatorMixin.js +26 -18
  469. package/Widgets/Core/StateBuilder/nameMixin.js +10 -6
  470. package/Widgets/Core/StateBuilder/orientationMixin.js +19 -16
  471. package/Widgets/Core/StateBuilder/originMixin.js +25 -32
  472. package/Widgets/Core/StateBuilder/scale1Mixin.js +10 -6
  473. package/Widgets/Core/StateBuilder/scale3Mixin.js +10 -6
  474. package/Widgets/Core/StateBuilder/shapeMixin.js +12 -6
  475. package/Widgets/Core/StateBuilder/textMixin.js +10 -6
  476. package/Widgets/Core/StateBuilder/visibleMixin.js +10 -6
  477. package/Widgets/Core/StateBuilder.js +120 -149
  478. package/Widgets/Core/WidgetManager/Constants.js +7 -7
  479. package/Widgets/Core/WidgetManager.js +249 -421
  480. package/Widgets/Core/WidgetState.js +48 -57
  481. package/Widgets/Core.js +5 -5
  482. package/Widgets/Manipulators/AbstractManipulator.js +20 -14
  483. package/Widgets/Manipulators/CPRManipulator.js +55 -71
  484. package/Widgets/Manipulators/LineManipulator.js +31 -28
  485. package/Widgets/Manipulators/PickerManipulator.d.ts +48 -0
  486. package/Widgets/Manipulators/PickerManipulator.js +65 -0
  487. package/Widgets/Manipulators/PlaneManipulator.js +26 -23
  488. package/Widgets/Manipulators/TrackballManipulator.js +39 -35
  489. package/Widgets/Manipulators.js +4 -2
  490. package/Widgets/Representations/ArrowHandleRepresentation.js +148 -162
  491. package/Widgets/Representations/CircleContextRepresentation.js +44 -38
  492. package/Widgets/Representations/ContextRepresentation.js +17 -14
  493. package/Widgets/Representations/ConvexFaceContextRepresentation.js +50 -47
  494. package/Widgets/Representations/CroppingOutlineRepresentation.js +38 -27
  495. package/Widgets/Representations/CubeHandleRepresentation.js +21 -18
  496. package/Widgets/Representations/GlyphRepresentation.js +107 -152
  497. package/Widgets/Representations/HandleRepresentation.js +17 -14
  498. package/Widgets/Representations/ImplicitPlaneRepresentation.js +97 -91
  499. package/Widgets/Representations/LineHandleRepresentation.js +44 -41
  500. package/Widgets/Representations/OutlineContextRepresentation.js +42 -36
  501. package/Widgets/Representations/PolyLineRepresentation.js +60 -75
  502. package/Widgets/Representations/RectangleContextRepresentation.js +42 -37
  503. package/Widgets/Representations/SphereContextRepresentation.js +19 -27
  504. package/Widgets/Representations/SphereHandleRepresentation.js +31 -27
  505. package/Widgets/Representations/SplineContextRepresentation.js +46 -70
  506. package/Widgets/Representations/WidgetRepresentation/Constants.js +2 -2
  507. package/Widgets/Representations/WidgetRepresentation.js +99 -134
  508. package/Widgets/Representations.js +13 -13
  509. package/Widgets/Widgets3D/AngleWidget/behavior.js +41 -63
  510. package/Widgets/Widgets3D/AngleWidget.js +41 -39
  511. package/Widgets/Widgets3D/DistanceWidget/behavior.js +40 -61
  512. package/Widgets/Widgets3D/DistanceWidget.js +38 -36
  513. package/Widgets/Widgets3D/EllipseWidget/behavior.js +14 -19
  514. package/Widgets/Widgets3D/EllipseWidget/state.js +4 -2
  515. package/Widgets/Widgets3D/EllipseWidget.js +37 -26
  516. package/Widgets/Widgets3D/ImageCroppingWidget/behavior.js +26 -56
  517. package/Widgets/Widgets3D/ImageCroppingWidget/helpers.js +14 -17
  518. package/Widgets/Widgets3D/ImageCroppingWidget/state.js +20 -16
  519. package/Widgets/Widgets3D/ImageCroppingWidget.js +80 -98
  520. package/Widgets/Widgets3D/ImplicitPlaneWidget.js +55 -77
  521. package/Widgets/Widgets3D/InteractiveOrientationWidget/behavior.js +17 -18
  522. package/Widgets/Widgets3D/InteractiveOrientationWidget/state.js +15 -7
  523. package/Widgets/Widgets3D/InteractiveOrientationWidget.js +30 -29
  524. package/Widgets/Widgets3D/LabelWidget/behavior.js +37 -62
  525. package/Widgets/Widgets3D/LabelWidget.js +31 -25
  526. package/Widgets/Widgets3D/LineWidget/Constants.js +8 -8
  527. package/Widgets/Widgets3D/LineWidget/behavior.js +77 -114
  528. package/Widgets/Widgets3D/LineWidget/helpers.js +13 -20
  529. package/Widgets/Widgets3D/LineWidget/state.js +2 -1
  530. package/Widgets/Widgets3D/LineWidget.js +39 -35
  531. package/Widgets/Widgets3D/PaintWidget/behavior.js +24 -59
  532. package/Widgets/Widgets3D/PaintWidget.js +39 -37
  533. package/Widgets/Widgets3D/PolyLineWidget/behavior.js +44 -68
  534. package/Widgets/Widgets3D/PolyLineWidget.js +36 -31
  535. package/Widgets/Widgets3D/RectangleWidget/behavior.js +6 -11
  536. package/Widgets/Widgets3D/RectangleWidget/state.js +4 -2
  537. package/Widgets/Widgets3D/RectangleWidget.js +37 -25
  538. package/Widgets/Widgets3D/ResliceCursorWidget/Constants.js +35 -21
  539. package/Widgets/Widgets3D/ResliceCursorWidget/behavior.js +134 -210
  540. package/Widgets/Widgets3D/ResliceCursorWidget/cprBehavior.js +26 -41
  541. package/Widgets/Widgets3D/ResliceCursorWidget/helpers.js +90 -117
  542. package/Widgets/Widgets3D/ResliceCursorWidget/state.js +33 -40
  543. package/Widgets/Widgets3D/ResliceCursorWidget.js +186 -227
  544. package/Widgets/Widgets3D/SeedWidget/behavior.js +82 -0
  545. package/Widgets/Widgets3D/SeedWidget/state.js +18 -0
  546. package/Widgets/Widgets3D/SeedWidget.d.ts +44 -0
  547. package/Widgets/Widgets3D/SeedWidget.js +43 -0
  548. package/Widgets/Widgets3D/ShapeWidget/Constants.js +19 -19
  549. package/Widgets/Widgets3D/ShapeWidget/behavior.js +150 -252
  550. package/Widgets/Widgets3D/ShapeWidget.js +24 -27
  551. package/Widgets/Widgets3D/SphereWidget/behavior.js +35 -69
  552. package/Widgets/Widgets3D/SphereWidget/state.js +9 -5
  553. package/Widgets/Widgets3D/SphereWidget.js +34 -44
  554. package/Widgets/Widgets3D/SplineWidget/behavior.js +85 -120
  555. package/Widgets/Widgets3D/SplineWidget.js +43 -39
  556. package/Widgets/Widgets3D.js +15 -15
  557. package/Widgets/index.js +4 -4
  558. package/_virtual/rollup-plugin-worker-loader__module_Sources/Filters/General/PaintFilter/PaintFilter.worker.js +95 -207
  559. package/_virtual/rollup-plugin-worker-loader__module_Sources/Interaction/Widgets/PiecewiseGaussianWidget/ComputeHistogram.worker.js +0 -3
  560. package/favicon.js +5 -6
  561. package/index.d.ts +4 -2
  562. package/index.js +4 -3
  563. package/macros.js +4 -1931
  564. package/macros2.js +1684 -0
  565. package/package.json +6 -6
  566. package/vtk.js +18 -31
@@ -1,98 +1,94 @@
1
- import _toConsumableArray from '@babel/runtime/helpers/toConsumableArray';
2
- import macro from '../../macros.js';
1
+ import { m as macro } from '../../macros2.js';
3
2
  import vtkWebGPUBufferManager from './BufferManager.js';
4
3
  import vtkWebGPUTypes from './Types.js';
5
4
 
6
- var BufferUsage = vtkWebGPUBufferManager.BufferUsage;
7
- var vtkErrorMacro = macro.vtkErrorMacro; // ----------------------------------------------------------------------------
5
+ const {
6
+ BufferUsage
7
+ } = vtkWebGPUBufferManager;
8
+ const {
9
+ vtkErrorMacro
10
+ } = macro;
11
+
12
+ // ----------------------------------------------------------------------------
8
13
  // vtkWebGPUUniformBuffer methods
9
14
  // ----------------------------------------------------------------------------
10
15
 
11
16
  function vtkWebGPUUniformBuffer(publicAPI, model) {
12
17
  // Set our className
13
18
  model.classHierarchy.push('vtkWebGPUUniformBuffer');
14
-
15
- publicAPI.addEntry = function (name, type) {
19
+ publicAPI.addEntry = (name, type) => {
16
20
  if (model._bufferEntryNames.has(name)) {
17
- vtkErrorMacro("entry named ".concat(name, " already exists"));
21
+ vtkErrorMacro(`entry named ${name} already exists`);
18
22
  return;
19
23
  }
20
-
21
24
  model.sortDirty = true;
22
-
23
25
  model._bufferEntryNames.set(name, model.bufferEntries.length);
24
-
25
26
  model.bufferEntries.push({
26
- name: name,
27
- type: type,
27
+ name,
28
+ type,
28
29
  sizeInBytes: vtkWebGPUTypes.getByteStrideFromShaderFormat(type),
29
30
  offset: -1,
30
31
  nativeType: vtkWebGPUTypes.getNativeTypeFromShaderFormat(type),
31
32
  packed: false
32
33
  });
33
- }; // UBOs have layout rules in terms of how memory is aligned so we
34
+ };
35
+
36
+ // UBOs have layout rules in terms of how memory is aligned so we
34
37
  // have to be careful how we order the entries. For example a vec4<f32>
35
38
  // must be aligned on a 16 byte offset, etc. See
36
39
  // https://gpuweb.github.io/gpuweb/wgsl/#memory-layouts
37
40
  // for more details. Right now you can create a situation that would fail
38
41
  // in the future we could add dummy spacer entries where needed to
39
42
  // handle alignment issues
40
-
41
-
42
- publicAPI.sortBufferEntries = function () {
43
+ publicAPI.sortBufferEntries = () => {
43
44
  if (!model.sortDirty) {
44
45
  return;
45
46
  }
47
+ let currOffset = 0;
48
+ const newEntries = [];
46
49
 
47
- var currOffset = 0;
48
- var newEntries = []; // compute the max alignment, this is required as WebGPU defines a UBO to have
50
+ // compute the max alignment, this is required as WebGPU defines a UBO to have
49
51
  // a size that is a multiple of the maxAlignment
50
-
51
- var maxAlignment = 4;
52
-
53
- for (var i = 0; i < model.bufferEntries.length; i++) {
54
- var entry = model.bufferEntries[i];
55
-
52
+ let maxAlignment = 4;
53
+ for (let i = 0; i < model.bufferEntries.length; i++) {
54
+ const entry = model.bufferEntries[i];
56
55
  if (entry.sizeInBytes % 16 === 0) {
57
56
  maxAlignment = Math.max(16, maxAlignment);
58
57
  }
59
-
60
58
  if (entry.sizeInBytes % 8 === 0) {
61
59
  maxAlignment = Math.max(8, maxAlignment);
62
60
  }
63
- } // pack anything whose size is a multiple of 16 bytes first
61
+ }
62
+
63
+ // pack anything whose size is a multiple of 16 bytes first
64
64
  // this includes a couple types that don't require 16 byte alignment
65
65
  // such as mat2x2<f32> but that is OK
66
-
67
-
68
- for (var _i = 0; _i < model.bufferEntries.length; _i++) {
69
- var _entry = model.bufferEntries[_i];
70
-
71
- if (_entry.packed === false && _entry.sizeInBytes % 16 === 0) {
72
- _entry.packed = true;
73
- _entry.offset = currOffset;
74
- newEntries.push(_entry);
75
- currOffset += _entry.sizeInBytes;
66
+ for (let i = 0; i < model.bufferEntries.length; i++) {
67
+ const entry = model.bufferEntries[i];
68
+ if (entry.packed === false && entry.sizeInBytes % 16 === 0) {
69
+ entry.packed = true;
70
+ entry.offset = currOffset;
71
+ newEntries.push(entry);
72
+ currOffset += entry.sizeInBytes;
76
73
  }
77
- } // now it gets tough, we have the following common types (f32, i32, u32)
74
+ }
75
+
76
+ // now it gets tough, we have the following common types (f32, i32, u32)
78
77
  // - vec2<f32> 8 byte size, 8 byte alignment
79
78
  // - vec3<f32> 12 byte size, 16 byte alignment
80
79
  // - f32 4 byte size, 4 byte alignment
81
- // try adding 12 byte, 4 byte pairs
82
-
83
-
84
- for (var _i2 = 0; _i2 < model.bufferEntries.length; _i2++) {
85
- var _entry2 = model.bufferEntries[_i2];
86
-
87
- if (_entry2.packed === false && _entry2.sizeInBytes === 12) {
88
- for (var i2 = 0; i2 < model.bufferEntries.length; i2++) {
89
- var entry2 = model.bufferEntries[i2];
90
80
 
81
+ // try adding 12 byte, 4 byte pairs
82
+ for (let i = 0; i < model.bufferEntries.length; i++) {
83
+ const entry = model.bufferEntries[i];
84
+ if (entry.packed === false && entry.sizeInBytes === 12) {
85
+ for (let i2 = 0; i2 < model.bufferEntries.length; i2++) {
86
+ const entry2 = model.bufferEntries[i2];
91
87
  if (entry2.packed === false && entry2.sizeInBytes === 4) {
92
- _entry2.packed = true;
93
- _entry2.offset = currOffset;
94
- newEntries.push(_entry2);
95
- currOffset += _entry2.sizeInBytes;
88
+ entry.packed = true;
89
+ entry.offset = currOffset;
90
+ newEntries.push(entry);
91
+ currOffset += entry.sizeInBytes;
96
92
  entry2.packed = true;
97
93
  entry2.offset = currOffset;
98
94
  newEntries.push(entry2);
@@ -101,54 +97,48 @@ function vtkWebGPUUniformBuffer(publicAPI, model) {
101
97
  }
102
98
  }
103
99
  }
104
- } // try adding 8 byte, 8 byte pairs
105
-
106
-
107
- for (var _i3 = 0; _i3 < model.bufferEntries.length; _i3++) {
108
- var _entry3 = model.bufferEntries[_i3];
109
-
110
- if (!_entry3.packed && _entry3.sizeInBytes % 8 === 0) {
111
- for (var _i4 = _i3 + 1; _i4 < model.bufferEntries.length; _i4++) {
112
- var _entry4 = model.bufferEntries[_i4];
100
+ }
113
101
 
114
- if (!_entry4.packed && _entry4.sizeInBytes % 8 === 0) {
115
- _entry3.packed = true;
116
- _entry3.offset = currOffset;
117
- newEntries.push(_entry3);
118
- currOffset += _entry3.sizeInBytes;
119
- _entry4.packed = true;
120
- _entry4.offset = currOffset;
121
- newEntries.push(_entry4);
122
- currOffset += _entry4.sizeInBytes;
102
+ // try adding 8 byte, 8 byte pairs
103
+ for (let i = 0; i < model.bufferEntries.length; i++) {
104
+ const entry = model.bufferEntries[i];
105
+ if (!entry.packed && entry.sizeInBytes % 8 === 0) {
106
+ for (let i2 = i + 1; i2 < model.bufferEntries.length; i2++) {
107
+ const entry2 = model.bufferEntries[i2];
108
+ if (!entry2.packed && entry2.sizeInBytes % 8 === 0) {
109
+ entry.packed = true;
110
+ entry.offset = currOffset;
111
+ newEntries.push(entry);
112
+ currOffset += entry.sizeInBytes;
113
+ entry2.packed = true;
114
+ entry2.offset = currOffset;
115
+ newEntries.push(entry2);
116
+ currOffset += entry2.sizeInBytes;
123
117
  break;
124
118
  }
125
119
  }
126
120
  }
127
- } // try adding 8 byte, 4 byte 4 byte triplets
128
-
129
-
130
- for (var _i5 = 0; _i5 < model.bufferEntries.length; _i5++) {
131
- var _entry5 = model.bufferEntries[_i5];
132
-
133
- if (!_entry5.packed && _entry5.sizeInBytes % 8 === 0) {
134
- var found = false;
135
-
136
- for (var _i6 = 0; !found && _i6 < model.bufferEntries.length; _i6++) {
137
- var _entry6 = model.bufferEntries[_i6];
138
-
139
- if (!_entry6.packed && _entry6.sizeInBytes === 4) {
140
- for (var i3 = _i6 + 1; i3 < model.bufferEntries.length; i3++) {
141
- var entry3 = model.bufferEntries[i3];
121
+ }
142
122
 
123
+ // try adding 8 byte, 4 byte 4 byte triplets
124
+ for (let i = 0; i < model.bufferEntries.length; i++) {
125
+ const entry = model.bufferEntries[i];
126
+ if (!entry.packed && entry.sizeInBytes % 8 === 0) {
127
+ let found = false;
128
+ for (let i2 = 0; !found && i2 < model.bufferEntries.length; i2++) {
129
+ const entry2 = model.bufferEntries[i2];
130
+ if (!entry2.packed && entry2.sizeInBytes === 4) {
131
+ for (let i3 = i2 + 1; i3 < model.bufferEntries.length; i3++) {
132
+ const entry3 = model.bufferEntries[i3];
143
133
  if (!entry3.packed && entry3.sizeInBytes === 4) {
144
- _entry5.packed = true;
145
- _entry5.offset = currOffset;
146
- newEntries.push(_entry5);
147
- currOffset += _entry5.sizeInBytes;
148
- _entry6.packed = true;
149
- _entry6.offset = currOffset;
150
- newEntries.push(_entry6);
151
- currOffset += _entry6.sizeInBytes;
134
+ entry.packed = true;
135
+ entry.offset = currOffset;
136
+ newEntries.push(entry);
137
+ currOffset += entry.sizeInBytes;
138
+ entry2.packed = true;
139
+ entry2.offset = currOffset;
140
+ newEntries.push(entry2);
141
+ currOffset += entry2.sizeInBytes;
152
142
  entry3.packed = true;
153
143
  entry3.offset = currOffset;
154
144
  newEntries.push(entry3);
@@ -160,51 +150,45 @@ function vtkWebGPUUniformBuffer(publicAPI, model) {
160
150
  }
161
151
  }
162
152
  }
163
- } // Add anything remaining that is larger than 4 bytes and hope we get lucky.
153
+ }
154
+
155
+ // Add anything remaining that is larger than 4 bytes and hope we get lucky.
164
156
  // Likely if there is more than one item added here it will result
165
157
  // in a failed UBO
166
-
167
-
168
- for (var _i7 = 0; _i7 < model.bufferEntries.length; _i7++) {
169
- var _entry7 = model.bufferEntries[_i7];
170
-
171
- if (!_entry7.packed && _entry7.sizeInBytes > 4) {
172
- _entry7.packed = true;
173
- _entry7.offset = currOffset;
174
- newEntries.push(_entry7);
175
- currOffset += _entry7.sizeInBytes;
158
+ for (let i = 0; i < model.bufferEntries.length; i++) {
159
+ const entry = model.bufferEntries[i];
160
+ if (!entry.packed && entry.sizeInBytes > 4) {
161
+ entry.packed = true;
162
+ entry.offset = currOffset;
163
+ newEntries.push(entry);
164
+ currOffset += entry.sizeInBytes;
176
165
  }
177
- } // finally add remaining 4 byte items
178
-
179
-
180
- for (var _i8 = 0; _i8 < model.bufferEntries.length; _i8++) {
181
- var _entry8 = model.bufferEntries[_i8];
166
+ }
182
167
 
183
- if (!_entry8.packed) {
184
- _entry8.packed = true;
185
- _entry8.offset = currOffset;
186
- newEntries.push(_entry8);
187
- currOffset += _entry8.sizeInBytes;
168
+ // finally add remaining 4 byte items
169
+ for (let i = 0; i < model.bufferEntries.length; i++) {
170
+ const entry = model.bufferEntries[i];
171
+ if (!entry.packed) {
172
+ entry.packed = true;
173
+ entry.offset = currOffset;
174
+ newEntries.push(entry);
175
+ currOffset += entry.sizeInBytes;
188
176
  }
189
- } // update entries and entryNames
190
-
177
+ }
191
178
 
179
+ // update entries and entryNames
192
180
  model.bufferEntries = newEntries;
193
-
194
181
  model._bufferEntryNames.clear();
195
-
196
- for (var _i9 = 0; _i9 < model.bufferEntries.length; _i9++) {
197
- model._bufferEntryNames.set(model.bufferEntries[_i9].name, _i9);
182
+ for (let i = 0; i < model.bufferEntries.length; i++) {
183
+ model._bufferEntryNames.set(model.bufferEntries[i].name, i);
198
184
  }
199
-
200
185
  model.sizeInBytes = currOffset;
201
186
  model.sizeInBytes = maxAlignment * Math.ceil(model.sizeInBytes / maxAlignment);
202
187
  model.sortDirty = false;
203
188
  };
204
-
205
- publicAPI.sendIfNeeded = function (device) {
189
+ publicAPI.sendIfNeeded = device => {
206
190
  if (!model.UBO) {
207
- var req = {
191
+ const req = {
208
192
  nativeArray: model.Float32Array,
209
193
  usage: BufferUsage.UniformArray,
210
194
  label: model.label
@@ -212,128 +196,113 @@ function vtkWebGPUUniformBuffer(publicAPI, model) {
212
196
  model.UBO = device.getBufferManager().getBuffer(req);
213
197
  model.bindGroupTime.modified();
214
198
  model.sendDirty = false;
215
- } // send data down if needed
216
-
199
+ }
217
200
 
201
+ // send data down if needed
218
202
  if (model.sendDirty) {
219
203
  device.getHandle().queue.writeBuffer(model.UBO.getHandle(), 0, model.arrayBuffer, 0, model.sizeInBytes);
220
204
  model.sendDirty = false;
221
- } // always updated as mappers depend on this time
222
- // it is more of a sentIfNeededTime
223
-
205
+ }
224
206
 
207
+ // always updated as mappers depend on this time
208
+ // it is more of a sentIfNeededTime
225
209
  model.sendTime.modified();
226
210
  };
227
-
228
- publicAPI.createView = function (type) {
211
+ publicAPI.createView = type => {
229
212
  if (type in model === false) {
230
213
  if (!model.arrayBuffer) {
231
214
  model.arrayBuffer = new ArrayBuffer(model.sizeInBytes);
232
215
  }
233
-
234
216
  model[type] = macro.newTypedArray(type, model.arrayBuffer);
235
217
  }
236
218
  };
237
-
238
- publicAPI.setValue = function (name, val) {
219
+ publicAPI.setValue = (name, val) => {
239
220
  publicAPI.sortBufferEntries();
240
-
241
- var idx = model._bufferEntryNames.get(name);
242
-
221
+ const idx = model._bufferEntryNames.get(name);
243
222
  if (idx === undefined) {
244
- vtkErrorMacro("entry named ".concat(name, " not found in UBO"));
223
+ vtkErrorMacro(`entry named ${name} not found in UBO`);
245
224
  return;
246
225
  }
247
-
248
- var entry = model.bufferEntries[idx];
226
+ const entry = model.bufferEntries[idx];
249
227
  publicAPI.createView(entry.nativeType);
250
- var view = model[entry.nativeType];
251
-
228
+ const view = model[entry.nativeType];
252
229
  if (entry.lastValue !== val) {
253
230
  view[entry.offset / view.BYTES_PER_ELEMENT] = val;
254
231
  model.sendDirty = true;
255
232
  }
256
-
257
233
  entry.lastValue = val;
258
234
  };
259
-
260
- publicAPI.setArray = function (name, arr) {
235
+ publicAPI.setArray = (name, arr) => {
261
236
  publicAPI.sortBufferEntries();
262
-
263
- var idx = model._bufferEntryNames.get(name);
264
-
237
+ const idx = model._bufferEntryNames.get(name);
265
238
  if (idx === undefined) {
266
- vtkErrorMacro("entry named ".concat(name, " not found in UBO"));
239
+ vtkErrorMacro(`entry named ${name} not found in UBO`);
267
240
  return;
268
241
  }
269
-
270
- var entry = model.bufferEntries[idx];
242
+ const entry = model.bufferEntries[idx];
271
243
  publicAPI.createView(entry.nativeType);
272
- var view = model[entry.nativeType];
273
- var changed = false;
274
-
275
- for (var i = 0; i < arr.length; i++) {
244
+ const view = model[entry.nativeType];
245
+ let changed = false;
246
+ for (let i = 0; i < arr.length; i++) {
276
247
  if (!entry.lastValue || entry.lastValue[i] !== arr[i]) {
277
248
  view[entry.offset / view.BYTES_PER_ELEMENT + i] = arr[i];
278
249
  changed = true;
279
250
  }
280
251
  }
281
-
282
252
  if (changed) {
283
253
  model.sendDirty = true;
284
- entry.lastValue = _toConsumableArray(arr);
254
+ entry.lastValue = [...arr];
285
255
  }
286
256
  };
287
-
288
- publicAPI.getBindGroupEntry = function () {
289
- var foo = {
257
+ publicAPI.getBindGroupEntry = () => {
258
+ const foo = {
290
259
  resource: {
291
260
  buffer: model.UBO.getHandle()
292
261
  }
293
262
  };
294
263
  return foo;
295
264
  };
296
-
297
- publicAPI.getSendTime = function () {
298
- return model.sendTime.getMTime();
299
- };
300
-
301
- publicAPI.getShaderCode = function (binding, group) {
265
+ publicAPI.getSendTime = () => model.sendTime.getMTime();
266
+ publicAPI.getShaderCode = (binding, group) => {
302
267
  // sort the entries
303
268
  publicAPI.sortBufferEntries();
304
- var lines = ["struct ".concat(model.label, "Struct\n{")];
305
-
306
- for (var i = 0; i < model.bufferEntries.length; i++) {
307
- var entry = model.bufferEntries[i];
308
- lines.push(" ".concat(entry.name, ": ").concat(entry.type, ","));
269
+ const lines = [`struct ${model.label}Struct\n{`];
270
+ for (let i = 0; i < model.bufferEntries.length; i++) {
271
+ const entry = model.bufferEntries[i];
272
+ lines.push(` ${entry.name}: ${entry.type},`);
309
273
  }
310
-
311
- lines.push("};\n@binding(".concat(binding, ") @group(").concat(group, ") var<uniform> ").concat(model.label, ": ").concat(model.label, "Struct;"));
274
+ lines.push(`};\n@binding(${binding}) @group(${group}) var<uniform> ${model.label}: ${model.label}Struct;`);
312
275
  return lines.join('\n');
313
276
  };
314
- } // ----------------------------------------------------------------------------
277
+ }
278
+
279
+ // ----------------------------------------------------------------------------
315
280
  // Object factory
316
281
  // ----------------------------------------------------------------------------
317
282
 
318
-
319
- var DEFAULT_VALUES = {
283
+ const DEFAULT_VALUES = {
320
284
  bufferEntries: null,
321
285
  bufferEntryNames: null,
322
286
  sizeInBytes: 0,
323
287
  label: null,
324
288
  bindGroupLayoutEntry: null,
325
289
  bindGroupEntry: null
326
- }; // ----------------------------------------------------------------------------
290
+ };
291
+
292
+ // ----------------------------------------------------------------------------
327
293
 
328
294
  function extend(publicAPI, model) {
329
- var initialValues = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
330
- Object.assign(model, DEFAULT_VALUES, initialValues); // Build VTK API
295
+ let initialValues = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
296
+ Object.assign(model, DEFAULT_VALUES, initialValues);
331
297
 
332
- macro.obj(publicAPI, model); // Internal objects
298
+ // Build VTK API
299
+ macro.obj(publicAPI, model);
333
300
 
301
+ // Internal objects
334
302
  model._bufferEntryNames = new Map();
335
- model.bufferEntries = []; // default UBO desc
303
+ model.bufferEntries = [];
336
304
 
305
+ // default UBO desc
337
306
  model.bindGroupLayoutEntry = model.bindGroupLayoutEntry || {
338
307
  buffer: {
339
308
  type: 'uniform'
@@ -350,16 +319,21 @@ function extend(publicAPI, model) {
350
319
  model.sendDirty = true;
351
320
  model.sortDirty = true;
352
321
  macro.get(publicAPI, model, ['binding', 'bindGroupTime']);
353
- macro.setGet(publicAPI, model, ['bindGroupLayoutEntry', 'device', 'label', 'sizeInBytes']); // Object methods
322
+ macro.setGet(publicAPI, model, ['bindGroupLayoutEntry', 'device', 'label', 'sizeInBytes']);
354
323
 
324
+ // Object methods
355
325
  vtkWebGPUUniformBuffer(publicAPI, model);
356
- } // ----------------------------------------------------------------------------
326
+ }
327
+
328
+ // ----------------------------------------------------------------------------
357
329
 
358
- var newInstance = macro.newInstance(extend, 'vtkWebGPUUniformBuffer'); // ----------------------------------------------------------------------------
330
+ const newInstance = macro.newInstance(extend, 'vtkWebGPUUniformBuffer');
331
+
332
+ // ----------------------------------------------------------------------------
359
333
 
360
334
  var vtkWebGPUUniformBuffer$1 = {
361
- newInstance: newInstance,
362
- extend: extend
335
+ newInstance,
336
+ extend
363
337
  };
364
338
 
365
339
  export { vtkWebGPUUniformBuffer$1 as default, extend, newInstance };