@flyingrobots/bijou-tui 5.0.0 → 7.0.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 +152 -1
- package/dist/animate.d.ts +4 -0
- package/dist/animate.d.ts.map +1 -1
- package/dist/animate.js +47 -20
- package/dist/animate.js.map +1 -1
- package/dist/app-frame-actions.d.ts.map +1 -1
- package/dist/app-frame-actions.js +53 -0
- package/dist/app-frame-actions.js.map +1 -1
- package/dist/app-frame-i18n.d.ts.map +1 -1
- package/dist/app-frame-i18n.js +2 -0
- package/dist/app-frame-i18n.js.map +1 -1
- package/dist/app-frame-palette.d.ts.map +1 -1
- package/dist/app-frame-palette.js +36 -16
- package/dist/app-frame-palette.js.map +1 -1
- package/dist/app-frame-render.d.ts.map +1 -1
- package/dist/app-frame-render.js +14 -5
- package/dist/app-frame-render.js.map +1 -1
- package/dist/app-frame-types.d.ts +22 -0
- package/dist/app-frame-types.d.ts.map +1 -1
- package/dist/app-frame-types.js.map +1 -1
- package/dist/app-frame-utils.d.ts +3 -1
- package/dist/app-frame-utils.d.ts.map +1 -1
- package/dist/app-frame-utils.js +5 -0
- package/dist/app-frame-utils.js.map +1 -1
- package/dist/app-frame.d.ts +5 -3
- package/dist/app-frame.d.ts.map +1 -1
- package/dist/app-frame.js +101 -7
- package/dist/app-frame.js.map +1 -1
- package/dist/canvas.d.ts +11 -3
- package/dist/canvas.d.ts.map +1 -1
- package/dist/canvas.js +122 -9
- package/dist/canvas.js.map +1 -1
- package/dist/cell-glyph-fit.d.ts +20 -0
- package/dist/cell-glyph-fit.d.ts.map +1 -0
- package/dist/cell-glyph-fit.js +82 -0
- package/dist/cell-glyph-fit.js.map +1 -0
- package/dist/command-palette.d.ts +2 -0
- package/dist/command-palette.d.ts.map +1 -1
- package/dist/command-palette.js +36 -19
- package/dist/command-palette.js.map +1 -1
- package/dist/eventbus.d.ts +20 -0
- package/dist/eventbus.d.ts.map +1 -1
- package/dist/eventbus.js +47 -0
- package/dist/eventbus.js.map +1 -1
- package/dist/focus-area.d.ts +6 -5
- package/dist/focus-area.d.ts.map +1 -1
- package/dist/focus-area.js +6 -5
- package/dist/focus-area.js.map +1 -1
- package/dist/focus-map.d.ts +40 -0
- package/dist/focus-map.d.ts.map +1 -0
- package/dist/focus-map.js +133 -0
- package/dist/focus-map.js.map +1 -0
- package/dist/index.d.ts +20 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +11 -1
- package/dist/index.js.map +1 -1
- package/dist/input-map.d.ts +68 -0
- package/dist/input-map.d.ts.map +1 -0
- package/dist/input-map.js +162 -0
- package/dist/input-map.js.map +1 -0
- package/dist/input-routing-inspector.d.ts +24 -0
- package/dist/input-routing-inspector.d.ts.map +1 -0
- package/dist/input-routing-inspector.js +76 -0
- package/dist/input-routing-inspector.js.map +1 -0
- package/dist/keybindings.d.ts.map +1 -1
- package/dist/keybindings.js +3 -0
- package/dist/keybindings.js.map +1 -1
- package/dist/layout-inspector.d.ts +31 -0
- package/dist/layout-inspector.d.ts.map +1 -0
- package/dist/layout-inspector.js +133 -0
- package/dist/layout-inspector.js.map +1 -0
- package/dist/notification.d.ts.map +1 -1
- package/dist/notification.js +38 -5
- package/dist/notification.js.map +1 -1
- package/dist/pipeline/middleware/motion.d.ts.map +1 -1
- package/dist/pipeline/middleware/motion.js +2 -1
- package/dist/pipeline/middleware/motion.js.map +1 -1
- package/dist/pipeline/middleware/paint.d.ts.map +1 -1
- package/dist/pipeline/middleware/paint.js +2 -1
- package/dist/pipeline/middleware/paint.js.map +1 -1
- package/dist/pipeline/pipeline.d.ts +8 -1
- package/dist/pipeline/pipeline.d.ts.map +1 -1
- package/dist/pipeline/pipeline.js +43 -7
- package/dist/pipeline/pipeline.js.map +1 -1
- package/dist/raytrace.d.ts +59 -0
- package/dist/raytrace.d.ts.map +1 -0
- package/dist/raytrace.js +121 -0
- package/dist/raytrace.js.map +1 -0
- package/dist/runtime-binding.d.ts +59 -0
- package/dist/runtime-binding.d.ts.map +1 -0
- package/dist/runtime-binding.js +271 -0
- package/dist/runtime-binding.js.map +1 -0
- package/dist/runtime.d.ts.map +1 -1
- package/dist/runtime.js +41 -3
- package/dist/runtime.js.map +1 -1
- package/dist/surface-budget.d.ts +27 -0
- package/dist/surface-budget.d.ts.map +1 -0
- package/dist/surface-budget.js +61 -0
- package/dist/surface-budget.js.map +1 -0
- package/dist/surface-diff.d.ts +36 -0
- package/dist/surface-diff.d.ts.map +1 -0
- package/dist/surface-diff.js +202 -0
- package/dist/surface-diff.js.map +1 -0
- package/dist/surface-layout.d.ts +11 -0
- package/dist/surface-layout.d.ts.map +1 -1
- package/dist/surface-layout.js +16 -1
- package/dist/surface-layout.js.map +1 -1
- package/dist/types.d.ts +8 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/package.json +4 -4
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { type ActiveBindingCollection, type ActiveBindingProviderAssignment, type BindingLifecycleOwner, type CommandIntent, type DeepReadonly, type ViewDataContract } from '@flyingrobots/bijou';
|
|
2
|
+
import { type RuntimeCommandBuffer } from './runtime-engine.js';
|
|
3
|
+
import type { RuntimeStackLayer, RuntimeViewStack } from './runtime-engine.js';
|
|
4
|
+
declare const RUNTIME_VIEW_BINDING_SOURCE_BRAND: unique symbol;
|
|
5
|
+
declare const RUNTIME_COMMAND_INTENT_EMISSION_BRAND: unique symbol;
|
|
6
|
+
declare const RUNTIME_COMMAND_INTENT_ROUTE_BRAND: unique symbol;
|
|
7
|
+
export interface RuntimeViewBindingSourceInput {
|
|
8
|
+
readonly owner: BindingLifecycleOwner;
|
|
9
|
+
readonly contract: ViewDataContract;
|
|
10
|
+
readonly providerIds?: readonly ActiveBindingProviderAssignment[];
|
|
11
|
+
}
|
|
12
|
+
export interface RuntimeViewBindingSource {
|
|
13
|
+
readonly [RUNTIME_VIEW_BINDING_SOURCE_BRAND]: true;
|
|
14
|
+
readonly owner: BindingLifecycleOwner;
|
|
15
|
+
readonly contract: ViewDataContract;
|
|
16
|
+
readonly providerIds?: readonly ActiveBindingProviderAssignment[];
|
|
17
|
+
}
|
|
18
|
+
export interface RuntimeBindingLayerModel {
|
|
19
|
+
readonly bindingSources?: readonly RuntimeViewBindingSource[];
|
|
20
|
+
}
|
|
21
|
+
export interface RuntimeCommandIntentEmissionOptions {
|
|
22
|
+
readonly owner?: BindingLifecycleOwner;
|
|
23
|
+
}
|
|
24
|
+
export interface RuntimeCommandIntentEmission<Payload = undefined> {
|
|
25
|
+
readonly [RUNTIME_COMMAND_INTENT_EMISSION_BRAND]: true;
|
|
26
|
+
readonly intent: CommandIntent<Payload>;
|
|
27
|
+
readonly payload: DeepReadonly<Payload>;
|
|
28
|
+
readonly owner?: BindingLifecycleOwner;
|
|
29
|
+
}
|
|
30
|
+
export interface RuntimeCommandIntentRouteInput<Payload, Command> {
|
|
31
|
+
readonly intent: CommandIntent<Payload>;
|
|
32
|
+
readonly toCommand: (emission: RuntimeCommandIntentEmission<Payload>) => Command;
|
|
33
|
+
}
|
|
34
|
+
export interface RuntimeCommandIntentRoute<Payload = unknown, Command = unknown> {
|
|
35
|
+
readonly [RUNTIME_COMMAND_INTENT_ROUTE_BRAND]: true;
|
|
36
|
+
readonly intent: CommandIntent<Payload>;
|
|
37
|
+
readonly toCommand: (emission: RuntimeCommandIntentEmission<Payload>) => Command;
|
|
38
|
+
}
|
|
39
|
+
export interface DispatchRuntimeCommandIntentInput<Payload, Command> {
|
|
40
|
+
readonly emission: RuntimeCommandIntentEmission<Payload>;
|
|
41
|
+
readonly routes: readonly RuntimeCommandIntentRoute<Payload, Command>[];
|
|
42
|
+
readonly buffer: RuntimeCommandBuffer<Command>;
|
|
43
|
+
}
|
|
44
|
+
export interface DispatchRuntimeCommandIntentResult<Command> {
|
|
45
|
+
readonly command: Command;
|
|
46
|
+
readonly buffer: RuntimeCommandBuffer<Command>;
|
|
47
|
+
}
|
|
48
|
+
export declare function runtimeViewBindingSource(input: RuntimeViewBindingSourceInput): RuntimeViewBindingSource;
|
|
49
|
+
export declare function runtimeCommandIntentEmission(intent: CommandIntent): RuntimeCommandIntentEmission<undefined>;
|
|
50
|
+
export declare function runtimeCommandIntentEmission<Payload>(intent: CommandIntent<Payload>, payload: Payload, options?: RuntimeCommandIntentEmissionOptions): RuntimeCommandIntentEmission<Payload>;
|
|
51
|
+
export declare function isRuntimeCommandIntentEmission(value: unknown): value is RuntimeCommandIntentEmission;
|
|
52
|
+
export declare function runtimeCommandIntentRoute<Payload, Command>(input: RuntimeCommandIntentRouteInput<Payload, Command>): RuntimeCommandIntentRoute<Payload, Command>;
|
|
53
|
+
export declare function isRuntimeCommandIntentRoute(value: unknown): value is RuntimeCommandIntentRoute;
|
|
54
|
+
export declare function dispatchRuntimeCommandIntent<Payload, Command>(input: DispatchRuntimeCommandIntentInput<Payload, Command>): DispatchRuntimeCommandIntentResult<Command>;
|
|
55
|
+
export declare function isRuntimeViewBindingSource(value: unknown): value is RuntimeViewBindingSource;
|
|
56
|
+
export declare function runtimeActiveBindingLayers<Model extends RuntimeBindingLayerModel>(stack: RuntimeViewStack<Model>): readonly RuntimeStackLayer<Model>[];
|
|
57
|
+
export declare function collectRuntimeViewBindings<Model extends RuntimeBindingLayerModel>(stack: RuntimeViewStack<Model>): ActiveBindingCollection;
|
|
58
|
+
export {};
|
|
59
|
+
//# sourceMappingURL=runtime-binding.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runtime-binding.d.ts","sourceRoot":"","sources":["../src/runtime-binding.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,271 @@
|
|
|
1
|
+
import { collectActiveBindings, isBindingLifecycleOwner, isCommandIntent, isViewDataContract, } from '@flyingrobots/bijou';
|
|
2
|
+
import { appendRuntimeCommands, } from './runtime-engine.js';
|
|
3
|
+
const RUNTIME_VIEW_BINDING_SOURCE_BRAND = Symbol('RuntimeViewBindingSource');
|
|
4
|
+
const RUNTIME_COMMAND_INTENT_EMISSION_BRAND = Symbol('RuntimeCommandIntentEmission');
|
|
5
|
+
const RUNTIME_COMMAND_INTENT_ROUTE_BRAND = Symbol('RuntimeCommandIntentRoute');
|
|
6
|
+
export function runtimeViewBindingSource(input) {
|
|
7
|
+
assertObjectRecord(input, 'runtime binding source');
|
|
8
|
+
if (!isBindingLifecycleOwner(input.owner)) {
|
|
9
|
+
throw new Error('runtime binding source: owner was not created by defineBindingLifecycleOwner()');
|
|
10
|
+
}
|
|
11
|
+
if (!isViewDataContract(input.contract)) {
|
|
12
|
+
throw new Error('runtime binding source: contract was not created by defineViewData()');
|
|
13
|
+
}
|
|
14
|
+
const source = {
|
|
15
|
+
owner: input.owner,
|
|
16
|
+
contract: input.contract,
|
|
17
|
+
providerIds: freezeProviderAssignments(input.providerIds),
|
|
18
|
+
};
|
|
19
|
+
Object.defineProperty(source, RUNTIME_VIEW_BINDING_SOURCE_BRAND, { value: true });
|
|
20
|
+
return Object.freeze(source);
|
|
21
|
+
}
|
|
22
|
+
export function runtimeCommandIntentEmission(intent, payload, options = {}) {
|
|
23
|
+
assertObjectRecord(options, 'runtime command intent emission', 'options');
|
|
24
|
+
if (!isCommandIntent(intent)) {
|
|
25
|
+
throw new Error('runtime command intent emission: intent was not created by commandIntent()');
|
|
26
|
+
}
|
|
27
|
+
if (options.owner !== undefined && !isBindingLifecycleOwner(options.owner)) {
|
|
28
|
+
throw new Error('runtime command intent emission: owner was not created by defineBindingLifecycleOwner()');
|
|
29
|
+
}
|
|
30
|
+
const emission = {
|
|
31
|
+
intent,
|
|
32
|
+
payload: freezeRuntimePayload(payload),
|
|
33
|
+
owner: options.owner,
|
|
34
|
+
};
|
|
35
|
+
Object.defineProperty(emission, RUNTIME_COMMAND_INTENT_EMISSION_BRAND, { value: true });
|
|
36
|
+
return Object.freeze(emission);
|
|
37
|
+
}
|
|
38
|
+
export function isRuntimeCommandIntentEmission(value) {
|
|
39
|
+
return Boolean(value
|
|
40
|
+
&& typeof value === 'object'
|
|
41
|
+
&& Object.prototype.hasOwnProperty.call(value, RUNTIME_COMMAND_INTENT_EMISSION_BRAND)
|
|
42
|
+
&& value[RUNTIME_COMMAND_INTENT_EMISSION_BRAND] === true);
|
|
43
|
+
}
|
|
44
|
+
export function runtimeCommandIntentRoute(input) {
|
|
45
|
+
assertObjectRecord(input, 'runtime command intent route');
|
|
46
|
+
if (!isCommandIntent(input.intent)) {
|
|
47
|
+
throw new Error('runtime command intent route: intent was not created by commandIntent()');
|
|
48
|
+
}
|
|
49
|
+
if (typeof input.toCommand !== 'function') {
|
|
50
|
+
throw new Error('runtime command intent route: toCommand must be a function');
|
|
51
|
+
}
|
|
52
|
+
const route = {
|
|
53
|
+
intent: input.intent,
|
|
54
|
+
toCommand: input.toCommand,
|
|
55
|
+
};
|
|
56
|
+
Object.defineProperty(route, RUNTIME_COMMAND_INTENT_ROUTE_BRAND, { value: true });
|
|
57
|
+
return Object.freeze(route);
|
|
58
|
+
}
|
|
59
|
+
export function isRuntimeCommandIntentRoute(value) {
|
|
60
|
+
return Boolean(value
|
|
61
|
+
&& typeof value === 'object'
|
|
62
|
+
&& Object.prototype.hasOwnProperty.call(value, RUNTIME_COMMAND_INTENT_ROUTE_BRAND)
|
|
63
|
+
&& value[RUNTIME_COMMAND_INTENT_ROUTE_BRAND] === true);
|
|
64
|
+
}
|
|
65
|
+
export function dispatchRuntimeCommandIntent(input) {
|
|
66
|
+
assertObjectRecord(input, 'runtime command intent dispatch');
|
|
67
|
+
if (!isRuntimeCommandIntentEmission(input.emission)) {
|
|
68
|
+
throw new Error('runtime command intent dispatch: emission was not created by runtimeCommandIntentEmission()');
|
|
69
|
+
}
|
|
70
|
+
if (!Array.isArray(input.routes)) {
|
|
71
|
+
throw new Error('runtime command intent dispatch: routes must be an array');
|
|
72
|
+
}
|
|
73
|
+
if (!isRuntimeCommandBuffer(input.buffer)) {
|
|
74
|
+
throw new Error('runtime command intent dispatch: buffer must be a RuntimeCommandBuffer');
|
|
75
|
+
}
|
|
76
|
+
const route = input.routes.find((candidate, index) => {
|
|
77
|
+
if (!isRuntimeCommandIntentRoute(candidate)) {
|
|
78
|
+
throw new Error(`runtime command intent dispatch: route at index ${index} was not created by runtimeCommandIntentRoute()`);
|
|
79
|
+
}
|
|
80
|
+
return candidate.intent.id === input.emission.intent.id;
|
|
81
|
+
});
|
|
82
|
+
if (route === undefined) {
|
|
83
|
+
throw new Error(`runtime command intent dispatch: no route for intent ${input.emission.intent.id}`);
|
|
84
|
+
}
|
|
85
|
+
const command = route.toCommand(input.emission);
|
|
86
|
+
return Object.freeze({
|
|
87
|
+
command,
|
|
88
|
+
buffer: appendRuntimeCommands(input.buffer, [command]),
|
|
89
|
+
});
|
|
90
|
+
}
|
|
91
|
+
export function isRuntimeViewBindingSource(value) {
|
|
92
|
+
return Boolean(value
|
|
93
|
+
&& typeof value === 'object'
|
|
94
|
+
&& Object.prototype.hasOwnProperty.call(value, RUNTIME_VIEW_BINDING_SOURCE_BRAND)
|
|
95
|
+
&& value[RUNTIME_VIEW_BINDING_SOURCE_BRAND] === true);
|
|
96
|
+
}
|
|
97
|
+
export function runtimeActiveBindingLayers(stack) {
|
|
98
|
+
if (!isRuntimeViewStack(stack)) {
|
|
99
|
+
throw new Error('runtime binding collection: stack must be a RuntimeViewStack');
|
|
100
|
+
}
|
|
101
|
+
const activeLayers = [];
|
|
102
|
+
for (let index = stack.layers.length - 1; index >= 0; index -= 1) {
|
|
103
|
+
const layer = stack.layers[index];
|
|
104
|
+
if (layer === undefined) {
|
|
105
|
+
continue;
|
|
106
|
+
}
|
|
107
|
+
activeLayers.unshift(layer);
|
|
108
|
+
if (layer.blocksBelow) {
|
|
109
|
+
break;
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
return Object.freeze(activeLayers);
|
|
113
|
+
}
|
|
114
|
+
export function collectRuntimeViewBindings(stack) {
|
|
115
|
+
const contracts = runtimeActiveBindingLayers(stack).flatMap((layer) => {
|
|
116
|
+
const bindingSources = layer.model?.bindingSources ?? [];
|
|
117
|
+
if (!Array.isArray(bindingSources)) {
|
|
118
|
+
throw new Error(`runtime binding collection: bindingSources for layer ${layer.id} must be an array`);
|
|
119
|
+
}
|
|
120
|
+
return bindingSources.map((source, index) => {
|
|
121
|
+
if (!isRuntimeViewBindingSource(source)) {
|
|
122
|
+
throw new Error(`runtime binding collection: source at layer ${layer.id} index ${index} `
|
|
123
|
+
+ 'was not created by runtimeViewBindingSource()');
|
|
124
|
+
}
|
|
125
|
+
return {
|
|
126
|
+
owner: source.owner,
|
|
127
|
+
contract: source.contract,
|
|
128
|
+
providerIds: source.providerIds,
|
|
129
|
+
};
|
|
130
|
+
});
|
|
131
|
+
});
|
|
132
|
+
return collectActiveBindings({ contracts });
|
|
133
|
+
}
|
|
134
|
+
function isRuntimeViewStack(value) {
|
|
135
|
+
return Boolean(value
|
|
136
|
+
&& typeof value === 'object'
|
|
137
|
+
&& Array.isArray(value.layers));
|
|
138
|
+
}
|
|
139
|
+
function isRuntimeCommandBuffer(value) {
|
|
140
|
+
return Boolean(value
|
|
141
|
+
&& typeof value === 'object'
|
|
142
|
+
&& Array.isArray(value.items));
|
|
143
|
+
}
|
|
144
|
+
function freezeProviderAssignments(assignments) {
|
|
145
|
+
if (assignments === undefined) {
|
|
146
|
+
return undefined;
|
|
147
|
+
}
|
|
148
|
+
if (!Array.isArray(assignments)) {
|
|
149
|
+
throw new Error('runtime binding source: providerIds must be an array');
|
|
150
|
+
}
|
|
151
|
+
const seenRequirementIds = new Set();
|
|
152
|
+
return Object.freeze(assignments.map((assignment, index) => {
|
|
153
|
+
assertObjectRecord(assignment, 'runtime binding source', `provider assignment ${index}`);
|
|
154
|
+
const requirementId = normalizeRequiredText({
|
|
155
|
+
scope: 'runtime binding source',
|
|
156
|
+
field: `provider assignment ${index} requirementId`,
|
|
157
|
+
value: assignment['requirementId'],
|
|
158
|
+
});
|
|
159
|
+
if (seenRequirementIds.has(requirementId)) {
|
|
160
|
+
throw new Error(`runtime binding source: duplicate provider assignment ${requirementId}`);
|
|
161
|
+
}
|
|
162
|
+
seenRequirementIds.add(requirementId);
|
|
163
|
+
return Object.freeze({
|
|
164
|
+
requirementId,
|
|
165
|
+
providerId: normalizeRequiredText({
|
|
166
|
+
scope: 'runtime binding source',
|
|
167
|
+
field: `provider assignment ${index} providerId`,
|
|
168
|
+
value: assignment['providerId'],
|
|
169
|
+
}),
|
|
170
|
+
});
|
|
171
|
+
}));
|
|
172
|
+
}
|
|
173
|
+
function freezeRuntimePayload(payload) {
|
|
174
|
+
if (payload === undefined) {
|
|
175
|
+
return undefined;
|
|
176
|
+
}
|
|
177
|
+
return deepFreeze(cloneRuntimePayload(payload, 'payload'));
|
|
178
|
+
}
|
|
179
|
+
function cloneRuntimePayload(value, path, seen = new WeakSet()) {
|
|
180
|
+
if (value === null
|
|
181
|
+
|| typeof value === 'string'
|
|
182
|
+
|| typeof value === 'number'
|
|
183
|
+
|| typeof value === 'boolean') {
|
|
184
|
+
return value;
|
|
185
|
+
}
|
|
186
|
+
if (typeof value === 'bigint' || typeof value === 'symbol' || typeof value === 'function') {
|
|
187
|
+
throw new Error(`runtime command intent payload: unsupported ${typeof value} at ${path}`);
|
|
188
|
+
}
|
|
189
|
+
if (value === undefined) {
|
|
190
|
+
throw new Error(`runtime command intent payload: unsupported undefined at ${path}`);
|
|
191
|
+
}
|
|
192
|
+
if (typeof value !== 'object') {
|
|
193
|
+
throw new Error(`runtime command intent payload: unsupported ${typeof value} at ${path}`);
|
|
194
|
+
}
|
|
195
|
+
const objectValue = value;
|
|
196
|
+
if (seen.has(objectValue)) {
|
|
197
|
+
throw new Error(`runtime command intent payload: circular reference at ${path}`);
|
|
198
|
+
}
|
|
199
|
+
seen.add(objectValue);
|
|
200
|
+
try {
|
|
201
|
+
if (Array.isArray(value)) {
|
|
202
|
+
return value.map((item, index) => cloneRuntimePayload(item, `${path}[${index}]`, seen));
|
|
203
|
+
}
|
|
204
|
+
if (!isPlainObject(value)) {
|
|
205
|
+
throw new Error(`runtime command intent payload: unsupported ${objectKind(value)} at ${path}`);
|
|
206
|
+
}
|
|
207
|
+
const clone = Object.create(Object.getPrototypeOf(value));
|
|
208
|
+
const descriptors = Object.getOwnPropertyDescriptors(value);
|
|
209
|
+
for (const key of Reflect.ownKeys(descriptors)) {
|
|
210
|
+
if (typeof key === 'symbol') {
|
|
211
|
+
throw new Error(`runtime command intent payload: unsupported symbol property at ${path}`);
|
|
212
|
+
}
|
|
213
|
+
const descriptor = descriptors[key];
|
|
214
|
+
const propertyPath = `${path}.${key}`;
|
|
215
|
+
if (descriptor === undefined) {
|
|
216
|
+
continue;
|
|
217
|
+
}
|
|
218
|
+
if (!descriptor.enumerable) {
|
|
219
|
+
throw new Error(`runtime command intent payload: unsupported non-enumerable property at ${propertyPath}`);
|
|
220
|
+
}
|
|
221
|
+
if ('get' in descriptor || 'set' in descriptor) {
|
|
222
|
+
throw new Error(`runtime command intent payload: unsupported accessor at ${propertyPath}`);
|
|
223
|
+
}
|
|
224
|
+
clone[key] = cloneRuntimePayload(descriptor.value, propertyPath, seen);
|
|
225
|
+
}
|
|
226
|
+
return clone;
|
|
227
|
+
}
|
|
228
|
+
finally {
|
|
229
|
+
seen.delete(objectValue);
|
|
230
|
+
}
|
|
231
|
+
}
|
|
232
|
+
function deepFreeze(value, seen = new WeakSet()) {
|
|
233
|
+
if (value === null || typeof value !== 'object') {
|
|
234
|
+
return value;
|
|
235
|
+
}
|
|
236
|
+
const objectValue = value;
|
|
237
|
+
if (seen.has(objectValue)) {
|
|
238
|
+
return value;
|
|
239
|
+
}
|
|
240
|
+
seen.add(objectValue);
|
|
241
|
+
for (const key of Reflect.ownKeys(objectValue)) {
|
|
242
|
+
const descriptor = Object.getOwnPropertyDescriptor(objectValue, key);
|
|
243
|
+
if (descriptor !== undefined && 'value' in descriptor) {
|
|
244
|
+
deepFreeze(descriptor.value, seen);
|
|
245
|
+
}
|
|
246
|
+
}
|
|
247
|
+
return Object.freeze(value);
|
|
248
|
+
}
|
|
249
|
+
function assertObjectRecord(value, scope, label = 'input') {
|
|
250
|
+
if (value === null || typeof value !== 'object' || Array.isArray(value)) {
|
|
251
|
+
throw new Error(`${scope}: ${label} must be an object`);
|
|
252
|
+
}
|
|
253
|
+
}
|
|
254
|
+
function normalizeRequiredText(options) {
|
|
255
|
+
if (typeof options.value !== 'string') {
|
|
256
|
+
throw new Error(`${options.scope}: ${options.field} must be a string`);
|
|
257
|
+
}
|
|
258
|
+
const normalized = options.value.trim();
|
|
259
|
+
if (normalized === '') {
|
|
260
|
+
throw new Error(`${options.scope}: ${options.field} is required`);
|
|
261
|
+
}
|
|
262
|
+
return normalized;
|
|
263
|
+
}
|
|
264
|
+
function isPlainObject(value) {
|
|
265
|
+
const prototype = Object.getPrototypeOf(value);
|
|
266
|
+
return prototype === Object.prototype || prototype === null;
|
|
267
|
+
}
|
|
268
|
+
function objectKind(value) {
|
|
269
|
+
return Object.prototype.toString.call(value).slice(8, -1);
|
|
270
|
+
}
|
|
271
|
+
//# sourceMappingURL=runtime-binding.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runtime-binding.js","sourceRoot":"","sources":["../src/runtime-binding.ts"],"names":[],"mappings":"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"}
|
package/dist/runtime.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,GAAG,EAAO,UAAU,EAAa,MAAM,YAAY,CAAC;AAIlE,OAAO,
|
|
1
|
+
{"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,GAAG,EAAO,UAAU,EAAa,MAAM,YAAY,CAAC;AAIlE,OAAO,EAIL,KAAK,iBAAiB,EAEvB,MAAM,wBAAwB,CAAC;AAwBhC,MAAM,WAAW,oBAAoB,CAAC,KAAK;IACzC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IACtB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,OAAO,EAAE,SAAS,iBAAiB,EAAE,CAAC;IAC/C,QAAQ,CAAC,QAAQ,EAAE;QACjB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;QACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;KACvB,CAAC;CACH;AAED,MAAM,WAAW,uBAAuB,CAAC,KAAK;IAC5C,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC;IACvB,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,CAAC;CAClC;AAED,MAAM,WAAW,qBAAqB,CAAC,KAAK;IAC1C,YAAY,CAAC,CAAC,KAAK,EAAE,KAAK,GAAG,KAAK,GAAG,IAAI,CAAC;IAC1C,WAAW,CAAC,CAAC,OAAO,EAAE,oBAAoB,CAAC,KAAK,CAAC,GAAG,uBAAuB,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC;CAC3F;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,GAAG,CAAC,KAAK,EAAE,CAAC,EAChC,GAAG,EAAE,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,EAClB,OAAO,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,GACtB,OAAO,CAAC,IAAI,CAAC,CAEf;AAED,wBAAsB,qBAAqB,CAAC,KAAK,EAAE,CAAC,EAClD,GAAG,EAAE,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,EAClB,OAAO,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,EACvB,KAAK,CAAC,EAAE,qBAAqB,CAAC,KAAK,CAAC,GACnC,OAAO,CAAC,IAAI,CAAC,CAygBf"}
|
package/dist/runtime.js
CHANGED
|
@@ -2,12 +2,13 @@ import { getDefaultContext, createSurface, stringToSurface, surfaceToString, res
|
|
|
2
2
|
import { isKeyMsg, isPulseMsg, isResizeMsg } from './types.js';
|
|
3
3
|
import { clearAndHome, enterScreen, exitScreen, renderSurfaceFrame } from './screen.js';
|
|
4
4
|
import { createEventBus } from './eventbus.js';
|
|
5
|
-
import { createPipeline, getRenderStageTimings, } from './pipeline/pipeline.js';
|
|
5
|
+
import { createPipeline, getRenderStageTimings, RENDER_LAYOUT_ROOT_KEY, } from './pipeline/pipeline.js';
|
|
6
6
|
import { bcssMiddleware } from './pipeline/middleware/css.js';
|
|
7
7
|
import { motionMiddleware } from './pipeline/middleware/motion.js';
|
|
8
8
|
import { paintMiddleware } from './pipeline/middleware/paint.js';
|
|
9
9
|
import { installBCSSResolver } from './css/install.js';
|
|
10
10
|
import { normalizeViewOutput, wrapViewOutputAsLayoutRoot } from './view-output.js';
|
|
11
|
+
import { evaluateSurfaceBudget } from './surface-budget.js';
|
|
11
12
|
/**
|
|
12
13
|
* Disable mouse reporting sequences that terminals may send.
|
|
13
14
|
* Some terminals auto-enable mouse tracking in alt screen mode.
|
|
@@ -47,6 +48,8 @@ export async function runWithLifecycleHooks(app, options, hooks) {
|
|
|
47
48
|
const useAltScreen = options?.altScreen ?? true;
|
|
48
49
|
const useHideCursor = options?.hideCursor ?? true;
|
|
49
50
|
const useMouse = options?.mouse ?? false;
|
|
51
|
+
const surfaceBudget = options?.surfaceBudget;
|
|
52
|
+
const routedSurfaceBudgetWarnings = new Set();
|
|
50
53
|
installBCSSResolver(ctx, options?.css);
|
|
51
54
|
const runtimeViewport = () => readRuntimeViewport(ctx.runtime);
|
|
52
55
|
const [initModel, initCmds] = app.init();
|
|
@@ -99,6 +102,18 @@ export async function runWithLifecycleHooks(app, options, hooks) {
|
|
|
99
102
|
bus.emit(routed);
|
|
100
103
|
}
|
|
101
104
|
}
|
|
105
|
+
function routeSurfaceBudgetWarning(warning) {
|
|
106
|
+
if (routedSurfaceBudgetWarnings.has(warning.message)) {
|
|
107
|
+
return;
|
|
108
|
+
}
|
|
109
|
+
routedSurfaceBudgetWarnings.add(warning.message);
|
|
110
|
+
routeRuntimeIssue({
|
|
111
|
+
level: 'warning',
|
|
112
|
+
source: 'runtime',
|
|
113
|
+
message: warning.message,
|
|
114
|
+
atMs: clock.now(),
|
|
115
|
+
});
|
|
116
|
+
}
|
|
102
117
|
function formatModelSnapshot(snapshot) {
|
|
103
118
|
try {
|
|
104
119
|
const serialized = JSON.stringify(snapshot, null, 2);
|
|
@@ -160,6 +175,17 @@ export async function runWithLifecycleHooks(app, options, hooks) {
|
|
|
160
175
|
}
|
|
161
176
|
const bus = createEventBus({
|
|
162
177
|
clock,
|
|
178
|
+
commandBackpressureThreshold: options?.commandBackpressureThreshold,
|
|
179
|
+
onCommandBackpressure(info) {
|
|
180
|
+
const message = `Command backpressure: ${info.pendingCommands} commands pending (threshold ${info.backpressureThreshold})`;
|
|
181
|
+
writeErrorLine(ctx.io, `[EventBus] ${message}\n`);
|
|
182
|
+
routeRuntimeIssue({
|
|
183
|
+
level: 'warning',
|
|
184
|
+
source: 'command',
|
|
185
|
+
message,
|
|
186
|
+
atMs: info.atMs,
|
|
187
|
+
});
|
|
188
|
+
},
|
|
163
189
|
onCommandRejected(error) {
|
|
164
190
|
const message = error instanceof Error
|
|
165
191
|
? `${error.name}: ${error.message}`
|
|
@@ -200,10 +226,12 @@ export async function runWithLifecycleHooks(app, options, hooks) {
|
|
|
200
226
|
return;
|
|
201
227
|
}
|
|
202
228
|
const viewport = runtimeViewport();
|
|
203
|
-
|
|
229
|
+
const layoutRoot = wrapViewOutputAsLayoutRoot(viewOutput, {
|
|
204
230
|
width: viewport.columns,
|
|
205
231
|
height: viewport.rows,
|
|
206
232
|
});
|
|
233
|
+
state.data[RENDER_LAYOUT_ROOT_KEY] = layoutRoot;
|
|
234
|
+
state.layoutRoot = layoutRoot;
|
|
207
235
|
next();
|
|
208
236
|
});
|
|
209
237
|
// 2. Motion Interpolation Stage
|
|
@@ -294,11 +322,21 @@ export async function runWithLifecycleHooks(app, options, hooks) {
|
|
|
294
322
|
enterCrashMode('render', fatalRenderError, model);
|
|
295
323
|
return;
|
|
296
324
|
}
|
|
325
|
+
const timings = getRenderStageTimings(renderState);
|
|
326
|
+
if (surfaceBudget !== undefined) {
|
|
327
|
+
for (const warning of evaluateSurfaceBudget({
|
|
328
|
+
surface: renderState.targetSurface,
|
|
329
|
+
timings,
|
|
330
|
+
thresholds: surfaceBudget,
|
|
331
|
+
})) {
|
|
332
|
+
routeSurfaceBudgetWarning(warning);
|
|
333
|
+
}
|
|
334
|
+
}
|
|
297
335
|
if (hooks?.afterRender) {
|
|
298
336
|
const postRender = hooks.afterRender({
|
|
299
337
|
model,
|
|
300
338
|
dt: currentDt,
|
|
301
|
-
timings
|
|
339
|
+
timings,
|
|
302
340
|
viewport,
|
|
303
341
|
});
|
|
304
342
|
if (postRender?.model !== undefined) {
|
package/dist/runtime.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime.js","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"runtime.js","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { type Surface } from '@flyingrobots/bijou';
|
|
2
|
+
import { type RenderStage, type RenderStageTiming } from './pipeline/pipeline.js';
|
|
3
|
+
export type SurfaceBudgetMetric = 'surface-width' | 'surface-height' | 'surface-area' | 'styled-cells' | 'frame-duration' | 'stage-duration';
|
|
4
|
+
export interface SurfaceBudgetThresholds {
|
|
5
|
+
readonly maxWidth?: number;
|
|
6
|
+
readonly maxHeight?: number;
|
|
7
|
+
readonly maxArea?: number;
|
|
8
|
+
readonly maxStyledCells?: number;
|
|
9
|
+
readonly maxFrameDurationMs?: number;
|
|
10
|
+
readonly maxStageDurationMs?: Partial<Record<RenderStage, number>>;
|
|
11
|
+
}
|
|
12
|
+
export interface EvaluateSurfaceBudgetOptions {
|
|
13
|
+
readonly surface: Surface;
|
|
14
|
+
readonly thresholds: SurfaceBudgetThresholds;
|
|
15
|
+
readonly timings?: readonly RenderStageTiming[];
|
|
16
|
+
readonly label?: string;
|
|
17
|
+
}
|
|
18
|
+
export interface SurfaceBudgetWarning {
|
|
19
|
+
readonly label: string;
|
|
20
|
+
readonly metric: SurfaceBudgetMetric;
|
|
21
|
+
readonly actual: number;
|
|
22
|
+
readonly limit: number;
|
|
23
|
+
readonly message: string;
|
|
24
|
+
readonly stage?: RenderStage;
|
|
25
|
+
}
|
|
26
|
+
export declare function evaluateSurfaceBudget(options: EvaluateSurfaceBudgetOptions): readonly SurfaceBudgetWarning[];
|
|
27
|
+
//# sourceMappingURL=surface-budget.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"surface-budget.d.ts","sourceRoot":"","sources":["../src/surface-budget.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,KAAK,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAC9D,OAAO,EAAE,KAAK,WAAW,EAAE,KAAK,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAElF,MAAM,MAAM,mBAAmB,GAC3B,eAAe,GACf,gBAAgB,GAChB,cAAc,GACd,cAAc,GACd,gBAAgB,GAChB,gBAAgB,CAAC;AAErB,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IACrC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC;CACpE;AAED,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,UAAU,EAAE,uBAAuB,CAAC;IAC7C,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,iBAAiB,EAAE,CAAC;IAChD,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,mBAAmB,CAAC;IACrC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,KAAK,CAAC,EAAE,WAAW,CAAC;CAC9B;AAOD,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,4BAA4B,GACpC,SAAS,oBAAoB,EAAE,CAgDjC"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
const DEFAULT_SURFACE_BUDGET_LABEL = 'surface';
|
|
2
|
+
const MILLISECOND_UNIT = 'ms';
|
|
3
|
+
const HUNDREDTHS = 100;
|
|
4
|
+
const OPAQUE_OPACITY = 1;
|
|
5
|
+
export function evaluateSurfaceBudget(options) {
|
|
6
|
+
const { surface, thresholds, timings = [], label = DEFAULT_SURFACE_BUDGET_LABEL } = options;
|
|
7
|
+
const warnings = [];
|
|
8
|
+
pushBudgetWarning(warnings, label, 'surface-width', surface.width, thresholds.maxWidth);
|
|
9
|
+
pushBudgetWarning(warnings, label, 'surface-height', surface.height, thresholds.maxHeight);
|
|
10
|
+
pushBudgetWarning(warnings, label, 'surface-area', surface.width * surface.height, thresholds.maxArea);
|
|
11
|
+
if (thresholds.maxStyledCells !== undefined) {
|
|
12
|
+
pushBudgetWarning(warnings, label, 'styled-cells', countStyledCells(surface), thresholds.maxStyledCells);
|
|
13
|
+
}
|
|
14
|
+
pushBudgetWarning(warnings, label, 'frame-duration', timings.reduce((total, timing) => total + timing.durationMs, 0), thresholds.maxFrameDurationMs, MILLISECOND_UNIT);
|
|
15
|
+
if (thresholds.maxStageDurationMs !== undefined) {
|
|
16
|
+
for (const timing of timings) {
|
|
17
|
+
pushBudgetWarning(warnings, label, 'stage-duration', timing.durationMs, thresholds.maxStageDurationMs[timing.stage], MILLISECOND_UNIT, timing.stage);
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
return warnings;
|
|
21
|
+
}
|
|
22
|
+
function pushBudgetWarning(warnings, label, metric, actual, limit, unit = '', stage) {
|
|
23
|
+
if (limit === undefined || !Number.isFinite(limit) || actual <= limit) {
|
|
24
|
+
return;
|
|
25
|
+
}
|
|
26
|
+
warnings.push({
|
|
27
|
+
label,
|
|
28
|
+
metric,
|
|
29
|
+
actual,
|
|
30
|
+
limit,
|
|
31
|
+
stage,
|
|
32
|
+
message: surfaceBudgetMessage(label, metric, actual, limit, unit, stage),
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
function surfaceBudgetMessage(label, metric, actual, limit, unit, stage) {
|
|
36
|
+
const metricLabel = stage === undefined ? metric : `${metric} ${stage}`;
|
|
37
|
+
return `${label} ${metricLabel} ${formatBudgetNumber(actual)}${unit} > ${formatBudgetNumber(limit)}${unit}`;
|
|
38
|
+
}
|
|
39
|
+
function formatBudgetNumber(value) {
|
|
40
|
+
return String(Math.round(value * HUNDREDTHS) / HUNDREDTHS);
|
|
41
|
+
}
|
|
42
|
+
function countStyledCells(surface) {
|
|
43
|
+
let count = 0;
|
|
44
|
+
for (let y = 0; y < surface.height; y++) {
|
|
45
|
+
for (let x = 0; x < surface.width; x++) {
|
|
46
|
+
if (isStyledCell(surface.get(x, y))) {
|
|
47
|
+
count++;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
return count;
|
|
52
|
+
}
|
|
53
|
+
function isStyledCell(cell) {
|
|
54
|
+
return cell.fg !== undefined
|
|
55
|
+
|| cell.bg !== undefined
|
|
56
|
+
|| cell.fgRGB !== undefined
|
|
57
|
+
|| cell.bgRGB !== undefined
|
|
58
|
+
|| (cell.modifiers?.length ?? 0) > 0
|
|
59
|
+
|| (cell.opacity !== undefined && cell.opacity < OPAQUE_OPACITY);
|
|
60
|
+
}
|
|
61
|
+
//# sourceMappingURL=surface-budget.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"surface-budget.js","sourceRoot":"","sources":["../src/surface-budget.ts"],"names":[],"mappings":"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"}
|