@itwin/frontend-devtools 4.0.0-dev.28 → 4.0.0-dev.32
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.
- package/lib/cjs/ClipboardUtilities.d.ts +8 -8
- package/lib/cjs/ClipboardUtilities.js +26 -26
- package/lib/cjs/ClipboardUtilities.js.map +1 -1
- package/lib/cjs/FrontEndDevTools.d.ts +19 -19
- package/lib/cjs/FrontEndDevTools.js +221 -221
- package/lib/cjs/FrontEndDevTools.js.map +1 -1
- package/lib/cjs/effects/Convolution.d.ts +68 -68
- package/lib/cjs/effects/Convolution.js +165 -165
- package/lib/cjs/effects/Convolution.js.map +1 -1
- package/lib/cjs/effects/EffectTools.d.ts +33 -33
- package/lib/cjs/effects/EffectTools.js +67 -67
- package/lib/cjs/effects/EffectTools.js.map +1 -1
- package/lib/cjs/effects/Explosion.d.ts +12 -12
- package/lib/cjs/effects/Explosion.js +168 -168
- package/lib/cjs/effects/Explosion.js.map +1 -1
- package/lib/cjs/effects/FlipImage.d.ts +30 -30
- package/lib/cjs/effects/FlipImage.js +99 -99
- package/lib/cjs/effects/FlipImage.js.map +1 -1
- package/lib/cjs/effects/LensDistortion.d.ts +34 -34
- package/lib/cjs/effects/LensDistortion.js +109 -109
- package/lib/cjs/effects/LensDistortion.js.map +1 -1
- package/lib/cjs/effects/Random.d.ts +24 -24
- package/lib/cjs/effects/Random.js +49 -49
- package/lib/cjs/effects/Random.js.map +1 -1
- package/lib/cjs/effects/Saturation.d.ts +30 -30
- package/lib/cjs/effects/Saturation.js +85 -85
- package/lib/cjs/effects/Saturation.js.map +1 -1
- package/lib/cjs/effects/Snow.d.ts +76 -76
- package/lib/cjs/effects/Snow.js +187 -187
- package/lib/cjs/effects/Snow.js.map +1 -1
- package/lib/cjs/effects/Vignette.d.ts +39 -39
- package/lib/cjs/effects/Vignette.js +108 -108
- package/lib/cjs/effects/Vignette.js.map +1 -1
- package/lib/cjs/frontend-devtools.d.ts +82 -82
- package/lib/cjs/frontend-devtools.js +98 -98
- package/lib/cjs/frontend-devtools.js.map +1 -1
- package/lib/cjs/tools/AnimationIntervalTool.d.ts +15 -15
- package/lib/cjs/tools/AnimationIntervalTool.js +30 -30
- package/lib/cjs/tools/AnimationIntervalTool.js.map +1 -1
- package/lib/cjs/tools/ChangeUnitsTool.d.ts +15 -15
- package/lib/cjs/tools/ChangeUnitsTool.js +41 -41
- package/lib/cjs/tools/ChangeUnitsTool.js.map +1 -1
- package/lib/cjs/tools/ClipTools.d.ts +67 -67
- package/lib/cjs/tools/ClipTools.js +161 -161
- package/lib/cjs/tools/ClipTools.js.map +1 -1
- package/lib/cjs/tools/DisplayStyleTools.d.ts +145 -145
- package/lib/cjs/tools/DisplayStyleTools.js +368 -368
- package/lib/cjs/tools/DisplayStyleTools.js.map +1 -1
- package/lib/cjs/tools/EmphasizeElementsTool.d.ts +60 -60
- package/lib/cjs/tools/EmphasizeElementsTool.js +154 -154
- package/lib/cjs/tools/EmphasizeElementsTool.js.map +1 -1
- package/lib/cjs/tools/FrustumDecoration.d.ts +57 -57
- package/lib/cjs/tools/FrustumDecoration.js +374 -374
- package/lib/cjs/tools/FrustumDecoration.js.map +1 -1
- package/lib/cjs/tools/InspectElementTool.d.ts +42 -42
- package/lib/cjs/tools/InspectElementTool.js +198 -198
- package/lib/cjs/tools/InspectElementTool.js.map +1 -1
- package/lib/cjs/tools/MapLayerTool.d.ts +264 -264
- package/lib/cjs/tools/MapLayerTool.js +507 -507
- package/lib/cjs/tools/MapLayerTool.js.map +1 -1
- package/lib/cjs/tools/MeasureTileLoadTime.d.ts +12 -12
- package/lib/cjs/tools/MeasureTileLoadTime.js +63 -63
- package/lib/cjs/tools/MeasureTileLoadTime.js.map +1 -1
- package/lib/cjs/tools/ModelAppearanceTools.d.ts +86 -86
- package/lib/cjs/tools/ModelAppearanceTools.js +183 -183
- package/lib/cjs/tools/ModelAppearanceTools.js.map +1 -1
- package/lib/cjs/tools/PlanProjectionTools.d.ts +40 -40
- package/lib/cjs/tools/PlanProjectionTools.js +149 -149
- package/lib/cjs/tools/PlanProjectionTools.js.map +1 -1
- package/lib/cjs/tools/PlanarMaskTools.d.ts +182 -182
- package/lib/cjs/tools/PlanarMaskTools.js +391 -391
- package/lib/cjs/tools/PlanarMaskTools.js.map +1 -1
- package/lib/cjs/tools/ProjectExtents.d.ts +41 -41
- package/lib/cjs/tools/ProjectExtents.js +110 -110
- package/lib/cjs/tools/ProjectExtents.js.map +1 -1
- package/lib/cjs/tools/RealityModelTools.d.ts +116 -116
- package/lib/cjs/tools/RealityModelTools.js +281 -281
- package/lib/cjs/tools/RealityModelTools.js.map +1 -1
- package/lib/cjs/tools/RealityTransitionTool.d.ts +25 -25
- package/lib/cjs/tools/RealityTransitionTool.js +115 -115
- package/lib/cjs/tools/RealityTransitionTool.js.map +1 -1
- package/lib/cjs/tools/RenderSystemTools.d.ts +38 -38
- package/lib/cjs/tools/RenderSystemTools.js +69 -69
- package/lib/cjs/tools/RenderSystemTools.js.map +1 -1
- package/lib/cjs/tools/RenderTargetTools.d.ts +107 -107
- package/lib/cjs/tools/RenderTargetTools.js +174 -174
- package/lib/cjs/tools/RenderTargetTools.js.map +1 -1
- package/lib/cjs/tools/ReportWebGLCompatibilityTool.d.ts +11 -11
- package/lib/cjs/tools/ReportWebGLCompatibilityTool.js +30 -30
- package/lib/cjs/tools/ReportWebGLCompatibilityTool.js.map +1 -1
- package/lib/cjs/tools/SavedViews.d.ts +46 -46
- package/lib/cjs/tools/SavedViews.js +136 -136
- package/lib/cjs/tools/SavedViews.js.map +1 -1
- package/lib/cjs/tools/ScheduleScriptTools.d.ts +37 -37
- package/lib/cjs/tools/ScheduleScriptTools.js +157 -157
- package/lib/cjs/tools/ScheduleScriptTools.js.map +1 -1
- package/lib/cjs/tools/SelectionTools.d.ts +28 -28
- package/lib/cjs/tools/SelectionTools.js +87 -87
- package/lib/cjs/tools/SelectionTools.js.map +1 -1
- package/lib/cjs/tools/SetGpuMemoryLimitTool.d.ts +15 -15
- package/lib/cjs/tools/SetGpuMemoryLimitTool.js +33 -33
- package/lib/cjs/tools/SetGpuMemoryLimitTool.js.map +1 -1
- package/lib/cjs/tools/SourceAspectIdTools.d.ts +40 -40
- package/lib/cjs/tools/SourceAspectIdTools.js +85 -85
- package/lib/cjs/tools/SourceAspectIdTools.js.map +1 -1
- package/lib/cjs/tools/TileRequestDecoration.d.ts +12 -12
- package/lib/cjs/tools/TileRequestDecoration.js +83 -83
- package/lib/cjs/tools/TileRequestDecoration.js.map +1 -1
- package/lib/cjs/tools/TileTreeBoundsDecoration.d.ts +11 -11
- package/lib/cjs/tools/TileTreeBoundsDecoration.js +74 -74
- package/lib/cjs/tools/TileTreeBoundsDecoration.js.map +1 -1
- package/lib/cjs/tools/ToolTipProvider.d.ts +15 -15
- package/lib/cjs/tools/ToolTipProvider.js +66 -66
- package/lib/cjs/tools/ToolTipProvider.js.map +1 -1
- package/lib/cjs/tools/ViewportTools.d.ts +218 -218
- package/lib/cjs/tools/ViewportTools.js +515 -515
- package/lib/cjs/tools/ViewportTools.js.map +1 -1
- package/lib/cjs/tools/parseArgs.d.ts +23 -23
- package/lib/cjs/tools/parseArgs.js +51 -51
- package/lib/cjs/tools/parseArgs.js.map +1 -1
- package/lib/cjs/tools/parseBoolean.d.ts +8 -8
- package/lib/cjs/tools/parseBoolean.js +26 -26
- package/lib/cjs/tools/parseBoolean.js.map +1 -1
- package/lib/cjs/tools/parseToggle.d.ts +8 -8
- package/lib/cjs/tools/parseToggle.js +25 -25
- package/lib/cjs/tools/parseToggle.js.map +1 -1
- package/lib/cjs/ui/Button.d.ts +29 -29
- package/lib/cjs/ui/Button.js +26 -26
- package/lib/cjs/ui/Button.js.map +1 -1
- package/lib/cjs/ui/CheckBox.d.ts +23 -23
- package/lib/cjs/ui/CheckBox.js +27 -27
- package/lib/cjs/ui/CheckBox.js.map +1 -1
- package/lib/cjs/ui/ColorInput.d.ts +27 -27
- package/lib/cjs/ui/ColorInput.js +53 -53
- package/lib/cjs/ui/ColorInput.js.map +1 -1
- package/lib/cjs/ui/ComboBox.d.ts +28 -28
- package/lib/cjs/ui/ComboBox.js +42 -42
- package/lib/cjs/ui/ComboBox.js.map +1 -1
- package/lib/cjs/ui/DataList.d.ts +27 -27
- package/lib/cjs/ui/DataList.js +39 -39
- package/lib/cjs/ui/DataList.js.map +1 -1
- package/lib/cjs/ui/NestedMenu.d.ts +19 -19
- package/lib/cjs/ui/NestedMenu.js +46 -46
- package/lib/cjs/ui/NestedMenu.js.map +1 -1
- package/lib/cjs/ui/NumericInput.d.ts +35 -35
- package/lib/cjs/ui/NumericInput.js +61 -61
- package/lib/cjs/ui/NumericInput.js.map +1 -1
- package/lib/cjs/ui/RadioBox.d.ts +29 -29
- package/lib/cjs/ui/RadioBox.js +76 -76
- package/lib/cjs/ui/RadioBox.js.map +1 -1
- package/lib/cjs/ui/Slider.d.ts +28 -28
- package/lib/cjs/ui/Slider.js +42 -42
- package/lib/cjs/ui/Slider.js.map +1 -1
- package/lib/cjs/ui/TextBox.d.ts +32 -32
- package/lib/cjs/ui/TextBox.js +56 -56
- package/lib/cjs/ui/TextBox.js.map +1 -1
- package/lib/cjs/widgets/DiagnosticsPanel.d.ts +37 -37
- package/lib/cjs/widgets/DiagnosticsPanel.js +81 -81
- package/lib/cjs/widgets/DiagnosticsPanel.js.map +1 -1
- package/lib/cjs/widgets/FpsTracker.d.ts +19 -19
- package/lib/cjs/widgets/FpsTracker.js +56 -56
- package/lib/cjs/widgets/FpsTracker.js.map +1 -1
- package/lib/cjs/widgets/GpuProfiler.d.ts +16 -16
- package/lib/cjs/widgets/GpuProfiler.js +192 -192
- package/lib/cjs/widgets/GpuProfiler.js.map +1 -1
- package/lib/cjs/widgets/KeyinField.d.ts +61 -61
- package/lib/cjs/widgets/KeyinField.js +186 -186
- package/lib/cjs/widgets/KeyinField.js.map +1 -1
- package/lib/cjs/widgets/MemoryTracker.d.ts +27 -27
- package/lib/cjs/widgets/MemoryTracker.js +242 -242
- package/lib/cjs/widgets/MemoryTracker.js.map +1 -1
- package/lib/cjs/widgets/RenderCommandBreakdown.d.ts +15 -15
- package/lib/cjs/widgets/RenderCommandBreakdown.js +67 -67
- package/lib/cjs/widgets/RenderCommandBreakdown.js.map +1 -1
- package/lib/cjs/widgets/TileMemoryBreakdown.d.ts +30 -30
- package/lib/cjs/widgets/TileMemoryBreakdown.js +203 -203
- package/lib/cjs/widgets/TileMemoryBreakdown.js.map +1 -1
- package/lib/cjs/widgets/TileStatisticsTracker.d.ts +21 -21
- package/lib/cjs/widgets/TileStatisticsTracker.js +144 -144
- package/lib/cjs/widgets/TileStatisticsTracker.js.map +1 -1
- package/lib/cjs/widgets/ToolSettingsTracker.d.ts +9 -9
- package/lib/cjs/widgets/ToolSettingsTracker.js +211 -211
- package/lib/cjs/widgets/ToolSettingsTracker.js.map +1 -1
- package/lib/esm/ClipboardUtilities.d.ts +8 -8
- package/lib/esm/ClipboardUtilities.js +22 -22
- package/lib/esm/ClipboardUtilities.js.map +1 -1
- package/lib/esm/FrontEndDevTools.d.ts +19 -19
- package/lib/esm/FrontEndDevTools.js +217 -217
- package/lib/esm/FrontEndDevTools.js.map +1 -1
- package/lib/esm/effects/Convolution.d.ts +68 -68
- package/lib/esm/effects/Convolution.js +155 -155
- package/lib/esm/effects/Convolution.js.map +1 -1
- package/lib/esm/effects/EffectTools.d.ts +33 -33
- package/lib/esm/effects/EffectTools.js +61 -61
- package/lib/esm/effects/EffectTools.js.map +1 -1
- package/lib/esm/effects/Explosion.d.ts +12 -12
- package/lib/esm/effects/Explosion.js +164 -164
- package/lib/esm/effects/Explosion.js.map +1 -1
- package/lib/esm/effects/FlipImage.d.ts +30 -30
- package/lib/esm/effects/FlipImage.js +94 -94
- package/lib/esm/effects/FlipImage.js.map +1 -1
- package/lib/esm/effects/LensDistortion.d.ts +34 -34
- package/lib/esm/effects/LensDistortion.js +104 -104
- package/lib/esm/effects/LensDistortion.js.map +1 -1
- package/lib/esm/effects/Random.d.ts +24 -24
- package/lib/esm/effects/Random.js +41 -41
- package/lib/esm/effects/Random.js.map +1 -1
- package/lib/esm/effects/Saturation.d.ts +30 -30
- package/lib/esm/effects/Saturation.js +80 -80
- package/lib/esm/effects/Saturation.js.map +1 -1
- package/lib/esm/effects/Snow.d.ts +76 -76
- package/lib/esm/effects/Snow.js +182 -182
- package/lib/esm/effects/Snow.js.map +1 -1
- package/lib/esm/effects/Vignette.d.ts +39 -39
- package/lib/esm/effects/Vignette.js +103 -103
- package/lib/esm/effects/Vignette.js.map +1 -1
- package/lib/esm/frontend-devtools.d.ts +82 -82
- package/lib/esm/frontend-devtools.js +86 -86
- package/lib/esm/frontend-devtools.js.map +1 -1
- package/lib/esm/tools/AnimationIntervalTool.d.ts +15 -15
- package/lib/esm/tools/AnimationIntervalTool.js +26 -26
- package/lib/esm/tools/AnimationIntervalTool.js.map +1 -1
- package/lib/esm/tools/ChangeUnitsTool.d.ts +15 -15
- package/lib/esm/tools/ChangeUnitsTool.js +37 -37
- package/lib/esm/tools/ChangeUnitsTool.js.map +1 -1
- package/lib/esm/tools/ClipTools.d.ts +67 -67
- package/lib/esm/tools/ClipTools.js +155 -155
- package/lib/esm/tools/ClipTools.js.map +1 -1
- package/lib/esm/tools/DisplayStyleTools.d.ts +145 -145
- package/lib/esm/tools/DisplayStyleTools.js +354 -354
- package/lib/esm/tools/DisplayStyleTools.js.map +1 -1
- package/lib/esm/tools/EmphasizeElementsTool.d.ts +60 -60
- package/lib/esm/tools/EmphasizeElementsTool.js +145 -145
- package/lib/esm/tools/EmphasizeElementsTool.js.map +1 -1
- package/lib/esm/tools/FrustumDecoration.d.ts +57 -57
- package/lib/esm/tools/FrustumDecoration.js +367 -367
- package/lib/esm/tools/FrustumDecoration.js.map +1 -1
- package/lib/esm/tools/InspectElementTool.d.ts +42 -42
- package/lib/esm/tools/InspectElementTool.js +194 -194
- package/lib/esm/tools/InspectElementTool.js.map +1 -1
- package/lib/esm/tools/MapLayerTool.d.ts +264 -264
- package/lib/esm/tools/MapLayerTool.js +485 -485
- package/lib/esm/tools/MapLayerTool.js.map +1 -1
- package/lib/esm/tools/MeasureTileLoadTime.d.ts +12 -12
- package/lib/esm/tools/MeasureTileLoadTime.js +59 -59
- package/lib/esm/tools/MeasureTileLoadTime.js.map +1 -1
- package/lib/esm/tools/ModelAppearanceTools.d.ts +86 -86
- package/lib/esm/tools/ModelAppearanceTools.js +172 -172
- package/lib/esm/tools/ModelAppearanceTools.js.map +1 -1
- package/lib/esm/tools/PlanProjectionTools.d.ts +40 -40
- package/lib/esm/tools/PlanProjectionTools.js +143 -143
- package/lib/esm/tools/PlanProjectionTools.js.map +1 -1
- package/lib/esm/tools/PlanarMaskTools.d.ts +182 -182
- package/lib/esm/tools/PlanarMaskTools.js +375 -375
- package/lib/esm/tools/PlanarMaskTools.js.map +1 -1
- package/lib/esm/tools/ProjectExtents.d.ts +41 -41
- package/lib/esm/tools/ProjectExtents.js +104 -104
- package/lib/esm/tools/ProjectExtents.js.map +1 -1
- package/lib/esm/tools/RealityModelTools.d.ts +116 -116
- package/lib/esm/tools/RealityModelTools.js +268 -268
- package/lib/esm/tools/RealityModelTools.js.map +1 -1
- package/lib/esm/tools/RealityTransitionTool.d.ts +25 -25
- package/lib/esm/tools/RealityTransitionTool.js +111 -111
- package/lib/esm/tools/RealityTransitionTool.js.map +1 -1
- package/lib/esm/tools/RenderSystemTools.d.ts +38 -38
- package/lib/esm/tools/RenderSystemTools.js +62 -62
- package/lib/esm/tools/RenderSystemTools.js.map +1 -1
- package/lib/esm/tools/RenderTargetTools.d.ts +107 -107
- package/lib/esm/tools/RenderTargetTools.js +159 -159
- package/lib/esm/tools/RenderTargetTools.js.map +1 -1
- package/lib/esm/tools/ReportWebGLCompatibilityTool.d.ts +11 -11
- package/lib/esm/tools/ReportWebGLCompatibilityTool.js +26 -26
- package/lib/esm/tools/ReportWebGLCompatibilityTool.js.map +1 -1
- package/lib/esm/tools/SavedViews.d.ts +46 -46
- package/lib/esm/tools/SavedViews.js +128 -128
- package/lib/esm/tools/SavedViews.js.map +1 -1
- package/lib/esm/tools/ScheduleScriptTools.d.ts +37 -37
- package/lib/esm/tools/ScheduleScriptTools.js +151 -151
- package/lib/esm/tools/ScheduleScriptTools.js.map +1 -1
- package/lib/esm/tools/SelectionTools.d.ts +28 -28
- package/lib/esm/tools/SelectionTools.js +82 -82
- package/lib/esm/tools/SelectionTools.js.map +1 -1
- package/lib/esm/tools/SetGpuMemoryLimitTool.d.ts +15 -15
- package/lib/esm/tools/SetGpuMemoryLimitTool.js +29 -29
- package/lib/esm/tools/SetGpuMemoryLimitTool.js.map +1 -1
- package/lib/esm/tools/SourceAspectIdTools.d.ts +40 -40
- package/lib/esm/tools/SourceAspectIdTools.js +79 -79
- package/lib/esm/tools/SourceAspectIdTools.js.map +1 -1
- package/lib/esm/tools/TileRequestDecoration.d.ts +12 -12
- package/lib/esm/tools/TileRequestDecoration.js +79 -79
- package/lib/esm/tools/TileRequestDecoration.js.map +1 -1
- package/lib/esm/tools/TileTreeBoundsDecoration.d.ts +11 -11
- package/lib/esm/tools/TileTreeBoundsDecoration.js +70 -70
- package/lib/esm/tools/TileTreeBoundsDecoration.js.map +1 -1
- package/lib/esm/tools/ToolTipProvider.d.ts +15 -15
- package/lib/esm/tools/ToolTipProvider.js +62 -62
- package/lib/esm/tools/ToolTipProvider.js.map +1 -1
- package/lib/esm/tools/ViewportTools.d.ts +218 -218
- package/lib/esm/tools/ViewportTools.js +491 -491
- package/lib/esm/tools/ViewportTools.js.map +1 -1
- package/lib/esm/tools/parseArgs.d.ts +23 -23
- package/lib/esm/tools/parseArgs.js +47 -47
- package/lib/esm/tools/parseArgs.js.map +1 -1
- package/lib/esm/tools/parseBoolean.d.ts +8 -8
- package/lib/esm/tools/parseBoolean.js +22 -22
- package/lib/esm/tools/parseBoolean.js.map +1 -1
- package/lib/esm/tools/parseToggle.d.ts +8 -8
- package/lib/esm/tools/parseToggle.js +21 -21
- package/lib/esm/tools/parseToggle.js.map +1 -1
- package/lib/esm/ui/Button.d.ts +29 -29
- package/lib/esm/ui/Button.js +22 -22
- package/lib/esm/ui/Button.js.map +1 -1
- package/lib/esm/ui/CheckBox.d.ts +23 -23
- package/lib/esm/ui/CheckBox.js +23 -23
- package/lib/esm/ui/CheckBox.js.map +1 -1
- package/lib/esm/ui/ColorInput.d.ts +27 -27
- package/lib/esm/ui/ColorInput.js +48 -48
- package/lib/esm/ui/ColorInput.js.map +1 -1
- package/lib/esm/ui/ComboBox.d.ts +28 -28
- package/lib/esm/ui/ComboBox.js +38 -38
- package/lib/esm/ui/ComboBox.js.map +1 -1
- package/lib/esm/ui/DataList.d.ts +27 -27
- package/lib/esm/ui/DataList.js +34 -34
- package/lib/esm/ui/DataList.js.map +1 -1
- package/lib/esm/ui/NestedMenu.d.ts +19 -19
- package/lib/esm/ui/NestedMenu.js +42 -42
- package/lib/esm/ui/NestedMenu.js.map +1 -1
- package/lib/esm/ui/NumericInput.d.ts +35 -35
- package/lib/esm/ui/NumericInput.js +56 -56
- package/lib/esm/ui/NumericInput.js.map +1 -1
- package/lib/esm/ui/RadioBox.d.ts +29 -29
- package/lib/esm/ui/RadioBox.js +72 -72
- package/lib/esm/ui/RadioBox.js.map +1 -1
- package/lib/esm/ui/Slider.d.ts +28 -28
- package/lib/esm/ui/Slider.js +38 -38
- package/lib/esm/ui/Slider.js.map +1 -1
- package/lib/esm/ui/TextBox.d.ts +32 -32
- package/lib/esm/ui/TextBox.js +52 -52
- package/lib/esm/ui/TextBox.js.map +1 -1
- package/lib/esm/widgets/DiagnosticsPanel.d.ts +37 -37
- package/lib/esm/widgets/DiagnosticsPanel.js +77 -77
- package/lib/esm/widgets/DiagnosticsPanel.js.map +1 -1
- package/lib/esm/widgets/FpsTracker.d.ts +19 -19
- package/lib/esm/widgets/FpsTracker.js +52 -52
- package/lib/esm/widgets/FpsTracker.js.map +1 -1
- package/lib/esm/widgets/GpuProfiler.d.ts +16 -16
- package/lib/esm/widgets/GpuProfiler.js +188 -188
- package/lib/esm/widgets/GpuProfiler.js.map +1 -1
- package/lib/esm/widgets/KeyinField.d.ts +61 -61
- package/lib/esm/widgets/KeyinField.js +182 -182
- package/lib/esm/widgets/KeyinField.js.map +1 -1
- package/lib/esm/widgets/MemoryTracker.d.ts +27 -27
- package/lib/esm/widgets/MemoryTracker.js +237 -237
- package/lib/esm/widgets/MemoryTracker.js.map +1 -1
- package/lib/esm/widgets/RenderCommandBreakdown.d.ts +15 -15
- package/lib/esm/widgets/RenderCommandBreakdown.js +63 -63
- package/lib/esm/widgets/RenderCommandBreakdown.js.map +1 -1
- package/lib/esm/widgets/TileMemoryBreakdown.d.ts +30 -30
- package/lib/esm/widgets/TileMemoryBreakdown.js +199 -199
- package/lib/esm/widgets/TileMemoryBreakdown.js.map +1 -1
- package/lib/esm/widgets/TileStatisticsTracker.d.ts +21 -21
- package/lib/esm/widgets/TileStatisticsTracker.js +140 -140
- package/lib/esm/widgets/TileStatisticsTracker.js.map +1 -1
- package/lib/esm/widgets/ToolSettingsTracker.d.ts +9 -9
- package/lib/esm/widgets/ToolSettingsTracker.js +207 -207
- package/lib/esm/widgets/ToolSettingsTracker.js.map +1 -1
- package/lib/public/locales/en/FrontendDevTools.json +484 -484
- package/package.json +7 -7
|
@@ -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,68 +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
|
-
core_frontend_1.IModelApp.viewManager.selectedView?.removeScreenSpaceEffects();
|
|
48
|
-
return true;
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
exports.ClearEffectsTool = ClearEffectsTool;
|
|
52
|
-
ClearEffectsTool.toolId = "ClearEffects";
|
|
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;
|
|
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
|
+
core_frontend_1.IModelApp.viewManager.selectedView?.removeScreenSpaceEffects();
|
|
48
|
+
return true;
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
exports.ClearEffectsTool = ClearEffectsTool;
|
|
52
|
+
ClearEffectsTool.toolId = "ClearEffects";
|
|
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;
|
|
68
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,yBAAS,CAAC,WAAW,CAAC,YAAY,EAAE,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":["/*---------------------------------------------------------------------------------------------\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
|
+
{"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,yBAAS,CAAC,WAAW,CAAC,YAAY,EAAE,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,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
|
+
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";
|
|
169
169
|
//# sourceMappingURL=Explosion.js.map
|