@pygmalionjs/pygmalion 0.18.0 → 0.19.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 CHANGED
@@ -574,10 +574,31 @@ entries use a bounded cache. Dispose the runtime when its font environment ends.
574
574
  Mixed text, bidi, connected/repeated content, unresolved typography and
575
575
  source-rendered text return named diagnostics in this first measurement API.
576
576
 
577
- These snapshots do not yet drive Workspace selection handles, parent layout or
578
- the built-in multiline exporter. Callers must preserve the captured lifetime and
579
- apply scene transforms and clips when consuming them. Measurement never rewrites
580
- canonical width/height, adds an undo entry or changes source files.
577
+ When both font capabilities are supplied, Workspace shares a disposable measured
578
+ scene between the canvas, selection handles, snapping, guides, alignment and
579
+ prototype wiring. Auto-height text keeps its authored minimum height when its
580
+ width changes; auto-width text owns both dimensions. Inspector sizes follow the
581
+ measured scene and derived dimensions cannot be overwritten by resize controls.
582
+ Pending or unavailable derived bounds stay unavailable to geometry commands.
583
+ Changing the document, page, source, mode or font registration cancels stale
584
+ geometry work and gestures. Late measurements never reset a camera the user moved.
585
+
586
+ This integration supports plain text under the existing bounded layout solver.
587
+ Non-start constraints under text-resized ancestors, mixed text and dynamic
588
+ prototype playback still need additional geometry integration. The built-in
589
+ multiline exporter is also separate work. Measurement never rewrites canonical
590
+ width/height, adds an undo entry or changes source files.
591
+
592
+ ### Inspect an existing variable binding
593
+
594
+ `resolveVariableModeForNode` and `resolveVariableModeForInstance` return the
595
+ requested collection mode and the scope that supplied it. Instance addresses
596
+ use the existing opaque override address; consumers do not reconstruct paths.
597
+ `planVariableOccurrence` captures one actual bound occurrence, its token
598
+ resolution (including the authored mode), scalar value and literal patch without
599
+ refreshing unrelated nodes. `projectVariableScalar` exposes the same validation
600
+ and own-node or sparse-override projection used by refresh. These reads do not
601
+ write either document or enable variable-library clipboard transfer.
581
602
 
582
603
  ## Local development
583
604
 
@@ -1,5 +1,5 @@
1
1
  import { jsx as p } from "react/jsx-runtime";
2
- import { n as C, R as g, aM as P, ck as R, cl as k, Y as E, cm as I, a7 as m, a4 as b } from "./runtime-B8Qu1ung.js";
2
+ import { n as C, R as g, aM as P, ck as R, cl as k, Y as E, cm as I, a7 as m, a4 as b } from "./runtime-DlZpODq8.js";
3
3
  import { useRef as L, useLayoutEffect as h } from "react";
4
4
  function v(n) {
5
5
  return `translate(${n.panX}px, ${n.panY}px) scale(${n.zoom})`;