{
  "version": 3,
  "sources": ["../../src/utils/rpc/shared/definitions.ts"],
  "sourcesContent": ["import type { FlagsUpdates } from \"app/FlagsUpdater.ts\"\nimport type { AssetsUpdates, ModuleUpdates } from \"canvas-sandbox/CanvasSandboxApp.ts\"\nimport type { SandboxUpdate } from \"canvas-sandbox/CanvasSandboxMessagesIn.ts\"\nimport type { ControlsVisibility } from \"canvas-sandbox/ControlsVisibility.ts\"\nimport type { SandboxCommand } from \"canvas-sandbox/SandboxCommand.ts\"\nimport type { SandboxUtils } from \"canvas-sandbox/SandboxUtils.ts\"\nimport type { LayoutMeasurement } from \"canvas-sandbox/layout-measuring/LayoutMeasureQueue.ts\"\nimport type { ViewBoxMeasurement } from \"canvas-sandbox/viewBoxMeasurementsForRichTextNodes.tsx\"\nimport type { RepeaterUpdates } from \"document/SandboxRepeaterData.ts\"\nimport type { VisibilityUpdates } from \"document/SandboxVisibility.ts\"\nimport type { NodeID } from \"document/models/CanvasTree/index.ts\"\nimport type { RenderTarget } from \"library/render/types/RenderEnvironment.ts\"\nimport type { ModuleRuntimePhase } from \"modulesRuntime/ModulesRuntime.ts\"\nimport type { RenderingPhase } from \"renderer/DeferredRendering.ts\"\nimport type { InitialModuleLoadStats, Mark } from \"utils/performanceTracker.ts\"\nimport { Channel } from \"../Channel.ts\"\nimport { ChannelInterface } from \"../ChannelInterface.ts\"\nimport type { ModulesRuntimeServiceDefinition } from \"./modulesRuntime.ts\"\nimport type {\n\tLoadedExternalModulesStoreDefinition,\n\tSandboxComponentLoaderDefinition,\n} from \"./sandboxComponentLoader.ts\"\n\ninterface ViewportRect {\n\tx: number\n\ty: number\n\twidth: number\n\theight: number\n}\n\nexport interface RendererInterface {\n\twaitUntilFontsLoaded(): Promise<void>\n\twaitUntilPlaceholdersSettled(): Promise<void>\n\twaitUntilResourcesLoaded(): Promise<void>\n\twillStartUpdates(): Promise<void>\n\twaitForCompleteRenderAfterUpdates(): Promise<void>\n\tmeasureNodes(nodeIds: NodeID[]): Promise<LayoutMeasurement[]>\n\tgetFitTextViewBoxes(nodeIds: NodeID[], update: number): Promise<ViewBoxMeasurement[]>\n\tcheckTextWordBreak(nodeIds: NodeID[], update: number): Promise<NodeID[]>\n\tgetComponentRenderingError(nodeId: NodeID): Promise<string | undefined>\n\tinitialize(treeVersion: number, renderTarget: RenderTarget): Promise<void>\n\tupdateSandbox(update: SandboxUpdate | SandboxCommand): void\n\t/** Get raw viewport rect via getBoundingClientRect for a node element */\n\tgetViewportRect(nodeId: NodeID): Promise<ViewportRect | null>\n}\n\nexport interface RenderedUpdate {\n\tupdate: number\n\tupdateTime: number\n\trenderTime: number\n\tisLoadingModules: boolean\n\tinitialModuleLoadStats?: InitialModuleLoadStats\n\trenderingPhase: RenderingPhase\n\tmoduleRuntimePhase: ModuleRuntimePhase\n\tlayoutMeasurements: LayoutMeasurement[]\n\trepeaterUpdates: RepeaterUpdates | undefined\n\tvisibilityUpdates: VisibilityUpdates | undefined\n\tscopeId: string\n\tupdateEndTime: number\n\trenderEndTime: number\n\tscopeSwitchStartTime: number\n}\n\nexport interface SandboxHeartbeatVitals {\n\tmemoryTotal?: number\n\tmemoryUsed?: number\n\tmemoryLimit?: number\n\tdomNodes?: number\n}\n\nexport interface SandboxHeartbeat {\n\tvitals: SandboxHeartbeatVitals\n\t/** Time in ms until the next heartbeat can be expected */\n\tnext: number\n}\n\nexport interface SandboxError {\n\ttype: \"GroundNodeErrorBoundary\"\n\tmessage: string\n\tstack?: string\n\tgroundNodeId: string\n}\n\nexport interface RendererListenerInterface {\n\trenderedUpdate(update: RenderedUpdate): void\n\theartbeat(heartbeat: SandboxHeartbeat): void\n\terror(error: SandboxError): void\n\t/** Relay a typed loading performance mark from the sandbox to the editor realm. */\n\tmarkLoadingPerf(mark: Mark): void\n\t/** Relay a dynamic (string-named) loading performance mark from the sandbox to the editor realm. */\n\tmarkLoadingPerfDynamic(name: string, label: string): void\n}\n\nexport const sandboxInterface = new ChannelInterface(\"sandbox\", {\n\tcomponentsStore: new Channel<SandboxComponentLoaderDefinition>(),\n\tloadedExternalModulesStore: new Channel<LoadedExternalModulesStoreDefinition>(),\n\trenderer: new Channel<RendererInterface>(),\n\trendererListener: new Channel<RendererListenerInterface>(),\n\tassets: new Channel<AssetsUpdates>(),\n\tmodules: new Channel<ModuleUpdates>(),\n\tmodulesRuntime: new Channel<ModulesRuntimeServiceDefinition>(),\n\tutils: new Channel<SandboxUtils>(),\n\tcontrolsVisibility: new Channel<ControlsVisibility>(),\n\tflags: new Channel<FlagsUpdates>(),\n})\n"],
  "mappings": ";;;;;;AA6FO,IAAM,mBAAmB,IAAI,iBAAiB,WAAW;AAAA,EAC/D,iBAAiB,IAAI,QAA0C;AAAA,EAC/D,4BAA4B,IAAI,QAA8C;AAAA,EAC9E,UAAU,IAAI,QAA2B;AAAA,EACzC,kBAAkB,IAAI,QAAmC;AAAA,EACzD,QAAQ,IAAI,QAAuB;AAAA,EACnC,SAAS,IAAI,QAAuB;AAAA,EACpC,gBAAgB,IAAI,QAAyC;AAAA,EAC7D,OAAO,IAAI,QAAsB;AAAA,EACjC,oBAAoB,IAAI,QAA4B;AAAA,EACpD,OAAO,IAAI,QAAsB;AAClC,CAAC;",
  "names": []
}
