@itwin/frontend-devtools 4.0.0-dev.10 → 4.0.0-dev.101

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 (398) hide show
  1. package/CHANGELOG.md +51 -1
  2. package/README.md +1 -1
  3. package/lib/cjs/ClipboardUtilities.d.ts +8 -8
  4. package/lib/cjs/ClipboardUtilities.js +26 -26
  5. package/lib/cjs/ClipboardUtilities.js.map +1 -1
  6. package/lib/cjs/FrontEndDevTools.d.ts +19 -19
  7. package/lib/cjs/FrontEndDevTools.js +221 -221
  8. package/lib/cjs/FrontEndDevTools.js.map +1 -1
  9. package/lib/cjs/effects/Convolution.d.ts +68 -68
  10. package/lib/cjs/effects/Convolution.js +165 -165
  11. package/lib/cjs/effects/Convolution.js.map +1 -1
  12. package/lib/cjs/effects/EffectTools.d.ts +33 -33
  13. package/lib/cjs/effects/EffectTools.js +67 -68
  14. package/lib/cjs/effects/EffectTools.js.map +1 -1
  15. package/lib/cjs/effects/Explosion.d.ts +12 -12
  16. package/lib/cjs/effects/Explosion.js +168 -168
  17. package/lib/cjs/effects/Explosion.js.map +1 -1
  18. package/lib/cjs/effects/FlipImage.d.ts +30 -30
  19. package/lib/cjs/effects/FlipImage.js +99 -99
  20. package/lib/cjs/effects/FlipImage.js.map +1 -1
  21. package/lib/cjs/effects/LensDistortion.d.ts +34 -34
  22. package/lib/cjs/effects/LensDistortion.js +109 -109
  23. package/lib/cjs/effects/LensDistortion.js.map +1 -1
  24. package/lib/cjs/effects/Random.d.ts +24 -24
  25. package/lib/cjs/effects/Random.js +49 -49
  26. package/lib/cjs/effects/Random.js.map +1 -1
  27. package/lib/cjs/effects/Saturation.d.ts +30 -30
  28. package/lib/cjs/effects/Saturation.js +85 -85
  29. package/lib/cjs/effects/Saturation.js.map +1 -1
  30. package/lib/cjs/effects/Snow.d.ts +76 -76
  31. package/lib/cjs/effects/Snow.js +187 -187
  32. package/lib/cjs/effects/Snow.js.map +1 -1
  33. package/lib/cjs/effects/Vignette.d.ts +39 -39
  34. package/lib/cjs/effects/Vignette.js +108 -108
  35. package/lib/cjs/effects/Vignette.js.map +1 -1
  36. package/lib/cjs/frontend-devtools.d.ts +82 -82
  37. package/lib/cjs/frontend-devtools.js +102 -98
  38. package/lib/cjs/frontend-devtools.js.map +1 -1
  39. package/lib/cjs/tools/AnimationIntervalTool.d.ts +15 -15
  40. package/lib/cjs/tools/AnimationIntervalTool.js +30 -30
  41. package/lib/cjs/tools/AnimationIntervalTool.js.map +1 -1
  42. package/lib/cjs/tools/ChangeUnitsTool.d.ts +15 -15
  43. package/lib/cjs/tools/ChangeUnitsTool.js +41 -41
  44. package/lib/cjs/tools/ChangeUnitsTool.js.map +1 -1
  45. package/lib/cjs/tools/ClipTools.d.ts +67 -67
  46. package/lib/cjs/tools/ClipTools.js +161 -164
  47. package/lib/cjs/tools/ClipTools.js.map +1 -1
  48. package/lib/cjs/tools/DisplayStyleTools.d.ts +145 -145
  49. package/lib/cjs/tools/DisplayStyleTools.js +368 -370
  50. package/lib/cjs/tools/DisplayStyleTools.js.map +1 -1
  51. package/lib/cjs/tools/EmphasizeElementsTool.d.ts +60 -60
  52. package/lib/cjs/tools/EmphasizeElementsTool.js +154 -154
  53. package/lib/cjs/tools/EmphasizeElementsTool.js.map +1 -1
  54. package/lib/cjs/tools/FrustumDecoration.d.ts +57 -57
  55. package/lib/cjs/tools/FrustumDecoration.js +374 -374
  56. package/lib/cjs/tools/FrustumDecoration.js.map +1 -1
  57. package/lib/cjs/tools/InspectElementTool.d.ts +42 -42
  58. package/lib/cjs/tools/InspectElementTool.js +198 -198
  59. package/lib/cjs/tools/InspectElementTool.js.map +1 -1
  60. package/lib/cjs/tools/MapLayerTool.d.ts +264 -264
  61. package/lib/cjs/tools/MapLayerTool.d.ts.map +1 -1
  62. package/lib/cjs/tools/MapLayerTool.js +509 -507
  63. package/lib/cjs/tools/MapLayerTool.js.map +1 -1
  64. package/lib/cjs/tools/MeasureTileLoadTime.d.ts +12 -12
  65. package/lib/cjs/tools/MeasureTileLoadTime.js +63 -63
  66. package/lib/cjs/tools/MeasureTileLoadTime.js.map +1 -1
  67. package/lib/cjs/tools/ModelAppearanceTools.d.ts +86 -86
  68. package/lib/cjs/tools/ModelAppearanceTools.js +183 -183
  69. package/lib/cjs/tools/ModelAppearanceTools.js.map +1 -1
  70. package/lib/cjs/tools/PlanProjectionTools.d.ts +40 -40
  71. package/lib/cjs/tools/PlanProjectionTools.js +149 -149
  72. package/lib/cjs/tools/PlanProjectionTools.js.map +1 -1
  73. package/lib/cjs/tools/PlanarMaskTools.d.ts +182 -182
  74. package/lib/cjs/tools/PlanarMaskTools.js +391 -393
  75. package/lib/cjs/tools/PlanarMaskTools.js.map +1 -1
  76. package/lib/cjs/tools/ProjectExtents.d.ts +41 -41
  77. package/lib/cjs/tools/ProjectExtents.js +110 -110
  78. package/lib/cjs/tools/ProjectExtents.js.map +1 -1
  79. package/lib/cjs/tools/RealityModelTools.d.ts +116 -116
  80. package/lib/cjs/tools/RealityModelTools.js +281 -281
  81. package/lib/cjs/tools/RealityModelTools.js.map +1 -1
  82. package/lib/cjs/tools/RealityTransitionTool.d.ts +25 -25
  83. package/lib/cjs/tools/RealityTransitionTool.js +115 -116
  84. package/lib/cjs/tools/RealityTransitionTool.js.map +1 -1
  85. package/lib/cjs/tools/RenderSystemTools.d.ts +38 -38
  86. package/lib/cjs/tools/RenderSystemTools.js +69 -70
  87. package/lib/cjs/tools/RenderSystemTools.js.map +1 -1
  88. package/lib/cjs/tools/RenderTargetTools.d.ts +107 -107
  89. package/lib/cjs/tools/RenderTargetTools.d.ts.map +1 -1
  90. package/lib/cjs/tools/RenderTargetTools.js +174 -174
  91. package/lib/cjs/tools/RenderTargetTools.js.map +1 -1
  92. package/lib/cjs/tools/ReportWebGLCompatibilityTool.d.ts +11 -11
  93. package/lib/cjs/tools/ReportWebGLCompatibilityTool.js +30 -30
  94. package/lib/cjs/tools/ReportWebGLCompatibilityTool.js.map +1 -1
  95. package/lib/cjs/tools/SavedViews.d.ts +46 -46
  96. package/lib/cjs/tools/SavedViews.js +136 -136
  97. package/lib/cjs/tools/SavedViews.js.map +1 -1
  98. package/lib/cjs/tools/ScheduleScriptTools.d.ts +37 -37
  99. package/lib/cjs/tools/ScheduleScriptTools.js +157 -159
  100. package/lib/cjs/tools/ScheduleScriptTools.js.map +1 -1
  101. package/lib/cjs/tools/SelectionTools.d.ts +28 -28
  102. package/lib/cjs/tools/SelectionTools.js +87 -87
  103. package/lib/cjs/tools/SelectionTools.js.map +1 -1
  104. package/lib/cjs/tools/SetGpuMemoryLimitTool.d.ts +15 -15
  105. package/lib/cjs/tools/SetGpuMemoryLimitTool.js +33 -33
  106. package/lib/cjs/tools/SetGpuMemoryLimitTool.js.map +1 -1
  107. package/lib/cjs/tools/SourceAspectIdTools.d.ts +40 -40
  108. package/lib/cjs/tools/SourceAspectIdTools.js +85 -86
  109. package/lib/cjs/tools/SourceAspectIdTools.js.map +1 -1
  110. package/lib/cjs/tools/TileRequestDecoration.d.ts +12 -12
  111. package/lib/cjs/tools/TileRequestDecoration.js +83 -83
  112. package/lib/cjs/tools/TileRequestDecoration.js.map +1 -1
  113. package/lib/cjs/tools/TileTreeBoundsDecoration.d.ts +11 -11
  114. package/lib/cjs/tools/TileTreeBoundsDecoration.js +74 -74
  115. package/lib/cjs/tools/TileTreeBoundsDecoration.js.map +1 -1
  116. package/lib/cjs/tools/ToolTipProvider.d.ts +15 -15
  117. package/lib/cjs/tools/ToolTipProvider.js +66 -66
  118. package/lib/cjs/tools/ToolTipProvider.js.map +1 -1
  119. package/lib/cjs/tools/ViewportTools.d.ts +218 -218
  120. package/lib/cjs/tools/ViewportTools.d.ts.map +1 -1
  121. package/lib/cjs/tools/ViewportTools.js +516 -516
  122. package/lib/cjs/tools/ViewportTools.js.map +1 -1
  123. package/lib/cjs/tools/parseArgs.d.ts +23 -23
  124. package/lib/cjs/tools/parseArgs.js +51 -51
  125. package/lib/cjs/tools/parseArgs.js.map +1 -1
  126. package/lib/cjs/tools/parseBoolean.d.ts +8 -8
  127. package/lib/cjs/tools/parseBoolean.js +26 -26
  128. package/lib/cjs/tools/parseBoolean.js.map +1 -1
  129. package/lib/cjs/tools/parseToggle.d.ts +8 -8
  130. package/lib/cjs/tools/parseToggle.js +25 -25
  131. package/lib/cjs/tools/parseToggle.js.map +1 -1
  132. package/lib/cjs/ui/Button.d.ts +29 -29
  133. package/lib/cjs/ui/Button.d.ts.map +1 -1
  134. package/lib/cjs/ui/Button.js +26 -26
  135. package/lib/cjs/ui/Button.js.map +1 -1
  136. package/lib/cjs/ui/CheckBox.d.ts +23 -23
  137. package/lib/cjs/ui/CheckBox.d.ts.map +1 -1
  138. package/lib/cjs/ui/CheckBox.js +27 -27
  139. package/lib/cjs/ui/CheckBox.js.map +1 -1
  140. package/lib/cjs/ui/ColorInput.d.ts +27 -27
  141. package/lib/cjs/ui/ColorInput.d.ts.map +1 -1
  142. package/lib/cjs/ui/ColorInput.js +53 -53
  143. package/lib/cjs/ui/ColorInput.js.map +1 -1
  144. package/lib/cjs/ui/ComboBox.d.ts +28 -28
  145. package/lib/cjs/ui/ComboBox.d.ts.map +1 -1
  146. package/lib/cjs/ui/ComboBox.js +42 -42
  147. package/lib/cjs/ui/ComboBox.js.map +1 -1
  148. package/lib/cjs/ui/DataList.d.ts +27 -27
  149. package/lib/cjs/ui/DataList.d.ts.map +1 -1
  150. package/lib/cjs/ui/DataList.js +39 -39
  151. package/lib/cjs/ui/DataList.js.map +1 -1
  152. package/lib/cjs/ui/NestedMenu.d.ts +19 -19
  153. package/lib/cjs/ui/NestedMenu.d.ts.map +1 -1
  154. package/lib/cjs/ui/NestedMenu.js +46 -46
  155. package/lib/cjs/ui/NestedMenu.js.map +1 -1
  156. package/lib/cjs/ui/NumericInput.d.ts +35 -35
  157. package/lib/cjs/ui/NumericInput.d.ts.map +1 -1
  158. package/lib/cjs/ui/NumericInput.js +61 -61
  159. package/lib/cjs/ui/NumericInput.js.map +1 -1
  160. package/lib/cjs/ui/RadioBox.d.ts +29 -29
  161. package/lib/cjs/ui/RadioBox.d.ts.map +1 -1
  162. package/lib/cjs/ui/RadioBox.js +76 -76
  163. package/lib/cjs/ui/RadioBox.js.map +1 -1
  164. package/lib/cjs/ui/Slider.d.ts +28 -28
  165. package/lib/cjs/ui/Slider.d.ts.map +1 -1
  166. package/lib/cjs/ui/Slider.js +42 -42
  167. package/lib/cjs/ui/Slider.js.map +1 -1
  168. package/lib/cjs/ui/TextBox.d.ts +32 -32
  169. package/lib/cjs/ui/TextBox.d.ts.map +1 -1
  170. package/lib/cjs/ui/TextBox.js +56 -56
  171. package/lib/cjs/ui/TextBox.js.map +1 -1
  172. package/lib/cjs/widgets/DiagnosticsPanel.d.ts +37 -37
  173. package/lib/cjs/widgets/DiagnosticsPanel.js +81 -81
  174. package/lib/cjs/widgets/DiagnosticsPanel.js.map +1 -1
  175. package/lib/cjs/widgets/FpsTracker.d.ts +19 -19
  176. package/lib/cjs/widgets/FpsTracker.js +56 -56
  177. package/lib/cjs/widgets/FpsTracker.js.map +1 -1
  178. package/lib/cjs/widgets/GpuProfiler.d.ts +16 -16
  179. package/lib/cjs/widgets/GpuProfiler.js +192 -192
  180. package/lib/cjs/widgets/GpuProfiler.js.map +1 -1
  181. package/lib/cjs/widgets/KeyinField.d.ts +61 -61
  182. package/lib/cjs/widgets/KeyinField.js +186 -187
  183. package/lib/cjs/widgets/KeyinField.js.map +1 -1
  184. package/lib/cjs/widgets/MemoryTracker.d.ts +27 -27
  185. package/lib/cjs/widgets/MemoryTracker.js +242 -243
  186. package/lib/cjs/widgets/MemoryTracker.js.map +1 -1
  187. package/lib/cjs/widgets/RenderCommandBreakdown.d.ts +15 -15
  188. package/lib/cjs/widgets/RenderCommandBreakdown.js +67 -68
  189. package/lib/cjs/widgets/RenderCommandBreakdown.js.map +1 -1
  190. package/lib/cjs/widgets/TileMemoryBreakdown.d.ts +30 -30
  191. package/lib/cjs/widgets/TileMemoryBreakdown.js +203 -204
  192. package/lib/cjs/widgets/TileMemoryBreakdown.js.map +1 -1
  193. package/lib/cjs/widgets/TileStatisticsTracker.d.ts +21 -21
  194. package/lib/cjs/widgets/TileStatisticsTracker.d.ts.map +1 -1
  195. package/lib/cjs/widgets/TileStatisticsTracker.js +144 -142
  196. package/lib/cjs/widgets/TileStatisticsTracker.js.map +1 -1
  197. package/lib/cjs/widgets/ToolSettingsTracker.d.ts +9 -9
  198. package/lib/cjs/widgets/ToolSettingsTracker.js +211 -211
  199. package/lib/cjs/widgets/ToolSettingsTracker.js.map +1 -1
  200. package/lib/esm/ClipboardUtilities.d.ts +8 -8
  201. package/lib/esm/ClipboardUtilities.js +22 -22
  202. package/lib/esm/ClipboardUtilities.js.map +1 -1
  203. package/lib/esm/FrontEndDevTools.d.ts +19 -19
  204. package/lib/esm/FrontEndDevTools.js +218 -217
  205. package/lib/esm/FrontEndDevTools.js.map +1 -1
  206. package/lib/esm/effects/Convolution.d.ts +68 -68
  207. package/lib/esm/effects/Convolution.js +161 -155
  208. package/lib/esm/effects/Convolution.js.map +1 -1
  209. package/lib/esm/effects/EffectTools.d.ts +33 -33
  210. package/lib/esm/effects/EffectTools.js +63 -62
  211. package/lib/esm/effects/EffectTools.js.map +1 -1
  212. package/lib/esm/effects/Explosion.d.ts +12 -12
  213. package/lib/esm/effects/Explosion.js +165 -164
  214. package/lib/esm/effects/Explosion.js.map +1 -1
  215. package/lib/esm/effects/FlipImage.d.ts +30 -30
  216. package/lib/esm/effects/FlipImage.js +96 -94
  217. package/lib/esm/effects/FlipImage.js.map +1 -1
  218. package/lib/esm/effects/LensDistortion.d.ts +34 -34
  219. package/lib/esm/effects/LensDistortion.js +106 -104
  220. package/lib/esm/effects/LensDistortion.js.map +1 -1
  221. package/lib/esm/effects/Random.d.ts +24 -24
  222. package/lib/esm/effects/Random.js +41 -41
  223. package/lib/esm/effects/Random.js.map +1 -1
  224. package/lib/esm/effects/Saturation.d.ts +30 -30
  225. package/lib/esm/effects/Saturation.js +82 -80
  226. package/lib/esm/effects/Saturation.js.map +1 -1
  227. package/lib/esm/effects/Snow.d.ts +76 -76
  228. package/lib/esm/effects/Snow.js +184 -182
  229. package/lib/esm/effects/Snow.js.map +1 -1
  230. package/lib/esm/effects/Vignette.d.ts +39 -39
  231. package/lib/esm/effects/Vignette.js +105 -103
  232. package/lib/esm/effects/Vignette.js.map +1 -1
  233. package/lib/esm/frontend-devtools.d.ts +82 -82
  234. package/lib/esm/frontend-devtools.js +86 -86
  235. package/lib/esm/frontend-devtools.js.map +1 -1
  236. package/lib/esm/tools/AnimationIntervalTool.d.ts +15 -15
  237. package/lib/esm/tools/AnimationIntervalTool.js +27 -26
  238. package/lib/esm/tools/AnimationIntervalTool.js.map +1 -1
  239. package/lib/esm/tools/ChangeUnitsTool.d.ts +15 -15
  240. package/lib/esm/tools/ChangeUnitsTool.js +38 -37
  241. package/lib/esm/tools/ChangeUnitsTool.js.map +1 -1
  242. package/lib/esm/tools/ClipTools.d.ts +67 -67
  243. package/lib/esm/tools/ClipTools.js +158 -158
  244. package/lib/esm/tools/ClipTools.js.map +1 -1
  245. package/lib/esm/tools/DisplayStyleTools.d.ts +145 -145
  246. package/lib/esm/tools/DisplayStyleTools.js +364 -356
  247. package/lib/esm/tools/DisplayStyleTools.js.map +1 -1
  248. package/lib/esm/tools/EmphasizeElementsTool.d.ts +60 -60
  249. package/lib/esm/tools/EmphasizeElementsTool.js +150 -145
  250. package/lib/esm/tools/EmphasizeElementsTool.js.map +1 -1
  251. package/lib/esm/tools/FrustumDecoration.d.ts +57 -57
  252. package/lib/esm/tools/FrustumDecoration.js +370 -367
  253. package/lib/esm/tools/FrustumDecoration.js.map +1 -1
  254. package/lib/esm/tools/InspectElementTool.d.ts +42 -42
  255. package/lib/esm/tools/InspectElementTool.js +195 -194
  256. package/lib/esm/tools/InspectElementTool.js.map +1 -1
  257. package/lib/esm/tools/MapLayerTool.d.ts +264 -264
  258. package/lib/esm/tools/MapLayerTool.d.ts.map +1 -1
  259. package/lib/esm/tools/MapLayerTool.js +506 -485
  260. package/lib/esm/tools/MapLayerTool.js.map +1 -1
  261. package/lib/esm/tools/MeasureTileLoadTime.d.ts +12 -12
  262. package/lib/esm/tools/MeasureTileLoadTime.js +60 -59
  263. package/lib/esm/tools/MeasureTileLoadTime.js.map +1 -1
  264. package/lib/esm/tools/ModelAppearanceTools.d.ts +86 -86
  265. package/lib/esm/tools/ModelAppearanceTools.js +180 -172
  266. package/lib/esm/tools/ModelAppearanceTools.js.map +1 -1
  267. package/lib/esm/tools/PlanProjectionTools.d.ts +40 -40
  268. package/lib/esm/tools/PlanProjectionTools.js +146 -143
  269. package/lib/esm/tools/PlanProjectionTools.js.map +1 -1
  270. package/lib/esm/tools/PlanarMaskTools.d.ts +182 -182
  271. package/lib/esm/tools/PlanarMaskTools.js +387 -377
  272. package/lib/esm/tools/PlanarMaskTools.js.map +1 -1
  273. package/lib/esm/tools/ProjectExtents.d.ts +41 -41
  274. package/lib/esm/tools/ProjectExtents.js +105 -104
  275. package/lib/esm/tools/ProjectExtents.js.map +1 -1
  276. package/lib/esm/tools/RealityModelTools.d.ts +116 -116
  277. package/lib/esm/tools/RealityModelTools.js +278 -268
  278. package/lib/esm/tools/RealityModelTools.js.map +1 -1
  279. package/lib/esm/tools/RealityTransitionTool.d.ts +25 -25
  280. package/lib/esm/tools/RealityTransitionTool.js +112 -112
  281. package/lib/esm/tools/RealityTransitionTool.js.map +1 -1
  282. package/lib/esm/tools/RenderSystemTools.d.ts +38 -38
  283. package/lib/esm/tools/RenderSystemTools.js +65 -63
  284. package/lib/esm/tools/RenderSystemTools.js.map +1 -1
  285. package/lib/esm/tools/RenderTargetTools.d.ts +107 -107
  286. package/lib/esm/tools/RenderTargetTools.d.ts.map +1 -1
  287. package/lib/esm/tools/RenderTargetTools.js +169 -159
  288. package/lib/esm/tools/RenderTargetTools.js.map +1 -1
  289. package/lib/esm/tools/ReportWebGLCompatibilityTool.d.ts +11 -11
  290. package/lib/esm/tools/ReportWebGLCompatibilityTool.js +27 -26
  291. package/lib/esm/tools/ReportWebGLCompatibilityTool.js.map +1 -1
  292. package/lib/esm/tools/SavedViews.d.ts +46 -46
  293. package/lib/esm/tools/SavedViews.js +131 -128
  294. package/lib/esm/tools/SavedViews.js.map +1 -1
  295. package/lib/esm/tools/ScheduleScriptTools.d.ts +37 -37
  296. package/lib/esm/tools/ScheduleScriptTools.js +154 -153
  297. package/lib/esm/tools/ScheduleScriptTools.js.map +1 -1
  298. package/lib/esm/tools/SelectionTools.d.ts +28 -28
  299. package/lib/esm/tools/SelectionTools.js +84 -82
  300. package/lib/esm/tools/SelectionTools.js.map +1 -1
  301. package/lib/esm/tools/SetGpuMemoryLimitTool.d.ts +15 -15
  302. package/lib/esm/tools/SetGpuMemoryLimitTool.js +30 -29
  303. package/lib/esm/tools/SetGpuMemoryLimitTool.js.map +1 -1
  304. package/lib/esm/tools/SourceAspectIdTools.d.ts +40 -40
  305. package/lib/esm/tools/SourceAspectIdTools.js +81 -80
  306. package/lib/esm/tools/SourceAspectIdTools.js.map +1 -1
  307. package/lib/esm/tools/TileRequestDecoration.d.ts +12 -12
  308. package/lib/esm/tools/TileRequestDecoration.js +80 -79
  309. package/lib/esm/tools/TileRequestDecoration.js.map +1 -1
  310. package/lib/esm/tools/TileTreeBoundsDecoration.d.ts +11 -11
  311. package/lib/esm/tools/TileTreeBoundsDecoration.js +71 -70
  312. package/lib/esm/tools/TileTreeBoundsDecoration.js.map +1 -1
  313. package/lib/esm/tools/ToolTipProvider.d.ts +15 -15
  314. package/lib/esm/tools/ToolTipProvider.js +63 -62
  315. package/lib/esm/tools/ToolTipProvider.js.map +1 -1
  316. package/lib/esm/tools/ViewportTools.d.ts +218 -218
  317. package/lib/esm/tools/ViewportTools.d.ts.map +1 -1
  318. package/lib/esm/tools/ViewportTools.js +511 -492
  319. package/lib/esm/tools/ViewportTools.js.map +1 -1
  320. package/lib/esm/tools/parseArgs.d.ts +23 -23
  321. package/lib/esm/tools/parseArgs.js +47 -47
  322. package/lib/esm/tools/parseArgs.js.map +1 -1
  323. package/lib/esm/tools/parseBoolean.d.ts +8 -8
  324. package/lib/esm/tools/parseBoolean.js +22 -22
  325. package/lib/esm/tools/parseBoolean.js.map +1 -1
  326. package/lib/esm/tools/parseToggle.d.ts +8 -8
  327. package/lib/esm/tools/parseToggle.js +21 -21
  328. package/lib/esm/tools/parseToggle.js.map +1 -1
  329. package/lib/esm/ui/Button.d.ts +29 -29
  330. package/lib/esm/ui/Button.d.ts.map +1 -1
  331. package/lib/esm/ui/Button.js +22 -22
  332. package/lib/esm/ui/Button.js.map +1 -1
  333. package/lib/esm/ui/CheckBox.d.ts +23 -23
  334. package/lib/esm/ui/CheckBox.d.ts.map +1 -1
  335. package/lib/esm/ui/CheckBox.js +23 -23
  336. package/lib/esm/ui/CheckBox.js.map +1 -1
  337. package/lib/esm/ui/ColorInput.d.ts +27 -27
  338. package/lib/esm/ui/ColorInput.d.ts.map +1 -1
  339. package/lib/esm/ui/ColorInput.js +48 -48
  340. package/lib/esm/ui/ColorInput.js.map +1 -1
  341. package/lib/esm/ui/ComboBox.d.ts +28 -28
  342. package/lib/esm/ui/ComboBox.d.ts.map +1 -1
  343. package/lib/esm/ui/ComboBox.js +38 -38
  344. package/lib/esm/ui/ComboBox.js.map +1 -1
  345. package/lib/esm/ui/DataList.d.ts +27 -27
  346. package/lib/esm/ui/DataList.d.ts.map +1 -1
  347. package/lib/esm/ui/DataList.js +34 -34
  348. package/lib/esm/ui/DataList.js.map +1 -1
  349. package/lib/esm/ui/NestedMenu.d.ts +19 -19
  350. package/lib/esm/ui/NestedMenu.d.ts.map +1 -1
  351. package/lib/esm/ui/NestedMenu.js +42 -42
  352. package/lib/esm/ui/NestedMenu.js.map +1 -1
  353. package/lib/esm/ui/NumericInput.d.ts +35 -35
  354. package/lib/esm/ui/NumericInput.d.ts.map +1 -1
  355. package/lib/esm/ui/NumericInput.js +56 -56
  356. package/lib/esm/ui/NumericInput.js.map +1 -1
  357. package/lib/esm/ui/RadioBox.d.ts +29 -29
  358. package/lib/esm/ui/RadioBox.d.ts.map +1 -1
  359. package/lib/esm/ui/RadioBox.js +72 -72
  360. package/lib/esm/ui/RadioBox.js.map +1 -1
  361. package/lib/esm/ui/Slider.d.ts +28 -28
  362. package/lib/esm/ui/Slider.d.ts.map +1 -1
  363. package/lib/esm/ui/Slider.js +38 -38
  364. package/lib/esm/ui/Slider.js.map +1 -1
  365. package/lib/esm/ui/TextBox.d.ts +32 -32
  366. package/lib/esm/ui/TextBox.d.ts.map +1 -1
  367. package/lib/esm/ui/TextBox.js +52 -52
  368. package/lib/esm/ui/TextBox.js.map +1 -1
  369. package/lib/esm/widgets/DiagnosticsPanel.d.ts +37 -37
  370. package/lib/esm/widgets/DiagnosticsPanel.js +77 -77
  371. package/lib/esm/widgets/DiagnosticsPanel.js.map +1 -1
  372. package/lib/esm/widgets/FpsTracker.d.ts +19 -19
  373. package/lib/esm/widgets/FpsTracker.js +52 -52
  374. package/lib/esm/widgets/FpsTracker.js.map +1 -1
  375. package/lib/esm/widgets/GpuProfiler.d.ts +16 -16
  376. package/lib/esm/widgets/GpuProfiler.js +188 -188
  377. package/lib/esm/widgets/GpuProfiler.js.map +1 -1
  378. package/lib/esm/widgets/KeyinField.d.ts +61 -61
  379. package/lib/esm/widgets/KeyinField.js +182 -183
  380. package/lib/esm/widgets/KeyinField.js.map +1 -1
  381. package/lib/esm/widgets/MemoryTracker.d.ts +27 -27
  382. package/lib/esm/widgets/MemoryTracker.js +237 -238
  383. package/lib/esm/widgets/MemoryTracker.js.map +1 -1
  384. package/lib/esm/widgets/RenderCommandBreakdown.d.ts +15 -15
  385. package/lib/esm/widgets/RenderCommandBreakdown.js +63 -64
  386. package/lib/esm/widgets/RenderCommandBreakdown.js.map +1 -1
  387. package/lib/esm/widgets/TileMemoryBreakdown.d.ts +30 -30
  388. package/lib/esm/widgets/TileMemoryBreakdown.js +199 -200
  389. package/lib/esm/widgets/TileMemoryBreakdown.js.map +1 -1
  390. package/lib/esm/widgets/TileStatisticsTracker.d.ts +21 -21
  391. package/lib/esm/widgets/TileStatisticsTracker.d.ts.map +1 -1
  392. package/lib/esm/widgets/TileStatisticsTracker.js +140 -138
  393. package/lib/esm/widgets/TileStatisticsTracker.js.map +1 -1
  394. package/lib/esm/widgets/ToolSettingsTracker.d.ts +9 -9
  395. package/lib/esm/widgets/ToolSettingsTracker.js +208 -207
  396. package/lib/esm/widgets/ToolSettingsTracker.js.map +1 -1
  397. package/lib/public/locales/en/FrontendDevTools.json +484 -484
  398. package/package.json +15 -16
