hytopia 0.8.6-dev5 → 0.8.6-dev6nopool

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.
@@ -42,7 +42,7 @@ entity
42
42
 
43
43
  </td><td>
44
44
 
45
- The entity to get attached audio instances for.
45
+ The entity to get attached audio instances for. the allocated array at the end of the current tick. false by default.
46
46
 
47
47
 
48
48
  </td></tr>
@@ -32,6 +32,20 @@ Description
32
32
  </th></tr></thead>
33
33
  <tbody><tr><td>
34
34
 
35
+ ADD\_CHUNK
36
+
37
+
38
+ </td><td>
39
+
40
+ `"CHUNK_LATTICE.ADD_CHUNK"`
41
+
42
+
43
+ </td><td>
44
+
45
+
46
+ </td></tr>
47
+ <tr><td>
48
+
35
49
  REMOVE\_CHUNK
36
50
 
37
51
 
@@ -0,0 +1,16 @@
1
+ <!-- Do not edit this file. It is automatically generated by API Documenter. -->
2
+
3
+ [Home](./index.md) &gt; [server](./server.md) &gt; [ChunkLatticeEventPayloads](./server.chunklatticeeventpayloads.md) &gt; ["CHUNK\_LATTICE.ADD\_CHUNK"](./server.chunklatticeeventpayloads._chunk_lattice.add_chunk_.md)
4
+
5
+ ## ChunkLatticeEventPayloads."CHUNK\_LATTICE.ADD\_CHUNK" property
6
+
7
+ Emitted when a chunk is added to the lattice.
8
+
9
+ **Signature:**
10
+
11
+ ```typescript
12
+ [ChunkLatticeEvent.ADD_CHUNK]: {
13
+ chunkLattice: ChunkLattice;
14
+ chunk: Chunk;
15
+ };
16
+ ```
@@ -37,6 +37,25 @@ Description
37
37
  </th></tr></thead>
38
38
  <tbody><tr><td>
39
39
 
40
+ ["CHUNK\_LATTICE.ADD\_CHUNK"](./server.chunklatticeeventpayloads._chunk_lattice.add_chunk_.md)
41
+
42
+
43
+ </td><td>
44
+
45
+
46
+ </td><td>
47
+
48
+ { chunkLattice: [ChunkLattice](./server.chunklattice.md)<!-- -->; chunk: [Chunk](./server.chunk.md)<!-- -->; }
49
+
50
+
51
+ </td><td>
52
+
53
+ Emitted when a chunk is added to the lattice.
54
+
55
+
56
+ </td></tr>
57
+ <tr><td>
58
+
40
59
  ["CHUNK\_LATTICE.REMOVE\_CHUNK"](./server.chunklatticeeventpayloads._chunk_lattice.remove_chunk_.md)
41
60
 
42
61
 
package/docs/server.md CHANGED
@@ -445,6 +445,17 @@ A simple entity controller with basic movement functions.
445
445
  Represents the physics simulation for a world.
446
446
 
447
447
 
448
+ </td></tr>
449
+ <tr><td>
450
+
451
+ [Telemetry](./server.telemetry.md)
452
+
453
+
454
+ </td><td>
455
+
456
+ Manages performance telemetry and error tracking through your Sentry.io account.
457
+
458
+
448
459
  </td></tr>
449
460
  <tr><td>
450
461
 
