@lightningjs/renderer 0.9.4 → 1.0.0-rc.1
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/README.md +0 -82
- package/dist/exports/index.d.ts +42 -3
- package/dist/exports/index.js +37 -3
- package/dist/exports/index.js.map +1 -1
- package/dist/src/core/CoreNode.d.ts +461 -46
- package/dist/src/core/CoreNode.js +170 -104
- package/dist/src/core/CoreNode.js.map +1 -1
- package/dist/src/core/CoreShaderManager.d.ts +16 -6
- package/dist/src/core/CoreShaderManager.js +20 -20
- package/dist/src/core/CoreShaderManager.js.map +1 -1
- package/dist/src/core/CoreTextNode.d.ts +30 -4
- package/dist/src/core/CoreTextNode.js +24 -1
- package/dist/src/core/CoreTextNode.js.map +1 -1
- package/dist/src/core/CoreTextureManager.d.ts +31 -82
- package/dist/src/core/CoreTextureManager.js +39 -126
- package/dist/src/core/CoreTextureManager.js.map +1 -1
- package/dist/src/core/Stage.d.ts +67 -9
- package/dist/src/core/Stage.js +174 -30
- package/dist/src/core/Stage.js.map +1 -1
- package/dist/src/core/TextureMemoryManager.d.ts +97 -8
- package/dist/src/core/TextureMemoryManager.js +142 -19
- package/dist/src/core/TextureMemoryManager.js.map +1 -1
- package/dist/src/core/animations/CoreAnimation.d.ts +14 -6
- package/dist/src/core/animations/CoreAnimation.js +137 -43
- package/dist/src/core/animations/CoreAnimation.js.map +1 -1
- package/dist/src/core/lib/ImageWorker.js +59 -52
- package/dist/src/core/lib/ImageWorker.js.map +1 -1
- package/dist/src/core/lib/utils.js.map +1 -1
- package/dist/src/core/platform.js +7 -1
- package/dist/src/core/platform.js.map +1 -1
- package/dist/src/core/renderers/CoreContextTexture.d.ts +3 -2
- package/dist/src/core/renderers/CoreContextTexture.js +7 -1
- package/dist/src/core/renderers/CoreContextTexture.js.map +1 -1
- package/dist/src/core/renderers/CoreRenderer.d.ts +5 -1
- package/dist/src/core/renderers/CoreRenderer.js +0 -1
- package/dist/src/core/renderers/CoreRenderer.js.map +1 -1
- package/dist/src/core/renderers/canvas/CanvasCoreRenderer.d.ts +3 -0
- package/dist/src/core/renderers/canvas/CanvasCoreRenderer.js +16 -1
- package/dist/src/core/renderers/canvas/CanvasCoreRenderer.js.map +1 -1
- package/dist/src/core/renderers/canvas/CanvasCoreTexture.d.ts +0 -1
- package/dist/src/core/renderers/canvas/CanvasCoreTexture.js +2 -5
- package/dist/src/core/renderers/canvas/CanvasCoreTexture.js.map +1 -1
- package/dist/src/core/renderers/webgl/WebGlCoreCtxRenderTexture.js +2 -2
- package/dist/src/core/renderers/webgl/WebGlCoreCtxRenderTexture.js.map +1 -1
- package/dist/src/core/renderers/webgl/WebGlCoreCtxTexture.d.ts +0 -1
- package/dist/src/core/renderers/webgl/WebGlCoreCtxTexture.js +7 -10
- package/dist/src/core/renderers/webgl/WebGlCoreCtxTexture.js.map +1 -1
- package/dist/src/core/renderers/webgl/WebGlCoreRenderer.d.ts +3 -0
- package/dist/src/core/renderers/webgl/WebGlCoreRenderer.js +47 -9
- package/dist/src/core/renderers/webgl/WebGlCoreRenderer.js.map +1 -1
- package/dist/src/core/renderers/webgl/shaders/DynamicShader.d.ts +2 -43
- package/dist/src/core/renderers/webgl/shaders/DynamicShader.js +70 -37
- package/dist/src/core/renderers/webgl/shaders/DynamicShader.js.map +1 -1
- package/dist/src/core/renderers/webgl/shaders/effects/BorderBottomEffect.js +2 -2
- package/dist/src/core/renderers/webgl/shaders/effects/BorderBottomEffect.js.map +1 -1
- package/dist/src/core/renderers/webgl/shaders/effects/BorderEffect.js +2 -2
- package/dist/src/core/renderers/webgl/shaders/effects/BorderEffect.js.map +1 -1
- package/dist/src/core/renderers/webgl/shaders/effects/BorderLeftEffect.js +2 -2
- package/dist/src/core/renderers/webgl/shaders/effects/BorderLeftEffect.js.map +1 -1
- package/dist/src/core/renderers/webgl/shaders/effects/BorderRightEffect.js +2 -2
- package/dist/src/core/renderers/webgl/shaders/effects/BorderRightEffect.js.map +1 -1
- package/dist/src/core/renderers/webgl/shaders/effects/BorderTopEffect.js +2 -2
- package/dist/src/core/renderers/webgl/shaders/effects/BorderTopEffect.js.map +1 -1
- package/dist/src/core/renderers/webgl/shaders/effects/EffectUtils.d.ts +8 -0
- package/dist/src/core/renderers/webgl/shaders/effects/EffectUtils.js +103 -0
- package/dist/src/core/renderers/webgl/shaders/effects/EffectUtils.js.map +1 -1
- package/dist/src/core/renderers/webgl/shaders/effects/FadeOutEffect.js +3 -18
- package/dist/src/core/renderers/webgl/shaders/effects/FadeOutEffect.js.map +1 -1
- package/dist/src/core/renderers/webgl/shaders/effects/GlitchEffect.js +5 -2
- package/dist/src/core/renderers/webgl/shaders/effects/GlitchEffect.js.map +1 -1
- package/dist/src/core/renderers/webgl/shaders/effects/HolePunchEffect.js +4 -36
- package/dist/src/core/renderers/webgl/shaders/effects/HolePunchEffect.js.map +1 -1
- package/dist/src/core/renderers/webgl/shaders/effects/LinearGradientEffect.js +3 -2
- package/dist/src/core/renderers/webgl/shaders/effects/LinearGradientEffect.js.map +1 -1
- package/dist/src/core/renderers/webgl/shaders/effects/RadialGradientEffect.js +4 -2
- package/dist/src/core/renderers/webgl/shaders/effects/RadialGradientEffect.js.map +1 -1
- package/dist/src/core/renderers/webgl/shaders/effects/RadialProgressEffect.js +2 -1
- package/dist/src/core/renderers/webgl/shaders/effects/RadialProgressEffect.js.map +1 -1
- package/dist/src/core/renderers/webgl/shaders/effects/RadiusEffect.js +4 -36
- package/dist/src/core/renderers/webgl/shaders/effects/RadiusEffect.js.map +1 -1
- package/dist/src/core/renderers/webgl/shaders/effects/ShaderEffect.d.ts +69 -0
- package/dist/src/core/renderers/webgl/shaders/effects/ShaderEffect.js.map +1 -1
- package/dist/src/core/text-rendering/font-face-types/SdfTrFontFace/SdfTrFontFace.js +5 -2
- package/dist/src/core/text-rendering/font-face-types/SdfTrFontFace/SdfTrFontFace.js.map +1 -1
- package/dist/src/core/text-rendering/font-face-types/TrFontFace.d.ts +0 -1
- package/dist/src/core/text-rendering/font-face-types/TrFontFace.js +0 -1
- package/dist/src/core/text-rendering/font-face-types/TrFontFace.js.map +1 -1
- package/dist/src/core/text-rendering/font-face-types/WebTrFontFace.js +0 -1
- package/dist/src/core/text-rendering/font-face-types/WebTrFontFace.js.map +1 -1
- package/dist/src/core/text-rendering/renderers/CanvasTextRenderer.d.ts +10 -26
- package/dist/src/core/text-rendering/renderers/CanvasTextRenderer.js +116 -365
- package/dist/src/core/text-rendering/renderers/CanvasTextRenderer.js.map +1 -1
- package/dist/src/core/text-rendering/renderers/LightningTextTextureRenderer.d.ts +0 -1
- package/dist/src/core/text-rendering/renderers/LightningTextTextureRenderer.js +0 -2
- package/dist/src/core/text-rendering/renderers/LightningTextTextureRenderer.js.map +1 -1
- package/dist/src/core/text-rendering/renderers/SdfTextRenderer/SdfTextRenderer.js +2 -2
- package/dist/src/core/text-rendering/renderers/SdfTextRenderer/SdfTextRenderer.js.map +1 -1
- package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/layoutText.js +2 -0
- package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/layoutText.js.map +1 -1
- package/dist/src/core/text-rendering/renderers/TextRenderer.d.ts +3 -2
- package/dist/src/core/text-rendering/renderers/TextRenderer.js.map +1 -1
- package/dist/src/core/textures/ColorTexture.d.ts +1 -1
- package/dist/src/core/textures/ColorTexture.js +1 -1
- package/dist/src/core/textures/ImageTexture.d.ts +1 -1
- package/dist/src/core/textures/NoiseTexture.d.ts +1 -1
- package/dist/src/core/textures/NoiseTexture.js +3 -0
- package/dist/src/core/textures/NoiseTexture.js.map +1 -1
- package/dist/src/core/textures/SubTexture.d.ts +2 -2
- package/dist/src/core/textures/SubTexture.js +5 -1
- package/dist/src/core/textures/SubTexture.js.map +1 -1
- package/dist/src/core/textures/Texture.d.ts +23 -2
- package/dist/src/core/textures/Texture.js +32 -3
- package/dist/src/core/textures/Texture.js.map +1 -1
- package/dist/src/core/utils.d.ts +7 -0
- package/dist/src/core/utils.js +12 -10
- package/dist/src/core/utils.js.map +1 -1
- package/dist/src/main-api/DynamicShaderController.d.ts +9 -14
- package/dist/src/main-api/DynamicShaderController.js +21 -17
- package/dist/src/main-api/DynamicShaderController.js.map +1 -1
- package/dist/src/main-api/INode.d.ts +43 -463
- package/dist/src/main-api/INode.js +1 -19
- package/dist/src/main-api/INode.js.map +1 -1
- package/dist/src/main-api/Inspector.d.ts +10 -10
- package/dist/src/main-api/Inspector.js +18 -15
- package/dist/src/main-api/Inspector.js.map +1 -1
- package/dist/src/main-api/Renderer.d.ts +71 -25
- package/dist/src/main-api/Renderer.js +80 -109
- package/dist/src/main-api/Renderer.js.map +1 -1
- package/dist/src/main-api/ShaderController.d.ts +3 -8
- package/dist/src/main-api/ShaderController.js +8 -3
- package/dist/src/main-api/ShaderController.js.map +1 -1
- package/dist/src/utils.d.ts +1 -0
- package/dist/src/utils.js +7 -0
- package/dist/src/utils.js.map +1 -1
- package/dist/tsconfig.dist.tsbuildinfo +1 -1
- package/exports/index.ts +62 -3
- package/package.json +8 -7
- package/src/core/CoreNode.test.ts +93 -0
- package/src/core/CoreNode.ts +675 -188
- package/src/core/CoreShaderManager.ts +56 -29
- package/src/core/CoreTextNode.ts +41 -9
- package/src/core/CoreTextureManager.ts +55 -175
- package/src/core/Stage.ts +199 -43
- package/src/core/TextureMemoryManager.ts +231 -22
- package/src/core/animations/CoreAnimation.ts +194 -67
- package/src/core/lib/ImageWorker.ts +79 -52
- package/src/core/lib/utils.ts +1 -0
- package/src/core/platform.ts +8 -1
- package/src/core/renderers/CoreContextTexture.ts +9 -2
- package/src/core/renderers/CoreRenderer.ts +5 -2
- package/src/core/renderers/canvas/CanvasCoreRenderer.ts +20 -1
- package/src/core/renderers/canvas/CanvasCoreTexture.ts +2 -6
- package/src/core/renderers/webgl/WebGlCoreCtxRenderTexture.ts +2 -2
- package/src/core/renderers/webgl/WebGlCoreCtxTexture.ts +7 -11
- package/src/core/renderers/webgl/WebGlCoreRenderer.ts +51 -9
- package/src/core/renderers/webgl/shaders/DynamicShader.ts +94 -92
- package/src/core/renderers/webgl/shaders/effects/BorderBottomEffect.ts +2 -2
- package/src/core/renderers/webgl/shaders/effects/BorderEffect.ts +2 -2
- package/src/core/renderers/webgl/shaders/effects/BorderLeftEffect.ts +2 -2
- package/src/core/renderers/webgl/shaders/effects/BorderRightEffect.ts +2 -2
- package/src/core/renderers/webgl/shaders/effects/BorderTopEffect.ts +2 -2
- package/src/core/renderers/webgl/shaders/effects/EffectUtils.ts +129 -3
- package/src/core/renderers/webgl/shaders/effects/FadeOutEffect.ts +7 -15
- package/src/core/renderers/webgl/shaders/effects/GlitchEffect.ts +5 -2
- package/src/core/renderers/webgl/shaders/effects/HolePunchEffect.ts +6 -15
- package/src/core/renderers/webgl/shaders/effects/LinearGradientEffect.ts +6 -2
- package/src/core/renderers/webgl/shaders/effects/RadialGradientEffect.ts +10 -2
- package/src/core/renderers/webgl/shaders/effects/RadialProgressEffect.ts +2 -1
- package/src/core/renderers/webgl/shaders/effects/RadiusEffect.ts +6 -15
- package/src/core/renderers/webgl/shaders/effects/ShaderEffect.ts +80 -0
- package/src/core/text-rendering/font-face-types/SdfTrFontFace/SdfTrFontFace.ts +14 -15
- package/src/core/text-rendering/font-face-types/TrFontFace.ts +0 -2
- package/src/core/text-rendering/font-face-types/WebTrFontFace.ts +0 -1
- package/src/core/text-rendering/renderers/CanvasTextRenderer.ts +139 -447
- package/src/core/text-rendering/renderers/LightningTextTextureRenderer.ts +0 -3
- package/src/core/text-rendering/renderers/SdfTextRenderer/SdfTextRenderer.ts +2 -2
- package/src/core/text-rendering/renderers/SdfTextRenderer/internal/layoutText.ts +4 -2
- package/src/core/text-rendering/renderers/TextRenderer.ts +3 -2
- package/src/core/textures/ColorTexture.ts +1 -1
- package/src/core/textures/ImageTexture.ts +1 -1
- package/src/core/textures/NoiseTexture.ts +4 -1
- package/src/core/textures/SubTexture.ts +7 -7
- package/src/core/textures/Texture.ts +46 -3
- package/src/core/utils.ts +12 -11
- package/src/main-api/DynamicShaderController.ts +104 -0
- package/src/main-api/INode.ts +57 -479
- package/src/main-api/Inspector.ts +37 -39
- package/src/main-api/Renderer.ts +586 -0
- package/src/main-api/ShaderController.ts +81 -0
- package/src/main-api/utils.ts +45 -0
- package/src/utils.ts +8 -0
- package/dist/exports/core-api.d.ts +0 -74
- package/dist/exports/core-api.js +0 -96
- package/dist/exports/core-api.js.map +0 -1
- package/dist/exports/main-api.d.ts +0 -30
- package/dist/exports/main-api.js +0 -45
- package/dist/exports/main-api.js.map +0 -1
- package/dist/src/core/CoreExtension.d.ts +0 -12
- package/dist/src/core/CoreExtension.js +0 -29
- package/dist/src/core/CoreExtension.js.map +0 -1
- package/dist/src/core/renderers/SpecificNode.d.ts +0 -1
- package/dist/src/core/renderers/SpecificNode.js +0 -19
- package/dist/src/core/renderers/SpecificNode.js.map +0 -1
- package/dist/src/core/renderers/webgl/newShader/effectsMock.d.ts +0 -13
- package/dist/src/core/renderers/webgl/newShader/effectsMock.js +0 -62
- package/dist/src/core/renderers/webgl/newShader/effectsMock.js.map +0 -1
- package/dist/src/main-api/ICoreDriver.d.ts +0 -24
- package/dist/src/main-api/ICoreDriver.js +0 -20
- package/dist/src/main-api/ICoreDriver.js.map +0 -1
- package/dist/src/main-api/RendererMain.d.ts +0 -378
- package/dist/src/main-api/RendererMain.js +0 -367
- package/dist/src/main-api/RendererMain.js.map +0 -1
- package/dist/src/main-api/texture-usage-trackers/FinalizationRegistryTextureUsageTracker.d.ts +0 -9
- package/dist/src/main-api/texture-usage-trackers/FinalizationRegistryTextureUsageTracker.js +0 -38
- package/dist/src/main-api/texture-usage-trackers/FinalizationRegistryTextureUsageTracker.js.map +0 -1
- package/dist/src/main-api/texture-usage-trackers/ManualCountTextureUsageTracker.d.ts +0 -56
- package/dist/src/main-api/texture-usage-trackers/ManualCountTextureUsageTracker.js +0 -101
- package/dist/src/main-api/texture-usage-trackers/ManualCountTextureUsageTracker.js.map +0 -1
- package/dist/src/main-api/texture-usage-trackers/TextureUsageTracker.d.ts +0 -32
- package/dist/src/main-api/texture-usage-trackers/TextureUsageTracker.js +0 -28
- package/dist/src/main-api/texture-usage-trackers/TextureUsageTracker.js.map +0 -1
- package/dist/src/render-drivers/main/MainCoreDriver.d.ts +0 -21
- package/dist/src/render-drivers/main/MainCoreDriver.js +0 -115
- package/dist/src/render-drivers/main/MainCoreDriver.js.map +0 -1
- package/dist/src/render-drivers/main/MainOnlyNode.d.ts +0 -101
- package/dist/src/render-drivers/main/MainOnlyNode.js +0 -425
- package/dist/src/render-drivers/main/MainOnlyNode.js.map +0 -1
- package/dist/src/render-drivers/main/MainOnlyTextNode.d.ts +0 -47
- package/dist/src/render-drivers/main/MainOnlyTextNode.js +0 -204
- package/dist/src/render-drivers/main/MainOnlyTextNode.js.map +0 -1
- package/dist/src/render-drivers/threadx/NodeStruct.d.ts +0 -93
- package/dist/src/render-drivers/threadx/NodeStruct.js +0 -290
- package/dist/src/render-drivers/threadx/NodeStruct.js.map +0 -1
- package/dist/src/render-drivers/threadx/SharedNode.d.ts +0 -40
- package/dist/src/render-drivers/threadx/SharedNode.js +0 -61
- package/dist/src/render-drivers/threadx/SharedNode.js.map +0 -1
- package/dist/src/render-drivers/threadx/TextNodeStruct.d.ts +0 -44
- package/dist/src/render-drivers/threadx/TextNodeStruct.js +0 -203
- package/dist/src/render-drivers/threadx/TextNodeStruct.js.map +0 -1
- package/dist/src/render-drivers/threadx/ThreadXCoreDriver.d.ts +0 -25
- package/dist/src/render-drivers/threadx/ThreadXCoreDriver.js +0 -232
- package/dist/src/render-drivers/threadx/ThreadXCoreDriver.js.map +0 -1
- package/dist/src/render-drivers/threadx/ThreadXMainAnimationController.d.ts +0 -24
- package/dist/src/render-drivers/threadx/ThreadXMainAnimationController.js +0 -113
- package/dist/src/render-drivers/threadx/ThreadXMainAnimationController.js.map +0 -1
- package/dist/src/render-drivers/threadx/ThreadXMainNode.d.ts +0 -46
- package/dist/src/render-drivers/threadx/ThreadXMainNode.js +0 -160
- package/dist/src/render-drivers/threadx/ThreadXMainNode.js.map +0 -1
- package/dist/src/render-drivers/threadx/ThreadXMainTextNode.d.ts +0 -28
- package/dist/src/render-drivers/threadx/ThreadXMainTextNode.js +0 -55
- package/dist/src/render-drivers/threadx/ThreadXMainTextNode.js.map +0 -1
- package/dist/src/render-drivers/threadx/ThreadXRendererMessage.d.ts +0 -70
- package/dist/src/render-drivers/threadx/ThreadXRendererMessage.js +0 -32
- package/dist/src/render-drivers/threadx/ThreadXRendererMessage.js.map +0 -1
- package/dist/src/render-drivers/threadx/worker/ThreadXRendererNode.d.ts +0 -19
- package/dist/src/render-drivers/threadx/worker/ThreadXRendererNode.js +0 -184
- package/dist/src/render-drivers/threadx/worker/ThreadXRendererNode.js.map +0 -1
- package/dist/src/render-drivers/threadx/worker/ThreadXRendererTextNode.d.ts +0 -27
- package/dist/src/render-drivers/threadx/worker/ThreadXRendererTextNode.js +0 -109
- package/dist/src/render-drivers/threadx/worker/ThreadXRendererTextNode.js.map +0 -1
- package/dist/src/render-drivers/threadx/worker/renderer.d.ts +0 -1
- package/dist/src/render-drivers/threadx/worker/renderer.js +0 -147
- package/dist/src/render-drivers/threadx/worker/renderer.js.map +0 -1
- package/dist/src/render-drivers/utils.d.ts +0 -12
- package/dist/src/render-drivers/utils.js +0 -74
- package/dist/src/render-drivers/utils.js.map +0 -1
- package/exports/core-api.ts +0 -102
- package/exports/main-api.ts +0 -62
- package/src/core/CoreExtension.ts +0 -32
- package/src/main-api/ICoreDriver.ts +0 -68
- package/src/main-api/RendererMain.ts +0 -685
- package/src/main-api/texture-usage-trackers/FinalizationRegistryTextureUsageTracker.ts +0 -45
- package/src/main-api/texture-usage-trackers/ManualCountTextureUsageTracker.ts +0 -154
- package/src/main-api/texture-usage-trackers/TextureUsageTracker.ts +0 -54
- package/src/render-drivers/main/MainCoreDriver.ts +0 -159
- package/src/render-drivers/main/MainOnlyNode.ts +0 -553
- package/src/render-drivers/main/MainOnlyTextNode.ts +0 -261
- package/src/render-drivers/threadx/NodeStruct.ts +0 -320
- package/src/render-drivers/threadx/SharedNode.ts +0 -101
- package/src/render-drivers/threadx/TextNodeStruct.ts +0 -213
- package/src/render-drivers/threadx/ThreadXCoreDriver.ts +0 -291
- package/src/render-drivers/threadx/ThreadXMainAnimationController.ts +0 -135
- package/src/render-drivers/threadx/ThreadXMainNode.ts +0 -201
- package/src/render-drivers/threadx/ThreadXMainTextNode.ts +0 -85
- package/src/render-drivers/threadx/ThreadXRendererMessage.ts +0 -112
- package/src/render-drivers/threadx/worker/ThreadXRendererNode.ts +0 -253
- package/src/render-drivers/threadx/worker/ThreadXRendererTextNode.ts +0 -151
- package/src/render-drivers/threadx/worker/renderer.ts +0 -156
- package/src/render-drivers/utils.ts +0 -102
|
@@ -1,15 +1,13 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
} from './INode.js';
|
|
8
|
-
import type { ICoreDriver } from './ICoreDriver.js';
|
|
9
|
-
import { type RendererMainSettings } from './RendererMain.js';
|
|
1
|
+
import {
|
|
2
|
+
CoreNode,
|
|
3
|
+
type CoreNodeAnimateProps,
|
|
4
|
+
type CoreNodeProps,
|
|
5
|
+
} from '../core/CoreNode.js';
|
|
6
|
+
import { type RendererMainSettings } from './Renderer.js';
|
|
10
7
|
import type { AnimationSettings } from '../core/animations/CoreAnimation.js';
|
|
11
8
|
import type { IAnimationController } from '../common/IAnimationController.js';
|
|
12
9
|
import { isProductionEnvironment } from '../utils.js';
|
|
10
|
+
import type { CoreTextNode, CoreTextNodeProps } from '../core/CoreTextNode.js';
|
|
13
11
|
|
|
14
12
|
/**
|
|
15
13
|
* Inspector
|
|
@@ -219,31 +217,28 @@ export class Inspector {
|
|
|
219
217
|
}
|
|
220
218
|
|
|
221
219
|
createDiv(
|
|
222
|
-
|
|
223
|
-
properties:
|
|
220
|
+
id: number,
|
|
221
|
+
properties: CoreNodeProps | CoreTextNodeProps,
|
|
224
222
|
): HTMLElement {
|
|
225
223
|
const div = document.createElement('div');
|
|
226
224
|
div.style.position = 'absolute';
|
|
227
|
-
div.id =
|
|
225
|
+
div.id = id.toString();
|
|
228
226
|
|
|
229
227
|
// set initial properties
|
|
230
228
|
for (const key in properties) {
|
|
231
229
|
this.updateNodeProperty(
|
|
232
230
|
div,
|
|
233
231
|
// really typescript? really?
|
|
234
|
-
key as keyof
|
|
235
|
-
|
|
236
|
-
key as keyof (INodeWritableProps & ITextNodeWritableProps)
|
|
237
|
-
],
|
|
232
|
+
key as keyof CoreNodeProps,
|
|
233
|
+
properties[key as keyof CoreNodeProps],
|
|
238
234
|
);
|
|
239
235
|
}
|
|
240
236
|
|
|
241
237
|
return div;
|
|
242
238
|
}
|
|
243
239
|
|
|
244
|
-
createNode(
|
|
245
|
-
const
|
|
246
|
-
const div = this.createDiv(node, properties);
|
|
240
|
+
createNode(node: CoreNode): CoreNode {
|
|
241
|
+
const div = this.createDiv(node.id, node.props);
|
|
247
242
|
|
|
248
243
|
// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-explicit-any
|
|
249
244
|
(div as any).node = node;
|
|
@@ -254,40 +249,39 @@ export class Inspector {
|
|
|
254
249
|
return this.createProxy(node, div);
|
|
255
250
|
}
|
|
256
251
|
|
|
257
|
-
createTextNode(
|
|
258
|
-
|
|
259
|
-
properties: ITextNodeWritableProps,
|
|
260
|
-
): ITextNode {
|
|
261
|
-
const node = driver.createTextNode(properties);
|
|
262
|
-
const div = this.createDiv(node, properties);
|
|
252
|
+
createTextNode(node: CoreNode): CoreTextNode {
|
|
253
|
+
const div = this.createDiv(node.id, node.props);
|
|
263
254
|
// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-explicit-any
|
|
264
255
|
(div as any).node = node;
|
|
265
256
|
|
|
266
257
|
// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-explicit-any
|
|
267
258
|
(node as any).div = div;
|
|
268
|
-
return this.createProxy(node, div) as
|
|
259
|
+
return this.createProxy(node, div) as CoreTextNode;
|
|
269
260
|
}
|
|
270
261
|
|
|
271
|
-
createProxy(
|
|
262
|
+
createProxy(
|
|
263
|
+
node: CoreNode | CoreTextNode,
|
|
264
|
+
div: HTMLElement,
|
|
265
|
+
): CoreNode | CoreTextNode {
|
|
272
266
|
return new Proxy(node, {
|
|
273
|
-
set: (target, property: keyof
|
|
267
|
+
set: (target, property: keyof CoreNodeProps, value) => {
|
|
274
268
|
this.updateNodeProperty(div, property, value);
|
|
275
269
|
return Reflect.set(target, property, value);
|
|
276
270
|
},
|
|
277
|
-
get: (target, property: keyof
|
|
271
|
+
get: (target, property: keyof CoreNode, receiver: any): any => {
|
|
278
272
|
if (property === 'destroy') {
|
|
279
|
-
this.destroyNode(target);
|
|
273
|
+
this.destroyNode(target.id);
|
|
280
274
|
}
|
|
281
275
|
|
|
282
276
|
if (property === 'animate') {
|
|
283
|
-
return (props:
|
|
277
|
+
return (props: CoreNodeAnimateProps, settings: AnimationSettings) => {
|
|
284
278
|
const anim = target.animate(props, settings);
|
|
285
279
|
|
|
286
280
|
// Trap the animate start function so we can update the inspector accordingly
|
|
287
281
|
return new Proxy(anim, {
|
|
288
282
|
get: (target, property: keyof IAnimationController, receiver) => {
|
|
289
283
|
if (property === 'start') {
|
|
290
|
-
this.animateNode(div,
|
|
284
|
+
this.animateNode(div, props, settings);
|
|
291
285
|
}
|
|
292
286
|
|
|
293
287
|
return Reflect.get(target, property, receiver);
|
|
@@ -301,14 +295,14 @@ export class Inspector {
|
|
|
301
295
|
});
|
|
302
296
|
}
|
|
303
297
|
|
|
304
|
-
destroyNode(
|
|
305
|
-
const div = document.getElementById(
|
|
298
|
+
destroyNode(id: number) {
|
|
299
|
+
const div = document.getElementById(id.toString());
|
|
306
300
|
div?.remove();
|
|
307
301
|
}
|
|
308
302
|
|
|
309
303
|
updateNodeProperty(
|
|
310
304
|
div: HTMLElement,
|
|
311
|
-
property: keyof
|
|
305
|
+
property: keyof CoreNodeProps | keyof CoreTextNodeProps,
|
|
312
306
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
313
307
|
value: any,
|
|
314
308
|
) {
|
|
@@ -320,7 +314,7 @@ export class Inspector {
|
|
|
320
314
|
* Special case for parent property
|
|
321
315
|
*/
|
|
322
316
|
if (property === 'parent') {
|
|
323
|
-
const parentId: number =
|
|
317
|
+
const parentId: number = value.id;
|
|
324
318
|
|
|
325
319
|
// only way to detect if the parent is the root node
|
|
326
320
|
// if you are reading this and have a better way, please let me know
|
|
@@ -385,7 +379,12 @@ export class Inspector {
|
|
|
385
379
|
|
|
386
380
|
// DOM properties
|
|
387
381
|
if (domPropertyMap[property]) {
|
|
388
|
-
|
|
382
|
+
const domProperty = domPropertyMap[property];
|
|
383
|
+
if (!domProperty) {
|
|
384
|
+
return;
|
|
385
|
+
}
|
|
386
|
+
|
|
387
|
+
div.setAttribute(String(domProperty), String(value));
|
|
389
388
|
return;
|
|
390
389
|
}
|
|
391
390
|
|
|
@@ -407,8 +406,7 @@ export class Inspector {
|
|
|
407
406
|
// simple animation handler
|
|
408
407
|
animateNode(
|
|
409
408
|
div: HTMLElement,
|
|
410
|
-
|
|
411
|
-
props: INodeAnimatableProps,
|
|
409
|
+
props: CoreNodeAnimateProps,
|
|
412
410
|
settings: AnimationSettings,
|
|
413
411
|
) {
|
|
414
412
|
const {
|