topazcube 0.1.31 → 0.1.35
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/LICENSE.txt +0 -0
- package/README.md +0 -0
- package/dist/Renderer.cjs +20844 -0
- package/dist/Renderer.cjs.map +1 -0
- package/dist/Renderer.js +20827 -0
- package/dist/Renderer.js.map +1 -0
- package/dist/client.cjs +91 -260
- package/dist/client.cjs.map +1 -1
- package/dist/client.js +68 -215
- package/dist/client.js.map +1 -1
- package/dist/server.cjs +165 -432
- package/dist/server.cjs.map +1 -1
- package/dist/server.js +117 -370
- package/dist/server.js.map +1 -1
- package/dist/terminal.cjs +113 -200
- package/dist/terminal.cjs.map +1 -1
- package/dist/terminal.js +50 -51
- package/dist/terminal.js.map +1 -1
- package/dist/utils-CRhi1BDa.cjs +259 -0
- package/dist/utils-CRhi1BDa.cjs.map +1 -0
- package/dist/utils-D7tXt6-2.js +260 -0
- package/dist/utils-D7tXt6-2.js.map +1 -0
- package/package.json +19 -15
- package/src/{client.ts → network/client.js} +170 -403
- package/src/{compress-browser.ts → network/compress-browser.js} +2 -4
- package/src/{compress-node.ts → network/compress-node.js} +8 -14
- package/src/{server.ts → network/server.js} +229 -317
- package/src/{terminal.js → network/terminal.js} +0 -0
- package/src/{topazcube.ts → network/topazcube.js} +2 -2
- package/src/network/utils.js +375 -0
- package/src/renderer/Camera.js +191 -0
- package/src/renderer/DebugUI.js +703 -0
- package/src/renderer/Geometry.js +1049 -0
- package/src/renderer/Material.js +64 -0
- package/src/renderer/Mesh.js +211 -0
- package/src/renderer/Node.js +112 -0
- package/src/renderer/Pipeline.js +645 -0
- package/src/renderer/Renderer.js +1496 -0
- package/src/renderer/Skin.js +792 -0
- package/src/renderer/Texture.js +584 -0
- package/src/renderer/core/AssetManager.js +394 -0
- package/src/renderer/core/CullingSystem.js +308 -0
- package/src/renderer/core/EntityManager.js +541 -0
- package/src/renderer/core/InstanceManager.js +343 -0
- package/src/renderer/core/ParticleEmitter.js +358 -0
- package/src/renderer/core/ParticleSystem.js +564 -0
- package/src/renderer/core/SpriteSystem.js +349 -0
- package/src/renderer/gltf.js +563 -0
- package/src/renderer/math.js +161 -0
- package/src/renderer/rendering/HistoryBufferManager.js +333 -0
- package/src/renderer/rendering/ProbeCapture.js +1495 -0
- package/src/renderer/rendering/ReflectionProbeManager.js +352 -0
- package/src/renderer/rendering/RenderGraph.js +2258 -0
- package/src/renderer/rendering/passes/AOPass.js +308 -0
- package/src/renderer/rendering/passes/AmbientCapturePass.js +593 -0
- package/src/renderer/rendering/passes/BasePass.js +101 -0
- package/src/renderer/rendering/passes/BloomPass.js +420 -0
- package/src/renderer/rendering/passes/CRTPass.js +724 -0
- package/src/renderer/rendering/passes/FogPass.js +445 -0
- package/src/renderer/rendering/passes/GBufferPass.js +730 -0
- package/src/renderer/rendering/passes/HiZPass.js +744 -0
- package/src/renderer/rendering/passes/LightingPass.js +753 -0
- package/src/renderer/rendering/passes/ParticlePass.js +841 -0
- package/src/renderer/rendering/passes/PlanarReflectionPass.js +456 -0
- package/src/renderer/rendering/passes/PostProcessPass.js +405 -0
- package/src/renderer/rendering/passes/ReflectionPass.js +157 -0
- package/src/renderer/rendering/passes/RenderPostPass.js +364 -0
- package/src/renderer/rendering/passes/SSGIPass.js +266 -0
- package/src/renderer/rendering/passes/SSGITilePass.js +305 -0
- package/src/renderer/rendering/passes/ShadowPass.js +2072 -0
- package/src/renderer/rendering/passes/TransparentPass.js +831 -0
- package/src/renderer/rendering/passes/VolumetricFogPass.js +715 -0
- package/src/renderer/rendering/shaders/ao.wgsl +182 -0
- package/src/renderer/rendering/shaders/bloom.wgsl +97 -0
- package/src/renderer/rendering/shaders/bloom_blur.wgsl +80 -0
- package/src/renderer/rendering/shaders/crt.wgsl +455 -0
- package/src/renderer/rendering/shaders/depth_copy.wgsl +17 -0
- package/src/renderer/rendering/shaders/geometry.wgsl +580 -0
- package/src/renderer/rendering/shaders/hiz_reduce.wgsl +114 -0
- package/src/renderer/rendering/shaders/light_culling.wgsl +204 -0
- package/src/renderer/rendering/shaders/lighting.wgsl +932 -0
- package/src/renderer/rendering/shaders/lighting_common.wgsl +143 -0
- package/src/renderer/rendering/shaders/particle_render.wgsl +672 -0
- package/src/renderer/rendering/shaders/particle_simulate.wgsl +440 -0
- package/src/renderer/rendering/shaders/postproc.wgsl +293 -0
- package/src/renderer/rendering/shaders/render_post.wgsl +289 -0
- package/src/renderer/rendering/shaders/shadow.wgsl +117 -0
- package/src/renderer/rendering/shaders/ssgi.wgsl +266 -0
- package/src/renderer/rendering/shaders/ssgi_accumulate.wgsl +114 -0
- package/src/renderer/rendering/shaders/ssgi_propagate.wgsl +132 -0
- package/src/renderer/rendering/shaders/volumetric_blur.wgsl +80 -0
- package/src/renderer/rendering/shaders/volumetric_composite.wgsl +80 -0
- package/src/renderer/rendering/shaders/volumetric_raymarch.wgsl +634 -0
- package/src/renderer/utils/BoundingSphere.js +439 -0
- package/src/renderer/utils/Frustum.js +281 -0
- package/src/renderer/utils/Raycaster.js +761 -0
- package/dist/client.d.cts +0 -211
- package/dist/client.d.ts +0 -211
- package/dist/server.d.cts +0 -120
- package/dist/server.d.ts +0 -120
- package/dist/terminal.d.cts +0 -64
- package/dist/terminal.d.ts +0 -64
- package/src/utils.ts +0 -403
package/dist/client.d.cts
DELETED
|
@@ -1,211 +0,0 @@
|
|
|
1
|
-
import { vec3, quat } from 'gl-matrix';
|
|
2
|
-
|
|
3
|
-
interface Stats {
|
|
4
|
-
send: number;
|
|
5
|
-
rec: number;
|
|
6
|
-
recRTC: number;
|
|
7
|
-
sendBps: number;
|
|
8
|
-
recBps: number;
|
|
9
|
-
recRTCBps: number;
|
|
10
|
-
ping: number;
|
|
11
|
-
stdiff: number;
|
|
12
|
-
}
|
|
13
|
-
interface ConstructorParams {
|
|
14
|
-
url: string;
|
|
15
|
-
autoReconnect?: boolean;
|
|
16
|
-
allowSync?: boolean;
|
|
17
|
-
allowWebRTC?: boolean;
|
|
18
|
-
DEBUG?: boolean;
|
|
19
|
-
}
|
|
20
|
-
interface Message {
|
|
21
|
-
c: string;
|
|
22
|
-
[key: string]: any;
|
|
23
|
-
}
|
|
24
|
-
interface Document {
|
|
25
|
-
entities?: {
|
|
26
|
-
[key: string]: any;
|
|
27
|
-
};
|
|
28
|
-
origin?: vec3;
|
|
29
|
-
[key: string]: any;
|
|
30
|
-
}
|
|
31
|
-
declare global {
|
|
32
|
-
interface RTCPeerConnection {
|
|
33
|
-
new (configuration?: RTCConfiguration): RTCPeerConnection;
|
|
34
|
-
createOffer(options?: RTCOfferOptions): Promise<RTCSessionDescriptionInit>;
|
|
35
|
-
createAnswer(options?: RTCAnswerOptions): Promise<RTCSessionDescriptionInit>;
|
|
36
|
-
setLocalDescription(description?: RTCSessionDescriptionInit): Promise<void>;
|
|
37
|
-
setRemoteDescription(description: RTCSessionDescriptionInit): Promise<void>;
|
|
38
|
-
addIceCandidate(candidate?: RTCIceCandidateInit): Promise<void>;
|
|
39
|
-
createDataChannel(label: string, dataChannelDict?: RTCDataChannelInit): RTCDataChannel;
|
|
40
|
-
close(): void;
|
|
41
|
-
readonly connectionState: RTCPeerConnectionState;
|
|
42
|
-
readonly iceConnectionState: RTCIceConnectionState;
|
|
43
|
-
readonly iceGatheringState: RTCIceGatheringState;
|
|
44
|
-
readonly localDescription: RTCSessionDescription | null;
|
|
45
|
-
readonly remoteDescription: RTCSessionDescription | null;
|
|
46
|
-
onconnectionstatechange: ((this: RTCPeerConnection, ev: Event) => any) | null;
|
|
47
|
-
oniceconnectionstatechange: ((this: RTCPeerConnection, ev: Event) => any) | null;
|
|
48
|
-
onicegatheringstatechange: ((this: RTCPeerConnection, ev: Event) => any) | null;
|
|
49
|
-
onicecandidate: ((this: RTCPeerConnection, ev: RTCPeerConnectionIceEvent) => any) | null;
|
|
50
|
-
ondatachannel: ((this: RTCPeerConnection, ev: RTCDataChannelEvent) => any) | null;
|
|
51
|
-
dataChannel?: RTCDataChannel;
|
|
52
|
-
}
|
|
53
|
-
interface RTCDataChannel {
|
|
54
|
-
readonly label: string;
|
|
55
|
-
readonly readyState: RTCDataChannelState;
|
|
56
|
-
send(data: string | Blob | ArrayBuffer | ArrayBufferView): void;
|
|
57
|
-
close(): void;
|
|
58
|
-
onopen: ((this: RTCDataChannel, ev: Event) => any) | null;
|
|
59
|
-
onclose: ((this: RTCDataChannel, ev: Event) => any) | null;
|
|
60
|
-
onerror: ((this: RTCDataChannel, ev: Event) => any) | null;
|
|
61
|
-
onmessage: ((this: RTCDataChannel, ev: MessageEvent) => any) | null;
|
|
62
|
-
}
|
|
63
|
-
interface RTCSessionDescription {
|
|
64
|
-
readonly type: RTCSdpType;
|
|
65
|
-
readonly sdp: string;
|
|
66
|
-
}
|
|
67
|
-
interface RTCIceCandidate {
|
|
68
|
-
new (candidateInitDict?: RTCIceCandidateInit): RTCIceCandidate;
|
|
69
|
-
}
|
|
70
|
-
interface RTCPeerConnectionIceEvent extends Event {
|
|
71
|
-
readonly candidate: RTCIceCandidate | null;
|
|
72
|
-
}
|
|
73
|
-
interface RTCDataChannelEvent extends Event {
|
|
74
|
-
readonly channel: RTCDataChannel;
|
|
75
|
-
}
|
|
76
|
-
type RTCPeerConnectionState = 'closed' | 'connected' | 'connecting' | 'disconnected' | 'failed' | 'new';
|
|
77
|
-
type RTCIceConnectionState = 'checking' | 'closed' | 'completed' | 'connected' | 'disconnected' | 'failed' | 'new';
|
|
78
|
-
type RTCIceGatheringState = 'complete' | 'gathering' | 'new';
|
|
79
|
-
type RTCDataChannelState = 'closed' | 'closing' | 'connecting' | 'open';
|
|
80
|
-
type RTCSdpType = 'answer' | 'offer' | 'pranswer' | 'rollback';
|
|
81
|
-
interface RTCConfiguration {
|
|
82
|
-
iceServers?: RTCIceServer[];
|
|
83
|
-
iceCandidatePoolSize?: number;
|
|
84
|
-
}
|
|
85
|
-
interface RTCIceServer {
|
|
86
|
-
urls: string | string[];
|
|
87
|
-
username?: string;
|
|
88
|
-
credential?: string;
|
|
89
|
-
}
|
|
90
|
-
interface RTCOfferOptions {
|
|
91
|
-
offerToReceiveAudio?: boolean;
|
|
92
|
-
offerToReceiveVideo?: boolean;
|
|
93
|
-
iceRestart?: boolean;
|
|
94
|
-
}
|
|
95
|
-
interface RTCAnswerOptions {
|
|
96
|
-
}
|
|
97
|
-
interface RTCSessionDescriptionInit {
|
|
98
|
-
type: RTCSdpType;
|
|
99
|
-
sdp?: string;
|
|
100
|
-
}
|
|
101
|
-
interface RTCIceCandidateInit {
|
|
102
|
-
candidate?: string;
|
|
103
|
-
sdpMLineIndex?: number | null;
|
|
104
|
-
sdpMid?: string | null;
|
|
105
|
-
usernameFragment?: string | null;
|
|
106
|
-
}
|
|
107
|
-
interface RTCDataChannelInit {
|
|
108
|
-
ordered?: boolean;
|
|
109
|
-
maxPacketLifeTime?: number;
|
|
110
|
-
maxRetransmits?: number;
|
|
111
|
-
protocol?: string;
|
|
112
|
-
negotiated?: boolean;
|
|
113
|
-
id?: number;
|
|
114
|
-
}
|
|
115
|
-
const RTCPeerConnection: {
|
|
116
|
-
prototype: RTCPeerConnection;
|
|
117
|
-
new (configuration?: RTCConfiguration): RTCPeerConnection;
|
|
118
|
-
};
|
|
119
|
-
const RTCSessionDescription: {
|
|
120
|
-
prototype: RTCSessionDescription;
|
|
121
|
-
new (descriptionInitDict: RTCSessionDescriptionInit): RTCSessionDescription;
|
|
122
|
-
};
|
|
123
|
-
const RTCIceCandidate: {
|
|
124
|
-
prototype: RTCIceCandidate;
|
|
125
|
-
new (candidateInitDict?: RTCIceCandidateInit): RTCIceCandidate;
|
|
126
|
-
};
|
|
127
|
-
}
|
|
128
|
-
declare class TopazCubeClient {
|
|
129
|
-
DEBUG: boolean;
|
|
130
|
-
CYCLE: number;
|
|
131
|
-
url: string;
|
|
132
|
-
documents: {
|
|
133
|
-
[key: string]: Document;
|
|
134
|
-
};
|
|
135
|
-
autoReconnect: boolean;
|
|
136
|
-
allowSync: boolean;
|
|
137
|
-
allowWebRTC: boolean;
|
|
138
|
-
isConnected: boolean;
|
|
139
|
-
isConnecting: boolean;
|
|
140
|
-
isPatched: boolean;
|
|
141
|
-
stats: Stats;
|
|
142
|
-
lastFullState: number;
|
|
143
|
-
lastPatch: number;
|
|
144
|
-
_chunks: {
|
|
145
|
-
[key: string]: any;
|
|
146
|
-
};
|
|
147
|
-
le: boolean;
|
|
148
|
-
_documentChanges: {
|
|
149
|
-
[key: string]: any[];
|
|
150
|
-
};
|
|
151
|
-
ID: number;
|
|
152
|
-
socket: WebSocket | null;
|
|
153
|
-
_peerConnection: RTCPeerConnection | null;
|
|
154
|
-
_candidates: RTCIceCandidate[];
|
|
155
|
-
_remoteCandidates: RTCIceCandidateInit[];
|
|
156
|
-
_offerSent: boolean;
|
|
157
|
-
_dataChannel: RTCDataChannel | null;
|
|
158
|
-
_serverDataChannel: RTCDataChannel | null;
|
|
159
|
-
_webRTCConnected: boolean;
|
|
160
|
-
isInterpolated: boolean;
|
|
161
|
-
_lastInterpolate: number;
|
|
162
|
-
_lastUpdateId: {
|
|
163
|
-
[key: string]: number;
|
|
164
|
-
};
|
|
165
|
-
_dpos: vec3;
|
|
166
|
-
_drot: quat;
|
|
167
|
-
_sca: vec3;
|
|
168
|
-
_notifyChanges: boolean;
|
|
169
|
-
_siv: NodeJS.Timeout | null;
|
|
170
|
-
_loopiv: NodeJS.Timeout | null;
|
|
171
|
-
_updateiv: NodeJS.Timeout | null;
|
|
172
|
-
_pingiv: NodeJS.Timeout | null;
|
|
173
|
-
constructor({ url, // server url
|
|
174
|
-
autoReconnect, // auto reconnect on disconnect
|
|
175
|
-
allowSync, // allow sync on connect
|
|
176
|
-
allowWebRTC, DEBUG }: ConstructorParams);
|
|
177
|
-
log(...args: any[]): void;
|
|
178
|
-
warn(...args: any[]): void;
|
|
179
|
-
error(...args: any[]): void;
|
|
180
|
-
_startLoop(): void;
|
|
181
|
-
_loop(): void;
|
|
182
|
-
_updateStats(): void;
|
|
183
|
-
_clear(): void;
|
|
184
|
-
interpolate(): void;
|
|
185
|
-
subscribe(name: string): void;
|
|
186
|
-
unsubscribe(name: string): void;
|
|
187
|
-
connect(): void;
|
|
188
|
-
disconnect(): void;
|
|
189
|
-
destroy(): void;
|
|
190
|
-
onConnect(): void;
|
|
191
|
-
onDisconnect(): void;
|
|
192
|
-
_reconnect(): void;
|
|
193
|
-
_ping(): void;
|
|
194
|
-
onChange(_name: string, _doc: Document | undefined, patch: any | undefined): void;
|
|
195
|
-
onMessage(_message: Message): void;
|
|
196
|
-
send(operation: any): void;
|
|
197
|
-
get document(): Document | undefined;
|
|
198
|
-
_onMessage(message: Message): Promise<void>;
|
|
199
|
-
_onDocumentChange(name: string, op: any, target: any, path: string, value: any): void;
|
|
200
|
-
_sendPatches(): void;
|
|
201
|
-
_decodeFastChanges(message: Message): void;
|
|
202
|
-
sendRTC(message: Message): void;
|
|
203
|
-
_onRTCConnect(): void;
|
|
204
|
-
_onRTCDisconnect(): void;
|
|
205
|
-
_onRTCMessage(data: ArrayBuffer): Promise<void>;
|
|
206
|
-
_initializeWebRTC(): Promise<void>;
|
|
207
|
-
_restartIce(): Promise<void>;
|
|
208
|
-
_destroyWebRTC(): Promise<void>;
|
|
209
|
-
}
|
|
210
|
-
|
|
211
|
-
export { TopazCubeClient as default };
|
package/dist/client.d.ts
DELETED
|
@@ -1,211 +0,0 @@
|
|
|
1
|
-
import { vec3, quat } from 'gl-matrix';
|
|
2
|
-
|
|
3
|
-
interface Stats {
|
|
4
|
-
send: number;
|
|
5
|
-
rec: number;
|
|
6
|
-
recRTC: number;
|
|
7
|
-
sendBps: number;
|
|
8
|
-
recBps: number;
|
|
9
|
-
recRTCBps: number;
|
|
10
|
-
ping: number;
|
|
11
|
-
stdiff: number;
|
|
12
|
-
}
|
|
13
|
-
interface ConstructorParams {
|
|
14
|
-
url: string;
|
|
15
|
-
autoReconnect?: boolean;
|
|
16
|
-
allowSync?: boolean;
|
|
17
|
-
allowWebRTC?: boolean;
|
|
18
|
-
DEBUG?: boolean;
|
|
19
|
-
}
|
|
20
|
-
interface Message {
|
|
21
|
-
c: string;
|
|
22
|
-
[key: string]: any;
|
|
23
|
-
}
|
|
24
|
-
interface Document {
|
|
25
|
-
entities?: {
|
|
26
|
-
[key: string]: any;
|
|
27
|
-
};
|
|
28
|
-
origin?: vec3;
|
|
29
|
-
[key: string]: any;
|
|
30
|
-
}
|
|
31
|
-
declare global {
|
|
32
|
-
interface RTCPeerConnection {
|
|
33
|
-
new (configuration?: RTCConfiguration): RTCPeerConnection;
|
|
34
|
-
createOffer(options?: RTCOfferOptions): Promise<RTCSessionDescriptionInit>;
|
|
35
|
-
createAnswer(options?: RTCAnswerOptions): Promise<RTCSessionDescriptionInit>;
|
|
36
|
-
setLocalDescription(description?: RTCSessionDescriptionInit): Promise<void>;
|
|
37
|
-
setRemoteDescription(description: RTCSessionDescriptionInit): Promise<void>;
|
|
38
|
-
addIceCandidate(candidate?: RTCIceCandidateInit): Promise<void>;
|
|
39
|
-
createDataChannel(label: string, dataChannelDict?: RTCDataChannelInit): RTCDataChannel;
|
|
40
|
-
close(): void;
|
|
41
|
-
readonly connectionState: RTCPeerConnectionState;
|
|
42
|
-
readonly iceConnectionState: RTCIceConnectionState;
|
|
43
|
-
readonly iceGatheringState: RTCIceGatheringState;
|
|
44
|
-
readonly localDescription: RTCSessionDescription | null;
|
|
45
|
-
readonly remoteDescription: RTCSessionDescription | null;
|
|
46
|
-
onconnectionstatechange: ((this: RTCPeerConnection, ev: Event) => any) | null;
|
|
47
|
-
oniceconnectionstatechange: ((this: RTCPeerConnection, ev: Event) => any) | null;
|
|
48
|
-
onicegatheringstatechange: ((this: RTCPeerConnection, ev: Event) => any) | null;
|
|
49
|
-
onicecandidate: ((this: RTCPeerConnection, ev: RTCPeerConnectionIceEvent) => any) | null;
|
|
50
|
-
ondatachannel: ((this: RTCPeerConnection, ev: RTCDataChannelEvent) => any) | null;
|
|
51
|
-
dataChannel?: RTCDataChannel;
|
|
52
|
-
}
|
|
53
|
-
interface RTCDataChannel {
|
|
54
|
-
readonly label: string;
|
|
55
|
-
readonly readyState: RTCDataChannelState;
|
|
56
|
-
send(data: string | Blob | ArrayBuffer | ArrayBufferView): void;
|
|
57
|
-
close(): void;
|
|
58
|
-
onopen: ((this: RTCDataChannel, ev: Event) => any) | null;
|
|
59
|
-
onclose: ((this: RTCDataChannel, ev: Event) => any) | null;
|
|
60
|
-
onerror: ((this: RTCDataChannel, ev: Event) => any) | null;
|
|
61
|
-
onmessage: ((this: RTCDataChannel, ev: MessageEvent) => any) | null;
|
|
62
|
-
}
|
|
63
|
-
interface RTCSessionDescription {
|
|
64
|
-
readonly type: RTCSdpType;
|
|
65
|
-
readonly sdp: string;
|
|
66
|
-
}
|
|
67
|
-
interface RTCIceCandidate {
|
|
68
|
-
new (candidateInitDict?: RTCIceCandidateInit): RTCIceCandidate;
|
|
69
|
-
}
|
|
70
|
-
interface RTCPeerConnectionIceEvent extends Event {
|
|
71
|
-
readonly candidate: RTCIceCandidate | null;
|
|
72
|
-
}
|
|
73
|
-
interface RTCDataChannelEvent extends Event {
|
|
74
|
-
readonly channel: RTCDataChannel;
|
|
75
|
-
}
|
|
76
|
-
type RTCPeerConnectionState = 'closed' | 'connected' | 'connecting' | 'disconnected' | 'failed' | 'new';
|
|
77
|
-
type RTCIceConnectionState = 'checking' | 'closed' | 'completed' | 'connected' | 'disconnected' | 'failed' | 'new';
|
|
78
|
-
type RTCIceGatheringState = 'complete' | 'gathering' | 'new';
|
|
79
|
-
type RTCDataChannelState = 'closed' | 'closing' | 'connecting' | 'open';
|
|
80
|
-
type RTCSdpType = 'answer' | 'offer' | 'pranswer' | 'rollback';
|
|
81
|
-
interface RTCConfiguration {
|
|
82
|
-
iceServers?: RTCIceServer[];
|
|
83
|
-
iceCandidatePoolSize?: number;
|
|
84
|
-
}
|
|
85
|
-
interface RTCIceServer {
|
|
86
|
-
urls: string | string[];
|
|
87
|
-
username?: string;
|
|
88
|
-
credential?: string;
|
|
89
|
-
}
|
|
90
|
-
interface RTCOfferOptions {
|
|
91
|
-
offerToReceiveAudio?: boolean;
|
|
92
|
-
offerToReceiveVideo?: boolean;
|
|
93
|
-
iceRestart?: boolean;
|
|
94
|
-
}
|
|
95
|
-
interface RTCAnswerOptions {
|
|
96
|
-
}
|
|
97
|
-
interface RTCSessionDescriptionInit {
|
|
98
|
-
type: RTCSdpType;
|
|
99
|
-
sdp?: string;
|
|
100
|
-
}
|
|
101
|
-
interface RTCIceCandidateInit {
|
|
102
|
-
candidate?: string;
|
|
103
|
-
sdpMLineIndex?: number | null;
|
|
104
|
-
sdpMid?: string | null;
|
|
105
|
-
usernameFragment?: string | null;
|
|
106
|
-
}
|
|
107
|
-
interface RTCDataChannelInit {
|
|
108
|
-
ordered?: boolean;
|
|
109
|
-
maxPacketLifeTime?: number;
|
|
110
|
-
maxRetransmits?: number;
|
|
111
|
-
protocol?: string;
|
|
112
|
-
negotiated?: boolean;
|
|
113
|
-
id?: number;
|
|
114
|
-
}
|
|
115
|
-
const RTCPeerConnection: {
|
|
116
|
-
prototype: RTCPeerConnection;
|
|
117
|
-
new (configuration?: RTCConfiguration): RTCPeerConnection;
|
|
118
|
-
};
|
|
119
|
-
const RTCSessionDescription: {
|
|
120
|
-
prototype: RTCSessionDescription;
|
|
121
|
-
new (descriptionInitDict: RTCSessionDescriptionInit): RTCSessionDescription;
|
|
122
|
-
};
|
|
123
|
-
const RTCIceCandidate: {
|
|
124
|
-
prototype: RTCIceCandidate;
|
|
125
|
-
new (candidateInitDict?: RTCIceCandidateInit): RTCIceCandidate;
|
|
126
|
-
};
|
|
127
|
-
}
|
|
128
|
-
declare class TopazCubeClient {
|
|
129
|
-
DEBUG: boolean;
|
|
130
|
-
CYCLE: number;
|
|
131
|
-
url: string;
|
|
132
|
-
documents: {
|
|
133
|
-
[key: string]: Document;
|
|
134
|
-
};
|
|
135
|
-
autoReconnect: boolean;
|
|
136
|
-
allowSync: boolean;
|
|
137
|
-
allowWebRTC: boolean;
|
|
138
|
-
isConnected: boolean;
|
|
139
|
-
isConnecting: boolean;
|
|
140
|
-
isPatched: boolean;
|
|
141
|
-
stats: Stats;
|
|
142
|
-
lastFullState: number;
|
|
143
|
-
lastPatch: number;
|
|
144
|
-
_chunks: {
|
|
145
|
-
[key: string]: any;
|
|
146
|
-
};
|
|
147
|
-
le: boolean;
|
|
148
|
-
_documentChanges: {
|
|
149
|
-
[key: string]: any[];
|
|
150
|
-
};
|
|
151
|
-
ID: number;
|
|
152
|
-
socket: WebSocket | null;
|
|
153
|
-
_peerConnection: RTCPeerConnection | null;
|
|
154
|
-
_candidates: RTCIceCandidate[];
|
|
155
|
-
_remoteCandidates: RTCIceCandidateInit[];
|
|
156
|
-
_offerSent: boolean;
|
|
157
|
-
_dataChannel: RTCDataChannel | null;
|
|
158
|
-
_serverDataChannel: RTCDataChannel | null;
|
|
159
|
-
_webRTCConnected: boolean;
|
|
160
|
-
isInterpolated: boolean;
|
|
161
|
-
_lastInterpolate: number;
|
|
162
|
-
_lastUpdateId: {
|
|
163
|
-
[key: string]: number;
|
|
164
|
-
};
|
|
165
|
-
_dpos: vec3;
|
|
166
|
-
_drot: quat;
|
|
167
|
-
_sca: vec3;
|
|
168
|
-
_notifyChanges: boolean;
|
|
169
|
-
_siv: NodeJS.Timeout | null;
|
|
170
|
-
_loopiv: NodeJS.Timeout | null;
|
|
171
|
-
_updateiv: NodeJS.Timeout | null;
|
|
172
|
-
_pingiv: NodeJS.Timeout | null;
|
|
173
|
-
constructor({ url, // server url
|
|
174
|
-
autoReconnect, // auto reconnect on disconnect
|
|
175
|
-
allowSync, // allow sync on connect
|
|
176
|
-
allowWebRTC, DEBUG }: ConstructorParams);
|
|
177
|
-
log(...args: any[]): void;
|
|
178
|
-
warn(...args: any[]): void;
|
|
179
|
-
error(...args: any[]): void;
|
|
180
|
-
_startLoop(): void;
|
|
181
|
-
_loop(): void;
|
|
182
|
-
_updateStats(): void;
|
|
183
|
-
_clear(): void;
|
|
184
|
-
interpolate(): void;
|
|
185
|
-
subscribe(name: string): void;
|
|
186
|
-
unsubscribe(name: string): void;
|
|
187
|
-
connect(): void;
|
|
188
|
-
disconnect(): void;
|
|
189
|
-
destroy(): void;
|
|
190
|
-
onConnect(): void;
|
|
191
|
-
onDisconnect(): void;
|
|
192
|
-
_reconnect(): void;
|
|
193
|
-
_ping(): void;
|
|
194
|
-
onChange(_name: string, _doc: Document | undefined, patch: any | undefined): void;
|
|
195
|
-
onMessage(_message: Message): void;
|
|
196
|
-
send(operation: any): void;
|
|
197
|
-
get document(): Document | undefined;
|
|
198
|
-
_onMessage(message: Message): Promise<void>;
|
|
199
|
-
_onDocumentChange(name: string, op: any, target: any, path: string, value: any): void;
|
|
200
|
-
_sendPatches(): void;
|
|
201
|
-
_decodeFastChanges(message: Message): void;
|
|
202
|
-
sendRTC(message: Message): void;
|
|
203
|
-
_onRTCConnect(): void;
|
|
204
|
-
_onRTCDisconnect(): void;
|
|
205
|
-
_onRTCMessage(data: ArrayBuffer): Promise<void>;
|
|
206
|
-
_initializeWebRTC(): Promise<void>;
|
|
207
|
-
_restartIce(): Promise<void>;
|
|
208
|
-
_destroyWebRTC(): Promise<void>;
|
|
209
|
-
}
|
|
210
|
-
|
|
211
|
-
export { TopazCubeClient as default };
|
package/dist/server.d.cts
DELETED
|
@@ -1,120 +0,0 @@
|
|
|
1
|
-
import { WebSocketServer } from 'ws';
|
|
2
|
-
import { MongoClient, Db } from 'mongodb';
|
|
3
|
-
|
|
4
|
-
type ClientType = any;
|
|
5
|
-
interface StatsType {
|
|
6
|
-
tUpdate: number[];
|
|
7
|
-
tPatch: number[];
|
|
8
|
-
send: number;
|
|
9
|
-
sendRTC: number;
|
|
10
|
-
_sendRTCUpdate: number;
|
|
11
|
-
[key: string]: any;
|
|
12
|
-
}
|
|
13
|
-
declare class TopazCubeServer {
|
|
14
|
-
DEBUG: boolean;
|
|
15
|
-
name: string;
|
|
16
|
-
cycle: number;
|
|
17
|
-
saveCheckCycle: number;
|
|
18
|
-
saveCycle: number;
|
|
19
|
-
patchCycleDivider: number;
|
|
20
|
-
port: number;
|
|
21
|
-
useHttps: boolean;
|
|
22
|
-
key: string;
|
|
23
|
-
cert: string;
|
|
24
|
-
MongoUrl: string;
|
|
25
|
-
mongoClient: MongoClient | null;
|
|
26
|
-
DB: Db | null;
|
|
27
|
-
database: string;
|
|
28
|
-
collection: string;
|
|
29
|
-
allowSave: boolean;
|
|
30
|
-
allowSync: boolean;
|
|
31
|
-
allowWebRTC: boolean;
|
|
32
|
-
allowFastPatch: boolean;
|
|
33
|
-
allowCompression: boolean;
|
|
34
|
-
simulateLatency: number;
|
|
35
|
-
_lastUID: number;
|
|
36
|
-
clients: ClientType[];
|
|
37
|
-
documents: Record<string, any>;
|
|
38
|
-
isLoading: Record<string, boolean>;
|
|
39
|
-
_documentChanges: Record<string, any[]>;
|
|
40
|
-
_documentChanged: Record<string, boolean>;
|
|
41
|
-
_documentState: Record<string, any>;
|
|
42
|
-
update: number;
|
|
43
|
-
lastUpdate: number;
|
|
44
|
-
_saveiv: any;
|
|
45
|
-
_lastSave: Record<string, number>;
|
|
46
|
-
_loopiv: any;
|
|
47
|
-
_statsiv: any;
|
|
48
|
-
_stillUpdating: boolean;
|
|
49
|
-
stats: StatsType;
|
|
50
|
-
_wss: WebSocketServer | null;
|
|
51
|
-
_exited: boolean;
|
|
52
|
-
log(...args: any[]): void;
|
|
53
|
-
warn(...args: any[]): void;
|
|
54
|
-
error(...args: any[]): void;
|
|
55
|
-
constructor({ name, cycle, saveCheckCycle, saveCycle, port, useHttps, key, cert, MongoUrl, database, collection, allowSave, allowSync, allowWebRTC, allowFastPatch, allowCompression, simulateLatency, DEBUG }?: {
|
|
56
|
-
name?: string;
|
|
57
|
-
cycle?: number;
|
|
58
|
-
saveCheckCycle?: number;
|
|
59
|
-
saveCycle?: number;
|
|
60
|
-
port?: number;
|
|
61
|
-
useHttps?: boolean;
|
|
62
|
-
key?: string;
|
|
63
|
-
cert?: string;
|
|
64
|
-
MongoUrl?: string;
|
|
65
|
-
database?: string;
|
|
66
|
-
collection?: string;
|
|
67
|
-
allowSave?: boolean;
|
|
68
|
-
allowSync?: boolean;
|
|
69
|
-
allowWebRTC?: boolean;
|
|
70
|
-
allowFastPatch?: boolean;
|
|
71
|
-
allowCompression?: boolean;
|
|
72
|
-
simulateLatency?: number;
|
|
73
|
-
DEBUG?: boolean;
|
|
74
|
-
});
|
|
75
|
-
canCreate(client: ClientType, name: string): boolean;
|
|
76
|
-
onCreate(name: string): any;
|
|
77
|
-
canSync(client: ClientType, name: string, op: any): boolean;
|
|
78
|
-
onHydrate(name: string, document: any): Promise<void>;
|
|
79
|
-
_makeReactive(name: string): void;
|
|
80
|
-
_createEmptyDocument(name: string): void;
|
|
81
|
-
_waitLoad(name: string): Promise<void>;
|
|
82
|
-
_checkDocument(name: string, client: ClientType): Promise<void>;
|
|
83
|
-
_updateAllDocumentsState(): void;
|
|
84
|
-
onUpdate(name: string, doc: any, dt: number): void;
|
|
85
|
-
_startLoop(): void;
|
|
86
|
-
_loop(): void;
|
|
87
|
-
_doStats(): void;
|
|
88
|
-
onMessage(client: ClientType, message: any): void;
|
|
89
|
-
onConnect(client: ClientType): void;
|
|
90
|
-
onDisconnect(client: ClientType): void;
|
|
91
|
-
_onConnected(client: ClientType): void;
|
|
92
|
-
_onMessage(client: ClientType, message: any): Promise<void>;
|
|
93
|
-
_onError(client: ClientType, args: any[]): void;
|
|
94
|
-
_onDisconnected(client: ClientType): void;
|
|
95
|
-
send(client: ClientType, message: any): Promise<void>;
|
|
96
|
-
broadcast(message: object, clients?: ClientType[] | false): Promise<void>;
|
|
97
|
-
_sendFullState(name: string, client: ClientType): Promise<void>;
|
|
98
|
-
_encodeFastChanges(name: string, changesOnly?: boolean): any;
|
|
99
|
-
_sendPatches(): void;
|
|
100
|
-
_onDocumentChange(name: string, op: any, target: any, path: any, value: any): void;
|
|
101
|
-
propertyChange(name: string, id: string | number, property: string): void;
|
|
102
|
-
_processOffer(client: ClientType, data: any): Promise<void>;
|
|
103
|
-
_processICECandidate(client: ClientType, data: any): Promise<void>;
|
|
104
|
-
_clientRTCOpen(client: ClientType): boolean;
|
|
105
|
-
sendRTC(client: ClientType, message: any): Promise<void>;
|
|
106
|
-
broadcastRTC(message: any, clients?: ClientType[]): Promise<void>;
|
|
107
|
-
_splitRTCMessage(data: Uint8Array): Uint8Array[];
|
|
108
|
-
getUID(): number;
|
|
109
|
-
_initDB(): Promise<void>;
|
|
110
|
-
_connectDB(): Promise<void>;
|
|
111
|
-
_loadDocument(name: string): Promise<void>;
|
|
112
|
-
_saveDocument(name: string): Promise<void>;
|
|
113
|
-
_saveAllDocuments(): Promise<void>;
|
|
114
|
-
_saveChanges(): Promise<void>;
|
|
115
|
-
_initServerDocument(): void;
|
|
116
|
-
_exitSignal(signal: string): void;
|
|
117
|
-
onBeforeExit(): void;
|
|
118
|
-
}
|
|
119
|
-
|
|
120
|
-
export { TopazCubeServer as default };
|
package/dist/server.d.ts
DELETED
|
@@ -1,120 +0,0 @@
|
|
|
1
|
-
import { WebSocketServer } from 'ws';
|
|
2
|
-
import { MongoClient, Db } from 'mongodb';
|
|
3
|
-
|
|
4
|
-
type ClientType = any;
|
|
5
|
-
interface StatsType {
|
|
6
|
-
tUpdate: number[];
|
|
7
|
-
tPatch: number[];
|
|
8
|
-
send: number;
|
|
9
|
-
sendRTC: number;
|
|
10
|
-
_sendRTCUpdate: number;
|
|
11
|
-
[key: string]: any;
|
|
12
|
-
}
|
|
13
|
-
declare class TopazCubeServer {
|
|
14
|
-
DEBUG: boolean;
|
|
15
|
-
name: string;
|
|
16
|
-
cycle: number;
|
|
17
|
-
saveCheckCycle: number;
|
|
18
|
-
saveCycle: number;
|
|
19
|
-
patchCycleDivider: number;
|
|
20
|
-
port: number;
|
|
21
|
-
useHttps: boolean;
|
|
22
|
-
key: string;
|
|
23
|
-
cert: string;
|
|
24
|
-
MongoUrl: string;
|
|
25
|
-
mongoClient: MongoClient | null;
|
|
26
|
-
DB: Db | null;
|
|
27
|
-
database: string;
|
|
28
|
-
collection: string;
|
|
29
|
-
allowSave: boolean;
|
|
30
|
-
allowSync: boolean;
|
|
31
|
-
allowWebRTC: boolean;
|
|
32
|
-
allowFastPatch: boolean;
|
|
33
|
-
allowCompression: boolean;
|
|
34
|
-
simulateLatency: number;
|
|
35
|
-
_lastUID: number;
|
|
36
|
-
clients: ClientType[];
|
|
37
|
-
documents: Record<string, any>;
|
|
38
|
-
isLoading: Record<string, boolean>;
|
|
39
|
-
_documentChanges: Record<string, any[]>;
|
|
40
|
-
_documentChanged: Record<string, boolean>;
|
|
41
|
-
_documentState: Record<string, any>;
|
|
42
|
-
update: number;
|
|
43
|
-
lastUpdate: number;
|
|
44
|
-
_saveiv: any;
|
|
45
|
-
_lastSave: Record<string, number>;
|
|
46
|
-
_loopiv: any;
|
|
47
|
-
_statsiv: any;
|
|
48
|
-
_stillUpdating: boolean;
|
|
49
|
-
stats: StatsType;
|
|
50
|
-
_wss: WebSocketServer | null;
|
|
51
|
-
_exited: boolean;
|
|
52
|
-
log(...args: any[]): void;
|
|
53
|
-
warn(...args: any[]): void;
|
|
54
|
-
error(...args: any[]): void;
|
|
55
|
-
constructor({ name, cycle, saveCheckCycle, saveCycle, port, useHttps, key, cert, MongoUrl, database, collection, allowSave, allowSync, allowWebRTC, allowFastPatch, allowCompression, simulateLatency, DEBUG }?: {
|
|
56
|
-
name?: string;
|
|
57
|
-
cycle?: number;
|
|
58
|
-
saveCheckCycle?: number;
|
|
59
|
-
saveCycle?: number;
|
|
60
|
-
port?: number;
|
|
61
|
-
useHttps?: boolean;
|
|
62
|
-
key?: string;
|
|
63
|
-
cert?: string;
|
|
64
|
-
MongoUrl?: string;
|
|
65
|
-
database?: string;
|
|
66
|
-
collection?: string;
|
|
67
|
-
allowSave?: boolean;
|
|
68
|
-
allowSync?: boolean;
|
|
69
|
-
allowWebRTC?: boolean;
|
|
70
|
-
allowFastPatch?: boolean;
|
|
71
|
-
allowCompression?: boolean;
|
|
72
|
-
simulateLatency?: number;
|
|
73
|
-
DEBUG?: boolean;
|
|
74
|
-
});
|
|
75
|
-
canCreate(client: ClientType, name: string): boolean;
|
|
76
|
-
onCreate(name: string): any;
|
|
77
|
-
canSync(client: ClientType, name: string, op: any): boolean;
|
|
78
|
-
onHydrate(name: string, document: any): Promise<void>;
|
|
79
|
-
_makeReactive(name: string): void;
|
|
80
|
-
_createEmptyDocument(name: string): void;
|
|
81
|
-
_waitLoad(name: string): Promise<void>;
|
|
82
|
-
_checkDocument(name: string, client: ClientType): Promise<void>;
|
|
83
|
-
_updateAllDocumentsState(): void;
|
|
84
|
-
onUpdate(name: string, doc: any, dt: number): void;
|
|
85
|
-
_startLoop(): void;
|
|
86
|
-
_loop(): void;
|
|
87
|
-
_doStats(): void;
|
|
88
|
-
onMessage(client: ClientType, message: any): void;
|
|
89
|
-
onConnect(client: ClientType): void;
|
|
90
|
-
onDisconnect(client: ClientType): void;
|
|
91
|
-
_onConnected(client: ClientType): void;
|
|
92
|
-
_onMessage(client: ClientType, message: any): Promise<void>;
|
|
93
|
-
_onError(client: ClientType, args: any[]): void;
|
|
94
|
-
_onDisconnected(client: ClientType): void;
|
|
95
|
-
send(client: ClientType, message: any): Promise<void>;
|
|
96
|
-
broadcast(message: object, clients?: ClientType[] | false): Promise<void>;
|
|
97
|
-
_sendFullState(name: string, client: ClientType): Promise<void>;
|
|
98
|
-
_encodeFastChanges(name: string, changesOnly?: boolean): any;
|
|
99
|
-
_sendPatches(): void;
|
|
100
|
-
_onDocumentChange(name: string, op: any, target: any, path: any, value: any): void;
|
|
101
|
-
propertyChange(name: string, id: string | number, property: string): void;
|
|
102
|
-
_processOffer(client: ClientType, data: any): Promise<void>;
|
|
103
|
-
_processICECandidate(client: ClientType, data: any): Promise<void>;
|
|
104
|
-
_clientRTCOpen(client: ClientType): boolean;
|
|
105
|
-
sendRTC(client: ClientType, message: any): Promise<void>;
|
|
106
|
-
broadcastRTC(message: any, clients?: ClientType[]): Promise<void>;
|
|
107
|
-
_splitRTCMessage(data: Uint8Array): Uint8Array[];
|
|
108
|
-
getUID(): number;
|
|
109
|
-
_initDB(): Promise<void>;
|
|
110
|
-
_connectDB(): Promise<void>;
|
|
111
|
-
_loadDocument(name: string): Promise<void>;
|
|
112
|
-
_saveDocument(name: string): Promise<void>;
|
|
113
|
-
_saveAllDocuments(): Promise<void>;
|
|
114
|
-
_saveChanges(): Promise<void>;
|
|
115
|
-
_initServerDocument(): void;
|
|
116
|
-
_exitSignal(signal: string): void;
|
|
117
|
-
onBeforeExit(): void;
|
|
118
|
-
}
|
|
119
|
-
|
|
120
|
-
export { TopazCubeServer as default };
|