@pygmalionjs/pygmalion 0.7.4 → 0.8.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 (133) hide show
  1. package/README.ko.md +17 -2
  2. package/README.md +18 -2
  3. package/dist-lib/CameraLayer-nkNrazn8.js +159 -0
  4. package/dist-lib/pygmalion.js +14628 -16995
  5. package/dist-lib/runtime-DdYnT6k4.js +19705 -0
  6. package/dist-lib/style.css +1 -1
  7. package/dist-lib/testing.js +20 -21
  8. package/dist-lib/types/EditorShell.d.ts +1 -1
  9. package/dist-lib/types/canvas/CameraLayer.d.ts +3 -3
  10. package/dist-lib/types/canvas/Canvas.d.ts +2 -2
  11. package/dist-lib/types/canvas/FrameLabelBanner.d.ts +1 -1
  12. package/dist-lib/types/canvas/FrameView.d.ts +8 -2
  13. package/dist-lib/types/canvas/FrozenRoutePreview.d.ts +1 -1
  14. package/dist-lib/types/canvas/InspectOverlay.d.ts +4 -2
  15. package/dist-lib/types/canvas/LightweightCanvas.d.ts +1 -1
  16. package/dist-lib/types/canvas/SectionBoxes.d.ts +1 -1
  17. package/dist-lib/types/canvas/ShadowRoutePreview.d.ts +2 -2
  18. package/dist-lib/types/canvas/useFlowSession.d.ts +1 -1
  19. package/dist-lib/types/canvas/useFrameLod.d.ts +1 -1
  20. package/dist-lib/types/contract/transport.d.ts +5 -5
  21. package/dist-lib/types/contract/types.d.ts +1 -1
  22. package/dist-lib/types/contract/validate.d.ts +3 -3
  23. package/dist-lib/types/core/context.d.ts +2 -2
  24. package/dist-lib/types/core/debug.d.ts +14 -14
  25. package/dist-lib/types/core/hostBindings.d.ts +2 -2
  26. package/dist-lib/types/core/runtime.d.ts +34 -3
  27. package/dist-lib/types/core/runtimeContext.d.ts +3 -3
  28. package/dist-lib/types/core/schedulers.d.ts +67 -0
  29. package/dist-lib/types/editor/assetEditing.d.ts +2 -2
  30. package/dist-lib/types/editor/automaticMotion.d.ts +0 -11
  31. package/dist-lib/types/editor/automaticPseudoStates.d.ts +8 -2
  32. package/dist-lib/types/editor/captureSupply.d.ts +16 -7
  33. package/dist-lib/types/editor/catalog.d.ts +2 -2
  34. package/dist-lib/types/editor/codegen.d.ts +6 -3
  35. package/dist-lib/types/editor/componentConnections.d.ts +13 -8
  36. package/dist-lib/types/editor/componentInstances.d.ts +2 -2
  37. package/dist-lib/types/editor/declarations.d.ts +107 -0
  38. package/dist-lib/types/editor/designCompiler.d.ts +9 -4
  39. package/dist-lib/types/editor/designImport.d.ts +48 -12
  40. package/dist-lib/types/editor/documentSync.d.ts +28 -25
  41. package/dist-lib/types/editor/domImport.d.ts +2 -2
  42. package/dist-lib/types/editor/fiberMap.d.ts +1 -1
  43. package/dist-lib/types/editor/flowSessionScheduler.d.ts +106 -159
  44. package/dist-lib/types/editor/flowSessions.d.ts +147 -84
  45. package/dist-lib/types/editor/frameInteraction.d.ts +22 -32
  46. package/dist-lib/types/editor/frameLabels.d.ts +11 -5
  47. package/dist-lib/types/editor/frameLanes.d.ts +14 -17
  48. package/dist-lib/types/editor/frameLod.d.ts +17 -0
  49. package/dist-lib/types/editor/frameLodRuntime.d.ts +38 -38
  50. package/dist-lib/types/editor/framePreviewKeys.d.ts +14 -5
  51. package/dist-lib/types/editor/frozenImport.d.ts +13 -14
  52. package/dist-lib/types/editor/heldPseudoStates.d.ts +1 -1
  53. package/dist-lib/types/editor/host.d.ts +10 -55
  54. package/dist-lib/types/editor/implementationSourceMap.d.ts +2 -2
  55. package/dist-lib/types/editor/importFidelity.d.ts +1 -1
  56. package/dist-lib/types/editor/inspect.d.ts +7 -2
  57. package/dist-lib/types/editor/interactiveSessionSurface.d.ts +26 -34
  58. package/dist-lib/types/editor/interactiveStates.d.ts +12 -10
  59. package/dist-lib/types/editor/livePreviewInstances.d.ts +13 -3
  60. package/dist-lib/types/editor/liveScreens.d.ts +25 -16
  61. package/dist-lib/types/editor/mountScheduler.d.ts +8 -11
  62. package/dist-lib/types/editor/nodeSelector.d.ts +1 -1
  63. package/dist-lib/types/editor/pendingSourceChanges.d.ts +19 -0
  64. package/dist-lib/types/editor/previewBootstrap.d.ts +12 -22
  65. package/dist-lib/types/editor/previewCaptureProgress.d.ts +10 -6
  66. package/dist-lib/types/editor/previewEnvironmentControls.d.ts +14 -17
  67. package/dist-lib/types/editor/previewIntent.d.ts +11 -16
  68. package/dist-lib/types/editor/previewSweep.d.ts +7 -3
  69. package/dist-lib/types/editor/previewWarmup.d.ts +19 -7
  70. package/dist-lib/types/editor/projectRuntime.d.ts +2 -2
  71. package/dist-lib/types/editor/registry.d.ts +6 -2
  72. package/dist-lib/types/editor/revisionCatalog.d.ts +19 -19
  73. package/dist-lib/types/editor/revisionCatalogInstall.d.ts +18 -17
  74. package/dist-lib/types/editor/routePreview.d.ts +85 -139
  75. package/dist-lib/types/editor/scenarioCoverage.d.ts +52 -20
  76. package/dist-lib/types/editor/screenCards.d.ts +10 -6
  77. package/dist-lib/types/editor/screenDimensions.d.ts +9 -5
  78. package/dist-lib/types/editor/screenFlows.d.ts +8 -5
  79. package/dist-lib/types/editor/screenInteractions.d.ts +9 -1
  80. package/dist-lib/types/editor/screenLists.d.ts +8 -4
  81. package/dist-lib/types/editor/screenStateGroups.d.ts +1 -1
  82. package/dist-lib/types/editor/sectionHeaders.d.ts +10 -6
  83. package/dist-lib/types/editor/sessionPresets.d.ts +12 -32
  84. package/dist-lib/types/editor/shadowPreview.d.ts +7 -10
  85. package/dist-lib/types/editor/sharedSource.d.ts +4 -2
  86. package/dist-lib/types/editor/sourceChangeSummary.d.ts +1 -1
  87. package/dist-lib/types/editor/sourceJournal.d.ts +2 -2
  88. package/dist-lib/types/editor/stateSwitchMetrics.d.ts +68 -82
  89. package/dist-lib/types/editor/store.d.ts +88 -22
  90. package/dist-lib/types/editor/storyboardAuthored.d.ts +2 -2
  91. package/dist-lib/types/editor/storyboardDiscovery.d.ts +4 -3
  92. package/dist-lib/types/editor/storyboardEnvironment.d.ts +9 -5
  93. package/dist-lib/types/editor/storyboardGraph.d.ts +1 -1
  94. package/dist-lib/types/editor/storyboardGraphRuntime.d.ts +8 -10
  95. package/dist-lib/types/editor/storyboardGraphView.d.ts +1 -1
  96. package/dist-lib/types/editor/storyboardJourney.d.ts +1 -1
  97. package/dist-lib/types/editor/surfaceDemands.d.ts +196 -31
  98. package/dist-lib/types/editor/tokens.d.ts +24 -25
  99. package/dist-lib/types/editor/variantAxes.d.ts +70 -0
  100. package/dist-lib/types/editor/variantPrefetch.d.ts +26 -43
  101. package/dist-lib/types/editor/viewportPresets.d.ts +6 -6
  102. package/dist-lib/types/editor/visualQa.d.ts +2 -2
  103. package/dist-lib/types/lib.d.ts +104 -108
  104. package/dist-lib/types/shell/CatalogAssetPanel.d.ts +1 -1
  105. package/dist-lib/types/shell/CodePanel.d.ts +1 -1
  106. package/dist-lib/types/shell/ComponentStateControls.d.ts +7 -53
  107. package/dist-lib/types/shell/FrameInspector.d.ts +17 -0
  108. package/dist-lib/types/shell/FrameReviewDetails.d.ts +28 -0
  109. package/dist-lib/types/shell/LayerTree.d.ts +1 -1
  110. package/dist-lib/types/shell/StoryboardGraphPanel.d.ts +2 -2
  111. package/dist-lib/types/shell/VariantPanel.d.ts +23 -0
  112. package/dist-lib/types/shell/inspectorControls.d.ts +34 -0
  113. package/dist-lib/types/shell/qaPresentation.d.ts +1 -1
  114. package/dist-lib/types/testing.d.ts +5 -6
  115. package/dist-lib/types/ui/SourceRefControl.d.ts +1 -1
  116. package/docs/coverage-contracts.md +431 -0
  117. package/docs/screen-state-contract.md +14 -16
  118. package/node/component-branches.mjs +7 -13
  119. package/node/design-session.mjs +3 -5
  120. package/node/dev-mirror.mjs +9 -6
  121. package/node/envelope.mjs +43 -0
  122. package/node/impact-frames.mjs +94 -0
  123. package/node/inspect-plugin.mjs +12 -6
  124. package/node/preview-artifact-plugin.mjs +3 -9
  125. package/node/qa-capture-plugin.mjs +3 -6
  126. package/node/source-graph.mjs +1 -0
  127. package/node/storyboard-environment.mjs +33 -6
  128. package/node/vite.mjs +1 -0
  129. package/package.json +7 -2
  130. package/dist-lib/CameraLayer-D2wrEPwG.js +0 -415
  131. package/dist-lib/frameLodRuntime-CU0IYaSu.js +0 -272
  132. package/dist-lib/runtime-DRkTU9eq.js +0 -16195
  133. package/dist-lib/types/core/defaultRuntime.d.ts +0 -3
