@typeonce/ritmo-devtools 0.6.0 → 0.8.0
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 +105 -21
- package/dist/Determinism.d.ts +70 -0
- package/dist/Determinism.d.ts.map +1 -0
- package/dist/Determinism.js +137 -0
- package/dist/Determinism.js.map +1 -0
- package/dist/Format.d.ts +8 -1
- package/dist/Format.d.ts.map +1 -1
- package/dist/Format.js +47 -5
- package/dist/Format.js.map +1 -1
- package/dist/Invariant.d.ts +34 -12
- package/dist/Invariant.d.ts.map +1 -1
- package/dist/Invariant.js +6 -19
- package/dist/Invariant.js.map +1 -1
- package/dist/Lint.d.ts +60 -0
- package/dist/Lint.d.ts.map +1 -0
- package/dist/Lint.js +15 -0
- package/dist/Lint.js.map +1 -0
- package/dist/Monitor.d.ts +18 -4
- package/dist/Monitor.d.ts.map +1 -1
- package/dist/Monitor.js +32 -21
- package/dist/Monitor.js.map +1 -1
- package/dist/Replay.d.ts +271 -0
- package/dist/Replay.d.ts.map +1 -0
- package/dist/Replay.js +335 -0
- package/dist/Replay.js.map +1 -0
- package/dist/ReplayNodeSink.d.ts +11 -0
- package/dist/ReplayNodeSink.d.ts.map +1 -0
- package/dist/ReplayNodeSink.js +29 -0
- package/dist/ReplayNodeSink.js.map +1 -0
- package/dist/ReplayVitePlugin.d.ts +41 -0
- package/dist/ReplayVitePlugin.d.ts.map +1 -0
- package/dist/ReplayVitePlugin.js +41 -0
- package/dist/ReplayVitePlugin.js.map +1 -0
- package/dist/ReplayViteSink.d.ts +30 -0
- package/dist/ReplayViteSink.d.ts.map +1 -0
- package/dist/ReplayViteSink.js +9 -0
- package/dist/ReplayViteSink.js.map +1 -0
- package/dist/Session.d.ts +66 -14
- package/dist/Session.d.ts.map +1 -1
- package/dist/Session.js +93 -7
- package/dist/Session.js.map +1 -1
- package/dist/cli.d.ts +3 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +57 -0
- package/dist/cli.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -0
- package/dist/index.js.map +1 -1
- package/dist/internal/monitor.d.ts +4 -2
- package/dist/internal/monitor.d.ts.map +1 -1
- package/dist/internal/monitor.js +9 -3
- package/dist/internal/monitor.js.map +1 -1
- package/dist/internal/version.d.ts +7 -0
- package/dist/internal/version.d.ts.map +1 -0
- package/dist/internal/version.js +7 -0
- package/dist/internal/version.js.map +1 -0
- package/package.json +5 -2
- package/src/Determinism.ts +190 -0
- package/src/Format.ts +50 -4
- package/src/Invariant.ts +38 -12
- package/src/Lint.ts +72 -0
- package/src/Monitor.ts +49 -26
- package/src/Replay.ts +583 -0
- package/src/ReplayNodeSink.ts +38 -0
- package/src/ReplayVitePlugin.ts +74 -0
- package/src/ReplayViteSink.ts +33 -0
- package/src/Session.ts +154 -24
- package/src/cli.ts +55 -0
- package/src/index.ts +3 -0
- package/src/internal/monitor.ts +12 -5
- package/src/internal/version.ts +6 -0
package/dist/Format.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Format.js","sourceRoot":"","sources":["../src/Format.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Format.js","sourceRoot":"","sources":["../src/Format.ts"],"names":[],"mappings":"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"}
|
package/dist/Invariant.d.ts
CHANGED
|
@@ -1,27 +1,49 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Named world checks evaluated after every frame of a session run.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
4
|
+
* An invariant is a `Game.Inspector` whose projection returns a message
|
|
5
|
+
* describing the violation, or `undefined` when the invariant holds. The
|
|
6
|
+
* inspector declares its reads like a system and cannot write, so the check
|
|
7
|
+
* is typed and read-only, and `Session.make` rejects at compile time an
|
|
8
|
+
* invariant that reads a resource, service, or machine the runtime does not
|
|
9
|
+
* provide. The invariant is named after its inspector.
|
|
10
|
+
*
|
|
11
|
+
* Use `Invariant.fromInspector` for checks over the world during a session.
|
|
12
|
+
* Use `Game.Inspector` with `runtime.inspect(...)` directly for one-off reads
|
|
13
|
+
* in tests and scripts.
|
|
7
14
|
*
|
|
8
15
|
* @module Invariant
|
|
9
16
|
* @docGroup devtools
|
|
10
17
|
*
|
|
11
18
|
* @example
|
|
12
19
|
* ```ts
|
|
13
|
-
* const PlayerInsideWorld = Invariant.
|
|
14
|
-
*
|
|
15
|
-
*
|
|
20
|
+
* const PlayerInsideWorld = Invariant.fromInspector(Game.Inspector("player inside world", {
|
|
21
|
+
* queries: { players: Game.Query({ selection: { position: Game.Query.read(Position) }, with: [Player] }) }
|
|
22
|
+
* }, ({ queries }) => {
|
|
23
|
+
* for (const { data } of queries.players.each()) {
|
|
24
|
+
* const { x } = data.position.get()
|
|
25
|
+
* if (x < 0 || x > WORLD_WIDTH) return `player at x=${x}`
|
|
16
26
|
* }
|
|
17
27
|
* return undefined
|
|
18
|
-
* })
|
|
28
|
+
* }))
|
|
29
|
+
*
|
|
30
|
+
* const session = Session.make(runtime, { schedules: { update }, invariants: [PlayerInsideWorld] })
|
|
19
31
|
* ```
|
|
20
32
|
*/
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
/**
|
|
24
|
-
|
|
33
|
+
import type * as Inspector from "@typeonce/ritmo/Inspector";
|
|
34
|
+
export declare namespace Invariant {
|
|
35
|
+
/** An inspector usable as an invariant: it returns a violation message or `undefined`. */
|
|
36
|
+
type CheckInspector = Inspector.InspectorDefinition<any, string | undefined, any, any, any>;
|
|
37
|
+
}
|
|
38
|
+
export interface Invariant<I extends Invariant.CheckInspector = Invariant.CheckInspector> {
|
|
39
|
+
/** The inspector's name, printed when the invariant is violated. */
|
|
40
|
+
readonly name: I["name"];
|
|
41
|
+
/** The read-only check: a violation message, or `undefined` when the invariant holds. */
|
|
42
|
+
readonly inspector: I;
|
|
25
43
|
}
|
|
26
|
-
|
|
44
|
+
/**
|
|
45
|
+
* Turns a `Game.Inspector` that returns `string | undefined` into an
|
|
46
|
+
* invariant for `Session.make({ invariants })`.
|
|
47
|
+
*/
|
|
48
|
+
export declare const fromInspector: <const I extends Invariant.CheckInspector>(inspector: I) => Invariant<I>;
|
|
27
49
|
//# sourceMappingURL=Invariant.d.ts.map
|
package/dist/Invariant.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Invariant.d.ts","sourceRoot":"","sources":["../src/Invariant.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"Invariant.d.ts","sourceRoot":"","sources":["../src/Invariant.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,OAAO,KAAK,KAAK,SAAS,MAAM,2BAA2B,CAAA;AAE3D,yBAAiB,SAAS,CAAC;IACzB,0FAA0F;IAC1F,KAAY,cAAc,GAAG,SAAS,CAAC,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAA;CACnG;AAED,MAAM,WAAW,SAAS,CAAC,CAAC,SAAS,SAAS,CAAC,cAAc,GAAG,SAAS,CAAC,cAAc;IACtF,oEAAoE;IACpE,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAA;IACxB,yFAAyF;IACzF,QAAQ,CAAC,SAAS,EAAE,CAAC,CAAA;CACtB;AAED;;;GAGG;AACH,eAAO,MAAM,aAAa,GAAI,KAAK,CAAC,CAAC,SAAS,SAAS,CAAC,cAAc,aAAa,CAAC,KAAG,SAAS,CAAC,CAAC,CAGhG,CAAA"}
|
package/dist/Invariant.js
CHANGED
|
@@ -1,22 +1,9 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
3
|
-
*
|
|
4
|
-
* A check returns a message describing the violation, or `undefined` when the
|
|
5
|
-
* invariant holds. Read the world through `runtime.inspect(...)` with a
|
|
6
|
-
* `Game.Inspector`, so the check stays typed and read-only.
|
|
7
|
-
*
|
|
8
|
-
* @module Invariant
|
|
9
|
-
* @docGroup devtools
|
|
10
|
-
*
|
|
11
|
-
* @example
|
|
12
|
-
* ```ts
|
|
13
|
-
* const PlayerInsideWorld = Invariant.make("player inside world", () => {
|
|
14
|
-
* for (const position of runtime.inspect(PlayerPositions)) {
|
|
15
|
-
* if (position.x < 0 || position.x > WORLD_WIDTH) return `player at x=${position.x}`
|
|
16
|
-
* }
|
|
17
|
-
* return undefined
|
|
18
|
-
* })
|
|
19
|
-
* ```
|
|
2
|
+
* Turns a `Game.Inspector` that returns `string | undefined` into an
|
|
3
|
+
* invariant for `Session.make({ invariants })`.
|
|
20
4
|
*/
|
|
21
|
-
export const
|
|
5
|
+
export const fromInspector = (inspector) => ({
|
|
6
|
+
name: inspector.name,
|
|
7
|
+
inspector
|
|
8
|
+
});
|
|
22
9
|
//# sourceMappingURL=Invariant.js.map
|
package/dist/Invariant.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Invariant.js","sourceRoot":"","sources":["../src/Invariant.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Invariant.js","sourceRoot":"","sources":["../src/Invariant.ts"],"names":[],"mappings":"AA8CA;;;GAGG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,CAA2C,SAAY,EAAgB,EAAE,CAAC,CAAC;IACtG,IAAI,EAAE,SAAS,CAAC,IAAI;IACpB,SAAS;CACV,CAAC,CAAA"}
|
package/dist/Lint.d.ts
ADDED
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The static lints of a game's schedules, as a tool: `describe()`'s lints over
|
|
3
|
+
* a headless runtime, each with its fix, and a verdict (warnings fail, info
|
|
4
|
+
* does not).
|
|
5
|
+
*
|
|
6
|
+
* Run it from a game's `check` script with the CLI:
|
|
7
|
+
*
|
|
8
|
+
* ```sh
|
|
9
|
+
* ritmo-devtools lint src/simulation.ts
|
|
10
|
+
* ```
|
|
11
|
+
*
|
|
12
|
+
* The entry module exports `lintTarget`, a function that builds the game's
|
|
13
|
+
* headless runtime (made with `debug: { hostClock }`) and names its schedules: the
|
|
14
|
+
* ones ticked headless in `schedules`, and the ones that need a renderer or
|
|
15
|
+
* other host services in `describe` (described and linted, never run).
|
|
16
|
+
*
|
|
17
|
+
* Use `Session.make(...).describe()` instead to read the lints while
|
|
18
|
+
* debugging; this module is for the pass/fail check.
|
|
19
|
+
*
|
|
20
|
+
* @module Lint
|
|
21
|
+
* @docGroup devtools
|
|
22
|
+
*
|
|
23
|
+
* @example
|
|
24
|
+
* ```ts
|
|
25
|
+
* // src/simulation.ts
|
|
26
|
+
* export const lintTarget = (): Lint.Target<typeof Game.schema, typeof Game.schema> => {
|
|
27
|
+
* const sim = createSimulation({ keyboard: Keyboard.scripted(bindings, []) })
|
|
28
|
+
* return { runtime: sim.runtime, schedules: { setup: sim.setup, update: sim.update }, describe: { render } }
|
|
29
|
+
* }
|
|
30
|
+
* ```
|
|
31
|
+
*/
|
|
32
|
+
import type * as Debug from "@typeonce/ritmo/Debug";
|
|
33
|
+
import type { AnyScheduleOrder, ExecutableScheduleDefinition } from "@typeonce/ritmo/Schedule";
|
|
34
|
+
import type { Schema } from "@typeonce/ritmo/Schema";
|
|
35
|
+
import * as Rendered from "./Rendered.ts";
|
|
36
|
+
type AnySchedule<S extends Schema.Any, Root> = ExecutableScheduleDefinition<S, any, Root, any, any, AnyScheduleOrder>;
|
|
37
|
+
/** What `lintTarget` returns. */
|
|
38
|
+
export interface Target<S extends Schema.Any, Root> {
|
|
39
|
+
/** A runtime made with `debug: { hostClock }`. */
|
|
40
|
+
readonly runtime: {
|
|
41
|
+
readonly debug: Debug.Handle<S, Root>;
|
|
42
|
+
};
|
|
43
|
+
/** The schedules the game ticks, by name. */
|
|
44
|
+
readonly schedules: Readonly<Record<string, AnySchedule<S, Root>>>;
|
|
45
|
+
/** Schedules to describe without running (a render schedule needing a renderer). */
|
|
46
|
+
readonly describe?: Readonly<Record<string, AnySchedule<S, Root>>>;
|
|
47
|
+
/** Events the host publishes with `runtime.send` (UI requests, network messages): written, for the lints. */
|
|
48
|
+
readonly hostEvents?: ReadonlyArray<Schema.EventDescriptor<S>>;
|
|
49
|
+
}
|
|
50
|
+
export interface Report {
|
|
51
|
+
readonly lints: ReadonlyArray<Debug.Lint>;
|
|
52
|
+
readonly warnings: number;
|
|
53
|
+
readonly infos: number;
|
|
54
|
+
/** `true` when there is no warning-level lint. */
|
|
55
|
+
readonly ok: boolean;
|
|
56
|
+
}
|
|
57
|
+
/** Lints the target's schedules. */
|
|
58
|
+
export declare const run: <S extends Schema.Any, Root>(target: Target<S, Root>) => Rendered.Rendered<Report>;
|
|
59
|
+
export {};
|
|
60
|
+
//# sourceMappingURL=Lint.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Lint.d.ts","sourceRoot":"","sources":["../src/Lint.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,OAAO,KAAK,KAAK,KAAK,MAAM,uBAAuB,CAAA;AACnD,OAAO,KAAK,EAAE,gBAAgB,EAAE,4BAA4B,EAAE,MAAM,0BAA0B,CAAA;AAC9F,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAA;AAEpD,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAA;AAEzC,KAAK,WAAW,CAAC,CAAC,SAAS,MAAM,CAAC,GAAG,EAAE,IAAI,IAAI,4BAA4B,CAAC,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,gBAAgB,CAAC,CAAA;AAErH,iCAAiC;AACjC,MAAM,WAAW,MAAM,CAAC,CAAC,SAAS,MAAM,CAAC,GAAG,EAAE,IAAI;IAChD,kDAAkD;IAClD,QAAQ,CAAC,OAAO,EAAE;QAAE,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,CAAA;KAAE,CAAA;IAC3D,6CAA6C;IAC7C,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAA;IAClE,oFAAoF;IACpF,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAA;IAClE,6GAA6G;IAC7G,QAAQ,CAAC,UAAU,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAA;CAC/D;AAED,MAAM,WAAW,MAAM;IACrB,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IACzC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,kDAAkD;IAClD,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAA;CACrB;AAED,oCAAoC;AACpC,eAAO,MAAM,GAAG,GAAI,CAAC,SAAS,MAAM,CAAC,GAAG,EAAE,IAAI,UAAU,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,KAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAWjG,CAAA"}
|
package/dist/Lint.js
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import * as Rendered from "./Rendered.js";
|
|
2
|
+
/** Lints the target's schedules. */
|
|
3
|
+
export const run = (target) => {
|
|
4
|
+
target.runtime.debug.nameSchedules({ ...target.describe, ...target.schedules });
|
|
5
|
+
target.runtime.debug.declareHostEvents(target.hostEvents ?? []);
|
|
6
|
+
const lints = target.runtime.debug.describe().lints;
|
|
7
|
+
const warnings = lints.filter((lint) => lint.severity === "warning").length;
|
|
8
|
+
const report = { lints, warnings, infos: lints.length - warnings, ok: warnings === 0 };
|
|
9
|
+
const lines = [
|
|
10
|
+
...lints.flatMap((lint) => [`${lint.severity} ${lint.code} ${lint.subject}: ${lint.message}`, ` fix: ${lint.fix}`]),
|
|
11
|
+
`${warnings} ${warnings === 1 ? "warning" : "warnings"}, ${report.infos} info${warnings > 0 ? " (warnings fail)" : ""}`
|
|
12
|
+
];
|
|
13
|
+
return Rendered.make(report, lines.join("\n"));
|
|
14
|
+
};
|
|
15
|
+
//# sourceMappingURL=Lint.js.map
|
package/dist/Lint.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Lint.js","sourceRoot":"","sources":["../src/Lint.ts"],"names":[],"mappings":"AAmCA,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAA;AAwBzC,oCAAoC;AACpC,MAAM,CAAC,MAAM,GAAG,GAAG,CAA6B,MAAuB,EAA6B,EAAE;IACpG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,EAAE,GAAG,MAAM,CAAC,QAAQ,EAAE,GAAG,MAAM,CAAC,SAAS,EAAE,CAAC,CAAA;IAC/E,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,iBAAiB,CAAC,MAAM,CAAC,UAAU,IAAI,EAAE,CAAC,CAAA;IAC/D,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAA;IACnD,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,MAAM,CAAA;IAC3E,MAAM,MAAM,GAAW,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,CAAC,MAAM,GAAG,QAAQ,EAAE,EAAE,EAAE,QAAQ,KAAK,CAAC,EAAE,CAAA;IAC9F,MAAM,KAAK,GAAG;QACZ,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,CAAC,OAAO,EAAE,EAAE,UAAU,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;QACpH,GAAG,QAAQ,IAAI,QAAQ,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,KAAK,MAAM,CAAC,KAAK,QAAQ,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAAE,EAAE;KACxH,CAAA;IACD,OAAO,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;AAChD,CAAC,CAAA"}
|
package/dist/Monitor.d.ts
CHANGED
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
*
|
|
15
15
|
* The monitor observes the runtime only while it is open, so a closed monitor
|
|
16
16
|
* costs nothing. While open it reduces trace events to counts and shows its
|
|
17
|
-
* own cost per tick. It needs a runtime made with `debug:
|
|
17
|
+
* own cost per tick. It needs a runtime made with `debug: { hostClock }`, and the page passed as `host`.
|
|
18
18
|
*
|
|
19
19
|
* @module Monitor
|
|
20
20
|
* @docGroup devtools
|
|
@@ -22,6 +22,7 @@
|
|
|
22
22
|
* @example
|
|
23
23
|
* ```ts
|
|
24
24
|
* const monitor = Monitor.attach(runtime, {
|
|
25
|
+
* host: window,
|
|
25
26
|
* schedules: { fixedUpdate: step, frame },
|
|
26
27
|
* pick: (event) => entityUnderPointer(event),
|
|
27
28
|
* locate: (entity) => screenPositionOf(entity)
|
|
@@ -30,7 +31,7 @@
|
|
|
30
31
|
* ```
|
|
31
32
|
*/
|
|
32
33
|
import type * as Debug from "@typeonce/ritmo/Debug";
|
|
33
|
-
import type { ExecutableScheduleDefinition } from "@typeonce/ritmo/Schedule";
|
|
34
|
+
import type { AnyScheduleOrder, ExecutableScheduleDefinition } from "@typeonce/ritmo/Schedule";
|
|
34
35
|
import type { Schema } from "@typeonce/ritmo/Schema";
|
|
35
36
|
import { Collector, recentSchedule, recentSystem } from "./internal/monitor.ts";
|
|
36
37
|
/**
|
|
@@ -51,8 +52,14 @@ export interface Options<S extends Schema.Any, Root> {
|
|
|
51
52
|
* panel and make up the system map. Name the schedule objects actually
|
|
52
53
|
* passed to `tick`: nested schedules are flattened into them.
|
|
53
54
|
*/
|
|
54
|
-
readonly schedules: Readonly<Record<string, ExecutableScheduleDefinition<S, any, Root, any, any>>>;
|
|
55
|
-
/**
|
|
55
|
+
readonly schedules: Readonly<Record<string, ExecutableScheduleDefinition<S, any, Root, any, any, AnyScheduleOrder>>>;
|
|
56
|
+
/**
|
|
57
|
+
* The page the panel lives in, passed explicitly (`window`): its
|
|
58
|
+
* `document`, timers, animation frames, keyboard events, and
|
|
59
|
+
* `performance` clock. The monitor reads no globals.
|
|
60
|
+
*/
|
|
61
|
+
readonly host: Window;
|
|
62
|
+
/** Where the panel is added. Defaults to `host.document.body`. */
|
|
56
63
|
readonly mount?: HTMLElement;
|
|
57
64
|
/** `KeyboardEvent.code` that toggles the panel. Defaults to `Backslash`. */
|
|
58
65
|
readonly key?: string;
|
|
@@ -67,6 +74,13 @@ export interface Options<S extends Schema.Any, Root> {
|
|
|
67
74
|
} | undefined;
|
|
68
75
|
/** Milliseconds between panel refreshes. Defaults to 250. */
|
|
69
76
|
readonly refreshMs?: number;
|
|
77
|
+
/**
|
|
78
|
+
* A replay recorder (`Replay.recorder`): adds a "Save replay" button that
|
|
79
|
+
* saves the last seconds of play with the reason "Save replay button".
|
|
80
|
+
*/
|
|
81
|
+
readonly replay?: {
|
|
82
|
+
readonly save: (reason: string) => unknown;
|
|
83
|
+
};
|
|
70
84
|
}
|
|
71
85
|
export interface Monitor {
|
|
72
86
|
readonly open: () => void;
|
package/dist/Monitor.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Monitor.d.ts","sourceRoot":"","sources":["../src/Monitor.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"Monitor.d.ts","sourceRoot":"","sources":["../src/Monitor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,OAAO,KAAK,KAAK,KAAK,MAAM,uBAAuB,CAAA;AACnD,OAAO,KAAK,EAAE,gBAAgB,EAAE,4BAA4B,EAAE,MAAM,0BAA0B,CAAA;AAC9F,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAA;AAGpD,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAA;AAG/E;;;;;GAKG;AACH,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,YAAY,EAAE,CAAA;AAClD,YAAY,EAAE,KAAK,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,EAAE,cAAc,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAA;AAEjI,+DAA+D;AAC/D,MAAM,WAAW,MAAM,CAAC,CAAC,SAAS,MAAM,CAAC,GAAG,EAAE,IAAI;IAChD,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,CAAA;CACtC;AAED,MAAM,WAAW,OAAO,CAAC,CAAC,SAAS,MAAM,CAAC,GAAG,EAAE,IAAI;IACjD;;;;OAIG;IACH,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,4BAA4B,CAAC,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAA;IACpH;;;;OAIG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,kEAAkE;IAClE,QAAQ,CAAC,KAAK,CAAC,EAAE,WAAW,CAAA;IAC5B,4EAA4E;IAC5E,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAA;IACrB,kCAAkC;IAClC,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAA;IACvB,8DAA8D;IAC9D,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,MAAM,GAAG,SAAS,CAAA;IAC3D,qFAAqF;IACrF,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK;QAAE,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,SAAS,CAAA;IAC5F,6DAA6D;IAC7D,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;IAC3B;;;OAGG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE;QAAE,QAAQ,CAAC,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAA;KAAE,CAAA;CACjE;AAED,MAAM,WAAW,OAAO;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,IAAI,CAAA;IACzB,QAAQ,CAAC,KAAK,EAAE,MAAM,IAAI,CAAA;IAC1B,QAAQ,CAAC,MAAM,EAAE,MAAM,IAAI,CAAA;IAC3B,mEAAmE;IACnE,QAAQ,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,KAAK,IAAI,CAAA;IACrD,6CAA6C;IAC7C,QAAQ,CAAC,MAAM,EAAE,MAAM,IAAI,CAAA;CAC5B;AA4JD;;;GAGG;AACH,eAAO,MAAM,MAAM,GAAI,CAAC,SAAS,MAAM,CAAC,GAAG,EAAE,IAAI,WAAW,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,WAAW,OAAO,CAAC,CAAC,EAAE,IAAI,CAAC,KAAG,OAwcxG,CAAA"}
|
package/dist/Monitor.js
CHANGED
|
@@ -54,7 +54,7 @@ const accessOf = (system) => {
|
|
|
54
54
|
const unique = (values) => [...new Set(values)];
|
|
55
55
|
const writes = unique(system.queries.flatMap((query) => query.writes));
|
|
56
56
|
return {
|
|
57
|
-
reads: unique(system.queries.flatMap((query) => [...query.reads, ...query.optional, ...query.added, ...query.changed])).filter((name) => !writes.includes(name)),
|
|
57
|
+
reads: unique(system.queries.flatMap((query) => [...query.reads, ...query.optional, ...query.added, ...query.changed, ...query.anyOf.flatMap((members) => [...members.added, ...members.changed])])).filter((name) => !writes.includes(name)),
|
|
58
58
|
writes,
|
|
59
59
|
resourceReads: system.resources.reads.filter((name) => !system.resources.writes.includes(name)),
|
|
60
60
|
resourceWrites: system.resources.writes,
|
|
@@ -141,16 +141,17 @@ const STYLE = `
|
|
|
141
141
|
export const attach = (runtime, options) => {
|
|
142
142
|
const debug = runtime.debug;
|
|
143
143
|
debug.nameSchedules(options.schedules);
|
|
144
|
-
const
|
|
144
|
+
const host = options.host;
|
|
145
|
+
const mount = options.mount ?? host.document.body;
|
|
145
146
|
const key = options.key ?? "Backslash";
|
|
146
147
|
const refreshMs = options.refreshMs ?? 250;
|
|
147
|
-
if (document.getElementById("btm-style") === null) {
|
|
148
|
-
const style = document.createElement("style");
|
|
148
|
+
if (host.document.getElementById("btm-style") === null) {
|
|
149
|
+
const style = host.document.createElement("style");
|
|
149
150
|
style.id = "btm-style";
|
|
150
151
|
style.textContent = STYLE;
|
|
151
|
-
document.head.append(style);
|
|
152
|
+
host.document.head.append(style);
|
|
152
153
|
}
|
|
153
|
-
const root = document.createElement("div");
|
|
154
|
+
const root = host.document.createElement("div");
|
|
154
155
|
root.className = "btm";
|
|
155
156
|
root.innerHTML = `
|
|
156
157
|
<button class="btm-toggle" type="button" title="Toggle the Ritmo monitor">◉ monitor</button>
|
|
@@ -160,6 +161,7 @@ export const attach = (runtime, options) => {
|
|
|
160
161
|
<button class="btm-tab" data-tab="overview" type="button">Overview</button>
|
|
161
162
|
<button class="btm-tab" data-tab="systems" type="button">Systems</button>
|
|
162
163
|
<button class="btm-tab" data-tab="entity" type="button">Entity</button>
|
|
164
|
+
${options.replay === undefined ? "" : `<button class="btm-save-replay" type="button" title="Save the last seconds of play as a replay">Save replay</button>`}
|
|
163
165
|
<button class="btm-close" type="button" title="Close">×</button>
|
|
164
166
|
</div>
|
|
165
167
|
<div class="btm-status"></div>
|
|
@@ -409,20 +411,20 @@ export const attach = (runtime, options) => {
|
|
|
409
411
|
const render = () => {
|
|
410
412
|
if (collector === undefined)
|
|
411
413
|
return;
|
|
412
|
-
const started = performance.now();
|
|
414
|
+
const started = host.performance.now();
|
|
413
415
|
const history = collector.history;
|
|
414
416
|
const latest = history.slice(-RECENT);
|
|
415
417
|
const overhead = latest.reduce((total, sample) => total + sample.overheadMs, 0);
|
|
416
418
|
const ticks = latest.reduce((total, sample) => total + [...sample.schedules.values()].reduce((sum, window) => sum + window.ticks, 0), 0);
|
|
417
|
-
status.textContent = `observing for ${Math.round((performance.now() - openedAt) / 1000)}s · frame ${debug.frame()} · panel ${ticks === 0 ? "–" : number(overhead / ticks, 3)} ms/tick + ${number(renderMs, 1)} ms/refresh`;
|
|
419
|
+
status.textContent = `observing for ${Math.round((host.performance.now() - openedAt) / 1000)}s · frame ${debug.frame()} · panel ${ticks === 0 ? "–" : number(overhead / ticks, 3)} ms/tick + ${number(renderMs, 1)} ms/refresh`;
|
|
418
420
|
status.title = "The panel's own work. Tracing (on only while the panel is open) also slows every system run a little, and the times shown include it: compare them with each other, not with a closed-monitor run.";
|
|
419
421
|
body.innerHTML = tab === "overview" ? renderOverview(history) : tab === "systems" ? renderSystems(history) : renderEntity();
|
|
420
|
-
renderMs = performance.now() - started;
|
|
422
|
+
renderMs = host.performance.now() - started;
|
|
421
423
|
};
|
|
422
424
|
const refresh = () => {
|
|
423
425
|
if (collector === undefined)
|
|
424
426
|
return;
|
|
425
|
-
collector.sample(performance.now());
|
|
427
|
+
collector.sample(host.performance.now());
|
|
426
428
|
render();
|
|
427
429
|
};
|
|
428
430
|
const placeRing = () => {
|
|
@@ -433,7 +435,7 @@ export const attach = (runtime, options) => {
|
|
|
433
435
|
ring.style.top = `${at.y}px`;
|
|
434
436
|
}
|
|
435
437
|
if (!panel.hidden)
|
|
436
|
-
requestAnimationFrame(placeRing);
|
|
438
|
+
host.requestAnimationFrame(placeRing);
|
|
437
439
|
};
|
|
438
440
|
const setTab = (next) => {
|
|
439
441
|
tab = next;
|
|
@@ -449,14 +451,14 @@ export const attach = (runtime, options) => {
|
|
|
449
451
|
readers = new Map(description.access.components.map((entry) => [entry.name, entry.readers.length]));
|
|
450
452
|
prefix = commonPrefix([...description.systems.map((system) => system.name), ...description.components.map((component) => component.name)]);
|
|
451
453
|
browse.replaceChildren(new Option("browse by component…", ""), ...description.components.map((component) => new Option(short(component.name), component.name)));
|
|
452
|
-
collector = new Collector(() => debug.population(), performance.now());
|
|
454
|
+
collector = new Collector(() => debug.population(), () => host.performance.now());
|
|
453
455
|
collector.select(selected);
|
|
454
456
|
stopObserving = debug.observe(collector.observe);
|
|
455
|
-
openedAt = performance.now();
|
|
457
|
+
openedAt = host.performance.now();
|
|
456
458
|
panel.hidden = false;
|
|
457
|
-
timer = setInterval(refresh, refreshMs);
|
|
459
|
+
timer = host.setInterval(refresh, refreshMs);
|
|
458
460
|
setTab(tab);
|
|
459
|
-
requestAnimationFrame(placeRing);
|
|
461
|
+
host.requestAnimationFrame(placeRing);
|
|
460
462
|
};
|
|
461
463
|
const close = () => {
|
|
462
464
|
if (panel.hidden)
|
|
@@ -466,7 +468,7 @@ export const attach = (runtime, options) => {
|
|
|
466
468
|
stopObserving?.();
|
|
467
469
|
stopObserving = undefined;
|
|
468
470
|
if (timer !== undefined)
|
|
469
|
-
clearInterval(timer);
|
|
471
|
+
host.clearInterval(timer);
|
|
470
472
|
timer = undefined;
|
|
471
473
|
collector = undefined;
|
|
472
474
|
setPicking(false);
|
|
@@ -498,11 +500,11 @@ export const attach = (runtime, options) => {
|
|
|
498
500
|
picking = on;
|
|
499
501
|
pickButton.classList.toggle("is-on", on);
|
|
500
502
|
pickButton.textContent = on ? "Click an entity… (Esc)" : "Pick on screen";
|
|
501
|
-
document.documentElement.classList.toggle("btm-picking", on);
|
|
503
|
+
host.document.documentElement.classList.toggle("btm-picking", on);
|
|
502
504
|
if (on)
|
|
503
|
-
|
|
505
|
+
host.addEventListener("pointerdown", onPick, { capture: true });
|
|
504
506
|
else
|
|
505
|
-
|
|
507
|
+
host.removeEventListener("pointerdown", onPick, { capture: true });
|
|
506
508
|
}
|
|
507
509
|
// ── Events ─────────────────────────────────────────────────────────────
|
|
508
510
|
const onKey = (event) => {
|
|
@@ -519,9 +521,18 @@ export const attach = (runtime, options) => {
|
|
|
519
521
|
setPicking(false);
|
|
520
522
|
}
|
|
521
523
|
};
|
|
522
|
-
|
|
524
|
+
host.addEventListener("keydown", onKey);
|
|
523
525
|
toggleButton.addEventListener("click", () => (panel.hidden ? open() : close()));
|
|
524
526
|
query(".btm-close").addEventListener("click", close);
|
|
527
|
+
const replay = options.replay;
|
|
528
|
+
if (replay !== undefined) {
|
|
529
|
+
const button = query(".btm-save-replay");
|
|
530
|
+
button.addEventListener("click", () => {
|
|
531
|
+
replay.save("Save replay button");
|
|
532
|
+
button.textContent = "Saved";
|
|
533
|
+
host.setTimeout(() => { button.textContent = "Save replay"; }, 1500);
|
|
534
|
+
});
|
|
535
|
+
}
|
|
525
536
|
for (const button of root.querySelectorAll(".btm-tab")) {
|
|
526
537
|
button.addEventListener("click", () => setTab(button.dataset["tab"]));
|
|
527
538
|
}
|
|
@@ -583,7 +594,7 @@ export const attach = (runtime, options) => {
|
|
|
583
594
|
select,
|
|
584
595
|
detach: () => {
|
|
585
596
|
close();
|
|
586
|
-
|
|
597
|
+
host.removeEventListener("keydown", onKey);
|
|
587
598
|
root.remove();
|
|
588
599
|
}
|
|
589
600
|
};
|