COMPO · 11.02 · DISTANCE-TO-LANDMARK DESCRIPTORS

Distance
without
preference.

Geometric subject-to-FieldLandmark distance descriptors. The caller supplies an explicit owner-qualified subject point; 11.02 never guesses which part of a subject matters. U/V deltas are preserved directly. Isotropic distance is computed only inside an explicit common metric space, so a wide or tall field cannot silently distort geometry. Boundary distance requires real owner-qualified boundary evidence. Distance remains a descriptor — role applicability is 11.03, candidates/scoring are 11.04.

ModuleCompo 11.02
Scopedistance descriptors
Raw UVaxis descriptors only
Isotropicexplicit metric context
Metricsnone
NextSTOP

Measure proximity, do not interpret it

00 / distance only

11.02 measures subject-to-landmark geometry. It does not decide whether proximity is desirable.

ΔU / ΔV

always explicit

METRIC

only with context

NO SCORE

distance ≠ preference

The subject point is explicit

01 / subject point

11.02 never guesses which point of a subject should be compared with a landmark.

FieldSubjectPointEvidence {
  subjectEvidenceRef,
  subjectRef,

  sourceOwnerRef,
  meaningRef,

  canvasRef,
  fieldDomainRef,
  domainSnapshotRef,
  domainBindingRef,

  u,
  v,

  confidence,
  status,
  provenance,

  semanticConstraintRefs[]?,

  mutationAllowed: false
}

Axis deltas first

02 / POINT_UV

Point-to-point geometry always exposes independent U/V deltas.

deltaU = subject.u - landmark.u deltaV = subject.v - landmark.v absDeltaU = |deltaU| absDeltaV = |deltaV| IMPORTANT: sign = direction only zero = coincidence only

Perpendicular fraction distance

03 / constant lines

U and V lines expose signed and absolute perpendicular distance in their own fractional axis.

U_CONST_LINE: signedAxisDelta = subject.u - line.u absAxisFractionDistance = |signedAxisDelta| V_CONST_LINE: signedAxisDelta = subject.v - line.v absAxisFractionDistance = |signedAxisDelta|

Do not fake isotropy

04 / metric space

Raw UV Euclidean distance is not canonical because one U-fraction and one V-fraction may represent different physical lengths.

FieldMetricContext {
  metricContextRef,
  sourceOwnerRef,

  canvasRef,
  fieldDomainRef,
  domainSnapshotRef,

  metricSpaceKind,
  metricUnitRef,

  uMetricScale,
  vMetricScale,

  confidence,
  provenance,

  mutationAllowed: false
}
FORBIDDEN. Treating sqrt(du² + dv²) in raw UV as an isotropic physical distance without explicit scaling.

Common-length distance

05 / metric formulas

Once U and V are scaled into one explicit unit, isotropic distance is well-defined.

POINT_UV: metricDeltaU = deltaU * uMetricScale metricDeltaV = deltaV * vMetricScale metricDistance = hypot( metricDeltaU, metricDeltaV ) U_CONST_LINE: metricDistance = absAxisFractionDistance * uMetricScale V_CONST_LINE: metricDistance = absAxisFractionDistance * vMetricScale

Boundary distance needs real boundary evidence

06 / boundary

EDGE landmarks cannot be approximated by a silent rectangle.

BoundaryDistanceEvidence {
  evidenceRef,
  sourceOwnerRef,

  subjectEvidenceRef,
  landmarkRef,
  boundaryFeatureRef,

  metricContextRef,
  metricUnitRef,

  distanceValue,
  closestPointUV?,

  confidence,
  provenance,
  status,

  mutationAllowed: false
}

Metric N/A can coexist with valid axis descriptors

07 / partial availability

A missing metric context does not destroy valid fractional deltas.

POINT / LINE + valid UV evidence + no metric context descriptor.status = OK axis-fraction descriptors = OK metricDistanceStatus = N_A metricDistance = null BOUNDARY + no boundary-distance evidence descriptor.status = N_A

Distance lineage is explicit

08 / identity

The descriptor identity includes the exact subject evidence, landmark and metric/boundary evidence context.

descriptorRef = hash( subjectEvidenceRef, landmarkRef, domainBindingRef, metricContextRef?, boundaryDistanceEvidenceRef? ) same subject object + different subject anchor evidence → different descriptorRef

Nearest is diagnostic, not preferred

09 / diagnostic comparison

11.02 may order comparable metric distances for inspection, but cannot turn proximity into a compositional preference.

