@servrox/console-fx 0.1.0 → 0.2.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.
Files changed (59) hide show
  1. package/CHANGELOG.md +23 -4
  2. package/README.md +7 -1
  3. package/dist/browser/compiler.d.ts.map +1 -1
  4. package/dist/browser/compiler.js +31 -20
  5. package/dist/browser/compiler.js.map +1 -1
  6. package/dist/browser/index.d.ts +1 -1
  7. package/dist/browser/index.d.ts.map +1 -1
  8. package/dist/browser/index.js +2 -12
  9. package/dist/browser/index.js.map +1 -1
  10. package/dist/browser/motion.d.ts +4 -0
  11. package/dist/browser/motion.d.ts.map +1 -0
  12. package/dist/browser/motion.js +19 -0
  13. package/dist/browser/motion.js.map +1 -0
  14. package/dist/browser/preflight.d.ts.map +1 -1
  15. package/dist/browser/preflight.js +6 -5
  16. package/dist/browser/preflight.js.map +1 -1
  17. package/dist/codegen/index.d.ts.map +1 -1
  18. package/dist/codegen/index.js +11 -9
  19. package/dist/codegen/index.js.map +1 -1
  20. package/dist/effects/catalog.d.ts +3 -1
  21. package/dist/effects/catalog.d.ts.map +1 -1
  22. package/dist/effects/catalog.js +41 -19
  23. package/dist/effects/catalog.js.map +1 -1
  24. package/dist/layout/metrics.d.ts +12 -4
  25. package/dist/layout/metrics.d.ts.map +1 -1
  26. package/dist/layout/metrics.js +37 -8
  27. package/dist/layout/metrics.js.map +1 -1
  28. package/dist/layout/planner.d.ts.map +1 -1
  29. package/dist/layout/planner.js +59 -27
  30. package/dist/layout/planner.js.map +1 -1
  31. package/dist/layout/render.js +1 -1
  32. package/dist/layout/render.js.map +1 -1
  33. package/dist/model/layout.d.ts +5 -3
  34. package/dist/model/layout.d.ts.map +1 -1
  35. package/dist/presentations/catalog.d.ts +7 -3
  36. package/dist/presentations/catalog.d.ts.map +1 -1
  37. package/dist/presentations/catalog.js +246 -1370
  38. package/dist/presentations/catalog.js.map +1 -1
  39. package/dist/presentations/compact.d.ts +3 -3
  40. package/dist/presentations/compact.d.ts.map +1 -1
  41. package/dist/presentations/compact.js.map +1 -1
  42. package/dist/presentations/safe-cells.d.ts +10 -0
  43. package/dist/presentations/safe-cells.d.ts.map +1 -0
  44. package/dist/presentations/safe-cells.js +99 -0
  45. package/dist/presentations/safe-cells.js.map +1 -0
  46. package/dist/presets/cards.d.ts.map +1 -1
  47. package/dist/presets/cards.js +2 -2
  48. package/dist/presets/cards.js.map +1 -1
  49. package/dist/renderers/presentations/render.d.ts +4 -1
  50. package/dist/renderers/presentations/render.d.ts.map +1 -1
  51. package/dist/renderers/presentations/render.js +10 -3
  52. package/dist/renderers/presentations/render.js.map +1 -1
  53. package/dist/renderers/svg.d.ts.map +1 -1
  54. package/dist/renderers/svg.js +12 -11
  55. package/dist/renderers/svg.js.map +1 -1
  56. package/dist/validation/layout.d.ts.map +1 -1
  57. package/dist/validation/layout.js +2 -2
  58. package/dist/validation/layout.js.map +1 -1
  59. package/package.json +1 -1