@@ -0,0 +1,70 @@
1
+ import type { PageModel } from './store.js';
2
+ import { type InteractiveStateDef, type ScreenStateAxisDef } from './interactiveStates.js';
3
+ import type { PreviewEnvironmentControlDef } from './previewEnvironmentControls.js';
4
+ /**
5
+ * One axis along which the selected screen can vary, whatever declared it.
6
+ * The panel renders every axis with the same row and asks the source-specific
7
+ * `ref` only when an option is chosen.
8
+ */
9
+ export type VariantAxisSource = 'screen-state' | 'interaction' | 'pseudo' | 'condition';
10
+ export interface VariantAxisOption {
11
+ id: string;
12
+ label: string;
13
+ /** Category tag a screen-state branch may declare (overlay, badge, layout, …). */
14
+ kind?: string;
15
+ description?: string;
16
+ }
17
+ export type VariantAxisRef = {
18
+ source: 'screen-state';
19
+ pages: readonly PageModel[];
20
+ } | {
21
+ source: 'interaction';
22
+ def: InteractiveStateDef;
23
+ } | {
24
+ source: 'pseudo';
25
+ def: ScreenStateAxisDef;
26
+ } | {
27
+ source: 'condition';
28
+ control: PreviewEnvironmentControlDef;
29
+ };
30
+ export interface VariantAxis {
31
+ /** Unique across sources: `${source}:${declared id}`. */
32
+ id: string;
33
+ source: VariantAxisSource;
34
+ group: VariantGroup;
35
+ label: string;
36
+ options: readonly VariantAxisOption[];
37
+ /** Active option ids: one, or several on a combining axis. */
38
+ value: readonly string[];
39
+ defaultValue: string;
40
+ multiple: boolean;
41
+ /** The active value differs from the base this frame shows. */
42
+ changed: boolean;
43
+ ref: VariantAxisRef;
44
+ }
45
+ export type VariantGroup = 'Screen state' | 'Interaction' | 'Elements' | 'Condition';
46
+ export declare const VARIANT_GROUP_ORDER: readonly VariantGroup[];
47
+ export interface VariantAxisInput {
48
+ page: PageModel;
49
+ /** Sibling frames of the page's scenario on its canvas, base first. */
50
+ siblings?: readonly PageModel[];
51
+ /** Declared axes that apply to the page. */
52
+ declared?: readonly InteractiveStateDef[];
53
+ /** Element pseudo-state axes discovered on the page. */
54
+ pseudo?: readonly ScreenStateAxisDef[];
55
+ conditions?: readonly PreviewEnvironmentControlDef[];
56
+ conditionValue?: (controlId: string) => string | undefined;
57
+ }
58
+ /** Collects every axis the selected screen can vary along, in panel order. */
59
+ export declare function collectVariantAxes(input: VariantAxisInput): VariantAxis[];
60
+ /** Axes away from their base, for the identity chips. */
61
+ export declare function changedVariantAxes(axes: readonly VariantAxis[]): VariantAxis[];
62
+ /** Groups in panel order, empty groups dropped. */
63
+ export declare function variantAxisGroups(axes: readonly VariantAxis[]): {
64
+ group: VariantGroup;
65
+ axes: VariantAxis[];
66
+ }[];
67
+ /** The labels of an axis's active options, in option order. */
68
+ export declare function variantAxisValueLabels(axis: VariantAxis): string[];
69
+ /** Rows with more options than fit one line fall back to a menu. */
70
+ export declare const VARIANT_SEGMENT_LIMIT = 4;
@@ -1,15 +1,8 @@
1
- import { type FlowSessionRuntime } from './flowSessionScheduler';
2
- import type { InteractiveStateDef, InteractiveStateOption } from './interactiveStates';
3
- import type { PageModel } from './store';
4
- /**
5
- * Cheap kill switch, same shape as setCaptureSupplyMode: the host (or a
6
- * console session) can turn speculation off without touching anything else.
7
- * Disabling also drops any scheduled or in-progress round.
8
- */
9
- export declare function setInteractiveStatePrefetchEnabled(enabled: boolean): void;
10
- export declare function interactiveStatePrefetchEnabled(): boolean;
11
- /** Test/tuning hook for the trigger debounce. */
12
- export declare function setInteractiveStatePrefetchDebounceMs(ms: number): void;
1
+ import type { FlowSessionRuntime, FlowSessionScheduler } from './flowSessionScheduler.js';
2
+ import type { InteractiveStateDef, InteractiveStateOption } from './interactiveStates.js';
3
+ import type { RoutePreviewCache } from './routePreview.js';
4
+ import type { RoutePreviewKeyRuntime } from './framePreviewKeys.js';
5
+ import type { PageModel } from './store.js';
13
6
  /**
14
7
  * The page identity the store's applyInteractiveState would produce for one
15
8
  * exclusive-axis option, computed WITHOUT mutating the page.
@@ -35,36 +28,26 @@ export interface InteractiveVariantPrefetchCandidate {
35
28
  variantPage: PageModel;
36
29
  }
37
30
  /**
38
- * The unproduced variants of one frame, in declaration order, capped at
39
- * `limit`. An option is skipped when it needs no work (base or captured),
40
- * its future key already has a snapshot, or the runner already tracks its
41
- * variant id (a prefetch or a real request is on it). Only declared
42
- * exclusive axes participate: combining axes hold sets with no single next
43
- * click to predict, and automatic pseudo axes are synthesized per element —
44
- * both stay on the on-demand path.
31
+ * One editor's speculative variant prefetch: the kill switch, the debounce,
32
+ * the active round, and the subscription to its interactive runner. Bound to
33
+ * one runtime and its flow-session scheduler.
45
34
  */