comparison requires: same subjectEvidenceRef same distanceSpaceRef same metricContextRef same metricUnitRef rank: geometric nearest only tie: same rank lexical descriptorRef: display order only meaning: GEOMETRIC_NEAREST_DIAGNOSTIC_ONLY

Distance ≠ fit

10 / interpretation firewall

All interpretation stays downstream.

distance = 0 != score 1 smaller distance != better larger distance != worse nearest landmark != preferred landmark role applicability → 11.03 candidate / score → 11.04

Geometry channel stays separate

11 / ownership

11.02 does not absorb alignment/grid semantics.

ResponsibilityOwner
FieldLandmark schema11.00
standard families11.01
distance descriptors11.02
role applicability / controlled avoidance11.03
candidate anchors / scoring11.04
AlignmentAnchorEvidenceTopic 10 — separate channel

Fix evidence, not foreign geometry

12 / correction

Wrong subject anchor or metric context generates an owner-qualified request.

LandmarkDistanceCorrectionRequest {
  correctionRequestRef,
  descriptorRef?,
  reasonCode,
  targetOwnerRef,
  evidenceRefs[],
  suggestedAction,

  mutationAllowed: false,
  provenance: DERIVED
}

Distance becomes calibration evidence

13 / IDEAS + DATA

The dataset preserves raw geometry and the exact metric context so later experiments can distinguish measurement from interpretation.

DATA: subject point lineage landmark lineage Δu / Δv line axis delta metric scales metric distance boundary evidence N_A / INVALID comparison context human reasons SEMANTICS: opaque EXPERIMENT: may test thresholds cannot rewrite 11.02 automatically

Why is the measurement misleading?

14 / human feedback

Human feedback can challenge the selected subject point, metric context or boundary evidence.

SUBJECT_POINT_WRONG SUBJECT_POINT_MEANING_WRONG METRIC_CONTEXT_WRONG METRIC_SCALE_WRONG BOUNDARY_DISTANCE_EVIDENCE_WRONG EXPECTED_DISTANCE_MISSING NEAREST_DIAGNOSTIC_MISLEADING_FOR_CONTEXT SEMANTIC_CONFLICT OTHER

Same UV delta, different physical distance

15 / Visual Lab

The visual counterexample shows why a common metric context is required.

A · POINT DELTAS Δu + Δv are explicit descriptors B · LINE DISTANCE perpendicular U-axis fraction distance C · BOUNDARY explicit boundary-distance evidence D · RAW UV IS NOT ISOTROPIC Δu=.25 can represent 100 px here Δv=.25 may represent 80 px common metric context required before isotropic comparison distance ≠ fit · nearest ≠ preferred · applicability → 11.03 · scoring → 11.04

11.02 distance regression

16 / deterministic tests

Tests cover subject/domain lineage, point/line formulas, metric scaling, boundary evidence, N/A semantics, comparison guards and ownership firewalls.

Tests not run yet.

DATA FOR LAYOUT ENGINE

17 / machine contract

Machine-readable 11.02 contract.