@@ -11,13 +11,14 @@ export function textDirection(text) {
11
11
  /** Per-attempt bounded data cache. Never retained between compilations. */
12
12
  export class MetricResolver {
13
13
  environment;
14
- snapshot;
14
+ algorithm;
15
15
  requests = new Map();
16
16
  available;
17
17
  bytes;
18
- constructor(environment, snapshot) {
18
+ candidate = new Set();
19
+ constructor(environment, snapshot, algorithm = "fit/v1") {
19
20
  this.environment = environment;
20
- this.snapshot = snapshot;
21
+ this.algorithm = algorithm;
21
22
  this.bytes = utf8ByteLength(JSON.stringify({
22
23
  kind: "consoleFxMeasurements",
23
24
  measurementVersion: 1,
@@ -33,9 +34,35 @@ export class MetricResolver {
33
34
  this.bytes += utf8ByteLength(JSON.stringify(record)) + 1;
34
35
  }
35
36
  }
37
+ beginCandidate() {
38
+ this.candidate.clear();
39
+ }
40
+ /** V2 keeps estimation work separate from a serializable explicit font batch.
41
+ * Current candidate first, then prior sizes; reserve the complete metric envelope.
42
+ * A partial batch remains explicitly estimated on the next compile.
43
+ */
44
+ measurementBatch(includeAvailable = false) {
45
+ const missing = (request) => includeAvailable || !this.available.has(request.key);
46
+ if (this.algorithm === "fit/v1")
47
+ return [...this.requests.values()].filter(missing);
48
+ const keys = new Set([...this.candidate, ...this.requests.keys()]);
49
+ const batch = [];
50
+ let bytes = utf8ByteLength(this.environment) + 128;
51
+ for (const key of keys) {
52
+ const request = this.requests.get(key);
53
+ if (request.algorithm !== this.algorithm || !missing(request))
54
+ continue;
55
+ const reserved = utf8ByteLength(JSON.stringify(request)) + 256;
56
+ if (bytes + reserved > LIMITS.inputBytes)
57
+ continue;
58
+ bytes += reserved;
59
+ batch.push(request);
60
+ }
61
+ return batch;
62
+ }
36
63
  request(run, profile, italic = false) {
37
64
  const data = {
38
- algorithm: "fit/v1",
65
+ algorithm: this.algorithm,
39
66
  profile,
40
67
  text: run.text,
41
68
  style: run.style,
@@ -61,13 +88,15 @@ export class MetricResolver {
61
88
  // Reserve the bounded numeric metric fields and record envelope so an
62
89
  // explicitly measured batch can itself satisfy the snapshot byte limit.
63
90
  const bytes = utf8ByteLength(JSON.stringify(request)) + 256;
64
- if (this.requests.size >= 512 || this.bytes + bytes > LIMITS.inputBytes)
91
+ const limit = this.algorithm === "fit/v2" ? 512 * 1024 : LIMITS.inputBytes;
92
+ if (this.requests.size >= 512 || this.bytes + bytes > limit)
65
93
  fail("resource-limit", "Fitting exceeds its measurement budget.", [
66
94
  "layout",
67
95
  ]);
68
96
  this.bytes += bytes;
69
97
  this.requests.set(key, request);
70
98
  }
99
+ this.candidate.add(key);
71
100
  const measured = this.available.get(key);
72
101
  if (measured)
73
102
  return {
@@ -77,13 +106,13 @@ export class MetricResolver {
77
106
  };
78
107
  const advance = estimatedTextWidth(run.text, run.style) +
79
108
  Math.max(0, run.style.letterSpacing);
80
- const overhang = run.text ? run.style.fontSize * (italic ? 0.35 : 0.12) : 0;
109
+ const overhang = run.style.fontSize * (italic ? 0.35 : 0.12);
81
110
  return {
82
111
  advance,
83
112
  inkLeft: overhang,
84
113
  inkRight: advance + overhang,
85
- ascent: run.text ? run.style.fontSize * 1.3 : 0,
86
- descent: run.text ? run.style.fontSize * 0.4 : 0,
114
+ ascent: run.style.fontSize * 1.3,
115
+ descent: run.style.fontSize * 0.4,
87
116
  quality: "estimated",
88
117
  direction: request.direction,
89
118
  };
@@ -1 +1 @@
1
- {"version":3,"file":"metrics.js","sourceRoot":"","sources":["../../src/layout/metrics.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"metrics.js","sourceRoot":"","sources":["../../src/layout/metrics.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"planner.d.ts","sourceRoot":"","sources":["../../src/layout/planner.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EAEd,OAAO,EACP,OAAO,EACR,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EACV,cAAc,EACd,YAAY,EACZ,aAAa,EAGd,MAAM,oBAAoB,CAAC;AAI5B,OAAO,EAEL,KAAK,aAAa,EAClB,KAAK,WAAW,EACjB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAGL,KAAK,eAAe,EACrB,MAAM,kCAAkC,CAAC;AAG1C,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAS9C,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,GAAG,EAAE,OAAO,GAAG;QAAE,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC;IACvD,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC;IAClC,QAAQ,CAAC,SAAS,EAAE,eAAe,GAAG,SAAS,CAAC;CACjD;AACD,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC;IAC5C,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,IAAI,EAAE,SAAS,UAAU,EAAE,CAAC;IACrC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AACD,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,SAAS,WAAW,EAAE,CAAC;IACvC,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;IAC9B,QAAQ,CAAC,UAAU,CAAC,EAAE,aAAa,CAAC;IACpC,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS;QAC5B,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;QAC3B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QACtB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;KAC3B,EAAE,CAAC;CACL;AAiBD,uFAAuF;AACvF,wBAAgB,aAAa,CAC3B,KAAK,EAAE,OAAO,EACd,OAAO,EAAE,aAAa,EACtB,OAAO,EAAE,cAAc,EACvB,gBAAgB,CAAC,EAAE,cAAc,GAChC,aAAa,CA+hBf"}
1
+ {"version":3,"file":"planner.d.ts","sourceRoot":"","sources":["../../src/layout/planner.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EAEd,OAAO,EACP,OAAO,EACR,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EACV,cAAc,EACd,YAAY,EACZ,aAAa,EAGd,MAAM,oBAAoB,CAAC;AAK5B,OAAO,EAEL,KAAK,aAAa,EAClB,KAAK,WAAW,EACjB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAGL,KAAK,eAAe,EACrB,MAAM,kCAAkC,CAAC;AAG1C,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAI9C,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,GAAG,EAAE,OAAO,GAAG;QAAE,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC;IACvD,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC;IAClC,QAAQ,CAAC,SAAS,EAAE,eAAe,GAAG,SAAS,CAAC;CACjD;AACD,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC;IAC5C,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,IAAI,EAAE,SAAS,UAAU,EAAE,CAAC;IACrC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AACD,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,SAAS,WAAW,EAAE,CAAC;IACvC,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;IAC9B,QAAQ,CAAC,UAAU,CAAC,EAAE,aAAa,CAAC;IACpC,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS;QAC5B,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;QAC3B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QACtB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;KAC3B,EAAE,CAAC;CACL;AAiBD,uFAAuF;AACvF,wBAAgB,aAAa,CAC3B,KAAK,EAAE,OAAO,EACd,OAAO,EAAE,aAAa,EACtB,OAAO,EAAE,cAAc,EACvB,gBAAgB,CAAC,EAAE,cAAc,GAChC,aAAa,CAulBf"}
@@ -1,3 +1,4 @@
1
+ import { standardCellEdges } from "../presentations/safe-cells.js";
1
2
  import { deepFreeze, LIMITS } from "../model/limits.js";
2
3
  import { fail } from "../validation/index.js";
3
4
  import { presentationDescriptor } from "../presentations/catalog.js";
@@ -7,7 +8,7 @@ import { PROFILES } from "../renderers/cinematic/profiles.js";
7
8
  import { GLYPHS } from "../renderers/cinematic/glyphs.js";
8
9
  import { MetricResolver } from "./metrics.js";
9
10
  import { expand, runBounds, translate, union } from "./bounds.js";
10
- import { wrapTokens, wrapTokensToRows, wrappingAlternatives, } from "./wrap.js";
11
+ import { wrapTokens, wrapTokensToRows } from "./wrap.js";
11
12
  const issue = (code, message) => ({
12
13
  code,
13
14
  message,
@@ -37,7 +38,7 @@ export function planSvgLayout(scene, request, options, suppliedResolver) {
37
38
  const environment = options.measurementEnvironment ?? "unspecified-local-fonts";
38
39
  // A supplied snapshot is trusted only with an explicit matching environment.
39
40
  const resolver = suppliedResolver ??
40
- new MetricResolver(environment, options.measurementEnvironment ? options.measurements : undefined);
41
+ new MetricResolver(environment, options.measurementEnvironment ? options.measurements : undefined, request.algorithm);
41
42
  const diagnostics = [];
42
43
  if (options.measurements &&
43
44
  options.measurements.environment !== options.measurementEnvironment)
@@ -64,10 +65,14 @@ export function planSvgLayout(scene, request, options, suppliedResolver) {
64
65
  style: slot.style,
65
66
  }))
66
67
  : scene.lines.flatMap((line) => line.runs);
67
- const minimumScale = Math.max(0, ...visibleRuns
68
+ const floorPreserving = request.algorithm === "fit/v2";
69
+ const floorRatios = visibleRuns
68
70
  .filter((run) => run.text.length)
69
71
  .map((run) => slotFloor(run.style.fontSize) /
70
- (run.style.fontSize * frameScale * floorScale)));
72
+ (run.style.fontSize * frameScale * floorScale));
73
+ const minimumScale = floorPreserving
74
+ ? Math.min(1, ...floorRatios)
75
+ : Math.max(0, ...floorRatios);
71
76
  // fit/v1: 16 uniform candidates, descending, including the exact readability floor.
72
77
  const scales = !shrink || minimumScale >= 1
73
78
  ? [1]
@@ -120,6 +125,7 @@ export function planSvgLayout(scene, request, options, suppliedResolver) {
120
125
  let candidates = 0;
121
126
  for (const scale of scales) {
122
127
  candidates++;
128
+ resolver.beginCandidate();
123
129
  const scaled = {
124
130
  ...scene,
125
131
  surface: {
@@ -133,10 +139,16 @@ export function planSvgLayout(scene, request, options, suppliedResolver) {
133
139
  ...r,
134
140
  style: {
135
141
  ...r.style,
136
- fontSize: (cardLayout?.compact
137
- ? (cardLayout.slots.find((s) => s.line === li && s.run === ri)
138
- ?.style.fontSize ?? r.style.fontSize)
139
- : r.style.fontSize) * scale,
142
+ fontSize: (() => {
143
+ const base = cardLayout?.compact
144
+ ? (cardLayout.slots.find((s) => s.line === li && s.run === ri)
145
+ ?.style.fontSize ?? r.style.fontSize)
146
+ : r.style.fontSize;
147
+ // V1 is deliberately uniform. V2 leaves small fields at their floor.
148
+ return floorPreserving
149
+ ? Math.min(base, Math.max(base * scale, slotFloor(base) / (frameScale * floorScale)))
150
+ : base * scale;
151
+ })(),
140
152
  letterSpacing: cardLayout?.compact
141
153
  ? 0
142
154
  : r.style.letterSpacing * scale,
@@ -151,7 +163,7 @@ export function planSvgLayout(scene, request, options, suppliedResolver) {
151
163
  const cardTexts = [];
152
164
  let visualRows = cardLayout.rows;
153
165
  let fits = true;
154
- for (const slot of cardLayout.slots) {
166
+ for (const [slotIndex, slot] of cardLayout.slots.entries()) {
155
167
  const run = scaled.lines[slot.line].runs[slot.run];
156
168
  if (/[\n\t\u2028\u2029]/u.test(run.text) ||
157
169
  [...run.text].length > slot.maxCodePoints) {
@@ -170,7 +182,7 @@ export function planSvgLayout(scene, request, options, suppliedResolver) {
170
182
  const lineHeight = footer ? 18 : slot.id === "command" ? 24 : 18;
171
183
  const tokens = wrapTokens([{ ...run, sourceRun: slot.run }]);
172
184
  if (wrapping)
173
- resolver.suggest?.(wrappingAlternatives(tokens), profile);
185
+ resolver.suggest?.(tokens, profile);
174
186
  const texts = wrapping
175
187
  ? wrapTokensToRows(tokens, footer ? 190 : slot.safeWidth, (runs) => {
176
188
  if (!runs.length)
@@ -198,33 +210,50 @@ export function planSvgLayout(scene, request, options, suppliedResolver) {
198
210
  });
199
211
  for (const [row, text] of texts.entries()) {
200
212
  const metrics = resolver.resolve({ ...run, text }, profile);
201
- const left = slot.x - metrics.advance * anchorFactor;
202
- const baseline = slot.y + lineHeight * (footer ? row : row - (texts.length - 1) / 2);
203
- const ink = {
213
+ let left = slot.x - metrics.advance * anchorFactor;
214
+ let baseline = slot.y + lineHeight * (footer ? row : row - (texts.length - 1) / 2);
215
+ let ink = {
204
216
  x: left - metrics.inkLeft,
205
217
  y: baseline - metrics.ascent,
206
218
  width: metrics.inkLeft + metrics.inkRight,
207
219
  height: metrics.ascent + metrics.descent,
208
220
  };
209
- const local = expand(ink, card.id === "letterpress" && slot.id === "title" ? 1.5 : 0.5);
221
+ let local = expand(ink, card.id === "letterpress" && slot.id === "title" ? 1.5 : 0.5);
210
222
  // Fixed vertical cells reserve surrounding labels and original artwork.
211
- const top = command
223
+ const [artLeft, artRight, artTop, artBottom] = floorPreserving && !cardLayout.compact
224
+ ? standardCellEdges(card.id, slotIndex)
225
+ : [];
226
+ const cellLeft = Math.max(slotStart - 3, artLeft ?? -Infinity);
227
+ const cellRight = Math.min(slotStart + slot.safeWidth + 3, artRight ?? Infinity);
228
+ const top = Math.max(artTop ?? -Infinity, command
212
229
  ? slot.id === "command"
213
230
  ? 164
214
231
  : 110
215
- : Math.max(slot.safeTop ?? 0, slot.y - slot.style.fontSize * 1.4 - 2);
216
- const bottom = command
232
+ : Math.max(slot.safeTop ?? 0, slot.y - slot.style.fontSize * 1.4 - 2));
233
+ const bottom = Math.min(artBottom ?? Infinity, command
217
234
  ? slot.id === "command"
218
235
  ? 215
219
236
  : 148
220
- : Math.min(cardLayout.height, baseline + slot.style.fontSize * 0.5 + 2);
237
+ : Math.min(cardLayout.height, baseline + slot.style.fontSize * 0.5 + 2));
238
+ // V2 moves the complete paint box only inside the original cell.
239
+ // An oversized box still fails; no artwork or cell bounds are changed.
240
+ let shiftedSlot = slot;
241
+ if (floorPreserving) {
242
+ const dx = Math.max(cellLeft - local.x, Math.min(0, cellRight - local.x - local.width));
243
+ const dy = Math.max(top - local.y, Math.min(0, bottom - local.y - local.height));
244
+ left += dx;
245
+ baseline += dy;
246
+ ink = translate(ink, dx, dy);
247
+ local = translate(local, dx, dy);
248
+ shiftedSlot = { ...slot, x: slot.x + dx };
249
+ }
221
250
  // Authored 3px bearing tolerance never permits crossing another slot.
222
- if (local.x < slotStart - 3 ||
223
- local.x + local.width > slotStart + slot.safeWidth + 3 ||
251
+ if (local.x < cellLeft ||
252
+ local.x + local.width > cellRight ||
224
253
  local.y < top ||
225
254
  local.y + local.height > bottom)
226
255
  fits = false;
227
- cardTexts.push({ slot, text, baseline });
256
+ cardTexts.push({ slot: shiftedSlot, text, baseline });
228
257
  fragments.push({
229
258
  sourceLine: slot.line,
230
259
  sourceRun: slot.run,
@@ -278,7 +307,7 @@ export function planSvgLayout(scene, request, options, suppliedResolver) {
278
307
  for (const paragraph of paragraphs) {
279
308
  const tokens = wrapTokens(paragraph);
280
309
  if (wrap)
281
- resolver.suggest?.(wrappingAlternatives(tokens));
310
+ resolver.suggest?.(tokens);
282
311
  const fragments = wrap
283
312
  ? wrapTokensToRows(tokens, request.width - 2 * padding, (runs) => {
284
313
  const rowSize = Math.max(8, ...runs.map((run) => run.style.fontSize));
@@ -372,16 +401,19 @@ export function planSvgLayout(scene, request, options, suppliedResolver) {
372
401
  const measuredQuality = quality(selected.fragments);
373
402
  if (measuredQuality === "estimated")
374
403
  diagnostics.push(issue("unverified-font-metrics", "Font bounds are estimated. Measure these fragments explicitly for this environment."));
375
- if (measuredQuality === "measured-local-font")
404
+ if (selected.fragments.some((fragment) => fragment.quality === "measured-local-font"))
376
405
  diagnostics.push(issue("platform-font-variation", "Recipient fonts may differ from these local measurements."));
377
- const requests = [...resolver.requests.values()].filter((r) => !resolver.available.has(r.key));
406
+ const requests = resolver.measurementBatch();
407
+ if (floorPreserving &&
408
+ requests.length < resolver.requests.size - resolver.available.size)
409
+ diagnostics.push(issue("measurement-batch-limited", "Font batch capped; remaining text stays estimated."));
378
410
  if (options.measurements && requests.length)
379
411
  diagnostics.push(issue("stale-measurement", "Unmeasured fragments and sizes remain estimated."));
380
412
  const width = displayScale === null ? null : request.width * displayScale, height = displayScale === null ? null : selected.height * displayScale;
381
- if (height !== null && height > LIMITS.svgHeight)
382
- fitFailure("below-readable-size", "Proportional display height exceeds 400 pixels.");
413
+ // Output sizing owns the hard display-height limit. Preflight must still
414
+ // collect font data that can replace these estimated content bounds.
383
415
  const report = {
384
- algorithm: "fit/v1",
416
+ algorithm: request.algorithm,
385
417
  profile,
386
418
  variant: cardLayout?.compact ? "compact" : "standard",
387
419
  artboard: { width: request.width, height: selected.height },
@@ -1 +1 @@
1
- {"version":3,"file":"planner.js","sourceRoot":"","sources":["../../src/layout/planner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"planner.js","sourceRoot":"","sources":["../../src/layout/planner.ts"],"names":[],"mappings":"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"}
@@ -67,7 +67,7 @@ export function renderWithLayout(scene, motion, options) {
67
67
  if (runs.some((r) => r.text &&
68
68
  r.style.fontSize * scale <
69
69
  (descriptor?.group === "Useful" && r.style.fontSize >= 14 ? 12 : 8)))
70
- fail("below-readable-size", "Fixed display sizing would violate the default readable font floor. Choose a larger width, explicit fitting or plain text.", ["sizing"]);
70
+ fail("below-readable-size", "Text is too small. Enlarge output or use plain text.", ["sizing"]);
71
71
  }
72
72
  if (displayHeight > LIMITS.svgHeight)
73
73
  fail("invalid-options", "Proportional display height exceeds 400 pixels.", [
@@ -1 +1 @@
1
- {"version":3,"file":"render.js","sourceRoot":"","sources":["../../src/layout/render.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAkB,MAAM,qBAAqB,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AACvD,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAErE,MAAM,UAAU,gBAAgB,CAC9B,KAAc,EACd,MAAe,EACf,OAAuB;IAEvB,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM;QAAE,OAAO,SAAS,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IACxE,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM;QACzB,CAAC,CAAC,aAAa,CAAC,KAAK,EAAE,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC;QAC/C,CAAC,CAAC,SAAS,CAAC;IACd,MAAM,MAAM,GAAG,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;IAC9C,MAAM,KAAK,GAAG,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;IACjE,MAAM,MAAM,GAAG,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;IACpE,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAC9B,MAAM,WAAW,GAAiB;QAChC,GAAG,MAAM,CAAC,WAAW;QACrB,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,WAAW,IAAI,EAAE,CAAC;KACpC,CAAC;IACF,IAAI,MAAM,EAAE,IAAI,KAAK,wBAAwB,EAAE,CAAC;QAC9C,IAAI,MAAM,CAAC,QAAQ,GAAG,KAAK;YACzB,IAAI,CACF,oBAAoB,EACpB,2DAA2D,EAC3D,CAAC,QAAQ,CAAC,CACX,CAAC;QACJ,MAAM,KAAK,GAAG,MAAM,GAAG,KAAK,EAC1B,QAAQ,GAAG,MAAM,CAAC,YAAY,IAAI,IAAI,CAAC;QACzC,IAAI,MAAM,CAAC,QAAQ,GAAG,KAAK,GAAG,MAAM,CAAC,SAAS;YAC5C,IAAI,CACF,iBAAiB,EACjB,iDAAiD,EACjD,CAAC,QAAQ,CAAC,CACX,CAAC;QACJ,WAAW,CAAC,IAAI,CACd;YACE,IAAI,EAAE,+BAA+B;YACrC,QAAQ,EAAE,SAAS;YACnB,IAAI,EAAE,CAAC,QAAQ,CAAC;YAChB,OAAO,EACL,wFAAwF;SAC3F,EACD;YACE,IAAI,EAAE,6BAA6B;YACnC,QAAQ,EAAE,SAAS;YACnB,IAAI,EAAE,CAAC,QAAQ,CAAC;YAChB,OAAO,EACL,6GAA6G;SAChH,CACF,CAAC;QACF,OAAO;YACL,GAAG,MAAM;YACT,WAAW;YACX,KAAK,EAAE,MAAM,CAAC,QAAQ;YACtB,MAAM,EAAE,MAAM,CAAC,QAAQ,GAAG,KAAK;YAC/B,cAAc,EAAE,OAAO,SAAS,CAAC,CAAC,MAAM,CAAC,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,SAAS,CAAC,EAAE,GAAG,QAAQ,GAAG,KAAK,CAAC,UAAU,SAAS,CAAC,MAAM,CAAC,QAAQ,GAAG,CAAC,CAAC,OAAO,SAAS,CAAC,EAAE,GAAG,QAAQ,CAAC,IAAI;YACjL,MAAM,EAAE;gBACN,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,QAAQ,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE;gBAC3B,oBAAoB,EAAE,IAAI;gBAC1B,qBAAqB,EAAE,IAAI;gBAC3B,YAAY,EAAE,IAAI;gBAClB,kBAAkB,EAAE,SAAS;aAC9B;YACD,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACzC,CAAC;IACJ,CAAC;IACD,MAAM,YAAY,GAAG,MAAM,EAAE,KAAK,IAAI,KAAK,EACzC,aAAa,GAAG,CAAC,YAAY,GAAG,MAAM,CAAC,GAAG,KAAK,CAAC;IAClD,IAAI,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;QACpB,MAAM,UAAU,GAAG,KAAK,CAAC,YAAY;YACnC,CAAC,CAAC,sBAAsB,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC;YACpD,CAAC,CAAC,SAAS,CAAC;QACd,MAAM,KAAK,GACT,CAAC,YAAY,GAAG,KAAK,CAAC;YACtB,CAAC,UAAU;gBACT,CAAC,CAAC,IAAI,CAAC,GAAG,CACN,CAAC,KAAK,GAAG,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,GAAG,EACzC,CAAC,MAAM,GAAG,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,GAAG,CAC3C;gBACH,CAAC,CAAC,CAAC,CAAC,CAAC;QACT,MAAM,IAAI,GAAG,UAAU;YACrB,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAE,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAE,CAAC;YAChE,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACvC,IACE,IAAI,CAAC,IAAI,CACP,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC,CAAC,IAAI;YACN,CAAC,CAAC,KAAK,CAAC,QAAQ,GAAG,KAAK;gBACtB,CAAC,UAAU,EAAE,KAAK,KAAK,QAAQ,IAAI,CAAC,CAAC,KAAK,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CACxE;YAED,IAAI,CACF,qBAAqB,EACrB,4HAA4H,EAC5H,CAAC,QAAQ,CAAC,CACX,CAAC;IACN,CAAC;IACD,IAAI,aAAa,GAAG,MAAM,CAAC,SAAS;QAClC,IAAI,CAAC,iBAAiB,EAAE,iDAAiD,EAAE;YACzE,QAAQ;SACT,CAAC,CAAC;IACL,OAAO;QACL,GAAG,MAAM;QACT,KAAK,EAAE,YAAY;QACnB,MAAM,EAAE,aAAa;QACrB,WAAW;QACX,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACxC,GAAG,CAAC,MAAM,IAAI,IAAI;YAChB,CAAC,CAAC;gBACE,MAAM,EAAE;oBACN,IAAI,EAAE,OAAgB;oBACtB,QAAQ,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE;oBAC3B,oBAAoB,EAAE,YAAY;oBAClC,qBAAqB,EAAE,aAAa;oBACpC,YAAY,EAAE,YAAY,GAAG,KAAK;oBAClC,kBAAkB,EAAE,IAAI;wBACtB,CAAC,CAAE,uBAAiC;wBACpC,CAAC,CAAE,qBAA+B;iBACrC;aACF;YACH,CAAC,CAAC,EAAE,CAAC;KACR,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"render.js","sourceRoot":"","sources":["../../src/layout/render.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import type { ExportOptions, SceneV1, TextStyle, Diagnostic } from "./types.js";
2
+ export type LayoutAlgorithm = "fit/v1" | "fit/v2";
2
3
  export interface LayoutRequest {
3
- readonly algorithm: "fit/v1";
4
+ readonly algorithm: LayoutAlgorithm;
4
5
  readonly width: number;
5
6
  readonly maxHeight: number;
6
7
  readonly variant: "standard" | "compact" | "auto";
@@ -25,7 +26,7 @@ export interface PaintBounds {
25
26
  /** Text is shaped as a complete fragment. The key is validated against every field. */
26
27
  export interface TextMeasurementRequest {
27
28
  readonly key: string;
28
- readonly algorithm: "fit/v1";
29
+ readonly algorithm: LayoutAlgorithm;
29
30
  readonly profile: string;
30
31
  readonly text: string;
31
32
  readonly style: TextStyle;
@@ -61,7 +62,7 @@ export interface LayoutFragment {
61
62
  readonly quality: MeasurementQuality;
62
63
  }
63
64
  export interface LayoutReport {
64
- readonly algorithm: "fit/v1";
65
+ readonly algorithm: LayoutAlgorithm;
65
66
  readonly profile: string;
66
67
  readonly variant: "standard" | "compact";
67
68
  readonly artboard: {
@@ -77,6 +78,7 @@ export interface LayoutReport {
77
78
  readonly ink: PaintBounds;
78
79
  }[];
79
80
  readonly visualRows: number;
81
+ /** Candidate scale; fit/v2 clamps each field separately at its readable floor. */
80
82
  readonly contentScale: number;
81
83
  readonly displayScale: number | null;
82
84
  readonly resolvedDisplayWidth: number | null;
@@ -1 +1 @@
1
- {"version":3,"file":"layout.d.ts","sourceRoot":"","sources":["../../src/model/layout.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"layout.d.ts","sourceRoot":"","sources":["../../src/model/layout.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,9 @@
1
- import type { PresentationDescriptor, TextStyle } from "../model/types.js";
2
- export declare const SEPARATOR_STYLE: TextStyle;
1
+ import type { PresentationDescriptor, PresentationSlot, TextStyle } from "../model/types.js";
2
+ export type RuntimeSlot = PresentationSlot;
3
+ export type RuntimePresentation = Omit<PresentationDescriptor, "slots" | "parameters" | "accentGeometry" | "name" | "renderers"> & {
4
+ readonly slots: readonly RuntimeSlot[];
5
+ };
3
6
  export declare function getPresentationDescriptors(): readonly PresentationDescriptor[];
4
- export declare function presentationDescriptor(profile: string): PresentationDescriptor | undefined;
7
+ export declare const SEPARATOR_STYLE: TextStyle;
8
+ export declare function presentationDescriptor(profile: string): RuntimePresentation | undefined;
5
9
  //# sourceMappingURL=catalog.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"catalog.d.ts","sourceRoot":"","sources":["../../src/presentations/catalog.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAEV,sBAAsB,EAEtB,SAAS,EACV,MAAM,mBAAmB,CAAC;AA4+C3B,eAAO,MAAM,eAAe,EAAE,SAM5B,CAAC;AACH,wBAAgB,0BAA0B,IAAI,SAAS,sBAAsB,EAAE,CAE9E;AACD,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,MAAM,GACd,sBAAsB,GAAG,SAAS,CAEpC"}
1
+ {"version":3,"file":"catalog.d.ts","sourceRoot":"","sources":["../../src/presentations/catalog.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAEV,sBAAsB,EACtB,gBAAgB,EAEhB,SAAS,EACV,MAAM,mBAAmB,CAAC;AAE3B,MAAM,MAAM,WAAW,GAAG,gBAAgB,CAAC;AAC3C,MAAM,MAAM,mBAAmB,GAAG,IAAI,CACpC,sBAAsB,EACtB,OAAO,GAAG,YAAY,GAAG,gBAAgB,GAAG,MAAM,GAAG,WAAW,CACjE,GAAG;IAAE,QAAQ,CAAC,KAAK,EAAE,SAAS,WAAW,EAAE,CAAA;CAAE,CAAC;AAiZ/C,wBAAgB,0BAA0B,IAAI,SAAS,sBAAsB,EAAE,CA+B9E;AACD,eAAO,MAAM,eAAe,EAAE,SAM5B,CAAC;AACH,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,MAAM,GACd,mBAAmB,GAAG,SAAS,CAEjC"}