@illgrenoble/webx-client 1.11.0 → 1.12.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.
Files changed (64) hide show
  1. package/dist/GuacamoleKeyboard.js +1551 -0
  2. package/dist/WebXClient.d.ts +1 -1
  3. package/dist/common/WebXImageBlenderFunc.d.ts +26 -0
  4. package/dist/common/WebXSubImage.d.ts +50 -0
  5. package/dist/common/WebXWindowProperties.d.ts +44 -0
  6. package/dist/common/index.d.ts +3 -0
  7. package/dist/display/WebXCursor.d.ts +5 -17
  8. package/dist/display/WebXCursor.js +22 -33
  9. package/dist/display/WebXCursor.js.map +1 -1
  10. package/dist/display/WebXCursorFactory.d.ts +2 -2
  11. package/dist/display/WebXDisplay.d.ts +11 -9
  12. package/dist/display/WebXDisplay.js +10 -4
  13. package/dist/display/WebXDisplay.js.map +1 -1
  14. package/dist/display/WebXDisplayOverlay.d.ts +10 -0
  15. package/dist/display/WebXDisplayOverlay.js +31 -0
  16. package/dist/display/WebXDisplayOverlay.js.map +1 -0
  17. package/dist/display/WebXTexture.d.ts +6 -0
  18. package/dist/display/WebXTextureFunc.d.ts +3 -0
  19. package/dist/display/WebXWindow.d.ts +4 -4
  20. package/dist/display/WebXWindow.js +12 -9
  21. package/dist/display/WebXWindow.js.map +1 -1
  22. package/dist/display/WebXWindowImageFactory.d.ts +31 -0
  23. package/dist/display/index.d.ts +0 -6
  24. package/dist/index.d.ts +2 -0
  25. package/dist/message/WebXCursorImageMessage.d.ts +3 -3
  26. package/dist/message/WebXImageMessage.d.ts +4 -4
  27. package/dist/message/WebXMessage.d.ts +13 -1
  28. package/dist/message/WebXShapeMessage.d.ts +3 -3
  29. package/dist/message/WebXSubImagesMessage.d.ts +1 -1
  30. package/dist/message/WebXWindowsMessage.d.ts +1 -1
  31. package/dist/renderer/WebXCanvasRenderer.d.ts +1 -1
  32. package/dist/renderer/WebXImageBlender.d.ts +30 -0
  33. package/dist/renderer/WebXImageBlenderFunc.d.ts +8 -0
  34. package/dist/renderer/WebXImageBlenderWorker.d.ts +1 -0
  35. package/dist/renderer/WebXWindowCanvas.d.ts +27 -8
  36. package/dist/renderer/WebXWindowCanvas.js +10 -4
  37. package/dist/renderer/WebXWindowCanvas.js.map +1 -1
  38. package/dist/renderer/index.d.ts +1 -1
  39. package/dist/texture/WebXTexture.d.ts +18 -0
  40. package/dist/texture/WebXTextureFactory.d.ts +23 -0
  41. package/dist/texture/WebXTextureFunc.d.ts +3 -0
  42. package/dist/texture/index.d.ts +3 -0
  43. package/dist/transport/WebXBinarySerializer.d.ts +13 -8
  44. package/dist/transport/WebXMessageBuffer.d.ts +4 -0
  45. package/dist/transport/WebXMessageDecoder.d.ts +2 -5
  46. package/dist/transport/WebXMessageDecoderWorker.d.ts +1 -0
  47. package/dist/transport/WebXMessageFunc.d.ts +22 -0
  48. package/dist/transport/index.d.ts +0 -2
  49. package/dist/tunnel/WebXTunnel.d.ts +5 -2
  50. package/dist/tunnel/WebXWebSocketTunnel.d.ts +2 -4
  51. package/dist/webx-client.cjs +5391 -0
  52. package/dist/webx-client.cjs.map +1 -0
  53. package/dist/webx-client.esm.js +5322 -0
  54. package/dist/webx-client.esm.js.map +1 -0
  55. package/package.json +11 -9
  56. package/dist/renderer/WebXBlenderWorker.d.ts +0 -1
  57. package/dist/renderer/WebXBlenderWorker.js +0 -33
  58. package/dist/renderer/WebXBlenderWorker.js.map +0 -1
  59. package/dist/renderer/WebXWindowBlender.d.ts +0 -11
  60. package/dist/renderer/WebXWindowBlender.js +0 -27
  61. package/dist/renderer/WebXWindowBlender.js.map +0 -1
  62. package/dist/renderer/blender.d.ts +0 -5
  63. package/dist/renderer/blender.js +0 -201
  64. package/dist/renderer/blender.js.map +0 -1