{
  "module": "Compo 11.02",
  "name": "distance_to_landmark_descriptors",
  "version": "1.0-canonical",
  "canonical_main_title": "Distance-to-landmark descriptors",
  "topic": "11_СИЛЬНЫЕ_ТОЧКИ_ПОЛЯ_И_ПРАВИЛО_ТРЕТЕЙ",
  "scope": "OWNER_QUALIFIED_SUBJECT_TO_FIELDLANDMARK_DISTANCE_DESCRIPTORS_WITH_EXPLICIT_METRIC_SPACE",
  "review_basis": {
    "previous_modules": [
      "Compo11.00 FieldLandmark schema",
      "Compo11.01 Thirds/quarters/center/edge landmarks"
    ],
    "related_owners_reviewed": [
      "Compo6.00 canvas/domain ownership",
      "Compo6.03 normalized axis-fraction / short-side-normalization conventions",
      "Compo10.01 signed geometric delta semantics as a firewall/comparison reference"
    ],
    "cross_cutting_instruction": "COMPO project instruction v2.0 IDEAS/LAB/DATA-aware"
  },
  "consumes": [
    "Compo11.00.FieldLandmark",
    "Compo11.00.FieldLandmarkDomainBinding",
    "Compo11.01 concrete landmark instances",
    "owner-qualified FieldSubjectPointEvidence",
    "optional owner-qualified FieldMetricContext",
    "optional owner-qualified BoundaryDistanceEvidence for BOUNDARY_FEATURE_REF",
    "optional opaque semanticConstraintRefs[]"
  ],
  "provides": [
    "FieldSubjectPointEvidence",
    "FieldMetricContext",
    "BoundaryDistanceEvidence",
    "LandmarkDistanceDescriptor",
    "LandmarkDistanceDiagnosticComparison",
    "LandmarkDistanceCorrectionRequest",
    "serializable distance observation"
  ],
  "owns_metrics": [],
  "descriptors_only": [
    "landmark.distance.deltaU",
    "landmark.distance.deltaV",
    "landmark.distance.absDeltaU",
    "landmark.distance.absDeltaV",
    "landmark.distance.signedAxisDelta",
    "landmark.distance.absAxisFractionDistance",
    "landmark.distance.metricDeltaU",
    "landmark.distance.metricDeltaV",
    "landmark.distance.metricDistance",
    "landmark.distance.metricDistanceStatus",
    "landmark.distance.closestPointUV",
    "landmark.distance.status"
  ],
  "subject_point_schema": {
    "subjectEvidenceRef": "stable owner-qualified evidence identity",
    "subjectRef": "subject identity",
    "sourceOwnerRef": "geometry/subject evidence owner",
    "meaningRef": "opaque point meaning lineage; not interpreted by 11.02",
    "canvasRef": "exact canvas",
    "fieldDomainRef": "exact field domain",
    "domainSnapshotRef": "compatible versioned domain snapshot",
    "domainBindingRef": "exact 11.00 binding",
    "u": "finite [0,1] or null when N_A",
    "v": "finite [0,1] or null when N_A",
    "confidence": "0..1 evidence confidence",
    "status": "OK|N_A|INVALID",
    "provenance": "canonical provenance class",
    "semanticConstraintRefs": "optional opaque refs",
    "mutationAllowed": false
  },
  "metric_context_schema": {
    "metricContextRef": "stable owner-qualified metric-space identity",
    "sourceOwnerRef": "normalization/mapping owner",
    "canvasRef": "exact canvas",
    "fieldDomainRef": "exact field domain",
    "domainSnapshotRef": "compatible snapshot",
    "metricSpaceKind": "FIELD_ISOTROPIC_NORMALIZED|OWNER_DEFINED_ISOTROPIC",
    "metricUnitRef": "common unit token for U and V scaled distances",
    "uMetricScale": "strictly positive finite metric units per 1.0 U",
    "vMetricScale": "strictly positive finite metric units per 1.0 V",
    "confidence": "0..1 evidence confidence",
    "provenance": "canonical provenance class",
    "mutationAllowed": false
  },
  "boundary_distance_evidence_schema": {
    "evidenceRef": "stable owner-qualified distance evidence",
    "sourceOwnerRef": "boundary geometry / mapping adapter owner",
    "subjectEvidenceRef": "exact subject evidence",
    "landmarkRef": "exact EDGE/boundary landmark",
    "boundaryFeatureRef": "must match landmark geometry",
    "metricContextRef": "exact metric context used",
    "metricUnitRef": "must match metric context",
    "distanceValue": "finite >=0",
    "closestPointUV": "optional finite [0,1]^2 adapter evidence",
    "confidence": "0..1",
    "provenance": "canonical provenance class",
    "status": "OK|N_A|INVALID",
    "mutationAllowed": false
  },
  "distance_descriptor_schema": {
    "descriptorRef": "stable hash of subject evidence + landmark + metric/boundary evidence lineage",
    "subjectEvidenceRef": "exact subject evidence",
    "subjectRef": "subject identity",
    "landmarkRef": "exact FieldLandmark",
    "geometryKind": "POINT_UV|U_CONST_LINE|V_CONST_LINE|BOUNDARY_FEATURE_REF",
    "distanceSpaceRef": "AXIS_FRACTION:<domainBindingRef> or METRIC:<metricContextRef>",
    "deltaU": "POINT_UV signed subject-landmark delta; otherwise null",
    "deltaV": "POINT_UV signed subject-landmark delta; otherwise null",
    "absDeltaU": "POINT_UV absolute U delta; otherwise null",
    "absDeltaV": "POINT_UV absolute V delta; otherwise null",
    "signedAxisDelta": "line signed perpendicular delta; otherwise null",
    "absAxisFractionDistance": "line absolute fraction distance; otherwise null",
    "metricDeltaU": "POINT_UV scaled delta if metric context present",
    "metricDeltaV": "POINT_UV scaled delta if metric context present",
    "metricDistance": "isotropic/common-unit distance when supported",
    "metricDistanceStatus": "OK|N_A",
    "closestPointUV": "boundary evidence only, optional",
    "status": "OK|N_A|INVALID",
    "confidence": "minimum relevant evidence confidence",
    "provenance": "DERIVED",
    "score": "not owned",
    "mutationAllowed": false
  },
  "distance_formulas": {
    "POINT_UV": {
      "deltaU": "subject.u - landmark.u",
      "deltaV": "subject.v - landmark.v",
      "absDeltaU": "abs(deltaU)",
      "absDeltaV": "abs(deltaV)",
      "metricDeltaU": "deltaU * uMetricScale",
      "metricDeltaV": "deltaV * vMetricScale",
      "metricDistance": "hypot(metricDeltaU, metricDeltaV)"
    },
    "U_CONST_LINE": {
      "signedAxisDelta": "subject.u - landmark.u",
      "absAxisFractionDistance": "abs(signedAxisDelta)",
      "metricDistance": "absAxisFractionDistance * uMetricScale"
    },
    "V_CONST_LINE": {
      "signedAxisDelta": "subject.v - landmark.v",
      "absAxisFractionDistance": "abs(signedAxisDelta)",
      "metricDistance": "absAxisFractionDistance * vMetricScale"
    },
    "BOUNDARY_FEATURE_REF": {
      "metricDistance": "exact BoundaryDistanceEvidence.distanceValue only",
      "fallback": "NONE"
    }
  },
  "comparison_policy": {
    "purpose": "diagnostic nearest-by-distance only; never preference",
    "requires_same_subjectEvidenceRef": true,
    "requires_same_distanceSpaceRef": true,
    "metric_comparison_requires_same_metricContextRef": true,
    "metric_comparison_requires_same_metricUnitRef": true,
    "rankable": "descriptor.status=OK and metricDistanceStatus=OK with finite metricDistance",
    "ties": "same diagnostic rank",
    "lexical_order": "display only",
    "meaning": "GEOMETRIC_NEAREST_DIAGNOSTIC_ONLY"
  },
  "metric_policy": {
    "direct_scoring": "FORBIDDEN in 11.02",
    "distance_zero_means_good": "FORBIDDEN",
    "smaller_is_better": "FORBIDDEN",
    "larger_is_worse": "FORBIDDEN",
    "nearest_is_preferred": "FORBIDDEN",
    "raw_uv_euclidean_as_isotropic": "FORBIDDEN",
    "beautyScore": "FORBIDDEN"
  },
  "hard_constraints": [
    "11.02 owns subject-to-FieldLandmark geometric distance descriptors and their deterministic identity only.",
    "11.02 consumes FieldLandmark/domain contracts from 11.00 and concrete landmark instances from 11.01 without redefining family geometry.",
    "11.02 does not own landmark family definitions; 11.01 owns THIRDS/QUARTERS/CENTER/EDGE instantiation.",
    "11.02 does not decide role applicability, attraction, avoidance or controlled non-use; 11.03 owns those interpretations.",
    "11.02 does not generate placement candidates and does not score landmark fit; 11.04 owns candidate generation/local scoring/tests.",
    "A subject must be represented by explicit owner-qualified FieldSubjectPointEvidence; 11.02 does not infer which point of an object/text/image is compositionally meaningful.",
    "FieldSubjectPointEvidence meaningRef is opaque descriptive lineage; 11.02 does not interpret BBOX_CENTER, FOCAL_POINT, BASELINE_ANCHOR or any other semantic role.",
    "Subject point and landmark must bind to the same canvasRef, fieldDomainRef, compatible domainSnapshotRef and domainBindingRef.",
    "POINT_UV, U_CONST_LINE and V_CONST_LINE landmarks require a valid subject UV point.",
    "Missing subject u/v is N_A, not zero.",
    "Non-finite or out-of-range subject u/v is INVALID.",
    "POINT_UV signed deltas are deltaU = subject.u - landmark.u and deltaV = subject.v - landmark.v.",
    "Signed delta direction is deterministic geometry only; its sign does not mean attraction, avoidance, better or worse.",
    "POINT_UV always provides absDeltaU and absDeltaV when evidence is valid.",
    "U_CONST_LINE provides signedAxisDelta = subject.u - landmark.u and absAxisFractionDistance = abs(signedAxisDelta).",
    "V_CONST_LINE provides signedAxisDelta = subject.v - landmark.v and absAxisFractionDistance = abs(signedAxisDelta).",
    "Raw Euclidean distance sqrt(deltaU^2 + deltaV^2) in unscaled UV is not a canonical isotropic distance because U and V fractions can represent different physical lengths.",
    "11.02 must not silently treat one unit of U as equal to one unit of V.",
    "An isotropic point/line metric distance requires an explicit owner-qualified FieldMetricContext.",
    "FieldMetricContext supplies uMetricScale and vMetricScale in one common metricUnitRef.",
    "For POINT_UV, metricDeltaU = deltaU * uMetricScale and metricDeltaV = deltaV * vMetricScale.",
    "For POINT_UV, metricDistance = hypot(metricDeltaU, metricDeltaV).",
    "For U_CONST_LINE, metricDistance = abs(signedAxisDelta) * uMetricScale.",
    "For V_CONST_LINE, metricDistance = abs(signedAxisDelta) * vMetricScale.",
    "Metric scales must be finite and strictly positive.",
    "FieldMetricContext must bind to the same canvas/domain/snapshot as subject and landmark.",
    "A rectangular canvas implementation may consume short-side-normalized scales from the appropriate canvas/normalization owner, but 11.02 does not re-own canvas width/height normalization.",
    "If metric context is absent for POINT_UV/U_CONST_LINE/V_CONST_LINE, axis-fraction descriptors remain OK while metricDistance status is N_A.",
    "metricDistance N_A must never be converted to zero.",
    "BOUNDARY_FEATURE_REF distance requires explicit owner-qualified BoundaryDistanceEvidence or an explicit boundary-distance adapter result.",
    "11.02 does not approximate a boundary feature using u=0/u=1/v=0/v=1 or a bounding box.",
    "BoundaryDistanceEvidence must bind exact subjectEvidenceRef, landmarkRef, boundaryFeatureRef, metricUnitRef and domain lineage.",
    "BoundaryDistanceEvidence distanceValue must be finite and non-negative.",
    "BoundaryDistanceEvidence may include closestPointUV, but that point remains adapter evidence and does not become a new landmark.",
    "Boundary distance confidence cannot exceed the minimum confidence of subject, landmark, metric context and boundary-distance evidence used.",
    "Distance descriptor confidence is evidence confidence only, not quality of composition.",
    "Distance zero means geometric coincidence only.",
    "Distance zero does not mean score 1.",
    "Larger distance does not mean worse.",
    "Smaller distance does not mean better.",
    "No universal target distance is defined in 11.02.",
    "No universal nearest-landmark winner is defined in 11.02.",
    "11.02 may provide deterministic nearest-by-descriptor ordering only through an explicitly requested diagnostic helper; it must not label the nearest landmark as preferred.",
    "Cross-landmark comparison requires the same subjectEvidenceRef and compatible distanceSpaceRef/metricUnitRef.",
    "Axis-fraction distances on U and V axes must not be numerically compared as one isotropic ranking unless a common FieldMetricContext is applied.",
    "POINT_UV metric distance and line metric distance may be compared only when they share exact metricContextRef and metricUnitRef.",
    "Boundary metric distance may join such comparison only when its evidence declares the same metricContextRef and metricUnitRef.",
    "A nearest diagnostic tie remains a tie; lexical descriptorRef is display order only.",
    "DistanceDescriptor status is OK, N_A or INVALID.",
    "Metric sub-descriptor status is OK or N_A; malformed metric context makes the whole descriptor INVALID when explicitly supplied.",
    "N_A upstream subject/landmark evidence propagates as N_A.",
    "INVALID upstream subject/landmark evidence propagates as INVALID.",
    "11.02 owns no numeric MetricResult.",
    "All outputs are descriptors only.",
    "11.02 performs no local/global scoring.",
    "11.02 creates no placement candidate.",
    "11.02 emits no attraction/avoidance decision.",
    "11.02 emits no automatic snap/move request.",
    "Correction requests are owner-qualified and mutationAllowed=false.",
    "FieldLandmark remains distinct from Topic10 AlignmentAnchorEvidence.",
    "Distance-to-landmark remains distinct from Topic10 alignment offset; an explicit adapter would be required to bridge them.",
    "Grid topology and occupancy remain owned by Topics 8/9.",
    "SemanticConstraintRefs remain opaque deferred evidence.",
    "Module execution order is not rule priority.",
    "IDEA != CANON.",
    "EXPERIMENT != CANON.",
    "All subject evidence, landmark lineage, axis deltas, metric context, boundary distance evidence, N_A/INVALID reasons, comparisons and human feedback hooks must be serializable.",
    "N/A != 0.",
    "No beautyScore."
  ],
  "hard_rules": [
    "11.02 owns subject-to-FieldLandmark geometric distance descriptors and their deterministic identity only.",
    "11.02 consumes FieldLandmark/domain contracts from 11.00 and concrete landmark instances from 11.01 without redefining family geometry.",
    "11.02 does not own landmark family definitions; 11.01 owns THIRDS/QUARTERS/CENTER/EDGE instantiation.",
    "11.02 does not decide role applicability, attraction, avoidance or controlled non-use; 11.03 owns those interpretations.",
    "11.02 does not generate placement candidates and does not score landmark fit; 11.04 owns candidate generation/local scoring/tests.",
    "A subject must be represented by explicit owner-qualified FieldSubjectPointEvidence; 11.02 does not infer which point of an object/text/image is compositionally meaningful.",
    "FieldSubjectPointEvidence meaningRef is opaque descriptive lineage; 11.02 does not interpret BBOX_CENTER, FOCAL_POINT, BASELINE_ANCHOR or any other semantic role.",
    "Subject point and landmark must bind to the same canvasRef, fieldDomainRef, compatible domainSnapshotRef and domainBindingRef.",
    "POINT_UV, U_CONST_LINE and V_CONST_LINE landmarks require a valid subject UV point.",
    "Missing subject u/v is N_A, not zero.",
    "Non-finite or out-of-range subject u/v is INVALID.",
    "POINT_UV signed deltas are deltaU = subject.u - landmark.u and deltaV = subject.v - landmark.v.",
    "Signed delta direction is deterministic geometry only; its sign does not mean attraction, avoidance, better or worse.",
    "POINT_UV always provides absDeltaU and absDeltaV when evidence is valid.",
    "U_CONST_LINE provides signedAxisDelta = subject.u - landmark.u and absAxisFractionDistance = abs(signedAxisDelta).",
    "V_CONST_LINE provides signedAxisDelta = subject.v - landmark.v and absAxisFractionDistance = abs(signedAxisDelta).",
    "Raw Euclidean distance sqrt(deltaU^2 + deltaV^2) in unscaled UV is not a canonical isotropic distance because U and V fractions can represent different physical lengths.",
    "11.02 must not silently treat one unit of U as equal to one unit of V.",
    "An isotropic point/line metric distance requires an explicit owner-qualified FieldMetricContext.",
    "FieldMetricContext supplies uMetricScale and vMetricScale in one common metricUnitRef.",
    "For POINT_UV, metricDeltaU = deltaU * uMetricScale and metricDeltaV = deltaV * vMetricScale.",
    "For POINT_UV, metricDistance = hypot(metricDeltaU, metricDeltaV).",
    "For U_CONST_LINE, metricDistance = abs(signedAxisDelta) * uMetricScale.",
    "For V_CONST_LINE, metricDistance = abs(signedAxisDelta) * vMetricScale.",
    "Metric scales must be finite and strictly positive.",
    "FieldMetricContext must bind to the same canvas/domain/snapshot as subject and landmark.",
    "A rectangular canvas implementation may consume short-side-normalized scales from the appropriate canvas/normalization owner, but 11.02 does not re-own canvas width/height normalization.",
    "If metric context is absent for POINT_UV/U_CONST_LINE/V_CONST_LINE, axis-fraction descriptors remain OK while metricDistance status is N_A.",
    "metricDistance N_A must never be converted to zero.",
    "BOUNDARY_FEATURE_REF distance requires explicit owner-qualified BoundaryDistanceEvidence or an explicit boundary-distance adapter result.",
    "11.02 does not approximate a boundary feature using u=0/u=1/v=0/v=1 or a bounding box.",
    "BoundaryDistanceEvidence must bind exact subjectEvidenceRef, landmarkRef, boundaryFeatureRef, metricUnitRef and domain lineage.",
    "BoundaryDistanceEvidence distanceValue must be finite and non-negative.",
    "BoundaryDistanceEvidence may include closestPointUV, but that point remains adapter evidence and does not become a new landmark.",
    "Boundary distance confidence cannot exceed the minimum confidence of subject, landmark, metric context and boundary-distance evidence used.",
    "Distance descriptor confidence is evidence confidence only, not quality of composition.",
    "Distance zero means geometric coincidence only.",
    "Distance zero does not mean score 1.",
    "Larger distance does not mean worse.",
    "Smaller distance does not mean better.",
    "No universal target distance is defined in 11.02.",
    "No universal nearest-landmark winner is defined in 11.02.",
    "11.02 may provide deterministic nearest-by-descriptor ordering only through an explicitly requested diagnostic helper; it must not label the nearest landmark as preferred.",
    "Cross-landmark comparison requires the same subjectEvidenceRef and compatible distanceSpaceRef/metricUnitRef.",
    "Axis-fraction distances on U and V axes must not be numerically compared as one isotropic ranking unless a common FieldMetricContext is applied.",
    "POINT_UV metric distance and line metric distance may be compared only when they share exact metricContextRef and metricUnitRef.",
    "Boundary metric distance may join such comparison only when its evidence declares the same metricContextRef and metricUnitRef.",
    "A nearest diagnostic tie remains a tie; lexical descriptorRef is display order only.",
    "DistanceDescriptor status is OK, N_A or INVALID.",
    "Metric sub-descriptor status is OK or N_A; malformed metric context makes the whole descriptor INVALID when explicitly supplied.",
    "N_A upstream subject/landmark evidence propagates as N_A.",
    "INVALID upstream subject/landmark evidence propagates as INVALID.",
    "11.02 owns no numeric MetricResult.",
    "All outputs are descriptors only.",
    "11.02 performs no local/global scoring.",
    "11.02 creates no placement candidate.",
    "11.02 emits no attraction/avoidance decision.",
    "11.02 emits no automatic snap/move request.",
    "Correction requests are owner-qualified and mutationAllowed=false.",
    "FieldLandmark remains distinct from Topic10 AlignmentAnchorEvidence.",
    "Distance-to-landmark remains distinct from Topic10 alignment offset; an explicit adapter would be required to bridge them.",
    "Grid topology and occupancy remain owned by Topics 8/9.",
    "SemanticConstraintRefs remain opaque deferred evidence.",
    "Module execution order is not rule priority.",
    "IDEA != CANON.",
    "EXPERIMENT != CANON.",
    "All subject evidence, landmark lineage, axis deltas, metric context, boundary distance evidence, N_A/INVALID reasons, comparisons and human feedback hooks must be serializable.",
    "N/A != 0.",
    "No beautyScore."
  ],
  "soft_constraints": [],
  "preferences": [],
  "overrides_allowed_by": [
    "11.03 may interpret role/context applicability without changing geometric distances",
    "11.04 may convert explicit distance evidence into local candidate/fit logic under explicit targets",
    "a reviewed future metric-space adapter may add another owner-qualified isotropic distance space"
  ],
  "initial_heuristics": {
    "metric_context_requirement": {
      "value": "do not treat raw UV Euclidean distance as isotropic without explicit common-length scaling",
      "provenance": "IMPLEMENTATION_HEURISTIC",
      "warning": "protects aspect-ratio correctness; exact metric-space ownership remains upstream"
    }
  },
  "style_preset_values": [],
  "candidate_generation": {
    "placement_candidates": "NONE",
    "nearest_diagnostic_is_candidate_generation": false,
    "deferred_to": "Compo11.04"
  },
  "correction_policy": {
    "foreign_mutation": "FORBIDDEN",
    "wrong_subject_point": "owner-qualified correction request to subject geometry/semantic selector owner",
    "wrong_metric_context": "correction request to normalization/mapping owner",
    "missing_metric_context": "metricDistance N_A; keep axis-fraction descriptors where valid",
    "missing_boundary_distance_evidence": "boundary descriptor N_A",
    "role_applicability_disagreement": "defer to 11.03",
    "candidate/scoring_disagreement": "defer to 11.04"
  },
  "deferred_inputs": [
    "Compo11.03 role/semantic applicability, attraction/avoidance and controlled non-use",
    "Compo11.04 candidate generation/local scoring",
    "future canonical rule-priority/relaxation owner"
  ],
  "ideas_refs": [
    "IDEA-01",
    "IDEA-02",
    "IDEA-03",
    "IDEA-04",
    "IDEA-05",
    "IDEA-06",
    "IDEA-07"
  ],
  "ideas_impact": {
    "IDEA-01": "future human tests can compare perceived proximity thresholds without changing geometry",
    "IDEA-02": "subject meaningRef/semantic refs are preserved but not interpreted",
    "IDEA-03": "nearest landmark cannot silently establish priority",
    "IDEA-04": "distance descriptors become structured training/calibration evidence",
    "IDEA-05": "human correction reasons can identify wrong subject anchor or metric context",
    "IDEA-06": "all distance evidence is serialization-ready",
    "IDEA-07": "future text-to-graphic experiments may consume distances only through LAB/downstream candidate logic"
  },
  "data_capture": [
    "subjectEvidenceRef/subjectRef/meaningRef/sourceOwnerRef",
    "landmarkRef/familyRef/familyMemberRef/geometryKind",
    "domainBindingRef/domainSnapshotRef",
    "deltaU/deltaV/absDeltaU/absDeltaV",
    "signedAxisDelta/absAxisFractionDistance",
    "metricContextRef/metricUnitRef/uMetricScale/vMetricScale",
    "metricDeltaU/metricDeltaV/metricDistance/metricDistanceStatus",
    "BoundaryDistanceEvidence refs/distance/closestPointUV",
    "descriptor status/reasons/confidence",
    "diagnostic comparison context/ranks/ties",
    "semanticConstraintRefs presence without interpretation",
    "human feedback reason codes"
  ],
  "deferred_semantic_inputs": [
    "semanticObjectRef?",
    "semanticPartRef?",
    "semanticSensitiveZoneRef?",
    "semanticConstraintRefs[]",
    "subjectMeaningRef?",
    "intentRef?",
    "contentRoleRef?"
  ],
  "human_feedback_hooks": [
    "SUBJECT_POINT_WRONG",
    "SUBJECT_POINT_MEANING_WRONG",
    "METRIC_CONTEXT_WRONG",
    "METRIC_SCALE_WRONG",
    "BOUNDARY_DISTANCE_EVIDENCE_WRONG",
    "EXPECTED_DISTANCE_MISSING",
    "NEAREST_DIAGNOSTIC_MISLEADING_FOR_CONTEXT",
    "SEMANTIC_CONFLICT",
    "OTHER"
  ],
  "conflict_priority_assumptions": [
    "module execution order is not priority",
    "nearest landmark is not automatically applicable",
    "smaller distance does not override hard constraints",
    "smaller distance does not override semantic sensitive zones",
    "distance evidence does not override intentional landmark avoidance",
    "axis-fraction and metric distances are separate evidence channels unless explicit common metric context exists"
  ],
  "lab_hooks": [
    "LAB: human calibration of perceived near/far thresholds by landmark family",
    "LAB: compare raw UV versus aspect-correct metric distance as an experiment",
    "LAB: subject-anchor selection effects",
    "LAB: edge proximity perception",
    "LAB: nearest-landmark diagnostic versus human preferred placement",
    "LAB: semantic counterexamples where nearest landmark should not be used"
  ],
  "recompute_when": [
    "subject point evidence changes",
    "landmark identity/geometry changes",
    "domain binding/snapshot changes",
    "metric context/scales change",
    "boundary-distance evidence changes"
  ],
  "tests": [
    "subject validation",
    "same-domain/canvas lineage",
    "point deltas",
    "U/V line perpendicular distance",
    "metric scaling",
    "aspect-ratio-safe point metric distance",
    "missing metric context partial descriptor semantics",
    "boundary evidence exactness",
    "N_A/INVALID propagation",
    "comparison guards/ties",
    "no score/applicability/candidate leakage",
    "IDEAS/DATA/semantic/human/LAB hooks",
    "N_A != 0",
    "no beautyScore"
  ],
  "finality": "GEOMETRIC_DISTANCE_TO_FIELDLANDMARK_DESCRIPTORS_ONLY"
}
ARCHITECTURE CHECKPOINT · 11.02 OWNS ONLY SUBJECT-TO-FIELDLANDMARK GEOMETRIC DISTANCE DESCRIPTORS. SUBJECT POINT IS EXPLICIT OWNER-QUALIFIED EVIDENCE; 11.02 DOES NOT CHOOSE BBOX CENTER / FOCAL POINT / TEXT ANCHOR. POINT_UV ALWAYS EXPOSES ΔU/ΔV; U/V LINES EXPOSE PERPENDICULAR AXIS-FRACTION DISTANCE. RAW sqrt(Δu²+Δv²) IS NOT CANONICAL ISOTROPIC DISTANCE. COMMON METRIC DISTANCE REQUIRES EXPLICIT FieldMetricContext WITH U/V SCALES. BOUNDARY DISTANCE REQUIRES EXPLICIT BoundaryDistanceEvidence; NO RECTANGLE/BBOX FALLBACK. ZERO != GOOD. NEAREST != PREFERRED. DISTANCE != FIT. ROLE/APPLICABILITY → 11.03. CANDIDATES/SCORING → 11.04. NO METRICRESULT OWNED. NO FOREIGN MUTATION. MODULE ORDER != PRIORITY. IDEA != CANON. EXPERIMENT != CANON. N/A != 0. NO BEAUTYSCORE.
VISITS / ...