46
- export declare function planInteractiveStatePrefetch(page: PageModel, previewRevision: string, limit?: number): InteractiveVariantPrefetchCandidate[];
47
- /** Diagnostic counters for the headless debug surface and tests. */
48
- export declare const __variantPrefetchDebug: {
49
- requested: number;
50
- rounds: number;
51
- queued: number;
52
- exhausted: number;
53
- unavailable: number;
35
+ export declare function createVariantPrefetch(runtime: FlowSessionRuntime, flows: Pick<FlowSessionScheduler, 'interactiveSessionRunnerIsIdle' | 'interactiveSessionTracksVariant' | 'prefetchPageInteractiveVariant' | 'subscribeInteractiveSessions'>): {
36
+ planInteractiveStatePrefetch: (keyRuntime: RoutePreviewKeyRuntime & {
37
+ readonly previews: Pick<RoutePreviewCache, "hasRoutePreviewSnapshot">;
38
+ }, page: PageModel, previewRevision: string, limit?: number) => InteractiveVariantPrefetchCandidate[];
39
+ setInteractiveStatePrefetchEnabled: (enabled: boolean) => void;
40
+ interactiveStatePrefetchEnabled: () => boolean;
41
+ setInteractiveStatePrefetchDebounceMs: (ms: number) => void;
42
+ __variantPrefetchDebug: {
43
+ requested: number;
44
+ rounds: number;
45
+ queued: number;
46
+ exhausted: number;
47
+ unavailable: number;
48
+ };
49
+ startInteractiveStatePrefetch: (page: PageModel, previewRevision: string) => void;
50
+ cancelScheduledInteractiveStatePrefetch: () => void;
51
+ requestInteractiveStatePrefetch: (page: PageModel, previewRevision: string) => () => void;
54
52
  };
55
- /**
56
- * Starts a prefetch round for one frame immediately (no debounce): up to
57
- * MAX_PREFETCH_WALKS_PER_ROUND idle-time walks, one at a time. Replaces any
58
- * round already in progress — the newest selection is the best prediction.
59
- */
60
- export declare function startInteractiveStatePrefetch(runtime: FlowSessionRuntime, page: PageModel, previewRevision: string): void;
61
- /** Drops the scheduled trigger and the in-progress round, if any. */
62
- export declare function cancelScheduledInteractiveStatePrefetch(): void;
63
- /**
64
- * Debounced trigger for the panel: called when a frame's axes become
65
- * visible. The debounce keeps a designer stepping across frames from
66
- * starting a round per keystroke of selection. Returns a cancel for the
67
- * effect cleanup — cancelling stops the round, so speculation only runs
68
- * while the frame is actually the selected one.
69
- */
70
- export declare function requestInteractiveStatePrefetch(runtime: FlowSessionRuntime, page: PageModel, previewRevision: string): () => void;
53
+ export type VariantPrefetch = ReturnType<typeof createVariantPrefetch>;
@@ -8,14 +8,14 @@ export interface ViewportPresetDef {
8
8
  /** Tooltip text. Defaults to the dimensions. */
9
9
  description?: string;
10
10
  }
11
- /**
12
- * Declares the preset list. A malformed entry throws here rather than producing a
13
- * button that silently collapses a frame — the host configures this once at mount.
14
- */
15
- export declare function setViewportPresets(next: readonly ViewportPresetDef[]): void;
16
- export declare function getViewportPresets(): ViewportPresetDef[];
17
11
  /** Whether a frame currently sits at the preset, so the button can read as active. */
18
12
  export declare function matchesViewportPreset(preset: ViewportPresetDef, size: {
19
13
  width: number;
20
14
  height: number;
21
15
  }): boolean;
16
+ /** One editor's declared viewport presets. */
17
+ export declare function createViewportPresets(): {
18
+ setViewportPresets: (next: readonly ViewportPresetDef[]) => void;
19
+ getViewportPresets: () => ViewportPresetDef[];
20
+ };
21
+ export type ViewportPresets = ReturnType<typeof createViewportPresets>;
@@ -1,6 +1,6 @@
1
- import type { InspectApplyPayload } from './inspect';
1
+ import type { InspectApplyPayload } from './inspect.js';
2
2
  import type { EditorTransport, TransportCallOptions } from '../contract/transport.js';
3
- import type { DesignCodegenData } from './designCompiler';
3
+ import type { DesignCodegenData } from './designCompiler.js';
4
4
  export interface InspectQaArtifactHash {
5
5
  domStructureHash: string;
6
6
  screenshotHash: string;
@@ -1,110 +1,106 @@
1
- import { type DesignImportController, type DesignImportInitialPage, type DesignScenarioSource } from './editor/designImport';
2
- import { type ComponentRegistry } from './editor/registry';
3
- import { type DesignComponentConnectionDef } from './editor/componentConnections';
4
- import type { ApplyPayload, DesignChangePayload, DesignChangeResult, InspectApplyResult, InspectImpactResult, InspectPreviewResult } from './editor/host';
5
- import type { InspectApplyPayload } from './editor/inspect';
6
- import type { EditorRuntime } from './core/runtime';
7
- import { type ScreenFlowPath } from './editor/screenFlows';
8
- import { type ScenarioCoverageClaim } from './editor/scenarioCoverage';
9
- import { type InteractiveStateDef, type ScreenStateAxisDef } from './editor/interactiveStates';
10
- import { type SurfaceClassification } from './editor/surfaceDemands';
11
- import { type ScreenDimensionDef } from './editor/screenDimensions';
12
- import { type FrameBranchKindDef, type FrameLabelLabels } from './editor/frameLabels';
13
- import { type ScreenCardDef } from './editor/screenCards';
14
- import { type SectionHeaderDef, type SectionHeaderLabels } from './editor/sectionHeaders';
15
- import { type ScreenLaneDef } from './editor/frameLanes';
16
- import { type ScreenListDef } from './editor/screenLists';
17
- import { type RoutePreviewArtifactBundle } from './editor/routePreview';
18
- import type { StoryboardDefinition } from './editor/storyboardGraph';
19
- import { type TokenDef } from './editor/tokens';
20
- import { type ViewportPresetDef } from './editor/viewportPresets';
21
- import { type PreviewEnvironmentControlDef } from './editor/previewEnvironmentControls';
22
- import type { DesignCodegenProjectManifest, DesignCodegenValidator } from './editor/designCompiler';
1
+ import type { DesignImportController, DesignImportInitialPage, DesignScenarioSource } from './editor/designImport.js';
2
+ import type { ComponentRegistry } from './editor/registry.js';
3
+ import type { DesignComponentConnectionDef } from './editor/componentConnections.js';
4
+ import type { ApplyPayload, DesignChangePayload, DesignChangeResult, InspectApplyResult, InspectImpactResult, InspectPreviewResult } from './editor/host.js';
5
+ import type { InspectApplyPayload } from './editor/inspect.js';
6
+ import type { EditorRuntime } from './core/runtime.js';
7
+ import type { ScreenFlowPath } from './editor/screenFlows.js';
8
+ import type { ScenarioCoverageClaim } from './editor/scenarioCoverage.js';
9
+ import type { InteractiveStateDef, ScreenStateAxisDef } from './editor/interactiveStates.js';
10
+ import type { SurfaceClassification } from './editor/surfaceDemands.js';
11
+ import type { ScreenDimensionDef } from './editor/screenDimensions.js';
12
+ import type { FrameBranchKindDef, FrameLabelLabels } from './editor/frameLabels.js';
13
+ import type { ScreenCardDef } from './editor/screenCards.js';
14
+ import type { SectionHeaderDef, SectionHeaderLabels } from './editor/sectionHeaders.js';
15
+ import type { ScreenLaneDef } from './editor/frameLanes.js';
16
+ import type { ScreenListDef } from './editor/screenLists.js';
17
+ import { type RoutePreviewArtifactBundle } from './editor/routePreview.js';
18
+ import type { StoryboardDefinition } from './editor/storyboardGraph.js';
19
+ import type { TokenDef } from './editor/tokens.js';
20
+ import type { ViewportPresetDef } from './editor/viewportPresets.js';
21
+ import type { PreviewEnvironmentControlDef } from './editor/previewEnvironmentControls.js';
22
+ import type { DesignCodegenProjectManifest, DesignCodegenValidator } from './editor/designCompiler.js';
23
23
 
24
- export { setComponentRegistry } from './editor/registry';
25
- export { loadPygmalionRevisionCatalog, PygmalionRevisionCatalogClient, PygmalionRevisionCatalogHttpError, PYGMALION_REVISION_CATALOG_VERSION, validatePygmalionRevisionCatalog, } from './editor/revisionCatalog';
26
- export type { PygmalionRevisionCatalog, PygmalionRevisionCatalogExpectation, PygmalionRevisionCatalogLoadOptions, PygmalionRevisionCatalogRequestResult, PygmalionRevisionCatalogValidation, PygmalionRevisionCatalogV1, PygmalionRevisionComponentRegistry, PygmalionRevisionScreenCatalog, PygmalionRevisionScreenPage, } from './editor/revisionCatalog';
27
- export { PYGMALION_PREVIEW_CAPTURE_PROGRESS_SUFFIX, previewCaptureProgressEndpoint, usePygmalionPreviewCaptureProgress, } from './editor/previewCaptureProgress';
28
- export type { PygmalionPreviewCaptureProgress, PygmalionPreviewCaptureProgressPhase, } from './editor/previewCaptureProgress';
29
- export { beginFrameInteraction, exitFrameInteraction, getFrameInteractionSnapshot, setFrameInteractionScroll, subscribeFrameInteraction, } from './editor/frameInteraction';
30
- export type { FrameInteractionPhase, FrameInteractionScrollState, FrameInteractionSnapshot, } from './editor/frameInteraction';
31
- export type { ComponentRegistry, RegistryEntry, RegistryPropValue, } from './editor/registry';
32
- export { enumerateDesignComponentConnectionCases, getDesignComponentConnection, getDesignComponentConnectionForComponent, getDesignComponentConnections, setDesignComponentConnections, validateDesignComponentConnections, } from './editor/componentConnections';
33
- export type { DesignComponentConnectionCase, DesignComponentConnectionCases, DesignComponentConnectionDef, DesignComponentReference, DesignConnectionDiagnostic, DesignConnectionPropertyDef, DesignConnectionPropertyKind, } from './editor/componentConnections';
34
- export { compileDesignDocument, createDesignIntermediateDocument, DEFAULT_DESIGN_COMPILE_LIMITS, DESIGN_CODEGEN_PROJECT_SCHEMA, DESIGN_CODEGEN_PROJECT_VERSION, DESIGN_IR_SCHEMA, DESIGN_IR_VERSION, getDesignCodegenAdapters, registerDesignCodegenAdapter, } from './editor/designCompiler';
35
- export type { DesignCodegenAdapter, DesignCodegenAdapterContext, DesignCodegenAdapterOutput, DesignCodegenData, DesignCodegenFrameContract, DesignCodegenPageContext, DesignCodegenProjectManifest, DesignCodegenPromptReference, DesignCodegenRuntimeContext, DesignCodegenValidationArtifacts, DesignCodegenValidationRequest, DesignCodegenValidationResult, DesignCodegenValidationStatus, DesignCodegenValidator, DesignCompileDiagnostic, DesignCompileLimits, DesignCompileOptions, DesignCompilePurpose, DesignCompileResult, DesignCompileSeverity, DesignCompileStage, DesignCompileStatus, DesignIntermediateDocumentV1, DesignIRAsset, DesignIRComponent, DesignIRMetrics, } from './editor/designCompiler';
36
- export type { CodegenFrameOptions } from './editor/codegen';
37
- export { createDesignComponentCatalog, createDesignComponentVariantMatrix, createDesignGalleryCatalog, designCatalogKey, designCatalogRegistryName, PygmalionCatalogDocument, PygmalionCatalogMatrix, PygmalionCatalogSection, } from './editor/catalog';
38
- export type { DesignCatalogBuild, DesignCatalogFrame, DesignCatalogItem, DesignCatalogKind, DesignCatalogPageDescriptor, DesignComponentCatalogOptions, DesignComponentVariantMatrix, DesignGalleryCatalogOptions, PygmalionCatalogDocumentProps, PygmalionCatalogMatrixProps, PygmalionCatalogSectionProps, } from './editor/catalog';
39
- export { setTokens, applyTokenOverride, resetTokenOverrides, } from './editor/tokens';
40
- export { createEditorRuntime } from './core/runtime';
24
+ export { loadPygmalionRevisionCatalog, PygmalionRevisionCatalogClient, PygmalionRevisionCatalogHttpError, PYGMALION_REVISION_CATALOG_VERSION, validatePygmalionRevisionCatalog, } from './editor/revisionCatalog.js';
25
+ export type { PygmalionRevisionCatalog, PygmalionRevisionCatalogExpectation, PygmalionRevisionCatalogLoadOptions, PygmalionRevisionCatalogRequestResult, PygmalionRevisionCatalogValidation, PygmalionRevisionCatalogV1, PygmalionRevisionComponentRegistry, PygmalionRevisionScreenCatalog, PygmalionRevisionScreenPage, } from './editor/revisionCatalog.js';
26
+ export { PYGMALION_PREVIEW_CAPTURE_PROGRESS_SUFFIX, previewCaptureProgressEndpoint, usePygmalionPreviewCaptureProgress, } from './editor/previewCaptureProgress.js';
27
+ export type { PygmalionPreviewCaptureProgress, PygmalionPreviewCaptureProgressPhase, } from './editor/previewCaptureProgress.js';
28
+ export type { FrameInteractionPhase, FrameInteractionScrollState, FrameInteractionSnapshot, } from './editor/frameInteraction.js';
29
+ export type { ComponentRegistry, RegistryEntry, RegistryPropValue, } from './editor/registry.js';
30
+ export type { DesignComponentConnectionCase, DesignComponentConnectionCases, DesignComponentConnectionDef, DesignComponentReference, DesignConnectionDiagnostic, DesignConnectionPropertyDef, DesignConnectionPropertyKind, } from './editor/componentConnections.js';
31
+ export { compileDesignDocument, createDesignIntermediateDocument, DEFAULT_DESIGN_COMPILE_LIMITS, DESIGN_CODEGEN_PROJECT_SCHEMA, DESIGN_CODEGEN_PROJECT_VERSION, DESIGN_IR_SCHEMA, DESIGN_IR_VERSION, getDesignCodegenAdapters, registerDesignCodegenAdapter, } from './editor/designCompiler.js';
32
+ export type { DesignCodegenAdapter, DesignCodegenAdapterContext, DesignCodegenAdapterOutput, DesignCodegenData, DesignCodegenFrameContract, DesignCodegenPageContext, DesignCodegenProjectManifest, DesignCodegenPromptReference, DesignCodegenRuntimeContext, DesignCodegenValidationArtifacts, DesignCodegenValidationRequest, DesignCodegenValidationResult, DesignCodegenValidationStatus, DesignCodegenValidator, DesignCompileDiagnostic, DesignCompileLimits, DesignCompileOptions, DesignCompilePurpose, DesignCompileResult, DesignCompileSeverity, DesignCompileStage, DesignCompileStatus, DesignIntermediateDocumentV1, DesignIRAsset, DesignIRComponent, DesignIRMetrics, } from './editor/designCompiler.js';
33
+ export { VARIANT_SEGMENT_LIMIT, changedVariantAxes, collectVariantAxes, variantAxisGroups, variantAxisValueLabels, } from './editor/variantAxes.js';
34
+ export type { VariantAxis, VariantAxisInput, VariantAxisOption, VariantAxisRef, VariantAxisSource, VariantGroup, } from './editor/variantAxes.js';
35
+ export type { CodegenFrameOptions } from './editor/codegen.js';
36
+ export { createDesignComponentCatalog, createDesignComponentVariantMatrix, createDesignGalleryCatalog, designCatalogKey, designCatalogRegistryName, PygmalionCatalogDocument, PygmalionCatalogMatrix, PygmalionCatalogSection, } from './editor/catalog.js';
37
+ export type { DesignCatalogBuild, DesignCatalogFrame, DesignCatalogItem, DesignCatalogKind, DesignCatalogPageDescriptor, DesignComponentCatalogOptions, DesignComponentVariantMatrix, DesignGalleryCatalogOptions, PygmalionCatalogDocumentProps, PygmalionCatalogMatrixProps, PygmalionCatalogSectionProps, } from './editor/catalog.js';
38
+ export { createEditorRuntime } from './core/runtime.js';
39
+ export type { EditorDeclarations } from './editor/declarations.js';
40
+ export type { EditorSchedulers } from './core/schedulers.js';
41
41
  export { createViteTransport, resolvePygmalionEndpoints, PYGMALION_ENDPOINTS, TransportError, } from './contract/index.js';
42
42
  export type { ComponentBranchesRequest, EditorTransport, InspectImpactRequest, MirrorRefreshRequest, PreviewCatalogRequest, PygmalionEndpointOverrides, PygmalionEndpoints, QaCaptureEnvelope, SessionApplyVisualRequest, SessionApplyVisualResponse, SessionCheckRequest, SessionMutationRequest, SessionOpenRequest, SessionPreviewVisualRequest, SessionPreviewVisualResponse, SessionRevertVisualRequest, SessionRevertVisualResponse, SourceUsageRequest, TransportCallOptions, TransportErrorInit, TransportFetch, TransportRequestInit, TransportResponse, ViteTransportOptions, } from './contract/index.js';
43
- export type { EditorRuntime, EditorRuntimeOptions } from './core/runtime';
44
- export type { EditorRuntimeDebug, EditorRuntimeDiagnostics } from './core/debug';
45
- export type { HostBindings, HostBindingsInit, HostCallbacks, } from './core/hostBindings';
46
- export { EditorRuntimeProvider, useEditorRuntime, useEditorStore, useHostBindings, useHostCallbacks, } from './core/context';
47
- export { clearRoutePreviewSnapshots as clearPygmalionPreviewCache, recommendedRoutePreviewConcurrency as getRecommendedPygmalionPreviewConcurrency, setRoutePreviewConcurrency as setPygmalionPreviewConcurrency, } from './editor/routePreview';
48
- export type { RoutePreviewArtifactBundle } from './editor/routePreview';
49
- export { reconstructRoutePreviewArtifactScreenshotV3, reconstructRoutePreviewArtifactSnapshotV3, validateRoutePreviewArtifactV3Browser, } from './editor/routePreviewArtifactV3';
50
- export type { RoutePreviewArtifactBundleV3, RoutePreviewArtifactV3Diagnostic, RoutePreviewArtifactV3Frame, RoutePreviewArtifactV3ReconstructedScreenshot, RoutePreviewArtifactV3ScreenshotAsset, RoutePreviewArtifactV3ScreenshotMediaType, RoutePreviewArtifactV3ScreenshotReference, RoutePreviewArtifactV3Status, RoutePreviewArtifactV3ValidationResult, RoutePreviewArtifactV3Viewport, } from './editor/routePreviewArtifactV3';
51
- export { bootstrapPreviewArtifact, createPreviewArtifactHttpTransport, createPreviewCacheNamespace, createPreviewFrameFingerprint, createPreviewRecipeFingerprint, createStoryboardCaptureRecipeIdentity, PYGMALION_PREVIEW_CAPTURE_SCHEMA_VERSION, resolvePreviewArtifactFrames, validatePreviewArtifactBundle, } from './editor/previewBootstrap';
52
- export type { PreviewArtifactBootstrapResult, PreviewArtifactExpectation, PreviewArtifactFetch, PreviewArtifactFrameRequest, PreviewArtifactFrameResolution, PreviewArtifactHttpResponse, PreviewArtifactHttpTransportOptions, PreviewArtifactTransport, PreviewArtifactTransportRequest, PreviewArtifactValidationReason, PreviewArtifactValidationResult, PreviewCacheNamespaceOptions, PreviewRecipeIdentity, StoryboardCaptureRecipeInput, } from './editor/previewBootstrap';
53
- export { validateScreenStateGroups } from './editor/screenStateGroups';
54
- export type { ScreenStateGroupDiagnostic, ScreenStateGroupInput, } from './editor/screenStateGroups';
55
- export { validateScreenFlows } from './editor/screenFlows';
56
- export type { ScreenFlowDiagnostic, ScreenFlowPath, ScreenFlowWaypoint, } from './editor/screenFlows';
57
- export { applyScenarioCoverageClaim, validateScenarioCoverage, } from './editor/scenarioCoverage';
58
- export type { ApplyCoverageResult, ScenarioCoverageClaim, ScenarioCoverageContext, ScenarioCoverageDiagnostic, } from './editor/scenarioCoverage';
59
- export { enumerateControlCandidates, enumerateRequestCandidates, enumerateRouteCandidates, frameSurfaceDemands, getObservedRequests, getSurfaceClassifications, MIN_SURFACE_REASON_LENGTH, requestEndpointShape, setObservedRequests, setSurfaceClassifications, unclassifiedSurfaces, validateSurfaceDemands, } from './editor/surfaceDemands';
60
- export type { ControlNodeLike, FrameSurfaceDemands, ObservedRequest, RouteEnumerationInput, SurfaceCandidate, SurfaceClassification, SurfaceDemandDiagnostic, SurfaceDemandKind, SurfaceVerdict, } from './editor/surfaceDemands';
61
- export { validateInteractiveStates, validateScreenStateAxes, } from './editor/interactiveStates';
62
- export type { InteractiveStateDef, InteractiveStateDiagnostic, InteractiveStateOption, ScreenStateAxisDef, ScreenStateAxisDiagnostic, ScreenStateAxisKind, ScreenStateOption, } from './editor/interactiveStates';
63
- export { validateScreenCards } from './editor/screenCards';
64
- export type { CardBadgeOption, CardSlotDef, ScreenCardDef, ScreenCardDiagnostic, } from './editor/screenCards';
65
- export { validateFrameBranchKinds, framesMissingScenario, } from './editor/frameLabels';
66
- export type { FrameBranchKindDef, FrameBranchKindDiagnostic, FrameLabelLabels, } from './editor/frameLabels';
67
- export { validateSectionHeaders } from './editor/sectionHeaders';
68
- export type { SectionHeaderDef, SectionHeaderDiagnostic, SectionHeaderFacts, SectionHeaderLabels, } from './editor/sectionHeaders';
69
- export { validateScreenLanes } from './editor/frameLanes';
70
- export type { ScreenLaneDef, ScreenLaneDiagnostic } from './editor/frameLanes';
71
- export { validateScreenLists } from './editor/screenLists';
72
- export type { ScreenListDef, ScreenListDiagnostic } from './editor/screenLists';
73
- export type { NodeSelector } from './editor/nodeSelector';
74
- export { validateScreenDimensions } from './editor/screenDimensions';
75
- export type { ComponentBranch, ScreenDimensionDef, ScreenDimensionDiagnostic, ScreenDimensionOption, } from './editor/screenDimensions';
76
- export { createStoryboardPathEdges, createStoryboardGraph, storyboardScreenRecipeKey, } from './editor/storyboardGraph';
77
- export { createAuthoredStoryboardGraph } from './editor/storyboardAuthored';
78
- export type { StoryboardDefinition, StoryboardGraph, StoryboardGraphBranch, StoryboardGraphBuildOptions, StoryboardGraphCoverage, StoryboardGraphEdge, StoryboardGraphEdgeInput, StoryboardGraphEdgeLabelScope, StoryboardGraphEdgeOrigin, StoryboardGraphNode, StoryboardGraphSourceGroup, StoryboardGraphWarning, StoryboardGraphWarningCode, StoryboardPathInput, } from './editor/storyboardGraph';
79
- export { createStoryboardRouteScenarioId, createStoryboardGraphFromDiscovery, getStoryboardDiscoveryBaselineEnvironment, loadStoryboardDiscovery, publishStoryboardDiscovery, resolveStoryboardScreenCases, } from './editor/storyboardDiscovery';
80
- export type { LoadStoryboardDiscoveryOptions, StoryboardDiscoveryCandidate, StoryboardDiscoveryEdge, StoryboardDiscoveryGraphOptions, StoryboardDiscoveryManifest, StoryboardDiscoveryResult, StoryboardDiscoveryRoute, StoryboardDiscoveryScenario, StoryboardResolvedPage, } from './editor/storyboardDiscovery';
81
- export { getStoryboardGraph, setStoryboardGraph, subscribeStoryboardGraph, } from './editor/storyboardGraphRuntime';
82
- export { createStoryboardGraphViewModel } from './editor/storyboardGraphView';
83
- export type { StoryboardFrameReference, StoryboardGraphCanonicalView, StoryboardGraphFrameView, StoryboardGraphSourceView, StoryboardGraphTransitionView, StoryboardGraphViewModel, } from './editor/storyboardGraphView';
84
- export { createStoryboardRouteUrl, getStoryboardBaselineEnvironment, mergeStoryboardEnvironment, setStoryboardBaselineEnvironment, STORYBOARD_ENVIRONMENT_CONTROL, STORYBOARD_ENVIRONMENT_QUERY, } from './editor/storyboardEnvironment';
85
- export type { ApplyPayload, DesignChangePayload, DesignChangeResult, DesignCodeDocument, DesignElementChange, DesignElementDocument, DesignTokenDocument, InspectApplyResult, InspectImpactResult, InspectPreviewResult, } from './editor/host';
86
- export type { InspectApplyPayload, PrimitiveSourceValue, PrimitiveSourceValueType, SourceAffectedFrame, SourceEditOperation, SourceEditScope, SourceIdentity, SourceInsertComponent, } from './editor/inspect';
87
- export type { InspectQaArtifactHash, InspectQaCaptureRequest, InspectQaFailure, InspectQaFrameResult, InspectQaPixelDiff, InspectQaPixelDimensions, InspectQaResult, } from './editor/visualQa';
88
- export { inspectQaBaseUrl, requestInspectQaCapture } from './editor/visualQa';
89
- export { usePygmalionProject } from './editor/projectRuntime';
90
- export type { PygmalionDesignSessionStatus, PygmalionDevMirrorStatus, PygmalionIntegrationState, PygmalionProjectRuntime, PygmalionProjectRuntimeOptions, PygmalionRevertResult, PygmalionSessionOperation, PygmalionSourceRef, PygmalionSourceRefs, PygmalionVisualOperation, PygmalionVisualRevertOperation, } from './editor/projectRuntime';
91
- export { SourceRefControl } from './ui/SourceRefControl';
92
- export type { SourceRefControlProps } from './ui/SourceRefControl';
93
- export type { TokenDef } from './editor/tokens';
94
- export { getViewportPresets, setViewportPresets, } from './editor/viewportPresets';
95
- import { type SessionPresetDef } from './editor/sessionPresets';
96
- export type { ViewportPresetDef } from './editor/viewportPresets';
97
- export { getSelectedSessionPreset, getSessionPresets, selectSessionPreset, setSessionPresets, subscribeSessionPresets, } from './editor/sessionPresets';
98
- export type { SessionPresetDef } from './editor/sessionPresets';
99
- export { GENERIC_ASSERTION_SHARE, MIN_UNVERIFIED_REASON_LENGTH, detectStateGroupCandidates, hooksInSelector, summarizeConditionCoverage, validateHookTargeting, validateScreenConformance, } from './editor/screenConformance';
100
- export type { ConditionCoverageRoute, ConditionCoverageScreen, ConformanceScreen, HookTargetingFinding, HookTargetingInput, HookTargetingKind, ScreenConformanceFinding, ScreenConformanceKind, StateGroupFinding, StateGroupScreen, } from './editor/screenConformance';
101
- export { clearPreviewEnvironmentControlValues, getPreviewEnvironmentControlValue, getPreviewEnvironmentControls, getPreviewEnvironmentOverride, setPreviewEnvironmentControlValue, setPreviewEnvironmentControls, subscribePreviewEnvironmentControls, } from './editor/previewEnvironmentControls';
102
- export type { PreviewEnvironmentControlDef, PreviewEnvironmentControlOptionDef, } from './editor/previewEnvironmentControls';
103
- export { createDesignImportController, createDesignScreenCollection, DESIGN_IMPORT_KINDS, expandDesignScreenCasesViewports, expandDesignScreenCollectionViewports, mergeScreenPresets, } from './editor/designImport';
104
- export type { CreateDesignImportOptions, DesignBehaviorScenario, DesignImportAsset, DesignImportCollection, DesignImportController, DesignImportCoverage, DesignImportCoverageItem, DesignImportInitialPage, DesignImportKind, DesignImportManifest, DesignImportPage, DesignFrameHeightMode, DesignFrameSizeMode, DesignScenarioCoverage, DesignScenarioSource, DesignScreenCase, DesignScreenAssertion, DesignScreenAssertionReport, DesignScreenAssertionVisibility, DesignScreenAttributeAssertion, DesignScreenCaptureFailure, DesignScreenCaptureFailureCode, DesignScreenCaptureFailureStage, DesignScreenCaptureDefaults, DesignScreenCaptureRequirements, DesignScreenCaptureReport, DesignScreenCaptureSpec, DesignScreenCollectionResult, DesignScreenDesiredState, DesignScreenDesiredStateExecutor, DesignScreenDesiredStateRequest, DesignScreenInteraction, DesignScreenInteractionAction, DesignScreenInteractionRunOptions, DesignScreenInteractionReport, DesignScreenPreset, DesignScreenPresetContext, DesignScreenPresetExecutionResult, DesignScreenPresetExecutor, DesignScreenPresetRequest, DesignScreenViewport, DesignScreenViewportExpansionOptions, DesignScreenViewportPagePatch, DesignSerializable, StoryboardEnvironment, StoryboardMediaDevice, StoryboardMediaFailure, StoryboardNetwork, StoryboardPermissionState, StoryboardRequestCondition, StoryboardRequestOutcome, } from './editor/designImport';
105
- export type { DomImportDiagnostic, DomImportMetrics, DomImportOptions, DomImportResult, } from './editor/domImport';
106
- export type { SharedSourceEditScope, SharedSourceFrameSummary, SharedSourceImpact, } from './editor/sharedSource';
107
- export type { NodeJSON } from './editor/store';
43
+ export type { EditorRuntime, EditorRuntimeOptions } from './core/runtime.js';
44
+ export type { EditorRuntimeDebug, EditorRuntimeDiagnostics } from './core/debug.js';
45
+ export type { HostBindings, HostBindingsInit, HostCallbacks, } from './core/hostBindings.js';
46
+ export { EditorRuntimeProvider, useEditorRuntime, useEditorStore, useHostBindings, useHostCallbacks, } from './core/context.js';
47
+ export { recommendedRoutePreviewConcurrency as getRecommendedPygmalionPreviewConcurrency } from './editor/routePreview.js';
48
+ export type { RoutePreviewArtifactBundle } from './editor/routePreview.js';
49
+ export { reconstructRoutePreviewArtifactScreenshotV3, reconstructRoutePreviewArtifactSnapshotV3, validateRoutePreviewArtifactV3Browser, } from './editor/routePreviewArtifactV3.js';
50
+ export type { RoutePreviewArtifactBundleV3, RoutePreviewArtifactV3Diagnostic, RoutePreviewArtifactV3Frame, RoutePreviewArtifactV3ReconstructedScreenshot, RoutePreviewArtifactV3ScreenshotAsset, RoutePreviewArtifactV3ScreenshotMediaType, RoutePreviewArtifactV3ScreenshotReference, RoutePreviewArtifactV3Status, RoutePreviewArtifactV3ValidationResult, RoutePreviewArtifactV3Viewport, } from './editor/routePreviewArtifactV3.js';
51
+ export { bootstrapPreviewArtifact, createPreviewArtifactHttpTransport, createPreviewCacheNamespace, createPreviewFrameFingerprint, createPreviewRecipeFingerprint, createStoryboardCaptureRecipeIdentity, PYGMALION_PREVIEW_CAPTURE_SCHEMA_VERSION, resolvePreviewArtifactFrames, validatePreviewArtifactBundle, } from './editor/previewBootstrap.js';
52
+ export type { PreviewArtifactBootstrapResult, PreviewArtifactExpectation, PreviewArtifactFetch, PreviewArtifactFrameRequest, PreviewArtifactFrameResolution, PreviewArtifactHttpResponse, PreviewArtifactHttpTransportOptions, PreviewArtifactTransport, PreviewArtifactTransportRequest, PreviewArtifactValidationReason, PreviewArtifactValidationResult, PreviewCacheNamespaceOptions, PreviewRecipeIdentity, StoryboardCaptureRecipeInput, } from './editor/previewBootstrap.js';
53
+ export { validateScreenStateGroups } from './editor/screenStateGroups.js';
54
+ export type { ScreenStateGroupDiagnostic, ScreenStateGroupInput, } from './editor/screenStateGroups.js';
55
+ export { validateScreenFlows, } from './editor/screenFlows.js';
56
+ export type { ScreenFlowDiagnostic, ScreenFlowPath, ScreenFlowWaypoint, } from './editor/screenFlows.js';
57
+ export { summarizeScenarioCoverage, validateScenarioCoverage, } from './editor/scenarioCoverage.js';
58
+ export type { ApplyCoverageResult, ScenarioCoverageClaim, ScenarioCoverageContext, ScenarioCoverageDiagnostic, ScenarioCoverageDiagnosticCode, ScenarioCoverageSummary, } from './editor/scenarioCoverage.js';
59
+ export { auditRouteCoverage, declaredCoverageTargets, enumerateControlCandidates, enumerateRequestCandidates, enumerateRouteCandidates, MIN_SURFACE_REASON_LENGTH, requestEndpointShape, summarizeSurfaceDemands, unclassifiedSurfaces, validateSurfaceDemands, } from './editor/surfaceDemands.js';
60
+ export type { ControlNodeLike, CoverageTargetDeclarations, DeclaredScreenRoute, DiscoveredRoute, FrameSurfaceDemands, ObservedRequest, RouteCoverageAudit, RouteCoverageDiagnostic, RouteCoverageDiagnosticCode, RouteEnumerationInput, RouteRepresentation, RouteRepresentationKind, SurfaceCandidate, SurfaceClassification, SurfaceCoverageSummary, SurfaceDemandDiagnostic, SurfaceDemandDiagnosticCode, SurfaceDemandKind, SurfaceDemandOptions, SurfaceVerdict, } from './editor/surfaceDemands.js';
61
+ export { validateInteractiveStates, validateScreenStateAxes, } from './editor/interactiveStates.js';
62
+ export type { InteractiveStateDef, InteractiveStateDiagnostic, InteractiveStateOption, ScreenStateAxisDef, ScreenStateAxisDiagnostic, ScreenStateAxisKind, ScreenStateOption, } from './editor/interactiveStates.js';
63
+ export { validateScreenCards, } from './editor/screenCards.js';
64
+ export type { CardBadgeOption, CardSlotDef, ScreenCardDef, ScreenCardDiagnostic, } from './editor/screenCards.js';
65
+ export { validateFrameBranchKinds, framesMissingScenario, } from './editor/frameLabels.js';
66
+ export type { FrameBranchKindDef, FrameBranchKindDiagnostic, FrameLabelLabels, } from './editor/frameLabels.js';
67
+ export { validateSectionHeaders, } from './editor/sectionHeaders.js';
68
+ export type { SectionHeaderDef, SectionHeaderDiagnostic, SectionHeaderFacts, SectionHeaderLabels, } from './editor/sectionHeaders.js';
69
+ export { validateScreenLanes, } from './editor/frameLanes.js';
70
+ export type { ScreenLaneDef, ScreenLaneDiagnostic } from './editor/frameLanes.js';
71
+ export { validateScreenLists, } from './editor/screenLists.js';
72
+ export type { ScreenListDef, ScreenListDiagnostic } from './editor/screenLists.js';
73
+ export type { NodeSelector } from './editor/nodeSelector.js';
74
+ export { validateScreenDimensions, } from './editor/screenDimensions.js';
75
+ export type { ComponentBranch, ScreenDimensionDef, ScreenDimensionDiagnostic, ScreenDimensionOption, } from './editor/screenDimensions.js';
76
+ export { createStoryboardPathEdges, createStoryboardGraph, storyboardScreenRecipeKey, } from './editor/storyboardGraph.js';
77
+ export { createAuthoredStoryboardGraph } from './editor/storyboardAuthored.js';
78
+ export type { StoryboardDefinition, StoryboardGraph, StoryboardGraphBranch, StoryboardGraphBuildOptions, StoryboardGraphCoverage, StoryboardGraphEdge, StoryboardGraphEdgeInput, StoryboardGraphEdgeLabelScope, StoryboardGraphEdgeOrigin, StoryboardGraphNode, StoryboardGraphSourceGroup, StoryboardGraphWarning, StoryboardGraphWarningCode, StoryboardPathInput, } from './editor/storyboardGraph.js';
79
+ export { createStoryboardRouteScenarioId, createStoryboardGraphFromDiscovery, getStoryboardDiscoveryBaselineEnvironment, loadStoryboardDiscovery, publishStoryboardDiscovery, resolveStoryboardScreenCases, } from './editor/storyboardDiscovery.js';
80
+ export type { LoadStoryboardDiscoveryOptions, StoryboardDiscoveryCandidate, StoryboardDiscoveryEdge, StoryboardDiscoveryGraphOptions, StoryboardDiscoveryManifest, StoryboardDiscoveryResult, StoryboardDiscoveryRoute, StoryboardDiscoveryScenario, StoryboardResolvedPage, } from './editor/storyboardDiscovery.js';
81
+ export { createStoryboardGraphViewModel } from './editor/storyboardGraphView.js';
82
+ export type { StoryboardFrameReference, StoryboardGraphCanonicalView, StoryboardGraphFrameView, StoryboardGraphSourceView, StoryboardGraphTransitionView, StoryboardGraphViewModel, } from './editor/storyboardGraphView.js';
83
+ export { createStoryboardRouteUrl, mergeStoryboardEnvironment, STORYBOARD_ENVIRONMENT_CONTROL, STORYBOARD_ENVIRONMENT_QUERY, } from './editor/storyboardEnvironment.js';
84
+ export type { ApplyPayload, DesignChangePayload, DesignChangeResult, DesignCodeDocument, DesignElementChange, DesignElementDocument, DesignTokenDocument, InspectApplyResult, InspectImpactFrame, InspectImpactResult, InspectPreviewResult, } from './editor/host.js';
85
+ export type { InspectApplyPayload, PrimitiveSourceValue, PrimitiveSourceValueType, SourceAffectedFrame, SourceEditOperation, SourceEditScope, SourceIdentity, SourceInsertComponent, } from './editor/inspect.js';
86
+ export type { InspectQaArtifactHash, InspectQaCaptureRequest, InspectQaFailure, InspectQaFrameResult, InspectQaPixelDiff, InspectQaPixelDimensions, InspectQaResult, } from './editor/visualQa.js';
87
+ export { inspectQaBaseUrl, requestInspectQaCapture } from './editor/visualQa.js';
88
+ export { usePygmalionProject } from './editor/projectRuntime.js';
89
+ export type { PygmalionDesignSessionStatus, PygmalionDevMirrorStatus, PygmalionIntegrationState, PygmalionProjectRuntime, PygmalionProjectRuntimeOptions, PygmalionRevertResult, PygmalionSessionOperation, PygmalionSourceRef, PygmalionSourceRefs, PygmalionVisualOperation, PygmalionVisualRevertOperation, } from './editor/projectRuntime.js';
90
+ export { SourceRefControl } from './ui/SourceRefControl.js';
91
+ export type { SourceRefControlProps } from './ui/SourceRefControl.js';
92
+ export type { TokenDef } from './editor/tokens.js';
93
+ import type { SessionPresetDef } from './editor/sessionPresets.js';
94
+ export type { ViewportPresetDef } from './editor/viewportPresets.js';
95
+ export type { SessionPresetDef } from './editor/sessionPresets.js';
96
+ export { GENERIC_ASSERTION_SHARE, MIN_UNVERIFIED_REASON_LENGTH, detectStateGroupCandidates, hooksInSelector, summarizeConditionCoverage, validateHookTargeting, validateScreenConformance, } from './editor/screenConformance.js';
97
+ export type { ConditionCoverageRoute, ConditionCoverageScreen, ConformanceScreen, HookTargetingFinding, HookTargetingInput, HookTargetingKind, ScreenConformanceFinding, ScreenConformanceKind, StateGroupFinding, StateGroupScreen, } from './editor/screenConformance.js';
98
+ export type { PreviewEnvironmentControlDef, PreviewEnvironmentControlOptionDef, } from './editor/previewEnvironmentControls.js';
99
+ export { createDesignImportController, createDesignScreenCollection, DESIGN_IMPORT_KINDS, expandDesignScreenCasesViewports, expandDesignScreenCollectionViewports, mergeScreenPresets, } from './editor/designImport.js';
100
+ export type { CreateDesignImportOptions, DesignBehaviorScenario, DesignImportAsset, DesignImportCollection, DesignImportController, DesignImportCoverage, DesignImportCoverageItem, DesignImportInitialPage, DesignImportKind, DesignImportManifest, DesignImportPage, DesignFrameHeightMode, DesignFrameSizeMode, DesignScenarioCoverage, DesignScenarioSource, DesignScreenCase, DesignScreenAssertion, DesignScreenAssertionReport, DesignScreenAssertionVisibility, DesignScreenAttributeAssertion, DesignScreenCaptureFailure, DesignScreenCaptureFailureCode, DesignScreenCaptureFailureStage, DesignScreenCaptureDefaults, DesignScreenCaptureRequirements, DesignScreenCaptureReport, DesignScreenCaptureSpec, DesignScreenCollectionResult, DesignScreenDesiredState, DesignScreenDesiredStateExecutor, DesignScreenDesiredStateRequest, DesignScreenInteraction, DesignScreenInteractionAction, DesignScreenInteractionRunOptions, DesignScreenInteractionReport, DesignScreenPreset, DesignScreenPresetContext, DesignScreenPresetExecutionResult, DesignScreenPresetExecutor, DesignScreenPresetRequest, DesignScreenViewport, DesignScreenViewportExpansionOptions, DesignScreenViewportPagePatch, DesignSerializable, StoryboardEnvironment, StoryboardMediaDevice, StoryboardMediaFailure, StoryboardNetwork, StoryboardPermissionState, StoryboardRequestCondition, StoryboardRequestOutcome, } from './editor/designImport.js';
101
+ export type { DomImportDiagnostic, DomImportMetrics, DomImportOptions, DomImportResult, } from './editor/domImport.js';
102
+ export type { SharedSourceEditScope, SharedSourceFrameSummary, SharedSourceImpact, } from './editor/sharedSource.js';
103
+ export type { NodeJSON } from './editor/store.js';
108
104
  export interface InitialPageDef extends DesignImportInitialPage {
109
105
  }
110
106
  export declare function PygmalionEditor({ runtime, registry, tokens, initialPages, initialCanvas, activeFramePersistenceKey, initialEditMode, componentConnections, codegenProject, codegenValidator, codegenValidationScope, viewportPresets, sessionPresets, previewEnvironmentControls, designImport, onTokensChange, appOrigin, previewRevision, previewCacheNamespace, previewArtifacts, previewConcurrency, previewOpen, onPreviewOpenChange, flowCanvas, frameSurface, captureSupply, screenFlows, screenFlowConcurrency, scenarioCoverage, screenDimensions, screenLists, sectionHeaders, sectionHeaderLabels, screenLanes, frameBranchKinds, frameLabelLabels, screenCards, liveScreenBudget, screenStateAxes, interactiveStates, surfaceClassifications, onApply, onDesignChange, onInspectApply, onInspectPreview, onInspectImpact, storyboard, storyboardScenarios, sessionStoryboards, storyboardDiscovery, }: {
@@ -272,10 +268,10 @@ export declare function PygmalionEditor({ runtime, registry, tokens, initialPage
272
268
  screenCards?: readonly ScreenCardDef[];
273
269
  /**
274
270
  * How many frames may render the running application instead of their
275
- * capture. Default 0 every frame is served from its capture, which is
276
- * what keeps a canvas deterministic and quiet. Raise it to keep the
277
- * frames a designer is working with interactive; the least recently
278
- * activated holder gives its slot back.
271
+ * capture. Defaults to 3: the active frame and the two nearest the
272
+ * viewport run live; everything else is served from its capture, which is
273
+ * what keeps a canvas deterministic and quiet. Pass 0 for a capture-only
274
+ * canvas. The least recently activated holder gives its slot back.
279
275
  */
280
276
  liveScreenBudget?: number;
281
277
  /**
@@ -1,4 +1,4 @@
1
- import type { DesignImportAsset, DesignImportKind } from '../editor/designImport';
1
+ import type { DesignImportAsset, DesignImportKind } from '../editor/designImport.js';
2
2
  export interface CatalogAssetGroup {
3
3
  section: string;
4
4
  assets: readonly DesignImportAsset[];
@@ -1,4 +1,4 @@
1
- import { type DesignCodegenProjectManifest, type DesignCodegenValidator } from '../editor/designCompiler';
1
+ import { type DesignCodegenProjectManifest, type DesignCodegenValidator } from '../editor/designCompiler.js';
2
2
  export declare const CodePanel: import("react").FunctionComponent<{
3
3
  codegenProject?: DesignCodegenProjectManifest;
4
4
  codegenValidator?: DesignCodegenValidator;
@@ -1,11 +1,13 @@
1
1
  import { type ReactNode } from 'react';
2
- import { sourceWritableRegistryProps } from '../editor/componentInstances';
3
- import type { RegistryEntry, RegistryPropValue } from '../editor/registry';
4
- import type { NodeModel, PageModel } from '../editor/store';
2
+ import { sourceWritableRegistryProps } from '../editor/componentInstances.js';
3
+ import type { RegistryEntry, RegistryPropValue } from '../editor/registry.js';
4
+ import type { NodeModel, PageModel } from '../editor/store.js';
5
5
  /** Property-panel section frame shared across the shell panels. */
6
- export declare function Sec({ title, description, action, children, }: {
6
+ export declare function Sec({ title, description, hint, action, children, }: {
7
7
  title: string;
8
8
  description?: ReactNode;
9
+ /** One sentence for the title's tooltip, where help text goes instead of a paragraph. */
10
+ hint?: string;
9
11
  action?: ReactNode;
10
12
  children: ReactNode;
11
13
  }): import("react").JSX.Element;
@@ -25,30 +27,6 @@ export declare function ComponentPropControls({ node, entry, sourceWritableProps
25
27
  propBadges?: Readonly<Record<string, readonly string[]>>;
26
28
  onPatch: (prop: string, value: RegistryPropValue) => void;
27
29
  }): import("react").JSX.Element;
28
- /**
29
- * State variants of the active screen — a modal that may cover it, a
30
- * permission badge, an alternate panel layout. They live as sibling frames
31
- * (each is its own verified capture), but the designer flips between them
32
- * here instead of hunting the canvas; selection activates the sibling and
33
- * swaps it into the group's canvas slot.
34
- *
35
- * A pair of base + one declared branch reads as an On/Off toggle; larger
36
- * groups list their states as a radio. `stateKind` tags the control with the
37
- * branch's category when the host declares one.
38
- */
39
- export declare const FrameScreenStates: import("react").FunctionComponent<{
40
- page: PageModel;
41
- }>;
42
- /**
43
- * QA scenarios the active screen verifies, as executable rows: clicking a
44
- * claim reproduces the exact reviewed state (frame activation, state reveal,
45
- * prop flip, or preset resize). The ledger is host-declared and core-
46
- * validated, so a renamed component or retired preset fails the gate instead
47
- * of silently orphaning the scenario.
48
- */
49
- export declare const FrameScenarioCoverage: import("react").FunctionComponent<{
50
- page: PageModel;
51
- }>;
52
30
  /**
53
31
  * Curated per-screen dimension controls — "swap this piece's state". The
54
32
  * host declares the pieces (status bar states, row badge kinds); the
@@ -83,31 +61,7 @@ export declare const FrameCardBadges: import("react").FunctionComponent<{
83
61
  page: PageModel;
84
62
  }>;
85
63
  /** Keeps live input visible beside saved states without competing with them. */
86
- export declare function FrameLiveInteractionStatus({ pageId }: {
64
+ export declare const FrameLiveInteractionStatus: import("react").FunctionComponent<{
87
65
  pageId: string;
88
- }): import("react").JSX.Element;
89
- /** Same-frame states, separated by the mechanism that reproduces them. */
90
- export declare const FrameInteractiveStates: import("react").FunctionComponent<{
91
- page: PageModel;
92
- }>;
93
- /** Animation playback is a preview tool, not a saved interaction axis. */
94
- export declare const FrameMotionControls: import("react").FunctionComponent<{
95
- page: PageModel;
96
- }>;
97
- /**
98
- * Surfaces this frame owes an answer to.
99
- *
100
- * The axes above are what the host remembered to declare, and for a long time
101
- * that was the whole story: an element nobody thought about produced no axis and
102
- * no complaint, because the ledger only ever compared declarations with each
103
- * other. This section is the other half — the editor lists the operable elements
104
- * of the tree it imported and the requests the frame made while booting, and the
105
- * host either points each one at a declaration or excludes it with a reason.
106
- *
107
- * It renders nothing once every surface has a verdict, so a finished frame stays
108
- * quiet and an unfinished one says exactly what is missing.
109
- */
110
- export declare const FrameSurfaceDemands: import("react").FunctionComponent<{
111
- page: PageModel;
112
66
  }>;
113
67
  export { sourceWritableRegistryProps };
@@ -0,0 +1,17 @@
1
+ import { type PageModel } from '../editor/store.js';
2
+ export declare function FrameControlGroupHeading({ group, title, description, }: {
3
+ group: string;
4
+ title: string;
5
+ description: string;
6
+ }): import("react").JSX.Element;
7
+ export declare function FrameReadOnlyOverview({ page }: {
8
+ page: PageModel;
9
+ }): import("react").JSX.Element;
10
+ export type FrameFlow = 'free' | 'vertical' | 'horizontal' | 'grid';
11
+ export declare function frameFlowOf(page: PageModel): FrameFlow;
12
+ export declare function FrameFlowGlyph({ mode }: {
13
+ mode: FrameFlow;
14
+ }): import("react").JSX.Element;
15
+ export declare const FrameObjectPanel: import("react").FunctionComponent<{
16
+ page: PageModel;
17
+ }>;
@@ -0,0 +1,28 @@
1
+ import type { PageModel } from '../editor/store.js';
2
+ /**
3
+ * QA scenarios the active screen verifies, as executable rows: clicking a
4
+ * claim reproduces the exact reviewed state (frame activation, state reveal,
5
+ * prop flip, or preset resize). The ledger is host-declared and core-
6
+ * validated, so a renamed component or retired preset fails the gate instead
7
+ * of silently orphaning the scenario.
8
+ */
9
+ export declare const FrameScenarioCoverage: import("react").FunctionComponent<{
10
+ page: PageModel;
11
+ }>;
12
+ /**
13
+ * Surfaces this frame owes an answer to.
14
+ *
15
+ * The declared axes are what the host remembered to declare, and for a long
16
+ * time that was the whole story: an element nobody thought about produced no
17
+ * axis and no complaint, because the ledger only ever compared declarations
18
+ * with each other. This section is the other half — the editor lists the
19
+ * operable elements of the tree it imported and the requests the frame made
20
+ * while booting, and the host either points each one at a declaration or
21
+ * excludes it with a reason.
22
+ *
23
+ * It renders nothing once every surface has a verdict, so a finished frame stays
24
+ * quiet and an unfinished one says exactly what is missing.
25
+ */
26
+ export declare const FrameSurfaceDemands: import("react").FunctionComponent<{
27
+ page: PageModel;
28
+ }>;
@@ -1,4 +1,4 @@
1
- import { type DesignImportAsset, type DesignImportKind } from '../editor/designImport';
1
+ import type { DesignImportAsset, DesignImportKind } from '../editor/designImport.js';
2
2
  export declare const LayerTree: import("react").FunctionComponent<{
3
3
  /**
4
4
  * Which half of the panel to draw. 'story' answers where am I going — the