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.
Files changed (103) hide show
  1. package/LICENSE.txt +0 -0
  2. package/README.md +0 -0
  3. package/dist/Renderer.cjs +20844 -0
  4. package/dist/Renderer.cjs.map +1 -0
  5. package/dist/Renderer.js +20827 -0
  6. package/dist/Renderer.js.map +1 -0
  7. package/dist/client.cjs +91 -260
  8. package/dist/client.cjs.map +1 -1
  9. package/dist/client.js +68 -215
  10. package/dist/client.js.map +1 -1
  11. package/dist/server.cjs +165 -432
  12. package/dist/server.cjs.map +1 -1
  13. package/dist/server.js +117 -370
  14. package/dist/server.js.map +1 -1
  15. package/dist/terminal.cjs +113 -200
  16. package/dist/terminal.cjs.map +1 -1
  17. package/dist/terminal.js +50 -51
  18. package/dist/terminal.js.map +1 -1
  19. package/dist/utils-CRhi1BDa.cjs +259 -0
  20. package/dist/utils-CRhi1BDa.cjs.map +1 -0
  21. package/dist/utils-D7tXt6-2.js +260 -0
  22. package/dist/utils-D7tXt6-2.js.map +1 -0
  23. package/package.json +19 -15
  24. package/src/{client.ts → network/client.js} +170 -403
  25. package/src/{compress-browser.ts → network/compress-browser.js} +2 -4
  26. package/src/{compress-node.ts → network/compress-node.js} +8 -14
  27. package/src/{server.ts → network/server.js} +229 -317
  28. package/src/{terminal.js → network/terminal.js} +0 -0
  29. package/src/{topazcube.ts → network/topazcube.js} +2 -2
  30. package/src/network/utils.js +375 -0
  31. package/src/renderer/Camera.js +191 -0
  32. package/src/renderer/DebugUI.js +703 -0
  33. package/src/renderer/Geometry.js +1049 -0
  34. package/src/renderer/Material.js +64 -0
  35. package/src/renderer/Mesh.js +211 -0
  36. package/src/renderer/Node.js +112 -0
  37. package/src/renderer/Pipeline.js +645 -0
  38. package/src/renderer/Renderer.js +1496 -0
  39. package/src/renderer/Skin.js +792 -0
  40. package/src/renderer/Texture.js +584 -0
  41. package/src/renderer/core/AssetManager.js +394 -0
  42. package/src/renderer/core/CullingSystem.js +308 -0
  43. package/src/renderer/core/EntityManager.js +541 -0
  44. package/src/renderer/core/InstanceManager.js +343 -0
  45. package/src/renderer/core/ParticleEmitter.js +358 -0
  46. package/src/renderer/core/ParticleSystem.js +564 -0
  47. package/src/renderer/core/SpriteSystem.js +349 -0
  48. package/src/renderer/gltf.js +563 -0
  49. package/src/renderer/math.js +161 -0
  50. package/src/renderer/rendering/HistoryBufferManager.js +333 -0
  51. package/src/renderer/rendering/ProbeCapture.js +1495 -0
  52. package/src/renderer/rendering/ReflectionProbeManager.js +352 -0
  53. package/src/renderer/rendering/RenderGraph.js +2258 -0
  54. package/src/renderer/rendering/passes/AOPass.js +308 -0
  55. package/src/renderer/rendering/passes/AmbientCapturePass.js +593 -0
  56. package/src/renderer/rendering/passes/BasePass.js +101 -0
  57. package/src/renderer/rendering/passes/BloomPass.js +420 -0
  58. package/src/renderer/rendering/passes/CRTPass.js +724 -0
  59. package/src/renderer/rendering/passes/FogPass.js +445 -0
  60. package/src/renderer/rendering/passes/GBufferPass.js +730 -0
  61. package/src/renderer/rendering/passes/HiZPass.js +744 -0
  62. package/src/renderer/rendering/passes/LightingPass.js +753 -0
  63. package/src/renderer/rendering/passes/ParticlePass.js +841 -0
  64. package/src/renderer/rendering/passes/PlanarReflectionPass.js +456 -0
  65. package/src/renderer/rendering/passes/PostProcessPass.js +405 -0
  66. package/src/renderer/rendering/passes/ReflectionPass.js +157 -0
  67. package/src/renderer/rendering/passes/RenderPostPass.js +364 -0
  68. package/src/renderer/rendering/passes/SSGIPass.js +266 -0
  69. package/src/renderer/rendering/passes/SSGITilePass.js +305 -0
  70. package/src/renderer/rendering/passes/ShadowPass.js +2072 -0
  71. package/src/renderer/rendering/passes/TransparentPass.js +831 -0
  72. package/src/renderer/rendering/passes/VolumetricFogPass.js +715 -0
  73. package/src/renderer/rendering/shaders/ao.wgsl +182 -0
  74. package/src/renderer/rendering/shaders/bloom.wgsl +97 -0
  75. package/src/renderer/rendering/shaders/bloom_blur.wgsl +80 -0
  76. package/src/renderer/rendering/shaders/crt.wgsl +455 -0
  77. package/src/renderer/rendering/shaders/depth_copy.wgsl +17 -0
  78. package/src/renderer/rendering/shaders/geometry.wgsl +580 -0
  79. package/src/renderer/rendering/shaders/hiz_reduce.wgsl +114 -0
  80. package/src/renderer/rendering/shaders/light_culling.wgsl +204 -0
  81. package/src/renderer/rendering/shaders/lighting.wgsl +932 -0
  82. package/src/renderer/rendering/shaders/lighting_common.wgsl +143 -0
  83. package/src/renderer/rendering/shaders/particle_render.wgsl +672 -0
  84. package/src/renderer/rendering/shaders/particle_simulate.wgsl +440 -0
  85. package/src/renderer/rendering/shaders/postproc.wgsl +293 -0
  86. package/src/renderer/rendering/shaders/render_post.wgsl +289 -0
  87. package/src/renderer/rendering/shaders/shadow.wgsl +117 -0
  88. package/src/renderer/rendering/shaders/ssgi.wgsl +266 -0
  89. package/src/renderer/rendering/shaders/ssgi_accumulate.wgsl +114 -0
  90. package/src/renderer/rendering/shaders/ssgi_propagate.wgsl +132 -0
  91. package/src/renderer/rendering/shaders/volumetric_blur.wgsl +80 -0
  92. package/src/renderer/rendering/shaders/volumetric_composite.wgsl +80 -0
  93. package/src/renderer/rendering/shaders/volumetric_raymarch.wgsl +634 -0
  94. package/src/renderer/utils/BoundingSphere.js +439 -0
  95. package/src/renderer/utils/Frustum.js +281 -0
  96. package/src/renderer/utils/Raycaster.js +761 -0
  97. package/dist/client.d.cts +0 -211
  98. package/dist/client.d.ts +0 -211
  99. package/dist/server.d.cts +0 -120
  100. package/dist/server.d.ts +0 -120
  101. package/dist/terminal.d.cts +0 -64
  102. package/dist/terminal.d.ts +0 -64
  103. 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 };