@flux-lang/core 0.1.3 → 0.1.4-canary.078fd1eea

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/dist/runtime.js CHANGED
@@ -1,361 +1,143 @@
1
+ import { initRuntimeState, runDocstepOnce, handleEvent } from "./runtime/kernel.js";
2
+ export function getDocstepIntervalHint(doc, state) {
3
+ const spec = (doc.runtime?.docstepAdvance ?? []).find((advance) => advance.kind === "timer");
4
+ if (!spec) {
5
+ return { ms: null, reason: "No timer-based docstepAdvance in runtime config." };
6
+ }
7
+ const multiplier = timerUnitToMs(spec.unit);
8
+ if (multiplier == null) {
9
+ return {
10
+ ms: null,
11
+ reason: `Timer unit '${spec.unit}' is not supported for interval hinting.`,
12
+ };
13
+ }
14
+ return {
15
+ ms: spec.amount * multiplier,
16
+ reason: `Derived from runtime.docstepAdvance timer(${spec.amount} ${spec.unit})`,
17
+ };
18
+ }
1
19
  export function createRuntime(doc, options = {}) {
2
- const state = {
3
- doc,
4
- docstep: 0,
5
- params: buildParams(doc),
6
- grids: buildGrids(doc),
7
- random: makeRandom(options.seed),
20
+ let state = initRuntimeState(doc);
21
+ let docstep = state.docstepIndex ?? 0;
22
+ const opts = { clock: "manual", ...options };
23
+ let timer = null;
24
+ const snapshot = () => buildSnapshot(doc, state, docstep);
25
+ const step = () => {
26
+ state = runDocstepOnce(doc, state);
27
+ docstep = state.docstepIndex;
28
+ const snap = snapshot();
29
+ return snap;
8
30
  };
9
- function getSnapshot() {
10
- return buildSnapshot(state);
11
- }
12
- function setParam(name, value) {
13
- if (!state.params.has(name))
31
+ const reset = () => {
32
+ state = initRuntimeState(doc);
33
+ docstep = 0;
34
+ return snapshot();
35
+ };
36
+ const applyEvent = (event) => {
37
+ const kernelEvent = {
38
+ type: event.type,
39
+ location: event.location,
40
+ payload: event.payload,
41
+ };
42
+ state = handleEvent(doc, state, kernelEvent);
43
+ docstep = state.docstepIndex ?? docstep;
44
+ };
45
+ const start = () => {
46
+ if (opts.clock !== "timer")
14
47
  return;
15
- state.params.set(name, value);
16
- }
17
- function setParams(values) {
18
- for (const [key, value] of Object.entries(values)) {
19
- setParam(key, value);
20
- }
21
- }
22
- function getParams() {
23
- const result = {};
24
- for (const [key, value] of state.params) {
25
- result[key] = value;
26
- }
27
- return result;
28
- }
29
- function getDocstep() {
30
- return state.docstep;
31
- }
32
- function getDocument() {
33
- return state.doc;
34
- }
35
- function stepDocstep() {
36
- const patches = [];
37
- const rules = (state.doc.rules ?? []).filter((rule) => rule.mode === "docstep");
38
- for (const grid of state.grids.values()) {
39
- const gridRules = rules.filter((rule) => rule.scope?.grid === grid.name);
40
- if (gridRules.length === 0)
41
- continue;
42
- for (let row = 0; row < grid.rows; row++) {
43
- for (let col = 0; col < grid.cols; col++) {
44
- const idx = row * grid.cols + col;
45
- const cell = grid.cells[idx];
46
- if (!cell)
47
- continue;
48
- for (const rule of gridRules) {
49
- const ctx = {
50
- state,
51
- grid,
52
- cell,
53
- row,
54
- col,
55
- };
56
- const condition = evalExpr(rule.condition, ctx);
57
- if (condition) {
58
- const assignments = rule.thenBranch ?? [];
59
- for (const stmt of assignments) {
60
- if (stmt.kind !== "AssignmentStatement")
61
- continue;
62
- const target = resolveAssignmentTarget(stmt.target, ctx);
63
- if (!target)
64
- continue;
65
- const value = evalExpr(stmt.value, ctx);
66
- patches.push({
67
- gridName: grid.name,
68
- cellId: cell.id,
69
- property: target,
70
- value,
71
- });
72
- }
73
- }
74
- }
75
- }
76
- }
77
- }
78
- applyPatches(state, patches);
79
- state.docstep += 1;
80
- return buildSnapshot(state);
81
- }
48
+ if (timer)
49
+ return;
50
+ const hint = getDocstepIntervalHint(doc, state);
51
+ const interval = opts.docstepIntervalMs ?? hint.ms ?? 1000;
52
+ timer = setInterval(() => {
53
+ const snap = step();
54
+ opts.onDocstep?.(snap);
55
+ }, interval);
56
+ };
57
+ const stop = () => {
58
+ if (!timer)
59
+ return;
60
+ clearInterval(timer);
61
+ timer = null;
62
+ };
82
63
  return {
83
- getDocument,
84
- getDocstep,
85
- getSnapshot,
86
- stepDocstep,
87
- getParams,
88
- setParams,
89
- setParam,
64
+ get doc() {
65
+ return doc;
66
+ },
67
+ get state() {
68
+ return state;
69
+ },
70
+ get docstep() {
71
+ return docstep;
72
+ },
73
+ get options() {
74
+ return opts;
75
+ },
76
+ step,
77
+ reset,
78
+ applyEvent,
79
+ snapshot,
80
+ start,
81
+ stop,
90
82
  };
91
83
  }
92
- function buildParams(doc) {
93
- const params = new Map();
94
- for (const param of doc.state.params ?? []) {
95
- if (typeof param.initial === "number") {
96
- params.set(param.name, param.initial);
97
- }
98
- }
99
- return params;
100
- }
101
- function buildGrids(doc) {
102
- const grids = new Map();
103
- for (const grid of doc.grids ?? []) {
104
- const rows = grid.size?.rows ?? 0;
105
- const cols = grid.size?.cols ?? 0;
84
+ function buildSnapshot(doc, state, docstep) {
85
+ const params = { ...state.params };
86
+ const grids = [];
87
+ for (const gridDef of doc.grids ?? []) {
88
+ const runtimeGrid = state.grids[gridDef.name];
89
+ const rows = runtimeGrid?.rows ?? gridDef.size?.rows;
90
+ const cols = runtimeGrid?.cols ?? gridDef.size?.cols;
91
+ const runtimeCells = runtimeGrid?.cells ?? [];
92
+ const cellCount = Math.max(runtimeCells.length, gridDef.cells.length);
106
93
  const cells = [];
107
- const cellIndex = new Map();
108
- let idx = 0;
109
- for (let r = 0; r < rows; r++) {
110
- for (let c = 0; c < cols; c++) {
111
- const cellDef = grid.cells[idx];
112
- const cellState = {
113
- id: cellDef?.id ?? `r${r}c${c}`,
114
- tags: [...(cellDef?.tags ?? [])],
115
- content: cellDef?.content ?? "",
116
- dynamic: typeof cellDef?.dynamic === "number" ? cellDef.dynamic : 0,
117
- };
118
- cells.push(cellState);
119
- cellIndex.set(cellState.id, idx);
120
- idx += 1;
121
- }
94
+ for (let idx = 0; idx < cellCount; idx++) {
95
+ const def = gridDef.cells[idx];
96
+ const cellState = runtimeCells[idx];
97
+ const id = cellState?.id ?? def?.id ?? `cell${idx}`;
98
+ const tags = cellState?.tags ?? def?.tags ?? [];
99
+ const content = cellState?.content ?? def?.content;
100
+ const mediaId = def?.mediaId;
101
+ const dynamic = cellState?.dynamic ?? def?.dynamic;
102
+ const density = def?.density;
103
+ const salience = def?.salience;
104
+ const numericFields = def?.numericFields;
105
+ cells.push({ id, tags, content, mediaId, dynamic, density, salience, numericFields });
122
106
  }
123
- grids.set(grid.name, { name: grid.name, rows, cols, cells, cellIndex });
124
- }
125
- return grids;
126
- }
127
- function makeRandom(seed) {
128
- let s = (seed ?? Date.now()) >>> 0;
129
- return function next() {
130
- s ^= s << 13;
131
- s ^= s >>> 17;
132
- s ^= s << 5;
133
- return (s >>> 0) / 0xffffffff;
134
- };
135
- }
136
- function evalExpr(expr, ctx) {
137
- switch (expr.kind) {
138
- case "Literal":
139
- return expr.value;
140
- case "Identifier":
141
- return evalIdentifier(expr.name, ctx);
142
- case "UnaryExpression":
143
- return evalUnary(expr.op, expr.argument, ctx);
144
- case "BinaryExpression":
145
- return evalBinary(expr.op, expr.left, expr.right, ctx);
146
- case "MemberExpression":
147
- return evalMember(expr.object, expr.property, ctx);
148
- case "CallExpression":
149
- return evalCall(expr, ctx);
150
- case "NeighborsCallExpression":
151
- return evalNeighborsCall(expr, ctx);
152
- default:
153
- return undefined;
154
- }
155
- }
156
- function evalIdentifier(name, ctx) {
157
- if (name === "cell")
158
- return ctx.cell;
159
- if (name === "neighbors")
160
- return neighborsNamespace;
161
- if (name === "random")
162
- return ctx.state.random;
163
- if (ctx.state.params.has(name))
164
- return ctx.state.params.get(name);
165
- return undefined;
166
- function neighborsNamespace(method) {
167
- if (method === "all" || method === "orth") {
168
- return evalNeighborsCall({ kind: "NeighborsCallExpression", namespace: "neighbors", method, args: [] }, ctx);
169
- }
170
- return [];
171
- }
172
- }
173
- function evalUnary(op, argument, ctx) {
174
- const value = evalExpr(argument, ctx);
175
- switch (op) {
176
- case "not":
177
- return !value;
178
- case "-":
179
- return -value;
180
- default:
181
- return undefined;
182
- }
183
- }
184
- function evalBinary(op, left, right, ctx) {
185
- switch (op) {
186
- case "and":
187
- return Boolean(evalExpr(left, ctx)) && Boolean(evalExpr(right, ctx));
188
- case "or":
189
- return Boolean(evalExpr(left, ctx)) || Boolean(evalExpr(right, ctx));
190
- case "==":
191
- return evalExpr(left, ctx) === evalExpr(right, ctx);
192
- case "!=":
193
- return evalExpr(left, ctx) !== evalExpr(right, ctx);
194
- case "<":
195
- return evalExpr(left, ctx) < evalExpr(right, ctx);
196
- case "<=":
197
- return evalExpr(left, ctx) <= evalExpr(right, ctx);
198
- case ">":
199
- return evalExpr(left, ctx) > evalExpr(right, ctx);
200
- case ">=":
201
- return evalExpr(left, ctx) >= evalExpr(right, ctx);
202
- case "+":
203
- return evalExpr(left, ctx) + evalExpr(right, ctx);
204
- case "-":
205
- return evalExpr(left, ctx) - evalExpr(right, ctx);
206
- case "*":
207
- return evalExpr(left, ctx) * evalExpr(right, ctx);
208
- case "/":
209
- return evalExpr(left, ctx) / evalExpr(right, ctx);
210
- default:
211
- return undefined;
212
- }
213
- }
214
- function evalMember(objectExpr, property, ctx) {
215
- if (objectExpr.kind === "NeighborsCallExpression") {
216
- const neighbors = evalNeighborsCall(objectExpr, ctx);
217
- if (property === "dynamic") {
218
- let max = 0;
219
- for (const cell of neighbors) {
220
- if (typeof cell.dynamic === "number" && cell.dynamic > max) {
221
- max = cell.dynamic;
222
- }
223
- }
224
- return max;
225
- }
226
- return undefined;
227
- }
228
- const obj = evalExpr(objectExpr, ctx);
229
- if (obj == null)
230
- return undefined;
231
- return obj[property];
232
- }
233
- function evalCall(expr, ctx) {
234
- if (expr.callee.kind === "Identifier" && expr.callee.name === "random") {
235
- return ctx.state.random();
236
- }
237
- if (expr.callee.kind === "Identifier" && expr.callee.name === "max") {
238
- const [a, b] = expr.args;
239
- return Math.max(Number(evalExpr(a, ctx)), Number(evalExpr(b, ctx)));
240
- }
241
- if (expr.callee.kind === "MemberExpression" &&
242
- expr.callee.property === "contains") {
243
- const target = evalExpr(expr.callee.object, ctx);
244
- const arg = expr.args[0] ? evalExpr(expr.args[0], ctx) : undefined;
245
- if (Array.isArray(target)) {
246
- return target.includes(arg);
247
- }
248
- }
249
- const callee = evalExpr(expr.callee, ctx);
250
- if (typeof callee === "function") {
251
- const args = expr.args.map((a) => evalExpr(a, ctx));
252
- return callee(...args);
253
- }
254
- return undefined;
255
- }
256
- function evalNeighborsCall(expr, ctx) {
257
- const offsets = expr.method === "orth" ? orthogonalOffsets : allOffsets;
258
- const neighbors = [];
259
- for (const [dr, dc] of offsets) {
260
- const rr = ctx.row + dr;
261
- const cc = ctx.col + dc;
262
- if (rr < 0 || rr >= ctx.grid.rows || cc < 0 || cc >= ctx.grid.cols)
263
- continue;
264
- const idx = rr * ctx.grid.cols + cc;
265
- const neighbor = ctx.grid.cells[idx];
266
- if (neighbor)
267
- neighbors.push(neighbor);
268
- }
269
- return neighbors;
270
- }
271
- const allOffsets = [
272
- [-1, -1],
273
- [-1, 0],
274
- [-1, 1],
275
- [0, -1],
276
- [0, 1],
277
- [1, -1],
278
- [1, 0],
279
- [1, 1],
280
- ];
281
- const orthogonalOffsets = [
282
- [-1, 0],
283
- [1, 0],
284
- [0, -1],
285
- [0, 1],
286
- ];
287
- function resolveAssignmentTarget(target, _ctx) {
288
- if (target.kind === "MemberExpression" && target.object.kind === "Identifier" && target.object.name === "cell") {
289
- if (target.property === "content" || target.property === "dynamic") {
290
- return target.property;
291
- }
292
- }
293
- return null;
294
- }
295
- function applyPatches(state, patches) {
296
- for (const patch of patches) {
297
- const grid = state.grids.get(patch.gridName);
298
- if (!grid)
299
- continue;
300
- const idx = grid.cellIndex.get(patch.cellId);
301
- if (idx === undefined)
302
- continue;
303
- const cell = grid.cells[idx];
304
- if (!cell)
305
- continue;
306
- cell[patch.property] = patch.value;
307
- }
308
- }
309
- function buildSnapshot(state) {
310
- const params = {};
311
- for (const [key, value] of state.params) {
312
- params[key] = value;
313
- }
314
- const grids = [];
315
- for (const grid of state.grids.values()) {
316
- const cells = grid.cells.map((cell) => ({
317
- id: cell.id,
318
- tags: [...cell.tags],
319
- content: cell.content,
320
- dynamic: cell.dynamic,
321
- }));
322
107
  grids.push({
323
- name: grid.name,
324
- rows: grid.rows,
325
- cols: grid.cols,
108
+ name: gridDef.name,
109
+ topology: gridDef.topology,
110
+ rows,
111
+ cols,
326
112
  cells,
327
113
  });
328
114
  }
329
- return { docstep: state.docstep, params, grids };
330
- }
331
- export function getDocstepIntervalHint(doc) {
332
- const spec = doc.runtime?.docstepAdvance?.find((advance) => advance.kind === "timer");
333
- if (!spec)
334
- return null;
335
- const unit = normalizeUnit(spec.unit);
336
- if (!unit)
337
- return null;
338
- const multiplier = unit === "ms" ? 1 : unit === "s" ? 1000 : 60000;
339
- return { millis: spec.amount * multiplier, source: `timer(${spec.amount} ${spec.unit})` };
115
+ return { docstep, params, grids };
340
116
  }
341
- function normalizeUnit(unit) {
117
+ function timerUnitToMs(unit) {
342
118
  switch (unit) {
343
119
  case "ms":
344
120
  case "millisecond":
345
121
  case "milliseconds":
346
- return "ms";
122
+ return 1;
347
123
  case "s":
348
124
  case "sec":
349
125
  case "secs":
350
126
  case "second":
351
127
  case "seconds":
352
- return "s";
128
+ return 1000;
353
129
  case "m":
354
130
  case "min":
355
131
  case "mins":
356
132
  case "minute":
357
133
  case "minutes":
358
- return "m";
134
+ return 60_000;
135
+ case "h":
136
+ case "hr":
137
+ case "hrs":
138
+ case "hour":
139
+ case "hours":
140
+ return 3_600_000;
359
141
  default:
360
142
  return null;
361
143
  }
@@ -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,22 @@
1
+ import type { FluxDocument } from "./ast.js";
2
+ export type SlotFitPolicy = "clip" | "ellipsis" | "shrink" | "scaleDown";
3
+ export type AddTransformKind = "title" | "page" | "section" | "paragraph" | "figure" | "callout" | "table" | "slot" | "inline-slot" | "bibliography-stub";
4
+ export interface AddTransformOptions {
5
+ kind: AddTransformKind;
6
+ text?: string;
7
+ heading?: string;
8
+ label?: string;
9
+ noHeading?: boolean;
10
+ bankName?: string;
11
+ tags?: string[];
12
+ caption?: string;
13
+ reserve?: string | {
14
+ width: number;
15
+ height?: number;
16
+ units?: string;
17
+ };
18
+ fit?: SlotFitPolicy | string;
19
+ }
20
+ export declare function applyAddTransform(source: string, doc: FluxDocument, options: AddTransformOptions): string;
21
+ export declare function formatFluxSource(source: string): string;
22
+ //# sourceMappingURL=transform.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transform.d.ts","sourceRoot":"","sources":["../src/transform.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAgB,YAAY,EAAE,MAAM,UAAU,CAAC;AAE3D,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,UAAU,GAAG,QAAQ,GAAG,WAAW,CAAC;AAEzE,MAAM,MAAM,gBAAgB,GACxB,OAAO,GACP,MAAM,GACN,SAAS,GACT,WAAW,GACX,QAAQ,GACR,SAAS,GACT,OAAO,GACP,MAAM,GACN,aAAa,GACb,mBAAmB,CAAC;AAExB,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,gBAAgB,CAAC;IACvB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,GAAG;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACtE,GAAG,CAAC,EAAE,aAAa,GAAG,MAAM,CAAC;CAC9B;AAMD,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,YAAY,EAAE,OAAO,EAAE,mBAAmB,GAAG,MAAM,CA4BzG;AAED,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAGvD"}