@@ -1,34 +1,34 @@
1
- /** @packageDocumentation
2
- * @module Effects
3
- */
4
- import { ScreenSpaceEffectBuilder, ScreenSpaceEffectSource, Tool } from "@itwin/core-frontend";
5
- /** Adds a screen-space effect to the selected viewport.
6
- * @beta
7
- */
8
- export declare abstract class AddEffectTool extends Tool {
9
- private static readonly _registeredEffects;
10
- /** Name of effect as used in keyins like `fdt effect add`. Ideally one word. */
11
- protected abstract get effectName(): string;
12
- /** vertex, fragment, and optional sampleSourcePixel GLSL snippets. */
13
- protected abstract get source(): ScreenSpaceEffectSource;
14
- /** Whether the fragment shader should include built-in `textureCoordFromPosition` function. */
15
- protected abstract get textureCoordFromPosition(): boolean;
16
- /** Add uniforms, varyings, etc. */
17
- protected abstract defineEffect(builder: ScreenSpaceEffectBuilder): void;
18
- run(): Promise<boolean>;
19
- }
20
- /** Removes all screen-space effects from the selected viewport.
21
- * @beta
22
- */
23
- export declare class ClearEffectsTool extends Tool {
24
- static toolId: string;
25
- static get minArgs(): number;
26
- static get maxArgs(): number;
27
- run(): Promise<boolean>;
28
- }
29
- /** Requests that any viewport to which the specified effect has been applied redraw its contents.
30
- * Used by tools like [[VignetteConfig]] to update the view after the effect parameters are modified.
31
- * @beta
32
- */
33
- export declare function refreshViewportsForEffect(effectName: string): void;
1
+ /** @packageDocumentation
2
+ * @module Effects
3
+ */
4
+ import { ScreenSpaceEffectBuilder, ScreenSpaceEffectSource, Tool } from "@itwin/core-frontend";
5
+ /** Adds a screen-space effect to the selected viewport.
6
+ * @beta
7
+ */
8
+ export declare abstract class AddEffectTool extends Tool {
9
+ private static readonly _registeredEffects;
10
+ /** Name of effect as used in keyins like `fdt effect add`. Ideally one word. */
11
+ protected abstract get effectName(): string;
12
+ /** vertex, fragment, and optional sampleSourcePixel GLSL snippets. */
13
+ protected abstract get source(): ScreenSpaceEffectSource;
14
+ /** Whether the fragment shader should include built-in `textureCoordFromPosition` function. */
15
+ protected abstract get textureCoordFromPosition(): boolean;
16
+ /** Add uniforms, varyings, etc. */
17
+ protected abstract defineEffect(builder: ScreenSpaceEffectBuilder): void;
18
+ run(): Promise<boolean>;
19
+ }
20
+ /** Removes all screen-space effects from the selected viewport.
21
+ * @beta
22
+ */
23
+ export declare class ClearEffectsTool extends Tool {
24
+ static toolId: string;
25
+ static get minArgs(): number;
26
+ static get maxArgs(): number;
27
+ run(): Promise<boolean>;
28
+ }
29
+ /** Requests that any viewport to which the specified effect has been applied redraw its contents.
30
+ * Used by tools like [[VignetteConfig]] to update the view after the effect parameters are modified.
31
+ * @beta
32
+ */
33
+ export declare function refreshViewportsForEffect(effectName: string): void;
34
34
  //# sourceMappingURL=EffectTools.d.ts.map
