@lightningjs/renderer 2.7.0 → 2.7.2
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/dist/exports/core-api.d.ts +74 -0
- package/dist/exports/core-api.js +96 -0
- package/dist/exports/core-api.js.map +1 -0
- package/dist/exports/main-api.d.ts +30 -0
- package/dist/exports/main-api.js +45 -0
- package/dist/exports/main-api.js.map +1 -0
- package/dist/src/core/CoreExtension.d.ts +12 -0
- package/dist/src/core/CoreExtension.js +29 -0
- package/dist/src/core/CoreExtension.js.map +1 -0
- package/dist/src/core/CoreShaderManager.js.map +1 -1
- package/dist/src/core/CoreStuff.d.ts +1 -0
- package/dist/src/core/CoreStuff.js +138 -0
- package/dist/src/core/CoreStuff.js.map +1 -0
- package/dist/src/core/LngNode.d.ts +736 -0
- package/dist/src/core/LngNode.js +1174 -0
- package/dist/src/core/LngNode.js.map +1 -0
- package/dist/src/core/Matrix2DContext.d.ts +15 -0
- package/dist/src/core/Matrix2DContext.js +45 -0
- package/dist/src/core/Matrix2DContext.js.map +1 -0
- package/dist/src/core/ShaderNode.d.ts +10 -0
- package/dist/src/core/ShaderNode.js +30 -0
- package/dist/src/core/ShaderNode.js.map +1 -0
- package/dist/src/core/TextNode.d.ts +103 -0
- package/dist/src/core/TextNode.js +331 -0
- package/dist/src/core/TextNode.js.map +1 -0
- package/dist/src/core/lib/Coords.d.ts +14 -0
- package/dist/src/core/lib/Coords.js +55 -0
- package/dist/src/core/lib/Coords.js.map +1 -0
- package/dist/src/core/lib/WebGlContextWrapper.d.ts +1 -1
- package/dist/src/core/lib/glm/common.d.ts +162 -0
- package/dist/src/core/lib/glm/common.js +81 -0
- package/dist/src/core/lib/glm/common.js.map +1 -0
- package/dist/src/core/lib/glm/index.d.ts +11 -0
- package/dist/src/core/lib/glm/index.js +30 -0
- package/dist/src/core/lib/glm/index.js.map +1 -0
- package/dist/src/core/lib/glm/mat2.d.ts +219 -0
- package/dist/src/core/lib/glm/mat2.js +396 -0
- package/dist/src/core/lib/glm/mat2.js.map +1 -0
- package/dist/src/core/lib/glm/mat2d.d.ts +237 -0
- package/dist/src/core/lib/glm/mat2d.js +442 -0
- package/dist/src/core/lib/glm/mat2d.js.map +1 -0
- package/dist/src/core/lib/glm/mat3.d.ts +283 -0
- package/dist/src/core/lib/glm/mat3.js +680 -0
- package/dist/src/core/lib/glm/mat3.js.map +1 -0
- package/dist/src/core/lib/glm/mat4.d.ts +550 -0
- package/dist/src/core/lib/glm/mat4.js +1802 -0
- package/dist/src/core/lib/glm/mat4.js.map +1 -0
- package/dist/src/core/lib/glm/quat.d.ts +363 -0
- package/dist/src/core/lib/glm/quat.js +693 -0
- package/dist/src/core/lib/glm/quat.js.map +1 -0
- package/dist/src/core/lib/glm/quat2.d.ts +356 -0
- package/dist/src/core/lib/glm/quat2.js +754 -0
- package/dist/src/core/lib/glm/quat2.js.map +1 -0
- package/dist/src/core/lib/glm/vec2.d.ts +365 -0
- package/dist/src/core/lib/glm/vec2.js +569 -0
- package/dist/src/core/lib/glm/vec2.js.map +1 -0
- package/dist/src/core/lib/glm/vec3.d.ts +406 -0
- package/dist/src/core/lib/glm/vec3.js +720 -0
- package/dist/src/core/lib/glm/vec3.js.map +1 -0
- package/dist/src/core/lib/glm/vec4.d.ts +330 -0
- package/dist/src/core/lib/glm/vec4.js +608 -0
- package/dist/src/core/lib/glm/vec4.js.map +1 -0
- package/dist/src/core/renderers/CoreShaderManager.d.ts +19 -0
- package/dist/src/core/renderers/CoreShaderManager.js +33 -0
- package/dist/src/core/renderers/CoreShaderManager.js.map +1 -0
- package/dist/src/core/renderers/webgl/WebGlCoreCtxSubTexture.js +4 -0
- package/dist/src/core/renderers/webgl/WebGlCoreCtxSubTexture.js.map +1 -1
- package/dist/src/core/renderers/webgl/WebGlCoreCtxTexture.js +9 -0
- package/dist/src/core/renderers/webgl/WebGlCoreCtxTexture.js.map +1 -1
- package/dist/src/core/renderers/webgl/WebGlCoreShader.js +2 -2
- package/dist/src/core/renderers/webgl/WebGlCoreShader.js.map +1 -1
- package/dist/src/core/renderers/webgl/WebGlCoreShaderManager.d.ts +27 -0
- package/dist/src/core/renderers/webgl/WebGlCoreShaderManager.js +82 -0
- package/dist/src/core/renderers/webgl/WebGlCoreShaderManager.js.map +1 -0
- package/dist/src/core/renderers/webgl/WebGlCoreShaderProgram.d.ts +11 -0
- package/dist/src/core/renderers/webgl/WebGlCoreShaderProgram.js +34 -0
- package/dist/src/core/renderers/webgl/WebGlCoreShaderProgram.js.map +1 -0
- package/dist/src/core/renderers/webgl/internal/ShaderUtils.js +4 -4
- package/dist/src/core/renderers/webgl/internal/ShaderUtils.js.map +1 -1
- package/dist/src/core/renderers/webgl/shaders/SdfShader.d.ts +1 -0
- package/dist/src/core/renderers/webgl/shaders/SdfShader.js +1 -0
- package/dist/src/core/renderers/webgl/shaders/SdfShader.js.map +1 -1
- package/dist/src/core/scene/Scene.d.ts +59 -0
- package/dist/src/core/scene/Scene.js +106 -0
- package/dist/src/core/scene/Scene.js.map +1 -0
- package/dist/src/core/text-rendering/renderers/SdfTextRenderer/SdfTextRenderer.js +8 -1
- package/dist/src/core/text-rendering/renderers/SdfTextRenderer/SdfTextRenderer.js.map +1 -1
- package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/makeRenderWindow.d.ts +20 -0
- package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/makeRenderWindow.js +55 -0
- package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/makeRenderWindow.js.map +1 -0
- package/dist/src/core/textures/ColorTexture.js +14 -3
- package/dist/src/core/textures/ColorTexture.js.map +1 -1
- package/dist/src/core/textures/Texture.d.ts +1 -1
- package/dist/src/core/textures/Texture.js.map +1 -1
- package/dist/src/main-api/ICoreDriver.d.ts +27 -0
- package/dist/src/main-api/ICoreDriver.js +20 -0
- package/dist/src/main-api/ICoreDriver.js.map +1 -0
- package/dist/src/main-api/IRenderDriver.d.ts +20 -0
- package/dist/src/main-api/IRenderDriver.js +20 -0
- package/dist/src/main-api/IRenderDriver.js.map +1 -0
- package/dist/src/main-api/IShaderController.d.ts +14 -0
- package/dist/src/main-api/IShaderController.js +30 -0
- package/dist/src/main-api/IShaderController.js.map +1 -0
- package/dist/src/main-api/IShaderNode.d.ts +17 -0
- package/dist/src/main-api/IShaderNode.js +19 -0
- package/dist/src/main-api/IShaderNode.js.map +1 -0
- package/dist/src/main-api/Inspector.d.ts +1 -1
- package/dist/src/main-api/Inspector.js +23 -8
- package/dist/src/main-api/Inspector.js.map +1 -1
- package/dist/src/main-api/RendererMain.d.ts +375 -0
- package/dist/src/main-api/RendererMain.js +365 -0
- package/dist/src/main-api/RendererMain.js.map +1 -0
- package/dist/src/main-api/ShaderController.js.map +1 -1
- package/dist/src/main-api/texture-usage-trackers/FinalizationRegistryTextureUsageTracker.d.ts +9 -0
- package/dist/src/main-api/texture-usage-trackers/FinalizationRegistryTextureUsageTracker.js +38 -0
- package/dist/src/main-api/texture-usage-trackers/FinalizationRegistryTextureUsageTracker.js.map +1 -0
- package/dist/src/main-api/texture-usage-trackers/ManualCountTextureUsageTracker.d.ts +56 -0
- package/dist/src/main-api/texture-usage-trackers/ManualCountTextureUsageTracker.js +101 -0
- package/dist/src/main-api/texture-usage-trackers/ManualCountTextureUsageTracker.js.map +1 -0
- package/dist/src/main-api/texture-usage-trackers/TextureUsageTracker.d.ts +32 -0
- package/dist/src/main-api/texture-usage-trackers/TextureUsageTracker.js +28 -0
- package/dist/src/main-api/texture-usage-trackers/TextureUsageTracker.js.map +1 -0
- package/dist/src/render-drivers/main/MainCoreDriver.d.ts +24 -0
- package/dist/src/render-drivers/main/MainCoreDriver.js +118 -0
- package/dist/src/render-drivers/main/MainCoreDriver.js.map +1 -0
- package/dist/src/render-drivers/main/MainOnlyNode.d.ts +99 -0
- package/dist/src/render-drivers/main/MainOnlyNode.js +396 -0
- package/dist/src/render-drivers/main/MainOnlyNode.js.map +1 -0
- package/dist/src/render-drivers/main/MainOnlyShaderController.d.ts +6 -0
- package/dist/src/render-drivers/main/MainOnlyShaderController.js +15 -0
- package/dist/src/render-drivers/main/MainOnlyShaderController.js.map +1 -0
- package/dist/src/render-drivers/main/MainOnlyShaderNode.d.ts +7 -0
- package/dist/src/render-drivers/main/MainOnlyShaderNode.js +34 -0
- package/dist/src/render-drivers/main/MainOnlyShaderNode.js.map +1 -0
- package/dist/src/render-drivers/main/MainOnlyTextNode.d.ts +47 -0
- package/dist/src/render-drivers/main/MainOnlyTextNode.js +205 -0
- package/dist/src/render-drivers/main/MainOnlyTextNode.js.map +1 -0
- package/dist/src/render-drivers/main/MainRenderDriver.d.ts +17 -0
- package/dist/src/render-drivers/main/MainRenderDriver.js +88 -0
- package/dist/src/render-drivers/main/MainRenderDriver.js.map +1 -0
- package/dist/src/render-drivers/threadx/NodeStruct.d.ts +90 -0
- package/dist/src/render-drivers/threadx/NodeStruct.js +281 -0
- package/dist/src/render-drivers/threadx/NodeStruct.js.map +1 -0
- package/dist/src/render-drivers/threadx/SharedNode.d.ts +39 -0
- package/dist/src/render-drivers/threadx/SharedNode.js +60 -0
- package/dist/src/render-drivers/threadx/SharedNode.js.map +1 -0
- package/dist/src/render-drivers/threadx/TextNodeStruct.d.ts +44 -0
- package/dist/src/render-drivers/threadx/TextNodeStruct.js +201 -0
- package/dist/src/render-drivers/threadx/TextNodeStruct.js.map +1 -0
- package/dist/src/render-drivers/threadx/ThreadXCoreDriver.d.ts +28 -0
- package/dist/src/render-drivers/threadx/ThreadXCoreDriver.js +234 -0
- package/dist/src/render-drivers/threadx/ThreadXCoreDriver.js.map +1 -0
- package/dist/src/render-drivers/threadx/ThreadXMainAnimationController.d.ts +20 -0
- package/dist/src/render-drivers/threadx/ThreadXMainAnimationController.js +84 -0
- package/dist/src/render-drivers/threadx/ThreadXMainAnimationController.js.map +1 -0
- package/dist/src/render-drivers/threadx/ThreadXMainNode.d.ts +44 -0
- package/dist/src/render-drivers/threadx/ThreadXMainNode.js +154 -0
- package/dist/src/render-drivers/threadx/ThreadXMainNode.js.map +1 -0
- package/dist/src/render-drivers/threadx/ThreadXMainShaderController.d.ts +6 -0
- package/dist/src/render-drivers/threadx/ThreadXMainShaderController.js +16 -0
- package/dist/src/render-drivers/threadx/ThreadXMainShaderController.js.map +1 -0
- package/dist/src/render-drivers/threadx/ThreadXMainShaderNode.d.ts +7 -0
- package/dist/src/render-drivers/threadx/ThreadXMainShaderNode.js +15 -0
- package/dist/src/render-drivers/threadx/ThreadXMainShaderNode.js.map +1 -0
- package/dist/src/render-drivers/threadx/ThreadXMainTextNode.d.ts +28 -0
- package/dist/src/render-drivers/threadx/ThreadXMainTextNode.js +55 -0
- package/dist/src/render-drivers/threadx/ThreadXMainTextNode.js.map +1 -0
- package/dist/src/render-drivers/threadx/ThreadXRenderDriver.d.ts +21 -0
- package/dist/src/render-drivers/threadx/ThreadXRenderDriver.js +198 -0
- package/dist/src/render-drivers/threadx/ThreadXRenderDriver.js.map +1 -0
- package/dist/src/render-drivers/threadx/ThreadXRendererMessage.d.ts +70 -0
- package/dist/src/render-drivers/threadx/ThreadXRendererMessage.js +32 -0
- package/dist/src/render-drivers/threadx/ThreadXRendererMessage.js.map +1 -0
- package/dist/src/render-drivers/threadx/worker/ThreadXRendererNode.d.ts +19 -0
- package/dist/src/render-drivers/threadx/worker/ThreadXRendererNode.js +177 -0
- package/dist/src/render-drivers/threadx/worker/ThreadXRendererNode.js.map +1 -0
- package/dist/src/render-drivers/threadx/worker/ThreadXRendererTextNode.d.ts +27 -0
- package/dist/src/render-drivers/threadx/worker/ThreadXRendererTextNode.js +108 -0
- package/dist/src/render-drivers/threadx/worker/ThreadXRendererTextNode.js.map +1 -0
- package/dist/src/render-drivers/threadx/worker/renderer.d.ts +1 -0
- package/dist/src/render-drivers/threadx/worker/renderer.js +145 -0
- package/dist/src/render-drivers/threadx/worker/renderer.js.map +1 -0
- package/dist/src/render-drivers/utils.d.ts +12 -0
- package/dist/src/render-drivers/utils.js +69 -0
- package/dist/src/render-drivers/utils.js.map +1 -0
- package/dist/tsconfig.dist.tsbuildinfo +1 -1
- package/package.json +2 -1
- package/src/core/CoreShaderManager.ts +1 -1
- package/src/core/lib/WebGlContextWrapper.ts +1 -1
- package/src/core/renderers/webgl/WebGlCoreCtxSubTexture.ts +6 -0
- package/src/core/renderers/webgl/WebGlCoreCtxTexture.ts +23 -0
- package/src/core/renderers/webgl/WebGlCoreShader.ts +4 -2
- package/src/core/renderers/webgl/internal/ShaderUtils.ts +5 -4
- package/src/core/renderers/webgl/shaders/SdfShader.ts +2 -0
- package/src/core/text-rendering/renderers/SdfTextRenderer/SdfTextRenderer.ts +8 -1
- package/src/core/textures/ColorTexture.ts +15 -3
- package/src/core/textures/Texture.ts +1 -0
- package/src/main-api/Inspector.ts +29 -11
- package/src/main-api/ShaderController.ts +0 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lightningjs/renderer",
|
|
3
|
-
"version": "2.7.
|
|
3
|
+
"version": "2.7.2",
|
|
4
4
|
"description": "Lightning 3 Renderer",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/exports/index.js",
|
|
@@ -61,6 +61,7 @@
|
|
|
61
61
|
"README.md",
|
|
62
62
|
"scripts"
|
|
63
63
|
],
|
|
64
|
+
"packageManager": "pnpm@8.9.2",
|
|
64
65
|
"engines": {
|
|
65
66
|
"npm": ">= 10.0.0",
|
|
66
67
|
"pnpm": ">= 8.9.2",
|
|
@@ -34,6 +34,12 @@ export class WebGlCoreCtxSubTexture extends WebGlCoreCtxTexture {
|
|
|
34
34
|
|
|
35
35
|
override async onLoadRequest(): Promise<Dimensions> {
|
|
36
36
|
const props = await (this.textureSource as SubTexture).getTextureData();
|
|
37
|
+
|
|
38
|
+
if (props.data instanceof Uint8Array) {
|
|
39
|
+
// its a 1x1 Color Texture
|
|
40
|
+
return { width: 1, height: 1 };
|
|
41
|
+
}
|
|
42
|
+
|
|
37
43
|
return {
|
|
38
44
|
width: props.data?.width || 0,
|
|
39
45
|
height: props.data?.height || 0,
|
|
@@ -204,6 +204,29 @@ export class WebGlCoreCtxTexture extends CoreContextTexture {
|
|
|
204
204
|
glw.texParameteri(glw.TEXTURE_MIN_FILTER, glw.LINEAR);
|
|
205
205
|
|
|
206
206
|
this.setTextureMemUse(view.byteLength);
|
|
207
|
+
} else if (textureData.data && textureData.data instanceof Uint8Array) {
|
|
208
|
+
// Color Texture
|
|
209
|
+
width = 1;
|
|
210
|
+
height = 1;
|
|
211
|
+
|
|
212
|
+
glw.bindTexture(this._nativeCtxTexture);
|
|
213
|
+
glw.pixelStorei(
|
|
214
|
+
glw.UNPACK_PREMULTIPLY_ALPHA_WEBGL,
|
|
215
|
+
!!textureData.premultiplyAlpha,
|
|
216
|
+
);
|
|
217
|
+
|
|
218
|
+
glw.texImage2D(
|
|
219
|
+
0,
|
|
220
|
+
glw.RGBA,
|
|
221
|
+
width,
|
|
222
|
+
height,
|
|
223
|
+
0,
|
|
224
|
+
glw.RGBA,
|
|
225
|
+
glw.UNSIGNED_BYTE,
|
|
226
|
+
textureData.data,
|
|
227
|
+
);
|
|
228
|
+
|
|
229
|
+
this.setTextureMemUse(width * height * 4);
|
|
207
230
|
} else {
|
|
208
231
|
console.error(
|
|
209
232
|
`WebGlCoreCtxTexture.onLoadRequest: Unexpected textureData returned`,
|
|
@@ -143,12 +143,14 @@ export abstract class WebGlCoreShader extends CoreShader {
|
|
|
143
143
|
fragmentSource,
|
|
144
144
|
);
|
|
145
145
|
if (!vertexShader || !fragmentShader) {
|
|
146
|
-
throw new Error(
|
|
146
|
+
throw new Error(
|
|
147
|
+
`Unable to create shader type: ${glw.FRAGMENT_SHADER}. Source: ${fragmentSource}`,
|
|
148
|
+
);
|
|
147
149
|
}
|
|
148
150
|
|
|
149
151
|
const program = createProgram(glw, vertexShader, fragmentShader);
|
|
150
152
|
if (!program) {
|
|
151
|
-
throw new Error();
|
|
153
|
+
throw new Error('Unable to create program');
|
|
152
154
|
}
|
|
153
155
|
this.program = program;
|
|
154
156
|
|
|
@@ -100,11 +100,11 @@ export function createShader(
|
|
|
100
100
|
) {
|
|
101
101
|
const shader = glw.createShader(type);
|
|
102
102
|
if (!shader) {
|
|
103
|
-
throw new Error();
|
|
103
|
+
throw new Error(`Unable to create shader type: ${type}. Source: ${source}`);
|
|
104
104
|
}
|
|
105
105
|
glw.shaderSource(shader, source);
|
|
106
106
|
glw.compileShader(shader);
|
|
107
|
-
const success = glw.getShaderParameter(shader, glw.COMPILE_STATUS);
|
|
107
|
+
const success = !!glw.getShaderParameter(shader, glw.COMPILE_STATUS);
|
|
108
108
|
if (success) {
|
|
109
109
|
return shader;
|
|
110
110
|
}
|
|
@@ -120,12 +120,13 @@ export function createProgram(
|
|
|
120
120
|
) {
|
|
121
121
|
const program = glw.createProgram();
|
|
122
122
|
if (!program) {
|
|
123
|
-
throw new Error();
|
|
123
|
+
throw new Error('Unable to create program');
|
|
124
124
|
}
|
|
125
|
+
|
|
125
126
|
glw.attachShader(program, vertexShader);
|
|
126
127
|
glw.attachShader(program, fragmentShader);
|
|
127
128
|
glw.linkProgram(program);
|
|
128
|
-
const success = glw.getProgramParameter(program, glw.LINK_STATUS);
|
|
129
|
+
const success = !!glw.getProgramParameter(program, glw.LINK_STATUS);
|
|
129
130
|
if (success) {
|
|
130
131
|
return program;
|
|
131
132
|
}
|
|
@@ -146,7 +146,14 @@ export class SdfTextRenderer extends TextRenderer<SdfTextRendererState> {
|
|
|
146
146
|
|
|
147
147
|
constructor(stage: Stage) {
|
|
148
148
|
super(stage);
|
|
149
|
-
this.sdfShader = this.stage.shManager.loadShader('SdfShader'
|
|
149
|
+
this.sdfShader = this.stage.shManager.loadShader('SdfShader', {
|
|
150
|
+
transform: new Float32Array(),
|
|
151
|
+
color: 0,
|
|
152
|
+
size: 0,
|
|
153
|
+
scrollY: 0,
|
|
154
|
+
distanceRange: 0,
|
|
155
|
+
debug: false,
|
|
156
|
+
}).shader;
|
|
150
157
|
this.rendererBounds = {
|
|
151
158
|
x1: 0,
|
|
152
159
|
y1: 0,
|
|
@@ -63,10 +63,22 @@ export class ColorTexture extends Texture {
|
|
|
63
63
|
}
|
|
64
64
|
|
|
65
65
|
override async getTextureData(): Promise<TextureData> {
|
|
66
|
-
const
|
|
67
|
-
|
|
66
|
+
const pixelData = new Uint8Array(4);
|
|
67
|
+
|
|
68
|
+
if (this.color === 0xffffffff) {
|
|
69
|
+
pixelData[0] = 255;
|
|
70
|
+
pixelData[1] = 255;
|
|
71
|
+
pixelData[2] = 255;
|
|
72
|
+
pixelData[3] = 255;
|
|
73
|
+
} else {
|
|
74
|
+
pixelData[0] = (this.color >> 16) & 0xff; // Red
|
|
75
|
+
pixelData[1] = (this.color >> 8) & 0xff; // Green
|
|
76
|
+
pixelData[2] = this.color & 0xff; // Blue
|
|
77
|
+
pixelData[3] = (this.color >>> 24) & 0xff; // Alpha
|
|
78
|
+
}
|
|
79
|
+
|
|
68
80
|
return {
|
|
69
|
-
data:
|
|
81
|
+
data: pixelData,
|
|
70
82
|
premultiplyAlpha: true,
|
|
71
83
|
};
|
|
72
84
|
}
|
|
@@ -62,7 +62,7 @@ const stylePropertyMap: {
|
|
|
62
62
|
|
|
63
63
|
return { prop: 'height', value: `${h}px` };
|
|
64
64
|
},
|
|
65
|
-
zIndex: () => '
|
|
65
|
+
zIndex: () => 'z-index',
|
|
66
66
|
fontFamily: () => 'font-family',
|
|
67
67
|
fontSize: () => 'font-size',
|
|
68
68
|
fontStyle: () => 'font-style',
|
|
@@ -239,6 +239,7 @@ export class Inspector {
|
|
|
239
239
|
// really typescript? really?
|
|
240
240
|
key as keyof CoreNodeProps,
|
|
241
241
|
properties[key as keyof CoreNodeProps],
|
|
242
|
+
properties,
|
|
242
243
|
);
|
|
243
244
|
}
|
|
244
245
|
|
|
@@ -247,8 +248,8 @@ export class Inspector {
|
|
|
247
248
|
|
|
248
249
|
createNode(node: CoreNode): CoreNode {
|
|
249
250
|
const div = this.createDiv(node.id, node.props);
|
|
250
|
-
(div as
|
|
251
|
-
(node as
|
|
251
|
+
(div as HTMLElement & { node: CoreNode }).node = node;
|
|
252
|
+
(node as CoreNode & { div: HTMLElement }).div = div;
|
|
252
253
|
|
|
253
254
|
node.on('inViewport', () => div.setAttribute('state', 'inViewport'));
|
|
254
255
|
node.on('inBounds', () => div.setAttribute('state', 'inBounds'));
|
|
@@ -260,8 +261,8 @@ export class Inspector {
|
|
|
260
261
|
|
|
261
262
|
createTextNode(node: CoreNode): CoreTextNode {
|
|
262
263
|
const div = this.createDiv(node.id, node.props);
|
|
263
|
-
(div as
|
|
264
|
-
(node as
|
|
264
|
+
(div as HTMLElement & { node: CoreNode }).node = node;
|
|
265
|
+
(node as CoreNode & { div: HTMLElement }).div = div;
|
|
265
266
|
|
|
266
267
|
return this.createProxy(node, div) as CoreTextNode;
|
|
267
268
|
}
|
|
@@ -295,6 +296,7 @@ export class Inspector {
|
|
|
295
296
|
div,
|
|
296
297
|
property as keyof CoreNodeProps | keyof CoreTextNodeProps,
|
|
297
298
|
value,
|
|
299
|
+
node.props,
|
|
298
300
|
);
|
|
299
301
|
},
|
|
300
302
|
configurable: true,
|
|
@@ -344,6 +346,7 @@ export class Inspector {
|
|
|
344
346
|
property: keyof CoreNodeProps | keyof CoreTextNodeProps,
|
|
345
347
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
346
348
|
value: any,
|
|
349
|
+
props: CoreNodeProps | CoreTextNodeProps,
|
|
347
350
|
) {
|
|
348
351
|
if (this.root === null || value === undefined || value === null) {
|
|
349
352
|
return;
|
|
@@ -407,10 +410,23 @@ export class Inspector {
|
|
|
407
410
|
}
|
|
408
411
|
|
|
409
412
|
if (typeof mappedStyleResponse === 'object') {
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
413
|
+
let value = mappedStyleResponse.value;
|
|
414
|
+
if (property === 'x') {
|
|
415
|
+
const mount = props.mountX;
|
|
416
|
+
const width = props.width;
|
|
417
|
+
|
|
418
|
+
if (mount) {
|
|
419
|
+
value = `${parseInt(value) - width * mount}px`;
|
|
420
|
+
}
|
|
421
|
+
} else if (property === 'y') {
|
|
422
|
+
const mount = props.mountY;
|
|
423
|
+
const height = props.height;
|
|
424
|
+
|
|
425
|
+
if (mount) {
|
|
426
|
+
value = `${parseInt(value) - height * mount}px`;
|
|
427
|
+
}
|
|
428
|
+
}
|
|
429
|
+
div.style.setProperty(mappedStyleResponse.prop, value);
|
|
414
430
|
}
|
|
415
431
|
|
|
416
432
|
return;
|
|
@@ -466,13 +482,15 @@ export class Inspector {
|
|
|
466
482
|
rotation = 0,
|
|
467
483
|
scale = 1,
|
|
468
484
|
color,
|
|
485
|
+
mountX,
|
|
486
|
+
mountY,
|
|
469
487
|
} = props;
|
|
470
488
|
|
|
471
489
|
// ignoring loops and repeats for now, as that might be a bit too much for the inspector
|
|
472
490
|
function animate() {
|
|
473
491
|
setTimeout(() => {
|
|
474
|
-
div.style.top = `${y}px`;
|
|
475
|
-
div.style.left = `${x}px`;
|
|
492
|
+
div.style.top = `${y - height * mountY}px`;
|
|
493
|
+
div.style.left = `${x - width * mountX}px`;
|
|
476
494
|
div.style.width = `${width}px`;
|
|
477
495
|
div.style.height = `${height}px`;
|
|
478
496
|
div.style.opacity = `${alpha}`;
|