@@ -783,6 +794,17 @@ Event types a SceneUI instance can emit. See [SceneUIEventPayloads](./server.sce
783
794
  Event types a Simulation instance can emit. See [SimulationEventPayloads](./server.simulationeventpayloads.md) for the payloads.
784
795
 
785
796
 
797
+ </td></tr>
798
+ <tr><td>
799
+
800
+ [TelemetrySpanOperation](./server.telemetryspanoperation.md)
801
+
802
+
803
+ </td><td>
804
+
805
+ Performance telemetry span operation types.
806
+
807
+
786
808
  </td></tr>
787
809
  <tr><td>
788
810
 
@@ -1261,7 +1283,7 @@ A quaternion.
1261
1283
 
1262
1284
  </td><td>
1263
1285
 
1264
- A RGB color.
1286
+ A RGB color. r, g and b expect a value between 0 and 255.
1265
1287
 
1266
1288
 
1267
1289
  </td></tr>
@@ -1866,6 +1888,17 @@ Additional mass properties for a RigidBody.
1866
1888
  The options for a rigid body.
1867
1889
 
1868
1890
 
1891
+ </td></tr>
1892
+ <tr><td>
1893
+
1894
+ [TelemetrySpanOptions](./server.telemetryspanoptions.md)
1895
+
1896
+
1897
+ </td><td>
1898
+
1899
+ Options for creating a telemetry span.
1900
+
1901
+
1869
1902
  </td></tr>
1870
1903
  <tr><td>
1871
1904
 
@@ -0,0 +1,54 @@
1
+ <!-- Do not edit this file. It is automatically generated by API Documenter. -->
2
+
3
+ [Home](./index.md) &gt; [server](./server.md) &gt; [ParticleEmitter](./server.particleemitter.md) &gt; [burst](./server.particleemitter.burst.md)
4
+
5
+ ## ParticleEmitter.burst() method
6
+
7
+ Creates a burst of particles, regardless of pause state.
8
+
9
+ **Signature:**
10
+
11
+ ```typescript
12
+ burst(count: number): void;
13
+ ```
14
+
15
+ ## Parameters
16
+
17
+ <table><thead><tr><th>
18
+
19
+ Parameter
20
+
21
+
22
+ </th><th>
23
+
24
+ Type
25
+
26
+
27
+ </th><th>
28
+
29
+ Description
30
+
31
+
32
+ </th></tr></thead>
33
+ <tbody><tr><td>
34
+
35
+ count
36
+
37
+
38
+ </td><td>
39
+
40
+ number
41
+
42
+
43
+ </td><td>
44
+
45
+ The number of particles to burst.
46
+
47
+
48
+ </td></tr>
49
+ </tbody></table>
50
+
51
+ **Returns:**
52
+
53
+ void
54
+
@@ -806,6 +806,20 @@ Description
806
806
  </th></tr></thead>
807
807
  <tbody><tr><td>
808
808
 
809
+ [burst(count)](./server.particleemitter.burst.md)
810
+
811
+
812
+ </td><td>
813
+
814
+
815
+ </td><td>
816
+
817
+ Creates a burst of particles, regardless of pause state.
818
+
819
+
820
+ </td></tr>
821
+ <tr><td>
822
+
809
823
  [despawn()](./server.particleemitter.despawn.md)
810
824
 
811
825
 
@@ -32,6 +32,20 @@ Description
32
32
  </th></tr></thead>
33
33
  <tbody><tr><td>
34
34
 
35
+ BURST
36
+
37
+
38
+ </td><td>
39
+
40
+ `"PARTICLE_EMITTER.BURST"`
41
+
42
+
43
+ </td><td>
44
+
45
+
46
+ </td></tr>
47
+ <tr><td>
48
+
35
49
  DESPAWN
36
50
 
37
51
 
@@ -0,0 +1,16 @@
1
+ <!-- Do not edit this file. It is automatically generated by API Documenter. -->
2
+
3
+ [Home](./index.md) &gt; [server](./server.md) &gt; [ParticleEmitterEventPayloads](./server.particleemittereventpayloads.md) &gt; ["PARTICLE\_EMITTER.BURST"](./server.particleemittereventpayloads._particle_emitter.burst_.md)
4
+
5
+ ## ParticleEmitterEventPayloads."PARTICLE\_EMITTER.BURST" property
6
+
7
+ Emitted when a ParticleEmitter bursts the specified number of particles.
8
+
9
+ **Signature:**
10
+
11
+ ```typescript
12
+ [ParticleEmitterEvent.BURST]: {
13
+ particleEmitter: ParticleEmitter;
14
+ count: number;
15
+ };
16
+ ```
@@ -37,6 +37,25 @@ Description
37
37
  </th></tr></thead>
38
38
  <tbody><tr><td>
39
39
 
40
+ ["PARTICLE\_EMITTER.BURST"](./server.particleemittereventpayloads._particle_emitter.burst_.md)
41
+
42
+
43
+ </td><td>
44
+
45
+
46
+ </td><td>
47
+
48
+ { particleEmitter: [ParticleEmitter](./server.particleemitter.md)<!-- -->; count: number; }
49
+
50
+
51
+ </td><td>
52
+
53
+ Emitted when a ParticleEmitter bursts the specified number of particles.
54
+
55
+
56
+ </td></tr>
57
+ <tr><td>
58
+
40
59
  ["PARTICLE\_EMITTER.DESPAWN"](./server.particleemittereventpayloads._particle_emitter.despawn_.md)
41
60
 
42
61
 
@@ -4,7 +4,7 @@
4
4
 
5
5
  ## RgbColor interface
6
6
 
7
- A RGB color.
7
+ A RGB color. r, g and b expect a value between 0 and 255.
8
8
 
9
9
  **Signature:**
10
10
 
@@ -0,0 +1,56 @@
1
+ <!-- Do not edit this file. It is automatically generated by API Documenter. -->
2
+
3
+ [Home](./index.md) &gt; [server](./server.md) &gt; [Telemetry](./server.telemetry.md) &gt; [getProcessStats](./server.telemetry.getprocessstats.md)
4
+
5
+ ## Telemetry.getProcessStats() method
6
+
7
+ Gets current process memory and performance statistics.
8
+
9
+ **Signature:**
10
+
11
+ ```typescript
12
+ static getProcessStats(asMeasurement?: boolean): Record<string, any>;
13
+ ```
14
+
15
+ ## Parameters
16
+
17
+ <table><thead><tr><th>
18
+
19
+ Parameter
20
+
21
+
22
+ </th><th>
23
+
24
+ Type
25
+
26
+
27
+ </th><th>
28
+
29
+ Description
30
+
31
+
32
+ </th></tr></thead>
33
+ <tbody><tr><td>
34
+
35
+ asMeasurement
36
+
37
+
38
+ </td><td>
39
+
40
+ boolean
41
+
42
+
43
+ </td><td>
44
+
45
+ _(Optional)_ Whether to return data in Sentry measurement format with units.
46
+
47
+
48
+ </td></tr>
49
+ </tbody></table>
50
+
51
+ **Returns:**
52
+
53
+ Record&lt;string, any&gt;
54
+
55
+ Process statistics including heap usage, RSS memory, and capacity metrics.
56
+
@@ -0,0 +1,74 @@
1
+ <!-- Do not edit this file. It is automatically generated by API Documenter. -->
2
+
3
+ [Home](./index.md) &gt; [server](./server.md) &gt; [Telemetry](./server.telemetry.md) &gt; [initializeSentry](./server.telemetry.initializesentry.md)
4
+
5
+ ## Telemetry.initializeSentry() method
6
+
7
+ Initializes Sentry telemetry with the provided DSN.
8
+
9
+ **Signature:**
10
+
11
+ ```typescript
12
+ static initializeSentry(sentryDsn: string, tickTimeMsThreshold?: number): void;
13
+ ```
14
+
15
+ ## Parameters
16
+
17
+ <table><thead><tr><th>
18
+
19
+ Parameter
20
+
21
+
22
+ </th><th>
23
+
24
+ Type
25
+
26
+
27
+ </th><th>
28
+
29
+ Description
30
+
31
+
32
+ </th></tr></thead>
33
+ <tbody><tr><td>
34
+
35
+ sentryDsn
36
+
37
+
38
+ </td><td>
39
+
40
+ string
41
+
42
+
43
+ </td><td>
44
+
45
+ The Sentry Data Source Name (DSN) for your project.
46
+
47
+
48
+ </td></tr>
49
+ <tr><td>
50
+
51
+ tickTimeMsThreshold
52
+
53
+
54
+ </td><td>
55
+
56
+ number
57
+
58
+
59
+ </td><td>
60
+
61
+ _(Optional)_ The tick duration that must be exceeded to send a performance span to Sentry for a given tick. Defaults to 50ms.
62
+
63
+
64
+ </td></tr>
65
+ </tbody></table>
66
+
67
+ **Returns:**
68
+
69
+ void
70
+
71
+ ## Remarks
72
+
73
+ This method configures Sentry for error tracking and performance monitoring. It sets up filtering to only send performance spans that exceed the provided threshold duration, reducing noise and costs. The initialization includes game-specific tags and process statistics attachment.
74
+
@@ -0,0 +1,126 @@
1
+ <!-- Do not edit this file. It is automatically generated by API Documenter. -->
2
+
3
+ [Home](./index.md) &gt; [server](./server.md) &gt; [Telemetry](./server.telemetry.md)
4
+
5
+ ## Telemetry class
6
+
7
+ Manages performance telemetry and error tracking through your Sentry.io account.
8
+
9
+ **Signature:**
10
+
11
+ ```typescript
12
+ export default class Telemetry
13
+ ```
14
+
15
+ ## Remarks
16
+
17
+ The Telemetry class provides low-overhead performance monitoring and error tracking through Sentry (https://sentry.io) integration and your provided Sentry DSN. It automatically tracks critical game loop operations like physics simulation, entity updates, network synchronization, and more. The system only sends telemetry data when errors or slow-tick performance issues are detected, minimizing bandwidth and storage costs.
18
+
19
+ ## Example
20
+
21
+
22
+ ```typescript
23
+ // Initialize Sentry for production telemetry
24
+ Telemetry.initializeSentry('MY_SENTRY_PROJECT_DSN');
25
+
26
+ // Wrap performance-critical code in spans
27
+ Telemetry.startSpan({
28
+ operation: TelemetrySpanOperation.CUSTOM_OPERATION,
29
+ attributes: { // any arbitrary attributes you want to attach to the span
30
+ playerCount: world.playerManager.connectedPlayers.length,
31
+ entityCount: world.entityManager.entityCount,
32
+ },
33
+ }, () => {
34
+ // Your performance-critical code here
35
+ performExpensiveOperation();
36
+ });
37
+
38
+ // Get current process statistics
39
+ const stats = Telemetry.getProcessStats();
40
+ console.log(`Heap usage: ${stats.jsHeapUsagePercent * 100}%`);
41
+ ```
42
+
43
+ ## Methods
44
+
45
+ <table><thead><tr><th>
46
+
47
+ Method
48
+
49
+
50
+ </th><th>
51
+
52
+ Modifiers
53
+
54
+
55
+ </th><th>
56
+
57
+ Description
58
+
59
+
60
+ </th></tr></thead>
61
+ <tbody><tr><td>
62
+
63
+ [getProcessStats(asMeasurement)](./server.telemetry.getprocessstats.md)
64
+
65
+
66
+ </td><td>
67
+
68
+ `static`
69
+
70
+
71
+ </td><td>
72
+
73
+ Gets current process memory and performance statistics.
74
+
75
+
76
+ </td></tr>
77
+ <tr><td>
78
+
79
+ [initializeSentry(sentryDsn, tickTimeMsThreshold)](./server.telemetry.initializesentry.md)
80
+
81
+
82
+ </td><td>
83
+
84
+ `static`
85
+
86
+
87
+ </td><td>
88
+
89
+ Initializes Sentry telemetry with the provided DSN.
90
+
91
+
92
+ </td></tr>
93
+ <tr><td>
94
+
95
+ [sentry()](./server.telemetry.sentry.md)
96
+
97
+
98
+ </td><td>
99
+
100
+ `static`
101
+
102
+
103
+ </td><td>
104
+
105
+ Gets the Sentry SDK instance for advanced telemetry operations.
106
+
107
+
108
+ </td></tr>
109
+ <tr><td>
110
+
111
+ [startSpan(options, callback)](./server.telemetry.startspan.md)
112
+
113
+
114
+ </td><td>
115
+
116
+ `static`
117
+
118
+
119
+ </td><td>
120
+
121
+ Executes a callback function within a performance monitoring span.
122
+
123
+
124
+ </td></tr>
125
+ </tbody></table>
126
+
@@ -0,0 +1,23 @@
1
+ <!-- Do not edit this file. It is automatically generated by API Documenter. -->
2
+
3
+ [Home](./index.md) &gt; [server](./server.md) &gt; [Telemetry](./server.telemetry.md) &gt; [sentry](./server.telemetry.sentry.md)
4
+
5
+ ## Telemetry.sentry() method
6
+
7
+ Gets the Sentry SDK instance for advanced telemetry operations.
8
+
9
+ **Signature:**
10
+
11
+ ```typescript
12
+ static sentry(): typeof Sentry;
13
+ ```
14
+ **Returns:**
15
+
16
+ typeof Sentry
17
+
18
+ The Sentry SDK instance.
19
+
20
+ ## Remarks
21
+
22
+ This method provides direct access to the Sentry SDK for operations not covered by the Telemetry wrapper, such as custom error reporting, user context setting, or advanced span manipulation.
23
+
@@ -0,0 +1,91 @@
1
+ <!-- Do not edit this file. It is automatically generated by API Documenter. -->
2
+
3
+ [Home](./index.md) &gt; [server](./server.md) &gt; [Telemetry](./server.telemetry.md) &gt; [startSpan](./server.telemetry.startspan.md)
4
+
5
+ ## Telemetry.startSpan() method
6
+
7
+ Executes a callback function within a performance monitoring span.
8
+
9
+ **Signature:**
10
+
11
+ ```typescript
12
+ static startSpan<T>(options: TelemetrySpanOptions, callback: (span?: Sentry.Span) => T): T;
13
+ ```
14
+
15
+ ## Parameters
16
+
17
+ <table><thead><tr><th>
18
+
19
+ Parameter
20
+
21
+
22
+ </th><th>
23
+
24
+ Type
25
+
26
+
27
+ </th><th>
28
+
29
+ Description
30
+
31
+
32
+ </th></tr></thead>
33
+ <tbody><tr><td>
34
+
35
+ options
36
+
37
+
38
+ </td><td>
39
+
40
+ [TelemetrySpanOptions](./server.telemetryspanoptions.md)
41
+
42
+
43
+ </td><td>
44
+
45
+ Configuration for the telemetry span including operation type and attributes.
46
+
47
+
48
+ </td></tr>
49
+ <tr><td>
50
+
51
+ callback
52
+
53
+
54
+ </td><td>
55
+
56
+ (span?: Sentry.Span) =&gt; T
57
+
58
+
59
+ </td><td>
60
+
61
+ The function to execute within the performance span.
62
+
63
+
64
+ </td></tr>
65
+ </tbody></table>
66
+
67
+ **Returns:**
68
+
69
+ T
70
+
71
+ The return value of the callback function.
72
+
73
+ ## Remarks
74
+
75
+ This method provides zero-overhead performance monitoring in development environments. In production with Sentry enabled and `SENTRY_ENABLE_TRACING=true`<!-- -->, it creates performance spans for monitoring. The span data is only transmitted to Sentry when performance issues are detected.
76
+
77
+ ## Example
78
+
79
+
80
+ ```typescript
81
+ const result = Telemetry.startSpan({
82
+ operation: TelemetrySpanOperation.ENTITIES_TICK,
83
+ attributes: {
84
+ entityCount: entities.length,
85
+ worldId: world.id,
86
+ },
87
+ }, () => {
88
+ return processEntities(entities);
89
+ });
90
+ ```
91
+