Overlays ​Contract 2.0.0 · package sha256
a857eca95b35921109faf997094bb4192f12527d9d0fcd4be7e97f06425bad6e· generated fromconfigurator-runtime.d.tsbyservices/onsite-scripter/scripts/build-contract-docs.mjs; edit the source, not this file.
Interface · import type { Overlays } from '@holostep-configurators/runtime-client/contract'; · stable · since 2.0.0 · section 13. Overlays
Screen overlays. Declarative: the last call wins. Immediate configuration, not operations; during
a hold they apply at the reveal. A call made inside work is never staged, joined or rolled
back: a rollback or a supersede keeps the last call, which then shows over the old scene, so
set overlays for a generated product after its write resolves 'committed'. Style with ::part(badge), ::part(badge-label),
::part(ruler), ::part(ruler-label). Runtime overlays are never in a capture. The default
badge's edge keeps 3:1 contrast over any part behind it (WCAG 1.4.11), and system colours in
forced-colors mode; a ::part(badge) override keeps a 3:1 edge too.
| Member | Kind | Summary |
|---|---|---|
hotspots |
property | Runtime-drawn <button> badges with a text label, at world points. |
anchors |
property | Points tracked for your own DOM; positions arrive through 'anchors:moved'. |
dimensions |
method | Rulers for the matched parts' bounds; null hides them. |
export interface Overlays {
readonly hotspots: {
set(badges: readonly HotspotBadge[]): void;
clear?(): void;
};
readonly anchors: {
set(anchors: readonly AnchorSpec[], options?: AnchorOptions): void;
clear(): void;
};
dimensions(query: Query | null, options?: DimensionOptions): void;
}
| Rule | Result |
|---|---|
| 1. Neutral name | pass: Overlays names no product |
| 2. A precedent | not recorded: no ledger row (coverage.json) names this member or its owner |
| 3. Two apps, or labs | pass: 2 apps (fleet cross-check: app-37356bf09f, app-fd09090420) |
| 4. The cheaper fix first | not recorded per member (Appendix B decides it per need) |