// Framework-only lifecycle fixture; never part of generated product composition. import * as React from "react"; import { createRoot, type Root } from "react-dom/client"; import { defineToolcraft, imageExportModule, mediaSourceModule, svgExportModule, timelineModule, videoExportModule, } from "@repo/toolcraft-runtime"; import { ControlsPanel, ToolcraftRoot, type ToolcraftAppComposition, } from "@repo/toolcraft-runtime/react"; import { useToolcraftExportOwner } from "../../packages/toolcraft-runtime/src/react/app-shell/toolcraft-export-context"; import { useToolcraftStore } from "../../packages/toolcraft-runtime/src/react/app-shell/toolcraft-store-context"; import { useToolcraftSourceAssetCoordinator } from "../../packages/toolcraft-runtime/src/react/app-shell/toolcraft-source-asset-context"; import { getToolcraftRuntimeSetupBackgroundControls } from "../../packages/toolcraft-runtime/src/schema/runtime-setup-background"; type Owner = ReturnType; let root: Root; let host: HTMLElement; let owner: Owner; let store: ReturnType; let coordinator: ReturnType; let held: Promise | null = null; let releaseHeld = () => {}; let renderCalls = 0; let boundsCalls = 0; function Probe() { owner = useToolcraftExportOwner(); store = useToolcraftStore(); coordinator = useToolcraftSourceAssetCoordinator(); return