@kosdev-code/kos-ui-sdk 2.0.39 → 2.0.40
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/index.cjs +20 -20
- package/index.cjs.map +1 -1
- package/index.js +1016 -865
- package/index.js.map +1 -1
- package/models/models/canvas-dispatcher/types/index.d.ts +47 -1
- package/models/models/canvas-dispatcher/utils/renderers/overlay-renderer.d.ts +76 -0
- package/models/models/canvas-dispatcher/utils/renderers/overlay-renderer.d.ts.map +1 -0
- package/models/models/canvas-dispatcher/utils/renderers/renderer-factory.d.ts.map +1 -1
- package/package.json +2 -2
|
@@ -25,7 +25,14 @@ declare interface OneShotCapable extends DoneAware {
|
|
|
25
25
|
|
|
26
26
|
declare type RendererOptions = "sweep" | "matrix" | "video" | "drop" | "none";
|
|
27
27
|
|
|
28
|
-
declare type RendererMode =
|
|
28
|
+
declare type RendererMode =
|
|
29
|
+
| "video"
|
|
30
|
+
| "image"
|
|
31
|
+
| "color"
|
|
32
|
+
| "sequence"
|
|
33
|
+
| "matrix"
|
|
34
|
+
| "text"
|
|
35
|
+
| "overlay";
|
|
29
36
|
declare interface RenderSpecification<T extends RendererMode> {
|
|
30
37
|
type: T;
|
|
31
38
|
id: string;
|
|
@@ -104,6 +111,40 @@ declare interface TextRenderDataSpecification {
|
|
|
104
111
|
};
|
|
105
112
|
}
|
|
106
113
|
|
|
114
|
+
declare type OverlayPosition =
|
|
115
|
+
| "top-left"
|
|
116
|
+
| "top-center"
|
|
117
|
+
| "top-right"
|
|
118
|
+
| "center-left"
|
|
119
|
+
| "center"
|
|
120
|
+
| "center-right"
|
|
121
|
+
| "bottom-left"
|
|
122
|
+
| "bottom-center"
|
|
123
|
+
| "bottom-right";
|
|
124
|
+
|
|
125
|
+
declare interface OverlayCustomPosition {
|
|
126
|
+
x: number;
|
|
127
|
+
y: number;
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
declare interface OverlayIconConfig {
|
|
131
|
+
src: string; // Image source for the overlay icon
|
|
132
|
+
size: number; // Size of the overlay icon (width and height)
|
|
133
|
+
position: OverlayPosition | OverlayCustomPosition; // Position of the overlay
|
|
134
|
+
offset?: { x?: number; y?: number }; // Optional offset from the position in pixels
|
|
135
|
+
opacity?: number; // Optional opacity (0-1)
|
|
136
|
+
persistent?: boolean; // Whether the overlay should always be visible (default: true)
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
declare interface OverlayRenderDataSpecification {
|
|
140
|
+
baseRenderer: {
|
|
141
|
+
type: string;
|
|
142
|
+
data: any;
|
|
143
|
+
}; // The base renderer configuration
|
|
144
|
+
overlays: OverlayIconConfig[]; // Array of overlay icons to display
|
|
145
|
+
persistOverlaysOnComplete?: boolean; // Whether overlays remain visible after base renderer completes (default: true)
|
|
146
|
+
}
|
|
147
|
+
|
|
107
148
|
declare type RenderDataSpecification<T extends RendererMode> = T extends "video"
|
|
108
149
|
? VideoRenderDataSpecification
|
|
109
150
|
: T extends "image"
|
|
@@ -116,6 +157,8 @@ declare type RenderDataSpecification<T extends RendererMode> = T extends "video"
|
|
|
116
157
|
? MatrixRenderDataSpecification
|
|
117
158
|
: T extends "text"
|
|
118
159
|
? TextRenderDataSpecification
|
|
160
|
+
: T extends "overlay"
|
|
161
|
+
? OverlayRenderDataSpecification
|
|
119
162
|
: any;
|
|
120
163
|
|
|
121
164
|
declare type VideoRenderData = RenderSpecification<"video">;
|
|
@@ -128,12 +171,15 @@ declare type MatrixRenderData = RenderSpecification<"matrix">;
|
|
|
128
171
|
|
|
129
172
|
declare type TextRenderData = RenderSpecification<"text">;
|
|
130
173
|
|
|
174
|
+
declare type OverlayRenderData = RenderSpecification<"overlay">;
|
|
175
|
+
|
|
131
176
|
declare type RenderData =
|
|
132
177
|
| VideoRenderData
|
|
133
178
|
| ImageRenderData
|
|
134
179
|
| ColorRenderData
|
|
135
180
|
| MatrixRenderData
|
|
136
181
|
| TextRenderData
|
|
182
|
+
| OverlayRenderData
|
|
137
183
|
| any;
|
|
138
184
|
|
|
139
185
|
declare interface EndpointData {
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import { DoneAware, Renderer } from '../../types';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Predefined overlay positions for easy positioning
|
|
5
|
+
*/
|
|
6
|
+
export type OverlayPosition = "top-left" | "top-center" | "top-right" | "center-left" | "center" | "center-right" | "bottom-left" | "bottom-center" | "bottom-right";
|
|
7
|
+
/**
|
|
8
|
+
* Custom positioning with explicit coordinates
|
|
9
|
+
*/
|
|
10
|
+
export interface OverlayCustomPosition {
|
|
11
|
+
x: number;
|
|
12
|
+
y: number;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Configuration for a single overlay icon
|
|
16
|
+
*/
|
|
17
|
+
export interface OverlayIconConfig {
|
|
18
|
+
/** Image source for the overlay icon */
|
|
19
|
+
src: string;
|
|
20
|
+
/** Size of the overlay icon (width and height) */
|
|
21
|
+
size: number;
|
|
22
|
+
/** Position of the overlay - either predefined name or custom coordinates */
|
|
23
|
+
position: OverlayPosition | OverlayCustomPosition;
|
|
24
|
+
/** Optional offset from the position in pixels */
|
|
25
|
+
offset?: {
|
|
26
|
+
x?: number;
|
|
27
|
+
y?: number;
|
|
28
|
+
};
|
|
29
|
+
/** Optional opacity (0-1) */
|
|
30
|
+
opacity?: number;
|
|
31
|
+
/** Whether the overlay should always be visible (default: true) */
|
|
32
|
+
persistent?: boolean;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Configuration for overlay renderer
|
|
36
|
+
*/
|
|
37
|
+
export interface OverlayRenderDataSpecification {
|
|
38
|
+
/** The base renderer configuration */
|
|
39
|
+
baseRenderer: {
|
|
40
|
+
type: string;
|
|
41
|
+
data: any;
|
|
42
|
+
};
|
|
43
|
+
/** Array of overlay icons to display */
|
|
44
|
+
overlays: OverlayIconConfig[];
|
|
45
|
+
/** Whether overlays should remain visible after base renderer completes (default: true) */
|
|
46
|
+
persistOverlaysOnComplete?: boolean;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* A renderer that wraps another renderer and adds static overlay icons
|
|
50
|
+
* that are not affected by scrolling, scaling, or other transformations.
|
|
51
|
+
*/
|
|
52
|
+
export declare class OverlayRenderer implements Renderer, DoneAware {
|
|
53
|
+
private baseRenderer;
|
|
54
|
+
private overlayIcons;
|
|
55
|
+
private overlayConfigs;
|
|
56
|
+
private loadedIcons;
|
|
57
|
+
private canvas;
|
|
58
|
+
private ctx;
|
|
59
|
+
private persistOverlaysOnComplete;
|
|
60
|
+
private baseRendererCompleted;
|
|
61
|
+
private completionCallback;
|
|
62
|
+
private hasSignaledCompletion;
|
|
63
|
+
constructor(data: OverlayRenderDataSpecification, rendererFactory: (type: string, data: any) => Renderer);
|
|
64
|
+
private loadOverlayImages;
|
|
65
|
+
private calculateOverlayPosition;
|
|
66
|
+
reset(): void;
|
|
67
|
+
renderFrame(width: number, height: number): void;
|
|
68
|
+
private renderOverlays;
|
|
69
|
+
readPixels(width: number, height: number): Uint8ClampedArray;
|
|
70
|
+
play?(): void;
|
|
71
|
+
pause?(): void;
|
|
72
|
+
dispose?(): void;
|
|
73
|
+
onDone(callback: () => void): void;
|
|
74
|
+
isOneShot?(): boolean;
|
|
75
|
+
}
|
|
76
|
+
//# sourceMappingURL=overlay-renderer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"overlay-renderer.d.ts","sourceRoot":"","sources":["../../../../../../../../../packages/sdk/kos-ui-sdk/src/models/models/canvas-dispatcher/utils/renderers/overlay-renderer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAgC,QAAQ,EAAE,MAAM,aAAa,CAAC;AAErF;;GAEG;AACH,MAAM,MAAM,eAAe,GACvB,UAAU,GACV,YAAY,GACZ,WAAW,GACX,aAAa,GACb,QAAQ,GACR,cAAc,GACd,aAAa,GACb,eAAe,GACf,cAAc,CAAC;AAEnB;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,wCAAwC;IACxC,GAAG,EAAE,MAAM,CAAC;IACZ,kDAAkD;IAClD,IAAI,EAAE,MAAM,CAAC;IACb,6EAA6E;IAC7E,QAAQ,EAAE,eAAe,GAAG,qBAAqB,CAAC;IAClD,kDAAkD;IAClD,MAAM,CAAC,EAAE;QAAE,CAAC,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACpC,6BAA6B;IAC7B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,mEAAmE;IACnE,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,8BAA8B;IAC7C,sCAAsC;IACtC,YAAY,EAAE;QACZ,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,GAAG,CAAC;KACX,CAAC;IACF,wCAAwC;IACxC,QAAQ,EAAE,iBAAiB,EAAE,CAAC;IAC9B,2FAA2F;IAC3F,yBAAyB,CAAC,EAAE,OAAO,CAAC;CACrC;AAED;;;GAGG;AACH,qBAAa,eAAgB,YAAW,QAAQ,EAAE,SAAS;IACzD,OAAO,CAAC,YAAY,CAAW;IAC/B,OAAO,CAAC,YAAY,CAA4C;IAChE,OAAO,CAAC,cAAc,CAAsB;IAC5C,OAAO,CAAC,WAAW,CAAqB;IACxC,OAAO,CAAC,MAAM,CAAoB;IAClC,OAAO,CAAC,GAAG,CAA2B;IACtC,OAAO,CAAC,yBAAyB,CAAU;IAC3C,OAAO,CAAC,qBAAqB,CAAS;IACtC,OAAO,CAAC,kBAAkB,CAA6B;IACvD,OAAO,CAAC,qBAAqB,CAAS;gBAE1B,IAAI,EAAE,8BAA8B,EAAE,eAAe,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,KAAK,QAAQ;YA2B1F,iBAAiB;IAkB/B,OAAO,CAAC,wBAAwB;IAkEhC,KAAK,IAAI,IAAI;IAMb,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAgChD,OAAO,CAAC,cAAc;IAmCtB,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,iBAAiB;IAK5D,IAAI,CAAC,IAAI,IAAI;IAMb,KAAK,CAAC,IAAI,IAAI;IAMd,OAAO,CAAC,IAAI,IAAI;IAgBhB,MAAM,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,IAAI;IASlC,SAAS,CAAC,IAAI,OAAO;CAYtB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"renderer-factory.d.ts","sourceRoot":"","sources":["../../../../../../../../../packages/sdk/kos-ui-sdk/src/models/models/canvas-dispatcher/utils/renderers/renderer-factory.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACV,uBAAuB,EACvB,QAAQ,EAER,YAAY,EACb,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"renderer-factory.d.ts","sourceRoot":"","sources":["../../../../../../../../../packages/sdk/kos-ui-sdk/src/models/models/canvas-dispatcher/utils/renderers/renderer-factory.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACV,uBAAuB,EACvB,QAAQ,EAER,YAAY,EACb,MAAM,aAAa,CAAC;AAmGrB;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,WAAW,4CAGrB;IACD,IAAI,EAAE,CAAC,CAAC;IACR,IAAI,CAAC,EAAE,wBAAwB,CAAC,CAAC,GAAG,IAAI,CAAC;CAC1C,KAAG,QAAQ,GAAG,IAQd,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kosdev-code/kos-ui-sdk",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.40",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"main": "./index.cjs",
|
|
6
6
|
"module": "./index.js",
|
|
@@ -36,7 +36,7 @@
|
|
|
36
36
|
},
|
|
37
37
|
"kos": {
|
|
38
38
|
"build": {
|
|
39
|
-
"gitHash": "
|
|
39
|
+
"gitHash": "e892e3567f1518d84fb37df390a1b23e5bc40ccd"
|
|
40
40
|
}
|
|
41
41
|
}
|
|
42
42
|
}
|