@illgrenoble/webx-client 1.10.6 → 1.11.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/README.md +3 -1
- package/dist/WebXClient.js +1 -11
- package/dist/WebXClient.js.map +1 -1
- package/dist/display/WebXDisplay.d.ts +13 -1
- package/dist/display/WebXDisplay.js +84 -8
- package/dist/display/WebXDisplay.js.map +1 -1
- package/dist/renderer/WebXAlphaStencilBlender.d.ts +30 -0
- package/dist/renderer/WebXAlphaStencilBlender.js +136 -0
- package/dist/renderer/WebXAlphaStencilBlender.js.map +1 -0
- package/dist/renderer/WebXBlenderWorker.d.ts +1 -0
- package/dist/renderer/WebXBlenderWorker.js +33 -0
- package/dist/renderer/WebXBlenderWorker.js.map +1 -0
- package/dist/renderer/WebXCanvasRenderer.d.ts +91 -0
- package/dist/renderer/WebXCanvasRenderer.js +190 -0
- package/dist/renderer/WebXCanvasRenderer.js.map +1 -0
- package/dist/renderer/WebXWindowBlender.d.ts +11 -0
- package/dist/renderer/WebXWindowBlender.js +27 -0
- package/dist/renderer/WebXWindowBlender.js.map +1 -0
- package/dist/renderer/WebXWindowCanvas.d.ts +114 -0
- package/dist/renderer/WebXWindowCanvas.js +306 -0
- package/dist/renderer/WebXWindowCanvas.js.map +1 -0
- package/dist/renderer/blender.d.ts +5 -0
- package/dist/renderer/blender.js +201 -0
- package/dist/renderer/blender.js.map +1 -0
- package/dist/renderer/index.d.ts +3 -0
- package/dist/renderer/index.js +20 -0
- package/dist/renderer/index.js.map +1 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -10,7 +10,9 @@ All data sent over the websocket is in binary format as an optimisation (eg avoi
|
|
|
10
10
|
|
|
11
11
|
Two websocket tunnels are available for use: the standard websocket or a socket.io websocket. Since data is sent in binary format the standard websocket is recommended rather than socket.io for better performance.
|
|
12
12
|
|
|
13
|
-
WebGL is used to render the Remote Desktop (using the three.js library): textures for individual X11 windows and generated and updated directly from JPEG data sent from WebX Engine running the WebX host.
|
|
13
|
+
WebGL is used primarily to render the Remote Desktop (using the three.js library): textures for individual X11 windows and generated and updated directly from JPEG data sent from WebX Engine running the WebX host.
|
|
14
|
+
|
|
15
|
+
If WebGL is not available on the browser (or if software rendering is used) then the client library uses a custom CanvasRender to render the window images to pure HTML Canvases. In this case window image blending is performed in a web worker.
|
|
14
16
|
|
|
15
17
|
To account for varying bandwidths between the client and the remote desktop, the client can request different quality settings. For lower quality, this will for example reduce the image quality and reduce the frequency of window updates.
|
|
16
18
|
|
package/dist/WebXClient.js
CHANGED
|
@@ -282,17 +282,7 @@ class WebXClient {
|
|
|
282
282
|
*/
|
|
283
283
|
createScreenshot(type, quality) {
|
|
284
284
|
return __awaiter(this, void 0, void 0, function* () {
|
|
285
|
-
return
|
|
286
|
-
try {
|
|
287
|
-
this.display.render();
|
|
288
|
-
this.display.renderer.domElement.toBlob((blob) => {
|
|
289
|
-
resolve(blob);
|
|
290
|
-
}, type, quality);
|
|
291
|
-
}
|
|
292
|
-
catch (error) {
|
|
293
|
-
reject(error);
|
|
294
|
-
}
|
|
295
|
-
});
|
|
285
|
+
return this.display.createScreenshot(type, quality);
|
|
296
286
|
});
|
|
297
287
|
}
|
|
298
288
|
/**
|
package/dist/WebXClient.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WebXClient.js","sourceRoot":"","sources":["../src/WebXClient.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"WebXClient.js","sourceRoot":"","sources":["../src/WebXClient.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,6 +5,8 @@ import { WebXWindowProperties } from './WebXWindowProperties';
|
|
|
5
5
|
import { WebXSubImage } from './WebXSubImage';
|
|
6
6
|
import { WebXTextureFactory } from './WebXTextureFactory';
|
|
7
7
|
import { WebXCursorFactory } from './WebXCursorFactory';
|
|
8
|
+
import { WebXCanvasRenderer } from '../renderer';
|
|
9
|
+
import { Blob } from "buffer";
|
|
8
10
|
/**
|
|
9
11
|
* Manages the rendering of the WebX remote desktop using WebGL.
|
|
10
12
|
*
|
|
@@ -33,7 +35,7 @@ export declare class WebXDisplay {
|
|
|
33
35
|
*
|
|
34
36
|
* @returns The WebGLRenderer instance.
|
|
35
37
|
*/
|
|
36
|
-
get renderer(): THREE.WebGLRenderer;
|
|
38
|
+
get renderer(): THREE.WebGLRenderer | WebXCanvasRenderer;
|
|
37
39
|
/**
|
|
38
40
|
* Gets the width of the screen.
|
|
39
41
|
*
|
|
@@ -114,6 +116,12 @@ export declare class WebXDisplay {
|
|
|
114
116
|
* Renders the display by updating the WebGL context.
|
|
115
117
|
*/
|
|
116
118
|
render(): void;
|
|
119
|
+
/**
|
|
120
|
+
* Creates a screenshot of the current desktop with the specified image type and quality
|
|
121
|
+
* @param type The type of the screenshot (e.g., 'image/png').
|
|
122
|
+
* @param quality The quality of the screenshot (0 to 1).
|
|
123
|
+
*/
|
|
124
|
+
createScreenshot(type: string, quality: number): Promise<Blob>;
|
|
117
125
|
/**
|
|
118
126
|
* Adds a new window to the display.
|
|
119
127
|
*
|
|
@@ -223,4 +231,8 @@ export declare class WebXDisplay {
|
|
|
223
231
|
* Binds event listeners for resizing and other interactions.
|
|
224
232
|
*/
|
|
225
233
|
private _bindListeners;
|
|
234
|
+
/**
|
|
235
|
+
* Returns details about the availability and type of WebGL2 rendering
|
|
236
|
+
*/
|
|
237
|
+
private _detectWebGL2;
|
|
226
238
|
}
|
|
@@ -1,10 +1,20 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
2
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
12
|
exports.WebXDisplay = void 0;
|
|
4
13
|
const THREE = require("three");
|
|
5
14
|
const three_1 = require("three");
|
|
6
15
|
const WebXWindow_1 = require("./WebXWindow");
|
|
7
16
|
const WebXCursor_1 = require("./WebXCursor");
|
|
17
|
+
const renderer_1 = require("../renderer");
|
|
8
18
|
/**
|
|
9
19
|
* Manages the rendering of the WebX remote desktop using WebGL.
|
|
10
20
|
*
|
|
@@ -106,11 +116,26 @@ class WebXDisplay {
|
|
|
106
116
|
this._screen = new THREE.Object3D();
|
|
107
117
|
// this._scene.add(this._screen);
|
|
108
118
|
this._screen.add(this._cursor.mesh);
|
|
109
|
-
// this._camera = new THREE.OrthographicCamera(0, screenWidth, 0, screenHeight, 0.1, 100);
|
|
110
119
|
this._camera = new THREE.OrthographicCamera(0, screenWidth, 0, screenHeight, 0.1, 10000);
|
|
111
120
|
this._camera.position.z = 1000;
|
|
112
121
|
this._camera.lookAt(new three_1.Vector3(0, 0, 0));
|
|
113
|
-
|
|
122
|
+
const webglInfo = this._detectWebGL2();
|
|
123
|
+
const url = new URL(window.location.href);
|
|
124
|
+
const params = url.searchParams;
|
|
125
|
+
const forceCanvas = params.get("webx-canvas") === 'true';
|
|
126
|
+
if (webglInfo.available && !webglInfo.isSoftware && !forceCanvas) {
|
|
127
|
+
this._renderer = new THREE.WebGLRenderer();
|
|
128
|
+
}
|
|
129
|
+
else {
|
|
130
|
+
console.log(`WebGL2 Info: available = ${webglInfo.available}, isSoftware = ${webglInfo.isSoftware}, vendor = ${webglInfo.vendor}, renderer = ${webglInfo.renderer}`);
|
|
131
|
+
if (forceCanvas) {
|
|
132
|
+
console.log(`Canvas Renderer enabled through request param`);
|
|
133
|
+
}
|
|
134
|
+
else {
|
|
135
|
+
console.log(`Falling back to Canvas Renderer`);
|
|
136
|
+
}
|
|
137
|
+
this._renderer = new renderer_1.WebXCanvasRenderer();
|
|
138
|
+
}
|
|
114
139
|
this._renderer.setSize(screenWidth, screenHeight, false);
|
|
115
140
|
const backgroundColor = window.getComputedStyle(this._containerElement).backgroundColor;
|
|
116
141
|
this._renderer.setClearColor(backgroundColor);
|
|
@@ -172,6 +197,32 @@ class WebXDisplay {
|
|
|
172
197
|
render() {
|
|
173
198
|
this._renderer.render(this._scene, this._camera);
|
|
174
199
|
}
|
|
200
|
+
/**
|
|
201
|
+
* Creates a screenshot of the current desktop with the specified image type and quality
|
|
202
|
+
* @param type The type of the screenshot (e.g., 'image/png').
|
|
203
|
+
* @param quality The quality of the screenshot (0 to 1).
|
|
204
|
+
*/
|
|
205
|
+
createScreenshot(type, quality) {
|
|
206
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
207
|
+
if (this._renderer instanceof renderer_1.WebXCanvasRenderer) {
|
|
208
|
+
return this._renderer.createScreenshot(type, quality);
|
|
209
|
+
}
|
|
210
|
+
else {
|
|
211
|
+
const renderer = this._renderer;
|
|
212
|
+
return new Promise((resolve, reject) => {
|
|
213
|
+
try {
|
|
214
|
+
this.render();
|
|
215
|
+
renderer.domElement.toBlob((blob) => {
|
|
216
|
+
resolve(blob);
|
|
217
|
+
}, type, quality);
|
|
218
|
+
}
|
|
219
|
+
catch (error) {
|
|
220
|
+
reject(error);
|
|
221
|
+
}
|
|
222
|
+
});
|
|
223
|
+
}
|
|
224
|
+
});
|
|
225
|
+
}
|
|
175
226
|
/**
|
|
176
227
|
* Adds a new window to the display.
|
|
177
228
|
*
|
|
@@ -179,7 +230,6 @@ class WebXDisplay {
|
|
|
179
230
|
*/
|
|
180
231
|
addWindow(window) {
|
|
181
232
|
if (this._windows.find(existingWindow => existingWindow.id === window.id) == null) {
|
|
182
|
-
// console.log("Adding window ", window.id)
|
|
183
233
|
this._windows.push(window);
|
|
184
234
|
this._screen.add(window.mesh);
|
|
185
235
|
this._sceneDirty = true;
|
|
@@ -192,7 +242,6 @@ class WebXDisplay {
|
|
|
192
242
|
*/
|
|
193
243
|
removeWindow(window) {
|
|
194
244
|
if (this._windows.find(existingWindow => existingWindow.id === window.id) != null) {
|
|
195
|
-
// console.log("Removing window ", window.id)
|
|
196
245
|
this._windows = this._windows.filter(existingWindow => existingWindow.id !== window.id);
|
|
197
246
|
window.dispose();
|
|
198
247
|
this._screen.remove(window.mesh);
|
|
@@ -289,11 +338,16 @@ class WebXDisplay {
|
|
|
289
338
|
const alphaMap = window.alphaMap;
|
|
290
339
|
for (let i = 0; i < subImages.length; i++) {
|
|
291
340
|
const subImage = subImages[i];
|
|
292
|
-
if (
|
|
293
|
-
this._renderer.
|
|
341
|
+
if (this._renderer instanceof renderer_1.WebXCanvasRenderer) {
|
|
342
|
+
this._renderer.updateWindowRegion(window.mesh.id, subImage.colorMap, colorMap, subImage.alphaMap, alphaMap, subImage.width, subImage.height, new THREE.Vector2(subImage.x, subImage.y));
|
|
294
343
|
}
|
|
295
|
-
|
|
296
|
-
|
|
344
|
+
else {
|
|
345
|
+
if (colorMap && subImage.colorMap) {
|
|
346
|
+
this._renderer.copyTextureToTexture(subImage.colorMap, colorMap, null, new THREE.Vector2(subImage.x, subImage.y));
|
|
347
|
+
}
|
|
348
|
+
if (alphaMap && subImage.alphaMap) {
|
|
349
|
+
this._renderer.copyTextureToTexture(subImage.alphaMap, alphaMap, null, new THREE.Vector2(subImage.x, subImage.y));
|
|
350
|
+
}
|
|
297
351
|
}
|
|
298
352
|
}
|
|
299
353
|
window.updateTexture(window.depth, colorMap, alphaMap, false);
|
|
@@ -420,6 +474,28 @@ class WebXDisplay {
|
|
|
420
474
|
_bindListeners() {
|
|
421
475
|
this.resize = this.resize.bind(this);
|
|
422
476
|
}
|
|
477
|
+
/**
|
|
478
|
+
* Returns details about the availability and type of WebGL2 rendering
|
|
479
|
+
*/
|
|
480
|
+
_detectWebGL2() {
|
|
481
|
+
const canvas = document.createElement("canvas");
|
|
482
|
+
const gl = canvas.getContext("webgl2");
|
|
483
|
+
if (!gl) {
|
|
484
|
+
return { available: false };
|
|
485
|
+
}
|
|
486
|
+
const renderer = gl.getParameter(gl.RENDERER);
|
|
487
|
+
const vendor = gl.getParameter(gl.VENDOR);
|
|
488
|
+
let unmaskedRenderer = null;
|
|
489
|
+
let unmaskedVendor = null;
|
|
490
|
+
const ext = gl.getExtension("WEBGL_debug_renderer_info");
|
|
491
|
+
if (ext) {
|
|
492
|
+
unmaskedRenderer = gl.getParameter(ext.UNMASKED_RENDERER_WEBGL);
|
|
493
|
+
unmaskedVendor = gl.getParameter(ext.UNMASKED_VENDOR_WEBGL);
|
|
494
|
+
}
|
|
495
|
+
const rendererStr = (unmaskedRenderer || renderer || "").toLowerCase();
|
|
496
|
+
const isSoftware = /swiftshader|llvmpipe|basic render|software/i.test(rendererStr);
|
|
497
|
+
return { available: true, vendor: unmaskedVendor || vendor, renderer: unmaskedRenderer || renderer, isSoftware };
|
|
498
|
+
}
|
|
423
499
|
}
|
|
424
500
|
exports.WebXDisplay = WebXDisplay;
|
|
425
501
|
//# sourceMappingURL=WebXDisplay.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WebXDisplay.js","sourceRoot":"","sources":["../../src/display/WebXDisplay.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"WebXDisplay.js","sourceRoot":"","sources":["../../src/display/WebXDisplay.ts"],"names":[],"mappings":"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"}
|
|
@@ -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 WebXAlphaStencilBlender {
|
|
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,136 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.WebXAlphaStencilBlender = void 0;
|
|
13
|
+
/**
|
|
14
|
+
* The Alpha and stencil buffer blending function. The alpha buffer contains alpha data in the
|
|
15
|
+
* green channel. The stencil buffer is a black and white image: only pixels with a stencil value > 127 are to be rendered
|
|
16
|
+
* @param colorData the color data array
|
|
17
|
+
* @param alphaData the alpha data array
|
|
18
|
+
* @param stencilData the stencil data array
|
|
19
|
+
*/
|
|
20
|
+
function alphaAndStencilBlend(colorData, alphaData, stencilData) {
|
|
21
|
+
if (alphaData && stencilData) {
|
|
22
|
+
for (let i = 0; i < colorData.length; i += 4) {
|
|
23
|
+
if (stencilData[i] < 128) {
|
|
24
|
+
colorData[i + 3] = 0;
|
|
25
|
+
}
|
|
26
|
+
else {
|
|
27
|
+
colorData[i + 3] = alphaData[i + 1];
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
else if (alphaData) {
|
|
32
|
+
for (let i = 0; i < colorData.length; i += 4) {
|
|
33
|
+
colorData[i + 3] = alphaData[i + 1];
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
else if (stencilData) {
|
|
37
|
+
for (let i = 0; i < colorData.length; i += 4) {
|
|
38
|
+
colorData[i + 3] = stencilData[i] < 128 ? 0 : 255;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* The entry point for the web worker. Receives messages with data for color, alpha and stencil data and calls the blending
|
|
44
|
+
* function.
|
|
45
|
+
*/
|
|
46
|
+
function alphaWorkerFunc() {
|
|
47
|
+
self.onmessage = (e) => {
|
|
48
|
+
const { id, colorBuffer, alphaBuffer, stencilBuffer, width, height } = e.data;
|
|
49
|
+
const colorData = new Uint8ClampedArray(colorBuffer);
|
|
50
|
+
const alphaData = alphaBuffer ? new Uint8ClampedArray(alphaBuffer) : null;
|
|
51
|
+
const stencilData = stencilBuffer ? new Uint8ClampedArray(stencilBuffer) : null;
|
|
52
|
+
alphaAndStencilBlend(colorData, alphaData, stencilData);
|
|
53
|
+
// @ts-ignore
|
|
54
|
+
self.postMessage({ id, colorBuffer: colorData.buffer, width, height }, [colorData.buffer]);
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* The `WebXAlphaStencilBlender` class handles blending of alpha and stencil data
|
|
59
|
+
* for rendering purposes. It uses a Web Worker for asynchronous processing.
|
|
60
|
+
*/
|
|
61
|
+
class WebXAlphaStencilBlender {
|
|
62
|
+
/**
|
|
63
|
+
* Initializes the `WebXAlphaStencilBlender` and sets up the Web Worker (if web-workers present on the client).
|
|
64
|
+
* The web worker is initialised from the worker/blending functions above. Each blending request is assigned an id.
|
|
65
|
+
* The data is passed to the web worker along with the Id. The web worker returns the Id with blended data so that the
|
|
66
|
+
* calling promise can be resolved.
|
|
67
|
+
*/
|
|
68
|
+
constructor() {
|
|
69
|
+
this._pending = new Map();
|
|
70
|
+
this._nextId = 1;
|
|
71
|
+
if (typeof Worker !== 'undefined') {
|
|
72
|
+
const blob = new Blob([alphaAndStencilBlend.toString(), '(', alphaWorkerFunc.toString(), ')()'], { type: 'application/javascript' });
|
|
73
|
+
const blobUrl = URL.createObjectURL(blob);
|
|
74
|
+
this._worker = new Worker(blobUrl);
|
|
75
|
+
URL.revokeObjectURL(blobUrl);
|
|
76
|
+
this._worker.onmessage = (e) => {
|
|
77
|
+
const { id, colorBuffer, width, height } = e.data;
|
|
78
|
+
const callback = this._pending.get(id);
|
|
79
|
+
if (!callback)
|
|
80
|
+
return;
|
|
81
|
+
this._pending.delete(id);
|
|
82
|
+
// Recreate ImageData from transferred buffer
|
|
83
|
+
const blendedData = new Uint8ClampedArray(colorBuffer);
|
|
84
|
+
const blendedImageData = new ImageData(blendedData, width, height);
|
|
85
|
+
callback(blendedImageData);
|
|
86
|
+
};
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* Blends alpha and stencil data asynchronously.
|
|
91
|
+
* Main entry point to blend the different buffers. If a web-worker is available on the client then the data is prepared to transfer
|
|
92
|
+
* to the worker. Otherwise the standard blending function is called immediately.
|
|
93
|
+
* @param colorImageData - The color image data.
|
|
94
|
+
* @param alphaImageData - The alpha image data.
|
|
95
|
+
* @param stencilImageData - The stencil image data.
|
|
96
|
+
* @returns A promise that resolves to the blended `ImageData`.
|
|
97
|
+
*/
|
|
98
|
+
blendAlphaAndStencil(colorImageData, alphaImageData, stencilImageData) {
|
|
99
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
100
|
+
return new Promise((resolve) => {
|
|
101
|
+
if (this._worker) {
|
|
102
|
+
const id = this._nextId++;
|
|
103
|
+
this._pending.set(id, resolve);
|
|
104
|
+
const width = colorImageData.width;
|
|
105
|
+
const height = colorImageData.height;
|
|
106
|
+
const colorBuffer = colorImageData.data.buffer;
|
|
107
|
+
let alphaBuffer = null;
|
|
108
|
+
let stencilBuffer = null;
|
|
109
|
+
const transfers = [colorBuffer];
|
|
110
|
+
if (alphaImageData) {
|
|
111
|
+
alphaBuffer = alphaImageData.data.buffer;
|
|
112
|
+
transfers.push(alphaBuffer);
|
|
113
|
+
}
|
|
114
|
+
if (stencilImageData) {
|
|
115
|
+
stencilBuffer = stencilImageData.data.buffer;
|
|
116
|
+
transfers.push(stencilBuffer);
|
|
117
|
+
}
|
|
118
|
+
this._worker.postMessage({ id, colorBuffer, alphaBuffer, stencilBuffer, width, height }, transfers);
|
|
119
|
+
}
|
|
120
|
+
else {
|
|
121
|
+
alphaAndStencilBlend(colorImageData.data, alphaImageData === null || alphaImageData === void 0 ? void 0 : alphaImageData.data, stencilImageData === null || stencilImageData === void 0 ? void 0 : stencilImageData.data);
|
|
122
|
+
resolve(colorImageData);
|
|
123
|
+
}
|
|
124
|
+
});
|
|
125
|
+
});
|
|
126
|
+
}
|
|
127
|
+
/**
|
|
128
|
+
* Terminates the Web Worker and clears pending tasks.
|
|
129
|
+
*/
|
|
130
|
+
terminate() {
|
|
131
|
+
this._worker.terminate();
|
|
132
|
+
this._pending.clear();
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
exports.WebXAlphaStencilBlender = WebXAlphaStencilBlender;
|
|
136
|
+
//# sourceMappingURL=WebXAlphaStencilBlender.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WebXAlphaStencilBlender.js","sourceRoot":"","sources":["../../src/renderer/WebXAlphaStencilBlender.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
declare function alphaAndStencilBlend(colorData: any, alphaData: any, stencilData: any): void;
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
function alphaAndStencilBlend(colorData, alphaData, stencilData) {
|
|
2
|
+
// Blend alpha (green channel -> alpha)
|
|
3
|
+
if (alphaData && stencilData) {
|
|
4
|
+
for (let i = 0; i < colorData.length; i += 4) {
|
|
5
|
+
if (stencilData[i] < 128) {
|
|
6
|
+
colorData[i + 3] = 0;
|
|
7
|
+
}
|
|
8
|
+
else {
|
|
9
|
+
colorData[i + 3] = alphaData[i + 1];
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
else if (alphaData) {
|
|
14
|
+
for (let i = 0; i < colorData.length; i += 4) {
|
|
15
|
+
colorData[i + 3] = alphaData[i + 1];
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
else if (stencilData) {
|
|
19
|
+
for (let i = 0; i < colorData.length; i += 4) {
|
|
20
|
+
colorData[i + 3] = stencilData[i] < 128 ? 0 : 255;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
onmessage = (e) => {
|
|
25
|
+
const { id, colorBuffer, alphaBuffer, stencilBuffer, width, height } = e.data;
|
|
26
|
+
const colorData = new Uint8ClampedArray(colorBuffer);
|
|
27
|
+
const alphaData = alphaBuffer ? new Uint8ClampedArray(alphaBuffer) : null;
|
|
28
|
+
const stencilData = stencilBuffer ? new Uint8ClampedArray(stencilBuffer) : null;
|
|
29
|
+
alphaAndStencilBlend(colorData, alphaData, stencilData);
|
|
30
|
+
// @ts-ignore
|
|
31
|
+
self.postMessage({ id, colorBuffer: colorData.buffer, width, height }, [colorData.buffer]);
|
|
32
|
+
};
|
|
33
|
+
//# sourceMappingURL=WebXBlenderWorker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WebXBlenderWorker.js","sourceRoot":"","sources":["../../src/renderer/WebXBlenderWorker.ts"],"names":[],"mappings":"AAAA,SAAS,oBAAoB,CAAC,SAAS,EAAE,SAAS,EAAE,WAAW;IAC7D,uCAAuC;IACvC,IAAI,SAAS,IAAI,WAAW,EAAE,CAAC;QAC7B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;YAC7C,IAAI,WAAW,CAAC,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC;gBACzB,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;YAEvB,CAAC;iBAAM,CAAC;gBACN,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YACtC,CAAC;QACH,CAAC;IACH,CAAC;SAAM,IAAI,SAAS,EAAE,CAAC;QACrB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;YAC7C,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QACtC,CAAC;IAEH,CAAC;SAAM,IAAI,WAAW,EAAE,CAAC;QACvB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;YAC7C,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;QACpD,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,GAAG,CAAC,CAAC,EAAE,EAAE;IAChB,MAAM,EAAE,EAAE,EAAE,WAAW,EAAE,WAAW,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC;IAE9E,MAAM,SAAS,GAAG,IAAI,iBAAiB,CAAC,WAAW,CAAC,CAAC;IACrD,MAAM,SAAS,GAAG,WAAW,CAAC,CAAC,CAAC,IAAI,iBAAiB,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC1E,MAAM,WAAW,GAAG,aAAa,CAAC,CAAC,CAAC,IAAI,iBAAiB,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAEhF,oBAAoB,CAAC,SAAS,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;IAExD,aAAa;IACb,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,EAAE,WAAW,EAAE,SAAS,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;AAC7F,CAAC,CAAA"}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
import { Camera, ColorRepresentation, Object3D, Texture, Vector2 } from 'three';
|
|
2
|
+
import { Blob } from "buffer";
|
|
3
|
+
/**
|
|
4
|
+
* The `WebXCanvasRenderer` class is responsible for rendering a desktop-like environment
|
|
5
|
+
* using HTML elements. It integrates with the Three.js library using 3D objects (meshes, materials, textures)
|
|
6
|
+
* to hold the graphical data used to render the windows.
|
|
7
|
+
*/
|
|
8
|
+
export declare class WebXCanvasRenderer {
|
|
9
|
+
private _width;
|
|
10
|
+
private _height;
|
|
11
|
+
private _desktopContainer;
|
|
12
|
+
private _desktop;
|
|
13
|
+
private _clearColor;
|
|
14
|
+
private readonly _alphaStencilBlender;
|
|
15
|
+
private _windowCanvases;
|
|
16
|
+
/**
|
|
17
|
+
* Gets the root DOM element of the renderer.
|
|
18
|
+
* @returns The root DOM element.
|
|
19
|
+
*/
|
|
20
|
+
get domElement(): HTMLElement;
|
|
21
|
+
/**
|
|
22
|
+
* Initializes the `WebXCanvasRenderer` by creating the main desktop container
|
|
23
|
+
* and initializing the alpha stencil blender.
|
|
24
|
+
*/
|
|
25
|
+
constructor();
|
|
26
|
+
/**
|
|
27
|
+
* Sets the size of the desktop container.
|
|
28
|
+
* @param width - The width of the desktop in pixels.
|
|
29
|
+
* @param height - The height of the desktop in pixels.
|
|
30
|
+
* @param unused - An optional unused parameter.
|
|
31
|
+
*/
|
|
32
|
+
setSize(width: number, height: number, unused?: boolean): void;
|
|
33
|
+
/**
|
|
34
|
+
* Sets the background color of the desktop.
|
|
35
|
+
* @param color - The color to set, represented as a `ColorRepresentation`.
|
|
36
|
+
*/
|
|
37
|
+
setClearColor(color: ColorRepresentation): void;
|
|
38
|
+
/**
|
|
39
|
+
* Renders the scene: updates the window element positions, sizes and z-orders and updates
|
|
40
|
+
* the graphical content of the windows. Any windows that are no longer in the scene have their
|
|
41
|
+
* graphical elements removed from the dom.
|
|
42
|
+
* @param scene - The root `Object3D` containing the scene to render.
|
|
43
|
+
* @param camera - The `Camera` used for rendering (currently unused).
|
|
44
|
+
*/
|
|
45
|
+
render(scene: Object3D, camera: Camera): void;
|
|
46
|
+
/**
|
|
47
|
+
* Generates a screenshot of the current windows. Each window canvas is rendered onto a global
|
|
48
|
+
* desktop canvas. The main canvas is then converted into a blob with the specified image type and quality
|
|
49
|
+
* @param type The type of the screenshot (e.g., 'image/png').
|
|
50
|
+
* @param quality The quality of the screenshot (0 to 1).
|
|
51
|
+
*/
|
|
52
|
+
createScreenshot(type: string, quality: number): Promise<Blob>;
|
|
53
|
+
/**
|
|
54
|
+
* Disposes of the renderer by removing all window canvases and terminating
|
|
55
|
+
* the alpha stencil blender (and its web worker if present).
|
|
56
|
+
*/
|
|
57
|
+
dispose(): void;
|
|
58
|
+
/**
|
|
59
|
+
* Updates a specific region of a window canvas from the color and alpha data sent from the server. The updates are stored in the window
|
|
60
|
+
* and handled at the next render request.
|
|
61
|
+
* @param meshId - The ID of the mesh associated with the window canvas.
|
|
62
|
+
* @param srcColorMap - The source color texture.
|
|
63
|
+
* @param dstColorMap - The destination color texture.
|
|
64
|
+
* @param srcAlphaMap - The source alpha texture.
|
|
65
|
+
* @param dstAlphaMap - The destination alpha texture.
|
|
66
|
+
* @param width - The width of the region to update.
|
|
67
|
+
* @param height - The height of the region to update.
|
|
68
|
+
* @param dstPosition - The destination position of the region.
|
|
69
|
+
*/
|
|
70
|
+
updateWindowRegion(meshId: number, srcColorMap: Texture, dstColorMap: Texture, srcAlphaMap: Texture, dstAlphaMap: Texture, width: number, height: number, dstPosition: Vector2): void;
|
|
71
|
+
/**
|
|
72
|
+
* Creates the main desktop container element and initializes its styles.
|
|
73
|
+
*/
|
|
74
|
+
private createMainElement;
|
|
75
|
+
/**
|
|
76
|
+
* Creates a new window canvas for the given mesh and adds it to the desktop.
|
|
77
|
+
* @param mesh - The `Mesh` object representing the window.
|
|
78
|
+
*/
|
|
79
|
+
private createWindowCanvas;
|
|
80
|
+
/**
|
|
81
|
+
* Removes a window canvas from the desktop and cleans up its resources.
|
|
82
|
+
* @param windowCanvas - The `WebXWindowCanvas` to remove.
|
|
83
|
+
*/
|
|
84
|
+
private removeWindowCanvas;
|
|
85
|
+
/**
|
|
86
|
+
* Creates an HTML element with the specified namespace.
|
|
87
|
+
* @param name - The name of the element to create.
|
|
88
|
+
* @returns The created `HTMLElement`.
|
|
89
|
+
*/
|
|
90
|
+
private createElementNS;
|
|
91
|
+
}
|