@@ -1,69 +1,68 @@
1
- "use strict";
2
- /*---------------------------------------------------------------------------------------------
3
- * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
4
- * See LICENSE.md in the project root for license terms and full copyright notice.
5
- *--------------------------------------------------------------------------------------------*/
6
- /** @packageDocumentation
7
- * @module Effects
8
- */
9
- Object.defineProperty(exports, "__esModule", { value: true });
10
- exports.refreshViewportsForEffect = exports.ClearEffectsTool = exports.AddEffectTool = void 0;
11
- const core_bentley_1 = require("@itwin/core-bentley");
12
- const core_frontend_1 = require("@itwin/core-frontend");
13
- /** Adds a screen-space effect to the selected viewport.
14
- * @beta
15
- */
16
- class AddEffectTool extends core_frontend_1.Tool {
17
- async run() {
18
- // Avoid conflicts with the names of other registered screen-space effects.
19
- const name = `fdt ${this.effectName}`;
20
- if (!AddEffectTool._registeredEffects.has(name)) {
21
- // Register the effect.
22
- const builder = core_frontend_1.IModelApp.renderSystem.createScreenSpaceEffectBuilder({
23
- name,
24
- textureCoordFromPosition: this.textureCoordFromPosition,
25
- source: this.source,
26
- });
27
- (0, core_bentley_1.assert)(undefined !== builder);
28
- this.defineEffect(builder);
29
- builder.finish();
30
- AddEffectTool._registeredEffects.add(name);
31
- }
32
- const vp = core_frontend_1.IModelApp.viewManager.selectedView;
33
- if (vp)
34
- vp.addScreenSpaceEffect(name);
35
- return true;
36
- }
37
- }
38
- exports.AddEffectTool = AddEffectTool;
39
- AddEffectTool._registeredEffects = new Set();
40
- /** Removes all screen-space effects from the selected viewport.
41
- * @beta
42
- */
43
- class ClearEffectsTool extends core_frontend_1.Tool {
44
- static get minArgs() { return 0; }
45
- static get maxArgs() { return 0; }
46
- async run() {
47
- var _a;
48
- (_a = core_frontend_1.IModelApp.viewManager.selectedView) === null || _a === void 0 ? void 0 : _a.removeScreenSpaceEffects();
49
- return true;
50
- }
51
- }
52
- exports.ClearEffectsTool = ClearEffectsTool;
53
- ClearEffectsTool.toolId = "ClearEffects";
54
- /** Requests that any viewport to which the specified effect has been applied redraw its contents.
55
- * Used by tools like [[VignetteConfig]] to update the view after the effect parameters are modified.
56
- * @beta
57
- */
58
- function refreshViewportsForEffect(effectName) {
59
- for (const vp of core_frontend_1.IModelApp.viewManager) {
60
- for (const vpEffectName of vp.screenSpaceEffects) {
61
- if (vpEffectName === effectName) {
62
- vp.requestRedraw();
63
- break;
64
- }
65
- }
66
- }
67
- }
68
- exports.refreshViewportsForEffect = refreshViewportsForEffect;
1
+ "use strict";
2
+ /*---------------------------------------------------------------------------------------------
3
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
4
+ * See LICENSE.md in the project root for license terms and full copyright notice.
5
+ *--------------------------------------------------------------------------------------------*/
6
+ /** @packageDocumentation
7
+ * @module Effects
8
+ */
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.refreshViewportsForEffect = exports.ClearEffectsTool = exports.AddEffectTool = void 0;
11
+ const core_bentley_1 = require("@itwin/core-bentley");
12
+ const core_frontend_1 = require("@itwin/core-frontend");
13
+ /** Adds a screen-space effect to the selected viewport.
14
+ * @beta
15
+ */
16
+ class AddEffectTool extends core_frontend_1.Tool {
17
+ async run() {
18
+ // Avoid conflicts with the names of other registered screen-space effects.
19
+ const name = `fdt ${this.effectName}`;
20
+ if (!AddEffectTool._registeredEffects.has(name)) {
21
+ // Register the effect.
22
+ const builder = core_frontend_1.IModelApp.renderSystem.createScreenSpaceEffectBuilder({
23
+ name,
24
+ textureCoordFromPosition: this.textureCoordFromPosition,
25
+ source: this.source,
26
+ });
27
+ (0, core_bentley_1.assert)(undefined !== builder);
28
+ this.defineEffect(builder);
29
+ builder.finish();
30
+ AddEffectTool._registeredEffects.add(name);
31
+ }
32
+ const vp = core_frontend_1.IModelApp.viewManager.selectedView;
33
+ if (vp)
34
+ vp.addScreenSpaceEffect(name);
35
+ return true;
36
+ }
37
+ }
38
+ AddEffectTool._registeredEffects = new Set();
39
+ exports.AddEffectTool = AddEffectTool;
40
+ /** Removes all screen-space effects from the selected viewport.
41
+ * @beta
42
+ */
43
+ class ClearEffectsTool extends core_frontend_1.Tool {
44
+ static get minArgs() { return 0; }
45
+ static get maxArgs() { return 0; }
46
+ async run() {
47
+ core_frontend_1.IModelApp.viewManager.selectedView?.removeScreenSpaceEffects();
48
+ return true;
49
+ }
50
+ }
51
+ ClearEffectsTool.toolId = "ClearEffects";
52
+ exports.ClearEffectsTool = ClearEffectsTool;
53
+ /** Requests that any viewport to which the specified effect has been applied redraw its contents.
54
+ * Used by tools like [[VignetteConfig]] to update the view after the effect parameters are modified.
55
+ * @beta
56
+ */
57
+ function refreshViewportsForEffect(effectName) {
58
+ for (const vp of core_frontend_1.IModelApp.viewManager) {
59
+ for (const vpEffectName of vp.screenSpaceEffects) {
60
+ if (vpEffectName === effectName) {
61
+ vp.requestRedraw();
62
+ break;
63
+ }
64
+ }
65
+ }
66
+ }
67
+ exports.refreshViewportsForEffect = refreshViewportsForEffect;
69
68
  //# sourceMappingURL=EffectTools.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"EffectTools.js","sourceRoot":"","sources":["../../../src/effects/EffectTools.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAEH,sDAA6C;AAC7C,wDAE8B;AAE9B;;GAEG;AACH,MAAsB,aAAc,SAAQ,oBAAI;IAY9B,KAAK,CAAC,GAAG;QACvB,2EAA2E;QAC3E,MAAM,IAAI,GAAG,OAAO,IAAI,CAAC,UAAU,EAAE,CAAC;QACtC,IAAI,CAAC,aAAa,CAAC,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;YAC/C,uBAAuB;YACvB,MAAM,OAAO,GAAG,yBAAS,CAAC,YAAY,CAAC,8BAA8B,CAAC;gBACpE,IAAI;gBACJ,wBAAwB,EAAE,IAAI,CAAC,wBAAwB;gBACvD,MAAM,EAAE,IAAI,CAAC,MAAM;aACpB,CAAC,CAAC;YAEH,IAAA,qBAAM,EAAC,SAAS,KAAK,OAAO,CAAC,CAAC;YAC9B,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;YAC3B,OAAO,CAAC,MAAM,EAAE,CAAC;YAEjB,aAAa,CAAC,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;SAC5C;QAED,MAAM,EAAE,GAAG,yBAAS,CAAC,WAAW,CAAC,YAAY,CAAC;QAC9C,IAAI,EAAE;YACJ,EAAE,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC;QAEhC,OAAO,IAAI,CAAC;IACd,CAAC;;AAnCH,sCAoCC;AAnCyB,gCAAkB,GAAG,IAAI,GAAG,EAAU,CAAC;AAqCjE;;GAEG;AACH,MAAa,gBAAiB,SAAQ,oBAAI;IAEjC,MAAM,KAAc,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;IAC3C,MAAM,KAAc,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;IAElC,KAAK,CAAC,GAAG;;QACvB,MAAA,yBAAS,CAAC,WAAW,CAAC,YAAY,0CAAE,wBAAwB,EAAE,CAAC;QAC/D,OAAO,IAAI,CAAC;IACd,CAAC;;AARH,4CASC;AARwB,uBAAM,GAAG,cAAc,CAAC;AAUjD;;;GAGG;AACH,SAAgB,yBAAyB,CAAC,UAAkB;IAC1D,KAAK,MAAM,EAAE,IAAI,yBAAS,CAAC,WAAW,EAAE;QACtC,KAAK,MAAM,YAAY,IAAI,EAAE,CAAC,kBAAkB,EAAE;YAChD,IAAI,YAAY,KAAK,UAAU,EAAE;gBAC/B,EAAE,CAAC,aAAa,EAAE,CAAC;gBACnB,MAAM;aACP;SACF;KACF;AACH,CAAC;AATD,8DASC","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Effects\r\n */\r\n\r\nimport { assert } from \"@itwin/core-bentley\";\r\nimport {\r\n IModelApp, ScreenSpaceEffectBuilder, ScreenSpaceEffectSource, Tool,\r\n} from \"@itwin/core-frontend\";\r\n\r\n/** Adds a screen-space effect to the selected viewport.\r\n * @beta\r\n */\r\nexport abstract class AddEffectTool extends Tool {\r\n private static readonly _registeredEffects = new Set<string>();\r\n\r\n /** Name of effect as used in keyins like `fdt effect add`. Ideally one word. */\r\n protected abstract get effectName(): string;\r\n /** vertex, fragment, and optional sampleSourcePixel GLSL snippets. */\r\n protected abstract get source(): ScreenSpaceEffectSource;\r\n /** Whether the fragment shader should include built-in `textureCoordFromPosition` function. */\r\n protected abstract get textureCoordFromPosition(): boolean;\r\n /** Add uniforms, varyings, etc. */\r\n protected abstract defineEffect(builder: ScreenSpaceEffectBuilder): void;\r\n\r\n public override async run(): Promise<boolean> {\r\n // Avoid conflicts with the names of other registered screen-space effects.\r\n const name = `fdt ${this.effectName}`;\r\n if (!AddEffectTool._registeredEffects.has(name)) {\r\n // Register the effect.\r\n const builder = IModelApp.renderSystem.createScreenSpaceEffectBuilder({\r\n name,\r\n textureCoordFromPosition: this.textureCoordFromPosition,\r\n source: this.source,\r\n });\r\n\r\n assert(undefined !== builder);\r\n this.defineEffect(builder);\r\n builder.finish();\r\n\r\n AddEffectTool._registeredEffects.add(name);\r\n }\r\n\r\n const vp = IModelApp.viewManager.selectedView;\r\n if (vp)\r\n vp.addScreenSpaceEffect(name);\r\n\r\n return true;\r\n }\r\n}\r\n\r\n/** Removes all screen-space effects from the selected viewport.\r\n * @beta\r\n */\r\nexport class ClearEffectsTool extends Tool {\r\n public static override toolId = \"ClearEffects\";\r\n public static override get minArgs() { return 0; }\r\n public static override get maxArgs() { return 0; }\r\n\r\n public override async run(): Promise<boolean> {\r\n IModelApp.viewManager.selectedView?.removeScreenSpaceEffects();\r\n return true;\r\n }\r\n}\r\n\r\n/** Requests that any viewport to which the specified effect has been applied redraw its contents.\r\n * Used by tools like [[VignetteConfig]] to update the view after the effect parameters are modified.\r\n * @beta\r\n */\r\nexport function refreshViewportsForEffect(effectName: string): void {\r\n for (const vp of IModelApp.viewManager) {\r\n for (const vpEffectName of vp.screenSpaceEffects) {\r\n if (vpEffectName === effectName) {\r\n vp.requestRedraw();\r\n break;\r\n }\r\n }\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"EffectTools.js","sourceRoot":"","sources":["../../../src/effects/EffectTools.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAEH,sDAA6C;AAC7C,wDAE8B;AAE9B;;GAEG;AACH,MAAsB,aAAc,SAAQ,oBAAI;IAY9B,KAAK,CAAC,GAAG;QACvB,2EAA2E;QAC3E,MAAM,IAAI,GAAG,OAAO,IAAI,CAAC,UAAU,EAAE,CAAC;QACtC,IAAI,CAAC,aAAa,CAAC,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;YAC/C,uBAAuB;YACvB,MAAM,OAAO,GAAG,yBAAS,CAAC,YAAY,CAAC,8BAA8B,CAAC;gBACpE,IAAI;gBACJ,wBAAwB,EAAE,IAAI,CAAC,wBAAwB;gBACvD,MAAM,EAAE,IAAI,CAAC,MAAM;aACpB,CAAC,CAAC;YAEH,IAAA,qBAAM,EAAC,SAAS,KAAK,OAAO,CAAC,CAAC;YAC9B,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;YAC3B,OAAO,CAAC,MAAM,EAAE,CAAC;YAEjB,aAAa,CAAC,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;SAC5C;QAED,MAAM,EAAE,GAAG,yBAAS,CAAC,WAAW,CAAC,YAAY,CAAC;QAC9C,IAAI,EAAE;YACJ,EAAE,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC;QAEhC,OAAO,IAAI,CAAC;IACd,CAAC;;AAlCuB,gCAAkB,GAAG,IAAI,GAAG,EAAU,CAAC;AAD3C,sCAAa;AAsCnC;;GAEG;AACH,MAAa,gBAAiB,SAAQ,oBAAI;IAEjC,MAAM,KAAc,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;IAC3C,MAAM,KAAc,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;IAElC,KAAK,CAAC,GAAG;QACvB,yBAAS,CAAC,WAAW,CAAC,YAAY,EAAE,wBAAwB,EAAE,CAAC;QAC/D,OAAO,IAAI,CAAC;IACd,CAAC;;AAPsB,uBAAM,GAAG,cAAc,CAAC;AADpC,4CAAgB;AAW7B;;;GAGG;AACH,SAAgB,yBAAyB,CAAC,UAAkB;IAC1D,KAAK,MAAM,EAAE,IAAI,yBAAS,CAAC,WAAW,EAAE;QACtC,KAAK,MAAM,YAAY,IAAI,EAAE,CAAC,kBAAkB,EAAE;YAChD,IAAI,YAAY,KAAK,UAAU,EAAE;gBAC/B,EAAE,CAAC,aAAa,EAAE,CAAC;gBACnB,MAAM;aACP;SACF;KACF;AACH,CAAC;AATD,8DASC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Effects\n */\n\nimport { assert } from \"@itwin/core-bentley\";\nimport {\n IModelApp, ScreenSpaceEffectBuilder, ScreenSpaceEffectSource, Tool,\n} from \"@itwin/core-frontend\";\n\n/** Adds a screen-space effect to the selected viewport.\n * @beta\n */\nexport abstract class AddEffectTool extends Tool {\n private static readonly _registeredEffects = new Set<string>();\n\n /** Name of effect as used in keyins like `fdt effect add`. Ideally one word. */\n protected abstract get effectName(): string;\n /** vertex, fragment, and optional sampleSourcePixel GLSL snippets. */\n protected abstract get source(): ScreenSpaceEffectSource;\n /** Whether the fragment shader should include built-in `textureCoordFromPosition` function. */\n protected abstract get textureCoordFromPosition(): boolean;\n /** Add uniforms, varyings, etc. */\n protected abstract defineEffect(builder: ScreenSpaceEffectBuilder): void;\n\n public override async run(): Promise<boolean> {\n // Avoid conflicts with the names of other registered screen-space effects.\n const name = `fdt ${this.effectName}`;\n if (!AddEffectTool._registeredEffects.has(name)) {\n // Register the effect.\n const builder = IModelApp.renderSystem.createScreenSpaceEffectBuilder({\n name,\n textureCoordFromPosition: this.textureCoordFromPosition,\n source: this.source,\n });\n\n assert(undefined !== builder);\n this.defineEffect(builder);\n builder.finish();\n\n AddEffectTool._registeredEffects.add(name);\n }\n\n const vp = IModelApp.viewManager.selectedView;\n if (vp)\n vp.addScreenSpaceEffect(name);\n\n return true;\n }\n}\n\n/** Removes all screen-space effects from the selected viewport.\n * @beta\n */\nexport class ClearEffectsTool extends Tool {\n public static override toolId = \"ClearEffects\";\n public static override get minArgs() { return 0; }\n public static override get maxArgs() { return 0; }\n\n public override async run(): Promise<boolean> {\n IModelApp.viewManager.selectedView?.removeScreenSpaceEffects();\n return true;\n }\n}\n\n/** Requests that any viewport to which the specified effect has been applied redraw its contents.\n * Used by tools like [[VignetteConfig]] to update the view after the effect parameters are modified.\n * @beta\n */\nexport function refreshViewportsForEffect(effectName: string): void {\n for (const vp of IModelApp.viewManager) {\n for (const vpEffectName of vp.screenSpaceEffects) {\n if (vpEffectName === effectName) {\n vp.requestRedraw();\n break;\n }\n }\n }\n}\n"]}
