@woosh/meep-engine 3.14.4 → 3.14.5

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 (89) hide show
  1. package/package.json +1 -1
  2. package/src/core/geom/3d/mat4/m4_rigidity_defect.d.ts +30 -0
  3. package/src/core/geom/3d/mat4/m4_rigidity_defect.d.ts.map +1 -0
  4. package/src/core/geom/3d/mat4/m4_rigidity_defect.js +71 -0
  5. package/src/engine/network/orchestrator/NetworkPeer.d.ts +56 -8
  6. package/src/engine/network/orchestrator/NetworkPeer.d.ts.map +1 -1
  7. package/src/engine/network/orchestrator/NetworkPeer.js +263 -67
  8. package/src/engine/network/orchestrator/ServerAuthoritativeClient.d.ts +6 -1
  9. package/src/engine/network/orchestrator/ServerAuthoritativeClient.d.ts.map +1 -1
  10. package/src/engine/network/orchestrator/ServerAuthoritativeClient.js +6 -0
  11. package/src/engine/network/orchestrator/ServerAuthoritativeServer.d.ts +13 -7
  12. package/src/engine/network/orchestrator/ServerAuthoritativeServer.d.ts.map +1 -1
  13. package/src/engine/network/orchestrator/ServerAuthoritativeServer.js +103 -138
  14. package/src/engine/network/replication/Replicator.d.ts +29 -6
  15. package/src/engine/network/replication/Replicator.d.ts.map +1 -1
  16. package/src/engine/network/replication/Replicator.js +265 -108
  17. package/src/engine/network/sim/ActionLog.d.ts +2 -0
  18. package/src/engine/network/sim/ActionLog.d.ts.map +1 -1
  19. package/src/engine/network/sim/ActionLog.js +2 -0
  20. package/src/engine/network/sim/ActionRecordCursor.d.ts +82 -0
  21. package/src/engine/network/sim/ActionRecordCursor.d.ts.map +1 -0
  22. package/src/engine/network/sim/ActionRecordCursor.js +120 -0
  23. package/src/engine/network/sim/RewindEngine.d.ts.map +1 -1
  24. package/src/engine/network/sim/RewindEngine.js +13 -29
  25. package/src/engine/network/sim/SimActionExecutor.d.ts +2 -3
  26. package/src/engine/network/sim/SimActionExecutor.d.ts.map +1 -1
  27. package/src/engine/network/sim/SimActionExecutor.js +10 -11
  28. package/src/engine/physics/fluid/ecs/FluidObstacleSystem.d.ts +4 -4
  29. package/src/shade/playground/particle_system/particle_scene.d.ts.map +1 -1
  30. package/src/shade/playground/particle_system/particle_scene.js +38 -37
  31. package/src/shade/playground/skinned_mesh_soup/README.md +39 -18
  32. package/src/shade/playground/skinned_mesh_soup/index.html +9 -6
  33. package/src/shade/playground/skinned_mesh_soup/main.d.ts.map +1 -1
  34. package/src/shade/playground/skinned_mesh_soup/main.js +16 -13
  35. package/src/shade/playground/skinned_mesh_soup/verify_clone_vertices.d.ts +8 -2
  36. package/src/shade/playground/skinned_mesh_soup/verify_clone_vertices.d.ts.map +1 -1
  37. package/src/shade/playground/skinned_mesh_soup/verify_clone_vertices.js +23 -4
  38. package/src/shade/renderer/animation/GPUAnimationManager.d.ts.map +1 -1
  39. package/src/shade/renderer/animation/GPUAnimationManager.js +1958 -1796
  40. package/src/shade/renderer/animation/SKINNING_FRAME_PLAN.md +357 -0
  41. package/src/shade/renderer/animation/skin_bind_transform.d.ts +25 -0
  42. package/src/shade/renderer/animation/skin_bind_transform.d.ts.map +1 -0
  43. package/src/shade/renderer/animation/skin_bind_transform.js +33 -0
  44. package/src/shade/renderer/animation/skin_clip_scale_conflicts.d.ts +67 -0
  45. package/src/shade/renderer/animation/skin_clip_scale_conflicts.d.ts.map +1 -0
  46. package/src/shade/renderer/animation/skin_clip_scale_conflicts.js +199 -0
  47. package/src/shade/renderer/animation/skin_frame_defect.d.ts +34 -0
  48. package/src/shade/renderer/animation/skin_frame_defect.d.ts.map +1 -0
  49. package/src/shade/renderer/animation/skin_frame_defect.js +132 -0
  50. package/src/shade/renderer/animation/skin_joint_matrix.d.ts +24 -0
  51. package/src/shade/renderer/animation/skin_joint_matrix.d.ts.map +1 -0
  52. package/src/shade/renderer/animation/skin_joint_matrix.js +46 -0
  53. package/src/shade/renderer/animation/skin_normalize_mesh_frame.d.ts +70 -0
  54. package/src/shade/renderer/animation/skin_normalize_mesh_frame.d.ts.map +1 -0
  55. package/src/shade/renderer/animation/skin_normalize_mesh_frame.js +216 -0
  56. package/src/shade/renderer/animation/skin_test_fixtures.d.ts +86 -0
  57. package/src/shade/renderer/animation/skin_test_fixtures.d.ts.map +1 -0
  58. package/src/shade/renderer/animation/skin_test_fixtures.js +250 -0
  59. package/src/shade/renderer/animation/skinning/chunk_skin_blend_mesh_local.d.ts +18 -4
  60. package/src/shade/renderer/animation/skinning/chunk_skin_blend_mesh_local.d.ts.map +1 -1
  61. package/src/shade/renderer/animation/skinning/chunk_skin_blend_mesh_local.js +18 -4
  62. package/src/shade/renderer/particles/DESIGN.md +5 -5
  63. package/src/shade/renderer/particles/graph/ParticleNodeDescription.d.ts +43 -0
  64. package/src/shade/renderer/particles/graph/ParticleNodeDescription.d.ts.map +1 -0
  65. package/src/shade/renderer/particles/graph/ParticleNodeDescription.js +44 -0
  66. package/src/shade/renderer/particles/graph/ParticleNodeRegistry.d.ts +33 -59
  67. package/src/shade/renderer/particles/graph/ParticleNodeRegistry.d.ts.map +1 -1
  68. package/src/shade/renderer/particles/graph/ParticleNodeRegistry.js +185 -118
  69. package/src/shade/renderer/particles/graph/compile_particle_graph.d.ts +15 -10
  70. package/src/shade/renderer/particles/graph/compile_particle_graph.d.ts.map +1 -1
  71. package/src/shade/renderer/particles/graph/compile_particle_graph.js +205 -170
  72. package/src/shade/renderer/particles/graph/particle_graph_authoring.d.ts +44 -0
  73. package/src/shade/renderer/particles/graph/particle_graph_authoring.d.ts.map +1 -0
  74. package/src/shade/renderer/particles/graph/particle_graph_authoring.js +108 -0
  75. package/src/shade/renderer/particles/particle_prototype.d.ts.map +1 -1
  76. package/src/shade/renderer/particles/particle_prototype.js +181 -180
  77. package/src/shade/renderer/particles/runtime/create_particle_effect.d.ts +4 -4
  78. package/src/shade/renderer/particles/runtime/create_particle_effect.d.ts.map +1 -1
  79. package/src/shade/renderer/particles/runtime/create_particle_effect.js +19 -19
  80. package/src/shade/renderer/particles/vm/chunk_particle_vm.js +1 -1
  81. package/src/shade/renderer/scene/SkinnedMesh.d.ts +11 -0
  82. package/src/shade/renderer/scene/SkinnedMesh.d.ts.map +1 -1
  83. package/src/shade/renderer/scene/SkinnedMesh.js +11 -0
  84. package/src/shade/renderer/shader/chunk/geometry/quaternion/dual/chunk_dual_quat_from_m4.d.ts +33 -3
  85. package/src/shade/renderer/shader/chunk/geometry/quaternion/dual/chunk_dual_quat_from_m4.d.ts.map +1 -1
  86. package/src/shade/renderer/shader/chunk/geometry/quaternion/dual/chunk_dual_quat_from_m4.js +58 -37
  87. package/src/shade/renderer/particles/graph/ParticleGraph.d.ts +0 -54
  88. package/src/shade/renderer/particles/graph/ParticleGraph.d.ts.map +0 -1
  89. package/src/shade/renderer/particles/graph/ParticleGraph.js +0 -99
