@flighthq/physics3d 0.5.1-next.3302.76ece6b → 0.5.1-next.4304.322dc96
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/README.md +2 -2
- package/dist/enablePhysics3DGuards.d.ts +2 -1
- package/dist/enablePhysics3DGuards.d.ts.map +1 -1
- package/dist/enablePhysics3DGuards.js +13 -13
- package/dist/enablePhysics3DGuards.js.map +1 -1
- package/dist/world.d.ts.map +1 -1
- package/dist/world.js +1 -16
- package/dist/world.js.map +1 -1
- package/package.json +8 -8
- package/src/enablePhysics3DGuards.test.ts +35 -15
package/README.md
CHANGED
|
@@ -13,5 +13,5 @@ Import the supported application-facing API from `@flighthq/physics3d`. The `@fl
|
|
|
13
13
|
This package is part of the locked-version Flight SDK graph. Applications may instead install and import `@flighthq/sdk` when package-level tree shaking is sufficient.
|
|
14
14
|
|
|
15
15
|
- [Flight project](https://github.com/flighthq/flight)
|
|
16
|
-
- [Source for @flighthq/physics3d@0.5.1-next.
|
|
17
|
-
- [License](https://github.com/flighthq/flight/blob/
|
|
16
|
+
- [Source for @flighthq/physics3d@0.5.1-next.4304.322dc96](https://github.com/flighthq/flight/tree/322dc963fc5a404a31bc0cc612e906de504ea024/packages/physics3d)
|
|
17
|
+
- [License](https://github.com/flighthq/flight/blob/322dc963fc5a404a31bc0cc612e906de504ea024/LICENSE.md)
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
+
import type { LogState } from '@flighthq/log/contract';
|
|
1
2
|
export declare function arePhysics3DGuardsEnabled(): boolean;
|
|
2
3
|
export declare function disablePhysics3DGuards(): void;
|
|
3
|
-
export declare function enablePhysics3DGuards(): void;
|
|
4
|
+
export declare function enablePhysics3DGuards(logState: LogState, clock: () => number): void;
|
|
4
5
|
//# sourceMappingURL=enablePhysics3DGuards.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"enablePhysics3DGuards.d.ts","sourceRoot":"","sources":["../src/enablePhysics3DGuards.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"enablePhysics3DGuards.d.ts","sourceRoot":"","sources":["../src/enablePhysics3DGuards.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAYvD,wBAAgB,yBAAyB,IAAI,OAAO,CAEnD;AAED,wBAAgB,sBAAsB,IAAI,IAAI,CAM7C;AAqBD,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,MAAM,GAAG,IAAI,CAMnF"}
|
|
@@ -36,17 +36,17 @@ export function disablePhysics3DGuards() {
|
|
|
36
36
|
// The fourth is a body routed through a backend's overflow path. Collision remains correct, but every
|
|
37
37
|
// broadphase query scans that body linearly, so a mixed-scale world can retain the right contacts while
|
|
38
38
|
// silently shedding the pruning its index exists to provide.
|
|
39
|
-
export function enablePhysics3DGuards() {
|
|
40
|
-
setPhysics3DStepGuard(warnOnUnsteppablePhysics3DWorld);
|
|
41
|
-
setPhysics3DContactIntakeGuard(warnOnUndetectablePhysics3DColliders);
|
|
42
|
-
setPhysics3DJointResolutionGuard(warnOnUnresolvedPhysics3DJoints);
|
|
43
|
-
setPhysics3DSpatialIndexingGuard(warnOnPhysics3DSpatialIndexing);
|
|
39
|
+
export function enablePhysics3DGuards(logState, clock) {
|
|
40
|
+
setPhysics3DStepGuard((world, dt) => warnOnUnsteppablePhysics3DWorld(logState, clock(), world, dt));
|
|
41
|
+
setPhysics3DContactIntakeGuard((world) => warnOnUndetectablePhysics3DColliders(logState, clock(), world));
|
|
42
|
+
setPhysics3DJointResolutionGuard((world) => warnOnUnresolvedPhysics3DJoints(logState, clock(), world));
|
|
43
|
+
setPhysics3DSpatialIndexingGuard((world) => warnOnPhysics3DSpatialIndexing(logState, clock(), world));
|
|
44
44
|
physics3DGuardsEnabled = true;
|
|
45
45
|
}
|
|
46
46
|
// Reports the broadphase fallback that preserves correctness while materially changing cost. Reading the
|
|
47
47
|
// world's own backend keeps this diagnostic scoped to physics3d instead of taking ownership of spatial's
|
|
48
48
|
// process-wide caller-composed guard.
|
|
49
|
-
function warnOnPhysics3DSpatialIndexing(world) {
|
|
49
|
+
function warnOnPhysics3DSpatialIndexing(logState, nowMs, world) {
|
|
50
50
|
const overflowBodyIndices = [];
|
|
51
51
|
for (let bodyIndex = 0; bodyIndex < world.bodies.length; bodyIndex += 1) {
|
|
52
52
|
const index = world.bodies[bodyIndex].index;
|
|
@@ -55,7 +55,7 @@ function warnOnPhysics3DSpatialIndexing(world) {
|
|
|
55
55
|
overflowBodyIndices.push(index);
|
|
56
56
|
}
|
|
57
57
|
if (overflowBodyIndices.length > 0) {
|
|
58
|
-
logOnce(`physics3d:spatial-overflow:${getPhysics3DGuardWorldId(world)}`, LogLevel.Warn, {
|
|
58
|
+
logOnce(logState, nowMs, `physics3d:spatial-overflow:${getPhysics3DGuardWorldId(world)}`, LogLevel.Warn, {
|
|
59
59
|
bodyIndices: overflowBodyIndices,
|
|
60
60
|
message: `synchronizePhysics3DBroadphase: ${overflowBodyIndices.length} ${overflowBodyIndices.length === 1 ? 'body is' : 'bodies are'} held in the spatial backend's overflow path, so broadphase queries scan ${overflowBodyIndices.length === 1 ? 'it' : 'them'} linearly — pass createBvhSpatialBackend3D() to createPhysics3DWorld(index) for a mixed-scale world, or tune createUniformGridSpatialBackend3D(cellSize) to the workload's typical body size.`,
|
|
61
61
|
status: 'spatial-overflow',
|
|
@@ -75,12 +75,12 @@ function getPhysics3DGuardWorldId(world) {
|
|
|
75
75
|
//
|
|
76
76
|
// Keyed on the kinds rather than logged per step, so a 60Hz loop says this once — and a world that later
|
|
77
77
|
// gains a second unsupported kind still says so.
|
|
78
|
-
function warnOnUndetectablePhysics3DColliders(world) {
|
|
78
|
+
function warnOnUndetectablePhysics3DColliders(logState, nowMs, world) {
|
|
79
79
|
const explanation = explainPhysics3DCollision(world);
|
|
80
80
|
if (explanation.status === 'ready')
|
|
81
81
|
return;
|
|
82
82
|
const kinds = explanation.unsupportedKinds;
|
|
83
|
-
logOnce(`physics3d:missing-support:${kinds.join(',')}`, LogLevel.Warn, {
|
|
83
|
+
logOnce(logState, nowMs, `physics3d:missing-support:${kinds.join(',')}`, LogLevel.Warn, {
|
|
84
84
|
kinds,
|
|
85
85
|
message: `buildPhysics3DContacts: no support function is registered for collider ${kinds.length === 1 ? 'kind' : 'kinds'} ${kinds.join(', ')}, so these generate no contacts and the bodies carrying them pass through everything — call registerBuiltInCollisionSupports3D() and registerBuiltInCollisionFaceQueries3D() from @flighthq/collision, or register your own support for a vendor kind.`,
|
|
86
86
|
status: explanation.status,
|
|
@@ -88,7 +88,7 @@ function warnOnUndetectablePhysics3DColliders(world) {
|
|
|
88
88
|
}
|
|
89
89
|
// Warns once per distinct world-list set of unresolved joints. Index belongs in the key: two joints of
|
|
90
90
|
// one kind may fail independently, and repairing the first must not suppress the second's later warning.
|
|
91
|
-
function warnOnUnresolvedPhysics3DJoints(world) {
|
|
91
|
+
function warnOnUnresolvedPhysics3DJoints(logState, nowMs, world) {
|
|
92
92
|
const explanations = explainPhysics3DJoints(world);
|
|
93
93
|
const joints = [];
|
|
94
94
|
for (const explanation of explanations) {
|
|
@@ -103,7 +103,7 @@ function warnOnUnresolvedPhysics3DJoints(world) {
|
|
|
103
103
|
if (joints.length === 0)
|
|
104
104
|
return;
|
|
105
105
|
const key = joints.map((joint) => `${joint.index}:${joint.kind}:${joint.status}`).join(',');
|
|
106
|
-
logOnce(`physics3d:unresolved-joints:${key}`, LogLevel.Warn, {
|
|
106
|
+
logOnce(logState, nowMs, `physics3d:unresolved-joints:${key}`, LogLevel.Warn, {
|
|
107
107
|
joints,
|
|
108
108
|
message: `buildPhysics3DSolveIslands: ${joints.length} ${joints.length === 1 ? 'joint was' : 'joints were'} omitted from the solve because its kind is unregistered or a body endpoint is missing — call explainPhysics3DJoints(world), then registerBuiltInPhysics3DJointSolvers(world) or registerPhysics3DJointSolver(world, kind, solver) for an unregistered kind, and removePhysics3DJoint(world, joint) or repair an invalid endpoint.`,
|
|
109
109
|
status: 'unresolved-joints',
|
|
@@ -118,12 +118,12 @@ function warnOnUnresolvedPhysics3DJoints(world) {
|
|
|
118
118
|
//
|
|
119
119
|
// Keyed on the failing set, so a loop calling this at 60Hz logs once and not once per frame, while a world
|
|
120
120
|
// that develops a SECOND fault after the first is repaired still says so.
|
|
121
|
-
function warnOnUnsteppablePhysics3DWorld(world, dt) {
|
|
121
|
+
function warnOnUnsteppablePhysics3DWorld(logState, nowMs, world, dt) {
|
|
122
122
|
const explanation = explainPhysics3DStep(world, dt);
|
|
123
123
|
const failing = getFailingPhysics3DPreconditions(explanation);
|
|
124
124
|
if (failing.length === 0)
|
|
125
125
|
return;
|
|
126
|
-
logOnce(`physics3d:${explanation.status}:${failing.join(',')}`, LogLevel.Warn, {
|
|
126
|
+
logOnce(logState, nowMs, `physics3d:${explanation.status}:${failing.join(',')}`, LogLevel.Warn, {
|
|
127
127
|
failing,
|
|
128
128
|
message: `stepPhysics3D: the world advanced nothing because ${failing.length === 1 ? 'a precondition' : 'several preconditions'} failed (${failing.join(', ')}) — call explainPhysics3DStep(world, dt) for the same flags as data, and repair the reported fields.`,
|
|
129
129
|
status: explanation.status,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"enablePhysics3DGuards.js","sourceRoot":"","sources":["../src/enablePhysics3DGuards.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"enablePhysics3DGuards.js","sourceRoot":"","sources":["../src/enablePhysics3DGuards.ts"],"names":[],"mappings":"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"}
|
package/dist/world.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"world.d.ts","sourceRoot":"","sources":["../src/world.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"world.d.ts","sourceRoot":"","sources":["../src/world.ts"],"names":[],"mappings":"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"}
|
package/dist/world.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { cloneCollisionColliderShape3D } from '@flighthq/collision/contract';
|
|
1
2
|
import { allocateEntity, finishEntity } from '@flighthq/entity/contract';
|
|
2
3
|
import { createUniformGridSpatialBackend3D } from '@flighthq/spatial/contract';
|
|
3
4
|
import { synchronizePhysics3DBroadphase } from "./broadphase.js";
|
|
@@ -665,22 +666,6 @@ export function writeRigidBody3DWorldCenter(body, out) {
|
|
|
665
666
|
// The serializable-shape version of `Physics3DWorld`. Bumped when a field a format layer would have
|
|
666
667
|
// written changes meaning, so a reconstructed world can be recognized as older and upgraded.
|
|
667
668
|
export const Physics3DWorldVersion = 4;
|
|
668
|
-
// Copies an authored shape so a collider owns its own geometry. The point list is copied too — sharing
|
|
669
|
-
// the array would let two colliders that look independent move together.
|
|
670
|
-
function cloneCollisionColliderShape3D(shape) {
|
|
671
|
-
if (shape.kind === 'convex')
|
|
672
|
-
return { kind: 'convex', points: shape.points.slice() };
|
|
673
|
-
if (shape.kind === 'triangle-mesh') {
|
|
674
|
-
return {
|
|
675
|
-
...shape,
|
|
676
|
-
points: shape.points.slice(),
|
|
677
|
-
indices: shape.indices.slice(),
|
|
678
|
-
};
|
|
679
|
-
}
|
|
680
|
-
if (shape.kind === 'heightfield')
|
|
681
|
-
return { ...shape, heights: shape.heights.slice() };
|
|
682
|
-
return { ...shape };
|
|
683
|
-
}
|
|
684
669
|
function isPhysics3DStaticSurfaceCollider(collider) {
|
|
685
670
|
return collider.local.kind === 'triangle-mesh' || collider.local.kind === 'heightfield';
|
|
686
671
|
}
|
package/dist/world.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"world.js","sourceRoot":"","sources":["../src/world.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"world.js","sourceRoot":"","sources":["../src/world.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@flighthq/physics3d",
|
|
3
|
-
"version": "0.5.1-next.
|
|
3
|
+
"version": "0.5.1-next.4304.322dc96",
|
|
4
4
|
"author": "Joshua Granick and other contributors",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -38,13 +38,13 @@
|
|
|
38
38
|
"clean:dist": "tsx ../../scripts/clean-package-dist.ts"
|
|
39
39
|
},
|
|
40
40
|
"dependencies": {
|
|
41
|
-
"@flighthq/collision": "0.5.1-next.
|
|
42
|
-
"@flighthq/entity": "0.5.1-next.
|
|
43
|
-
"@flighthq/log": "0.5.1-next.
|
|
44
|
-
"@flighthq/math": "0.5.1-next.
|
|
45
|
-
"@flighthq/node": "0.5.1-next.
|
|
46
|
-
"@flighthq/spatial": "0.5.1-next.
|
|
47
|
-
"@flighthq/types": "0.5.1-next.
|
|
41
|
+
"@flighthq/collision": "0.5.1-next.4304.322dc96",
|
|
42
|
+
"@flighthq/entity": "0.5.1-next.4304.322dc96",
|
|
43
|
+
"@flighthq/log": "0.5.1-next.4304.322dc96",
|
|
44
|
+
"@flighthq/math": "0.5.1-next.4304.322dc96",
|
|
45
|
+
"@flighthq/node": "0.5.1-next.4304.322dc96",
|
|
46
|
+
"@flighthq/spatial": "0.5.1-next.4304.322dc96",
|
|
47
|
+
"@flighthq/types": "0.5.1-next.4304.322dc96"
|
|
48
48
|
},
|
|
49
49
|
"devDependencies": {
|
|
50
50
|
"@flighthq/geometry": "*",
|
|
@@ -1,5 +1,12 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
1
|
+
import {
|
|
2
|
+
addLogSink,
|
|
3
|
+
createLogState,
|
|
4
|
+
createMemoryLogSink,
|
|
5
|
+
getMemoryLogSinkEntries,
|
|
6
|
+
removeLogSink,
|
|
7
|
+
} from '@flighthq/log/contract';
|
|
8
|
+
import type { LogState } from '@flighthq/log/contract';
|
|
9
|
+
import type { LogEntry, MemoryLogSink, Physics3DWorld } from '@flighthq/types/contract';
|
|
3
10
|
|
|
4
11
|
import { synchronizePhysics3DBroadphase } from './broadphase.ts';
|
|
5
12
|
import { arePhysics3DGuardsEnabled, disablePhysics3DGuards, enablePhysics3DGuards } from './enablePhysics3DGuards.ts';
|
|
@@ -15,14 +22,21 @@ import {
|
|
|
15
22
|
createRigidBody3D,
|
|
16
23
|
} from './world.ts';
|
|
17
24
|
|
|
25
|
+
// Each test logs into a fresh caller-owned state, so logOnce keys never leak between tests.
|
|
26
|
+
let logState: LogState;
|
|
27
|
+
|
|
28
|
+
beforeEach(() => {
|
|
29
|
+
logState = createLogState();
|
|
30
|
+
});
|
|
31
|
+
|
|
18
32
|
function captureLog(run: () => void): readonly LogEntry[] {
|
|
19
33
|
const sink = createMemoryLogSink(8);
|
|
20
|
-
addLogSink(sink.sink);
|
|
34
|
+
addLogSink(logState, sink.sink);
|
|
21
35
|
try {
|
|
22
36
|
run();
|
|
23
|
-
return
|
|
37
|
+
return readMemoryLogEntries(sink);
|
|
24
38
|
} finally {
|
|
25
|
-
removeLogSink(sink.sink);
|
|
39
|
+
removeLogSink(logState, sink.sink);
|
|
26
40
|
}
|
|
27
41
|
}
|
|
28
42
|
|
|
@@ -33,14 +47,14 @@ afterEach(() => {
|
|
|
33
47
|
describe('arePhysics3DGuardsEnabled', () => {
|
|
34
48
|
it('reports the current module guard state', () => {
|
|
35
49
|
expect(arePhysics3DGuardsEnabled()).toBe(false);
|
|
36
|
-
enablePhysics3DGuards();
|
|
50
|
+
enablePhysics3DGuards(logState, () => 0);
|
|
37
51
|
expect(arePhysics3DGuardsEnabled()).toBe(true);
|
|
38
52
|
});
|
|
39
53
|
});
|
|
40
54
|
|
|
41
55
|
describe('disablePhysics3DGuards', () => {
|
|
42
56
|
it('removes the seam so a declined step is silent again', () => {
|
|
43
|
-
enablePhysics3DGuards();
|
|
57
|
+
enablePhysics3DGuards(logState, () => 0);
|
|
44
58
|
disablePhysics3DGuards();
|
|
45
59
|
const world = createTestWorld();
|
|
46
60
|
world.config.sequentialImpulse.positionIterations = -3;
|
|
@@ -51,7 +65,7 @@ describe('disablePhysics3DGuards', () => {
|
|
|
51
65
|
});
|
|
52
66
|
|
|
53
67
|
it('removes the unresolved-joint seam', () => {
|
|
54
|
-
enablePhysics3DGuards();
|
|
68
|
+
enablePhysics3DGuards(logState, () => 0);
|
|
55
69
|
disablePhysics3DGuards();
|
|
56
70
|
const world = createTestWorld();
|
|
57
71
|
addPhysics3DJoint(world, createPhysics3DHingeJoint({ bodyA: 0, bodyB: 1 }));
|
|
@@ -62,7 +76,7 @@ describe('disablePhysics3DGuards', () => {
|
|
|
62
76
|
});
|
|
63
77
|
|
|
64
78
|
it('removes the spatial-indexing seam', () => {
|
|
65
|
-
enablePhysics3DGuards();
|
|
79
|
+
enablePhysics3DGuards(logState, () => 0);
|
|
66
80
|
disablePhysics3DGuards();
|
|
67
81
|
|
|
68
82
|
const entries = captureLog(() => addPhysics3DBody(createPhysics3DWorld(), createOverflowBody()));
|
|
@@ -73,7 +87,7 @@ describe('disablePhysics3DGuards', () => {
|
|
|
73
87
|
|
|
74
88
|
describe('enablePhysics3DGuards', () => {
|
|
75
89
|
it('says nothing while the world steps normally', () => {
|
|
76
|
-
enablePhysics3DGuards();
|
|
90
|
+
enablePhysics3DGuards(logState, () => 0);
|
|
77
91
|
|
|
78
92
|
const entries = captureLog(() => stepPhysics3D(createTestWorld(), 1 / 60));
|
|
79
93
|
|
|
@@ -83,7 +97,7 @@ describe('enablePhysics3DGuards', () => {
|
|
|
83
97
|
});
|
|
84
98
|
|
|
85
99
|
it('names every failing precondition at once, not only the first', () => {
|
|
86
|
-
enablePhysics3DGuards();
|
|
100
|
+
enablePhysics3DGuards(logState, () => 0);
|
|
87
101
|
const world = createTestWorld();
|
|
88
102
|
world.gravityY = Number.NaN;
|
|
89
103
|
world.config.substeps = 0;
|
|
@@ -98,7 +112,7 @@ describe('enablePhysics3DGuards', () => {
|
|
|
98
112
|
});
|
|
99
113
|
|
|
100
114
|
it('logs once for a repeating fault and again when a different one joins it', () => {
|
|
101
|
-
enablePhysics3DGuards();
|
|
115
|
+
enablePhysics3DGuards(logState, () => 0);
|
|
102
116
|
const world = createTestWorld();
|
|
103
117
|
world.config.sequentialImpulse.velocityIterations = -1;
|
|
104
118
|
|
|
@@ -118,7 +132,7 @@ describe('enablePhysics3DGuards', () => {
|
|
|
118
132
|
});
|
|
119
133
|
|
|
120
134
|
it('names invalid collider state before contact intake can consume it', () => {
|
|
121
|
-
enablePhysics3DGuards();
|
|
135
|
+
enablePhysics3DGuards(logState, () => 0);
|
|
122
136
|
const world = createTestWorld();
|
|
123
137
|
const collider = createPhysics3DCollider({
|
|
124
138
|
kind: 'sphere',
|
|
@@ -137,7 +151,7 @@ describe('enablePhysics3DGuards', () => {
|
|
|
137
151
|
});
|
|
138
152
|
|
|
139
153
|
it('names every joint the solve skips and distinguishes why', () => {
|
|
140
|
-
enablePhysics3DGuards();
|
|
154
|
+
enablePhysics3DGuards(logState, () => 0);
|
|
141
155
|
const world = createTestWorld();
|
|
142
156
|
const unregistered = createPhysics3DHingeJoint({ bodyA: 0, bodyB: 1 });
|
|
143
157
|
unregistered.kind = 'guard.unregistered';
|
|
@@ -160,7 +174,7 @@ describe('enablePhysics3DGuards', () => {
|
|
|
160
174
|
});
|
|
161
175
|
|
|
162
176
|
it('reports a body routed through spatial overflow once and stays silent for ordinary indexing', () => {
|
|
163
|
-
enablePhysics3DGuards();
|
|
177
|
+
enablePhysics3DGuards(logState, () => 0);
|
|
164
178
|
const world = createPhysics3DWorld();
|
|
165
179
|
|
|
166
180
|
const entries = captureLog(() => {
|
|
@@ -227,3 +241,9 @@ function createOverflowBody() {
|
|
|
227
241
|
);
|
|
228
242
|
return body;
|
|
229
243
|
}
|
|
244
|
+
|
|
245
|
+
function readMemoryLogEntries(handle: Readonly<MemoryLogSink>): LogEntry[] {
|
|
246
|
+
const entries: LogEntry[] = [];
|
|
247
|
+
getMemoryLogSinkEntries(entries, handle);
|
|
248
|
+
return entries;
|
|
249
|
+
}
|