@@ -353,30 +353,34 @@ class WebXWindow {
353
353
  if (colorMap == null) {
354
354
  return;
355
355
  }
356
+ const hasColorMapStart = this.colorMap != null;
357
+ const hasAlphaMapStart = this.alphaMap != null;
356
358
  this._depth = depth;
357
359
  // Dispose of previous texture
358
360
  if (colorMap != this.colorMap) {
359
361
  this._disposeColorMap();
360
362
  this.colorMap = colorMap;
361
363
  }
362
- colorMap.minFilter = three_1.LinearFilter;
363
364
  this.colorMap.repeat.set(this._width / this.colorMap.image.width, this._height / this.colorMap.image.height);
364
365
  this.visible = (!this._shaped || this.stencilMap != null);
365
- this._material.needsUpdate = true;
366
366
  // Only update alpha if it has been sent
367
367
  if (alphaMap) {
368
368
  if (alphaMap != this.alphaMap) {
369
369
  this._disposeAlphaMap();
370
370
  this.alphaMap = alphaMap;
371
371
  }
372
- this.alphaMap.minFilter = three_1.LinearFilter;
373
372
  this.alphaMap.repeat.set(this._width / this.alphaMap.image.width, this._height / this.alphaMap.image.height);
374
- this._material.needsUpdate = true;
375
373
  }
376
374
  else if (depth == 24) {
377
375
  this._disposeAlphaMap();
378
376
  }
379
377
  this._material.transparent = (this.alphaMap != null || depth === 32);
378
+ const hasColorMapEnd = this.colorMap != null;
379
+ const hasAlphaMapEnd = this.alphaMap != null;
380
+ // Recompile the material if map usage changes
381
+ if (hasColorMapStart != hasColorMapEnd || hasAlphaMapStart != hasAlphaMapEnd) {
382
+ this._material.needsUpdate = true;
383
+ }
380
384
  // Request a window update if it's not a full window
381
385
  if (!isFullWindow) {
382
386
  if (this._windowRefreshTimeout) {
@@ -404,15 +408,14 @@ class WebXWindow {
404
408
  if (stencilMap) {
405
409
  stencilMap.minFilter = three_1.LinearFilter;
406
410
  this.visible = this.colorMap != null;
407
- this._material.needsUpdate = true;
408
411
  this._shaped = true;
409
412
  }
410
413
  else {
411
414
  this._shaped = false;
412
- // Recompile the material if the shape has been removed
413
- if (oldShaped) {
414
- this._material.needsUpdate = true;
415
- }
415
+ }
416
+ // Recompile the material if needed
417
+ if (oldShaped !== this._shaped) {
418
+ this._material.needsUpdate = true;
416
419
  }
417
420
  }
418
421
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"WebXWindow.js","sourceRoot":"","sources":["../../src/display/WebXWindow.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"WebXWindow.js","sourceRoot":"","sources":["../../src/display/WebXWindow.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,31 @@
1
+ import { WebXTunnel } from '../tunnel';
2
+ import { WebXTexture } from "../texture";
3
+ /**
4
+ * Factory class for request textures for WebX windows.
5
+ *
6
+ * This class retrieves textures from the WebX Engine
7
+ */
8
+ export declare class WebXWindowImageFactory {
9
+ private _tunnel;
10
+ constructor(_tunnel: WebXTunnel);
11
+ /**
12
+ * Retrieves the textures (colorMap and alphaMap) for a specific window ID from the WebX Engine.
13
+ *
14
+ * @param windowId The ID of the window to retrieve the texture for.
15
+ * @returns A promise that resolves to the textures and associated data.
16
+ */
17
+ getWindowTexture(windowId: number): Promise<{
18
+ depth: number;
19
+ colorMap: WebXTexture;
20
+ alphaMap: WebXTexture;
21
+ }>;
22
+ /**
23
+ * Retrieves the stencil textures for a specific window ID from the WebX Engine.
24
+ *
25
+ * @param windowId The ID of the window to retrieve the texture for.
26
+ * @returns A promise that resolves to the stencil texture
27
+ */
28
+ getWindowStencilTexture(windowId: number): Promise<{
29
+ stencilMap: WebXTexture;
30
+ }>;
31
+ }
@@ -1,7 +1 @@
1
- export * from './WebXCursor';
2
1
  export * from './WebXDisplay';
3
- export * from './WebXWindow';
4
- export * from './WebXWindowProperties';
5
- export * from './WebXTextureFactory';
6
- export * from './WebXSubImage';
7
- export * from './WebXCursorFactory';
package/dist/index.d.ts CHANGED
@@ -1,7 +1,9 @@
1
+ export * from './common';
1
2
  export * from './display';
2
3
  export * from './input';
3
4
  export * from './instruction';
4
5
  export * from './message';
6
+ export * from './texture';
5
7
  export * from './tracer';
6
8
  export * from './tunnel';
7
9
  export * from './WebXClient';
@@ -1,5 +1,5 @@
1
1
  import { WebXMessage } from './WebXMessage';
2
- import { Texture } from 'three';
2
+ import { WebXTexture } from "../texture";
3
3
  /**
4
4
  * Represents a message containing cursor image data.
5
5
  *
@@ -22,7 +22,7 @@ export declare class WebXCursorImageMessage extends WebXMessage {
22
22
  /**
23
23
  * The texture of the cursor.
24
24
  */
25
- readonly texture: Texture;
25
+ readonly texture: WebXTexture;
26
26
  /**
27
27
  * The x-coordinate of the cursor's position.
28
28
  */
@@ -42,5 +42,5 @@ export declare class WebXCursorImageMessage extends WebXMessage {
42
42
  * @param y The y-coordinate of the cursor's position.
43
43
  * @param commandId The ID of the command associated with this message.
44
44
  */
45
- constructor(x: number, y: number, xHot: number, yHot: number, cursorId: number, texture: Texture, commandId: number);
45
+ constructor(x: number, y: number, xHot: number, yHot: number, cursorId: number, texture: WebXTexture, commandId: number);
46
46
  }
@@ -1,5 +1,5 @@
1
1
  import { WebXMessage } from './WebXMessage';
2
- import { Texture } from 'three';
2
+ import { WebXTexture } from "../texture";
3
3
  /**
4
4
  * Represents a message containing image data for a window.
5
5
  *
@@ -18,11 +18,11 @@ export declare class WebXImageMessage extends WebXMessage {
18
18
  /**
19
19
  * The color texture of the image.
20
20
  */
21
- readonly colorMap: Texture;
21
+ readonly colorMap: WebXTexture;
22
22
  /**
23
23
  * The alpha texture of the image.
24
24
  */
25
- readonly alphaMap: Texture;
25
+ readonly alphaMap: WebXTexture;
26
26
  /**
27
27
  * The size of the image.
28
28
  */
@@ -37,5 +37,5 @@ export declare class WebXImageMessage extends WebXMessage {
37
37
  * @param commandId The ID of the command associated with this message.
38
38
  * @param size The size of the image.
39
39
  */
40
- constructor(windowId: number, depth: number, colorMap: Texture, alphaMap: Texture, commandId: number, size: number);
40
+ constructor(windowId: number, depth: number, colorMap: WebXTexture, alphaMap: WebXTexture, commandId: number, size: number);
41
41
  }
@@ -14,11 +14,23 @@ export declare abstract class WebXMessage {
14
14
  * The ID of the command associated with this message.
15
15
  */
16
16
  readonly commandId: number;
17
+ /**
18
+ * Used to globally set function of web worker when decoding messages
19
+ */
20
+ private static _convertToImageDataInWorker;
17
21
  /**
18
22
  * Constructs a new WebXMessage.
19
23
  *
20
24
  * @param type The type of the message.
21
25
  * @param commandId The ID of the command associated with this message.
22
26
  */
23
- constructor(type: WebXMessageType, commandId?: number);
27
+ protected constructor(type: WebXMessageType, commandId?: number);
28
+ /**
29
+ * Get the flag to determine if images should be converted to image data in a worker
30
+ */
31
+ static get convertToImageDataInWorker(): boolean;
32
+ /**
33
+ * Set the flag to specify whether images should be converted to image data in a worker
34
+ */
35
+ static set convertToImageDataInWorker(value: boolean);
24
36
  }
@@ -1,5 +1,5 @@
1
1
  import { WebXMessage } from './WebXMessage';
2
- import { Texture } from 'three';
2
+ import { WebXTexture } from "../texture";
3
3
  /**
4
4
  * Represents a message containing image data for a window.
5
5
  *
@@ -14,7 +14,7 @@ export declare class WebXShapeMessage extends WebXMessage {
14
14
  /**
15
15
  * The stencil texture of the window.
16
16
  */
17
- readonly stencilMap: Texture;
17
+ readonly stencilMap: WebXTexture;
18
18
  /**
19
19
  * The size of the image.
20
20
  */
@@ -27,5 +27,5 @@ export declare class WebXShapeMessage extends WebXMessage {
27
27
  * @param commandId The ID of the command associated with this message.
28
28
  * @param size The size of the image.
29
29
  */
30
- constructor(windowId: number, stencilMap: Texture, commandId: number, size: number);
30
+ constructor(windowId: number, stencilMap: WebXTexture, commandId: number, size: number);
31
31
  }
@@ -1,5 +1,5 @@
1
1
  import { WebXMessage } from './WebXMessage';
2
- import { WebXSubImage } from '../display';
2
+ import { WebXSubImage } from '../common';
3
3
  /**
4
4
  * Represents a message containing sub-image data for a window.
5
5
  *
@@ -1,5 +1,5 @@
1
1
  import { WebXMessage } from './WebXMessage';
2
- import { WebXWindowProperties } from '../display';
2
+ import { WebXWindowProperties } from '../common';
3
3
  /**
4
4
  * Represents a message containing information about visible windows.
5
5
  *
@@ -11,7 +11,7 @@ export declare class WebXCanvasRenderer {
11
11
  private _desktopContainer;
12
12
  private _desktop;
13
13
  private _clearColor;
14
- private readonly _alphaStencilBlender;
14
+ private readonly _imageBlender;
15
15
  private _windowCanvases;
16
16
  /**
17
17
  * Gets the root DOM element of the renderer.
@@ -0,0 +1,30 @@
1
+ /**
2
+ * The `WebXAlphaStencilBlender` class handles blending of alpha and stencil data
3
+ * for rendering purposes. It uses a Web Worker for asynchronous processing.
4
+ */
5
+ export declare class WebXImageBlender {
6
+ private readonly _worker;
7
+ private _pending;
8
+ private _nextId;
9
+ /**
10
+ * Initializes the `WebXAlphaStencilBlender` and sets up the Web Worker (if web-workers present on the client).
11
+ * The web worker is initialised from the worker/blending functions above. Each blending request is assigned an id.
12
+ * The data is passed to the web worker along with the Id. The web worker returns the Id with blended data so that the
13
+ * calling promise can be resolved.
14
+ */
15
+ constructor();
16
+ /**
17
+ * Blends alpha and stencil data asynchronously.
18
+ * Main entry point to blend the different buffers. If a web-worker is available on the client then the data is prepared to transfer
19
+ * to the worker. Otherwise the standard blending function is called immediately.
20
+ * @param colorImageData - The color image data.
21
+ * @param alphaImageData - The alpha image data.
22
+ * @param stencilImageData - The stencil image data.
23
+ * @returns A promise that resolves to the blended `ImageData`.
24
+ */
25
+ blendAlphaAndStencil(colorImageData: ImageData, alphaImageData: ImageData, stencilImageData: ImageData): Promise<ImageData>;
26
+ /**
27
+ * Terminates the Web Worker and clears pending tasks.
28
+ */
29
+ terminate(): void;
30
+ }
@@ -0,0 +1,8 @@
1
+ /**
2
+ * The Alpha and stencil buffer blending function. The alpha buffer contains alpha data in the
3
+ * green channel. The stencil buffer is a black and white image: only pixels with a stencil value > 127 are to be rendered
4
+ * @param colorData the color data array
5
+ * @param alphaData the alpha data array
6
+ * @param stencilData the stencil data array
7
+ */
8
+ export declare const alphaAndStencilBlend: (colorData: Uint8ClampedArray, alphaData: Uint8ClampedArray, stencilData: Uint8ClampedArray) => void;
@@ -0,0 +1 @@
1
+ export {};
@@ -1,5 +1,5 @@
1
1
  import { Mesh, Texture, Vector2 } from "three";
2
- import { WebXAlphaStencilBlender } from "./WebXAlphaStencilBlender";
2
+ import { WebXImageBlender } from "./WebXImageBlender";
3
3
  /**
4
4
  * The `WebXWindowCanvas` class holds the graphical elements necessary for rendering
5
5
  * a specific window in the desktop environment. HTML Canvases are used for rendering image data. Window image data
@@ -7,11 +7,10 @@ import { WebXAlphaStencilBlender } from "./WebXAlphaStencilBlender";
7
7
  */
8
8
  export declare class WebXWindowCanvas {
9
9
  private readonly _mesh;
10
- private readonly _alphaStencilBlender;
10
+ private readonly _imageBlender;
11
11
  private readonly _canvas;
12
12
  private _context;
13
- private _stencilCanvas;
14
- private _stencilContext;
13
+ private _stencilData;
15
14
  private _x;
16
15
  private _y;
17
16
  private _zIndex;
@@ -53,9 +52,9 @@ export declare class WebXWindowCanvas {
53
52
  * Initializes a new `WebXWindowCanvas` for the given window Mesh and Material. The Mesh and Material contains all graphical information
54
53
  * necessary to render a window (namely window position, size and z-order), the Mesh Material contains the graphical information (color, alpha and stencil data).
55
54
  * @param _mesh - The `Mesh` object representing the window.
56
- * @param _alphaStencilBlender - The alpha stencil blender instance.
55
+ * @param _imageBlender - The image blender instance.
57
56
  */
58
- constructor(_mesh: Mesh, _alphaStencilBlender: WebXAlphaStencilBlender);
57
+ constructor(_mesh: Mesh, _imageBlender: WebXImageBlender);
59
58
  /**
60
59
  * Updates the geometry of the window canvas based on the mesh's properties if any changes are needed.
61
60
  */
@@ -78,6 +77,7 @@ export declare class WebXWindowCanvas {
78
77
  * @param dstPosition - The destination position of the region.
79
78
  */
80
79
  addRegionUpdate(srcColorMap: Texture, dstColorMap: Texture, srcAlphaMap: Texture, dstAlphaMap: Texture, width: number, height: number, dstPosition: Vector2): void;
80
+ private resizeCanvas;
81
81
  /**
82
82
  * Handles all pending region updates for the canvas. The different buffers (color, alpha and stencil) are blended (in a web
83
83
  * worker if available) and then re-rendered into the main canvas of the window. If the window has only a color buffer then this
@@ -98,8 +98,8 @@ export declare class WebXWindowCanvas {
98
98
  /**
99
99
  * Prepares temporary canvases to renderer the image data (jpeg format) into raw pixmaps. The pixmap data for the different
100
100
  * images is sent to the blender for processing.
101
- * @param colorImage - The color image.
102
- * @param alphaImage - The alpha image.
101
+ * @param colorMap - The color texture.
102
+ * @param alphaMap - The alpha texture.
103
103
  * @param dstX - The destination X position.
104
104
  * @param dstY - The destination Y position.
105
105
  * @returns A promise that resolves to the blended `ImageData`.
@@ -111,4 +111,23 @@ export declare class WebXWindowCanvas {
111
111
  * @returns The created `HTMLElement`.
112
112
  */
113
113
  private createElementNS;
114
+ /**
115
+ * Generates ImageData from an image (ImageBitmap | HTMLImageElement) by creating a temporary canvas
116
+ * and drawing the image onto it. The raw image data is then read from the canvas.
117
+ * @param image the image to convert to ImageData
118
+ */
119
+ private getImageData;
120
+ /**
121
+ * Converts raw image data from TextureImageData into an ImageData object. Ensures that the raw data is a Uin8ClampedArray
122
+ * @param textureData the raw image data from a TextureData
123
+ */
124
+ private dataTextureToImageData;
125
+ /**
126
+ * Returns a region of the stencil data as a new ImageData object
127
+ * @param x the x position of the region
128
+ * @param y the y position of the region
129
+ * @param width the width of the region
130
+ * @param height the height of the region
131
+ */
132
+ private getStencilDataRegion;
114
133
  }
@@ -118,12 +118,12 @@ class WebXWindowCanvas {
118
118
  */
119
119
  updateCanvas() {
120
120
  return __awaiter(this, void 0, void 0, function* () {
121
- var _a;
121
+ var _a, _b;
122
122
  if (this._mesh.material instanceof WebXMaterial_1.WebXMaterial || this._mesh.material instanceof three_1.MeshBasicMaterial) {
123
123
  const material = this._mesh.material;
124
124
  // Handle the stencil map
125
125
  this.updateStencilMap(material);
126
- if (material.map) {
126
+ if ((_a = material.map) === null || _a === void 0 ? void 0 : _a.image) {
127
127
  // Check for new color map and/or alpha map
128
128
  const updateCanvas = material.map != this._colorMap || material.alphaMap != this._alphaMap;
129
129
  if (updateCanvas) {
@@ -140,13 +140,19 @@ class WebXWindowCanvas {
140
140
  }
141
141
  const hasAlphaMap = this.isValidAlphaMap(material.alphaMap);
142
142
  if (hasAlphaMap || this._stencilContext) {
143
- const alphaImage = (_a = material.alphaMap) === null || _a === void 0 ? void 0 : _a.image;
143
+ const alphaImage = (_b = material.alphaMap) === null || _b === void 0 ? void 0 : _b.image;
144
144
  const blendedImageData = yield this.blendAlphaAndStencil(colorImage, alphaImage, 0, 0);
145
145
  this._context.putImageData(blendedImageData, 0, 0);
146
146
  }
147
147
  else {
148
148
  this._context.clearRect(0, 0, width, height);
149
- this._context.drawImage(colorImage, 0, 0, width, height);
149
+ if (material.map instanceof three_1.DataTexture) {
150
+ const imageData = new ImageData(new Uint8ClampedArray(colorImage.data.buffer), colorImage.width, colorImage.height);
151
+ this._context.putImageData(imageData, 0, 0);
152
+ }
153
+ else {
154
+ this._context.drawImage(colorImage, 0, 0, width, height);
155
+ }
150
156
  }
151
157
  }
152
158
  // Apply any regional updates
@@ -1 +1 @@
1
- {"version":3,"file":"WebXWindowCanvas.js","sourceRoot":"","sources":["../../src/renderer/WebXWindowCanvas.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"WebXWindowCanvas.js","sourceRoot":"","sources":["../../src/renderer/WebXWindowCanvas.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,3 @@
1
1
  export * from './WebXCanvasRenderer';
2
2
  export * from './WebXWindowCanvas';
3
- export * from './WebXAlphaStencilBlender';
3
+ export * from './WebXImageBlender';
@@ -0,0 +1,18 @@
1
+ export declare const SRGBColorSpace = "srgb";
2
+ export declare const LinearSRGBColorSpace = "srgb-linear";
3
+ export declare class WebXTexture {
4
+ image: ImageBitmap | HTMLImageElement;
5
+ data: Uint8ClampedArray;
6
+ colorSpace: string;
7
+ flipY: boolean;
8
+ width: number;
9
+ height: number;
10
+ constructor(data: {
11
+ image?: ImageBitmap | HTMLImageElement;
12
+ data?: Uint8ClampedArray;
13
+ width?: number;
14
+ height?: number;
15
+ });
16
+ isTransferable(): boolean;
17
+ get transferable(): Transferable;
18
+ }
@@ -0,0 +1,23 @@
1
+ import { WebXTexture } from "./WebXTexture";
2
+ /**
3
+ * Factory class for creating textures for WebX windows from image data.
4
+ */
5
+ export declare class WebXTextureFactory {
6
+ constructor();
7
+ /**
8
+ * Creates a texture from raw image data.
9
+ *
10
+ * @param imageData The raw image data as a Uint8Array.
11
+ * @param mimetype The MIME type of the image data (e.g., "image/png").
12
+ * @param colorSpace The color space of the image data (e.g., "srgb").
13
+ * @returns A promise that resolves to the created texture.
14
+ */
15
+ createTextureFromArray(imageData: Uint8Array, mimetype: string, colorSpace: string): Promise<WebXTexture>;
16
+ /**
17
+ * Creates a texture from a Blob object.
18
+ *
19
+ * @param blob The Blob object containing the image data.
20
+ * @returns A promise that resolves to the created texture.
21
+ */
22
+ createTextureFromBlob(blob: Blob): Promise<WebXTexture>;
23
+ }
@@ -0,0 +1,3 @@
1
+ import * as THREE from 'three';
2
+ import { WebXTexture } from "./WebXTexture";
3
+ export declare const toThreeTexture: (texture: WebXTexture) => THREE.Texture;
@@ -0,0 +1,3 @@
1
+ export * from './WebXTexture';
2
+ export * from './WebXTextureFactory';
3
+ export * from './WebXTextureFunc';
@@ -1,19 +1,23 @@
1
1
  import { WebXInstruction } from '../instruction';
2
2
  import { WebXMessage } from '../message';
3
- import { WebXMessageBuffer } from '.';
4
- import { WebXTextureFactory } from '../display';
3
+ import { WebXMessageBuffer } from "./WebXMessageBuffer";
5
4
  /**
6
5
  * Serializes and deserializes WebX instructions and messages.
7
6
  */
8
7
  export declare class WebXBinarySerializer {
9
8
  private readonly _instructionEncoder;
10
9
  private readonly _messageDecoder;
10
+ private readonly _worker;
11
+ private _pending;
12
+ private _nextId;
11
13
  /**
12
14
  * Creates a new instance of WebXBinarySerializer.
13
- *
14
- * @param textureFactory The texture factory used for decoding image data.
15
15
  */
16
- constructor(textureFactory: WebXTextureFactory);
16
+ constructor();
17
+ /**
18
+ * Terminates the Web Worker and clears pending tasks.
19
+ */
20
+ terminate(): void;
17
21
  /**
18
22
  * Serializes a WebXInstruction into a binary ArrayBuffer.
19
23
  *
@@ -22,10 +26,11 @@ export declare class WebXBinarySerializer {
22
26
  */
23
27
  serializeInstruction(instruction: WebXInstruction): ArrayBuffer;
24
28
  /**
25
- * Deserializes a binary message buffer into a WebXMessage object.
29
+ * Deserializes a binary message buffer into a WebXMessage object. A web worker is used if available
30
+ * and the message should be decoded in a separate thread.
26
31
  *
27
- * @param buffer The binary message buffer to deserialize.
32
+ * @param messageBuffer The binary message buffer to deserialize.
28
33
  * @returns A promise that resolves to the deserialized WebXMessage.
29
34
  */
30
- deserializeMessage(buffer: WebXMessageBuffer): Promise<WebXMessage>;
35
+ deserializeMessage(messageBuffer: WebXMessageBuffer): Promise<WebXMessage>;
31
36
  }
@@ -30,6 +30,10 @@ export declare class WebXMessageBuffer {
30
30
  * Gets the current read offset
31
31
  */
32
32
  get readOffset(): number;
33
+ /**
34
+ * Returns the raw ArrayBuffer object
35
+ */
36
+ get buffer(): ArrayBuffer;
33
37
  private _readOffset;
34
38
  private _encoder;
35
39
  /**
@@ -1,5 +1,4 @@
1
1
  import { WebXMessage } from '../message';
2
- import { WebXTextureFactory } from '../display';
3
2
  import { WebXMessageBuffer } from './WebXMessageBuffer';
4
3
  /**
5
4
  * Decodes binary messages received from the WebX Engine into WebXMessage objects.
@@ -7,13 +6,11 @@ import { WebXMessageBuffer } from './WebXMessageBuffer';
7
6
  * WebXMessage implementations.
8
7
  */
9
8
  export declare class WebXMessageDecoder {
10
- private _textureFactory;
9
+ private readonly _textureFactory;
11
10
  /**
12
11
  * Creates a new instance of WebXMessageDecoder.
13
- *
14
- * @param _textureFactory The texture factory used to create textures from image data.
15
12
  */
16
- constructor(_textureFactory: WebXTextureFactory);
13
+ constructor();
17
14
  /**
18
15
  * Decodes a binary message buffer into a WebXMessage object.
19
16
  *
@@ -0,0 +1 @@
1
+ export {};