package/package.json CHANGED
@@ -6,7 +6,7 @@
6
6
  "description": "Advanced 3D game engine",
7
7
  "type": "module",
8
8
  "author": "Alexander Goldring",
9
- "version": "3.14.4",
9
+ "version": "3.14.5",
10
10
  "exports": {
11
11
  "./build/*": "./build/*",
12
12
  "./src/*": "./src/*",
@@ -0,0 +1,30 @@
1
+ /**
2
+ * How far a matrix's linear part is from a rotation — zero for a rigid motion, and growing with
3
+ * whatever else is in there.
4
+ *
5
+ * A rigid motion's upper 3×3 is orthonormal: three unit columns, mutually perpendicular. The defect
6
+ * is the largest violation of that, over the six facts it comes down to — three lengths against 1,
7
+ * three pairwise dot products against 0 — so it is scale-free in the sense that matters: a matrix
8
+ * scaled by `s` reports `|s − 1|`, and a shear reports the cosine of how far the columns have fallen
9
+ * out of square, whatever the scale.
10
+ *
11
+ * Not a norm and not a distance to the nearest rotation. It is a **test statistic**: one number that
12
+ * is zero exactly when the matrix is rigid, that grows monotonically with the thing you would want
13
+ * to see, and that can be compared against a tolerance without knowing what shape the matrix is. The
14
+ * translation is not read — a translation is rigid.
15
+ *
16
+ * ## Why this exists
17
+ *
18
+ * `dual_quat_from_m4` reads a matrix's upper 3×3 as if it were a rotation. Handed anything else it
19
+ * answers a rotation anyway — a wrong one, from `sqrt(max(0, 1 ± m00 ± m11 ± m22))` over terms the
20
+ * scale has swamped — with no signal that it did. This is how a caller finds out first. See
21
+ * `renderer/animation/SKINNING_FRAME_PLAN.md`.
22
+ *
23
+ * A **reflection** reports zero: it is orthonormal, and this measures orthonormality. Callers who
24
+ * care about handedness want the determinant's sign, which is a different question.
25
+ *
26
+ * @param {ArrayLike<number>} mat4 column-major, 16 elements
27
+ * @returns {number} 0 for a rigid motion; larger the further from one
28
+ */
29
+ export function m4_rigidity_defect(mat4: ArrayLike<number>): number;
30
+ //# sourceMappingURL=m4_rigidity_defect.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"m4_rigidity_defect.d.ts","sourceRoot":"","sources":["../../../../../../src/core/geom/3d/mat4/m4_rigidity_defect.js"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,yCAHW,UAAU,MAAM,CAAC,GACf,MAAM,CA0ClB"}
@@ -0,0 +1,71 @@
1
+ import { assert } from "../../../assert.js";
2
+
3
+ /**
4
+ * How far a matrix's linear part is from a rotation — zero for a rigid motion, and growing with
5
+ * whatever else is in there.
6
+ *
7
+ * A rigid motion's upper 3×3 is orthonormal: three unit columns, mutually perpendicular. The defect
8
+ * is the largest violation of that, over the six facts it comes down to — three lengths against 1,
9
+ * three pairwise dot products against 0 — so it is scale-free in the sense that matters: a matrix
10
+ * scaled by `s` reports `|s − 1|`, and a shear reports the cosine of how far the columns have fallen
11
+ * out of square, whatever the scale.
12
+ *
13
+ * Not a norm and not a distance to the nearest rotation. It is a **test statistic**: one number that
14
+ * is zero exactly when the matrix is rigid, that grows monotonically with the thing you would want
15
+ * to see, and that can be compared against a tolerance without knowing what shape the matrix is. The
16
+ * translation is not read — a translation is rigid.
17
+ *
18
+ * ## Why this exists
19
+ *
20
+ * `dual_quat_from_m4` reads a matrix's upper 3×3 as if it were a rotation. Handed anything else it
21
+ * answers a rotation anyway — a wrong one, from `sqrt(max(0, 1 ± m00 ± m11 ± m22))` over terms the
22
+ * scale has swamped — with no signal that it did. This is how a caller finds out first. See
23
+ * `renderer/animation/SKINNING_FRAME_PLAN.md`.
24
+ *
25
+ * A **reflection** reports zero: it is orthonormal, and this measures orthonormality. Callers who
26
+ * care about handedness want the determinant's sign, which is a different question.
27
+ *
28
+ * @param {ArrayLike<number>} mat4 column-major, 16 elements
29
+ * @returns {number} 0 for a rigid motion; larger the further from one
30
+ */
31
+ export function m4_rigidity_defect(mat4) {
32
+ assert.isArrayLike(mat4, 'mat4');
33
+
34
+ const x0 = mat4[0], x1 = mat4[1], x2 = mat4[2];
35
+ const y0 = mat4[4], y1 = mat4[5], y2 = mat4[6];
36
+ const z0 = mat4[8], z1 = mat4[9], z2 = mat4[10];
37
+
38
+ const length_x = Math.sqrt(x0 * x0 + x1 * x1 + x2 * x2);
39
+ const length_y = Math.sqrt(y0 * y0 + y1 * y1 + y2 * y2);
40
+ const length_z = Math.sqrt(z0 * z0 + z1 * z1 + z2 * z2);
41
+
42
+ let defect = Math.abs(length_x - 1);
43
+
44
+ defect = Math.max(defect, Math.abs(length_y - 1));
45
+ defect = Math.max(defect, Math.abs(length_z - 1));
46
+
47
+ /*
48
+ The dot products are normalized by the column lengths so that the two halves of the answer are
49
+ in the same units — a cosine rather than a product of magnitudes. Without it a matrix at a large
50
+ scale would report its shear multiplied by that scale squared, and a tolerance chosen for one
51
+ model would mean something else on the next. A degenerate column has no direction to be square
52
+ to; its zero length has already been counted.
53
+ */
54
+ const scale_xy = length_x * length_y;
55
+ const scale_yz = length_y * length_z;
56
+ const scale_zx = length_z * length_x;
57
+
58
+ if (scale_xy > 0) {
59
+ defect = Math.max(defect, Math.abs(x0 * y0 + x1 * y1 + x2 * y2) / scale_xy);
60
+ }
61
+
62
+ if (scale_yz > 0) {
63
+ defect = Math.max(defect, Math.abs(y0 * z0 + y1 * z1 + y2 * z2) / scale_yz);
64
+ }
65
+
66
+ if (scale_zx > 0) {
67
+ defect = Math.max(defect, Math.abs(z0 * x0 + z1 * x1 + z2 * x2) / scale_zx);
68
+ }
69
+
70
+ return defect;
71
+ }
@@ -59,10 +59,20 @@ export const ResumeRejectReason: Readonly<{
59
59
  * range is confirmed only when `unacked` reaches zero without `abandoned`
60
60
  * having been set by a loss along the way.
61
61
  *
62
- * @typedef {{frame_end: number, unacked: number, abandoned: boolean}} PendingAck
63
- * @property {number} frame_end last frame in the packed range `[start, frame_end]`
64
- * @property {number} unacked seqs of this send not yet acked or declared lost
65
- * @property {boolean} abandoned at least one seq was declared lost, so the
62
+ * A tick may make several sends to one peer, each carrying the next slice of
63
+ * the owed range (see {@link NetworkPeer#flush_outbound}). They confirm
64
+ * independently, and the baseline advances only through slices confirmed in
65
+ * order a later slice landing says nothing about an earlier one still in
66
+ * flight. `head` marks the first slice of a tick, whose start is the pack
67
+ * start itself; see {@link NetworkPeer#__credit_confirmed}.
68
+ *
69
+ * @typedef {{frame_start: number, frame_end: number, head: boolean, unacked: number, abandoned: boolean}} PendingAck
70
+ * @property {number} frame_start first frame in the packed range
71
+ * @property {number} frame_end last frame in the packed range
72
+ * @property {boolean} head this send began at the pack start, so nothing
73
+ * sendable lies before it and its confirmation credits outright
74
+ * @property {number} unacked seqs of this send not yet acked or declared lost
75
+ * @property {boolean} abandoned at least one seq was declared lost, so the
66
76
  * message is forfeit and must never advance the baseline
67
77
  */
68
78
  /**
@@ -102,9 +112,10 @@ export class NetworkPeer {
102
112
  * initial_buffer_size?: number,
103
113
  * mutation_ledger?: MutationLedger|null,
104
114
  * changed_set_capacity?: number,
115
+ * max_packets_per_tick?: number,
105
116
  * }} options
106
117
  */
107
- constructor({ world, binary_registry, replicated_components, action_classes, scope_filter, frame_capacity, initial_buffer_size, mutation_ledger, changed_set_capacity, }: {
118
+ constructor({ world, binary_registry, replicated_components, action_classes, scope_filter, frame_capacity, initial_buffer_size, mutation_ledger, changed_set_capacity, max_packets_per_tick, }: {
108
119
  world: EntityComponentDataset;
109
120
  binary_registry: BinarySerializationRegistry;
110
121
  replicated_components: Function[];
@@ -116,6 +127,7 @@ export class NetworkPeer {
116
127
  initial_buffer_size?: number;
117
128
  mutation_ledger?: MutationLedger | null;
118
129
  changed_set_capacity?: number;
130
+ max_packets_per_tick?: number;
119
131
  });
120
132
  /** @type {EntityComponentDataset} */
121
133
  world: EntityComponentDataset;
@@ -127,6 +139,32 @@ export class NetworkPeer {
127
139
  slot_table: ReplicationSlotTable;
128
140
  /** @type {ActionLog} */
129
141
  action_log: ActionLog;
142
+ /**
143
+ * Most action-stream packets {@link flush_outbound} may send one peer
144
+ * in a tick. Each carries the next slice of what the peer is owed and
145
+ * is confirmed on its own, so this caps how fast a peer that has
146
+ * fallen behind catches up: a slice is re-sent every tick until its ack
147
+ * returns, so a peer is confirmed at most this many packets of frames
148
+ * per round trip, against the one frame per tick the simulation
149
+ * produces. One packet a tick keeps up only while a round trip's frames
150
+ * fit one packet; past that the owed range grows until it meets the
151
+ * ring floor and frames are lost.
152
+ *
153
+ * It is also the bandwidth ceiling under catch-up — this many MTUs per
154
+ * tick per peer — and it has to stay inside the channel's ack window.
155
+ * A peer's ack header covers its latest 33 seqs, so with a peer that
156
+ * replies once a tick, `33 / max_packets_per_tick` consecutive lost
157
+ * replies leave a delivered packet outside the window and it is
158
+ * declared lost: a wasted re-send rather than a defect, since the
159
+ * receiver skips frames it has already applied. Eight tolerates three
160
+ * such losses in a row (one tick in sixteen at 50% loss, one in ten
161
+ * thousand at 10%), and lets a 60 Hz stream at 100 ms RTT carry a full
162
+ * packet of actions per frame. Lower it for peers that reply less often
163
+ * than every tick.
164
+ *
165
+ * @type {number}
166
+ */
167
+ max_packets_per_tick: number;
130
168
  /**
131
169
  * Optional per-tick mutation tracker. When a `MutationLedger` is supplied,
132
170
  * this peer records each tick's affected network IDs into a fresh
@@ -325,9 +363,10 @@ export class NetworkPeer {
325
363
  * by the caller. Records the tick's accumulated mutations into the
326
364
  * MutationLedger (if configured), then packs frames
327
365
  * `[last_acked+1, current_frame]` for each peer via
328
- * `Replicator.pack_for_peer`, bounded to one channel packet. Empty packs
329
- * (no in-scope actions) are not sent. Clears the per-tick changed-entity
330
- * set after recording.
366
+ * `Replicator.pack_for_peer` into up to {@link max_packets_per_tick}
367
+ * channel packets, each the next slice of that range. Empty packs (no
368
+ * in-scope actions) are not sent. Clears the per-tick changed-entity set
369
+ * after recording.
331
370
  *
332
371
  * @param {number} current_frame
333
372
  */
@@ -456,9 +495,18 @@ export class NetworkPeer {
456
495
  * the receiver reassembles a fragmented message all-or-nothing, so the frame
457
496
  * range is confirmed only when `unacked` reaches zero without `abandoned`
458
497
  * having been set by a loss along the way.
498
+ *
499
+ * A tick may make several sends to one peer, each carrying the next slice of
500
+ * the owed range (see {@link NetworkPeerflush_outbound }). They confirm
501
+ * independently, and the baseline advances only through slices confirmed in
502
+ * order — a later slice landing says nothing about an earlier one still in
503
+ * flight. `head` marks the first slice of a tick, whose start is the pack
504
+ * start itself; see {@link NetworkPeer__credit_confirmed }.
459
505
  */
460
506
  export type PendingAck = {
507
+ frame_start: number;
461
508
  frame_end: number;
509
+ head: boolean;
462
510
  unacked: number;
463
511
  abandoned: boolean;
464
512
  };
@@ -1 +1 @@
1
- {"version":3,"file":"NetworkPeer.d.ts","sourceRoot":"","sources":["../../../../../src/engine/network/orchestrator/NetworkPeer.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"NetworkPeer.d.ts","sourceRoot":"","sources":["../../../../../src/engine/network/orchestrator/NetworkPeer.js"],"names":[],"mappings":"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"}