@@ -1,13 +1,13 @@
1
- /** @packageDocumentation
2
- * @module Effects
3
- */
4
- import { Tool } from "@itwin/core-frontend";
5
- /** This tool applies an explosion particle effect used for testing [ParticleCollectionBuilder]($frontend).
6
- * @beta
7
- */
8
- export declare class ExplosionEffect extends Tool {
9
- static toolId: string;
10
- /** This method runs the tool, applying an explosion particle effect. */
11
- run(): Promise<boolean>;
12
- }
1
+ /** @packageDocumentation
2
+ * @module Effects
3
+ */
4
+ import { Tool } from "@itwin/core-frontend";
5
+ /** This tool applies an explosion particle effect used for testing [ParticleCollectionBuilder]($frontend).
6
+ * @beta
7
+ */
8
+ export declare class ExplosionEffect extends Tool {
9
+ static toolId: string;
10
+ /** This method runs the tool, applying an explosion particle effect. */
11
+ run(): Promise<boolean>;
12
+ }
13
13
  //# sourceMappingURL=Explosion.d.ts.map
@@ -1,169 +1,169 @@
1
- "use strict";
2
- /*---------------------------------------------------------------------------------------------
3
- * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
4
- * See LICENSE.md in the project root for license terms and full copyright notice.
5
- *--------------------------------------------------------------------------------------------*/
6
- /** @packageDocumentation
7
- * @module Effects
8
- */
9
- Object.defineProperty(exports, "__esModule", { value: true });
10
- exports.ExplosionEffect = void 0;
11
- const core_geometry_1 = require("@itwin/core-geometry");
12
- const core_common_1 = require("@itwin/core-common");
13
- const core_frontend_1 = require("@itwin/core-frontend");
14
- const Random_1 = require("./Random");
15
- /** Represents one particle in the system. */
16
- class Particle {
17
- constructor(position, velocity, lifetime, size) {
18
- /** Current age in seconds, incremented each frame. */
19
- this.age = 0;
20
- /** Particle transparency in [0..255]. */
21
- this.transparency = 0;
22
- this.position = position;
23
- this.velocity = velocity;
24
- this.lifetime = lifetime;
25
- this.size = size;
26
- }
27
- get x() { return this.position.x; }
28
- get y() { return this.position.y; }
29
- get z() { return this.position.z; }
30
- get isExpired() { return this.age >= this.lifetime; }
31
- }
32
- /** Emits particles in a sphere with its center at the origin.
33
- * Each particle is emitted from the center of the sphere with random velocity toward the surface of the sphere.
34
- */
35
- class ParticleEmitter {
36
- constructor() {
37
- /** Range from which each particle's initial speed in meters per second will be selected. */
38
- this.speedRange = core_geometry_1.Range1d.createXX(1, 2);
39
- /** Range from which each particle's lifetime in seconds will be selected. */
40
- this.lifetimeRange = core_geometry_1.Range1d.createXX(5, 10);
41
- /** Range from which each particle's size in meters will be selected. */
42
- this.sizeRange = core_geometry_1.Range1d.createXX(0.2, 1.0);
43
- /** Range from which the number of particles emitted will be selected. */
44
- this.numParticlesRange = core_geometry_1.Range1d.createXX(1600, 2200);
45
- }
46
- /** Emit an explosion of particles from the center of the sphere. */
47
- emit() {
48
- const particles = [];
49
- const numParticles = (0, Random_1.randomIntegerInRange)(this.numParticlesRange);
50
- for (let i = 0; i < numParticles; i++) {
51
- const velocity = new core_geometry_1.Vector3d((0, Random_1.randomFloat)(-1.0, 1.0), (0, Random_1.randomFloat)(-1.0, 1.0), (0, Random_1.randomFloat)(-1.0, 1.0));
52
- velocity.normalizeInPlace();
53
- velocity.scaleInPlace((0, Random_1.randomFloatInRange)(this.speedRange));
54
- const lifetime = (0, Random_1.randomFloatInRange)(this.lifetimeRange);
55
- const size = (0, Random_1.randomFloatInRange)(this.sizeRange);
56
- particles.push(new Particle(new core_geometry_1.Point3d(0, 0, 0), velocity, lifetime, size));
57
- }
58
- return particles;
59
- }
60
- }
61
- class ParticleSystem {
62
- constructor(texture, iModel, numEmissions) {
63
- this._emitter = new ParticleEmitter();
64
- this._particles = [];
65
- this._scratchVector3d = new core_geometry_1.Vector3d();
66
- /** Acceleration in Z applied to particles, in meters per second squared. */
67
- this.gravity = -3;
68
- this._texture = texture;
69
- this._pickableId = iModel.transientIds.getNext();
70
- this._numEmissions = numEmissions;
71
- this._lastUpdateTime = Date.now();
72
- this._origin = (0, Random_1.randomPositionInRange)(iModel.projectExtents);
73
- this._dispose = iModel.onClose.addListener(() => this.dispose());
74
- }
75
- dispose() {
76
- if (this._dispose) {
77
- this._dispose();
78
- this._dispose = undefined;
79
- }
80
- core_frontend_1.IModelApp.viewManager.dropDecorator(this);
81
- this._texture.dispose();
82
- }
83
- update() {
84
- const now = Date.now();
85
- let deltaMillis = now - this._lastUpdateTime;
86
- deltaMillis = Math.min(100, deltaMillis);
87
- this._lastUpdateTime = now;
88
- let numParticles = this._particles.length;
89
- if (numParticles === 0) {
90
- this._numEmissions--;
91
- if (this._numEmissions < 0)
92
- this.dispose();
93
- else
94
- this._particles = this._emitter.emit();
95
- return;
96
- }
97
- const elapsedSeconds = deltaMillis / 1000;
98
- for (let i = 0; i < numParticles; i++) {
99
- const particle = this._particles[i];
100
- this.updateParticle(particle, elapsedSeconds);
101
- if (particle.isExpired) {
102
- this._particles[i] = this._particles[numParticles - 1];
103
- --i;
104
- --numParticles;
105
- }
106
- }
107
- this._particles.length = numParticles;
108
- }
109
- updateParticle(particle, elapsedSeconds) {
110
- const velocity = particle.velocity.clone(this._scratchVector3d);
111
- velocity.scale(elapsedSeconds, velocity);
112
- velocity.z += elapsedSeconds * this.gravity;
113
- particle.position.addInPlace(velocity);
114
- particle.transparency = 255 * (particle.age / particle.lifetime);
115
- particle.age += elapsedSeconds;
116
- }
117
- decorate(context) {
118
- if (!context.viewport.view.isSpatialView())
119
- return;
120
- this.update();
121
- const builder = core_frontend_1.ParticleCollectionBuilder.create({
122
- viewport: context.viewport,
123
- texture: this._texture,
124
- size: (this._emitter.sizeRange.high - this._emitter.sizeRange.low) / 2,
125
- transparency: 0,
126
- origin: this._origin,
127
- pickableId: this._pickableId,
128
- });
129
- for (const particle of this._particles)
130
- builder.addParticle(particle);
131
- const graphic = builder.finish();
132
- if (graphic) {
133
- context.addDecoration(core_frontend_1.GraphicType.WorldDecoration, graphic);
134
- context.viewport.onRender.addOnce((vp) => vp.invalidateDecorations());
135
- }
136
- }
137
- testDecorationHit(id) {
138
- return id === this._pickableId;
139
- }
140
- async getDecorationToolTip(_hit) {
141
- return "Explosion effect";
142
- }
143
- static async addDecorator(iModel) {
144
- // Note: The decorator takes ownership of the texture, and disposes of it when the decorator is disposed.
145
- const image = await (0, core_frontend_1.imageElementFromUrl)(`${core_frontend_1.IModelApp.publicPath}sprites/particle_explosion.png`);
146
- const texture = core_frontend_1.IModelApp.renderSystem.createTexture({
147
- ownership: "external",
148
- image: { source: image, transparency: core_common_1.TextureTransparency.Mixed },
149
- });
150
- if (texture)
151
- core_frontend_1.IModelApp.viewManager.addDecorator(new ParticleSystem(texture, iModel, (0, Random_1.randomIntegerInRange)(this.numEmissionsRange)));
152
- }
153
- }
154
- ParticleSystem.numEmissionsRange = core_geometry_1.Range1d.createXX(1, 5);
155
- /** This tool applies an explosion particle effect used for testing [ParticleCollectionBuilder]($frontend).
156
- * @beta
157
- */
158
- class ExplosionEffect extends core_frontend_1.Tool {
159
- /** This method runs the tool, applying an explosion particle effect. */
160
- async run() {
161
- const vp = core_frontend_1.IModelApp.viewManager.selectedView;
162
- if (vp)
163
- await ParticleSystem.addDecorator(vp.iModel);
164
- return true;
165
- }
166
- }
167
- exports.ExplosionEffect = ExplosionEffect;
168
- ExplosionEffect.toolId = "ExplosionEffect";
1
+ "use strict";
2
+ /*---------------------------------------------------------------------------------------------
3
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
4
+ * See LICENSE.md in the project root for license terms and full copyright notice.
5
+ *--------------------------------------------------------------------------------------------*/
6
+ /** @packageDocumentation
7
+ * @module Effects
8
+ */
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.ExplosionEffect = void 0;
11
+ const core_geometry_1 = require("@itwin/core-geometry");
12
+ const core_common_1 = require("@itwin/core-common");
13
+ const core_frontend_1 = require("@itwin/core-frontend");
14
+ const Random_1 = require("./Random");
15
+ /** Represents one particle in the system. */
16
+ class Particle {
17
+ get x() { return this.position.x; }
18
+ get y() { return this.position.y; }
19
+ get z() { return this.position.z; }
20
+ constructor(position, velocity, lifetime, size) {
21
+ /** Current age in seconds, incremented each frame. */
22
+ this.age = 0;
23
+ /** Particle transparency in [0..255]. */
24
+ this.transparency = 0;
25
+ this.position = position;
26
+ this.velocity = velocity;
27
+ this.lifetime = lifetime;
28
+ this.size = size;
29
+ }
30
+ get isExpired() { return this.age >= this.lifetime; }
31
+ }
32
+ /** Emits particles in a sphere with its center at the origin.
33
+ * Each particle is emitted from the center of the sphere with random velocity toward the surface of the sphere.
34
+ */
35
+ class ParticleEmitter {
36
+ constructor() {
37
+ /** Range from which each particle's initial speed in meters per second will be selected. */
38
+ this.speedRange = core_geometry_1.Range1d.createXX(1, 2);
39
+ /** Range from which each particle's lifetime in seconds will be selected. */
40
+ this.lifetimeRange = core_geometry_1.Range1d.createXX(5, 10);
41
+ /** Range from which each particle's size in meters will be selected. */
42
+ this.sizeRange = core_geometry_1.Range1d.createXX(0.2, 1.0);
43
+ /** Range from which the number of particles emitted will be selected. */
44
+ this.numParticlesRange = core_geometry_1.Range1d.createXX(1600, 2200);
45
+ }
46
+ /** Emit an explosion of particles from the center of the sphere. */
47
+ emit() {
48
+ const particles = [];
49
+ const numParticles = (0, Random_1.randomIntegerInRange)(this.numParticlesRange);
50
+ for (let i = 0; i < numParticles; i++) {
51
+ const velocity = new core_geometry_1.Vector3d((0, Random_1.randomFloat)(-1.0, 1.0), (0, Random_1.randomFloat)(-1.0, 1.0), (0, Random_1.randomFloat)(-1.0, 1.0));
52
+ velocity.normalizeInPlace();
53
+ velocity.scaleInPlace((0, Random_1.randomFloatInRange)(this.speedRange));
54
+ const lifetime = (0, Random_1.randomFloatInRange)(this.lifetimeRange);
55
+ const size = (0, Random_1.randomFloatInRange)(this.sizeRange);
56
+ particles.push(new Particle(new core_geometry_1.Point3d(0, 0, 0), velocity, lifetime, size));
57
+ }
58
+ return particles;
59
+ }
60
+ }
61
+ class ParticleSystem {
62
+ constructor(texture, iModel, numEmissions) {
63
+ this._emitter = new ParticleEmitter();
64
+ this._particles = [];
65
+ this._scratchVector3d = new core_geometry_1.Vector3d();
66
+ /** Acceleration in Z applied to particles, in meters per second squared. */
67
+ this.gravity = -3;
68
+ this._texture = texture;
69
+ this._pickableId = iModel.transientIds.getNext();
70
+ this._numEmissions = numEmissions;
71
+ this._lastUpdateTime = Date.now();
72
+ this._origin = (0, Random_1.randomPositionInRange)(iModel.projectExtents);
73
+ this._dispose = iModel.onClose.addListener(() => this.dispose());
74
+ }
75
+ dispose() {
76
+ if (this._dispose) {
77
+ this._dispose();
78
+ this._dispose = undefined;
79
+ }
80
+ core_frontend_1.IModelApp.viewManager.dropDecorator(this);
81
+ this._texture.dispose();
82
+ }
83
+ update() {
84
+ const now = Date.now();
85
+ let deltaMillis = now - this._lastUpdateTime;
86
+ deltaMillis = Math.min(100, deltaMillis);
87
+ this._lastUpdateTime = now;
88
+ let numParticles = this._particles.length;
89
+ if (numParticles === 0) {
90
+ this._numEmissions--;
91
+ if (this._numEmissions < 0)
92
+ this.dispose();
93
+ else
94
+ this._particles = this._emitter.emit();
95
+ return;
96
+ }
97
+ const elapsedSeconds = deltaMillis / 1000;
98
+ for (let i = 0; i < numParticles; i++) {
99
+ const particle = this._particles[i];
100
+ this.updateParticle(particle, elapsedSeconds);
101
+ if (particle.isExpired) {
102
+ this._particles[i] = this._particles[numParticles - 1];
103
+ --i;
104
+ --numParticles;
105
+ }
106
+ }
107
+ this._particles.length = numParticles;
108
+ }
109
+ updateParticle(particle, elapsedSeconds) {
110
+ const velocity = particle.velocity.clone(this._scratchVector3d);
111
+ velocity.scale(elapsedSeconds, velocity);
112
+ velocity.z += elapsedSeconds * this.gravity;
113
+ particle.position.addInPlace(velocity);
114
+ particle.transparency = 255 * (particle.age / particle.lifetime);
115
+ particle.age += elapsedSeconds;
116
+ }
117
+ decorate(context) {
118
+ if (!context.viewport.view.isSpatialView())
119
+ return;
120
+ this.update();
121
+ const builder = core_frontend_1.ParticleCollectionBuilder.create({
122
+ viewport: context.viewport,
123
+ texture: this._texture,
124
+ size: (this._emitter.sizeRange.high - this._emitter.sizeRange.low) / 2,
125
+ transparency: 0,
126
+ origin: this._origin,
127
+ pickableId: this._pickableId,
128
+ });
129
+ for (const particle of this._particles)
130
+ builder.addParticle(particle);
131
+ const graphic = builder.finish();
132
+ if (graphic) {
133
+ context.addDecoration(core_frontend_1.GraphicType.WorldDecoration, graphic);
134
+ context.viewport.onRender.addOnce((vp) => vp.invalidateDecorations());
135
+ }
136
+ }
137
+ testDecorationHit(id) {
138
+ return id === this._pickableId;
139
+ }
140
+ async getDecorationToolTip(_hit) {
141
+ return "Explosion effect";
142
+ }
143
+ static async addDecorator(iModel) {
144
+ // Note: The decorator takes ownership of the texture, and disposes of it when the decorator is disposed.
145
+ const image = await (0, core_frontend_1.imageElementFromUrl)(`${core_frontend_1.IModelApp.publicPath}sprites/particle_explosion.png`);
146
+ const texture = core_frontend_1.IModelApp.renderSystem.createTexture({
147
+ ownership: "external",
148
+ image: { source: image, transparency: core_common_1.TextureTransparency.Mixed },
149
+ });
150
+ if (texture)
151
+ core_frontend_1.IModelApp.viewManager.addDecorator(new ParticleSystem(texture, iModel, (0, Random_1.randomIntegerInRange)(this.numEmissionsRange)));
152
+ }
153
+ }
154
+ ParticleSystem.numEmissionsRange = core_geometry_1.Range1d.createXX(1, 5);
155
+ /** This tool applies an explosion particle effect used for testing [ParticleCollectionBuilder]($frontend).
156
+ * @beta
157
+ */
158
+ class ExplosionEffect extends core_frontend_1.Tool {
159
+ /** This method runs the tool, applying an explosion particle effect. */
160
+ async run() {
161
+ const vp = core_frontend_1.IModelApp.viewManager.selectedView;
162
+ if (vp)
163
+ await ParticleSystem.addDecorator(vp.iModel);
164
+ return true;
165
+ }
166
+ }
167
+ ExplosionEffect.toolId = "ExplosionEffect";
168
+ exports.ExplosionEffect = ExplosionEffect;
169
169
  //# sourceMappingURL=Explosion.js.map