@woosh/meep-engine 2.138.0 → 2.138.1

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 (199) hide show
  1. package/build/bundle-worker-image-decoder.js +1 -1
  2. package/build/bundle-worker-terrain.js +1 -1
  3. package/package.json +1 -1
  4. package/src/core/assert.d.ts +6 -0
  5. package/src/core/assert.d.ts.map +1 -1
  6. package/src/core/assert.js +16 -3
  7. package/src/core/binary/half_to_float_uint16.js +1 -1
  8. package/src/core/binary/to_half_float_uint16.d.ts.map +1 -1
  9. package/src/core/binary/to_half_float_uint16.js +9 -4
  10. package/src/core/collection/table/RowFirstTableSpec.js +1 -1
  11. package/src/core/events/signal/Signal.d.ts.map +1 -1
  12. package/src/core/events/signal/Signal.js +53 -0
  13. package/src/core/math/spline/spline3_hermite_intersection_spline3_hermite_2d.d.ts +3 -3
  14. package/src/core/math/spline/spline3_hermite_intersection_spline3_hermite_2d.js +3 -3
  15. package/src/engine/Clock.d.ts +2 -2
  16. package/src/engine/Clock.js +2 -2
  17. package/src/engine/graphics/ecs/highlight/system/RenderableHighlightSystem.d.ts.map +1 -1
  18. package/src/engine/graphics/ecs/highlight/system/RenderableHighlightSystem.js +17 -29
  19. package/src/engine/graphics/ecs/highlight/system/ShadedGeometryHighlightSystem.d.ts.map +1 -1
  20. package/src/engine/graphics/ecs/highlight/system/ShadedGeometryHighlightSystem.js +18 -31
  21. package/src/engine/network/NetworkSession.d.ts +386 -0
  22. package/src/engine/network/NetworkSession.d.ts.map +1 -0
  23. package/src/engine/network/NetworkSession.js +1841 -0
  24. package/src/engine/network/PriorityFetch.d.ts.map +1 -1
  25. package/src/engine/network/PriorityFetch.js +3 -2
  26. package/src/engine/network/adapters/QuaternionInterpolationAdapter.d.ts +14 -0
  27. package/src/engine/network/adapters/QuaternionInterpolationAdapter.d.ts.map +1 -0
  28. package/src/engine/network/adapters/QuaternionInterpolationAdapter.js +44 -0
  29. package/src/engine/network/adapters/TransformInterpolationAdapter.d.ts +18 -0
  30. package/src/engine/network/adapters/TransformInterpolationAdapter.d.ts.map +1 -0
  31. package/src/engine/network/adapters/TransformInterpolationAdapter.js +79 -0
  32. package/src/engine/network/adapters/TransformReplicationAdapter.d.ts +37 -0
  33. package/src/engine/network/adapters/TransformReplicationAdapter.d.ts.map +1 -0
  34. package/src/engine/network/adapters/TransformReplicationAdapter.js +87 -0
  35. package/src/engine/network/adapters/Vector3InterpolationAdapter.d.ts +18 -0
  36. package/src/engine/network/adapters/Vector3InterpolationAdapter.d.ts.map +1 -0
  37. package/src/engine/network/adapters/Vector3InterpolationAdapter.js +46 -0
  38. package/src/engine/network/convertPathToURL.js +107 -107
  39. package/src/engine/network/core/quantize/quantize_float.d.ts +54 -0
  40. package/src/engine/network/core/quantize/quantize_float.d.ts.map +1 -0
  41. package/src/engine/network/core/quantize/quantize_float.js +66 -0
  42. package/src/engine/network/core/quantize/quantize_position.d.ts +44 -0
  43. package/src/engine/network/core/quantize/quantize_position.d.ts.map +1 -0
  44. package/src/engine/network/core/quantize/quantize_position.js +54 -0
  45. package/src/engine/network/core/sequence/ack_bitfield.d.ts +47 -0
  46. package/src/engine/network/core/sequence/ack_bitfield.d.ts.map +1 -0
  47. package/src/engine/network/core/sequence/ack_bitfield.js +77 -0
  48. package/src/engine/network/core/sequence/seq16.d.ts +53 -0
  49. package/src/engine/network/core/sequence/seq16.d.ts.map +1 -0
  50. package/src/engine/network/core/sequence/seq16.js +69 -0
  51. package/src/engine/network/core/sequence/seq32.d.ts +55 -0
  52. package/src/engine/network/core/sequence/seq32.d.ts.map +1 -0
  53. package/src/engine/network/core/sequence/seq32.js +73 -0
  54. package/src/engine/network/diagnostics/BandwidthMeter.d.ts +76 -0
  55. package/src/engine/network/diagnostics/BandwidthMeter.d.ts.map +1 -0
  56. package/src/engine/network/diagnostics/BandwidthMeter.js +155 -0
  57. package/src/engine/network/diagnostics/ReplayLog.d.ts +74 -0
  58. package/src/engine/network/diagnostics/ReplayLog.d.ts.map +1 -0
  59. package/src/engine/network/diagnostics/ReplayLog.js +137 -0
  60. package/src/engine/network/diagnostics/SyncTest.d.ts +74 -0
  61. package/src/engine/network/diagnostics/SyncTest.d.ts.map +1 -0
  62. package/src/engine/network/diagnostics/SyncTest.js +151 -0
  63. package/src/engine/network/ecs/NetworkSystem.d.ts +57 -0
  64. package/src/engine/network/ecs/NetworkSystem.d.ts.map +1 -0
  65. package/src/engine/network/ecs/NetworkSystem.js +84 -0
  66. package/src/engine/network/ecs/components/NetworkIdentity.d.ts +58 -0
  67. package/src/engine/network/ecs/components/NetworkIdentity.d.ts.map +1 -0
  68. package/src/engine/network/ecs/components/NetworkIdentity.js +73 -0
  69. package/src/engine/network/ecs/serialization/NetworkIdentitySerializationAdapter.d.ts +40 -0
  70. package/src/engine/network/ecs/serialization/NetworkIdentitySerializationAdapter.d.ts.map +1 -0
  71. package/src/engine/network/ecs/serialization/NetworkIdentitySerializationAdapter.js +64 -0
  72. package/src/engine/network/orchestrator/NetworkPeer.d.ts +389 -0
  73. package/src/engine/network/orchestrator/NetworkPeer.d.ts.map +1 -0
  74. package/src/engine/network/orchestrator/NetworkPeer.js +1107 -0
  75. package/src/engine/network/orchestrator/ServerAuthoritativeClient.d.ts +260 -0
  76. package/src/engine/network/orchestrator/ServerAuthoritativeClient.d.ts.map +1 -0
  77. package/src/engine/network/orchestrator/ServerAuthoritativeClient.js +425 -0
  78. package/src/engine/network/orchestrator/ServerAuthoritativeServer.d.ts +217 -0
  79. package/src/engine/network/orchestrator/ServerAuthoritativeServer.d.ts.map +1 -0
  80. package/src/engine/network/orchestrator/ServerAuthoritativeServer.js +562 -0
  81. package/src/engine/network/replication/Replicator.d.ts +134 -0
  82. package/src/engine/network/replication/Replicator.d.ts.map +1 -0
  83. package/src/engine/network/replication/Replicator.js +334 -0
  84. package/src/engine/network/replication/ScopeFilter.d.ts +64 -0
  85. package/src/engine/network/replication/ScopeFilter.d.ts.map +1 -0
  86. package/src/engine/network/replication/ScopeFilter.js +71 -0
  87. package/src/engine/network/sim/ActionLog.d.ts +94 -0
  88. package/src/engine/network/sim/ActionLog.d.ts.map +1 -0
  89. package/src/engine/network/sim/ActionLog.js +189 -0
  90. package/src/engine/network/sim/BinaryInterpolationAdapter.d.ts +58 -0
  91. package/src/engine/network/sim/BinaryInterpolationAdapter.d.ts.map +1 -0
  92. package/src/engine/network/sim/BinaryInterpolationAdapter.js +56 -0
  93. package/src/engine/network/sim/InterpolationLog.d.ts +165 -0
  94. package/src/engine/network/sim/InterpolationLog.d.ts.map +1 -0
  95. package/src/engine/network/sim/InterpolationLog.js +583 -0
  96. package/src/engine/network/sim/ReplicatedComponentRegistry.d.ts +59 -0
  97. package/src/engine/network/sim/ReplicatedComponentRegistry.d.ts.map +1 -0
  98. package/src/engine/network/sim/ReplicatedComponentRegistry.js +140 -0
  99. package/src/engine/network/sim/RewindEngine.d.ts +66 -0
  100. package/src/engine/network/sim/RewindEngine.d.ts.map +1 -0
  101. package/src/engine/network/sim/RewindEngine.js +182 -0
  102. package/src/engine/network/sim/SimAction.d.ts +133 -0
  103. package/src/engine/network/sim/SimAction.d.ts.map +1 -0
  104. package/src/engine/network/sim/SimAction.js +273 -0
  105. package/src/engine/network/sim/SimActionExecutor.d.ts +109 -0
  106. package/src/engine/network/sim/SimActionExecutor.d.ts.map +1 -0
  107. package/src/engine/network/sim/SimActionExecutor.js +238 -0
  108. package/src/engine/network/sim/SimActionRegistry.d.ts +60 -0
  109. package/src/engine/network/sim/SimActionRegistry.d.ts.map +1 -0
  110. package/src/engine/network/sim/SimActionRegistry.js +128 -0
  111. package/src/engine/network/sim/SmoothingState.d.ts +87 -0
  112. package/src/engine/network/sim/SmoothingState.d.ts.map +1 -0
  113. package/src/engine/network/sim/SmoothingState.js +223 -0
  114. package/src/engine/network/sim/Snapshotter.d.ts +98 -0
  115. package/src/engine/network/sim/Snapshotter.d.ts.map +1 -0
  116. package/src/engine/network/sim/Snapshotter.js +206 -0
  117. package/src/engine/network/sim/SpeculationLog.d.ts +53 -0
  118. package/src/engine/network/sim/SpeculationLog.d.ts.map +1 -0
  119. package/src/engine/network/sim/SpeculationLog.js +84 -0
  120. package/src/engine/network/state/Baseline.d.ts +48 -0
  121. package/src/engine/network/state/Baseline.d.ts.map +1 -0
  122. package/src/engine/network/state/Baseline.js +83 -0
  123. package/src/engine/network/state/ChangedEntitySet.d.ts +94 -0
  124. package/src/engine/network/state/ChangedEntitySet.d.ts.map +1 -0
  125. package/src/engine/network/state/ChangedEntitySet.js +256 -0
  126. package/src/engine/network/state/InputRing.d.ts +90 -0
  127. package/src/engine/network/state/InputRing.d.ts.map +1 -0
  128. package/src/engine/network/state/InputRing.js +173 -0
  129. package/src/engine/network/state/MutationLedger.d.ts +82 -0
  130. package/src/engine/network/state/MutationLedger.d.ts.map +1 -0
  131. package/src/engine/network/state/MutationLedger.js +182 -0
  132. package/src/engine/network/state/PriorityAccumulator.d.ts +104 -0
  133. package/src/engine/network/state/PriorityAccumulator.d.ts.map +1 -0
  134. package/src/engine/network/state/PriorityAccumulator.js +180 -0
  135. package/src/engine/network/state/ReplicationSlotTable.d.ts +78 -0
  136. package/src/engine/network/state/ReplicationSlotTable.d.ts.map +1 -0
  137. package/src/engine/network/state/ReplicationSlotTable.js +211 -0
  138. package/src/engine/network/time/AdaptiveRenderDelay.d.ts +128 -0
  139. package/src/engine/network/time/AdaptiveRenderDelay.d.ts.map +1 -0
  140. package/src/engine/network/time/AdaptiveRenderDelay.js +258 -0
  141. package/src/engine/network/time/JitterBuffer.d.ts +58 -0
  142. package/src/engine/network/time/JitterBuffer.d.ts.map +1 -0
  143. package/src/engine/network/time/JitterBuffer.js +116 -0
  144. package/src/engine/network/time/TimeDilation.d.ts +49 -0
  145. package/src/engine/network/time/TimeDilation.d.ts.map +1 -0
  146. package/src/engine/network/time/TimeDilation.js +62 -0
  147. package/src/engine/network/time/TimeSync.d.ts +68 -0
  148. package/src/engine/network/time/TimeSync.d.ts.map +1 -0
  149. package/src/engine/network/time/TimeSync.js +153 -0
  150. package/src/engine/network/transport/Channel.d.ts +74 -0
  151. package/src/engine/network/transport/Channel.d.ts.map +1 -0
  152. package/src/engine/network/transport/Channel.js +272 -0
  153. package/src/engine/network/transport/LoopbackTransport.d.ts +59 -0
  154. package/src/engine/network/transport/LoopbackTransport.d.ts.map +1 -0
  155. package/src/engine/network/transport/LoopbackTransport.js +194 -0
  156. package/src/engine/network/transport/ReliableCommandPipeline.d.ts +139 -0
  157. package/src/engine/network/transport/ReliableCommandPipeline.d.ts.map +1 -0
  158. package/src/engine/network/transport/ReliableCommandPipeline.js +291 -0
  159. package/src/engine/network/transport/Transport.d.ts +109 -0
  160. package/src/engine/network/transport/Transport.d.ts.map +1 -0
  161. package/src/engine/network/transport/Transport.js +119 -0
  162. package/src/engine/network/transport/adapters/NodeUDPTransport.d.ts +60 -0
  163. package/src/engine/network/transport/adapters/NodeUDPTransport.d.ts.map +1 -0
  164. package/src/engine/network/transport/adapters/NodeUDPTransport.js +206 -0
  165. package/src/engine/network/transport/adapters/SimulatedTransport.d.ts +110 -0
  166. package/src/engine/network/transport/adapters/SimulatedTransport.d.ts.map +1 -0
  167. package/src/engine/network/transport/adapters/SimulatedTransport.js +252 -0
  168. package/src/engine/network/transport/adapters/WebRTCDataChannelTransport.d.ts +33 -0
  169. package/src/engine/network/transport/adapters/WebRTCDataChannelTransport.d.ts.map +1 -0
  170. package/src/engine/network/transport/adapters/WebRTCDataChannelTransport.js +131 -0
  171. package/src/engine/network/transport/adapters/WebSocketTransport.d.ts +49 -0
  172. package/src/engine/network/transport/adapters/WebSocketTransport.d.ts.map +1 -0
  173. package/src/engine/network/transport/adapters/WebSocketTransport.js +180 -0
  174. package/src/engine/network/transport/adapters/WebTransportTransport.d.ts +73 -0
  175. package/src/engine/network/transport/adapters/WebTransportTransport.d.ts.map +1 -0
  176. package/src/engine/network/transport/adapters/WebTransportTransport.js +210 -0
  177. package/src/engine/network/transport/fragments/FragmentAssembler.d.ts +104 -0
  178. package/src/engine/network/transport/fragments/FragmentAssembler.d.ts.map +1 -0
  179. package/src/engine/network/transport/fragments/FragmentAssembler.js +291 -0
  180. package/src/engine/network/transport/fragments/FragmentRetention.d.ts +103 -0
  181. package/src/engine/network/transport/fragments/FragmentRetention.d.ts.map +1 -0
  182. package/src/engine/network/transport/fragments/FragmentRetention.js +194 -0
  183. package/src/engine/network/transport/fragments/fragment_send.d.ts +53 -0
  184. package/src/engine/network/transport/fragments/fragment_send.d.ts.map +1 -0
  185. package/src/engine/network/transport/fragments/fragment_send.js +147 -0
  186. package/src/engine/network/transport/fragments/packet_size.d.ts +93 -0
  187. package/src/engine/network/transport/fragments/packet_size.d.ts.map +1 -0
  188. package/src/engine/network/transport/fragments/packet_size.js +101 -0
  189. package/src/engine/network/xhr.js +23 -23
  190. package/src/engine/simulation/Ticker.d.ts +7 -0
  191. package/src/engine/simulation/Ticker.d.ts.map +1 -1
  192. package/src/engine/simulation/Ticker.js +15 -4
  193. package/src/engine/network/DataChannel.js +0 -1210
  194. package/src/engine/network/RemoteController.d.ts +0 -23
  195. package/src/engine/network/RemoteController.d.ts.map +0 -1
  196. package/src/engine/network/RemoteController.js +0 -114
  197. package/src/engine/network/remoteEditor.d.ts +0 -2
  198. package/src/engine/network/remoteEditor.d.ts.map +0 -1
  199. package/src/engine/network/remoteEditor.js +0 -142
