@lightningjs/renderer 2.4.0 → 2.5.0
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/renderers/webgl/shaders/effects/LinearGradientEffect.js +4 -0
- package/dist/src/core/renderers/webgl/shaders/effects/LinearGradientEffect.js.map +1 -1
- package/dist/src/core/renderers/webgl/shaders/effects/RadialGradientEffect.js +5 -1
- package/dist/src/core/renderers/webgl/shaders/effects/RadialGradientEffect.js.map +1 -1
- package/dist/src/core/text-rendering/TrFontManager.d.ts +1 -1
- package/dist/src/core/text-rendering/TrFontManager.js +2 -2
- package/dist/src/core/text-rendering/TrFontManager.js.map +1 -1
- package/dist/src/core/text-rendering/font-face-types/TrFontFace.js.map +1 -1
- package/dist/src/core/text-rendering/renderers/CanvasTextRenderer.js +5 -6
- package/dist/src/core/text-rendering/renderers/CanvasTextRenderer.js.map +1 -1
- package/dist/src/core/text-rendering/renderers/LightningTextTextureRenderer.js +18 -10
- package/dist/src/core/text-rendering/renderers/LightningTextTextureRenderer.js.map +1 -1
- package/dist/src/core/text-rendering/renderers/SdfTextRenderer/SdfTextRenderer.js +1 -1
- package/dist/src/core/text-rendering/renderers/SdfTextRenderer/SdfTextRenderer.js.map +1 -1
- package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/layoutText.js +3 -1
- package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/layoutText.js.map +1 -1
- package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/measureText.js +2 -1
- package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/measureText.js.map +1 -1
- package/dist/src/core/utils.d.ts +1 -1
- package/dist/src/main-api/ICoreDriver.d.ts +24 -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/Renderer.js +1 -1
- package/dist/src/main-api/Renderer.js.map +1 -1
- package/dist/src/main-api/RendererMain.d.ts +378 -0
- package/dist/src/main-api/RendererMain.js +367 -0
- package/dist/src/main-api/RendererMain.js.map +1 -0
- 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 +21 -0
- package/dist/src/render-drivers/main/MainCoreDriver.js +115 -0
- package/dist/src/render-drivers/main/MainCoreDriver.js.map +1 -0
- package/dist/src/render-drivers/main/MainOnlyNode.d.ts +101 -0
- package/dist/src/render-drivers/main/MainOnlyNode.js +425 -0
- package/dist/src/render-drivers/main/MainOnlyNode.js.map +1 -0
- package/dist/src/render-drivers/main/MainOnlyTextNode.d.ts +47 -0
- package/dist/src/render-drivers/main/MainOnlyTextNode.js +204 -0
- package/dist/src/render-drivers/main/MainOnlyTextNode.js.map +1 -0
- package/dist/src/render-drivers/threadx/NodeStruct.d.ts +93 -0
- package/dist/src/render-drivers/threadx/NodeStruct.js +290 -0
- package/dist/src/render-drivers/threadx/NodeStruct.js.map +1 -0
- package/dist/src/render-drivers/threadx/SharedNode.d.ts +40 -0
- package/dist/src/render-drivers/threadx/SharedNode.js +61 -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 +203 -0
- package/dist/src/render-drivers/threadx/TextNodeStruct.js.map +1 -0
- package/dist/src/render-drivers/threadx/ThreadXCoreDriver.d.ts +25 -0
- package/dist/src/render-drivers/threadx/ThreadXCoreDriver.js +232 -0
- package/dist/src/render-drivers/threadx/ThreadXCoreDriver.js.map +1 -0
- package/dist/src/render-drivers/threadx/ThreadXMainAnimationController.d.ts +24 -0
- package/dist/src/render-drivers/threadx/ThreadXMainAnimationController.js +113 -0
- package/dist/src/render-drivers/threadx/ThreadXMainAnimationController.js.map +1 -0
- package/dist/src/render-drivers/threadx/ThreadXMainNode.d.ts +46 -0
- package/dist/src/render-drivers/threadx/ThreadXMainNode.js +160 -0
- package/dist/src/render-drivers/threadx/ThreadXMainNode.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/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 +184 -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 +109 -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 +147 -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 +74 -0
- package/dist/src/render-drivers/utils.js.map +1 -0
- package/dist/tsconfig.dist.tsbuildinfo +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -0
- package/package.json +1 -1
- package/src/core/renderers/webgl/shaders/effects/LinearGradientEffect.ts +7 -0
- package/src/core/renderers/webgl/shaders/effects/RadialGradientEffect.ts +8 -1
- package/src/core/text-rendering/TrFontManager.ts +3 -1
- package/src/core/text-rendering/font-face-types/TrFontFace.ts +0 -1
- package/src/core/text-rendering/renderers/CanvasTextRenderer.ts +7 -7
- package/src/core/text-rendering/renderers/LightningTextTextureRenderer.ts +28 -14
- package/src/core/text-rendering/renderers/SdfTextRenderer/SdfTextRenderer.ts +5 -3
- package/src/core/text-rendering/renderers/SdfTextRenderer/internal/layoutText.ts +5 -1
- package/src/core/text-rendering/renderers/SdfTextRenderer/internal/measureText.ts +2 -1
- package/src/main-api/Renderer.ts +1 -1
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Lightning 3 Renderer Core API
|
|
3
|
+
*
|
|
4
|
+
* @remarks
|
|
5
|
+
* ```
|
|
6
|
+
* import * from '@lightning/renderer/core';
|
|
7
|
+
* ```
|
|
8
|
+
*
|
|
9
|
+
* The Core API is used by developers to extend the capabilities of the Renderer
|
|
10
|
+
* by writing custom Shaders, Dynamic Shader Effects, Textures, Text Renderers,
|
|
11
|
+
* etc.
|
|
12
|
+
*
|
|
13
|
+
* Custom capabilities as well as fonts can be loaded via Core Extensions.
|
|
14
|
+
*
|
|
15
|
+
* A core extension module is structured like so:
|
|
16
|
+
* ```ts
|
|
17
|
+
* import {
|
|
18
|
+
* CoreExtension,
|
|
19
|
+
* WebTrFontFace,
|
|
20
|
+
* SdfTrFontFace,
|
|
21
|
+
* type Stage
|
|
22
|
+
* } from '@lightning/renderer/core';
|
|
23
|
+
*
|
|
24
|
+
* export default class MyCoreExtension extends CoreExtension {
|
|
25
|
+
* async run(stage: Stage) {
|
|
26
|
+
* stage.fontManager.addFontFace(
|
|
27
|
+
* new WebTrFontFace('Ubuntu', {}, '/fonts/Ubuntu-Regular.ttf'),
|
|
28
|
+
* );
|
|
29
|
+
*
|
|
30
|
+
* stage.fontManager.addFontFace(
|
|
31
|
+
* new SdfTrFontFace(
|
|
32
|
+
* 'Ubuntu',
|
|
33
|
+
* {},
|
|
34
|
+
* 'msdf',
|
|
35
|
+
* stage,
|
|
36
|
+
* '/fonts/Ubuntu-Regular.msdf.png',
|
|
37
|
+
* '/fonts/Ubuntu-Regular.msdf.json',
|
|
38
|
+
* ),
|
|
39
|
+
* );
|
|
40
|
+
* }
|
|
41
|
+
* }
|
|
42
|
+
* ```
|
|
43
|
+
*
|
|
44
|
+
* And then imported and registered in the application's entry point
|
|
45
|
+
* using the `@lightningjs/vite-plugin-import-chunk-url` plugin:
|
|
46
|
+
* ```ts
|
|
47
|
+
* import coreExtensionModuleUrl from './MyCoreExtension.js?importChunkUrl';
|
|
48
|
+
*
|
|
49
|
+
* // Set up driver, etc.
|
|
50
|
+
*
|
|
51
|
+
* // Initialize the Renderer
|
|
52
|
+
* const renderer = new RendererMain(
|
|
53
|
+
* {
|
|
54
|
+
* // Other Renderer Config...
|
|
55
|
+
* coreExtensionModule: coreExtensionModuleUrl,
|
|
56
|
+
* },
|
|
57
|
+
* 'app',
|
|
58
|
+
* driver,
|
|
59
|
+
* );
|
|
60
|
+
* ```
|
|
61
|
+
*
|
|
62
|
+
* @module
|
|
63
|
+
*/
|
|
64
|
+
export * from '../src/core/renderers/webgl/WebGlCoreShader.js';
|
|
65
|
+
export * from '../src/core/renderers/webgl/shaders/effects/ShaderEffect.js';
|
|
66
|
+
export * from '../src/core/textures/Texture.js';
|
|
67
|
+
export * from '../src/core/text-rendering/renderers/TextRenderer.js';
|
|
68
|
+
export * from '../src/core/text-rendering/renderers/CanvasTextRenderer.js';
|
|
69
|
+
export * from '../src/core/text-rendering/renderers/SdfTextRenderer/SdfTextRenderer.js';
|
|
70
|
+
export * from '../src/core/text-rendering/font-face-types/TrFontFace.js';
|
|
71
|
+
export * from '../src/core/text-rendering/font-face-types/WebTrFontFace.js';
|
|
72
|
+
export * from '../src/core/text-rendering/font-face-types/SdfTrFontFace/SdfTrFontFace.js';
|
|
73
|
+
export * from '../src/core/CoreExtension.js';
|
|
74
|
+
export type * from '../src/core/Stage.js';
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* If not stated otherwise in this file or this component's LICENSE file the
|
|
3
|
+
* following copyright and licenses apply:
|
|
4
|
+
*
|
|
5
|
+
* Copyright 2023 Comcast Cable Communications Management, LLC.
|
|
6
|
+
*
|
|
7
|
+
* Licensed under the Apache License, Version 2.0 (the License);
|
|
8
|
+
* you may not use this file except in compliance with the License.
|
|
9
|
+
* You may obtain a copy of the License at
|
|
10
|
+
*
|
|
11
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
12
|
+
*
|
|
13
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
14
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
15
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
16
|
+
* See the License for the specific language governing permissions and
|
|
17
|
+
* limitations under the License.
|
|
18
|
+
*/
|
|
19
|
+
/**
|
|
20
|
+
* Lightning 3 Renderer Core API
|
|
21
|
+
*
|
|
22
|
+
* @remarks
|
|
23
|
+
* ```
|
|
24
|
+
* import * from '@lightning/renderer/core';
|
|
25
|
+
* ```
|
|
26
|
+
*
|
|
27
|
+
* The Core API is used by developers to extend the capabilities of the Renderer
|
|
28
|
+
* by writing custom Shaders, Dynamic Shader Effects, Textures, Text Renderers,
|
|
29
|
+
* etc.
|
|
30
|
+
*
|
|
31
|
+
* Custom capabilities as well as fonts can be loaded via Core Extensions.
|
|
32
|
+
*
|
|
33
|
+
* A core extension module is structured like so:
|
|
34
|
+
* ```ts
|
|
35
|
+
* import {
|
|
36
|
+
* CoreExtension,
|
|
37
|
+
* WebTrFontFace,
|
|
38
|
+
* SdfTrFontFace,
|
|
39
|
+
* type Stage
|
|
40
|
+
* } from '@lightning/renderer/core';
|
|
41
|
+
*
|
|
42
|
+
* export default class MyCoreExtension extends CoreExtension {
|
|
43
|
+
* async run(stage: Stage) {
|
|
44
|
+
* stage.fontManager.addFontFace(
|
|
45
|
+
* new WebTrFontFace('Ubuntu', {}, '/fonts/Ubuntu-Regular.ttf'),
|
|
46
|
+
* );
|
|
47
|
+
*
|
|
48
|
+
* stage.fontManager.addFontFace(
|
|
49
|
+
* new SdfTrFontFace(
|
|
50
|
+
* 'Ubuntu',
|
|
51
|
+
* {},
|
|
52
|
+
* 'msdf',
|
|
53
|
+
* stage,
|
|
54
|
+
* '/fonts/Ubuntu-Regular.msdf.png',
|
|
55
|
+
* '/fonts/Ubuntu-Regular.msdf.json',
|
|
56
|
+
* ),
|
|
57
|
+
* );
|
|
58
|
+
* }
|
|
59
|
+
* }
|
|
60
|
+
* ```
|
|
61
|
+
*
|
|
62
|
+
* And then imported and registered in the application's entry point
|
|
63
|
+
* using the `@lightningjs/vite-plugin-import-chunk-url` plugin:
|
|
64
|
+
* ```ts
|
|
65
|
+
* import coreExtensionModuleUrl from './MyCoreExtension.js?importChunkUrl';
|
|
66
|
+
*
|
|
67
|
+
* // Set up driver, etc.
|
|
68
|
+
*
|
|
69
|
+
* // Initialize the Renderer
|
|
70
|
+
* const renderer = new RendererMain(
|
|
71
|
+
* {
|
|
72
|
+
* // Other Renderer Config...
|
|
73
|
+
* coreExtensionModule: coreExtensionModuleUrl,
|
|
74
|
+
* },
|
|
75
|
+
* 'app',
|
|
76
|
+
* driver,
|
|
77
|
+
* );
|
|
78
|
+
* ```
|
|
79
|
+
*
|
|
80
|
+
* @module
|
|
81
|
+
*/
|
|
82
|
+
// Shaders
|
|
83
|
+
export * from '../src/core/renderers/webgl/WebGlCoreShader.js';
|
|
84
|
+
export * from '../src/core/renderers/webgl/shaders/effects/ShaderEffect.js';
|
|
85
|
+
// Textures
|
|
86
|
+
export * from '../src/core/textures/Texture.js';
|
|
87
|
+
// Text Rendering & Fonts
|
|
88
|
+
export * from '../src/core/text-rendering/renderers/TextRenderer.js';
|
|
89
|
+
export * from '../src/core/text-rendering/renderers/CanvasTextRenderer.js';
|
|
90
|
+
export * from '../src/core/text-rendering/renderers/SdfTextRenderer/SdfTextRenderer.js';
|
|
91
|
+
export * from '../src/core/text-rendering/font-face-types/TrFontFace.js';
|
|
92
|
+
export * from '../src/core/text-rendering/font-face-types/WebTrFontFace.js';
|
|
93
|
+
export * from '../src/core/text-rendering/font-face-types/SdfTrFontFace/SdfTrFontFace.js';
|
|
94
|
+
// Core Extensions
|
|
95
|
+
export * from '../src/core/CoreExtension.js';
|
|
96
|
+
//# sourceMappingURL=core-api.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"core-api.js","sourceRoot":"","sources":["../../exports/core-api.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8DG;AAEH,UAAU;AACV,cAAc,gDAAgD,CAAC;AAC/D,cAAc,6DAA6D,CAAC;AAE5E,WAAW;AACX,cAAc,iCAAiC,CAAC;AAEhD,yBAAyB;AACzB,cAAc,sDAAsD,CAAC;AACrE,cAAc,4DAA4D,CAAC;AAC3E,cAAc,yEAAyE,CAAC;AACxF,cAAc,0DAA0D,CAAC;AACzE,cAAc,6DAA6D,CAAC;AAC5E,cAAc,2EAA2E,CAAC;AAE1F,kBAAkB;AAClB,cAAc,8BAA8B,CAAC"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Lightning 3 Renderer Main API
|
|
3
|
+
*
|
|
4
|
+
* @remarks
|
|
5
|
+
* This module exports the Main API for the Lightning 3 Renderer. You
|
|
6
|
+
* can import the exports from this module like so:
|
|
7
|
+
* ```ts
|
|
8
|
+
* import { RendererMain } from '@lightning/renderer';
|
|
9
|
+
* ```
|
|
10
|
+
*
|
|
11
|
+
* Generally developers/frameworks using the Renderer will use the Main API to
|
|
12
|
+
* render applications.
|
|
13
|
+
*
|
|
14
|
+
* Do not confuse the Main API with the Core API which is used to extend
|
|
15
|
+
* capabilities of the Renderer. The Main API code always runs from the main
|
|
16
|
+
* thread.
|
|
17
|
+
*
|
|
18
|
+
* @module
|
|
19
|
+
*/
|
|
20
|
+
export * from '../src/main-api/INode.js';
|
|
21
|
+
export * from '../src/main-api/ICoreDriver.js';
|
|
22
|
+
export * from '../src/main-api/RendererMain.js';
|
|
23
|
+
export * from '../src/render-drivers/main/MainCoreDriver.js';
|
|
24
|
+
export * from '../src/render-drivers/threadx/ThreadXCoreDriver.js';
|
|
25
|
+
export * from '../src/common/IAnimationController.js';
|
|
26
|
+
export * from '../src/common/CommonTypes.js';
|
|
27
|
+
export type { TextRendererMap } from '../src/core/text-rendering/renderers/TextRenderer.js';
|
|
28
|
+
export type { TrFontFaceMap } from '../src/core/text-rendering/font-face-types/TrFontFace.js';
|
|
29
|
+
export type { AnimationSettings } from '../src/core/animations/CoreAnimation.js';
|
|
30
|
+
export type { EffectProps, FadeOutEffectProps, LinearGradientEffectProps, RadialGradientEffectProps, GrayscaleEffectProps, GlitchEffectProps, RadialProgressEffectProps, } from '../src/core/CoreShaderManager.js';
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* If not stated otherwise in this file or this component's LICENSE file the
|
|
3
|
+
* following copyright and licenses apply:
|
|
4
|
+
*
|
|
5
|
+
* Copyright 2023 Comcast Cable Communications Management, LLC.
|
|
6
|
+
*
|
|
7
|
+
* Licensed under the Apache License, Version 2.0 (the License);
|
|
8
|
+
* you may not use this file except in compliance with the License.
|
|
9
|
+
* You may obtain a copy of the License at
|
|
10
|
+
*
|
|
11
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
12
|
+
*
|
|
13
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
14
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
15
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
16
|
+
* See the License for the specific language governing permissions and
|
|
17
|
+
* limitations under the License.
|
|
18
|
+
*/
|
|
19
|
+
/**
|
|
20
|
+
* Lightning 3 Renderer Main API
|
|
21
|
+
*
|
|
22
|
+
* @remarks
|
|
23
|
+
* This module exports the Main API for the Lightning 3 Renderer. You
|
|
24
|
+
* can import the exports from this module like so:
|
|
25
|
+
* ```ts
|
|
26
|
+
* import { RendererMain } from '@lightning/renderer';
|
|
27
|
+
* ```
|
|
28
|
+
*
|
|
29
|
+
* Generally developers/frameworks using the Renderer will use the Main API to
|
|
30
|
+
* render applications.
|
|
31
|
+
*
|
|
32
|
+
* Do not confuse the Main API with the Core API which is used to extend
|
|
33
|
+
* capabilities of the Renderer. The Main API code always runs from the main
|
|
34
|
+
* thread.
|
|
35
|
+
*
|
|
36
|
+
* @module
|
|
37
|
+
*/
|
|
38
|
+
export * from '../src/main-api/INode.js';
|
|
39
|
+
export * from '../src/main-api/ICoreDriver.js';
|
|
40
|
+
export * from '../src/main-api/RendererMain.js';
|
|
41
|
+
export * from '../src/render-drivers/main/MainCoreDriver.js';
|
|
42
|
+
export * from '../src/render-drivers/threadx/ThreadXCoreDriver.js';
|
|
43
|
+
export * from '../src/common/IAnimationController.js';
|
|
44
|
+
export * from '../src/common/CommonTypes.js';
|
|
45
|
+
//# sourceMappingURL=main-api.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"main-api.js","sourceRoot":"","sources":["../../exports/main-api.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH;;;;;;;;;;;;;;;;;;GAkBG;AACH,cAAc,0BAA0B,CAAC;AACzC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,iCAAiC,CAAC;AAChD,cAAc,8CAA8C,CAAC;AAC7D,cAAc,oDAAoD,CAAC;AACnE,cAAc,uCAAuC,CAAC;AACtD,cAAc,8BAA8B,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { Stage } from './Stage.js';
|
|
2
|
+
/**
|
|
3
|
+
* Base class for Core extensions.
|
|
4
|
+
*
|
|
5
|
+
* @remarks
|
|
6
|
+
* Core extensions are used to extend the Core Renderer with custom code such as
|
|
7
|
+
* custom fonts, custom shaders, custom textures, custom animation functions,
|
|
8
|
+
* and more.
|
|
9
|
+
*/
|
|
10
|
+
export declare abstract class CoreExtension {
|
|
11
|
+
abstract run(stage: Stage): Promise<void>;
|
|
12
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* If not stated otherwise in this file or this component's LICENSE file the
|
|
3
|
+
* following copyright and licenses apply:
|
|
4
|
+
*
|
|
5
|
+
* Copyright 2023 Comcast Cable Communications Management, LLC.
|
|
6
|
+
*
|
|
7
|
+
* Licensed under the Apache License, Version 2.0 (the License);
|
|
8
|
+
* you may not use this file except in compliance with the License.
|
|
9
|
+
* You may obtain a copy of the License at
|
|
10
|
+
*
|
|
11
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
12
|
+
*
|
|
13
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
14
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
15
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
16
|
+
* See the License for the specific language governing permissions and
|
|
17
|
+
* limitations under the License.
|
|
18
|
+
*/
|
|
19
|
+
/**
|
|
20
|
+
* Base class for Core extensions.
|
|
21
|
+
*
|
|
22
|
+
* @remarks
|
|
23
|
+
* Core extensions are used to extend the Core Renderer with custom code such as
|
|
24
|
+
* custom fonts, custom shaders, custom textures, custom animation functions,
|
|
25
|
+
* and more.
|
|
26
|
+
*/
|
|
27
|
+
export class CoreExtension {
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=CoreExtension.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CoreExtension.js","sourceRoot":"","sources":["../../../src/core/CoreExtension.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAIH;;;;;;;GAOG;AACH,MAAM,OAAgB,aAAa;CAElC"}
|
|
@@ -26,6 +26,10 @@ export class LinearGradientEffect extends ShaderEffect {
|
|
|
26
26
|
static z$__type__Props;
|
|
27
27
|
name = 'linearGradient';
|
|
28
28
|
static getEffectKey(props) {
|
|
29
|
+
if (props.colors.value) {
|
|
30
|
+
return `linearGradient${props.colors.value
|
|
31
|
+
.length}`;
|
|
32
|
+
}
|
|
29
33
|
return `linearGradient${props.colors.length}`;
|
|
30
34
|
}
|
|
31
35
|
static resolveDefaults(props) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LinearGradientEffect.js","sourceRoot":"","sources":["../../../../../../../src/core/renderers/webgl/shaders/effects/LinearGradientEffect.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AACH,OAAO,EAAE,2BAA2B,EAAE,MAAM,0BAA0B,CAAC;AACvE,OAAO,EAAE,yBAAyB,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EAEL,YAAY,
|
|
1
|
+
{"version":3,"file":"LinearGradientEffect.js","sourceRoot":"","sources":["../../../../../../../src/core/renderers/webgl/shaders/effects/LinearGradientEffect.ts"],"names":[],"mappings":"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"}
|
|
@@ -23,7 +23,11 @@ export class RadialGradientEffect extends ShaderEffect {
|
|
|
23
23
|
static z$__type__Props;
|
|
24
24
|
name = 'radialGradient';
|
|
25
25
|
static getEffectKey(props) {
|
|
26
|
-
|
|
26
|
+
if (props.colors.value) {
|
|
27
|
+
return `linearGradient${props.colors.value
|
|
28
|
+
.length}`;
|
|
29
|
+
}
|
|
30
|
+
return `linearGradient${props.colors.length}`;
|
|
27
31
|
}
|
|
28
32
|
static resolveDefaults(props) {
|
|
29
33
|
const colors = props.colors ?? [0xff000000, 0xffffffff];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RadialGradientEffect.js","sourceRoot":"","sources":["../../../../../../../src/core/renderers/webgl/shaders/effects/RadialGradientEffect.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AACH,OAAO,EAAE,2BAA2B,EAAE,MAAM,0BAA0B,CAAC;AACvE,OAAO,EACL,yBAAyB,EACzB,yBAAyB,GAC1B,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAEL,YAAY,
|
|
1
|
+
{"version":3,"file":"RadialGradientEffect.js","sourceRoot":"","sources":["../../../../../../../src/core/renderers/webgl/shaders/effects/RadialGradientEffect.ts"],"names":[],"mappings":"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"}
|
|
@@ -22,5 +22,5 @@ export declare class TrFontManager {
|
|
|
22
22
|
* @param props
|
|
23
23
|
* @returns
|
|
24
24
|
*/
|
|
25
|
-
resolveFontFace(familyMapsByPriority: FontFamilyMap[], props: TrFontProps): TrFontFace | undefined;
|
|
25
|
+
resolveFontFace(familyMapsByPriority: FontFamilyMap[], props: TrFontProps, rendererType: 'canvas' | 'sdf'): TrFontFace | undefined;
|
|
26
26
|
}
|
|
@@ -115,9 +115,9 @@ export class TrFontManager {
|
|
|
115
115
|
* @param props
|
|
116
116
|
* @returns
|
|
117
117
|
*/
|
|
118
|
-
resolveFontFace(familyMapsByPriority, props) {
|
|
118
|
+
resolveFontFace(familyMapsByPriority, props, rendererType) {
|
|
119
119
|
const { fontFamily, fontWeight, fontStyle, fontStretch } = props;
|
|
120
|
-
const fontCacheString = `${fontFamily}${fontStyle}${fontWeight}${fontStretch}`;
|
|
120
|
+
const fontCacheString = `${rendererType}_${fontFamily}_${fontStyle}_${fontWeight}_${fontStretch}`;
|
|
121
121
|
if (this.fontCache.has(fontCacheString) === true) {
|
|
122
122
|
return this.fontCache.get(fontCacheString);
|
|
123
123
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TrFontManager.js","sourceRoot":"","sources":["../../../../src/core/text-rendering/TrFontManager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAKH,MAAM,iBAAiB,GAA8B;IACnD,MAAM,EAAE,GAAG;IACX,IAAI,EAAE,GAAG;IACT,MAAM,EAAE,GAAG;IACX,OAAO,EAAE,GAAG;CACb,CAAC;AAEF,MAAM,kBAAkB,GAAG,CAAC,MAAuB,EAAU,EAAE;IAC7D,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE;QAC9B,OAAO,MAAM,CAAC;KACf;IAED,OAAO,iBAAiB,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC;AAC1C,CAAC,CAAC;AAEF,SAAS,gBAAgB,CACvB,oBAAqC,EACrC,MAAc,EACd,QAAyB,EACzB,KAAa,EACb,OAAe;IAEf,IAAI,MAAM,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC;IAE1C,KAAK,MAAM,WAAW,IAAI,oBAAoB,EAAE;QAC9C,MAAM,SAAS,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"TrFontManager.js","sourceRoot":"","sources":["../../../../src/core/text-rendering/TrFontManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TrFontFace.js","sourceRoot":"","sources":["../../../../../src/core/text-rendering/font-face-types/TrFontFace.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAuH/D,MAAM,OAAO,UAAW,SAAQ,YAAY;IAC1B,UAAU,CAAS;IACnB,WAAW,CAAwB;IACnC,MAAM,GAAY,KAAK,CAAC;IACxB,OAAO,GAAiC,IAAI,CAAC;IAE7D,YAAY,OAA0B;QACpC,KAAK,EAAE,CAAC;QACR,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;QAErD,IAAI,OAAO,EAAE;YACX,iDAAiD;YACjD,IAAI,CAAC,OAAO,GAAG;gBACb,QAAQ,EAAE,OAAO,CAAC,QAAQ,GAAG,OAAO,CAAC,UAAU;gBAC/C,SAAS,EAAE,OAAO,CAAC,SAAS,GAAG,OAAO,CAAC,UAAU;gBACjD,OAAO,EAAE,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC,UAAU;aAC9C,CAAC;SACH;
|
|
1
|
+
{"version":3,"file":"TrFontFace.js","sourceRoot":"","sources":["../../../../../src/core/text-rendering/font-face-types/TrFontFace.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAuH/D,MAAM,OAAO,UAAW,SAAQ,YAAY;IAC1B,UAAU,CAAS;IACnB,WAAW,CAAwB;IACnC,MAAM,GAAY,KAAK,CAAC;IACxB,OAAO,GAAiC,IAAI,CAAC;IAE7D,YAAY,OAA0B;QACpC,KAAK,EAAE,CAAC;QACR,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;QAErD,IAAI,OAAO,EAAE;YACX,iDAAiD;YACjD,IAAI,CAAC,OAAO,GAAG;gBACb,QAAQ,EAAE,OAAO,CAAC,QAAQ,GAAG,OAAO,CAAC,UAAU;gBAC/C,SAAS,EAAE,OAAO,CAAC,SAAS,GAAG,OAAO,CAAC,UAAU;gBACjD,OAAO,EAAE,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC,UAAU;aAC9C,CAAC;SACH;QACD,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,WAAW,GAAG;YACjB,KAAK,EAAE,QAAQ;YACf,MAAM,EAAE,QAAQ;YAChB,OAAO,EAAE,QAAQ;YACjB,GAAG,WAAW;SACf,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACI,MAAM,CAAC,+BAA+B,CAC3C,WAAkC;QAElC,OAAO;YACL,KAAK,EAAE,WAAW,CAAC,KAAK;YACxB,MAAM,EACJ,OAAO,WAAW,CAAC,MAAM,KAAK,QAAQ;gBACpC,CAAC,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE;gBACzB,CAAC,CAAC,WAAW,CAAC,MAAM;YACxB,OAAO,EAAE,WAAW,CAAC,OAAO;YAC5B,YAAY,EAAE,WAAW,CAAC,YAAY;YACtC,eAAe,EAAE,WAAW,CAAC,eAAe;YAC5C,OAAO,EAAE,WAAW,CAAC,OAAO;SAC7B,CAAC;IACJ,CAAC;CACF"}
|
|
@@ -184,20 +184,19 @@ export class CanvasTextRenderer extends TextRenderer {
|
|
|
184
184
|
// Make sure the font face is an Canvas font face (it should have already passed
|
|
185
185
|
// the `isFontFaceSupported` check)
|
|
186
186
|
assertTruthy(fontFace instanceof WebTrFontFace);
|
|
187
|
+
const fontFamily = fontFace.fontFamily;
|
|
187
188
|
// Add the font face to the document
|
|
188
189
|
// Except for the 'sans-serif' font family, which the Renderer provides
|
|
189
190
|
// as a special default fallback.
|
|
190
|
-
if (
|
|
191
|
+
if (fontFamily !== 'sans-serif') {
|
|
191
192
|
// @ts-expect-error `add()` method should be available from a FontFaceSet
|
|
192
193
|
// eslint-disable-next-line @typescript-eslint/no-unsafe-call
|
|
193
194
|
globalFontSet.add(fontFace.fontFace);
|
|
194
195
|
}
|
|
195
|
-
|
|
196
|
-
const familyName = fontFace.fontFace.family;
|
|
197
|
-
let faceSet = fontFamilies[familyName];
|
|
196
|
+
let faceSet = this.fontFamilies[fontFamily];
|
|
198
197
|
if (!faceSet) {
|
|
199
198
|
faceSet = new Set();
|
|
200
|
-
fontFamilies[
|
|
199
|
+
this.fontFamilies[fontFamily] = faceSet;
|
|
201
200
|
}
|
|
202
201
|
faceSet.add(fontFace);
|
|
203
202
|
}
|
|
@@ -297,7 +296,7 @@ export class CanvasTextRenderer extends TextRenderer {
|
|
|
297
296
|
}
|
|
298
297
|
loadFont = (state) => {
|
|
299
298
|
const cssString = getFontCssString(state.props);
|
|
300
|
-
const trFontFace = this.stage.fontManager.resolveFontFace(this.fontFamilyArray, state.props);
|
|
299
|
+
const trFontFace = this.stage.fontManager.resolveFontFace(this.fontFamilyArray, state.props, 'canvas');
|
|
301
300
|
assertTruthy(trFontFace, `Could not resolve font face for ${cssString}`);
|
|
302
301
|
state.fontInfo = {
|
|
303
302
|
fontFace: trFontFace,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CanvasTextRenderer.js","sourceRoot":"","sources":["../../../../../src/core/text-rendering/renderers/CanvasTextRenderer.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"CanvasTextRenderer.js","sourceRoot":"","sources":["../../../../../src/core/text-rendering/renderers/CanvasTextRenderer.ts"],"names":[],"mappings":"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"}
|
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
import { assertTruthy } from '../../../utils.js';
|
|
21
21
|
import { getRgbaString } from '../../lib/utils.js';
|
|
22
22
|
import { calcDefaultLineHeight } from '../TextRenderingUtils.js';
|
|
23
|
-
import { getWebFontMetrics } from '../TextTextureRendererUtils.js';
|
|
23
|
+
import { getWebFontMetrics, isZeroWidthSpace, } from '../TextTextureRendererUtils.js';
|
|
24
24
|
const MAX_TEXTURE_DIMENSION = 2048;
|
|
25
25
|
/**
|
|
26
26
|
* Calculate height for the canvas
|
|
@@ -439,8 +439,7 @@ export class LightningTextTextureRenderer {
|
|
|
439
439
|
* bounds set by the Text object's wordWrapWidth property.
|
|
440
440
|
*/
|
|
441
441
|
wrapText(text, wordWrapWidth, letterSpacing, indent = 0) {
|
|
442
|
-
|
|
443
|
-
// than its horizontal bounds.
|
|
442
|
+
const spaceRegex = / |\u200B/g; // ZWSP and spaces
|
|
444
443
|
const lines = text.split(/\r?\n/g);
|
|
445
444
|
let allLines = [];
|
|
446
445
|
const realNewlines = [];
|
|
@@ -448,23 +447,27 @@ export class LightningTextTextureRenderer {
|
|
|
448
447
|
const resultLines = [];
|
|
449
448
|
let result = '';
|
|
450
449
|
let spaceLeft = wordWrapWidth - indent;
|
|
451
|
-
|
|
450
|
+
// Split the line into words, considering ZWSP
|
|
451
|
+
const words = lines[i].split(spaceRegex);
|
|
452
|
+
const spaces = lines[i].match(spaceRegex) || [];
|
|
452
453
|
for (let j = 0; j < words.length; j++) {
|
|
453
|
-
const
|
|
454
|
-
const
|
|
454
|
+
const space = spaces[j - 1] || '';
|
|
455
|
+
const word = words[j];
|
|
456
|
+
const wordWidth = this.measureText(word, letterSpacing);
|
|
457
|
+
const wordWidthWithSpace = isZeroWidthSpace(space)
|
|
458
|
+
? wordWidth
|
|
459
|
+
: wordWidth + this.measureText(space, letterSpacing);
|
|
455
460
|
if (j === 0 || wordWidthWithSpace > spaceLeft) {
|
|
456
|
-
// Skip printing the newline if it's the first word of the line that is.
|
|
457
|
-
// greater than the word wrap width.
|
|
458
461
|
if (j > 0) {
|
|
459
462
|
resultLines.push(result);
|
|
460
463
|
result = '';
|
|
461
464
|
}
|
|
462
|
-
result +=
|
|
465
|
+
result += word;
|
|
463
466
|
spaceLeft = wordWrapWidth - wordWidth - (j === 0 ? indent : 0);
|
|
464
467
|
}
|
|
465
468
|
else {
|
|
466
469
|
spaceLeft -= wordWidthWithSpace;
|
|
467
|
-
result +=
|
|
470
|
+
result += space + word;
|
|
468
471
|
}
|
|
469
472
|
}
|
|
470
473
|
resultLines.push(result);
|
|
@@ -480,7 +483,12 @@ export class LightningTextTextureRenderer {
|
|
|
480
483
|
if (!space) {
|
|
481
484
|
return this._context.measureText(word).width;
|
|
482
485
|
}
|
|
486
|
+
// Split word into characters, but skip ZWSP in the width calculation
|
|
483
487
|
return word.split('').reduce((acc, char) => {
|
|
488
|
+
// Check if the character is a zero-width space and skip it
|
|
489
|
+
if (isZeroWidthSpace(char)) {
|
|
490
|
+
return acc;
|
|
491
|
+
}
|
|
484
492
|
return acc + this._context.measureText(char).width + space;
|
|
485
493
|
}, 0);
|
|
486
494
|
}
|