vim-web 0.3.23 → 0.3.25
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/types/react-viewer/bim/bimInfoBody.d.ts +9 -0
- package/dist/types/react-viewer/bim/bimInfoData.d.ts +77 -0
- package/dist/types/react-viewer/bim/bimInfoHeader.d.ts +6 -0
- package/dist/types/react-viewer/bim/bimInfoObject.d.ts +12 -0
- package/dist/types/react-viewer/bim/bimInfoPanel.d.ts +10 -0
- package/dist/types/react-viewer/bim/bimInfoVim.d.ts +5 -0
- package/dist/types/react-viewer/bim/bimPanel.d.ts +40 -0
- package/dist/types/react-viewer/bim/bimSearch.d.ts +17 -0
- package/dist/types/react-viewer/bim/bimTree.d.ts +31 -0
- package/dist/types/react-viewer/bim/bimTreeData.d.ts +43 -0
- package/dist/types/react-viewer/bim/bimUtils.d.ts +13 -0
- package/dist/types/react-viewer/bim/openState.d.ts +5 -0
- package/dist/types/react-viewer/container.d.ts +27 -0
- package/dist/types/react-viewer/controlbar/controlBar.d.ts +57 -0
- package/dist/types/react-viewer/controlbar/controlBarButton.d.ts +17 -0
- package/dist/types/react-viewer/controlbar/controlBarCommands.d.ts +4 -0
- package/dist/types/react-viewer/controlbar/controlBarSection.d.ts +10 -0
- package/dist/types/react-viewer/controlbar/fullScreenState.d.ts +4 -0
- package/dist/types/react-viewer/controlbar/measureState.d.ts +7 -0
- package/dist/types/react-viewer/controlbar/pointerState.d.ts +6 -0
- package/dist/types/react-viewer/controlbar/restOfScreen.d.ts +5 -0
- package/dist/types/react-viewer/controlbar/sectionBoxState.d.ts +15 -0
- package/dist/types/react-viewer/errors/errorStyle.d.ts +15 -0
- package/dist/types/react-viewer/errors/errorUtils.d.ts +2 -0
- package/dist/types/react-viewer/errors/errors.d.ts +5 -0
- package/dist/types/react-viewer/errors/fileDownloadingError.d.ts +2 -0
- package/dist/types/react-viewer/errors/fileLoadingError.d.ts +2 -0
- package/dist/types/react-viewer/errors/fileOpeningError.d.ts +2 -0
- package/dist/types/react-viewer/errors/serverCompatibilityError.d.ts +2 -0
- package/dist/types/react-viewer/errors/serverConnectionError.d.ts +2 -0
- package/dist/types/react-viewer/helpers/camera.d.ts +37 -0
- package/dist/types/react-viewer/helpers/cameraObserver.d.ts +8 -0
- package/dist/types/react-viewer/helpers/cursor.d.ts +35 -0
- package/dist/types/react-viewer/helpers/data.d.ts +27 -0
- package/dist/types/react-viewer/helpers/deferredPromise.d.ts +8 -0
- package/dist/types/react-viewer/helpers/element.d.ts +13 -0
- package/dist/types/react-viewer/helpers/fullScreenObserver.d.ts +9 -0
- package/dist/types/react-viewer/helpers/inputs.d.ts +23 -0
- package/dist/types/react-viewer/helpers/isolation.d.ts +87 -0
- package/dist/types/react-viewer/helpers/loadRequest.d.ts +29 -0
- package/dist/types/react-viewer/helpers/requestResult.d.ts +13 -0
- package/dist/types/react-viewer/helpers/utils.d.ts +7 -0
- package/dist/types/react-viewer/panels/axesPanel.d.ts +20 -0
- package/dist/types/react-viewer/panels/contextMenu.d.ts +75 -0
- package/dist/types/react-viewer/panels/help.d.ts +15 -0
- package/dist/types/react-viewer/panels/icons.d.ts +46 -0
- package/dist/types/react-viewer/panels/loadingBox.d.ts +26 -0
- package/dist/types/react-viewer/panels/logo.d.ts +5 -0
- package/dist/types/react-viewer/panels/messageBox.d.ts +14 -0
- package/dist/types/react-viewer/panels/modal.d.ts +18 -0
- package/dist/types/react-viewer/panels/overlay.d.ts +10 -0
- package/dist/types/react-viewer/panels/performance.d.ts +7 -0
- package/dist/types/react-viewer/panels/toast.d.ts +22 -0
- package/dist/types/react-viewer/reactViewerIndex.d.ts +8 -0
- package/dist/types/react-viewer/settings/menuSettings.d.ts +17 -0
- package/dist/types/react-viewer/settings/settings.d.ts +65 -0
- package/dist/types/react-viewer/settings/settingsState.d.ts +18 -0
- package/dist/types/react-viewer/settings/settingsStorage.d.ts +6 -0
- package/dist/types/react-viewer/sidePanel/sidePanel.d.ts +20 -0
- package/dist/types/react-viewer/sidePanel/sideState.d.ts +22 -0
- package/dist/types/react-viewer/ultra/ultraComponent.d.ts +30 -0
- package/dist/types/react-viewer/ultra/ultraErrors.d.ts +3 -0
- package/dist/types/react-viewer/urls.d.ts +2 -0
- package/dist/types/react-viewer/webgl/viewerState.d.ts +11 -0
- package/dist/types/react-viewer/webgl/webglComponent.d.ts +41 -0
- package/dist/types/react-viewer/webgl/webglComponentRef.d.ts +99 -0
- package/dist/types/react-viewer/webgl/webglLoading.d.ts +67 -0
- package/dist/types/ultra-viewer/ultraViewerIndex.d.ts +8 -0
- package/dist/types/ultra-viewer/utils/array.d.ts +18 -0
- package/dist/types/ultra-viewer/utils/debounce.d.ts +1 -0
- package/dist/types/ultra-viewer/utils/deferredPromise.d.ts +8 -0
- package/dist/types/ultra-viewer/utils/math3d.d.ts +106 -0
- package/dist/types/ultra-viewer/utils/promise.d.ts +21 -0
- package/dist/types/ultra-viewer/utils/result.d.ts +11 -0
- package/dist/types/ultra-viewer/utils/url.d.ts +8 -0
- package/dist/types/ultra-viewer/utils/validation.d.ts +28 -0
- package/dist/types/ultra-viewer/viewer/camera.d.ts +118 -0
- package/dist/types/ultra-viewer/viewer/color.d.ts +57 -0
- package/dist/types/ultra-viewer/viewer/colorManager.d.ts +73 -0
- package/dist/types/ultra-viewer/viewer/decoder.d.ts +116 -0
- package/dist/types/ultra-viewer/viewer/decoderWithWorker.d.ts +80 -0
- package/dist/types/ultra-viewer/viewer/inputs/InputTouch.d.ts +25 -0
- package/dist/types/ultra-viewer/viewer/inputs/inputHandler.d.ts +7 -0
- package/dist/types/ultra-viewer/viewer/inputs/inputKeyboard.d.ts +20 -0
- package/dist/types/ultra-viewer/viewer/inputs/inputMouse.d.ts +21 -0
- package/dist/types/ultra-viewer/viewer/inputs/inputs.d.ts +27 -0
- package/dist/types/ultra-viewer/viewer/loadRequest.d.ts +36 -0
- package/dist/types/ultra-viewer/viewer/logger.d.ts +9 -0
- package/dist/types/ultra-viewer/viewer/marshal.d.ts +72 -0
- package/dist/types/ultra-viewer/viewer/protocol.d.ts +13 -0
- package/dist/types/ultra-viewer/viewer/renderer.d.ts +142 -0
- package/dist/types/ultra-viewer/viewer/rpcClient.d.ts +72 -0
- package/dist/types/ultra-viewer/viewer/rpcSafeClient.d.ts +382 -0
- package/dist/types/ultra-viewer/viewer/selection.d.ts +94 -0
- package/dist/types/ultra-viewer/viewer/socketClient.d.ts +141 -0
- package/dist/types/ultra-viewer/viewer/streamLogger.d.ts +19 -0
- package/dist/types/ultra-viewer/viewer/streamRenderer.d.ts +7 -0
- package/dist/types/ultra-viewer/viewer/viewer.d.ts +123 -0
- package/dist/types/ultra-viewer/viewer/viewport.d.ts +39 -0
- package/dist/types/ultra-viewer/viewer/vim.d.ts +111 -0
- package/dist/types/ultra-viewer/viewer/vimCollection.d.ts +43 -0
- package/dist/types/vimWebIndex.d.ts +4 -0
- package/dist/types/webgl-viewer/images.d.ts +4 -0
- package/dist/types/webgl-viewer/index.d.ts +26 -0
- package/dist/types/webgl-viewer/utils/boxes.d.ts +5 -0
- package/dist/types/webgl-viewer/utils/deferredPromise.d.ts +8 -0
- package/dist/types/webgl-viewer/utils/requestResult.d.ts +13 -0
- package/dist/types/webgl-viewer/vim-loader/averageBoundingBox.d.ts +6 -0
- package/dist/types/webgl-viewer/vim-loader/colorAttributes.d.ts +34 -0
- package/dist/types/webgl-viewer/vim-loader/elementMapping.d.ts +113 -0
- package/dist/types/webgl-viewer/vim-loader/geometry.d.ts +105 -0
- package/dist/types/webgl-viewer/vim-loader/materials/isolationMaterial.d.ts +12 -0
- package/dist/types/webgl-viewer/vim-loader/materials/maskMaterial.d.ts +8 -0
- package/dist/types/webgl-viewer/vim-loader/materials/mergeMaterial.d.ts +18 -0
- package/dist/types/webgl-viewer/vim-loader/materials/outlineMaterial.d.ts +36 -0
- package/dist/types/webgl-viewer/vim-loader/materials/simpleMaterial.d.ts +12 -0
- package/dist/types/webgl-viewer/vim-loader/materials/skyboxMaterial.d.ts +16 -0
- package/dist/types/webgl-viewer/vim-loader/materials/standardMaterial.d.ts +57 -0
- package/dist/types/webgl-viewer/vim-loader/materials/transferMaterial.d.ts +8 -0
- package/dist/types/webgl-viewer/vim-loader/materials/viewerMaterials.d.ts +158 -0
- package/dist/types/webgl-viewer/vim-loader/mesh.d.ts +115 -0
- package/dist/types/webgl-viewer/vim-loader/object3D.d.ts +105 -0
- package/dist/types/webgl-viewer/vim-loader/objectAttributes.d.ts +19 -0
- package/dist/types/webgl-viewer/vim-loader/progressive/g3dOffsets.d.ts +53 -0
- package/dist/types/webgl-viewer/vim-loader/progressive/g3dSubset.d.ts +115 -0
- package/dist/types/webgl-viewer/vim-loader/progressive/insertableGeometry.d.ts +40 -0
- package/dist/types/webgl-viewer/vim-loader/progressive/insertableMesh.d.ts +59 -0
- package/dist/types/webgl-viewer/vim-loader/progressive/insertableSubmesh.d.ts +43 -0
- package/dist/types/webgl-viewer/vim-loader/progressive/instancedMesh.d.ts +32 -0
- package/dist/types/webgl-viewer/vim-loader/progressive/instancedMeshFactory.d.ts +20 -0
- package/dist/types/webgl-viewer/vim-loader/progressive/instancedSubmesh.d.ts +31 -0
- package/dist/types/webgl-viewer/vim-loader/progressive/legacyMeshFactory.d.ts +23 -0
- package/dist/types/webgl-viewer/vim-loader/progressive/loadingSynchronizer.d.ts +27 -0
- package/dist/types/webgl-viewer/vim-loader/progressive/open.d.ts +12 -0
- package/dist/types/webgl-viewer/vim-loader/progressive/subsetBuilder.d.ts +73 -0
- package/dist/types/webgl-viewer/vim-loader/progressive/subsetRequest.d.ts +37 -0
- package/dist/types/webgl-viewer/vim-loader/progressive/vimRequest.d.ts +44 -0
- package/dist/types/webgl-viewer/vim-loader/progressive/vimx.d.ts +17 -0
- package/dist/types/webgl-viewer/vim-loader/scene.d.ts +92 -0
- package/dist/types/webgl-viewer/vim-loader/vim.d.ts +157 -0
- package/dist/types/webgl-viewer/vim-loader/vimSettings.d.ts +62 -0
- package/dist/types/webgl-viewer/vim-webgl-viewer/camera/camera.d.ts +255 -0
- package/dist/types/webgl-viewer/vim-webgl-viewer/camera/cameraMovement.d.ts +77 -0
- package/dist/types/webgl-viewer/vim-webgl-viewer/camera/cameraMovementLerp.d.ts +28 -0
- package/dist/types/webgl-viewer/vim-webgl-viewer/camera/cameraMovementSnap.d.ts +24 -0
- package/dist/types/webgl-viewer/vim-webgl-viewer/camera/orthographic.d.ts +12 -0
- package/dist/types/webgl-viewer/vim-webgl-viewer/camera/perspective.d.ts +12 -0
- package/dist/types/webgl-viewer/vim-webgl-viewer/environment/cameraLight.d.ts +43 -0
- package/dist/types/webgl-viewer/vim-webgl-viewer/environment/environment.d.ts +44 -0
- package/dist/types/webgl-viewer/vim-webgl-viewer/environment/groundPlane.d.ts +25 -0
- package/dist/types/webgl-viewer/vim-webgl-viewer/environment/skybox.d.ts +39 -0
- package/dist/types/webgl-viewer/vim-webgl-viewer/gizmos/axes/axes.d.ts +14 -0
- package/dist/types/webgl-viewer/vim-webgl-viewer/gizmos/axes/axesSettings.d.ts +19 -0
- package/dist/types/webgl-viewer/vim-webgl-viewer/gizmos/axes/gizmoAxes.d.ts +60 -0
- package/dist/types/webgl-viewer/vim-webgl-viewer/gizmos/gizmoLoading.d.ts +23 -0
- package/dist/types/webgl-viewer/vim-webgl-viewer/gizmos/gizmoOrbit.d.ts +71 -0
- package/dist/types/webgl-viewer/vim-webgl-viewer/gizmos/gizmoRectangle.d.ts +51 -0
- package/dist/types/webgl-viewer/vim-webgl-viewer/gizmos/gizmos.d.ts +50 -0
- package/dist/types/webgl-viewer/vim-webgl-viewer/gizmos/markers/gizmoMarker.d.ts +64 -0
- package/dist/types/webgl-viewer/vim-webgl-viewer/gizmos/markers/gizmoMarkers.d.ts +29 -0
- package/dist/types/webgl-viewer/vim-webgl-viewer/gizmos/measure/measure.d.ts +103 -0
- package/dist/types/webgl-viewer/vim-webgl-viewer/gizmos/measure/measureFlow.d.ts +36 -0
- package/dist/types/webgl-viewer/vim-webgl-viewer/gizmos/measure/measureGizmo.d.ts +44 -0
- package/dist/types/webgl-viewer/vim-webgl-viewer/gizmos/measure/measureHtml.d.ts +26 -0
- package/dist/types/webgl-viewer/vim-webgl-viewer/gizmos/sectionBox/sectionBox.d.ts +70 -0
- package/dist/types/webgl-viewer/vim-webgl-viewer/gizmos/sectionBox/sectionBoxGizmo.d.ts +47 -0
- package/dist/types/webgl-viewer/vim-webgl-viewer/gizmos/sectionBox/sectionBoxInputs.d.ts +39 -0
- package/dist/types/webgl-viewer/vim-webgl-viewer/inputs/input.d.ts +128 -0
- package/dist/types/webgl-viewer/vim-webgl-viewer/inputs/inputHandler.d.ts +29 -0
- package/dist/types/webgl-viewer/vim-webgl-viewer/inputs/keyboard.d.ts +113 -0
- package/dist/types/webgl-viewer/vim-webgl-viewer/inputs/mouse.d.ts +66 -0
- package/dist/types/webgl-viewer/vim-webgl-viewer/inputs/touch.d.ts +45 -0
- package/dist/types/webgl-viewer/vim-webgl-viewer/raycaster.d.ts +89 -0
- package/dist/types/webgl-viewer/vim-webgl-viewer/rendering/mergePass.d.ts +16 -0
- package/dist/types/webgl-viewer/vim-webgl-viewer/rendering/outlinePass.d.ts +19 -0
- package/dist/types/webgl-viewer/vim-webgl-viewer/rendering/renderScene.d.ts +49 -0
- package/dist/types/webgl-viewer/vim-webgl-viewer/rendering/renderer.d.ts +125 -0
- package/dist/types/webgl-viewer/vim-webgl-viewer/rendering/renderingComposer.d.ts +46 -0
- package/dist/types/webgl-viewer/vim-webgl-viewer/rendering/renderingSection.d.ts +36 -0
- package/dist/types/webgl-viewer/vim-webgl-viewer/rendering/transferPass.d.ts +15 -0
- package/dist/types/webgl-viewer/vim-webgl-viewer/selection.d.ts +90 -0
- package/dist/types/webgl-viewer/vim-webgl-viewer/settings/defaultViewerSettings.d.ts +5 -0
- package/dist/types/webgl-viewer/vim-webgl-viewer/settings/viewerSettings.d.ts +342 -0
- package/dist/types/webgl-viewer/vim-webgl-viewer/settings/viewerSettingsParsing.d.ts +9 -0
- package/dist/types/webgl-viewer/vim-webgl-viewer/viewer.d.ts +100 -0
- package/dist/types/webgl-viewer/vim-webgl-viewer/viewport.d.ts +73 -0
- package/dist/vim-web.css +2029 -0
- package/dist/vim-web.iife.js +72763 -0
- package/dist/vim-web.iife.js.map +1 -0
- package/dist/vim-web.mjs +72746 -0
- package/dist/vim-web.mjs.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
import type { VideoFrameMessage } from './protocol';
|
|
2
|
+
import { ILogger } from './logger';
|
|
3
|
+
/**
|
|
4
|
+
* Configuration for the video decoder.
|
|
5
|
+
*/
|
|
6
|
+
export declare const videoDecoderConfig: globalThis.VideoDecoderConfig;
|
|
7
|
+
export declare enum FrameType {
|
|
8
|
+
KeyFrame = 0,
|
|
9
|
+
DeltaFrame = 1
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Interface defining the basic decoder operations
|
|
13
|
+
*/
|
|
14
|
+
export interface IDecoder {
|
|
15
|
+
/** Indicates if the decoder is ready to process frames */
|
|
16
|
+
ready: boolean;
|
|
17
|
+
/** Indicates if the decoder is currently paused */
|
|
18
|
+
paused: boolean;
|
|
19
|
+
/** Stops the decoder operations */
|
|
20
|
+
stop(): void;
|
|
21
|
+
/** Starts the decoder operations */
|
|
22
|
+
start(): void;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Decoder class responsible for decoding video frames and rendering them using WebGL.
|
|
26
|
+
* Handles frame queueing, decoding, and rendering through WebGL.
|
|
27
|
+
*/
|
|
28
|
+
export declare class Decoder implements IDecoder {
|
|
29
|
+
private _decoder;
|
|
30
|
+
private readonly _canvas;
|
|
31
|
+
private readonly _renderer;
|
|
32
|
+
private readonly _logger;
|
|
33
|
+
private _firstDecoded;
|
|
34
|
+
private _skipUntil;
|
|
35
|
+
private _queue;
|
|
36
|
+
private _pendingFrame;
|
|
37
|
+
private _renderId;
|
|
38
|
+
private _decodeId;
|
|
39
|
+
/**
|
|
40
|
+
* Indicates whether the decoder is ready and configured.
|
|
41
|
+
* @returns {boolean} True if the decoder is configured, false otherwise.
|
|
42
|
+
*/
|
|
43
|
+
get ready(): boolean;
|
|
44
|
+
/**
|
|
45
|
+
* Creates an instance of the Decoder class.
|
|
46
|
+
* @param originalCanvas - The original HTML canvas element to render frames onto
|
|
47
|
+
* @param logger - Logger instance for debugging and error reporting
|
|
48
|
+
* @throws {Error} When video decoder configuration is not supported
|
|
49
|
+
*/
|
|
50
|
+
constructor(originalCanvas: HTMLCanvasElement, logger: ILogger);
|
|
51
|
+
/**
|
|
52
|
+
* Indicates whether the decoder is currently paused.
|
|
53
|
+
* @returns {boolean} True if paused, false otherwise.
|
|
54
|
+
*/
|
|
55
|
+
get paused(): boolean;
|
|
56
|
+
/**
|
|
57
|
+
* Pauses the decoder and renderer.
|
|
58
|
+
*/
|
|
59
|
+
stop(): void;
|
|
60
|
+
/**
|
|
61
|
+
* Resumes the decoder and renderer.
|
|
62
|
+
*/
|
|
63
|
+
start(): void;
|
|
64
|
+
/**
|
|
65
|
+
* Clears decoding and rendering callbacks.
|
|
66
|
+
*/
|
|
67
|
+
private _clearCallbacks;
|
|
68
|
+
/**
|
|
69
|
+
* Enqueues a video frame message for decoding.
|
|
70
|
+
* If a key frame is received, the queue is cleared except for the first frame
|
|
71
|
+
* to maintain decoder stability.
|
|
72
|
+
* @param frame - The video frame message to be queued for decoding
|
|
73
|
+
*/
|
|
74
|
+
enqueue(frame: VideoFrameMessage): void;
|
|
75
|
+
/**
|
|
76
|
+
* Processes and decodes all queued video frame messages.
|
|
77
|
+
* Skips processing if the decoder isn't ready or the queue is empty.
|
|
78
|
+
* @throws {Error} When decoding fails for a video chunk
|
|
79
|
+
*/
|
|
80
|
+
decode(): void;
|
|
81
|
+
/**
|
|
82
|
+
* Clears the decoder state and renderer buffer.
|
|
83
|
+
* Does not close the decoder instance.
|
|
84
|
+
*/
|
|
85
|
+
clear(): void;
|
|
86
|
+
/**
|
|
87
|
+
* Completely disposes of the decoder instance and releases all resources.
|
|
88
|
+
* Should be called when the decoder is no longer needed.
|
|
89
|
+
*/
|
|
90
|
+
dispose(): void;
|
|
91
|
+
/**
|
|
92
|
+
* Cleans up internal resources and cancels ongoing operations.
|
|
93
|
+
* @private
|
|
94
|
+
*/
|
|
95
|
+
private _cleanUp;
|
|
96
|
+
/**
|
|
97
|
+
* Creates an EncodedVideoChunk from a VideoFrameMessage.
|
|
98
|
+
* @param message - The video frame message to convert
|
|
99
|
+
* @returns {EncodedVideoChunk} A chunk ready for decoder processing
|
|
100
|
+
* @private
|
|
101
|
+
*/
|
|
102
|
+
private createChunk;
|
|
103
|
+
/**
|
|
104
|
+
* Handles the animation loop for continuous frame rendering.
|
|
105
|
+
* Processes pending frames and manages the render timing.
|
|
106
|
+
* @private
|
|
107
|
+
*/
|
|
108
|
+
private animate;
|
|
109
|
+
/**
|
|
110
|
+
* Processes a decoded video frame for rendering.
|
|
111
|
+
* Manages frame replacement and cleanup of previous frames.
|
|
112
|
+
* @param frame - The decoded video frame ready for rendering
|
|
113
|
+
* @private
|
|
114
|
+
*/
|
|
115
|
+
private renderFrame;
|
|
116
|
+
}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import type { VideoFrameMessage } from './protocol';
|
|
2
|
+
import { ILogger } from './logger';
|
|
3
|
+
export declare enum FrameType {
|
|
4
|
+
KeyFrame = 0,
|
|
5
|
+
DeltaFrame = 1
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* Decoder class responsible for decoding video frames and rendering them using WebGL.
|
|
9
|
+
*/
|
|
10
|
+
export declare class DecoderWithWorker {
|
|
11
|
+
private readonly _canvas;
|
|
12
|
+
private readonly _renderer;
|
|
13
|
+
private readonly _logger;
|
|
14
|
+
private _firstDecoded;
|
|
15
|
+
private _skipUntil;
|
|
16
|
+
private _queue;
|
|
17
|
+
private _pendingFrame;
|
|
18
|
+
private _renderId;
|
|
19
|
+
private _decodeId;
|
|
20
|
+
private _worker;
|
|
21
|
+
/**
|
|
22
|
+
* Indicates whether the decoder is ready and configured.
|
|
23
|
+
* @returns {boolean} True if the decoder is configured, false otherwise.
|
|
24
|
+
*/
|
|
25
|
+
get ready(): boolean;
|
|
26
|
+
/**
|
|
27
|
+
* Creates an instance of the Decoder class.
|
|
28
|
+
* @param originalCanvas - The original HTML canvas element.
|
|
29
|
+
* @param logger - Logger for logging messages and errors.
|
|
30
|
+
*/
|
|
31
|
+
constructor(originalCanvas: HTMLCanvasElement, logger: ILogger);
|
|
32
|
+
sendFrameToWorker(frame: VideoFrameMessage): void;
|
|
33
|
+
/**
|
|
34
|
+
* Indicates whether the decoder is currently paused.
|
|
35
|
+
* @returns {boolean} True if paused, false otherwise.
|
|
36
|
+
*/
|
|
37
|
+
get paused(): boolean;
|
|
38
|
+
/**
|
|
39
|
+
* Pauses the decoder and renderer.
|
|
40
|
+
*/
|
|
41
|
+
stop(): void;
|
|
42
|
+
/**
|
|
43
|
+
* Resumes the decoder and renderer.
|
|
44
|
+
*/
|
|
45
|
+
start(): void;
|
|
46
|
+
/**
|
|
47
|
+
* Clears decoding and rendering callbacks.
|
|
48
|
+
*/
|
|
49
|
+
private _clearCallbacks;
|
|
50
|
+
/**
|
|
51
|
+
* Enqueues a video frame message for decoding.
|
|
52
|
+
* @param frame - The video frame message to enqueue.
|
|
53
|
+
*/
|
|
54
|
+
enqueue(frame: VideoFrameMessage): void;
|
|
55
|
+
/**
|
|
56
|
+
* Decodes enqueued video frame messages.
|
|
57
|
+
*/
|
|
58
|
+
decode(): void;
|
|
59
|
+
/**
|
|
60
|
+
* Clears the decoder and renderer, resetting the internal state.
|
|
61
|
+
*/
|
|
62
|
+
clear(): void;
|
|
63
|
+
/**
|
|
64
|
+
* Disposes of the decoder, releasing resources.
|
|
65
|
+
*/
|
|
66
|
+
dispose(): void;
|
|
67
|
+
/**
|
|
68
|
+
* Cleans up the renderer and clears the frame queue.
|
|
69
|
+
*/
|
|
70
|
+
private _cleanUp;
|
|
71
|
+
/**
|
|
72
|
+
* Animation loop for rendering frames.
|
|
73
|
+
*/
|
|
74
|
+
private animate;
|
|
75
|
+
/**
|
|
76
|
+
* Handles rendering of a decoded video frame.
|
|
77
|
+
* @param frame - The decoded video frame.
|
|
78
|
+
*/
|
|
79
|
+
private renderFrame;
|
|
80
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { InputHandler } from "./inputHandler";
|
|
2
|
+
import { RpcSafeClient } from "../rpcSafeClient";
|
|
3
|
+
export declare class InputTouch extends InputHandler {
|
|
4
|
+
private readonly _rpc;
|
|
5
|
+
private readonly _canvas;
|
|
6
|
+
private _lastTouchStartPosition;
|
|
7
|
+
private _initialTouchDistance;
|
|
8
|
+
constructor(canvas: HTMLCanvasElement, rpc: RpcSafeClient);
|
|
9
|
+
register(): void;
|
|
10
|
+
dispose(): void;
|
|
11
|
+
private handleTouchStart;
|
|
12
|
+
private handleSingleTouchStart;
|
|
13
|
+
private handleDoubleTouchStart;
|
|
14
|
+
private handleTouchMove;
|
|
15
|
+
private handleSingleTouchMove;
|
|
16
|
+
private handleDoubleTouchMove;
|
|
17
|
+
private handlePinch;
|
|
18
|
+
private handleTouchEnd;
|
|
19
|
+
private handleSingleTouchEnd;
|
|
20
|
+
private handleDoubleTouchEnd;
|
|
21
|
+
private handleTouchCancel;
|
|
22
|
+
private handleTouchClick;
|
|
23
|
+
private hasMoved;
|
|
24
|
+
private relativeTouchPosition;
|
|
25
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { ICamera } from "../camera";
|
|
2
|
+
import { RpcSafeClient } from "../rpcSafeClient";
|
|
3
|
+
import { ViewerSelection } from "../selection";
|
|
4
|
+
import { InputHandler } from "./inputHandler";
|
|
5
|
+
import { Inputs } from "./inputs";
|
|
6
|
+
export declare class InputKeyboard extends InputHandler {
|
|
7
|
+
private readonly _rpc;
|
|
8
|
+
private readonly _selection;
|
|
9
|
+
private _camera;
|
|
10
|
+
private _inputs;
|
|
11
|
+
constructor(rpc: RpcSafeClient, selection: ViewerSelection, camera: ICamera, inputs: Inputs);
|
|
12
|
+
register(): void;
|
|
13
|
+
dispose(): void;
|
|
14
|
+
private handleKeyDown;
|
|
15
|
+
private handleKeyUp;
|
|
16
|
+
private handleServerKeys;
|
|
17
|
+
private handleClientKeys;
|
|
18
|
+
private frameContext;
|
|
19
|
+
private frameSelection;
|
|
20
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { InputHandler } from "./inputHandler";
|
|
2
|
+
import { RpcSafeClient } from "../rpcSafeClient";
|
|
3
|
+
import { ViewerSelection } from "../selection";
|
|
4
|
+
import { ICamera } from "../camera";
|
|
5
|
+
export declare class InputMouse extends InputHandler {
|
|
6
|
+
private readonly _rpc;
|
|
7
|
+
private readonly _canvas;
|
|
8
|
+
private _lastMouseDownPosition;
|
|
9
|
+
private _selection;
|
|
10
|
+
private _camera;
|
|
11
|
+
constructor(canvas: HTMLCanvasElement, rpc: RpcSafeClient, selection: ViewerSelection, camera: ICamera);
|
|
12
|
+
register(): void;
|
|
13
|
+
dispose(): void;
|
|
14
|
+
private handlePointerDown;
|
|
15
|
+
private handlePointerUp;
|
|
16
|
+
private handleMouseClick;
|
|
17
|
+
private handlePointerMove;
|
|
18
|
+
private handleDoubleClick;
|
|
19
|
+
private handleMouseScroll;
|
|
20
|
+
private relativePosition;
|
|
21
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { InputMode, RpcSafeClient } from '../rpcSafeClient';
|
|
2
|
+
import { InputHandler } from './inputHandler';
|
|
3
|
+
import { ViewerSelection } from '../selection';
|
|
4
|
+
import { ICamera } from '../camera';
|
|
5
|
+
import { IRenderer } from '../renderer';
|
|
6
|
+
export interface IInputs {
|
|
7
|
+
moveSpeed: number;
|
|
8
|
+
mode: InputMode;
|
|
9
|
+
}
|
|
10
|
+
export declare class Inputs extends InputHandler implements IInputs {
|
|
11
|
+
private readonly _rpc;
|
|
12
|
+
private readonly _canvas;
|
|
13
|
+
private _inputsMouse;
|
|
14
|
+
private _inputsTouch;
|
|
15
|
+
private _keyboard;
|
|
16
|
+
private _renderer;
|
|
17
|
+
private _moveSpeed;
|
|
18
|
+
private _mode;
|
|
19
|
+
constructor(canvas: HTMLCanvasElement, rpc: RpcSafeClient, selection: ViewerSelection, camera: ICamera, renderer: IRenderer);
|
|
20
|
+
onConnect(): void;
|
|
21
|
+
register(): void;
|
|
22
|
+
get moveSpeed(): number;
|
|
23
|
+
set moveSpeed(value: number);
|
|
24
|
+
get mode(): InputMode;
|
|
25
|
+
set mode(value: InputMode);
|
|
26
|
+
dispose(): void;
|
|
27
|
+
}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { Vim } from './vim';
|
|
2
|
+
export type LoadRequestResult = LoadSuccess | LoadError;
|
|
3
|
+
export declare class LoadSuccess {
|
|
4
|
+
readonly isError = false;
|
|
5
|
+
readonly isSuccess = true;
|
|
6
|
+
readonly vim: Vim;
|
|
7
|
+
constructor(vim: Vim);
|
|
8
|
+
}
|
|
9
|
+
export declare class LoadError {
|
|
10
|
+
error: VimRequestErrorType;
|
|
11
|
+
readonly isError = true;
|
|
12
|
+
readonly isSuccess = false;
|
|
13
|
+
readonly type: VimRequestErrorType;
|
|
14
|
+
readonly details: string | undefined;
|
|
15
|
+
constructor(error: VimRequestErrorType, details?: string);
|
|
16
|
+
}
|
|
17
|
+
export interface ILoadRequest {
|
|
18
|
+
get isCompleted(): boolean;
|
|
19
|
+
getProgress(): AsyncGenerator<number>;
|
|
20
|
+
getResult(): Promise<LoadError | LoadSuccess>;
|
|
21
|
+
abort(): void;
|
|
22
|
+
}
|
|
23
|
+
export type VimRequestErrorType = 'loadingError' | 'downloadingError' | 'serverDisconnected' | 'unknown' | 'cancelled';
|
|
24
|
+
export declare class LoadRequest implements ILoadRequest {
|
|
25
|
+
private _progress;
|
|
26
|
+
private _progressPromise;
|
|
27
|
+
private _completionPromise;
|
|
28
|
+
private _result;
|
|
29
|
+
get isCompleted(): boolean;
|
|
30
|
+
getProgress(): AsyncGenerator<number, void, unknown>;
|
|
31
|
+
getResult(): Promise<LoadError | LoadSuccess>;
|
|
32
|
+
onProgress(progress: number): void;
|
|
33
|
+
success(vim: Vim): this;
|
|
34
|
+
error(error: VimRequestErrorType, details?: string): this;
|
|
35
|
+
abort(): void;
|
|
36
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export interface ILogger {
|
|
2
|
+
log(message: string): void;
|
|
3
|
+
error: (message: string, e: unknown) => void;
|
|
4
|
+
}
|
|
5
|
+
export declare const defaultLogger: ILogger;
|
|
6
|
+
export declare function createLogger(onMsg: (str: string) => void): {
|
|
7
|
+
log: (str: string) => void;
|
|
8
|
+
error: (str: string, e: unknown) => void;
|
|
9
|
+
};
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Don't modify this file, the RPC generated code depends on its interface.
|
|
3
|
+
*/
|
|
4
|
+
import { Box3, RGB, RGBA, RGBA32, Segment, Vector2, Vector3 } from "../utils/math3d";
|
|
5
|
+
export type HitCheckResult = {
|
|
6
|
+
vimHandle: number;
|
|
7
|
+
nodeIndex: number;
|
|
8
|
+
worldPosition: Vector3;
|
|
9
|
+
worldNormal: Vector3;
|
|
10
|
+
};
|
|
11
|
+
export type VimStatus = {
|
|
12
|
+
status: number;
|
|
13
|
+
progress: number;
|
|
14
|
+
};
|
|
15
|
+
export type Vector4 = {
|
|
16
|
+
x: number;
|
|
17
|
+
y: number;
|
|
18
|
+
z: number;
|
|
19
|
+
w: number;
|
|
20
|
+
};
|
|
21
|
+
export declare class Marshal {
|
|
22
|
+
private buffer;
|
|
23
|
+
private dataView;
|
|
24
|
+
private readOffset;
|
|
25
|
+
private writeOffset;
|
|
26
|
+
constructor(initialSize?: number);
|
|
27
|
+
getBuffer(): ArrayBuffer;
|
|
28
|
+
private ensureCapacity;
|
|
29
|
+
writeData(data: ArrayBuffer): void;
|
|
30
|
+
writeBoolean(value: boolean): void;
|
|
31
|
+
readBoolean(): boolean;
|
|
32
|
+
writeInt(value: number): void;
|
|
33
|
+
readInt(): number;
|
|
34
|
+
writeUInt(value: number): void;
|
|
35
|
+
readUInt(): number;
|
|
36
|
+
writeFloat(value: number): void;
|
|
37
|
+
readFloat(): number;
|
|
38
|
+
writeString(value: string): void;
|
|
39
|
+
readString(): string;
|
|
40
|
+
writeHitCheckResult(data: HitCheckResult): void;
|
|
41
|
+
readHitCheckResult(): HitCheckResult;
|
|
42
|
+
writeVimStatus(data: VimStatus): void;
|
|
43
|
+
readVimStatus(): VimStatus;
|
|
44
|
+
writeVector2(data: Vector2): void;
|
|
45
|
+
readVector2(): Vector2;
|
|
46
|
+
writeVector3(data: Vector3): void;
|
|
47
|
+
readVector3(): Vector3;
|
|
48
|
+
writeVector4(data: Vector4): void;
|
|
49
|
+
readVector4(): Vector4;
|
|
50
|
+
writeRGBA(color: RGBA): void;
|
|
51
|
+
readRGBA(): RGBA;
|
|
52
|
+
writeRGB(color: RGBA): void;
|
|
53
|
+
readRGB(): RGB;
|
|
54
|
+
writeRGBA32(color: RGBA32): void;
|
|
55
|
+
readRGBA32(): RGBA32;
|
|
56
|
+
writeSegment(segment: Segment): void;
|
|
57
|
+
readSegment(): Segment;
|
|
58
|
+
writeBox3(data: Box3): void;
|
|
59
|
+
readBox3(): Box3;
|
|
60
|
+
writeArrayOfInt(values: number[]): void;
|
|
61
|
+
readArrayOfInt(): number[];
|
|
62
|
+
writeArrayOfUInt(values: number[]): void;
|
|
63
|
+
readArrayOfUInt(): number[];
|
|
64
|
+
writeArrayOfFloat(values: number[]): void;
|
|
65
|
+
readArrayOfFloat(): number[];
|
|
66
|
+
writeArrayOfBool(values: boolean[]): void;
|
|
67
|
+
readArrayOfBool(): boolean[];
|
|
68
|
+
writeArrayOfRGBA32(values: RGBA32[]): void;
|
|
69
|
+
readArrayOfRGBA32(): RGBA32[];
|
|
70
|
+
writeArray<T>(data: T[], sizeT: number, write: (data: T) => void): void;
|
|
71
|
+
readArray<T>(read: () => T): T[];
|
|
72
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export interface VideoFrameHeader {
|
|
2
|
+
timestamp: number;
|
|
3
|
+
duration: number;
|
|
4
|
+
frameType: number;
|
|
5
|
+
dataLength: number;
|
|
6
|
+
}
|
|
7
|
+
export interface VideoFrameMessage {
|
|
8
|
+
header: VideoFrameHeader;
|
|
9
|
+
dataBuffer: ArrayBuffer;
|
|
10
|
+
}
|
|
11
|
+
export declare const HEADER_SIZE = 16;
|
|
12
|
+
export declare function readHeader(buffer: ArrayBuffer): VideoFrameHeader;
|
|
13
|
+
export declare function readBlob(blob: Blob): Promise<VideoFrameMessage>;
|
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
import { RGBA } from "../utils/math3d";
|
|
2
|
+
import { RpcSafeClient, SceneSettings } from "./rpcSafeClient";
|
|
3
|
+
/**
|
|
4
|
+
* Render settings that extend SceneSettings with additional rendering-specific properties
|
|
5
|
+
*/
|
|
6
|
+
export type RenderSettings = SceneSettings & {
|
|
7
|
+
/** Whether to lock the Image-Based Lighting rotation */
|
|
8
|
+
lockIblRotation: boolean;
|
|
9
|
+
/** Color used for ghost/transparent rendering */
|
|
10
|
+
ghostColor: RGBA;
|
|
11
|
+
};
|
|
12
|
+
/**
|
|
13
|
+
* Default rendering settings
|
|
14
|
+
*/
|
|
15
|
+
export declare const defaultRenderSettings: RenderSettings;
|
|
16
|
+
/**
|
|
17
|
+
* Interface defining the basic renderer capabilities
|
|
18
|
+
*/
|
|
19
|
+
export interface IRenderer {
|
|
20
|
+
ghostColor: RGBA;
|
|
21
|
+
lockIblRotation: boolean;
|
|
22
|
+
hdrScale: number;
|
|
23
|
+
toneMappingWhitePoint: number;
|
|
24
|
+
hdrBackgroundScale: number;
|
|
25
|
+
hdrBackgroundSaturation: number;
|
|
26
|
+
backgroundBlur: number;
|
|
27
|
+
backgroundColor: RGBA;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Renderer class that handles 3D scene rendering and settings management
|
|
31
|
+
*/
|
|
32
|
+
export declare class Renderer implements IRenderer {
|
|
33
|
+
private _rpc;
|
|
34
|
+
private _settings;
|
|
35
|
+
private _animationFrame;
|
|
36
|
+
private _updateLighting;
|
|
37
|
+
private _updateGhostColor;
|
|
38
|
+
private _updateIblRotation;
|
|
39
|
+
/**
|
|
40
|
+
* Creates a new Renderer instance
|
|
41
|
+
* @param rpc - RPC client for communication with the rendering backend
|
|
42
|
+
* @param settings - Optional partial render settings to override defaults
|
|
43
|
+
*/
|
|
44
|
+
constructor(rpc: RpcSafeClient, settings?: Partial<RenderSettings>);
|
|
45
|
+
/**
|
|
46
|
+
* Initializes the renderer when connection is established
|
|
47
|
+
* Sets up initial scene settings, ghost color, and IBL rotation
|
|
48
|
+
*/
|
|
49
|
+
onConnect(): void;
|
|
50
|
+
/**
|
|
51
|
+
* Gets the ghost color used for transparent rendering
|
|
52
|
+
* @returns Current ghost color as RGBA
|
|
53
|
+
*/
|
|
54
|
+
get ghostColor(): RGBA;
|
|
55
|
+
/**
|
|
56
|
+
* Gets the IBL rotation lock setting
|
|
57
|
+
* @returns Whether IBL rotation is locked
|
|
58
|
+
*/
|
|
59
|
+
get lockIblRotation(): boolean;
|
|
60
|
+
/**
|
|
61
|
+
* Gets the tone mapping white point value
|
|
62
|
+
* @returns Current tone mapping white point
|
|
63
|
+
*/
|
|
64
|
+
get toneMappingWhitePoint(): number;
|
|
65
|
+
/**
|
|
66
|
+
* Gets the HDR scale value
|
|
67
|
+
* @returns Current HDR scale
|
|
68
|
+
*/
|
|
69
|
+
get hdrScale(): number;
|
|
70
|
+
/**
|
|
71
|
+
* Gets the HDR background scale value
|
|
72
|
+
* @returns Current HDR background scale
|
|
73
|
+
*/
|
|
74
|
+
get hdrBackgroundScale(): number;
|
|
75
|
+
/**
|
|
76
|
+
* Gets the HDR background saturation value
|
|
77
|
+
* @returns Current HDR background saturation
|
|
78
|
+
*/
|
|
79
|
+
get hdrBackgroundSaturation(): number;
|
|
80
|
+
/**
|
|
81
|
+
* Gets the background blur value
|
|
82
|
+
* @returns Current background blur
|
|
83
|
+
*/
|
|
84
|
+
get backgroundBlur(): number;
|
|
85
|
+
/**
|
|
86
|
+
* Gets the background color
|
|
87
|
+
* @returns Current background color as RGBA
|
|
88
|
+
*/
|
|
89
|
+
get backgroundColor(): RGBA;
|
|
90
|
+
/**
|
|
91
|
+
* Updates the ghost color used for transparent rendering
|
|
92
|
+
* @param value - New ghost color as RGBA
|
|
93
|
+
*/
|
|
94
|
+
set ghostColor(value: RGBA);
|
|
95
|
+
/**
|
|
96
|
+
* Updates the IBL rotation lock setting
|
|
97
|
+
* @param value - Whether to lock IBL rotation
|
|
98
|
+
*/
|
|
99
|
+
set lockIblRotation(value: boolean);
|
|
100
|
+
/**
|
|
101
|
+
* Sets the tone mapping white point value
|
|
102
|
+
* @param value - New tone mapping white point value
|
|
103
|
+
*/
|
|
104
|
+
set toneMappingWhitePoint(value: number);
|
|
105
|
+
/**
|
|
106
|
+
* Sets the HDR scale value
|
|
107
|
+
* @param value - New HDR scale value
|
|
108
|
+
*/
|
|
109
|
+
set hdrScale(value: number);
|
|
110
|
+
/**
|
|
111
|
+
* Sets the HDR background scale value
|
|
112
|
+
* @param value - New HDR background scale value
|
|
113
|
+
*/
|
|
114
|
+
set hdrBackgroundScale(value: number);
|
|
115
|
+
/**
|
|
116
|
+
* Sets the HDR background saturation value
|
|
117
|
+
* @param value - New HDR background saturation value
|
|
118
|
+
*/
|
|
119
|
+
set hdrBackgroundSaturation(value: number);
|
|
120
|
+
/**
|
|
121
|
+
* Sets the background blur value
|
|
122
|
+
* @param value - New background blur value
|
|
123
|
+
*/
|
|
124
|
+
set backgroundBlur(value: number);
|
|
125
|
+
/**
|
|
126
|
+
* Sets the background color
|
|
127
|
+
* @param value - New background color as RGBA
|
|
128
|
+
*/
|
|
129
|
+
set backgroundColor(value: RGBA);
|
|
130
|
+
/**
|
|
131
|
+
* Requests an update to be performed on the next animation frame.
|
|
132
|
+
* Multiple setting changes will be batched into a single update.
|
|
133
|
+
* @private
|
|
134
|
+
*/
|
|
135
|
+
private requestSettingsUpdate;
|
|
136
|
+
private applySettings;
|
|
137
|
+
/**
|
|
138
|
+
* Cleans up renderer resources
|
|
139
|
+
* Cancels any pending animation frames
|
|
140
|
+
*/
|
|
141
|
+
dispose(): void;
|
|
142
|
+
}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import type { SocketClient } from './socketClient';
|
|
2
|
+
import { HitCheckResult, VimStatus } from './marshal';
|
|
3
|
+
import { Box3, RGBA, RGBA32, Segment, Vector2, Vector3 } from '../utils/math3d';
|
|
4
|
+
export type MaterialHandle = 4294967295 | 6 | 2 | 0 | 1 | 3 | 4 | 5 | 7 | 8;
|
|
5
|
+
export declare class MaterialHandles {
|
|
6
|
+
static readonly Invalid: MaterialHandle;
|
|
7
|
+
static readonly Wireframe: MaterialHandle;
|
|
8
|
+
static readonly FlatShaded: MaterialHandle;
|
|
9
|
+
static readonly StandardOpaque: MaterialHandle;
|
|
10
|
+
static readonly StandardGlass: MaterialHandle;
|
|
11
|
+
static readonly GhostOutline: MaterialHandle;
|
|
12
|
+
static readonly GhostFill: MaterialHandle;
|
|
13
|
+
static readonly GhostBoth: MaterialHandle;
|
|
14
|
+
static readonly Highlight: MaterialHandle;
|
|
15
|
+
static readonly Invisible: MaterialHandle;
|
|
16
|
+
}
|
|
17
|
+
export declare const materialHandles: MaterialHandle[];
|
|
18
|
+
export declare class RpcClient {
|
|
19
|
+
private readonly _messenger;
|
|
20
|
+
constructor(_messenger: SocketClient);
|
|
21
|
+
readonly API_VERSION = "4.0.0";
|
|
22
|
+
RPCClearMaterialOverrides(componentHandle: number): void;
|
|
23
|
+
RPCClearScene(): void;
|
|
24
|
+
RPCCreateMaterialInstances(materialHandle: number, smoothness: number, colors: RGBA32[]): Promise<number>;
|
|
25
|
+
RPCCreateText(position: Vector3, color: RGBA32, text: string): Promise<number>;
|
|
26
|
+
RPCDestroyMaterialInstances(materialInstanceHandle: number[]): void;
|
|
27
|
+
RPCDestroyText(componentHandle: number): void;
|
|
28
|
+
RPCEnableSectionBox(enable: boolean): void;
|
|
29
|
+
RPCFrameAll(blendTime: number): Promise<Segment>;
|
|
30
|
+
RPCFrameBox(box: Box3, blendTime: number): Promise<Segment>;
|
|
31
|
+
RPCFrameInstances(componentHandle: number, nodes: number[], blendTime: number): Promise<Segment>;
|
|
32
|
+
RPCFrameVim(componentHandle: number, blendTime: number): Promise<Segment>;
|
|
33
|
+
RPCGetAPIVersion(): Promise<string>;
|
|
34
|
+
RPCGetBoundingBox(componentHandle: number, nodes: number[]): Promise<Box3>;
|
|
35
|
+
RPCGetCameraPosition(): Promise<Segment>;
|
|
36
|
+
RPCGetLastError(): Promise<string>;
|
|
37
|
+
RPCGetVimLoadingState(componentHandle: number): Promise<VimStatus>;
|
|
38
|
+
RPCGhost(componentHandle: number, nodes: number[]): void;
|
|
39
|
+
RPCGhostAll(componentHandle: number): void;
|
|
40
|
+
RPCHide(componentHandle: number, nodes: number[]): void;
|
|
41
|
+
RPCHideAABBs(componentHandle: number, nodes: number[]): void;
|
|
42
|
+
RPCHideAll(componentHandle: number): void;
|
|
43
|
+
RPCHideAllAABBs(componentHandle: number): void;
|
|
44
|
+
RPCHighlight(componentHandle: number, nodes: number[]): void;
|
|
45
|
+
RPCHighlightAll(componentHandle: number): void;
|
|
46
|
+
RPCKeyEvent(keyCode: number, down: boolean): void;
|
|
47
|
+
RPCLoadVim(fileName: string): Promise<number>;
|
|
48
|
+
RPCLoadVimURL(url: string, authToken: string): Promise<number>;
|
|
49
|
+
RPCLockIblRotation(lock: boolean): void;
|
|
50
|
+
RPCMouseButtonEvent(mousePos: Vector2, mouseButton: number, down: boolean): void;
|
|
51
|
+
RPCMouseDoubleClickEvent(mousePos: Vector2, mouseButton: number): void;
|
|
52
|
+
RPCMouseMoveEvent(mousePos: Vector2): void;
|
|
53
|
+
RPCMouseScrollEvent(scrollValue: number): void;
|
|
54
|
+
RPCMouseSelectEvent(mousePos: Vector2, mouseButton: number): void;
|
|
55
|
+
RPCMoveCameraTo(usePosition: boolean, useTarget: boolean, position: Vector3, target: Vector3, blendTime: number): void;
|
|
56
|
+
RPCPauseRendering(pause: boolean): void;
|
|
57
|
+
RPCPerformHitTest(pos: Vector2): Promise<HitCheckResult>;
|
|
58
|
+
RPCSetAspectRatio(width: number, height: number): void;
|
|
59
|
+
RPCSetCameraMode(orbit: boolean): void;
|
|
60
|
+
RPCSetCameraPosition(state: Segment, blendTime: number): void;
|
|
61
|
+
RPCSetGhostColor(ghostColor: RGBA): void;
|
|
62
|
+
RPCSetLighting(toneMappingWhitePoint: number, hdrScale: number, hdrBackgroundScale: number, hdrBackgroundSaturation: number, backgroundBlur: number, backgroundColor: RGBA): void;
|
|
63
|
+
RPCSetMaterialOverrides(componentHandle: number, nodes: number[], materialInstanceHandles: number[]): void;
|
|
64
|
+
RPCSetMoveSpeed(speed: number): void;
|
|
65
|
+
RPCSetSectionBox(aabb: Box3): void;
|
|
66
|
+
RPCShow(componentHandle: number, nodes: number[]): void;
|
|
67
|
+
RPCShowAABBs(componentHandle: number, nodes: number[], colors: RGBA32[]): void;
|
|
68
|
+
RPCShowAll(componentHandle: number): void;
|
|
69
|
+
RPCStartScene(toneMappingWhitePoint: number, hdrScale: number, hdrBackgroundScale: number, hdrBackgroundSaturation: number, backgroundBlur: number, backgroundColor: RGBA): void;
|
|
70
|
+
RPCTriggerRenderDocCapture(): void;
|
|
71
|
+
RPCUnloadVim(componentHandle: number): void;
|
|
72
|
+
}
|