@@ -1,23 +0,0 @@
1
- export class RemoteController {
2
- /**
3
- *
4
- * @param {string} tag
5
- * @param {function(BinaryBuffer):Promise} handler
6
- * @param {*} thisArg
7
- */
8
- addHandler(tag: string, handler: (arg0: BinaryBuffer) => Promise<any>, thisArg: any): void;
9
- /**
10
- * NOTE: entire buffer contents will be sent up to current position
11
- * @param {string} tag
12
- * @param {BinaryBuffer} data
13
- */
14
- send(tag: string, data: BinaryBuffer): void;
15
- /**
16
- *
17
- * @param {WebSocket} v
18
- */
19
- set socket(arg: WebSocket);
20
- #private;
21
- }
22
- import { BinaryBuffer } from "../../core/binary/BinaryBuffer.js";
23
- //# sourceMappingURL=RemoteController.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"RemoteController.d.ts","sourceRoot":"","sources":["../../../../src/engine/network/RemoteController.js"],"names":[],"mappings":"AAUA;IAWI;;;;;OAKG;IACH,gBAJW,MAAM,kBACG,YAAY,uCAc/B;IAED;;;;OAIG;IACH,UAHW,MAAM,QACN,YAAY,QActB;IAoCD;;;OAGG;IACH,2BAcC;;CAEJ;6BAjH4B,mCAAmC"}
@@ -1,114 +0,0 @@
1
- import { BinaryBuffer } from "../../core/binary/BinaryBuffer.js";
2
- import { assert } from "../../core/assert.js";
3
-
4
- /*
5
- packet header structure
6
- - TAG : 1 x utf8 string
7
- - ID : 1 x uint32
8
- - PAYLOAD : N x bytes
9
- */
10
-
11
- export class RemoteController {
12
- /**
13
- *
14
- * @type {WebSocket|null}
15
- */
16
- #socket = null;
17
-
18
- #handlers = {};
19
-
20
- #bound_event_handler = this.#handle_message_event.bind(this)
21
-
22
- /**
23
- *
24
- * @param {string} tag
25
- * @param {function(BinaryBuffer):Promise} handler
26
- * @param {*} thisArg
27
- */
28
- addHandler(tag, handler, thisArg) {
29
- const existing = this.#handlers[tag];
30
-
31
- if (existing !== undefined) {
32
- throw new Error(`Handler for tag '${tag}' already exists`);
33
- }
34
-
35
- this.#handlers[tag] = {
36
- method: handler,
37
- scope: thisArg
38
- };
39
- }
40
-
41
- /**
42
- * NOTE: entire buffer contents will be sent up to current position
43
- * @param {string} tag
44
- * @param {BinaryBuffer} data
45
- */
46
- send(tag, data) {
47
- assert.isString(tag, 'tag');
48
-
49
- const buffer = new BinaryBuffer();
50
-
51
- buffer.writeUTF8String(tag);
52
-
53
- buffer.writeBytes(data.raw_bytes, 0, data.position);
54
-
55
- buffer.trim();
56
-
57
- this.#socket.send(buffer.data);
58
- }
59
-
60
- /**
61
- *
62
- * @param {MessageEvent} event
63
- * @private
64
- */
65
- async #handle_message_event(event) {
66
-
67
- /**
68
- * @type {ArrayBuffer}
69
- */
70
- const data = event.data;
71
-
72
- // console.log(`received message `, data);
73
-
74
- const buffer = BinaryBuffer.fromArrayBuffer(data);
75
-
76
- // read packet ID
77
- const packet_id = buffer.readUTF8String();
78
-
79
- const handler = this.#handlers[packet_id];
80
-
81
- if (handler === undefined) {
82
- console.error(`No handler for packet '${packet_id}'`);
83
- return;
84
- }
85
-
86
- try {
87
- await handler.method.call(handler.scope, buffer);
88
- } catch (e) {
89
- //
90
- console.error(`Failed to process remote call to '${packet_id}':`, e);
91
- }
92
- }
93
-
94
- /**
95
- *
96
- * @param {WebSocket} v
97
- */
98
- set socket(v) {
99
- if (this.#socket !== null) {
100
- // TODO unbind socket
101
- }
102
-
103
- this.#socket = v;
104
-
105
- this.#socket.binaryType = "arraybuffer";
106
-
107
- this.#socket.addEventListener('open', () => {
108
- console.log('socket connection open');
109
- });
110
-
111
- this.#socket.addEventListener('message', this.#bound_event_handler);
112
- }
113
-
114
- }
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=remoteEditor.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"remoteEditor.d.ts","sourceRoot":"","sources":["../../../../src/engine/network/remoteEditor.js"],"names":[],"mappings":""}
@@ -1,142 +0,0 @@
1
- import { EngineHarness } from "../EngineHarness.js";
2
- import { RemoteController } from "./RemoteController.js";
3
- import { ShadedGeometrySystem } from "../graphics/ecs/mesh-v2/ShadedGeometrySystem.js";
4
- import { initializeGameBinarySerializationRegistry } from "../../../../model/game/GameBinarySerializationRegistry.js";
5
- import { BinaryObjectSerializationAdapter } from "../ecs/storage/binary/object/BinaryObjectSerializationAdapter.js";
6
- import BinaryBufferDeSerializer from "../ecs/storage/BinaryBufferDeSerializer.js";
7
-
8
- const harness = new EngineHarness();
9
-
10
- class LocalAPI {
11
- /**
12
- *
13
- * @type {Engine|null}
14
- */
15
- engine = null;
16
-
17
- _object_serde = new BinaryObjectSerializationAdapter();
18
-
19
- get _registry() {
20
- return this.engine.binarySerializationRegistry;
21
- }
22
-
23
- /**
24
- *
25
- * @return {EntityComponentDataset}
26
- * @private
27
- */
28
- get _current_dataset() {
29
- return this.engine.entityManager.dataset;
30
- }
31
-
32
- /**
33
- * Server sent us a new world state
34
- * @param {BinaryBuffer} buffer
35
- */
36
- async writeCurrentSceneDataset(buffer) {
37
- const deSerializer = new BinaryBufferDeSerializer();
38
-
39
- const engine = this.engine;
40
-
41
- deSerializer.registry = this._registry;
42
-
43
- const ecd = this._current_dataset;
44
-
45
- ecd.clear();
46
-
47
- const task = deSerializer.process(buffer, engine, ecd);
48
-
49
- const p = task.promise();
50
-
51
- engine.executor.run(task);
52
-
53
- await p;
54
- }
55
-
56
- /**
57
- *
58
- * @param {BinaryBuffer} buffer
59
- * @return {Promise<void>}
60
- */
61
- async createEntity(buffer) {
62
- // create entity on the current scene with a given ID
63
-
64
- const entity_id = buffer.readUintVar();
65
-
66
- this._current_dataset.createEntitySpecific(entity_id);
67
- }
68
-
69
- async addComponentToEntity(buffer) {
70
- const entity_id = buffer.readUintVar();
71
-
72
- this._object_serde.registry = this._registry;
73
- const component_instance = this._object_serde.deserialize(buffer);
74
-
75
- this._current_dataset.addComponentToEntity(entity_id, component_instance);
76
-
77
- }
78
-
79
- }
80
-
81
- /**
82
- *
83
- * @param {RemoteController} controller
84
- * @param {Object} api
85
- */
86
- function attachLocalAPI(controller, api) {
87
- for (const apiKey in api) {
88
-
89
- controller.addHandler(apiKey, api[apiKey], api);
90
-
91
- }
92
-
93
- }
94
-
95
- /**
96
- *
97
- * @param {Engine} engine
98
- * @return {Promise<void>}
99
- */
100
- async function main(engine) {
101
-
102
- await EngineHarness.buildBasics({
103
- engine
104
- });
105
-
106
- initializeGameBinarySerializationRegistry(engine.binarySerializationRegistry);
107
-
108
- const remote = new RemoteController();
109
-
110
-
111
- const api = new LocalAPI();
112
- api.engine = engine;
113
-
114
- Object.getOwnPropertyNames(Object.getPrototypeOf(api))
115
- .forEach(name => {
116
- if (name.startsWith("_")) {
117
- return;
118
- }
119
-
120
- if (name === "constructor") {
121
- return;
122
- }
123
-
124
- if (typeof api[name] !== "function") {
125
- return;
126
- }
127
-
128
- remote.addHandler(name, api[name], api);
129
- });
130
-
131
- remote.socket = new WebSocket('ws://localhost:9020');
132
- }
133
-
134
- harness.initialize({
135
- configuration(config, engine) {
136
-
137
- config.addSystem(new ShadedGeometrySystem(engine));
138
-
139
- }
140
- }).then(main);
141
-
142
-