@pygmalionjs/pygmalion 0.5.14 → 0.5.15
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist-lib/types/App.d.ts +5 -0
- package/dist-lib/types/canvas/CameraLayer.d.ts +9 -0
- package/dist-lib/types/canvas/Canvas.d.ts +19 -0
- package/dist-lib/types/canvas/FrameLabelBanner.d.ts +7 -0
- package/dist-lib/types/canvas/FrameView.d.ts +9 -0
- package/dist-lib/types/canvas/FrozenRoutePreview.d.ts +12 -0
- package/dist-lib/types/canvas/InspectOverlay.d.ts +10 -0
- package/dist-lib/types/canvas/LightweightCanvas.d.ts +10 -0
- package/dist-lib/types/canvas/ObjectControls.d.ts +22 -0
- package/dist-lib/types/canvas/Preview.d.ts +3 -0
- package/dist-lib/types/canvas/SectionBoxes.d.ts +24 -0
- package/dist-lib/types/canvas/ShadowRoutePreview.d.ts +14 -0
- package/dist-lib/types/canvas/StoryboardConnections.d.ts +31 -0
- package/dist-lib/types/canvas/cameraPlacement.d.ts +45 -0
- package/dist-lib/types/canvas/domTags.d.ts +10 -0
- package/dist-lib/types/canvas/layoutContext.d.ts +9 -0
- package/dist-lib/types/canvas/useFlowSession.d.ts +36 -0
- package/dist-lib/types/canvas/useFrameLod.d.ts +35 -0
- package/dist-lib/types/editor/adaptiveFrameLayout.d.ts +67 -0
- package/dist-lib/types/editor/assetEditing.d.ts +10 -0
- package/dist-lib/types/editor/bannerStyle.d.ts +18 -0
- package/dist-lib/types/editor/catalog.d.ts +101 -0
- package/dist-lib/types/editor/codegen.d.ts +11 -0
- package/dist-lib/types/editor/componentConnections.d.ts +63 -0
- package/dist-lib/types/editor/componentInstances.d.ts +27 -0
- package/dist-lib/types/editor/contentBounds.d.ts +34 -0
- package/dist-lib/types/editor/designCompiler.d.ts +100 -0
- package/dist-lib/types/editor/designImport.d.ts +448 -0
- package/dist-lib/types/editor/documentSync.d.ts +28 -0
- package/dist-lib/types/editor/domImport.d.ts +58 -0
- package/dist-lib/types/editor/editModePolicy.d.ts +17 -0
- package/dist-lib/types/editor/fiberMap.d.ts +16 -0
- package/dist-lib/types/editor/flowSessionScheduler.d.ts +97 -0
- package/dist-lib/types/editor/flowSessions.d.ts +137 -0
- package/dist-lib/types/editor/frameHeight.d.ts +14 -0
- package/dist-lib/types/editor/frameIdentity.d.ts +9 -0
- package/dist-lib/types/editor/frameLabels.d.ts +124 -0
- package/dist-lib/types/editor/frameLanes.d.ts +62 -0
- package/dist-lib/types/editor/frameLod.d.ts +123 -0
- package/dist-lib/types/editor/frameLodRuntime.d.ts +64 -0
- package/dist-lib/types/editor/framePointerHit.d.ts +67 -0
- package/dist-lib/types/editor/framePointerIntent.d.ts +53 -0
- package/dist-lib/types/editor/framePreviewChannels.d.ts +26 -0
- package/dist-lib/types/editor/framePreviewKeys.d.ts +21 -0
- package/dist-lib/types/editor/frameWheelRouting.d.ts +16 -0
- package/dist-lib/types/editor/frozenImport.d.ts +70 -0
- package/dist-lib/types/editor/host.d.ts +114 -0
- package/dist-lib/types/editor/inspect.d.ts +225 -0
- package/dist-lib/types/editor/interactiveStates.d.ts +103 -0
- package/dist-lib/types/editor/livePreviewInstances.d.ts +93 -0
- package/dist-lib/types/editor/liveScreens.d.ts +20 -0
- package/dist-lib/types/editor/nodeSelector.d.ts +20 -0
- package/dist-lib/types/editor/previewBootstrap.d.ts +189 -0
- package/dist-lib/types/editor/previewEnvironmentControls.d.ts +33 -0
- package/dist-lib/types/editor/previewHydration.d.ts +5 -0
- package/dist-lib/types/editor/previewIntent.d.ts +17 -0
- package/dist-lib/types/editor/previewSweep.d.ts +129 -0
- package/dist-lib/types/editor/previewWarmup.d.ts +77 -0
- package/dist-lib/types/editor/projectBootGate.d.ts +45 -0
- package/dist-lib/types/editor/projectRuntime.d.ts +138 -0
- package/dist-lib/types/editor/registry.d.ts +38 -0
- package/dist-lib/types/editor/routePreview.d.ts +285 -0
- package/dist-lib/types/editor/routePreviewArtifactV2.d.ts +34 -0
- package/dist-lib/types/editor/routePreviewArtifactV3.d.ts +64 -0
- package/dist-lib/types/editor/routePreviewPlacement.d.ts +9 -0
- package/dist-lib/types/editor/routePreviewStatus.d.ts +48 -0
- package/dist-lib/types/editor/scenarioCoverage.d.ts +167 -0
- package/dist-lib/types/editor/screenCards.d.ts +101 -0
- package/dist-lib/types/editor/screenDimensions.d.ts +63 -0
- package/dist-lib/types/editor/screenFlows.d.ts +47 -0
- package/dist-lib/types/editor/screenInteractions.d.ts +4 -0
- package/dist-lib/types/editor/screenLists.d.ts +40 -0
- package/dist-lib/types/editor/screenStateGroups.d.ts +36 -0
- package/dist-lib/types/editor/screenshotBitmaps.d.ts +20 -0
- package/dist-lib/types/editor/sectionHeaders.d.ts +117 -0
- package/dist-lib/types/editor/shadowPreview.d.ts +103 -0
- package/dist-lib/types/editor/sharedSource.d.ts +40 -0
- package/dist-lib/types/editor/sourceJournal.d.ts +27 -0
- package/dist-lib/types/editor/store.d.ts +838 -0
- package/dist-lib/types/editor/storyboardComposition.d.ts +116 -0
- package/dist-lib/types/editor/storyboardDiscovery.d.ts +105 -0
- package/dist-lib/types/editor/storyboardEnvironment.d.ts +22 -0
- package/dist-lib/types/editor/storyboardGraph.d.ts +120 -0
- package/dist-lib/types/editor/storyboardGraphRuntime.d.ts +12 -0
- package/dist-lib/types/editor/storyboardGraphView.d.ts +104 -0
- package/dist-lib/types/editor/surfaceDemands.d.ts +138 -0
- package/dist-lib/types/editor/tokens.d.ts +26 -0
- package/dist-lib/types/editor/useObserved.d.ts +1 -0
- package/dist-lib/types/editor/viewportPresets.d.ts +21 -0
- package/dist-lib/types/editor/visualQa.d.ts +50 -0
- package/dist-lib/types/lib.d.ts +345 -0
- package/dist-lib/types/shell/ApplyPanel.d.ts +1 -0
- package/dist-lib/types/shell/AssetsPanel.d.ts +3 -0
- package/dist-lib/types/shell/CanvasStatusProbe.d.ts +5 -0
- package/dist-lib/types/shell/CodePanel.d.ts +1 -0
- package/dist-lib/types/shell/ComponentStateControls.d.ts +108 -0
- package/dist-lib/types/shell/ContextMenu.d.ts +1 -0
- package/dist-lib/types/shell/LayerTree.d.ts +7 -0
- package/dist-lib/types/shell/PropsPanel.d.ts +1 -0
- package/dist-lib/types/shell/StoryboardGraphPanel.d.ts +23 -0
- package/dist-lib/types/shell/ZoomIndicator.d.ts +4 -0
- package/dist-lib/types/shell/qaPresentation.d.ts +9 -0
- package/dist-lib/types/testing.d.ts +8 -0
- package/dist-lib/types/ui/SourceRefControl.d.ts +38 -0
- package/dist-lib/types/ui/icons.d.ts +30 -0
- package/package.json +7 -8
- package/testing.d.ts +0 -26
- package/types.d.ts +0 -2675
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import type { InspectApplyPayload } from './inspect';
|
|
2
|
+
export interface InspectQaArtifactHash {
|
|
3
|
+
domStructureHash: string;
|
|
4
|
+
screenshotHash: string;
|
|
5
|
+
screenshotUrl?: string;
|
|
6
|
+
}
|
|
7
|
+
export interface InspectQaPixelDimensions {
|
|
8
|
+
width: number;
|
|
9
|
+
height: number;
|
|
10
|
+
}
|
|
11
|
+
export interface InspectQaPixelDiff {
|
|
12
|
+
before: InspectQaPixelDimensions;
|
|
13
|
+
after: InspectQaPixelDimensions;
|
|
14
|
+
dimensionsMatch: boolean;
|
|
15
|
+
changedPixels: number;
|
|
16
|
+
totalPixels: number;
|
|
17
|
+
diffRatio: number;
|
|
18
|
+
threshold: number;
|
|
19
|
+
heatmapUrl: string | null;
|
|
20
|
+
}
|
|
21
|
+
export interface InspectQaFrameResult {
|
|
22
|
+
id: string;
|
|
23
|
+
before: InspectQaArtifactHash;
|
|
24
|
+
after?: InspectQaArtifactHash;
|
|
25
|
+
domChanged?: boolean;
|
|
26
|
+
screenshotChanged?: boolean;
|
|
27
|
+
pixelDiff?: InspectQaPixelDiff;
|
|
28
|
+
}
|
|
29
|
+
export interface InspectQaFailure {
|
|
30
|
+
id: string;
|
|
31
|
+
error: string;
|
|
32
|
+
}
|
|
33
|
+
export interface InspectQaResult {
|
|
34
|
+
phase: 'baseline' | 'changed';
|
|
35
|
+
baselineId: string;
|
|
36
|
+
complete: boolean;
|
|
37
|
+
frames: InspectQaFrameResult[];
|
|
38
|
+
failures: InspectQaFailure[];
|
|
39
|
+
}
|
|
40
|
+
export interface InspectQaCaptureRequest {
|
|
41
|
+
phase: 'baseline' | 'changed';
|
|
42
|
+
basePath: string;
|
|
43
|
+
frameIds: string[];
|
|
44
|
+
baselineId?: string;
|
|
45
|
+
}
|
|
46
|
+
export declare function inspectQaBaseUrl(basePath: string, origin: string): string;
|
|
47
|
+
/** Among all change impact frames calculated by the source graph, only the canonical screen that the host can capture is selected. */
|
|
48
|
+
export declare function inspectQaFrameIds(payload: InspectApplyPayload, eligibleFrameIds?: readonly string[]): string[];
|
|
49
|
+
/** Host Vite middleware strictly normalizes DOM·PNG hashes created with Playwright. */
|
|
50
|
+
export declare function requestInspectQaCapture(fetcher: typeof fetch, endpoint: string, request: InspectQaCaptureRequest): Promise<InspectQaResult>;
|
|
@@ -0,0 +1,345 @@
|
|
|
1
|
+
import { type DesignImportController, type DesignImportInitialPage } from './editor/designImport';
|
|
2
|
+
import { type ComponentRegistry } from './editor/registry';
|
|
3
|
+
import { type DesignComponentConnectionDef } from './editor/componentConnections';
|
|
4
|
+
import { type ApplyPayload, type DesignChangePayload, type DesignChangeResult, type InspectApplyResult, type InspectImpactResult, type InspectPreviewResult } from './editor/host';
|
|
5
|
+
import { type InspectApplyPayload } from './editor/inspect';
|
|
6
|
+
import { type ScreenFlowPath } from './editor/screenFlows';
|
|
7
|
+
import { type ScenarioCoverageClaim } from './editor/scenarioCoverage';
|
|
8
|
+
import { type InteractiveStateDef } from './editor/interactiveStates';
|
|
9
|
+
import { type SurfaceClassification } from './editor/surfaceDemands';
|
|
10
|
+
import { type ScreenDimensionDef } from './editor/screenDimensions';
|
|
11
|
+
import { type FrameBranchKindDef, type FrameLabelLabels } from './editor/frameLabels';
|
|
12
|
+
import { type ScreenCardDef } from './editor/screenCards';
|
|
13
|
+
import { type SectionHeaderDef, type SectionHeaderLabels } from './editor/sectionHeaders';
|
|
14
|
+
import { type ScreenLaneDef } from './editor/frameLanes';
|
|
15
|
+
import { type ScreenListDef } from './editor/screenLists';
|
|
16
|
+
import { type RoutePreviewArtifactBundle } from './editor/routePreview';
|
|
17
|
+
import type { StoryboardDefinition } from './editor/storyboardGraph';
|
|
18
|
+
import { type TokenDef } from './editor/tokens';
|
|
19
|
+
import { type ViewportPresetDef } from './editor/viewportPresets';
|
|
20
|
+
import { type PreviewEnvironmentControlDef } from './editor/previewEnvironmentControls';
|
|
21
|
+
|
|
22
|
+
export { setComponentRegistry } from './editor/registry';
|
|
23
|
+
export type { ComponentRegistry, RegistryEntry, RegistryPropValue, } from './editor/registry';
|
|
24
|
+
export { enumerateDesignComponentConnectionCases, getDesignComponentConnection, getDesignComponentConnectionForComponent, getDesignComponentConnections, setDesignComponentConnections, validateDesignComponentConnections, } from './editor/componentConnections';
|
|
25
|
+
export type { DesignComponentConnectionCase, DesignComponentConnectionCases, DesignComponentConnectionDef, DesignComponentReference, DesignConnectionDiagnostic, DesignConnectionPropertyDef, DesignConnectionPropertyKind, } from './editor/componentConnections';
|
|
26
|
+
export { compileDesignDocument, createDesignIntermediateDocument, DEFAULT_DESIGN_COMPILE_LIMITS, DESIGN_IR_SCHEMA, DESIGN_IR_VERSION, getDesignCodegenAdapters, registerDesignCodegenAdapter, } from './editor/designCompiler';
|
|
27
|
+
export type { DesignCodegenAdapter, DesignCodegenAdapterContext, DesignCodegenAdapterOutput, DesignCompileDiagnostic, DesignCompileLimits, DesignCompileOptions, DesignCompilePurpose, DesignCompileResult, DesignCompileSeverity, DesignCompileStage, DesignCompileStatus, DesignIntermediateDocumentV1, DesignIRAsset, DesignIRComponent, DesignIRMetrics, } from './editor/designCompiler';
|
|
28
|
+
export type { CodegenFrameOptions } from './editor/codegen';
|
|
29
|
+
export { createDesignComponentCatalog, createDesignComponentVariantMatrix, createDesignGalleryCatalog, designCatalogKey, designCatalogRegistryName, PygmalionCatalogDocument, PygmalionCatalogMatrix, PygmalionCatalogSection, } from './editor/catalog';
|
|
30
|
+
export type { DesignCatalogBuild, DesignCatalogFrame, DesignCatalogItem, DesignCatalogKind, DesignCatalogPageDescriptor, DesignComponentCatalogOptions, DesignComponentVariantMatrix, DesignGalleryCatalogOptions, PygmalionCatalogDocumentProps, PygmalionCatalogMatrixProps, PygmalionCatalogSectionProps, } from './editor/catalog';
|
|
31
|
+
export { setTokens, applyTokenOverride, resetTokenOverrides, } from './editor/tokens';
|
|
32
|
+
export { setAppOrigin as setPygmalionAppOrigin } from './editor/host';
|
|
33
|
+
export { setPreviewRevision as setPygmalionPreviewRevision } from './editor/host';
|
|
34
|
+
export { clearRoutePreviewSnapshots as clearPygmalionPreviewCache, recommendedRoutePreviewConcurrency as getRecommendedPygmalionPreviewConcurrency, setRoutePreviewConcurrency as setPygmalionPreviewConcurrency, } from './editor/routePreview';
|
|
35
|
+
export type { RoutePreviewArtifactBundle } from './editor/routePreview';
|
|
36
|
+
export { reconstructRoutePreviewArtifactScreenshotV3, reconstructRoutePreviewArtifactSnapshotV3, validateRoutePreviewArtifactV3Browser, } from './editor/routePreviewArtifactV3';
|
|
37
|
+
export type { RoutePreviewArtifactBundleV3, RoutePreviewArtifactV3Diagnostic, RoutePreviewArtifactV3Frame, RoutePreviewArtifactV3ReconstructedScreenshot, RoutePreviewArtifactV3ScreenshotAsset, RoutePreviewArtifactV3ScreenshotMediaType, RoutePreviewArtifactV3ScreenshotReference, RoutePreviewArtifactV3Status, RoutePreviewArtifactV3ValidationResult, RoutePreviewArtifactV3Viewport, } from './editor/routePreviewArtifactV3';
|
|
38
|
+
export { bootstrapPreviewArtifact, createPreviewArtifactHttpTransport, createPreviewCacheNamespace, createPreviewFrameFingerprint, createPreviewRecipeFingerprint, createStoryboardCaptureRecipeIdentity, resolvePreviewArtifactFrames, validatePreviewArtifactBundle, } from './editor/previewBootstrap';
|
|
39
|
+
export type { PreviewArtifactBootstrapResult, PreviewArtifactExpectation, PreviewArtifactFetch, PreviewArtifactFrameRequest, PreviewArtifactFrameResolution, PreviewArtifactHttpResponse, PreviewArtifactHttpTransportOptions, PreviewArtifactTransport, PreviewArtifactTransportRequest, PreviewArtifactValidationReason, PreviewArtifactValidationResult, PreviewCacheNamespaceOptions, PreviewRecipeIdentity, StoryboardCaptureRecipeInput, } from './editor/previewBootstrap';
|
|
40
|
+
export { validateScreenStateGroups } from './editor/screenStateGroups';
|
|
41
|
+
export type { ScreenStateGroupDiagnostic, ScreenStateGroupInput, } from './editor/screenStateGroups';
|
|
42
|
+
export { validateScreenFlows } from './editor/screenFlows';
|
|
43
|
+
export type { ScreenFlowDiagnostic, ScreenFlowPath, ScreenFlowWaypoint, } from './editor/screenFlows';
|
|
44
|
+
export { applyScenarioCoverageClaim, validateScenarioCoverage, } from './editor/scenarioCoverage';
|
|
45
|
+
export type { ApplyCoverageResult, ScenarioCoverageClaim, ScenarioCoverageContext, ScenarioCoverageDiagnostic, } from './editor/scenarioCoverage';
|
|
46
|
+
export { enumerateControlCandidates, enumerateRequestCandidates, enumerateRouteCandidates, frameSurfaceDemands, getObservedRequests, getSurfaceClassifications, MIN_SURFACE_REASON_LENGTH, requestEndpointShape, setObservedRequests, setSurfaceClassifications, unclassifiedSurfaces, validateSurfaceDemands, } from './editor/surfaceDemands';
|
|
47
|
+
export type { ControlNodeLike, FrameSurfaceDemands, ObservedRequest, RouteEnumerationInput, SurfaceCandidate, SurfaceClassification, SurfaceDemandDiagnostic, SurfaceDemandKind, SurfaceVerdict, } from './editor/surfaceDemands';
|
|
48
|
+
export { validateInteractiveStates } from './editor/interactiveStates';
|
|
49
|
+
export type { InteractiveStateDef, InteractiveStateDiagnostic, InteractiveStateOption, } from './editor/interactiveStates';
|
|
50
|
+
export { validateScreenCards } from './editor/screenCards';
|
|
51
|
+
export type { CardBadgeOption, CardSlotDef, ScreenCardDef, ScreenCardDiagnostic, } from './editor/screenCards';
|
|
52
|
+
export { validateFrameBranchKinds, framesMissingScenario } from './editor/frameLabels';
|
|
53
|
+
export type { FrameBranchKindDef, FrameBranchKindDiagnostic, FrameLabelLabels, } from './editor/frameLabels';
|
|
54
|
+
export { validateSectionHeaders } from './editor/sectionHeaders';
|
|
55
|
+
export type { SectionHeaderDef, SectionHeaderDiagnostic, SectionHeaderFacts, SectionHeaderLabels, } from './editor/sectionHeaders';
|
|
56
|
+
export { validateScreenLanes } from './editor/frameLanes';
|
|
57
|
+
export type { ScreenLaneDef, ScreenLaneDiagnostic } from './editor/frameLanes';
|
|
58
|
+
export { validateScreenLists } from './editor/screenLists';
|
|
59
|
+
export type { ScreenListDef, ScreenListDiagnostic } from './editor/screenLists';
|
|
60
|
+
export type { NodeSelector } from './editor/nodeSelector';
|
|
61
|
+
export { validateScreenDimensions } from './editor/screenDimensions';
|
|
62
|
+
export type { ComponentBranch, ScreenDimensionDef, ScreenDimensionDiagnostic, ScreenDimensionOption, } from './editor/screenDimensions';
|
|
63
|
+
export { createStoryboardPathEdges, createStoryboardGraph, storyboardScreenRecipeKey, } from './editor/storyboardGraph';
|
|
64
|
+
export type { StoryboardDefinition, StoryboardGraph, StoryboardGraphBranch, StoryboardGraphBuildOptions, StoryboardGraphCoverage, StoryboardGraphEdge, StoryboardGraphEdgeInput, StoryboardGraphEdgeOrigin, StoryboardGraphNode, StoryboardGraphSourceGroup, StoryboardGraphWarning, StoryboardGraphWarningCode, StoryboardPathInput, } from './editor/storyboardGraph';
|
|
65
|
+
export { createStoryboardRouteScenarioId, createStoryboardGraphFromDiscovery, getStoryboardDiscoveryBaselineEnvironment, loadStoryboardDiscovery, publishStoryboardDiscovery, resolveStoryboardScreenCases, } from './editor/storyboardDiscovery';
|
|
66
|
+
export type { LoadStoryboardDiscoveryOptions, StoryboardDiscoveryCandidate, StoryboardDiscoveryEdge, StoryboardDiscoveryFetch, StoryboardDiscoveryGraphOptions, StoryboardDiscoveryManifest, StoryboardDiscoveryResponse, StoryboardDiscoveryResult, StoryboardDiscoveryRoute, StoryboardDiscoveryScenario, StoryboardResolvedPage, } from './editor/storyboardDiscovery';
|
|
67
|
+
export { getStoryboardGraph, setStoryboardGraph, subscribeStoryboardGraph, } from './editor/storyboardGraphRuntime';
|
|
68
|
+
export { createStoryboardGraphViewModel } from './editor/storyboardGraphView';
|
|
69
|
+
export type { StoryboardFrameReference, StoryboardGraphCanonicalView, StoryboardGraphFrameView, StoryboardGraphSourceView, StoryboardGraphTransitionView, StoryboardGraphViewModel, } from './editor/storyboardGraphView';
|
|
70
|
+
export { createStoryboardRouteUrl, getStoryboardBaselineEnvironment, mergeStoryboardEnvironment, setStoryboardBaselineEnvironment, STORYBOARD_ENVIRONMENT_CONTROL, STORYBOARD_ENVIRONMENT_QUERY, } from './editor/storyboardEnvironment';
|
|
71
|
+
export type { ApplyPayload, DesignChangePayload, DesignChangeResult, DesignCodeDocument, DesignElementChange, DesignElementDocument, DesignTokenDocument, InspectApplyResult, InspectImpactResult, InspectPreviewResult, } from './editor/host';
|
|
72
|
+
export type { InspectApplyPayload, PrimitiveSourceValue, PrimitiveSourceValueType, SourceAffectedFrame, SourceEditOperation, SourceEditScope, SourceIdentity, SourceInsertComponent, } from './editor/inspect';
|
|
73
|
+
export type { InspectQaArtifactHash, InspectQaCaptureRequest, InspectQaFailure, InspectQaFrameResult, InspectQaPixelDiff, InspectQaPixelDimensions, InspectQaResult, } from './editor/visualQa';
|
|
74
|
+
export { usePygmalionProject } from './editor/projectRuntime';
|
|
75
|
+
export type { PygmalionDesignSessionStatus, PygmalionDevMirrorStatus, PygmalionIntegrationState, PygmalionProjectEndpoints, PygmalionProjectRuntime, PygmalionProjectRuntimeOptions, PygmalionRevertResult, PygmalionSessionOperation, PygmalionSourceRef, PygmalionSourceRefs, PygmalionVisualOperation, PygmalionVisualRevertOperation, } from './editor/projectRuntime';
|
|
76
|
+
export { SourceRefControl } from './ui/SourceRefControl';
|
|
77
|
+
export type { SourceRefControlProps } from './ui/SourceRefControl';
|
|
78
|
+
export type { TokenDef } from './editor/tokens';
|
|
79
|
+
export { getViewportPresets, setViewportPresets, } from './editor/viewportPresets';
|
|
80
|
+
export type { ViewportPresetDef } from './editor/viewportPresets';
|
|
81
|
+
export { clearPreviewEnvironmentControlValues, getPreviewEnvironmentControlValue, getPreviewEnvironmentControls, getPreviewEnvironmentOverride, setPreviewEnvironmentControlValue, setPreviewEnvironmentControls, subscribePreviewEnvironmentControls, } from './editor/previewEnvironmentControls';
|
|
82
|
+
export type { PreviewEnvironmentControlDef, PreviewEnvironmentControlOptionDef, } from './editor/previewEnvironmentControls';
|
|
83
|
+
export { createDesignImportController, createDesignScreenCollection, DESIGN_IMPORT_KINDS, expandDesignScreenCasesViewports, expandDesignScreenCollectionViewports, mergeScreenPresets, } from './editor/designImport';
|
|
84
|
+
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, DesignScreenInteraction, DesignScreenInteractionAction, DesignScreenInteractionReport, DesignScreenPreset, DesignScreenPresetContext, DesignScreenPresetExecutionResult, DesignScreenPresetExecutor, DesignScreenPresetRequest, DesignScreenViewport, DesignScreenViewportExpansionOptions, DesignScreenViewportPagePatch, DesignSerializable, StoryboardEnvironment, StoryboardMediaDevice, StoryboardMediaFailure, StoryboardNetwork, StoryboardPermissionState, StoryboardRequestCondition, StoryboardRequestOutcome, } from './editor/designImport';
|
|
85
|
+
export type { DomImportDiagnostic, DomImportMetrics, DomImportOptions, DomImportResult, } from './editor/domImport';
|
|
86
|
+
export type { SharedSourceEditScope, SharedSourceFrameSummary, SharedSourceImpact, } from './editor/sharedSource';
|
|
87
|
+
export type { NodeJSON } from './editor/store';
|
|
88
|
+
import { getObserverTree, isObservableProp } from 'mobx';
|
|
89
|
+
export declare const __debug: {
|
|
90
|
+
editor: import("./editor/store").EditorStore;
|
|
91
|
+
getObserverTree: typeof getObserverTree;
|
|
92
|
+
isObservableProp: typeof isObservableProp;
|
|
93
|
+
/** Preview-surface introspection for headless diagnosis of frame surfaces. */
|
|
94
|
+
preview(frameId: string): Promise<{
|
|
95
|
+
key: string;
|
|
96
|
+
hasOutcome: boolean;
|
|
97
|
+
screenshot: {
|
|
98
|
+
width: number;
|
|
99
|
+
height: number;
|
|
100
|
+
} | null;
|
|
101
|
+
hasShadowArtifact: boolean;
|
|
102
|
+
hasSnapshot: boolean;
|
|
103
|
+
tier: import("./editor/frameLod").FrameLifecycleTier;
|
|
104
|
+
magnified: boolean;
|
|
105
|
+
promotion: {
|
|
106
|
+
mounted: boolean;
|
|
107
|
+
stamped: boolean | null;
|
|
108
|
+
};
|
|
109
|
+
lodState: {
|
|
110
|
+
tiers: [string, import("./editor/frameLod").FrameLifecycleTier][];
|
|
111
|
+
magnified: [string, boolean][];
|
|
112
|
+
lastRecompute: {
|
|
113
|
+
displayDensity?: number;
|
|
114
|
+
overview?: boolean;
|
|
115
|
+
frames?: {
|
|
116
|
+
id: string;
|
|
117
|
+
screenshotDensity: number | null | undefined;
|
|
118
|
+
tier: string;
|
|
119
|
+
}[];
|
|
120
|
+
};
|
|
121
|
+
};
|
|
122
|
+
readFramesNow: (import("./editor/frameLod").FrameLodFrame & {
|
|
123
|
+
memoKey?: string;
|
|
124
|
+
}) | undefined;
|
|
125
|
+
} | null>;
|
|
126
|
+
/** Flow-session delivery states for headless diagnosis of the captureless supply. */
|
|
127
|
+
flowSessions(): Promise<{
|
|
128
|
+
declaredPaths: number;
|
|
129
|
+
scheduler: {
|
|
130
|
+
calls: number;
|
|
131
|
+
lastCanvas: string;
|
|
132
|
+
lastFlows: number;
|
|
133
|
+
lastCandidates: number;
|
|
134
|
+
lastQueued: number;
|
|
135
|
+
};
|
|
136
|
+
states: Record<string, import("./editor/flowSessions").FlowScreenState>;
|
|
137
|
+
viewport: {
|
|
138
|
+
commit: {
|
|
139
|
+
requested: number;
|
|
140
|
+
resolvedNull: number;
|
|
141
|
+
controllerMissing: number;
|
|
142
|
+
markerGone: number;
|
|
143
|
+
editsWon: number;
|
|
144
|
+
captureNull: number;
|
|
145
|
+
committed: number;
|
|
146
|
+
};
|
|
147
|
+
states: Record<string, unknown>;
|
|
148
|
+
};
|
|
149
|
+
interactive: {
|
|
150
|
+
requests: {
|
|
151
|
+
requested: number;
|
|
152
|
+
noPath: number;
|
|
153
|
+
resolvedNull: number;
|
|
154
|
+
queued: number;
|
|
155
|
+
};
|
|
156
|
+
states: Record<string, unknown>;
|
|
157
|
+
};
|
|
158
|
+
warming: {
|
|
159
|
+
requested: number;
|
|
160
|
+
noPath: number;
|
|
161
|
+
resolvedNull: number;
|
|
162
|
+
alreadyWarm: number;
|
|
163
|
+
queued: number;
|
|
164
|
+
};
|
|
165
|
+
warm: {
|
|
166
|
+
bootsByRunner: {
|
|
167
|
+
[x: string]: number;
|
|
168
|
+
};
|
|
169
|
+
parked: number;
|
|
170
|
+
boots: number;
|
|
171
|
+
reuses: number;
|
|
172
|
+
parks: number;
|
|
173
|
+
evictions: number;
|
|
174
|
+
};
|
|
175
|
+
}>;
|
|
176
|
+
};
|
|
177
|
+
/**
|
|
178
|
+
* Called from the actual button handler of the host screen fixture — Switches to the name matching page (common in editor and preview).
|
|
179
|
+
* Example: SettingsPage card onSelect: () => pygmalionNavigate('Settings panel')
|
|
180
|
+
*/
|
|
181
|
+
export declare function pygmalionNavigate(pageName: string): void;
|
|
182
|
+
/** Open the prototype preview (▶) in the code — used when the host places its own entry button. */
|
|
183
|
+
export declare function pygmalionOpenPreview(): void;
|
|
184
|
+
/** Discard unapplied canvas and inspection edits created after the latest source load or apply. */
|
|
185
|
+
export declare function pygmalionResetCurrentEdits(): boolean;
|
|
186
|
+
export interface InitialPageDef extends DesignImportInitialPage {
|
|
187
|
+
}
|
|
188
|
+
export declare function PygmalionEditor({ registry, tokens, initialPages, initialCanvas, initialEditMode, componentConnections, viewportPresets, previewEnvironmentControls, designImport, onTokensChange, appOrigin, previewRevision, previewCacheNamespace, previewArtifacts, previewArtifactEndpoint, previewConcurrency, previewOpen, onPreviewOpenChange, flowCanvas, frameSurface, screenFlows, scenarioCoverage, screenDimensions, screenLists, sectionHeaders, sectionHeaderLabels, screenLanes, frameBranchKinds, frameLabelLabels, screenCards, liveScreenBudget, interactiveStates, surfaceClassifications, onApply, onDesignChange, onInspectApply, onInspectPreview, onInspectImpact, storyboard, storyboardDiscovery, storyboardDiscoveryEndpoint, }: {
|
|
189
|
+
registry?: ComponentRegistry;
|
|
190
|
+
tokens?: TokenDef[];
|
|
191
|
+
initialPages?: InitialPageDef[];
|
|
192
|
+
/** Canvas shown on first mount. Useful when an earlier catalog canvas is expensive to render. */
|
|
193
|
+
initialCanvas?: string;
|
|
194
|
+
/**
|
|
195
|
+
* Mode the editor opens in. Defaults to 'edit'. A host whose editor is a
|
|
196
|
+
* review surface declares 'view-only' so a reader is not one keystroke from
|
|
197
|
+
* changing the design; the toggle stays where it is, and the choice applies
|
|
198
|
+
* once rather than re-asserting over whatever the designer picked.
|
|
199
|
+
*/
|
|
200
|
+
initialEditMode?: 'edit' | 'view-only';
|
|
201
|
+
/** Explicit external-design to registered-code component mappings. */
|
|
202
|
+
componentConnections?: readonly DesignComponentConnectionDef[];
|
|
203
|
+
/** Named frame widths the application supports — rendered as one-click buttons beside the W/H boxes. */
|
|
204
|
+
viewportPresets?: readonly ViewportPresetDef[];
|
|
205
|
+
/** Host-declared browser conditions shown in the active frame's Preview inspector. */
|
|
206
|
+
previewEnvironmentControls?: readonly PreviewEnvironmentControlDef[];
|
|
207
|
+
/** A public importer that provides unified control over code inventory and importing of entire DOM layers. */
|
|
208
|
+
designImport?: DesignImportController;
|
|
209
|
+
/** Called with cumulative changes when editing a token in the Assets panel — the host is responsible for writing back (file saving). */
|
|
210
|
+
onTokensChange?: (changed: {
|
|
211
|
+
name: string;
|
|
212
|
+
value: string;
|
|
213
|
+
}[]) => void;
|
|
214
|
+
/** The standard origin of the route page iframe ('' if same-origin). */
|
|
215
|
+
appOrigin?: string;
|
|
216
|
+
/** Code version as of preview (dev SHA, etc.). Even if the URL is the same, if the value changes, the screen cache is updated. */
|
|
217
|
+
previewRevision?: string;
|
|
218
|
+
/** Project/branch boundaries for screen caches that are persistent in the browser. Stable string separate from random dev port. */
|
|
219
|
+
previewCacheNamespace?: string;
|
|
220
|
+
/** A canonical screen snapshot created during build. When the namespace matches, it is injected into the cache before the first render. */
|
|
221
|
+
previewArtifacts?: RoutePreviewArtifactBundle;
|
|
222
|
+
/** Same-origin endpoint that resolves an exact namespace and source revision, generating it on demand when configured by the Vite plugin. */
|
|
223
|
+
previewArtifactEndpoint?: string;
|
|
224
|
+
/** Number of actual app previews to run simultaneously. Defaults to an adaptive 12–32 lanes. */
|
|
225
|
+
previewConcurrency?: number;
|
|
226
|
+
/** Controlled by external status such as host route ▶ Whether the preview is opened or not. */
|
|
227
|
+
previewOpen?: boolean;
|
|
228
|
+
/** ▶ Called when the preview is opened or closed — allows the host to synchronize URLs. */
|
|
229
|
+
onPreviewOpenChange?: (open: boolean) => void;
|
|
230
|
+
/** ▶ The name of the “app screen flow” canvas that the preview will always play — Enter this canvas screen even if you press it on another canvas. */
|
|
231
|
+
flowCanvas?: string;
|
|
232
|
+
/**
|
|
233
|
+
* Static surface for route frames: `bitmap` (default) renders captured
|
|
234
|
+
* screenshots and reconstructs frozen DOM on demand; `dom` mounts the
|
|
235
|
+
* frozen DOM from the start — recommended with per-section canvases, where
|
|
236
|
+
* a canvas holds a section's worth of frames and every activation is then
|
|
237
|
+
* promotion-ready without a mount wait.
|
|
238
|
+
*/
|
|
239
|
+
frameSurface?: 'bitmap' | 'dom';
|
|
240
|
+
/**
|
|
241
|
+
* Host-declared flow paths — the captureless surface supply. One hidden
|
|
242
|
+
* live instance boots per path and walks its waypoints, publishing a
|
|
243
|
+
* frozen snapshot per screen into the preview store; frames whose screen a
|
|
244
|
+
* flow claims wait for the delivery instead of booting live themselves.
|
|
245
|
+
* Screens no flow claims keep the classic artifact/sweep/boot supply.
|
|
246
|
+
*/
|
|
247
|
+
screenFlows?: readonly ScreenFlowPath[];
|
|
248
|
+
/**
|
|
249
|
+
* Host-declared scenario coverage ledger: where each QA scenario is
|
|
250
|
+
* verified (frame, folded screen state, component toggle, viewport
|
|
251
|
+
* preset, behavior, todo). The right panel lists a screen's claims as
|
|
252
|
+
* executable rows and badges component controls with the scenarios they
|
|
253
|
+
* demonstrate. Validate with validateScenarioCoverage in the host gate.
|
|
254
|
+
*/
|
|
255
|
+
scenarioCoverage?: readonly ScenarioCoverageClaim[];
|
|
256
|
+
/**
|
|
257
|
+
* Host-declared screen dimensions: curated right-panel controls that swap
|
|
258
|
+
* a captured piece's state (a status bar, a row badge) by adopting the
|
|
259
|
+
* matched node into a registry adapter. Validate with
|
|
260
|
+
* validateScreenDimensions against the component-branch scan.
|
|
261
|
+
*/
|
|
262
|
+
screenDimensions?: readonly ScreenDimensionDef[];
|
|
263
|
+
/**
|
|
264
|
+
* Host-declared screen lists: right-panel row-count controls for a
|
|
265
|
+
* repeating list. Growing clones the list's last row; the per-row
|
|
266
|
+
* dimension controls are what make the copies differ. Validate with
|
|
267
|
+
* validateScreenLists.
|
|
268
|
+
*/
|
|
269
|
+
screenLists?: readonly ScreenListDef[];
|
|
270
|
+
/**
|
|
271
|
+
* Host-declared section headers: the band above a section box that says what
|
|
272
|
+
* the group covers. The core counts the frames, folded variants, scenarios
|
|
273
|
+
* and viewport itself; the host declares the code, the one-line purpose, the
|
|
274
|
+
* accent and the category. A section with no declaration keeps its plain
|
|
275
|
+
* name. Validate with validateSectionHeaders.
|
|
276
|
+
*/
|
|
277
|
+
sectionHeaders?: readonly SectionHeaderDef[];
|
|
278
|
+
/** Words for the facts a section header counts. English by default. */
|
|
279
|
+
sectionHeaderLabels?: SectionHeaderLabels;
|
|
280
|
+
/**
|
|
281
|
+
* Host-declared situation lanes: within a section, one lane is one row of
|
|
282
|
+
* the canvas, read left to right. Packing by area produces a uniform grid
|
|
283
|
+
* that says nothing, and only the host knows which screens belong to the
|
|
284
|
+
* same situation. A section with no lanes keeps the area packing.
|
|
285
|
+
* Validate with validateScreenLanes.
|
|
286
|
+
*/
|
|
287
|
+
screenLanes?: readonly ScreenLaneDef[];
|
|
288
|
+
/**
|
|
289
|
+
* Host-declared presentation of each branch kind a frame label can carry:
|
|
290
|
+
* the state kinds the catalog declares, plus the core's own `step` and
|
|
291
|
+
* `variant`. The core decides which kind a frame is and counts its facts;
|
|
292
|
+
* this says what each kind is called and what colour it reads as. Validate
|
|
293
|
+
* with validateFrameBranchKinds.
|
|
294
|
+
*/
|
|
295
|
+
frameBranchKinds?: readonly FrameBranchKindDef[];
|
|
296
|
+
/** Words for the facts a frame label counts. English by default. */
|
|
297
|
+
frameLabelLabels?: FrameLabelLabels;
|
|
298
|
+
/**
|
|
299
|
+
* Host-declared card compositions: which badges each repeated card may show,
|
|
300
|
+
* in which slot, and how many at once. Declares the component's anatomy so
|
|
301
|
+
* the panel offers only combinations the product could render. Validate with
|
|
302
|
+
* validateScreenCards.
|
|
303
|
+
*/
|
|
304
|
+
screenCards?: readonly ScreenCardDef[];
|
|
305
|
+
/**
|
|
306
|
+
* How many frames may render the running application instead of their
|
|
307
|
+
* capture. Default 0 — every frame is served from its capture, which is
|
|
308
|
+
* what keeps a canvas deterministic and quiet. Raise it to keep the
|
|
309
|
+
* frames a designer is working with interactive; the least recently
|
|
310
|
+
* activated holder gives its slot back.
|
|
311
|
+
*/
|
|
312
|
+
liveScreenBudget?: number;
|
|
313
|
+
/**
|
|
314
|
+
* Host-declared interactive states: axes a screen reaches by acting on it
|
|
315
|
+
* (folding the sidebar, hovering a row) rather than by being a separate
|
|
316
|
+
* captured frame. Validate with validateInteractiveStates.
|
|
317
|
+
*/
|
|
318
|
+
interactiveStates?: readonly InteractiveStateDef[];
|
|
319
|
+
/**
|
|
320
|
+
* Host verdicts for the surfaces the editor asks about — the routes it can
|
|
321
|
+
* render, the operable elements of an imported tree, the requests a frame
|
|
322
|
+
* makes while booting. Each answer either names the declaration that covers
|
|
323
|
+
* the surface or excludes it with a reason; anything unanswered shows up on
|
|
324
|
+
* the frame as an unclassified surface instead of quietly not existing.
|
|
325
|
+
*/
|
|
326
|
+
surfaceClassifications?: readonly SurfaceClassification[];
|
|
327
|
+
/** Reflect button — Returns { branch } after the host saves the file and commits the branch (push is done directly by the user). */
|
|
328
|
+
onApply?: (payload: ApplyPayload) => Promise<{
|
|
329
|
+
branch: string;
|
|
330
|
+
} | void>;
|
|
331
|
+
/** A common write-back pathway that automatically saves the final state of all canvas elements in your code. */
|
|
332
|
+
onDesignChange?: (payload: DesignChangePayload) => Promise<DesignChangeResult | void>;
|
|
333
|
+
/** Apply inspection edits through the host write-back endpoint. */
|
|
334
|
+
onInspectApply?: (payload: InspectApplyPayload) => Promise<InspectApplyResult | void>;
|
|
335
|
+
/** Generate a source diff before apply. When connected, apply is blocked until review. */
|
|
336
|
+
onInspectPreview?: (payload: InspectApplyPayload) => Promise<InspectPreviewResult>;
|
|
337
|
+
/** Calculate the impact screen by querying the inverse dependency closure of the changed file. */
|
|
338
|
+
onInspectImpact?: (componentFiles: string[]) => Promise<InspectImpactResult>;
|
|
339
|
+
/** Authored screen paths and starts merged with source-discovered navigation. */
|
|
340
|
+
storyboard?: StoryboardDefinition;
|
|
341
|
+
/** Detect portable browser branches from source before route frames boot. Default true. */
|
|
342
|
+
storyboardDiscovery?: boolean;
|
|
343
|
+
/** Vite endpoint that returns the generated generic storyboard environment manifest. */
|
|
344
|
+
storyboardDiscoveryEndpoint?: string;
|
|
345
|
+
}): import("react").JSX.Element;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const ApplyPanel: import("react").FunctionComponent<object>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const CodePanel: import("react").FunctionComponent<object>;
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
import { type ReactNode } from 'react';
|
|
2
|
+
import { sourceWritableRegistryProps } from '../editor/componentInstances';
|
|
3
|
+
import type { RegistryEntry, RegistryPropValue } from '../editor/registry';
|
|
4
|
+
import { type NodeModel, type PageModel } from '../editor/store';
|
|
5
|
+
/** Property-panel section frame shared across the shell panels. */
|
|
6
|
+
export declare function Sec({ title, action, children, }: {
|
|
7
|
+
title: string;
|
|
8
|
+
action?: ReactNode;
|
|
9
|
+
children: ReactNode;
|
|
10
|
+
}): import("react").JSX.Element;
|
|
11
|
+
export declare function componentPropValue(node: Pick<NodeModel, 'componentProps'>, key: string, options: readonly RegistryPropValue[], defaultValue: RegistryPropValue | undefined): RegistryPropValue | undefined;
|
|
12
|
+
export declare function componentPropLabel(value: RegistryPropValue): string;
|
|
13
|
+
/**
|
|
14
|
+
* Typed prop controls for one component instance. `sourceWritableProps`
|
|
15
|
+
* enables the per-prop "preview only" badge for imported instances whose
|
|
16
|
+
* prop is expression-bound; pass null for catalog nodes, which are
|
|
17
|
+
* themselves the source.
|
|
18
|
+
*/
|
|
19
|
+
export declare function ComponentPropControls({ node, entry, sourceWritableProps, propBadges, onPatch, }: {
|
|
20
|
+
node: Pick<NodeModel, 'componentProps'>;
|
|
21
|
+
entry: RegistryEntry;
|
|
22
|
+
sourceWritableProps?: readonly string[] | null;
|
|
23
|
+
/** Scenario ids each prop demonstrates — rendered as chips beside the control. */
|
|
24
|
+
propBadges?: Readonly<Record<string, readonly string[]>>;
|
|
25
|
+
onPatch: (prop: string, value: RegistryPropValue) => void;
|
|
26
|
+
}): import("react").JSX.Element;
|
|
27
|
+
/**
|
|
28
|
+
* State variants of the active screen — a modal that may cover it, a
|
|
29
|
+
* permission badge, an alternate panel layout. They live as sibling frames
|
|
30
|
+
* (each is its own verified capture), but the designer flips between them
|
|
31
|
+
* here instead of hunting the canvas; selection activates the sibling and
|
|
32
|
+
* swaps it into the group's canvas slot.
|
|
33
|
+
*
|
|
34
|
+
* A pair of base + one declared branch reads as an On/Off toggle; larger
|
|
35
|
+
* groups list their states as a radio. `stateKind` tags the control with the
|
|
36
|
+
* branch's category when the host declares one.
|
|
37
|
+
*/
|
|
38
|
+
export declare const FrameScreenStates: import("react").FunctionComponent<{
|
|
39
|
+
page: PageModel;
|
|
40
|
+
}>;
|
|
41
|
+
/**
|
|
42
|
+
* QA scenarios the active screen verifies, as executable rows: clicking a
|
|
43
|
+
* claim reproduces the exact reviewed state (frame activation, state reveal,
|
|
44
|
+
* prop flip, or preset resize). The ledger is host-declared and core-
|
|
45
|
+
* validated, so a renamed component or retired preset fails the gate instead
|
|
46
|
+
* of silently orphaning the scenario.
|
|
47
|
+
*/
|
|
48
|
+
export declare const FrameScenarioCoverage: import("react").FunctionComponent<{
|
|
49
|
+
page: PageModel;
|
|
50
|
+
}>;
|
|
51
|
+
/**
|
|
52
|
+
* Curated per-screen dimension controls — "swap this piece's state". The
|
|
53
|
+
* host declares the pieces (status bar states, row badge kinds); the
|
|
54
|
+
* control adopts the captured stand-in into the adapter and re-props it.
|
|
55
|
+
* Undo restores the captured node. This axis is for the single piece a
|
|
56
|
+
* screen shows once; a repeated piece belongs to the card composition axis,
|
|
57
|
+
* which knows about slots and can hold several badges at once. Below the
|
|
58
|
+
* controls, branches discovered in the declared source are listed so
|
|
59
|
+
* undeclared cases stay visible instead of silently unknown.
|
|
60
|
+
*/
|
|
61
|
+
export declare const FrameScreenDimensions: import("react").FunctionComponent<{
|
|
62
|
+
page: PageModel;
|
|
63
|
+
}>;
|
|
64
|
+
/**
|
|
65
|
+
* Screen lists — how many rows a repeating list shows. Growing clones the
|
|
66
|
+
* last row, so the copies start identical and the per-row dimension
|
|
67
|
+
* controls above are what make them differ. It edits the captured tree, so
|
|
68
|
+
* it lands instantly and undoes in one step.
|
|
69
|
+
*/
|
|
70
|
+
export declare const FrameScreenLists: import("react").FunctionComponent<{
|
|
71
|
+
page: PageModel;
|
|
72
|
+
}>;
|
|
73
|
+
/**
|
|
74
|
+
* Card badges — what each repeated card shows, slot by slot.
|
|
75
|
+
*
|
|
76
|
+
* One row per slot per card, because that is the shape of the component: the
|
|
77
|
+
* identity row and the status slot hold different vocabularies, and a slot
|
|
78
|
+
* that can hold several badges gets several independent toggles rather than
|
|
79
|
+
* a select that can only ever show one.
|
|
80
|
+
*/
|
|
81
|
+
export declare const FrameCardBadges: import("react").FunctionComponent<{
|
|
82
|
+
page: PageModel;
|
|
83
|
+
}>;
|
|
84
|
+
/**
|
|
85
|
+
* Interactive states — axes reachable by acting on the screen (folding the
|
|
86
|
+
* sidebar, hovering a row). They are not sibling frames: the same frame is
|
|
87
|
+
* re-supplied with the option's steps appended to its recipe.
|
|
88
|
+
*/
|
|
89
|
+
export declare const FrameInteractiveStates: import("react").FunctionComponent<{
|
|
90
|
+
page: PageModel;
|
|
91
|
+
}>;
|
|
92
|
+
/**
|
|
93
|
+
* Surfaces this frame owes an answer to.
|
|
94
|
+
*
|
|
95
|
+
* The axes above are what the host remembered to declare, and for a long time
|
|
96
|
+
* that was the whole story: an element nobody thought about produced no axis and
|
|
97
|
+
* no complaint, because the ledger only ever compared declarations with each
|
|
98
|
+
* other. This section is the other half — the editor lists the operable elements
|
|
99
|
+
* of the tree it imported and the requests the frame made while booting, and the
|
|
100
|
+
* host either points each one at a declaration or excludes it with a reason.
|
|
101
|
+
*
|
|
102
|
+
* It renders nothing once every surface has a verdict, so a finished frame stays
|
|
103
|
+
* quiet and an unfinished one says exactly what is missing.
|
|
104
|
+
*/
|
|
105
|
+
export declare const FrameSurfaceDemands: import("react").FunctionComponent<{
|
|
106
|
+
page: PageModel;
|
|
107
|
+
}>;
|
|
108
|
+
export { sourceWritableRegistryProps };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const ContextMenu: import("react").FunctionComponent<object>;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { StoryboardConnectionMode } from '../canvas/StoryboardConnections';
|
|
2
|
+
export declare const LayerTree: import("react").FunctionComponent<{
|
|
3
|
+
onFrameFocus?: (id: string) => void;
|
|
4
|
+
storyboardConnectionMode?: StoryboardConnectionMode;
|
|
5
|
+
onStoryboardConnectionModeChange?: (mode: StoryboardConnectionMode) => void;
|
|
6
|
+
storyboardReady?: boolean;
|
|
7
|
+
}>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const PropsPanel: import("react").FunctionComponent<object>;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import type { StoryboardGraphViewModel } from '../editor/storyboardGraphView';
|
|
2
|
+
import type { StoryboardCompositionModel } from '../editor/storyboardComposition';
|
|
3
|
+
import type { StoryboardConnectionMode } from '../canvas/StoryboardConnections';
|
|
4
|
+
export interface StoryboardGraphPanelProps {
|
|
5
|
+
model: StoryboardGraphViewModel;
|
|
6
|
+
onSelectFrame: (frameId: string) => void;
|
|
7
|
+
activeFrameId?: string | null;
|
|
8
|
+
connectionMode: StoryboardConnectionMode;
|
|
9
|
+
onConnectionModeChange: (mode: StoryboardConnectionMode) => void;
|
|
10
|
+
/**
|
|
11
|
+
* Structure for a canvas with no routes, where a journey graph has nothing
|
|
12
|
+
* to say. Present only on catalog canvases.
|
|
13
|
+
*/
|
|
14
|
+
composition?: StoryboardCompositionModel | null;
|
|
15
|
+
/** Frame names for composition rows, which carry ids rather than frames. */
|
|
16
|
+
frameNameById?: ReadonlyMap<string, string>;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Generic navigation and coverage surface for a project-supplied storyboard
|
|
20
|
+
* graph. It never interprets domain labels and delegates camera focus to the
|
|
21
|
+
* editor's existing frame-selection action.
|
|
22
|
+
*/
|
|
23
|
+
export declare function StoryboardGraphPanel({ model, onSelectFrame, activeFrameId, connectionMode, onConnectionModeChange, composition, frameNameById, }: StoryboardGraphPanelProps): import("react").JSX.Element | null;
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
/** Zoom percentage cluster in the expanded right panel header. */
|
|
2
|
+
export declare const ZoomIndicator: import("react").FunctionComponent<object>;
|
|
3
|
+
/** Zoom buttons on the compact right-panel rail; their tooltips read the zoom. */
|
|
4
|
+
export declare const CompactZoomControls: import("react").FunctionComponent<object>;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { InspectQaFrameResult, InspectQaResult } from '../editor/visualQa';
|
|
2
|
+
export interface InspectQaSummary {
|
|
3
|
+
capturedFrames: number;
|
|
4
|
+
failedFrames: number;
|
|
5
|
+
changedFrames: number;
|
|
6
|
+
changedPixels: number;
|
|
7
|
+
}
|
|
8
|
+
export declare function summarizeInspectQa(qa: InspectQaResult): InspectQaSummary;
|
|
9
|
+
export declare function inspectQaFrameChangeLabel(frame: InspectQaFrameResult): string;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Package-level integration test surface.
|
|
3
|
+
* Host repositories can verify frozen preview behavior without importing this
|
|
4
|
+
* repository's source tree or depending on private internal file paths.
|
|
5
|
+
*/
|
|
6
|
+
export { FrozenRoutePreviewView } from './canvas/FrozenRoutePreview';
|
|
7
|
+
export { NodeModel, editor, serializeNode } from './editor/store';
|
|
8
|
+
export { setComponentRegistry } from './editor/registry';
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { type ReactNode } from 'react';
|
|
2
|
+
import type { PygmalionSourceRef } from '../editor/projectRuntime';
|
|
3
|
+
export interface SourceRefControlProps {
|
|
4
|
+
/** Revision the mirror follows now. */
|
|
5
|
+
value: string | null;
|
|
6
|
+
/** Commit currently rendered by the mirror. Used to expose a newer ref tip. */
|
|
7
|
+
currentCommit?: string | null;
|
|
8
|
+
/** Revisions the mirror can be repointed at. */
|
|
9
|
+
refs: readonly PygmalionSourceRef[];
|
|
10
|
+
onChange(ref: string): void;
|
|
11
|
+
/** Blocks selection while the mirror rebuilds. */
|
|
12
|
+
busy?: boolean;
|
|
13
|
+
/** Revision used when none is pinned, offered as the first entry. */
|
|
14
|
+
defaultRef?: string | null;
|
|
15
|
+
/** Ref that renders uncommitted work. Omitted from the list when absent. */
|
|
16
|
+
worktreeRef?: string | null;
|
|
17
|
+
/** Accessible name for the control. */
|
|
18
|
+
label?: string;
|
|
19
|
+
/** Menu label for reloading the selected revision after its tip moves. */
|
|
20
|
+
refreshLabel?: string;
|
|
21
|
+
/**
|
|
22
|
+
* Trigger content. A host renders its own status chip here, so the control
|
|
23
|
+
* blends into an existing toolbar instead of adding a second field.
|
|
24
|
+
* Defaults to the selected revision.
|
|
25
|
+
*/
|
|
26
|
+
children?: ReactNode;
|
|
27
|
+
className?: string;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Selects the revision the dev mirror follows. Switching rebuilds the mirror,
|
|
31
|
+
* screen inventory, and preview on that revision, so the editor reloads.
|
|
32
|
+
*
|
|
33
|
+
* The menu is a native select layered over the trigger: the host owns how the
|
|
34
|
+
* trigger looks, while keyboard access, mobile behavior, and menu placement stay
|
|
35
|
+
* with the platform. Pygmalion owns this control because the mirror lifecycle
|
|
36
|
+
* belongs to the tool, not to a consuming application.
|
|
37
|
+
*/
|
|
38
|
+
export declare function SourceRefControl({ value, currentCommit, refs, onChange, busy, defaultRef, worktreeRef, label, refreshLabel, children, className, }: SourceRefControlProps): import("react").JSX.Element;
|