@nodetool-ai/execution 0.8.1 → 0.8.3
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 +23 -127
- package/dist/.nodetool-build-stamp +1 -1
- package/dist/app-debug/app-spec.d.ts.map +1 -1
- package/dist/app-debug/app-spec.js +3 -0
- package/dist/app-debug/app-spec.js.map +1 -1
- package/dist/app-debug/application-target.d.ts +1 -1
- package/dist/app-debug/application-target.d.ts.map +1 -1
- package/dist/app-debug/application-target.js +5 -3
- package/dist/app-debug/application-target.js.map +1 -1
- package/dist/app-debug/index.d.ts +4 -2
- package/dist/app-debug/index.d.ts.map +1 -1
- package/dist/app-debug/index.js +3 -2
- package/dist/app-debug/index.js.map +1 -1
- package/dist/app-debug/run-recording.d.ts +20 -0
- package/dist/app-debug/run-recording.d.ts.map +1 -0
- package/dist/app-debug/run-recording.js +105 -0
- package/dist/app-debug/run-recording.js.map +1 -0
- package/dist/app-debug/runtime.d.ts +2 -0
- package/dist/app-debug/runtime.d.ts.map +1 -1
- package/dist/app-debug/runtime.js +19 -4
- package/dist/app-debug/runtime.js.map +1 -1
- package/dist/app-debug/simulate.d.ts +10 -1
- package/dist/app-debug/simulate.d.ts.map +1 -1
- package/dist/app-debug/simulate.js +67 -27
- package/dist/app-debug/simulate.js.map +1 -1
- package/dist/app-debug/summarize.d.ts +1 -0
- package/dist/app-debug/summarize.d.ts.map +1 -1
- package/dist/app-debug/summarize.js +1 -0
- package/dist/app-debug/summarize.js.map +1 -1
- package/dist/app-debug/types.d.ts +6 -4
- package/dist/app-debug/types.d.ts.map +1 -1
- package/dist/app-run-generation.d.ts +8 -0
- package/dist/app-run-generation.d.ts.map +1 -0
- package/dist/app-run-generation.js +61 -0
- package/dist/app-run-generation.js.map +1 -0
- package/dist/browser-app-run.d.ts +10 -0
- package/dist/browser-app-run.d.ts.map +1 -0
- package/dist/browser-app-run.js +108 -0
- package/dist/browser-app-run.js.map +1 -0
- package/dist/browser-run-spans.d.ts +4 -0
- package/dist/browser-run-spans.d.ts.map +1 -0
- package/dist/browser-run-spans.js +115 -0
- package/dist/browser-run-spans.js.map +1 -0
- package/dist/browser-trace-policy.d.ts +12 -0
- package/dist/browser-trace-policy.d.ts.map +1 -0
- package/dist/browser-trace-policy.js +40 -0
- package/dist/browser-trace-policy.js.map +1 -0
- package/dist/cost-ledger.d.ts +3 -0
- package/dist/cost-ledger.d.ts.map +1 -1
- package/dist/cost-ledger.js +23 -2
- package/dist/cost-ledger.js.map +1 -1
- package/dist/debug/types.d.ts +1 -0
- package/dist/debug/types.d.ts.map +1 -1
- package/dist/debug/verdict.d.ts +26 -1
- package/dist/debug/verdict.d.ts.map +1 -1
- package/dist/debug/verdict.js +36 -0
- package/dist/debug/verdict.js.map +1 -1
- package/dist/generation-lifecycle.d.ts +5 -4
- package/dist/generation-lifecycle.d.ts.map +1 -1
- package/dist/generation-lifecycle.js +71 -10
- package/dist/generation-lifecycle.js.map +1 -1
- package/dist/generation-recovery-worker.d.ts.map +1 -1
- package/dist/generation-recovery-worker.js +2 -0
- package/dist/generation-recovery-worker.js.map +1 -1
- package/dist/generation-tracker.d.ts +2 -15
- package/dist/generation-tracker.d.ts.map +1 -1
- package/dist/generation-tracker.js +92 -6
- package/dist/generation-tracker.js.map +1 -1
- package/dist/index.d.ts +9 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -1
- package/dist/index.js.map +1 -1
- package/dist/js-script-debug/index.d.ts +1 -0
- package/dist/js-script-debug/index.d.ts.map +1 -1
- package/dist/js-script-debug/index.js +1 -0
- package/dist/js-script-debug/index.js.map +1 -1
- package/dist/js-script-debug/report.d.ts.map +1 -1
- package/dist/js-script-debug/report.js +9 -24
- package/dist/js-script-debug/report.js.map +1 -1
- package/dist/js-script-debug/type-check.d.ts +16 -0
- package/dist/js-script-debug/type-check.d.ts.map +1 -0
- package/dist/js-script-debug/type-check.js +150 -0
- package/dist/js-script-debug/type-check.js.map +1 -0
- package/dist/js-script-debug/validate.d.ts +8 -0
- package/dist/js-script-debug/validate.d.ts.map +1 -1
- package/dist/js-script-debug/validate.js +4 -0
- package/dist/js-script-debug/validate.js.map +1 -1
- package/dist/message-stream.d.ts +1 -32
- package/dist/message-stream.d.ts.map +1 -1
- package/dist/message-stream.js +1 -57
- package/dist/message-stream.js.map +1 -1
- package/dist/partial-run.d.ts +65 -0
- package/dist/partial-run.d.ts.map +1 -0
- package/dist/partial-run.js +300 -0
- package/dist/partial-run.js.map +1 -0
- package/dist/preflight.d.ts +43 -2
- package/dist/preflight.d.ts.map +1 -1
- package/dist/preflight.js +78 -4
- package/dist/preflight.js.map +1 -1
- package/dist/run-trace-store.d.ts +9 -0
- package/dist/run-trace-store.d.ts.map +1 -0
- package/dist/run-trace-store.js +57 -0
- package/dist/run-trace-store.js.map +1 -0
- package/dist/runs.d.ts +16 -0
- package/dist/runs.d.ts.map +1 -0
- package/dist/runs.js +431 -0
- package/dist/runs.js.map +1 -0
- package/dist/service/app-debug-service.d.ts +4 -2
- package/dist/service/app-debug-service.d.ts.map +1 -1
- package/dist/service/app-debug-service.js +73 -31
- package/dist/service/app-debug-service.js.map +1 -1
- package/dist/service/app-operation.d.ts +39 -0
- package/dist/service/app-operation.d.ts.map +1 -0
- package/dist/service/app-operation.js +271 -0
- package/dist/service/app-operation.js.map +1 -0
- package/dist/service/app-run-server.d.ts +3 -1
- package/dist/service/app-run-server.d.ts.map +1 -1
- package/dist/service/app-run-server.js +22 -14
- package/dist/service/app-run-server.js.map +1 -1
- package/dist/service/index.d.ts +5 -1
- package/dist/service/index.d.ts.map +1 -1
- package/dist/service/index.js +2 -0
- package/dist/service/index.js.map +1 -1
- package/dist/service/run-trace-lifecycle.d.ts +34 -0
- package/dist/service/run-trace-lifecycle.d.ts.map +1 -0
- package/dist/service/run-trace-lifecycle.js +135 -0
- package/dist/service/run-trace-lifecycle.js.map +1 -0
- package/dist/service/workflow-run.d.ts +47 -16
- package/dist/service/workflow-run.d.ts.map +1 -1
- package/dist/service/workflow-run.js +210 -78
- package/dist/service/workflow-run.js.map +1 -1
- package/dist/session.d.ts +1 -1
- package/dist/session.d.ts.map +1 -1
- package/dist/session.js +109 -100
- package/dist/session.js.map +1 -1
- package/dist/sketch-debug/markdown.d.ts.map +1 -1
- package/dist/sketch-debug/markdown.js +1 -0
- package/dist/sketch-debug/markdown.js.map +1 -1
- package/dist/sketch-debug/report.d.ts.map +1 -1
- package/dist/sketch-debug/report.js +19 -28
- package/dist/sketch-debug/report.js.map +1 -1
- package/dist/sketch-debug/types.d.ts +2 -0
- package/dist/sketch-debug/types.d.ts.map +1 -1
- package/dist/timeline-debug/frame-geometry.d.ts +120 -0
- package/dist/timeline-debug/frame-geometry.d.ts.map +1 -0
- package/dist/timeline-debug/frame-geometry.js +238 -0
- package/dist/timeline-debug/frame-geometry.js.map +1 -0
- package/dist/timeline-debug/index.d.ts +1 -0
- package/dist/timeline-debug/index.d.ts.map +1 -1
- package/dist/timeline-debug/index.js +1 -0
- package/dist/timeline-debug/index.js.map +1 -1
- package/dist/timeline-debug/legibility.d.ts +8 -4
- package/dist/timeline-debug/legibility.d.ts.map +1 -1
- package/dist/timeline-debug/legibility.js +47 -18
- package/dist/timeline-debug/legibility.js.map +1 -1
- package/dist/timeline-debug/report.d.ts.map +1 -1
- package/dist/timeline-debug/report.js +16 -25
- package/dist/timeline-debug/report.js.map +1 -1
- package/dist/timeline-debug/score.d.ts +110 -0
- package/dist/timeline-debug/score.d.ts.map +1 -0
- package/dist/timeline-debug/score.js +231 -0
- package/dist/timeline-debug/score.js.map +1 -0
- package/dist/timeline-debug/showcase.d.ts +12 -0
- package/dist/timeline-debug/showcase.d.ts.map +1 -1
- package/dist/timeline-debug/showcase.js +669 -13
- package/dist/timeline-debug/showcase.js.map +1 -1
- package/dist/timeline-debug/validate.d.ts.map +1 -1
- package/dist/timeline-debug/validate.js +121 -2
- package/dist/timeline-debug/validate.js.map +1 -1
- package/dist/types.d.ts +18 -10
- package/dist/types.d.ts.map +1 -1
- package/package.json +13 -13
package/dist/session.js
CHANGED
|
@@ -1,21 +1,15 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
*
|
|
4
|
-
* See the package README for the wiring-inventory table this facade is
|
|
5
|
-
* derived from (Track A / task A1 of docs/RELIABILITY_TASKS.md) and
|
|
6
|
-
* docs/RELIABILITY_ARCHITECTURE.md §7 for the target API shape.
|
|
7
|
-
*/
|
|
1
|
+
import { withRegisteredRunTrace, settleRegisteredRunTrace } from "./service/run-trace-lifecycle.js";
|
|
2
|
+
/** Canonical lifecycle for top-level Node/server workflow runs. */
|
|
8
3
|
import { randomUUID } from "node:crypto";
|
|
9
4
|
import { createLogger } from "@nodetool-ai/config";
|
|
10
5
|
import { hydrateGraphNodeFlags } from "@nodetool-ai/node-sdk";
|
|
11
|
-
import { Graph, WorkflowRunner, withExplicitNodeFlags } from "@nodetool-ai/kernel";
|
|
12
|
-
import { PERMISSION_GATE_CONTEXT_KEY, connectPythonBridgeForGraph, headlessGate } from "@nodetool-ai/runtime";
|
|
6
|
+
import { Graph, WorkflowRunner, withExplicitNodeFlags, MessageStream } from "@nodetool-ai/kernel";
|
|
7
|
+
import { PERMISSION_GATE_CONTEXT_KEY, inAppRunCostAccount, connectPythonBridgeForGraph, headlessGate } from "@nodetool-ai/runtime";
|
|
13
8
|
import { createExecutorResolver } from "./executor-resolver.js";
|
|
14
9
|
import { WORKFLOW_RUN_HOST, buildWorkspaceExecutionContext } from "./service/workflow-workspace.js";
|
|
15
10
|
import { normalizeGraph } from "./normalize-graph.js";
|
|
16
11
|
import { assertPreflight } from "./preflight.js";
|
|
17
12
|
import { rewriteOutputNames } from "./output-names.js";
|
|
18
|
-
import { MessageStream } from "./message-stream.js";
|
|
19
13
|
import { attachRunCostLedger, nodeTypeLookup } from "./cost-ledger.js";
|
|
20
14
|
const log = createLogger("nodetool.execution.session");
|
|
21
15
|
export class ExecutionSession {
|
|
@@ -40,16 +34,10 @@ export class ExecutionSession {
|
|
|
40
34
|
this.stream = init.captureMessages
|
|
41
35
|
? new MessageStream(init.context, init.messageBufferLimit)
|
|
42
36
|
: null;
|
|
43
|
-
// Every generation this run pays for lands in the ledger `nodetool costs`
|
|
44
|
-
// reads. Attached here, at the one seam all surfaces share, so image and
|
|
45
|
-
// video spend is recorded whether the run came from the CLI, the debug
|
|
46
|
-
// harness, an app, or the websocket server.
|
|
47
|
-
// No `projectId`/`documentId`: a session is constructed from a graph and a
|
|
48
|
-
// job id, and no host passes project attribution down to it. The rows carry
|
|
49
|
-
// a null rather than being attributed to the loose bucket.
|
|
50
37
|
const detachLedger = init.recordCosts
|
|
51
38
|
? attachRunCostLedger(init.context, {
|
|
52
39
|
userId: init.userId,
|
|
40
|
+
appRunContext: init.context.appRunContext ?? undefined,
|
|
53
41
|
workflowId: init.workflowId,
|
|
54
42
|
projectId: init.projectId ?? null,
|
|
55
43
|
documentId: init.documentId ?? null,
|
|
@@ -81,15 +69,17 @@ export class ExecutionSession {
|
|
|
81
69
|
if (init.triggerEvent) {
|
|
82
70
|
runRequest.trigger_event = init.triggerEvent;
|
|
83
71
|
}
|
|
84
|
-
this.resultPromise =
|
|
85
|
-
.run(runRequest, init.graph)
|
|
86
|
-
.then((result) => {
|
|
72
|
+
this.resultPromise = Promise.resolve()
|
|
73
|
+
.then(() => withRegisteredRunTrace(init.context, "workflow.run", () => inAppRunCostAccount(init.context.appRunCostAccount, () => init.runner.run(runRequest, init.graph))))
|
|
74
|
+
.then(async (result) => {
|
|
75
|
+
await settleRegisteredRunTrace(init.context, result.status === "cancelled" ? "cancelled" : result.status === "failed" ? "failed" : "completed", result.error);
|
|
87
76
|
void init.lifecycle?.jobEnd({
|
|
88
77
|
...boundary,
|
|
89
78
|
reason: this.endReason(result.status)
|
|
90
79
|
});
|
|
91
80
|
return result;
|
|
92
|
-
}, (err) => {
|
|
81
|
+
}, async (err) => {
|
|
82
|
+
await settleRegisteredRunTrace(init.context, "failed", err instanceof Error ? err.message : String(err));
|
|
93
83
|
// `run()` documents that it never rejects, but the boundary must
|
|
94
84
|
// close even if that ever stops being true — an abandoned run is
|
|
95
85
|
// exactly the leak `job.end` exists to prevent.
|
|
@@ -101,21 +91,14 @@ export class ExecutionSession {
|
|
|
101
91
|
clearTimeout(this.runTimeoutHandle);
|
|
102
92
|
this.runTimeoutHandle = null;
|
|
103
93
|
}
|
|
104
|
-
init.closeBridge();
|
|
105
|
-
// The terminal message was emitted synchronously before run()
|
|
106
|
-
// resolved (ProcessingContext.emit() calls listeners inline), so the
|
|
107
|
-
// stream can close now without dropping it. The same holds for the
|
|
108
|
-
// ledger: every prediction/node_update it prices was already delivered.
|
|
109
|
-
detachLedger?.();
|
|
110
|
-
this.stream?.close();
|
|
111
94
|
try {
|
|
112
|
-
|
|
95
|
+
init.closeBridge();
|
|
113
96
|
}
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
97
|
+
finally {
|
|
98
|
+
await detachLedger?.settled();
|
|
99
|
+
detachLedger?.();
|
|
100
|
+
this.stream?.close();
|
|
101
|
+
await cleanupWorkspace(init.context, this.jobId);
|
|
119
102
|
}
|
|
120
103
|
});
|
|
121
104
|
this.resultPromise
|
|
@@ -141,15 +124,16 @@ export class ExecutionSession {
|
|
|
141
124
|
"has no per-node timeout hook (only run-level cancel()). Omit it " +
|
|
142
125
|
"or use limits.runTimeoutMs.");
|
|
143
126
|
}
|
|
144
|
-
if (!options.registry &&
|
|
145
|
-
|
|
127
|
+
if (!options.registry &&
|
|
128
|
+
!options.resolveExecutor &&
|
|
129
|
+
!options.executorResolverFactory) {
|
|
130
|
+
throw new Error("ExecutionSession: either registry or resolveExecutor (or executorResolverFactory) must be provided " +
|
|
146
131
|
"(registry builds the default registry+bridge resolver; resolveExecutor " +
|
|
147
132
|
"bypasses it for a host with its own resolution, e.g. the WS runner).");
|
|
148
133
|
}
|
|
149
134
|
const jobId = options.jobId ?? randomUUID();
|
|
150
135
|
const workflowId = options.workflowId ?? null;
|
|
151
136
|
const registry = options.registry;
|
|
152
|
-
const normalized = normalizeGraph(options.graph);
|
|
153
137
|
// A caller that brings no context still gets one that can reach the
|
|
154
138
|
// secret store. The bare `new ProcessingContext(...)` this replaced
|
|
155
139
|
// resolved no secret at all, so a graph with a provider node failed on
|
|
@@ -170,7 +154,8 @@ export class ExecutionSession {
|
|
|
170
154
|
// headless one here. A caller that already has a user to ask — a chat
|
|
171
155
|
// turn's `run_node` — set its gate before handing the context in, and
|
|
172
156
|
// keeps it.
|
|
173
|
-
if (
|
|
157
|
+
if (options.installHeadlessPermissionGate !== false &&
|
|
158
|
+
context.get(PERMISSION_GATE_CONTEXT_KEY) === undefined) {
|
|
174
159
|
context.set(PERMISSION_GATE_CONTEXT_KEY, headlessGate(WORKFLOW_RUN_HOST));
|
|
175
160
|
}
|
|
176
161
|
// Refuse a graph this runtime cannot honour before anything is paid for:
|
|
@@ -186,21 +171,7 @@ export class ExecutionSession {
|
|
|
186
171
|
// registry says so itself.
|
|
187
172
|
const providerConfiguration = options.providerConfiguration ??
|
|
188
173
|
(context.hasProviderResolver ? () => [] : undefined);
|
|
189
|
-
|
|
190
|
-
catalogs: options.catalogs,
|
|
191
|
-
providerConfiguration,
|
|
192
|
-
resolveSecret: (key) => context.getSecret(key)
|
|
193
|
-
});
|
|
194
|
-
// A caller injecting its own `resolveExecutor` (see the option doc)
|
|
195
|
-
// typically also owns its own Python bridge — never connect a second one
|
|
196
|
-
// behind its back. `bridgeFactory` remains available for that caller to
|
|
197
|
-
// opt back in explicitly (e.g. handing this facade an already-connected
|
|
198
|
-
// bridge instance to close on its behalf).
|
|
199
|
-
const bridgeFactory = options.bridgeFactory ??
|
|
200
|
-
(options.resolveExecutor
|
|
201
|
-
? async () => null
|
|
202
|
-
: connectPythonBridgeForGraph);
|
|
203
|
-
const bridge = await bridgeFactory(normalized.nodes, (t) => registry ? registry.has(t) : false);
|
|
174
|
+
let bridge = null;
|
|
204
175
|
let bridgeClosed = false;
|
|
205
176
|
const closeBridge = () => {
|
|
206
177
|
if (bridgeClosed)
|
|
@@ -208,8 +179,25 @@ export class ExecutionSession {
|
|
|
208
179
|
bridgeClosed = true;
|
|
209
180
|
bridge?.close();
|
|
210
181
|
};
|
|
211
|
-
let hydrated;
|
|
212
182
|
try {
|
|
183
|
+
const normalized = normalizeGraph(options.graph);
|
|
184
|
+
if (options.preflight !== false) {
|
|
185
|
+
await assertPreflight(normalized, {
|
|
186
|
+
catalogs: options.catalogs,
|
|
187
|
+
params: options.params,
|
|
188
|
+
providerConfiguration,
|
|
189
|
+
...(registry && { registry }),
|
|
190
|
+
resolveSecret: (key) => context.getSecret(key)
|
|
191
|
+
});
|
|
192
|
+
}
|
|
193
|
+
// A resolver supplied directly already owns its bridge. A factory
|
|
194
|
+
// instead receives the connection owned and closed by this session.
|
|
195
|
+
const bridgeFactory = options.bridgeFactory ??
|
|
196
|
+
(options.resolveExecutor
|
|
197
|
+
? async () => null
|
|
198
|
+
: (nodes, hasTsExecutor) => connectPythonBridgeForGraph(nodes, hasTsExecutor, options.bridgeOptions));
|
|
199
|
+
bridge = await bridgeFactory(normalized.nodes, options.hasTsExecutor ?? ((type) => registry?.has(type) ?? false));
|
|
200
|
+
let hydrated;
|
|
213
201
|
if (options.resolveNodeType) {
|
|
214
202
|
// Richer path: resolves `propertyTypes`/`outputs` from registry
|
|
215
203
|
// metadata too (async — the resolver may lazy-load a namespace),
|
|
@@ -234,55 +222,65 @@ export class ExecutionSession {
|
|
|
234
222
|
// unchanged.
|
|
235
223
|
hydrated = withExplicitNodeFlags(normalized);
|
|
236
224
|
}
|
|
225
|
+
if (options.requireTerminalResult) {
|
|
226
|
+
rewriteOutputNames(hydrated);
|
|
227
|
+
}
|
|
228
|
+
const resolveExecutor = options.resolveExecutor ??
|
|
229
|
+
options.executorResolverFactory?.(bridge) ??
|
|
230
|
+
(registry ? createExecutorResolver(registry, bridge) : null);
|
|
231
|
+
if (!resolveExecutor) {
|
|
232
|
+
throw new Error("ExecutionSession: no executor resolver available");
|
|
233
|
+
}
|
|
234
|
+
const runnerOptions = {
|
|
235
|
+
resolveExecutor,
|
|
236
|
+
executionContext: context,
|
|
237
|
+
validateNode: options.validateNode,
|
|
238
|
+
bufferLimit: options.limits?.bufferLimit ?? null,
|
|
239
|
+
strict: options.strict
|
|
240
|
+
};
|
|
241
|
+
if (options.supervisor) {
|
|
242
|
+
runnerOptions.supervisor = options.supervisor;
|
|
243
|
+
}
|
|
244
|
+
const runner = new WorkflowRunner(jobId, runnerOptions);
|
|
245
|
+
try {
|
|
246
|
+
await options.persistence?.onAccepted?.(jobId);
|
|
247
|
+
}
|
|
248
|
+
catch (err) {
|
|
249
|
+
log.warn("persistence.onAccepted threw", {
|
|
250
|
+
jobId,
|
|
251
|
+
error: err instanceof Error ? err.message : String(err)
|
|
252
|
+
});
|
|
253
|
+
}
|
|
254
|
+
return new ExecutionSession({
|
|
255
|
+
jobId,
|
|
256
|
+
workflowId,
|
|
257
|
+
graph: hydrated,
|
|
258
|
+
runner,
|
|
259
|
+
context,
|
|
260
|
+
persistence: options.persistence ?? null,
|
|
261
|
+
params: options.params ?? {},
|
|
262
|
+
triggerEvent: options.triggerEvent ?? null,
|
|
263
|
+
bridge,
|
|
264
|
+
lifecycle: options.jobLifecycleBridge ?? bridge,
|
|
265
|
+
userId: context.userId,
|
|
266
|
+
closeBridge,
|
|
267
|
+
runTimeoutMs: options.limits?.runTimeoutMs,
|
|
268
|
+
captureMessages: options.captureMessages === true,
|
|
269
|
+
messageBufferLimit: options.limits?.messageBufferLimit,
|
|
270
|
+
recordCosts: options.recordCosts !== false,
|
|
271
|
+
projectId: options.projectId,
|
|
272
|
+
documentId: options.documentId
|
|
273
|
+
});
|
|
237
274
|
}
|
|
238
275
|
catch (err) {
|
|
239
|
-
|
|
276
|
+
try {
|
|
277
|
+
closeBridge();
|
|
278
|
+
}
|
|
279
|
+
finally {
|
|
280
|
+
await cleanupWorkspace(context, jobId);
|
|
281
|
+
}
|
|
240
282
|
throw err;
|
|
241
283
|
}
|
|
242
|
-
if (options.requireTerminalResult) {
|
|
243
|
-
rewriteOutputNames(hydrated);
|
|
244
|
-
}
|
|
245
|
-
const resolveExecutor = options.resolveExecutor ?? createExecutorResolver(registry, bridge);
|
|
246
|
-
const runnerOptions = {
|
|
247
|
-
resolveExecutor,
|
|
248
|
-
executionContext: context,
|
|
249
|
-
validateNode: options.validateNode,
|
|
250
|
-
bufferLimit: options.limits?.bufferLimit ?? null,
|
|
251
|
-
strict: options.strict
|
|
252
|
-
};
|
|
253
|
-
if (options.supervisor) {
|
|
254
|
-
runnerOptions.supervisor = options.supervisor;
|
|
255
|
-
}
|
|
256
|
-
const runner = new WorkflowRunner(jobId, runnerOptions);
|
|
257
|
-
try {
|
|
258
|
-
await options.persistence?.onAccepted?.(jobId);
|
|
259
|
-
}
|
|
260
|
-
catch (err) {
|
|
261
|
-
log.warn("persistence.onAccepted threw", {
|
|
262
|
-
jobId,
|
|
263
|
-
error: err instanceof Error ? err.message : String(err)
|
|
264
|
-
});
|
|
265
|
-
}
|
|
266
|
-
return new ExecutionSession({
|
|
267
|
-
jobId,
|
|
268
|
-
workflowId,
|
|
269
|
-
graph: hydrated,
|
|
270
|
-
runner,
|
|
271
|
-
context,
|
|
272
|
-
persistence: options.persistence ?? null,
|
|
273
|
-
params: options.params ?? {},
|
|
274
|
-
triggerEvent: options.triggerEvent ?? null,
|
|
275
|
-
bridge,
|
|
276
|
-
lifecycle: options.jobLifecycleBridge ?? bridge,
|
|
277
|
-
userId: context.userId,
|
|
278
|
-
closeBridge,
|
|
279
|
-
runTimeoutMs: options.limits?.runTimeoutMs,
|
|
280
|
-
captureMessages: options.captureMessages === true,
|
|
281
|
-
messageBufferLimit: options.limits?.messageBufferLimit,
|
|
282
|
-
recordCosts: options.recordCosts !== false,
|
|
283
|
-
projectId: options.projectId,
|
|
284
|
-
documentId: options.documentId
|
|
285
|
-
});
|
|
286
284
|
}
|
|
287
285
|
/**
|
|
288
286
|
* Live message stream — closes once the run reaches a terminal state.
|
|
@@ -298,7 +296,7 @@ export class ExecutionSession {
|
|
|
298
296
|
}
|
|
299
297
|
return this.stream;
|
|
300
298
|
}
|
|
301
|
-
/**
|
|
299
|
+
/** Terminal result. Kernel failures resolve as failed, unexpected lifecycle errors reject. */
|
|
302
300
|
get result() {
|
|
303
301
|
return this.resultPromise;
|
|
304
302
|
}
|
|
@@ -350,4 +348,15 @@ export class ExecutionSession {
|
|
|
350
348
|
this.runner.cancel();
|
|
351
349
|
}
|
|
352
350
|
}
|
|
351
|
+
async function cleanupWorkspace(context, jobId) {
|
|
352
|
+
try {
|
|
353
|
+
await context.workspace?.cleanupScratch?.();
|
|
354
|
+
}
|
|
355
|
+
catch (err) {
|
|
356
|
+
log.warn("Workspace scratch cleanup failed", {
|
|
357
|
+
jobId,
|
|
358
|
+
error: err instanceof Error ? err.message : String(err)
|
|
359
|
+
});
|
|
360
|
+
}
|
|
361
|
+
}
|
|
353
362
|
//# sourceMappingURL=session.js.map
|
package/dist/session.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session.js","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"session.js","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"markdown.d.ts","sourceRoot":"","sources":["../../src/sketch-debug/markdown.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAoB,iBAAiB,EAAE,MAAM,YAAY,CAAC;AA+EtE,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,iBAAiB,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"markdown.d.ts","sourceRoot":"","sources":["../../src/sketch-debug/markdown.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAoB,iBAAiB,EAAE,MAAM,YAAY,CAAC;AA+EtE,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,iBAAiB,GAAG,MAAM,CA0D5E"}
|
|
@@ -57,6 +57,7 @@ export function renderSketchReportMarkdown(report) {
|
|
|
57
57
|
lines.push(`# Sketch debug: ${title}`);
|
|
58
58
|
lines.push("");
|
|
59
59
|
lines.push(`${report.verdict.ok ? "✅" : "❌"} ${report.verdict.headline}`);
|
|
60
|
+
lines.push("", "Visual output verified: false. This verdict covers document structure and replayed edits only.");
|
|
60
61
|
lines.push("");
|
|
61
62
|
lines.push(`Target: \`${report.target.ref}\` (${report.target.kind})`);
|
|
62
63
|
lines.push(`Document: ${report.meta.width}×${report.meta.height} on ${report.meta.backgroundColor} · ` +
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"markdown.js","sourceRoot":"","sources":["../../src/sketch-debug/markdown.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"markdown.js","sourceRoot":"","sources":["../../src/sketch-debug/markdown.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"report.d.ts","sourceRoot":"","sources":["../../src/sketch-debug/report.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"report.d.ts","sourceRoot":"","sources":["../../src/sketch-debug/report.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAEV,iBAAiB,EACjB,iBAAiB,EAEjB,uBAAuB,EAExB,MAAM,YAAY,CAAC;AACpB,OAAO,EAEL,KAAK,oBAAoB,EAC1B,MAAM,eAAe,CAAC;AA0EvB,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,iBAAiB,CAAC;IAC1B,0DAA0D;IAC1D,QAAQ,EAAE,OAAO,CAAC;IAClB,IAAI,CAAC,EAAE,oBAAoB,CAAC;IAC5B,YAAY,CAAC,EAAE,uBAAuB,EAAE,CAAC;IACzC,6EAA6E;IAC7E,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,+EAA+E;IAC/E,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,sBAAsB,GAC5B,iBAAiB,CAkCnB"}
|
|
@@ -1,3 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Assembles a `SketchDebugReport` from a document, an optional scripted edit
|
|
3
|
+
* session, and the document that session left behind.
|
|
4
|
+
*
|
|
5
|
+
* Pure: the host resolves the target (file, id) and writes the bundle; this
|
|
6
|
+
* decides what the run means.
|
|
7
|
+
*/
|
|
8
|
+
import { buildDocumentVerdict } from "../debug/verdict.js";
|
|
1
9
|
import { validateSketchDocument } from "./validate.js";
|
|
2
10
|
import { isPositiveFiniteNumber, isString } from "../predicates.js";
|
|
3
11
|
const DEFAULTS = {
|
|
@@ -10,9 +18,8 @@ const DEFAULTS = {
|
|
|
10
18
|
* property of the harness, not of the document it was pointed at.
|
|
11
19
|
*/
|
|
12
20
|
const NOT_SIMULATED = [
|
|
13
|
-
"Pixels — layer bitmaps are
|
|
14
|
-
"
|
|
15
|
-
"Painting tools — brush, eraser, fill, gradient and transform strokes leave no marks headlessly.",
|
|
21
|
+
"Pixels in the saved document — existing layer bitmaps are not loaded into the replay bridge.",
|
|
22
|
+
"Visual output of the saved document — replay paints and composites new strokes, but the report validates structure and does not inspect that composite.",
|
|
16
23
|
"Generation providers — no imagery is produced; bindings are checked structurally only.",
|
|
17
24
|
"Asset I/O — asset ids are never resolved, fetched, or uploaded.",
|
|
18
25
|
"Generation bindings after edits — the headless bridge tracks a layer's prompt/provider/model but not the persisted binding record, so a post-edit document is validated with no bindings."
|
|
@@ -42,31 +49,14 @@ const describe = (issue) => {
|
|
|
42
49
|
: `[${issue.code}] ${issue.message}`;
|
|
43
50
|
};
|
|
44
51
|
function buildSketchVerdict(validation, interactions, finalValidation) {
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
...(finalValidation?.warnings ?? []).map((issue) => `After edits — ${describe(issue)}`)
|
|
54
|
-
];
|
|
55
|
-
const ok = issues.length === 0;
|
|
56
|
-
const warningCount = warnings.length;
|
|
57
|
-
const headline = ok
|
|
58
|
-
? `Sketch is sound — ${interactions.length} interaction(s) ran clean` +
|
|
59
|
-
(warningCount > 0 ? `, ${warningCount} warning(s)` : "") +
|
|
60
|
-
"."
|
|
61
|
-
: `Sketch has ${issues.length} problem(s)` +
|
|
62
|
-
(failedSteps.length > 0
|
|
63
|
-
? `, ${failedSteps.length} failed interaction(s)`
|
|
64
|
-
: "") +
|
|
65
|
-
(warningCount > 0 ? `, ${warningCount} warning(s)` : "") +
|
|
66
|
-
` — ${issues[0]}`;
|
|
67
|
-
return warningCount > 0
|
|
68
|
-
? { ok, headline, issues, warnings }
|
|
69
|
-
: { ok, headline, issues };
|
|
52
|
+
return buildDocumentVerdict({
|
|
53
|
+
subject: "Sketch",
|
|
54
|
+
soundLabel: "Sketch structure is valid",
|
|
55
|
+
describe,
|
|
56
|
+
validation,
|
|
57
|
+
finalValidation,
|
|
58
|
+
interactions
|
|
59
|
+
});
|
|
70
60
|
}
|
|
71
61
|
export function buildSketchDebugReport(input) {
|
|
72
62
|
const validation = validateSketchDocument(input.document, input.meta);
|
|
@@ -80,6 +70,7 @@ export function buildSketchDebugReport(input) {
|
|
|
80
70
|
// — describes the sketch the report is about.
|
|
81
71
|
const meta = describeDocument(input.finalDocument ?? input.document, input.meta);
|
|
82
72
|
const report = {
|
|
73
|
+
visual_output_verified: false,
|
|
83
74
|
target: input.target,
|
|
84
75
|
meta,
|
|
85
76
|
validation,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"report.js","sourceRoot":"","sources":["../../src/sketch-debug/report.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"report.js","sourceRoot":"","sources":["../../src/sketch-debug/report.ts"],"names":[],"mappings":"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"}
|
|
@@ -45,6 +45,8 @@ export interface SketchDocumentMeta {
|
|
|
45
45
|
bindingCount: number;
|
|
46
46
|
}
|
|
47
47
|
export interface SketchDebugReport {
|
|
48
|
+
/** This harness checks structure, not the visual output of the saved document. */
|
|
49
|
+
visual_output_verified: false;
|
|
48
50
|
target: SketchDebugTarget;
|
|
49
51
|
meta: SketchDocumentMeta;
|
|
50
52
|
/** Static validation of the input document. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/sketch-debug/types.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEtD,6CAA6C;AAC7C,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,OAAO,GAAG,SAAS,CAAC;IAC9B,2EAA2E;IAC3E,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,wEAAwE;IACxE,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,gBAAgB;IAC/B,iEAAiE;IACjE,EAAE,EAAE,OAAO,CAAC;IACZ,MAAM,EAAE,gBAAgB,EAAE,CAAC;IAC3B,QAAQ,EAAE,gBAAgB,EAAE,CAAC;CAC9B;AAED,kDAAkD;AAClD,MAAM,WAAW,uBAAuB;IACtC,2DAA2D;IAC3D,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,OAAO,CAAC;IACf,EAAE,EAAE,OAAO,CAAC;IACZ,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,iBAAiB,CAAC;IAC1B,IAAI,EAAE,kBAAkB,CAAC;IACzB,+CAA+C;IAC/C,UAAU,EAAE,gBAAgB,CAAC;IAC7B,2CAA2C;IAC3C,YAAY,EAAE,uBAAuB,EAAE,CAAC;IACxC,uEAAuE;IACvE,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,qEAAqE;IACrE,eAAe,CAAC,EAAE,gBAAgB,CAAC;IACnC,uEAAuE;IACvE,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,OAAO,EAAE,YAAY,CAAC;CACvB"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/sketch-debug/types.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEtD,6CAA6C;AAC7C,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,OAAO,GAAG,SAAS,CAAC;IAC9B,2EAA2E;IAC3E,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,wEAAwE;IACxE,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,gBAAgB;IAC/B,iEAAiE;IACjE,EAAE,EAAE,OAAO,CAAC;IACZ,MAAM,EAAE,gBAAgB,EAAE,CAAC;IAC3B,QAAQ,EAAE,gBAAgB,EAAE,CAAC;CAC9B;AAED,kDAAkD;AAClD,MAAM,WAAW,uBAAuB;IACtC,2DAA2D;IAC3D,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,OAAO,CAAC;IACf,EAAE,EAAE,OAAO,CAAC;IACZ,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,iBAAiB;IAChC,kFAAkF;IAClF,sBAAsB,EAAE,KAAK,CAAC;IAC9B,MAAM,EAAE,iBAAiB,CAAC;IAC1B,IAAI,EAAE,kBAAkB,CAAC;IACzB,+CAA+C;IAC/C,UAAU,EAAE,gBAAgB,CAAC;IAC7B,2CAA2C;IAC3C,YAAY,EAAE,uBAAuB,EAAE,CAAC;IACxC,uEAAuE;IACvE,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,qEAAqE;IACrE,eAAe,CAAC,EAAE,gBAAgB,CAAC;IACnC,uEAAuE;IACvE,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,OAAO,EAAE,YAAY,CAAC;CACvB"}
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* frame-geometry — a clip's static axis-aligned box in frame pixels.
|
|
3
|
+
*
|
|
4
|
+
* Shared by every timeline-debug check that needs to know roughly where a
|
|
5
|
+
* clip sits on screen without rendering: `showcase.ts` (frame coverage, text
|
|
6
|
+
* collision) and `legibility.ts` (which shape is actually the backdrop
|
|
7
|
+
* behind a title). One computation here, not two that could disagree about
|
|
8
|
+
* where a clip is.
|
|
9
|
+
*
|
|
10
|
+
* Static geometry only, same rule `showcase.ts` documents for its own
|
|
11
|
+
* checks: no rendered pixels, no sampled animation curves, no occlusion. A
|
|
12
|
+
* box is the clip's own authored (or layout-resolved) transform projected
|
|
13
|
+
* into frame pixels — the scene model's placement math
|
|
14
|
+
* (`buildTransformMatrix`, `layoutTextBlock`), not a second implementation
|
|
15
|
+
* of it — composed through every ancestor group's transform in one matrix,
|
|
16
|
+
* the way `parentMatrix` composes it for a real render.
|
|
17
|
+
*/
|
|
18
|
+
import type { ClipTransform, TimelineClip } from "@nodetool-ai/protocol/api-schemas/timeline.js";
|
|
19
|
+
export interface Box {
|
|
20
|
+
x: number;
|
|
21
|
+
y: number;
|
|
22
|
+
width: number;
|
|
23
|
+
height: number;
|
|
24
|
+
}
|
|
25
|
+
/** Pre-transform box in frame pixels. `undefined` for a kind this proxy does
|
|
26
|
+
* not measure (audio, group, adjustment). A media clip's box is the whole
|
|
27
|
+
* frame — its contain-fit base scale is applied in `frameBoxFor`.
|
|
28
|
+
*
|
|
29
|
+
* `sizeOverride` is the box a flex container resized this leaf to
|
|
30
|
+
* (`resolveClipLayoutsWithDiagnostics`'s `sizes` map) — the same override
|
|
31
|
+
* `sceneModel.ts`'s `emitMedia` applies to the clip it hands the renderer, so
|
|
32
|
+
* a flex-resized plate or a rewrapped text block measures at the size it
|
|
33
|
+
* actually draws at, not its pre-layout authored one. */
|
|
34
|
+
export declare function localBox(clip: TimelineClip, canvas: {
|
|
35
|
+
width: number;
|
|
36
|
+
height: number;
|
|
37
|
+
}, sizeOverride?: {
|
|
38
|
+
width: number;
|
|
39
|
+
height: number;
|
|
40
|
+
}): Box | undefined;
|
|
41
|
+
export declare function projectPoint(x: number, y: number, matrix: Float32Array, canvas: {
|
|
42
|
+
width: number;
|
|
43
|
+
height: number;
|
|
44
|
+
}): {
|
|
45
|
+
x: number;
|
|
46
|
+
y: number;
|
|
47
|
+
};
|
|
48
|
+
export declare function projectBox(box: Box, matrix: Float32Array, canvas: {
|
|
49
|
+
width: number;
|
|
50
|
+
height: number;
|
|
51
|
+
}): Box;
|
|
52
|
+
/** Root-first chain of the clip and every ancestor group it is parented to.
|
|
53
|
+
* Stops at the first non-group parent, same as the scene model. A chain that
|
|
54
|
+
* loops back on itself is refused (`parent_cycle` in `validate.ts`), so the
|
|
55
|
+
* clip is treated as unparented. */
|
|
56
|
+
export declare function ancestorChain(clip: TimelineClip, byId: ReadonlyMap<string, TimelineClip>): TimelineClip[];
|
|
57
|
+
/** Whether `clip` or an ancestor carries a 3D tilt (`rotationX`/`rotationY`)
|
|
58
|
+
* or `perspective`. An axis-aligned box is not a sound proxy for a layer
|
|
59
|
+
* under a projective transform: the true screen footprint is a distorted
|
|
60
|
+
* quadrilateral, and its AABB can be several times taller or narrower than
|
|
61
|
+
* the source box even for ordinary content — a tilted phone-mockup card is
|
|
62
|
+
* the shipped example that shows it. Checks relying on the frame box skip
|
|
63
|
+
* these clips rather than report a geometry the transform makes up. */
|
|
64
|
+
export declare function hasPerspectiveAncestor(clip: TimelineClip, byId: ReadonlyMap<string, TimelineClip>): boolean;
|
|
65
|
+
/** `clip`'s transform, or the position/scale a `row`/`stack`/`relative`
|
|
66
|
+
* container resolved for it — the same override the renderer places a
|
|
67
|
+
* layout-managed child with. A clip's own `transform` is stale once it sits
|
|
68
|
+
* in a container: the container decides its box, and measuring the authored
|
|
69
|
+
* field instead reads two stack siblings as stacked at the same spot no
|
|
70
|
+
* matter how far the container's `gapPx` actually holds them apart. */
|
|
71
|
+
export declare function resolvedTransform(clip: TimelineClip, resolved: ReadonlyMap<string, ClipTransform>): ClipTransform;
|
|
72
|
+
/** `transform` with any 3D tilt zeroed — same position/scale/z-rotation, no
|
|
73
|
+
* `rotationX`/`rotationY`/`perspective`. Used only for frame coverage (see
|
|
74
|
+
* `showcase.ts`'s `checkFrameUnderfilled`), where an untilted footprint is a
|
|
75
|
+
* closer approximation of "how much of the frame this covers" than a
|
|
76
|
+
* projective AABB, which can be inflated or skewed under a tilt in a way
|
|
77
|
+
* area alone should not be. */
|
|
78
|
+
export declare function untiltedTransform(transform: ClipTransform): ClipTransform;
|
|
79
|
+
/** `clip`'s (or an overridden local box's) axis-aligned box in frame pixels,
|
|
80
|
+
* composing every ancestor group's transform into one matrix before
|
|
81
|
+
* projecting — a rotated ancestor does not inflate the box the way
|
|
82
|
+
* re-projecting an AABB at each level would. Static: the authored transform,
|
|
83
|
+
* not an animated sample. `flattenPerspective` strips 3D tilt from every
|
|
84
|
+
* ancestor first (see `untiltedTransform`) — an approximation a caller opts
|
|
85
|
+
* into explicitly, never the default.
|
|
86
|
+
*
|
|
87
|
+
* `resolved` (`resolveClipLayoutsWithDiagnostics`'s `transforms` map) is
|
|
88
|
+
* PARENT-LOCAL (packages/timeline/AGENTS.md, "PARENT-LOCAL"): a flex-managed
|
|
89
|
+
* clip's resolved `position` is relative to its flex root's own untranslated
|
|
90
|
+
* frame, with every intermediate flex container's own translation already
|
|
91
|
+
* folded in — never the root's own placement, and never doubled. The
|
|
92
|
+
* renderer (`sceneModel.ts`'s `groupPatchedClips`) adds each ancestor's real
|
|
93
|
+
* translation back exactly once by zeroing a flex-managed *ancestor's* own
|
|
94
|
+
* `position` before composing it (keeping any rotation/scale the author put
|
|
95
|
+
* on it — flex only ever touches `position`), while the target clip itself
|
|
96
|
+
* keeps its full resolved position. This mirrors that: only an ancestor
|
|
97
|
+
* (never the clip whose box this is) gets its flex-resolved position
|
|
98
|
+
* stripped.
|
|
99
|
+
*/
|
|
100
|
+
export declare function composedMatrix(clip: TimelineClip, canvas: {
|
|
101
|
+
width: number;
|
|
102
|
+
height: number;
|
|
103
|
+
}, byId: ReadonlyMap<string, TimelineClip>, resolved: ReadonlyMap<string, ClipTransform>, flattenPerspective?: boolean): Float32Array;
|
|
104
|
+
export declare function frameBoxFor(clip: TimelineClip, canvas: {
|
|
105
|
+
width: number;
|
|
106
|
+
height: number;
|
|
107
|
+
}, byId: ReadonlyMap<string, TimelineClip>, resolved: ReadonlyMap<string, ClipTransform>, overrideLocal?: Box, flattenPerspective?: boolean, sizes?: ReadonlyMap<string, {
|
|
108
|
+
width: number;
|
|
109
|
+
height: number;
|
|
110
|
+
}>): Box | undefined;
|
|
111
|
+
/** A box covering this much of the frame is a bed, not content — see
|
|
112
|
+
* `showcase.ts`. Not used by `legibility.ts`, which wants the opposite: a
|
|
113
|
+
* full-frame shape is still a valid backdrop to read a colour off. */
|
|
114
|
+
export declare const BACKGROUND_COVERAGE = 0.9;
|
|
115
|
+
export declare function isBackgroundBed(box: Box, canvas: {
|
|
116
|
+
width: number;
|
|
117
|
+
height: number;
|
|
118
|
+
}): boolean;
|
|
119
|
+
export declare function containsBox(outer: Box, inner: Box, eps?: number): boolean;
|
|
120
|
+
//# sourceMappingURL=frame-geometry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"frame-geometry.d.ts","sourceRoot":"","sources":["../../src/timeline-debug/frame-geometry.ts"],"names":[],"mappings":"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"}
|