@itwin/frontend-devtools 4.0.0-dev.7 → 4.0.0-dev.70
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/CHANGELOG.md +11 -1
- package/lib/cjs/ClipboardUtilities.d.ts +8 -8
- package/lib/cjs/ClipboardUtilities.js +26 -26
- 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 +148 -148
- 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 -68
- 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 +79 -79
- package/lib/cjs/effects/FlipImage.js.map +1 -1
- package/lib/cjs/effects/LensDistortion.d.ts +34 -34
- package/lib/cjs/effects/LensDistortion.js +88 -88
- 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/Saturation.d.ts +30 -30
- package/lib/cjs/effects/Saturation.js +59 -59
- 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 +79 -79
- package/lib/cjs/effects/Vignette.js.map +1 -1
- package/lib/cjs/frontend-devtools.d.ts +82 -82
- package/lib/cjs/frontend-devtools.js +102 -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 -164
- 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 -370
- 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 -393
- 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 -116
- 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 -70
- package/lib/cjs/tools/RenderSystemTools.js.map +1 -1
- package/lib/cjs/tools/RenderTargetTools.d.ts +107 -107
- package/lib/cjs/tools/RenderTargetTools.d.ts.map +1 -1
- 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 -159
- 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.d.ts.map +1 -1
- package/lib/cjs/tools/SourceAspectIdTools.js +86 -86
- 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.d.ts.map +1 -1
- package/lib/cjs/tools/ViewportTools.js +516 -516
- 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/parseBoolean.d.ts +8 -8
- package/lib/cjs/tools/parseBoolean.js +26 -26
- package/lib/cjs/tools/parseToggle.d.ts +8 -8
- package/lib/cjs/tools/parseToggle.js +25 -25
- package/lib/cjs/ui/Button.d.ts +29 -29
- package/lib/cjs/ui/Button.d.ts.map +1 -1
- package/lib/cjs/ui/Button.js +26 -26
- package/lib/cjs/ui/CheckBox.d.ts +23 -23
- package/lib/cjs/ui/CheckBox.d.ts.map +1 -1
- package/lib/cjs/ui/CheckBox.js +27 -27
- package/lib/cjs/ui/ColorInput.d.ts +27 -27
- package/lib/cjs/ui/ColorInput.d.ts.map +1 -1
- package/lib/cjs/ui/ColorInput.js +53 -53
- package/lib/cjs/ui/ComboBox.d.ts +28 -28
- package/lib/cjs/ui/ComboBox.d.ts.map +1 -1
- package/lib/cjs/ui/ComboBox.js +42 -42
- package/lib/cjs/ui/DataList.d.ts +27 -27
- package/lib/cjs/ui/DataList.d.ts.map +1 -1
- package/lib/cjs/ui/DataList.js +39 -39
- package/lib/cjs/ui/NestedMenu.d.ts +19 -19
- package/lib/cjs/ui/NestedMenu.d.ts.map +1 -1
- package/lib/cjs/ui/NestedMenu.js +46 -46
- package/lib/cjs/ui/NumericInput.d.ts +35 -35
- package/lib/cjs/ui/NumericInput.d.ts.map +1 -1
- package/lib/cjs/ui/NumericInput.js +61 -61
- package/lib/cjs/ui/RadioBox.d.ts +29 -29
- package/lib/cjs/ui/RadioBox.d.ts.map +1 -1
- package/lib/cjs/ui/RadioBox.js +76 -76
- package/lib/cjs/ui/Slider.d.ts +28 -28
- package/lib/cjs/ui/Slider.d.ts.map +1 -1
- package/lib/cjs/ui/Slider.js +42 -42
- package/lib/cjs/ui/TextBox.d.ts +32 -32
- package/lib/cjs/ui/TextBox.d.ts.map +1 -1
- package/lib/cjs/ui/TextBox.js +56 -56
- package/lib/cjs/widgets/DiagnosticsPanel.d.ts +37 -37
- package/lib/cjs/widgets/DiagnosticsPanel.js +81 -81
- package/lib/cjs/widgets/FpsTracker.d.ts +19 -19
- package/lib/cjs/widgets/FpsTracker.js +56 -56
- package/lib/cjs/widgets/GpuProfiler.d.ts +16 -16
- package/lib/cjs/widgets/GpuProfiler.js +192 -192
- package/lib/cjs/widgets/KeyinField.d.ts +61 -61
- package/lib/cjs/widgets/KeyinField.js +186 -187
- 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 -243
- 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 -68
- 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 -204
- package/lib/cjs/widgets/TileMemoryBreakdown.js.map +1 -1
- package/lib/cjs/widgets/TileStatisticsTracker.d.ts +21 -21
- package/lib/cjs/widgets/TileStatisticsTracker.d.ts.map +1 -1
- package/lib/cjs/widgets/TileStatisticsTracker.js +144 -142
- 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/FrontEndDevTools.d.ts +19 -19
- package/lib/esm/FrontEndDevTools.js +218 -217
- package/lib/esm/FrontEndDevTools.js.map +1 -1
- package/lib/esm/effects/Convolution.d.ts +68 -68
- package/lib/esm/effects/Convolution.js +144 -138
- package/lib/esm/effects/Convolution.js.map +1 -1
- package/lib/esm/effects/EffectTools.d.ts +33 -33
- package/lib/esm/effects/EffectTools.js +63 -62
- package/lib/esm/effects/EffectTools.js.map +1 -1
- package/lib/esm/effects/Explosion.d.ts +12 -12
- package/lib/esm/effects/Explosion.js +165 -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 +76 -74
- package/lib/esm/effects/FlipImage.js.map +1 -1
- package/lib/esm/effects/LensDistortion.d.ts +34 -34
- package/lib/esm/effects/LensDistortion.js +85 -83
- 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/Saturation.d.ts +30 -30
- package/lib/esm/effects/Saturation.js +56 -54
- package/lib/esm/effects/Saturation.js.map +1 -1
- package/lib/esm/effects/Snow.d.ts +76 -76
- package/lib/esm/effects/Snow.js +184 -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 +76 -74
- 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/tools/AnimationIntervalTool.d.ts +15 -15
- package/lib/esm/tools/AnimationIntervalTool.js +27 -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 +38 -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 +158 -158
- package/lib/esm/tools/ClipTools.js.map +1 -1
- package/lib/esm/tools/DisplayStyleTools.d.ts +145 -145
- package/lib/esm/tools/DisplayStyleTools.js +364 -356
- package/lib/esm/tools/DisplayStyleTools.js.map +1 -1
- package/lib/esm/tools/EmphasizeElementsTool.d.ts +60 -60
- package/lib/esm/tools/EmphasizeElementsTool.js +150 -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 +370 -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 +195 -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 +504 -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 +60 -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 +180 -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 +146 -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 +387 -377
- package/lib/esm/tools/PlanarMaskTools.js.map +1 -1
- package/lib/esm/tools/ProjectExtents.d.ts +41 -41
- package/lib/esm/tools/ProjectExtents.js +105 -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 +278 -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 +112 -112
- package/lib/esm/tools/RealityTransitionTool.js.map +1 -1
- package/lib/esm/tools/RenderSystemTools.d.ts +38 -38
- package/lib/esm/tools/RenderSystemTools.js +65 -63
- package/lib/esm/tools/RenderSystemTools.js.map +1 -1
- package/lib/esm/tools/RenderTargetTools.d.ts +107 -107
- package/lib/esm/tools/RenderTargetTools.d.ts.map +1 -1
- package/lib/esm/tools/RenderTargetTools.js +169 -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 +27 -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 +131 -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 +154 -153
- package/lib/esm/tools/ScheduleScriptTools.js.map +1 -1
- package/lib/esm/tools/SelectionTools.d.ts +28 -28
- package/lib/esm/tools/SelectionTools.js +84 -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 +30 -29
- package/lib/esm/tools/SetGpuMemoryLimitTool.js.map +1 -1
- package/lib/esm/tools/SourceAspectIdTools.d.ts +40 -40
- package/lib/esm/tools/SourceAspectIdTools.d.ts.map +1 -1
- package/lib/esm/tools/SourceAspectIdTools.js +82 -80
- package/lib/esm/tools/SourceAspectIdTools.js.map +1 -1
- package/lib/esm/tools/TileRequestDecoration.d.ts +12 -12
- package/lib/esm/tools/TileRequestDecoration.js +80 -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 +71 -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 +63 -62
- package/lib/esm/tools/ToolTipProvider.js.map +1 -1
- package/lib/esm/tools/ViewportTools.d.ts +218 -218
- package/lib/esm/tools/ViewportTools.d.ts.map +1 -1
- package/lib/esm/tools/ViewportTools.js +511 -492
- 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/parseBoolean.d.ts +8 -8
- package/lib/esm/tools/parseBoolean.js +22 -22
- package/lib/esm/tools/parseToggle.d.ts +8 -8
- package/lib/esm/tools/parseToggle.js +21 -21
- package/lib/esm/ui/Button.d.ts +29 -29
- package/lib/esm/ui/Button.d.ts.map +1 -1
- package/lib/esm/ui/Button.js +22 -22
- package/lib/esm/ui/CheckBox.d.ts +23 -23
- package/lib/esm/ui/CheckBox.d.ts.map +1 -1
- package/lib/esm/ui/CheckBox.js +23 -23
- package/lib/esm/ui/ColorInput.d.ts +27 -27
- package/lib/esm/ui/ColorInput.d.ts.map +1 -1
- package/lib/esm/ui/ColorInput.js +48 -48
- package/lib/esm/ui/ComboBox.d.ts +28 -28
- package/lib/esm/ui/ComboBox.d.ts.map +1 -1
- package/lib/esm/ui/ComboBox.js +38 -38
- package/lib/esm/ui/DataList.d.ts +27 -27
- package/lib/esm/ui/DataList.d.ts.map +1 -1
- package/lib/esm/ui/DataList.js +34 -34
- package/lib/esm/ui/NestedMenu.d.ts +19 -19
- package/lib/esm/ui/NestedMenu.d.ts.map +1 -1
- package/lib/esm/ui/NestedMenu.js +42 -42
- package/lib/esm/ui/NumericInput.d.ts +35 -35
- package/lib/esm/ui/NumericInput.d.ts.map +1 -1
- package/lib/esm/ui/NumericInput.js +56 -56
- package/lib/esm/ui/RadioBox.d.ts +29 -29
- package/lib/esm/ui/RadioBox.d.ts.map +1 -1
- package/lib/esm/ui/RadioBox.js +72 -72
- package/lib/esm/ui/Slider.d.ts +28 -28
- package/lib/esm/ui/Slider.d.ts.map +1 -1
- package/lib/esm/ui/Slider.js +38 -38
- package/lib/esm/ui/TextBox.d.ts +32 -32
- package/lib/esm/ui/TextBox.d.ts.map +1 -1
- package/lib/esm/ui/TextBox.js +52 -52
- package/lib/esm/widgets/DiagnosticsPanel.d.ts +37 -37
- package/lib/esm/widgets/DiagnosticsPanel.js +77 -77
- package/lib/esm/widgets/FpsTracker.d.ts +19 -19
- package/lib/esm/widgets/FpsTracker.js +52 -52
- package/lib/esm/widgets/GpuProfiler.d.ts +16 -16
- package/lib/esm/widgets/GpuProfiler.js +188 -188
- package/lib/esm/widgets/KeyinField.d.ts +61 -61
- package/lib/esm/widgets/KeyinField.js +182 -183
- 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 -238
- 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 -64
- 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 -200
- package/lib/esm/widgets/TileMemoryBreakdown.js.map +1 -1
- package/lib/esm/widgets/TileStatisticsTracker.d.ts +21 -21
- package/lib/esm/widgets/TileStatisticsTracker.d.ts.map +1 -1
- package/lib/esm/widgets/TileStatisticsTracker.js +140 -138
- package/lib/esm/widgets/TileStatisticsTracker.js.map +1 -1
- package/lib/esm/widgets/ToolSettingsTracker.d.ts +9 -9
- package/lib/esm/widgets/ToolSettingsTracker.js +208 -207
- package/lib/esm/widgets/ToolSettingsTracker.js.map +1 -1
- package/package.json +12 -12
package/lib/esm/ui/TextBox.js
CHANGED
|
@@ -1,53 +1,53 @@
|
|
|
1
|
-
/*---------------------------------------------------------------------------------------------
|
|
2
|
-
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
|
|
3
|
-
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
4
|
-
*--------------------------------------------------------------------------------------------*/
|
|
5
|
-
/** @alpha */
|
|
6
|
-
export function createTextBox(props) {
|
|
7
|
-
const div = document.createElement("div");
|
|
8
|
-
if (true === props.inline)
|
|
9
|
-
div.style.display = "inline";
|
|
10
|
-
let label;
|
|
11
|
-
if (undefined !== props.label) {
|
|
12
|
-
label = document.createElement("label");
|
|
13
|
-
label.innerText = props.label;
|
|
14
|
-
if (undefined !== props.id)
|
|
15
|
-
label.htmlFor = props.id;
|
|
16
|
-
div.appendChild(label);
|
|
17
|
-
}
|
|
18
|
-
const textbox = document.createElement("input");
|
|
19
|
-
textbox.type = "text";
|
|
20
|
-
if (undefined !== props.id)
|
|
21
|
-
textbox.id = props.id;
|
|
22
|
-
div.appendChild(textbox);
|
|
23
|
-
if (undefined !== props.parent)
|
|
24
|
-
props.parent.appendChild(div);
|
|
25
|
-
const handler = props.handler;
|
|
26
|
-
if (undefined !== handler) {
|
|
27
|
-
textbox.onchange = () => handler(textbox);
|
|
28
|
-
}
|
|
29
|
-
// Don't want the document's listeners intepreting keypresses as keyboard shortcuts...
|
|
30
|
-
const stopPropagation = (ev) => ev.stopPropagation();
|
|
31
|
-
textbox.onkeydown = textbox.onkeyup = stopPropagation;
|
|
32
|
-
const keypresshandler = props.keypresshandler;
|
|
33
|
-
if (undefined !== keypresshandler) {
|
|
34
|
-
textbox.onkeypress = (ev) => {
|
|
35
|
-
keypresshandler(textbox, ev);
|
|
36
|
-
ev.stopPropagation();
|
|
37
|
-
};
|
|
38
|
-
}
|
|
39
|
-
else {
|
|
40
|
-
textbox.onkeypress = stopPropagation; // eslint-disable-line deprecation/deprecation
|
|
41
|
-
}
|
|
42
|
-
const focushandler = props.focushandler;
|
|
43
|
-
if (undefined !== focushandler) {
|
|
44
|
-
textbox.onfocus = () => focushandler(textbox);
|
|
45
|
-
}
|
|
46
|
-
if (undefined !== props.list) {
|
|
47
|
-
textbox.setAttribute("list", props.list);
|
|
48
|
-
}
|
|
49
|
-
if (undefined !== props.tooltip)
|
|
50
|
-
div.title = props.tooltip;
|
|
51
|
-
return { label, textbox, div };
|
|
52
|
-
}
|
|
1
|
+
/*---------------------------------------------------------------------------------------------
|
|
2
|
+
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
|
|
3
|
+
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
4
|
+
*--------------------------------------------------------------------------------------------*/
|
|
5
|
+
/** @alpha */
|
|
6
|
+
export function createTextBox(props) {
|
|
7
|
+
const div = document.createElement("div");
|
|
8
|
+
if (true === props.inline)
|
|
9
|
+
div.style.display = "inline";
|
|
10
|
+
let label;
|
|
11
|
+
if (undefined !== props.label) {
|
|
12
|
+
label = document.createElement("label");
|
|
13
|
+
label.innerText = props.label;
|
|
14
|
+
if (undefined !== props.id)
|
|
15
|
+
label.htmlFor = props.id;
|
|
16
|
+
div.appendChild(label);
|
|
17
|
+
}
|
|
18
|
+
const textbox = document.createElement("input");
|
|
19
|
+
textbox.type = "text";
|
|
20
|
+
if (undefined !== props.id)
|
|
21
|
+
textbox.id = props.id;
|
|
22
|
+
div.appendChild(textbox);
|
|
23
|
+
if (undefined !== props.parent)
|
|
24
|
+
props.parent.appendChild(div);
|
|
25
|
+
const handler = props.handler;
|
|
26
|
+
if (undefined !== handler) {
|
|
27
|
+
textbox.onchange = () => handler(textbox);
|
|
28
|
+
}
|
|
29
|
+
// Don't want the document's listeners intepreting keypresses as keyboard shortcuts...
|
|
30
|
+
const stopPropagation = (ev) => ev.stopPropagation();
|
|
31
|
+
textbox.onkeydown = textbox.onkeyup = stopPropagation;
|
|
32
|
+
const keypresshandler = props.keypresshandler;
|
|
33
|
+
if (undefined !== keypresshandler) {
|
|
34
|
+
textbox.onkeypress = (ev) => {
|
|
35
|
+
keypresshandler(textbox, ev);
|
|
36
|
+
ev.stopPropagation();
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
else {
|
|
40
|
+
textbox.onkeypress = stopPropagation; // eslint-disable-line deprecation/deprecation
|
|
41
|
+
}
|
|
42
|
+
const focushandler = props.focushandler;
|
|
43
|
+
if (undefined !== focushandler) {
|
|
44
|
+
textbox.onfocus = () => focushandler(textbox);
|
|
45
|
+
}
|
|
46
|
+
if (undefined !== props.list) {
|
|
47
|
+
textbox.setAttribute("list", props.list);
|
|
48
|
+
}
|
|
49
|
+
if (undefined !== props.tooltip)
|
|
50
|
+
div.title = props.tooltip;
|
|
51
|
+
return { label, textbox, div };
|
|
52
|
+
}
|
|
53
53
|
//# sourceMappingURL=TextBox.js.map
|
|
@@ -1,38 +1,38 @@
|
|
|
1
|
-
import { Viewport } from "@itwin/core-frontend";
|
|
2
|
-
import { KeyinField } from "./KeyinField";
|
|
3
|
-
/** Options for configuring a [[DiagnosticsPanel]].
|
|
4
|
-
* @beta
|
|
5
|
-
*/
|
|
6
|
-
export interface DiagnosticsPanelProps {
|
|
7
|
-
/** Widgets to exclude from the panel. */
|
|
8
|
-
exclude?: {
|
|
9
|
-
keyin?: boolean;
|
|
10
|
-
fps?: boolean;
|
|
11
|
-
tileStats?: boolean;
|
|
12
|
-
memory?: boolean;
|
|
13
|
-
tileMemoryBreakdown?: boolean;
|
|
14
|
-
renderCommands?: boolean;
|
|
15
|
-
gpuProfiler?: boolean;
|
|
16
|
-
toolSettings?: boolean;
|
|
17
|
-
};
|
|
18
|
-
}
|
|
19
|
-
/** Consolidates many other widgets into a single panel.
|
|
20
|
-
* @beta
|
|
21
|
-
*/
|
|
22
|
-
export declare class DiagnosticsPanel {
|
|
23
|
-
private readonly _element;
|
|
24
|
-
private readonly _parentElement?;
|
|
25
|
-
private readonly _fpsTracker?;
|
|
26
|
-
private readonly _memoryTracker?;
|
|
27
|
-
private readonly _tileMemoryBreakdown?;
|
|
28
|
-
private readonly _renderCommands?;
|
|
29
|
-
private readonly _statsTracker?;
|
|
30
|
-
private readonly _gpuProfiler?;
|
|
31
|
-
private readonly _toolSettingsTracker?;
|
|
32
|
-
readonly keyinField?: KeyinField;
|
|
33
|
-
constructor(vp: Viewport, props?: DiagnosticsPanelProps);
|
|
34
|
-
get element(): HTMLElement;
|
|
35
|
-
dispose(): void;
|
|
36
|
-
private addSeparator;
|
|
37
|
-
}
|
|
1
|
+
import { Viewport } from "@itwin/core-frontend";
|
|
2
|
+
import { KeyinField } from "./KeyinField";
|
|
3
|
+
/** Options for configuring a [[DiagnosticsPanel]].
|
|
4
|
+
* @beta
|
|
5
|
+
*/
|
|
6
|
+
export interface DiagnosticsPanelProps {
|
|
7
|
+
/** Widgets to exclude from the panel. */
|
|
8
|
+
exclude?: {
|
|
9
|
+
keyin?: boolean;
|
|
10
|
+
fps?: boolean;
|
|
11
|
+
tileStats?: boolean;
|
|
12
|
+
memory?: boolean;
|
|
13
|
+
tileMemoryBreakdown?: boolean;
|
|
14
|
+
renderCommands?: boolean;
|
|
15
|
+
gpuProfiler?: boolean;
|
|
16
|
+
toolSettings?: boolean;
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
/** Consolidates many other widgets into a single panel.
|
|
20
|
+
* @beta
|
|
21
|
+
*/
|
|
22
|
+
export declare class DiagnosticsPanel {
|
|
23
|
+
private readonly _element;
|
|
24
|
+
private readonly _parentElement?;
|
|
25
|
+
private readonly _fpsTracker?;
|
|
26
|
+
private readonly _memoryTracker?;
|
|
27
|
+
private readonly _tileMemoryBreakdown?;
|
|
28
|
+
private readonly _renderCommands?;
|
|
29
|
+
private readonly _statsTracker?;
|
|
30
|
+
private readonly _gpuProfiler?;
|
|
31
|
+
private readonly _toolSettingsTracker?;
|
|
32
|
+
readonly keyinField?: KeyinField;
|
|
33
|
+
constructor(vp: Viewport, props?: DiagnosticsPanelProps);
|
|
34
|
+
get element(): HTMLElement;
|
|
35
|
+
dispose(): void;
|
|
36
|
+
private addSeparator;
|
|
37
|
+
}
|
|
38
38
|
//# sourceMappingURL=DiagnosticsPanel.d.ts.map
|
|
@@ -1,78 +1,78 @@
|
|
|
1
|
-
/*---------------------------------------------------------------------------------------------
|
|
2
|
-
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
|
|
3
|
-
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
4
|
-
*--------------------------------------------------------------------------------------------*/
|
|
5
|
-
/** @packageDocumentation
|
|
6
|
-
* @module Widgets
|
|
7
|
-
*/
|
|
8
|
-
import { dispose } from "@itwin/core-bentley";
|
|
9
|
-
import { FpsTracker } from "./FpsTracker";
|
|
10
|
-
import { GpuProfiler } from "./GpuProfiler";
|
|
11
|
-
import { KeyinField } from "./KeyinField";
|
|
12
|
-
import { MemoryTracker } from "./MemoryTracker";
|
|
13
|
-
import { RenderCommandBreakdown } from "./RenderCommandBreakdown";
|
|
14
|
-
import { TileMemoryBreakdown } from "./TileMemoryBreakdown";
|
|
15
|
-
import { TileStatisticsTracker } from "./TileStatisticsTracker";
|
|
16
|
-
import { ToolSettingsTracker } from "./ToolSettingsTracker";
|
|
17
|
-
/** Consolidates many other widgets into a single panel.
|
|
18
|
-
* @beta
|
|
19
|
-
*/
|
|
20
|
-
export class DiagnosticsPanel {
|
|
21
|
-
constructor(vp, props) {
|
|
22
|
-
const exclude = (undefined !== props && undefined !== props.exclude) ? props.exclude : {};
|
|
23
|
-
this._element = document.createElement("div");
|
|
24
|
-
this._element.className = "debugPanel";
|
|
25
|
-
if (true !== exclude.fps) {
|
|
26
|
-
this._fpsTracker = new FpsTracker(this._element, vp);
|
|
27
|
-
this.addSeparator();
|
|
28
|
-
}
|
|
29
|
-
if (true !== exclude.keyin) {
|
|
30
|
-
this.keyinField = new KeyinField({
|
|
31
|
-
parent: this._element,
|
|
32
|
-
baseId: "diagnosticsPanelKeyin",
|
|
33
|
-
wantButton: true,
|
|
34
|
-
wantLabel: true,
|
|
35
|
-
historyLength: 20,
|
|
36
|
-
});
|
|
37
|
-
this.addSeparator();
|
|
38
|
-
}
|
|
39
|
-
if (true !== exclude.tileStats) {
|
|
40
|
-
this._statsTracker = new TileStatisticsTracker(this._element, vp);
|
|
41
|
-
this.addSeparator();
|
|
42
|
-
}
|
|
43
|
-
if (true !== exclude.tileMemoryBreakdown) {
|
|
44
|
-
this._tileMemoryBreakdown = new TileMemoryBreakdown(this._element);
|
|
45
|
-
this.addSeparator();
|
|
46
|
-
}
|
|
47
|
-
if (!exclude.renderCommands) {
|
|
48
|
-
this._renderCommands = new RenderCommandBreakdown(this._element);
|
|
49
|
-
this.addSeparator();
|
|
50
|
-
}
|
|
51
|
-
if (true !== exclude.memory) {
|
|
52
|
-
this._memoryTracker = new MemoryTracker(this._element, vp);
|
|
53
|
-
this.addSeparator();
|
|
54
|
-
}
|
|
55
|
-
if (true !== exclude.gpuProfiler) {
|
|
56
|
-
this._gpuProfiler = new GpuProfiler(this._element);
|
|
57
|
-
this.addSeparator();
|
|
58
|
-
}
|
|
59
|
-
if (true !== exclude.toolSettings)
|
|
60
|
-
this._toolSettingsTracker = new ToolSettingsTracker(this._element, vp);
|
|
61
|
-
}
|
|
62
|
-
get element() { return this._element; }
|
|
63
|
-
dispose() {
|
|
64
|
-
dispose(this._fpsTracker);
|
|
65
|
-
dispose(this._memoryTracker);
|
|
66
|
-
dispose(this._tileMemoryBreakdown);
|
|
67
|
-
dispose(this._renderCommands);
|
|
68
|
-
dispose(this._statsTracker);
|
|
69
|
-
dispose(this._gpuProfiler);
|
|
70
|
-
dispose(this._toolSettingsTracker);
|
|
71
|
-
if (undefined !== this._parentElement)
|
|
72
|
-
this._parentElement.removeChild(this._element);
|
|
73
|
-
}
|
|
74
|
-
addSeparator() {
|
|
75
|
-
this._element.appendChild(document.createElement("hr"));
|
|
76
|
-
}
|
|
77
|
-
}
|
|
1
|
+
/*---------------------------------------------------------------------------------------------
|
|
2
|
+
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
|
|
3
|
+
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
4
|
+
*--------------------------------------------------------------------------------------------*/
|
|
5
|
+
/** @packageDocumentation
|
|
6
|
+
* @module Widgets
|
|
7
|
+
*/
|
|
8
|
+
import { dispose } from "@itwin/core-bentley";
|
|
9
|
+
import { FpsTracker } from "./FpsTracker";
|
|
10
|
+
import { GpuProfiler } from "./GpuProfiler";
|
|
11
|
+
import { KeyinField } from "./KeyinField";
|
|
12
|
+
import { MemoryTracker } from "./MemoryTracker";
|
|
13
|
+
import { RenderCommandBreakdown } from "./RenderCommandBreakdown";
|
|
14
|
+
import { TileMemoryBreakdown } from "./TileMemoryBreakdown";
|
|
15
|
+
import { TileStatisticsTracker } from "./TileStatisticsTracker";
|
|
16
|
+
import { ToolSettingsTracker } from "./ToolSettingsTracker";
|
|
17
|
+
/** Consolidates many other widgets into a single panel.
|
|
18
|
+
* @beta
|
|
19
|
+
*/
|
|
20
|
+
export class DiagnosticsPanel {
|
|
21
|
+
constructor(vp, props) {
|
|
22
|
+
const exclude = (undefined !== props && undefined !== props.exclude) ? props.exclude : {};
|
|
23
|
+
this._element = document.createElement("div");
|
|
24
|
+
this._element.className = "debugPanel";
|
|
25
|
+
if (true !== exclude.fps) {
|
|
26
|
+
this._fpsTracker = new FpsTracker(this._element, vp);
|
|
27
|
+
this.addSeparator();
|
|
28
|
+
}
|
|
29
|
+
if (true !== exclude.keyin) {
|
|
30
|
+
this.keyinField = new KeyinField({
|
|
31
|
+
parent: this._element,
|
|
32
|
+
baseId: "diagnosticsPanelKeyin",
|
|
33
|
+
wantButton: true,
|
|
34
|
+
wantLabel: true,
|
|
35
|
+
historyLength: 20,
|
|
36
|
+
});
|
|
37
|
+
this.addSeparator();
|
|
38
|
+
}
|
|
39
|
+
if (true !== exclude.tileStats) {
|
|
40
|
+
this._statsTracker = new TileStatisticsTracker(this._element, vp);
|
|
41
|
+
this.addSeparator();
|
|
42
|
+
}
|
|
43
|
+
if (true !== exclude.tileMemoryBreakdown) {
|
|
44
|
+
this._tileMemoryBreakdown = new TileMemoryBreakdown(this._element);
|
|
45
|
+
this.addSeparator();
|
|
46
|
+
}
|
|
47
|
+
if (!exclude.renderCommands) {
|
|
48
|
+
this._renderCommands = new RenderCommandBreakdown(this._element);
|
|
49
|
+
this.addSeparator();
|
|
50
|
+
}
|
|
51
|
+
if (true !== exclude.memory) {
|
|
52
|
+
this._memoryTracker = new MemoryTracker(this._element, vp);
|
|
53
|
+
this.addSeparator();
|
|
54
|
+
}
|
|
55
|
+
if (true !== exclude.gpuProfiler) {
|
|
56
|
+
this._gpuProfiler = new GpuProfiler(this._element);
|
|
57
|
+
this.addSeparator();
|
|
58
|
+
}
|
|
59
|
+
if (true !== exclude.toolSettings)
|
|
60
|
+
this._toolSettingsTracker = new ToolSettingsTracker(this._element, vp);
|
|
61
|
+
}
|
|
62
|
+
get element() { return this._element; }
|
|
63
|
+
dispose() {
|
|
64
|
+
dispose(this._fpsTracker);
|
|
65
|
+
dispose(this._memoryTracker);
|
|
66
|
+
dispose(this._tileMemoryBreakdown);
|
|
67
|
+
dispose(this._renderCommands);
|
|
68
|
+
dispose(this._statsTracker);
|
|
69
|
+
dispose(this._gpuProfiler);
|
|
70
|
+
dispose(this._toolSettingsTracker);
|
|
71
|
+
if (undefined !== this._parentElement)
|
|
72
|
+
this._parentElement.removeChild(this._element);
|
|
73
|
+
}
|
|
74
|
+
addSeparator() {
|
|
75
|
+
this._element.appendChild(document.createElement("hr"));
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
78
|
//# sourceMappingURL=DiagnosticsPanel.js.map
|
|
@@ -1,20 +1,20 @@
|
|
|
1
|
-
/** @packageDocumentation
|
|
2
|
-
* @module Widgets
|
|
3
|
-
*/
|
|
4
|
-
import { Viewport } from "@itwin/core-frontend";
|
|
5
|
-
/** Displays average frames-per-second.
|
|
6
|
-
* NOTE: Enabling fps tracking causes a new frame to render on every tick of the render loop, which may negatively impact battery life.
|
|
7
|
-
* @beta
|
|
8
|
-
*/
|
|
9
|
-
export declare class FpsTracker {
|
|
10
|
-
private readonly _label;
|
|
11
|
-
private _metrics?;
|
|
12
|
-
private _curIntervalId?;
|
|
13
|
-
private readonly _vp;
|
|
14
|
-
constructor(parent: HTMLElement, viewport: Viewport);
|
|
15
|
-
dispose(): void;
|
|
16
|
-
private clearInterval;
|
|
17
|
-
private toggle;
|
|
18
|
-
private updateFPS;
|
|
19
|
-
}
|
|
1
|
+
/** @packageDocumentation
|
|
2
|
+
* @module Widgets
|
|
3
|
+
*/
|
|
4
|
+
import { Viewport } from "@itwin/core-frontend";
|
|
5
|
+
/** Displays average frames-per-second.
|
|
6
|
+
* NOTE: Enabling fps tracking causes a new frame to render on every tick of the render loop, which may negatively impact battery life.
|
|
7
|
+
* @beta
|
|
8
|
+
*/
|
|
9
|
+
export declare class FpsTracker {
|
|
10
|
+
private readonly _label;
|
|
11
|
+
private _metrics?;
|
|
12
|
+
private _curIntervalId?;
|
|
13
|
+
private readonly _vp;
|
|
14
|
+
constructor(parent: HTMLElement, viewport: Viewport);
|
|
15
|
+
dispose(): void;
|
|
16
|
+
private clearInterval;
|
|
17
|
+
private toggle;
|
|
18
|
+
private updateFPS;
|
|
19
|
+
}
|
|
20
20
|
//# sourceMappingURL=FpsTracker.d.ts.map
|
|
@@ -1,53 +1,53 @@
|
|
|
1
|
-
/*---------------------------------------------------------------------------------------------
|
|
2
|
-
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
|
|
3
|
-
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
4
|
-
*--------------------------------------------------------------------------------------------*/
|
|
5
|
-
/** @packageDocumentation
|
|
6
|
-
* @module Widgets
|
|
7
|
-
*/
|
|
8
|
-
import { PerformanceMetrics } from "@itwin/core-frontend";
|
|
9
|
-
import { createCheckBox } from "../ui/CheckBox";
|
|
10
|
-
/** Displays average frames-per-second.
|
|
11
|
-
* NOTE: Enabling fps tracking causes a new frame to render on every tick of the render loop, which may negatively impact battery life.
|
|
12
|
-
* @beta
|
|
13
|
-
*/
|
|
14
|
-
export class FpsTracker {
|
|
15
|
-
constructor(parent, viewport) {
|
|
16
|
-
this._vp = viewport;
|
|
17
|
-
this._label = createCheckBox({
|
|
18
|
-
parent,
|
|
19
|
-
name: "Track FPS",
|
|
20
|
-
id: "fpsTracker_toggle",
|
|
21
|
-
handler: (cb) => this.toggle(cb.checked),
|
|
22
|
-
}).label;
|
|
23
|
-
}
|
|
24
|
-
dispose() {
|
|
25
|
-
this.toggle(false);
|
|
26
|
-
}
|
|
27
|
-
clearInterval() {
|
|
28
|
-
if (undefined !== this._curIntervalId) {
|
|
29
|
-
clearInterval(this._curIntervalId);
|
|
30
|
-
this._curIntervalId = undefined;
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
toggle(enabled) {
|
|
34
|
-
this._vp.continuousRendering = enabled;
|
|
35
|
-
if (enabled) {
|
|
36
|
-
this._metrics = new PerformanceMetrics(false, true);
|
|
37
|
-
this._curIntervalId = setInterval(() => this.updateFPS(), 500);
|
|
38
|
-
this._label.innerText = "Tracking FPS...";
|
|
39
|
-
}
|
|
40
|
-
else {
|
|
41
|
-
this._metrics = undefined;
|
|
42
|
-
this.clearInterval();
|
|
43
|
-
this._label.innerText = "Track FPS";
|
|
44
|
-
}
|
|
45
|
-
this._vp.target.performanceMetrics = this._metrics;
|
|
46
|
-
}
|
|
47
|
-
updateFPS() {
|
|
48
|
-
const metrics = this._metrics;
|
|
49
|
-
const fps = (metrics.spfTimes.length / metrics.spfSum).toFixed(2);
|
|
50
|
-
this._label.innerText = `FPS: ${fps}`;
|
|
51
|
-
}
|
|
52
|
-
}
|
|
1
|
+
/*---------------------------------------------------------------------------------------------
|
|
2
|
+
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
|
|
3
|
+
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
4
|
+
*--------------------------------------------------------------------------------------------*/
|
|
5
|
+
/** @packageDocumentation
|
|
6
|
+
* @module Widgets
|
|
7
|
+
*/
|
|
8
|
+
import { PerformanceMetrics } from "@itwin/core-frontend";
|
|
9
|
+
import { createCheckBox } from "../ui/CheckBox";
|
|
10
|
+
/** Displays average frames-per-second.
|
|
11
|
+
* NOTE: Enabling fps tracking causes a new frame to render on every tick of the render loop, which may negatively impact battery life.
|
|
12
|
+
* @beta
|
|
13
|
+
*/
|
|
14
|
+
export class FpsTracker {
|
|
15
|
+
constructor(parent, viewport) {
|
|
16
|
+
this._vp = viewport;
|
|
17
|
+
this._label = createCheckBox({
|
|
18
|
+
parent,
|
|
19
|
+
name: "Track FPS",
|
|
20
|
+
id: "fpsTracker_toggle",
|
|
21
|
+
handler: (cb) => this.toggle(cb.checked),
|
|
22
|
+
}).label;
|
|
23
|
+
}
|
|
24
|
+
dispose() {
|
|
25
|
+
this.toggle(false);
|
|
26
|
+
}
|
|
27
|
+
clearInterval() {
|
|
28
|
+
if (undefined !== this._curIntervalId) {
|
|
29
|
+
clearInterval(this._curIntervalId);
|
|
30
|
+
this._curIntervalId = undefined;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
toggle(enabled) {
|
|
34
|
+
this._vp.continuousRendering = enabled;
|
|
35
|
+
if (enabled) {
|
|
36
|
+
this._metrics = new PerformanceMetrics(false, true);
|
|
37
|
+
this._curIntervalId = setInterval(() => this.updateFPS(), 500);
|
|
38
|
+
this._label.innerText = "Tracking FPS...";
|
|
39
|
+
}
|
|
40
|
+
else {
|
|
41
|
+
this._metrics = undefined;
|
|
42
|
+
this.clearInterval();
|
|
43
|
+
this._label.innerText = "Track FPS";
|
|
44
|
+
}
|
|
45
|
+
this._vp.target.performanceMetrics = this._metrics;
|
|
46
|
+
}
|
|
47
|
+
updateFPS() {
|
|
48
|
+
const metrics = this._metrics;
|
|
49
|
+
const fps = (metrics.spfTimes.length / metrics.spfSum).toFixed(2);
|
|
50
|
+
this._label.innerText = `FPS: ${fps}`;
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
53
|
//# sourceMappingURL=FpsTracker.js.map
|
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
/** @alpha */
|
|
2
|
-
export declare class GpuProfiler {
|
|
3
|
-
private readonly _div;
|
|
4
|
-
private readonly _resultsDiv;
|
|
5
|
-
private readonly _results;
|
|
6
|
-
private readonly _debugControl;
|
|
7
|
-
private readonly _recordButton;
|
|
8
|
-
private _recordedResults;
|
|
9
|
-
private _isRecording;
|
|
10
|
-
constructor(parent: HTMLElement);
|
|
11
|
-
dispose(): void;
|
|
12
|
-
private toggleProfileCheckBox;
|
|
13
|
-
private _clickRecord;
|
|
14
|
-
private stopRecording;
|
|
15
|
-
private _resultsCallback;
|
|
16
|
-
}
|
|
1
|
+
/** @alpha */
|
|
2
|
+
export declare class GpuProfiler {
|
|
3
|
+
private readonly _div;
|
|
4
|
+
private readonly _resultsDiv;
|
|
5
|
+
private readonly _results;
|
|
6
|
+
private readonly _debugControl;
|
|
7
|
+
private readonly _recordButton;
|
|
8
|
+
private _recordedResults;
|
|
9
|
+
private _isRecording;
|
|
10
|
+
constructor(parent: HTMLElement);
|
|
11
|
+
dispose(): void;
|
|
12
|
+
private toggleProfileCheckBox;
|
|
13
|
+
private _clickRecord;
|
|
14
|
+
private stopRecording;
|
|
15
|
+
private _resultsCallback;
|
|
16
|
+
}
|
|
17
17
|
//# sourceMappingURL=GpuProfiler.d.ts.map
|