@invarn/cibuild 2.5.2 → 2.5.4
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.
|
@@ -83,6 +83,17 @@ export interface LayoutNode {
|
|
|
83
83
|
* packages generated before the emitter tracked it, on non-text nodes, and
|
|
84
84
|
* whenever the capture could not resolve — no signal, never a divergence. */
|
|
85
85
|
resolvedTypeface?: TypefaceSpec;
|
|
86
|
+
/** The TYPE METRICS this node's text was laid out with (typography facts 01),
|
|
87
|
+
* in sp: the layout input's own style, which is the style that produced the
|
|
88
|
+
* layout. A separate field from `resolvedTypeface` on purpose — that capture
|
|
89
|
+
* needs per-glyph shaping (API 31+) and is frequently absent, while these are
|
|
90
|
+
* read straight off a style, so coupling them would make a size uncomparable
|
|
91
|
+
* on every proof that renders below the shaping seam.
|
|
92
|
+
*
|
|
93
|
+
* Absent on non-text nodes, in dumps from packages generated before the
|
|
94
|
+
* emitter tracked it, and PER METRIC when the style declares one in anything
|
|
95
|
+
* but sp — no signal, never a divergence. */
|
|
96
|
+
typeMetrics?: TypeMetrics;
|
|
86
97
|
/** What the node PAINTS, as distinct from the box it occupies. `Icon(N.dp)`
|
|
87
98
|
* paints `N × (path bounds ÷ viewport)` — 62.5% for a typical close glyph —
|
|
88
99
|
* while a design reference's key for an icon is its vector PATH box, which is
|
|
@@ -511,6 +522,26 @@ export type AppearanceFact = {
|
|
|
511
522
|
rendered: TypefaceSpec;
|
|
512
523
|
reference: TypefaceSpec;
|
|
513
524
|
}
|
|
525
|
+
/** ONE type metric — size, tracking or leading — diverges from the design, in
|
|
526
|
+
* sp (typography facts 01).
|
|
527
|
+
*
|
|
528
|
+
* One fact PER METRIC rather than one carrying all three: downstream finding
|
|
529
|
+
* identity is `screen + element + category`, so two metrics folded into a
|
|
530
|
+
* single fact would collapse into one finding and silently drop the other —
|
|
531
|
+
* and the motivating case diverged in TWO of them at once (18sp against 16sp,
|
|
532
|
+
* with −0.6 tracking). A separate fact per metric is what keeps both
|
|
533
|
+
* reportable.
|
|
534
|
+
*
|
|
535
|
+
* Emitted only when BOTH sides declare the metric: a design that says nothing
|
|
536
|
+
* about tracking is not asserting 0. */
|
|
537
|
+
| {
|
|
538
|
+
kind: 'type_metric';
|
|
539
|
+
elementId: string;
|
|
540
|
+
channel: 'text';
|
|
541
|
+
metric: TypeMetricKey;
|
|
542
|
+
rendered: number;
|
|
543
|
+
reference: number;
|
|
544
|
+
}
|
|
514
545
|
/** In the reference, not rendered. */
|
|
515
546
|
| {
|
|
516
547
|
kind: 'element_missing';
|
|
@@ -528,7 +559,28 @@ export type AppearanceFact = {
|
|
|
528
559
|
export interface TypefaceSpec {
|
|
529
560
|
family: string;
|
|
530
561
|
weight?: number;
|
|
531
|
-
|
|
562
|
+
/** Design-side type metrics in sp (typography facts 01), carried on the same
|
|
563
|
+
* reference entry as the family because they arrive on the same channel and
|
|
564
|
+
* describe the same thing: the type. The RENDERED side keeps them in its own
|
|
565
|
+
* map (`DumpNode.typeMetrics`), because its family capture has an API floor
|
|
566
|
+
* these do not. Each is absent when the design declares no value for it. */
|
|
567
|
+
fontSize?: number;
|
|
568
|
+
letterSpacing?: number;
|
|
569
|
+
lineHeight?: number;
|
|
570
|
+
}
|
|
571
|
+
/** The metrics a text node was laid out with, in sp. Every field optional: a
|
|
572
|
+
* style may declare a size and no tracking, and a metric declared in Em or left
|
|
573
|
+
* Unspecified is omitted rather than converted — it is not comparable against a
|
|
574
|
+
* design that declares absolute sp. */
|
|
575
|
+
export interface TypeMetrics {
|
|
576
|
+
fontSize?: number;
|
|
577
|
+
letterSpacing?: number;
|
|
578
|
+
lineHeight?: number;
|
|
579
|
+
}
|
|
580
|
+
/** The metrics a `type_metric` fact can report, in the order a finding reads
|
|
581
|
+
* them: the size first (it explains the others), then tracking, then leading. */
|
|
582
|
+
export declare const TYPE_METRIC_KEYS: readonly ["fontSize", "letterSpacing", "lineHeight"];
|
|
583
|
+
export type TypeMetricKey = (typeof TYPE_METRIC_KEYS)[number];
|
|
532
584
|
/**
|
|
533
585
|
* A reference-shaped snapshot of the render's OWN appearance — the element-id
|
|
534
586
|
* set plus per-element text/colors it produced. Persisted in the structural
|
|
@@ -824,6 +876,24 @@ export type TypefaceSource = Record<string, TypefaceSpec | undefined>;
|
|
|
824
876
|
* element id). Measurement only — significance is a later, separately-wired concern.
|
|
825
877
|
*/
|
|
826
878
|
export declare function deriveTypefaceFacts(rendered: TypefaceSource, reference: TypefaceSource): AppearanceFact[];
|
|
879
|
+
/** Per-element type metrics, keyed like every other appearance source. */
|
|
880
|
+
export type TypeMetricSource = Record<string, TypeMetrics | undefined>;
|
|
881
|
+
/**
|
|
882
|
+
* Type-metric facts from the per-element comparison of the LAID-OUT metrics
|
|
883
|
+
* against the design's, keyed on the stable element id shared with Signal B.
|
|
884
|
+
*
|
|
885
|
+
* For each element the reference declares and the render measured, each of the
|
|
886
|
+
* three metrics is compared independently and emits its own fact when the two
|
|
887
|
+
* differ by more than the sub-unit tolerance. A metric missing on EITHER side is
|
|
888
|
+
* no signal and yields no fact — a design that declares no tracking is not
|
|
889
|
+
* asserting zero, and a style that leaves leading Unspecified has not chosen a
|
|
890
|
+
* value to be wrong about.
|
|
891
|
+
*
|
|
892
|
+
* Pure and platform-agnostic; deterministic (sorted by element id, then by the
|
|
893
|
+
* metric order a finding reads them in). Measurement only — significance and
|
|
894
|
+
* wording live downstream.
|
|
895
|
+
*/
|
|
896
|
+
export declare function deriveTypeMetricFacts(rendered: TypeMetricSource, reference: TypefaceSource): AppearanceFact[];
|
|
827
897
|
/**
|
|
828
898
|
* Assemble the inline `structural` block (ADR-0004): Signal-A facts always, plus
|
|
829
899
|
* the Signal-B geometry block when `referenceGeometry` is supplied. Size (w/h)
|
|
@@ -914,6 +984,7 @@ export declare function getGeometryStageInternals(): {
|
|
|
914
984
|
deriveLineFacts: (rendered: RenderedLines, reference: LineSource) => AppearanceFact[];
|
|
915
985
|
deriveColorFacts: (rendered: ColorSource, reference: ColorSource) => AppearanceFact[];
|
|
916
986
|
deriveTypefaceFacts: (rendered: TypefaceSource, reference: TypefaceSource) => AppearanceFact[];
|
|
987
|
+
deriveTypeMetricFacts: (rendered: TypeMetricSource, reference: TypefaceSource) => AppearanceFact[];
|
|
917
988
|
buildAppearanceReferenceFromParams: (params: AppearanceReferenceParams) => AppearanceReference | null;
|
|
918
989
|
ciede2000: (lab1: Lab, lab2: Lab) => number;
|
|
919
990
|
hexToLab: (hex: string) => Lab;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"structural-facts.d.ts","sourceRoot":"","sources":["../../../../src/yaml/steps/structural-facts.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"structural-facts.d.ts","sourceRoot":"","sources":["../../../../src/yaml/steps/structural-facts.ts"],"names":[],"mappings":"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"}
|
|
@@ -273,6 +273,9 @@ export function diffKeyGeometry(generated, reference, options = {}) {
|
|
|
273
273
|
}
|
|
274
274
|
return out;
|
|
275
275
|
}
|
|
276
|
+
/** The metrics a `type_metric` fact can report, in the order a finding reads
|
|
277
|
+
* them: the size first (it explains the others), then tracking, then leading. */
|
|
278
|
+
export const TYPE_METRIC_KEYS = ['fontSize', 'letterSpacing', 'lineHeight'];
|
|
276
279
|
function isNonEmptyRecord(value) {
|
|
277
280
|
return !!value && typeof value === 'object' && !Array.isArray(value) && Object.keys(value).length > 0;
|
|
278
281
|
}
|
|
@@ -865,6 +868,64 @@ export function deriveTypefaceFacts(rendered, reference) {
|
|
|
865
868
|
}
|
|
866
869
|
return facts;
|
|
867
870
|
}
|
|
871
|
+
/**
|
|
872
|
+
* Sub-unit tolerance for a type metric, in sp.
|
|
873
|
+
*
|
|
874
|
+
* Design tools and layout engines disagree in the last fraction of a point: a
|
|
875
|
+
* design exported at 15.999 against a style declaring 16 is the same type, and a
|
|
876
|
+
* fact for it would flap on every render forever. The band is deliberately well
|
|
877
|
+
* under the smallest difference anyone authors — no design system steps type by
|
|
878
|
+
* a tenth of a point — so it absorbs representation noise without absorbing a
|
|
879
|
+
* real divergence. The MEASUREMENT it guards is exact; this only decides whether
|
|
880
|
+
* there is anything to report (ADR-0004: strict, not loosen).
|
|
881
|
+
*/
|
|
882
|
+
const TYPE_METRIC_TOLERANCE_SP = 0.25;
|
|
883
|
+
/** A finite number, or undefined — the only values a metric may compare on. A
|
|
884
|
+
* NaN/Infinity that reached the dump is no measurement, not a zero. */
|
|
885
|
+
function finiteMetric(value) {
|
|
886
|
+
return typeof value === 'number' && Number.isFinite(value) ? value : undefined;
|
|
887
|
+
}
|
|
888
|
+
/**
|
|
889
|
+
* Type-metric facts from the per-element comparison of the LAID-OUT metrics
|
|
890
|
+
* against the design's, keyed on the stable element id shared with Signal B.
|
|
891
|
+
*
|
|
892
|
+
* For each element the reference declares and the render measured, each of the
|
|
893
|
+
* three metrics is compared independently and emits its own fact when the two
|
|
894
|
+
* differ by more than the sub-unit tolerance. A metric missing on EITHER side is
|
|
895
|
+
* no signal and yields no fact — a design that declares no tracking is not
|
|
896
|
+
* asserting zero, and a style that leaves leading Unspecified has not chosen a
|
|
897
|
+
* value to be wrong about.
|
|
898
|
+
*
|
|
899
|
+
* Pure and platform-agnostic; deterministic (sorted by element id, then by the
|
|
900
|
+
* metric order a finding reads them in). Measurement only — significance and
|
|
901
|
+
* wording live downstream.
|
|
902
|
+
*/
|
|
903
|
+
export function deriveTypeMetricFacts(rendered, reference) {
|
|
904
|
+
const facts = [];
|
|
905
|
+
for (const elementId of Object.keys(reference).sort()) {
|
|
906
|
+
const ref = reference[elementId];
|
|
907
|
+
const ren = rendered[elementId];
|
|
908
|
+
if (!ref || !ren)
|
|
909
|
+
continue;
|
|
910
|
+
for (const metric of TYPE_METRIC_KEYS) {
|
|
911
|
+
const referenceValue = finiteMetric(ref[metric]);
|
|
912
|
+
const renderedValue = finiteMetric(ren[metric]);
|
|
913
|
+
if (referenceValue === undefined || renderedValue === undefined)
|
|
914
|
+
continue;
|
|
915
|
+
if (Math.abs(renderedValue - referenceValue) <= TYPE_METRIC_TOLERANCE_SP)
|
|
916
|
+
continue;
|
|
917
|
+
facts.push({
|
|
918
|
+
kind: 'type_metric',
|
|
919
|
+
elementId,
|
|
920
|
+
channel: 'text',
|
|
921
|
+
metric,
|
|
922
|
+
rendered: renderedValue,
|
|
923
|
+
reference: referenceValue,
|
|
924
|
+
});
|
|
925
|
+
}
|
|
926
|
+
}
|
|
927
|
+
return facts;
|
|
928
|
+
}
|
|
868
929
|
const DEFAULT_SIZE_TOLERANCE_DP = 1;
|
|
869
930
|
/** Per-edge overhang (clip) delta tolerance, dp. Logged-in Δ9 flags, guest Δ2 passes. */
|
|
870
931
|
const DEFAULT_OVERHANG_TOLERANCE_DP = 2;
|
|
@@ -1103,6 +1164,17 @@ function generatedGeometryDp(dump, density) {
|
|
|
1103
1164
|
}
|
|
1104
1165
|
return out;
|
|
1105
1166
|
}
|
|
1167
|
+
/**
|
|
1168
|
+
* The persisted precision of a rendered box: 2 decimals. The paint is sub-dp,
|
|
1169
|
+
* and quantizing the box to whole dp moved it up to half a dp off the pixels
|
|
1170
|
+
* it describes — visibly mis-wrapped once evidence is magnified. Comparison
|
|
1171
|
+
* semantics do not move: deltas are computed from raw values and persisted
|
|
1172
|
+
* integer-rounded, the flag bands read raw deltas, and the judge rounds
|
|
1173
|
+
* rendered boxes back to whole dp on read.
|
|
1174
|
+
*/
|
|
1175
|
+
function roundMeasure(value) {
|
|
1176
|
+
return Number(value.toFixed(2));
|
|
1177
|
+
}
|
|
1106
1178
|
function referenceGeometryToDiffShape(referenceGeometry) {
|
|
1107
1179
|
const out = {};
|
|
1108
1180
|
for (const id of Object.keys(referenceGeometry)) {
|
|
@@ -1252,7 +1324,7 @@ export function buildStructuralBlock(dump, referenceGeometry, density, options =
|
|
|
1252
1324
|
design.y = r.y;
|
|
1253
1325
|
const element = {
|
|
1254
1326
|
id,
|
|
1255
|
-
rendered: { w:
|
|
1327
|
+
rendered: { w: roundMeasure(g.width), h: roundMeasure(g.height), x: roundMeasure(g.x ?? 0), y: roundMeasure(g.y ?? 0) },
|
|
1256
1328
|
design,
|
|
1257
1329
|
deltas,
|
|
1258
1330
|
sizeFlag,
|
|
@@ -1366,7 +1438,7 @@ export function buildStructuralBlock(dump, referenceGeometry, density, options =
|
|
|
1366
1438
|
emitted.add(node.id);
|
|
1367
1439
|
described.push({
|
|
1368
1440
|
id: node.id,
|
|
1369
|
-
rendered: { w:
|
|
1441
|
+
rendered: { w: roundMeasure(g.width), h: roundMeasure(g.height), x: roundMeasure(g.x ?? 0), y: roundMeasure(g.y ?? 0) },
|
|
1370
1442
|
});
|
|
1371
1443
|
}
|
|
1372
1444
|
if (geometry)
|
|
@@ -1396,6 +1468,7 @@ export function buildStructuralBlock(dump, referenceGeometry, density, options =
|
|
|
1396
1468
|
const renderedSpans = {};
|
|
1397
1469
|
const renderedLines = {};
|
|
1398
1470
|
const renderedTypeface = {};
|
|
1471
|
+
const renderedTypeMetrics = {};
|
|
1399
1472
|
for (const node of dump.nodes) {
|
|
1400
1473
|
if (typeof node.text === 'string')
|
|
1401
1474
|
renderedText[node.id] = node.text;
|
|
@@ -1426,6 +1499,20 @@ export function buildStructuralBlock(dump, referenceGeometry, density, options =
|
|
|
1426
1499
|
if (tf && typeof tf.family === 'string' && tf.family.length > 0) {
|
|
1427
1500
|
renderedTypeface[node.id] = typeof tf.weight === 'number' ? { family: tf.family, weight: tf.weight } : { family: tf.family };
|
|
1428
1501
|
}
|
|
1502
|
+
// The laid-out type metrics (typography facts 01), kept in their own map:
|
|
1503
|
+
// they are captured independently of the family above and must stay
|
|
1504
|
+
// comparable when it is absent.
|
|
1505
|
+
const tm = node.typeMetrics;
|
|
1506
|
+
if (tm && typeof tm === 'object') {
|
|
1507
|
+
const metrics = {};
|
|
1508
|
+
for (const key of TYPE_METRIC_KEYS) {
|
|
1509
|
+
const value = tm[key];
|
|
1510
|
+
if (typeof value === 'number' && Number.isFinite(value))
|
|
1511
|
+
metrics[key] = value;
|
|
1512
|
+
}
|
|
1513
|
+
if (Object.keys(metrics).length > 0)
|
|
1514
|
+
renderedTypeMetrics[node.id] = metrics;
|
|
1515
|
+
}
|
|
1429
1516
|
}
|
|
1430
1517
|
// Presence facts: element_extra requires the COMPLETE reference element
|
|
1431
1518
|
// inventory, which only the previous_render baseline carries (the prior
|
|
@@ -1477,6 +1564,12 @@ export function buildStructuralBlock(dump, referenceGeometry, density, options =
|
|
|
1477
1564
|
else {
|
|
1478
1565
|
appearanceFacts.push(...deriveTypefaceFacts(renderedTypeface, appearanceReference.typeface));
|
|
1479
1566
|
}
|
|
1567
|
+
// Type metrics ride the same reference channel but NOT the SDK guard: the
|
|
1568
|
+
// shaping seam that gates the family capture has nothing to do with
|
|
1569
|
+
// reading a style, and a proof rendered below SDK 31 still lays its text
|
|
1570
|
+
// out at a size. Gating them together would make a font size uncomparable
|
|
1571
|
+
// on exactly the older packages that most need checking.
|
|
1572
|
+
appearanceFacts.push(...deriveTypeMetricFacts(renderedTypeMetrics, appearanceReference.typeface));
|
|
1480
1573
|
}
|
|
1481
1574
|
// Border facts (property-recognizer 01). `styleChannels` is the emitter's own
|
|
1482
1575
|
// declaration that it can see borders; a package predating border capture
|
|
@@ -1532,6 +1625,11 @@ function sizeDeltaText(element) {
|
|
|
1532
1625
|
return `size ${signed(w)}×${signed(h)}`;
|
|
1533
1626
|
}
|
|
1534
1627
|
const signedDelta = (n) => (n > 0 ? `+${n}` : `${n}`);
|
|
1628
|
+
/** The review scaffold speaks in the judge's numbers: every rendered box is
|
|
1629
|
+
* read at whole dp, exactly as the judge quantizes on read — the persisted
|
|
1630
|
+
* box carries 2-decimal precision for display, and a row here must say what
|
|
1631
|
+
* the verdict's finding would say. */
|
|
1632
|
+
const judgeDp = (n) => Math.round(n);
|
|
1535
1633
|
/** "bottom 16dp" — flagged overhang edges, rendered side. */
|
|
1536
1634
|
function clipRenderedText(overhang) {
|
|
1537
1635
|
return overhang.deltas.map((d) => `${d.edge} ${overhang.rendered[d.edge]}dp`).join(', ');
|
|
@@ -1562,10 +1660,10 @@ function clipDeltaText(overhang, element) {
|
|
|
1562
1660
|
const designH = element.design?.h;
|
|
1563
1661
|
const renderedW = element.rendered?.w;
|
|
1564
1662
|
const renderedH = element.rendered?.h;
|
|
1565
|
-
if (designW != null && renderedW != null && renderedW !== designW)
|
|
1566
|
-
sizeParts.push(`w ${renderedW} vs ${designW}dp`);
|
|
1567
|
-
if (designH != null && renderedH != null && renderedH !== designH)
|
|
1568
|
-
sizeParts.push(`h ${renderedH} vs ${designH}dp`);
|
|
1663
|
+
if (designW != null && renderedW != null && judgeDp(renderedW) !== designW)
|
|
1664
|
+
sizeParts.push(`w ${judgeDp(renderedW)} vs ${designW}dp`);
|
|
1665
|
+
if (designH != null && renderedH != null && judgeDp(renderedH) !== designH)
|
|
1666
|
+
sizeParts.push(`h ${judgeDp(renderedH)} vs ${designH}dp`);
|
|
1569
1667
|
const sizeText = sizeParts.join(', ');
|
|
1570
1668
|
const frameSuffix = overhang.frameRelative ? ' tracking the frame (parent-relative)' : '';
|
|
1571
1669
|
causes.push(sizeText ? `the element's own size (${sizeText})${frameSuffix}` : `the element's own size${frameSuffix}`);
|
|
@@ -1624,7 +1722,7 @@ export function buildReviewScaffold(structural) {
|
|
|
1624
1722
|
// type.
|
|
1625
1723
|
rows.push({
|
|
1626
1724
|
element: el.id,
|
|
1627
|
-
rendered: `${el.rendered
|
|
1725
|
+
rendered: `${el.rendered ? judgeDp(el.rendered.w) : undefined}×${el.rendered ? judgeDp(el.rendered.h) : undefined}dp`,
|
|
1628
1726
|
design: `${el.design?.w}×${el.design?.h}dp`,
|
|
1629
1727
|
fact: sizeDeltaText(el),
|
|
1630
1728
|
verdict: null,
|
|
@@ -1935,6 +2033,16 @@ function referenceGeometryToDiffShape(referenceGeometry) {
|
|
|
1935
2033
|
return out;
|
|
1936
2034
|
}
|
|
1937
2035
|
|
|
2036
|
+
// The persisted precision of a rendered box: 2 decimals. The paint is sub-dp,
|
|
2037
|
+
// and quantizing the box to whole dp moved it up to half a dp off the pixels
|
|
2038
|
+
// it describes — visibly mis-wrapped once evidence is magnified. Comparison
|
|
2039
|
+
// semantics do not move: deltas are computed from raw values and persisted
|
|
2040
|
+
// integer-rounded, the flag bands read raw deltas, and the judge rounds
|
|
2041
|
+
// rendered boxes back to whole dp on read. Mirrors the typed roundMeasure.
|
|
2042
|
+
function roundMeasure(value) {
|
|
2043
|
+
return Number(value.toFixed(2));
|
|
2044
|
+
}
|
|
2045
|
+
|
|
1938
2046
|
var OVERHANG_EDGES = ['left', 'top', 'right', 'bottom'];
|
|
1939
2047
|
var OVERHANG_MIN_DP = 0.5;
|
|
1940
2048
|
|
|
@@ -2417,6 +2525,42 @@ function deriveTypefaceFacts(rendered, reference) {
|
|
|
2417
2525
|
return facts;
|
|
2418
2526
|
}
|
|
2419
2527
|
|
|
2528
|
+
// Signal C: type-metric facts (typography facts 01) — the laid-out size,
|
|
2529
|
+
// tracking and leading against the design's, in sp. Mirrors the typed
|
|
2530
|
+
// deriveTypeMetricFacts: one fact PER METRIC (finding identity is
|
|
2531
|
+
// screen+element+category, so folding metrics into one fact would collapse them
|
|
2532
|
+
// into one finding and drop the rest), both sides must declare the metric, and a
|
|
2533
|
+
// sub-unit difference is representation noise rather than a divergence.
|
|
2534
|
+
var TYPE_METRIC_KEYS = ['fontSize', 'letterSpacing', 'lineHeight'];
|
|
2535
|
+
var TYPE_METRIC_TOLERANCE_SP = 0.25;
|
|
2536
|
+
function finiteMetric(value) {
|
|
2537
|
+
return typeof value === 'number' && isFinite(value) ? value : undefined;
|
|
2538
|
+
}
|
|
2539
|
+
function deriveTypeMetricFacts(rendered, reference) {
|
|
2540
|
+
var facts = [];
|
|
2541
|
+
var ids = [];
|
|
2542
|
+
for (var rk in reference) { if (Object.prototype.hasOwnProperty.call(reference, rk)) ids.push(rk); }
|
|
2543
|
+
ids.sort();
|
|
2544
|
+
for (var i = 0; i < ids.length; i++) {
|
|
2545
|
+
var elementId = ids[i];
|
|
2546
|
+
var ref = reference[elementId];
|
|
2547
|
+
var ren = rendered[elementId];
|
|
2548
|
+
if (!ref || !ren) continue;
|
|
2549
|
+
for (var m = 0; m < TYPE_METRIC_KEYS.length; m++) {
|
|
2550
|
+
var metric = TYPE_METRIC_KEYS[m];
|
|
2551
|
+
var referenceValue = finiteMetric(ref[metric]);
|
|
2552
|
+
var renderedValue = finiteMetric(ren[metric]);
|
|
2553
|
+
if (referenceValue === undefined || renderedValue === undefined) continue;
|
|
2554
|
+
if (Math.abs(renderedValue - referenceValue) <= TYPE_METRIC_TOLERANCE_SP) continue;
|
|
2555
|
+
facts.push({
|
|
2556
|
+
kind: 'type_metric', elementId: elementId, channel: 'text', metric: metric,
|
|
2557
|
+
rendered: renderedValue, reference: referenceValue,
|
|
2558
|
+
});
|
|
2559
|
+
}
|
|
2560
|
+
}
|
|
2561
|
+
return facts;
|
|
2562
|
+
}
|
|
2563
|
+
|
|
2420
2564
|
// Signal C: assemble the AppearanceReference from a screen's reference params
|
|
2421
2565
|
// (issue 05). Built when ANY of geometry/text/color is present; elementIds is the
|
|
2422
2566
|
// UNION of their keys (geometry, then text, then color — deduped). Mirrors the
|
|
@@ -2624,7 +2768,7 @@ function buildStructuralBlock(dump, referenceGeometry, density, options, appeara
|
|
|
2624
2768
|
}
|
|
2625
2769
|
var element = {
|
|
2626
2770
|
id: id,
|
|
2627
|
-
rendered: { w:
|
|
2771
|
+
rendered: { w: roundMeasure(g.width), h: roundMeasure(g.height), x: roundMeasure(g.x), y: roundMeasure(g.y) },
|
|
2628
2772
|
design: { w: isNaN(r.width) ? undefined : r.width, h: isNaN(r.height) ? undefined : r.height },
|
|
2629
2773
|
deltas: deltas,
|
|
2630
2774
|
sizeFlag: sizeFlag,
|
|
@@ -2755,7 +2899,7 @@ function buildStructuralBlock(dump, referenceGeometry, density, options, appeara
|
|
|
2755
2899
|
emitted[dnode.id] = true;
|
|
2756
2900
|
described.push({
|
|
2757
2901
|
id: dnode.id,
|
|
2758
|
-
rendered: { w:
|
|
2902
|
+
rendered: { w: roundMeasure(dg.width), h: roundMeasure(dg.height), x: roundMeasure(dg.x == null ? 0 : dg.x), y: roundMeasure(dg.y == null ? 0 : dg.y) },
|
|
2759
2903
|
});
|
|
2760
2904
|
}
|
|
2761
2905
|
if (geometry) {
|
|
@@ -2780,6 +2924,7 @@ function buildStructuralBlock(dump, referenceGeometry, density, options, appeara
|
|
|
2780
2924
|
var renderedSpans = {};
|
|
2781
2925
|
var renderedLinesMap = {};
|
|
2782
2926
|
var renderedTypeface = {};
|
|
2927
|
+
var renderedTypeMetrics = {};
|
|
2783
2928
|
for (var ri = 0; ri < dump.nodes.length; ri++) {
|
|
2784
2929
|
var rnode = dump.nodes[ri];
|
|
2785
2930
|
renderedIds.push(rnode.id);
|
|
@@ -2804,6 +2949,19 @@ function buildStructuralBlock(dump, referenceGeometry, density, options, appeara
|
|
|
2804
2949
|
if (rtf && typeof rtf.family === 'string' && rtf.family.length > 0) {
|
|
2805
2950
|
renderedTypeface[rnode.id] = typeof rtf.weight === 'number' ? { family: rtf.family, weight: rtf.weight } : { family: rtf.family };
|
|
2806
2951
|
}
|
|
2952
|
+
// The laid-out type metrics (typography facts 01) — their own map, so a
|
|
2953
|
+
// size stays comparable on a dump whose family capture is absent.
|
|
2954
|
+
var rtm = rnode.typeMetrics;
|
|
2955
|
+
if (rtm && typeof rtm === 'object') {
|
|
2956
|
+
var metrics = {};
|
|
2957
|
+
var hasMetric = false;
|
|
2958
|
+
for (var tmk = 0; tmk < TYPE_METRIC_KEYS.length; tmk++) {
|
|
2959
|
+
var mkey = TYPE_METRIC_KEYS[tmk];
|
|
2960
|
+
var mval = rtm[mkey];
|
|
2961
|
+
if (typeof mval === 'number' && isFinite(mval)) { metrics[mkey] = mval; hasMetric = true; }
|
|
2962
|
+
}
|
|
2963
|
+
if (hasMetric) renderedTypeMetrics[rnode.id] = metrics;
|
|
2964
|
+
}
|
|
2807
2965
|
}
|
|
2808
2966
|
// Presence facts: element_extra needs the COMPLETE reference inventory —
|
|
2809
2967
|
// only the previous_render baseline carries it (figma's ids are a partial
|
|
@@ -2854,6 +3012,11 @@ function buildStructuralBlock(dump, referenceGeometry, density, options, appeara
|
|
|
2854
3012
|
var typefaceFacts = deriveTypefaceFacts(renderedTypeface, appearanceReference.typeface);
|
|
2855
3013
|
for (var tff = 0; tff < typefaceFacts.length; tff++) appearanceFacts.push(typefaceFacts[tff]);
|
|
2856
3014
|
}
|
|
3015
|
+
// Type metrics ride the same reference channel but NOT the SDK guard —
|
|
3016
|
+
// reading a style has nothing to do with the per-glyph shaping seam, and a
|
|
3017
|
+
// proof rendered below SDK 31 still lays its text out at a size.
|
|
3018
|
+
var metricFacts = deriveTypeMetricFacts(renderedTypeMetrics, appearanceReference.typeface);
|
|
3019
|
+
for (var tmf = 0; tmf < metricFacts.length; tmf++) appearanceFacts.push(metricFacts[tmf]);
|
|
2857
3020
|
}
|
|
2858
3021
|
// Border facts (property-recognizer 01). styleChannels is the emitter's own
|
|
2859
3022
|
// declaration that it can see borders; a package predating border capture
|
|
@@ -2933,8 +3096,11 @@ function clipDeltaText(overhang, element) {
|
|
|
2933
3096
|
var causes = [];
|
|
2934
3097
|
if (overhang.sizeDriven) {
|
|
2935
3098
|
var sizeParts = [];
|
|
2936
|
-
|
|
2937
|
-
|
|
3099
|
+
// The scaffold speaks in the judge's numbers: rendered boxes read at whole
|
|
3100
|
+
// dp, exactly as the judge quantizes on read (the persisted box carries
|
|
3101
|
+
// 2-decimal precision for display). Mirrors the typed judgeDp.
|
|
3102
|
+
if (element.design.w != null && Math.round(element.rendered.w) !== element.design.w) sizeParts.push('w ' + Math.round(element.rendered.w) + ' vs ' + element.design.w + 'dp');
|
|
3103
|
+
if (element.design.h != null && Math.round(element.rendered.h) !== element.design.h) sizeParts.push('h ' + Math.round(element.rendered.h) + ' vs ' + element.design.h + 'dp');
|
|
2938
3104
|
var sizeText = sizeParts.join(', ');
|
|
2939
3105
|
var frameSuffix = overhang.frameRelative ? ' tracking the frame (parent-relative)' : '';
|
|
2940
3106
|
causes.push(sizeText ? "the element's own size (" + sizeText + ')' + frameSuffix : "the element's own size" + frameSuffix);
|
|
@@ -2982,7 +3148,7 @@ function buildReviewScaffold(structural) {
|
|
|
2982
3148
|
if (el.sizeFlag) {
|
|
2983
3149
|
rows.push({
|
|
2984
3150
|
element: el.id,
|
|
2985
|
-
rendered: el.rendered.w + '×' + el.rendered.h + 'dp',
|
|
3151
|
+
rendered: Math.round(el.rendered.w) + '×' + Math.round(el.rendered.h) + 'dp',
|
|
2986
3152
|
design: el.design.w + '×' + el.design.h + 'dp',
|
|
2987
3153
|
fact: sizeDeltaText(el),
|
|
2988
3154
|
verdict: null,
|
|
@@ -3104,7 +3270,7 @@ function assembleStructural(entry, layoutSourcePath, allReferenceGeometry, densi
|
|
|
3104
3270
|
export function getGeometryStageInternals() {
|
|
3105
3271
|
const factory = new Function(RENDER_SCRIPT_FACTS_STAGE +
|
|
3106
3272
|
RENDER_SCRIPT_GEOMETRY_STAGE +
|
|
3107
|
-
'\nreturn { diffKeyGeometry: diffKeyGeometry, buildStructuralBlock: buildStructuralBlock, buildReviewScaffold: buildReviewScaffold, derivePresenceFacts: derivePresenceFacts, deriveCopyFacts: deriveCopyFacts, deriveSpanFacts: deriveSpanFacts, deriveLineFacts: deriveLineFacts, deriveColorFacts: deriveColorFacts, deriveTypefaceFacts: deriveTypefaceFacts, buildAppearanceReferenceFromParams: buildAppearanceReferenceFromParams, ciede2000: ciede2000, hexToLab: hexToLab };');
|
|
3273
|
+
'\nreturn { diffKeyGeometry: diffKeyGeometry, buildStructuralBlock: buildStructuralBlock, buildReviewScaffold: buildReviewScaffold, derivePresenceFacts: derivePresenceFacts, deriveCopyFacts: deriveCopyFacts, deriveSpanFacts: deriveSpanFacts, deriveLineFacts: deriveLineFacts, deriveColorFacts: deriveColorFacts, deriveTypefaceFacts: deriveTypefaceFacts, deriveTypeMetricFacts: deriveTypeMetricFacts, buildAppearanceReferenceFromParams: buildAppearanceReferenceFromParams, ciede2000: ciede2000, hexToLab: hexToLab };');
|
|
3108
3274
|
return factory();
|
|
3109
3275
|
}
|
|
3110
3276
|
//# sourceMappingURL=structural-facts.js.map
|