@graphlearning/graphl-flow 0.9.0 → 0.10.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.
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../node_modules/@threeveloper/azure-react-icons/dist/components/analytics/00039-icon-service-Event-Hubs.js","../node_modules/@threeveloper/azure-react-icons/dist/components/analytics/00042-icon-service-Stream-Analytics-Jobs.js","../node_modules/@threeveloper/azure-react-icons/dist/components/analytics/00606-icon-service-Azure-Synapse-Analytics.js","../node_modules/@threeveloper/azure-react-icons/dist/components/analytics/03332-icon-service-Power-BI-Embedded.js","../node_modules/@threeveloper/azure-react-icons/dist/components/analytics/10126-icon-service-Data-Factories.js","../node_modules/@threeveloper/azure-react-icons/dist/components/analytics/10148-icon-service-Analysis-Services.js","../node_modules/@threeveloper/azure-react-icons/dist/components/analytics/10787-icon-service-Azure-Databricks.js","../node_modules/@threeveloper/azure-react-icons/dist/components/compute/10021-icon-service-Virtual-Machine.js","../node_modules/@threeveloper/azure-react-icons/dist/components/compute/10023-icon-service-Kubernetes-Services.js","../node_modules/@threeveloper/azure-react-icons/dist/components/compute/10029-icon-service-Function-Apps.js","../node_modules/@threeveloper/azure-react-icons/dist/components/databases/02390-icon-service-Azure-SQL.js","../node_modules/@threeveloper/azure-react-icons/dist/components/databases/02517-icon-service-Azure-Purview-Accounts.js","../node_modules/@threeveloper/azure-react-icons/dist/components/databases/10121-icon-service-Azure-Cosmos-DB.js","../node_modules/@threeveloper/azure-react-icons/dist/components/devops/10261-icon-service-Azure-DevOps.js","../node_modules/@threeveloper/azure-react-icons/dist/components/integration/10836-icon-service-Azure-Service-Bus.js","../node_modules/@threeveloper/azure-react-icons/dist/components/management + governance/00009-icon-service-Log-Analytics-Workspaces.js","../node_modules/@threeveloper/azure-react-icons/dist/components/monitor/00001-icon-service-Monitor.js","../node_modules/@threeveloper/azure-react-icons/dist/components/security/10241-icon-service-Microsoft-Defender-for-Cloud.js","../node_modules/@threeveloper/azure-react-icons/dist/components/security/10245-icon-service-Key-Vaults.js","../node_modules/@threeveloper/azure-react-icons/dist/components/storage/10086-icon-service-Storage-Accounts.js","../node_modules/@threeveloper/azure-react-icons/dist/components/storage/10090-icon-service-Data-Lake-Storage-Gen1.js","../node_modules/aws-react-icons/lib/icons/ArchitectureServiceAmazonSimpleStorageService.js","../node_modules/aws-react-icons/lib/icons/ArchitectureServiceAWSGlue.js","../node_modules/aws-react-icons/lib/icons/ArchitectureServiceAmazonRedshift.js","../node_modules/aws-react-icons/lib/icons/ArchitectureServiceAmazonAthena.js","../node_modules/aws-react-icons/lib/icons/ArchitectureServiceAmazonKinesis.js","../node_modules/aws-react-icons/lib/icons/ArchitectureServiceAmazonDataFirehose.js","../node_modules/aws-react-icons/lib/icons/ArchitectureServiceAmazonEMR.js","../node_modules/aws-react-icons/lib/icons/ArchitectureServiceAWSLambda.js","../node_modules/aws-react-icons/lib/icons/ArchitectureServiceAmazonDynamoDB.js","../node_modules/aws-react-icons/lib/icons/ArchitectureServiceAmazonRDS.js","../node_modules/aws-react-icons/lib/icons/ArchitectureServiceAmazonAurora.js","../node_modules/aws-react-icons/lib/icons/ArchitectureServiceAmazonCloudWatch.js","../node_modules/aws-react-icons/lib/icons/ArchitectureServiceAWSIdentityandAccessManagement.js","../node_modules/aws-react-icons/lib/icons/ArchitectureServiceAmazonManagedStreamingforApacheKafka.js","../node_modules/aws-react-icons/lib/icons/ArchitectureServiceAWSLakeFormation.js","../node_modules/aws-react-icons/lib/icons/ArchitectureServiceAmazonEC2.js","../node_modules/aws-react-icons/lib/icons/ArchitectureServiceAmazonSimpleQueueService.js","../node_modules/aws-react-icons/lib/icons/ArchitectureServiceAmazonSimpleNotificationService.js","../node_modules/aws-react-icons/lib/icons/ArchitectureServiceAWSStepFunctions.js","../node_modules/aws-react-icons/lib/icons/ArchitectureServiceAmazonEventBridge.js","../node_modules/aws-react-icons/lib/icons/ArchitectureServiceAWSKeyManagementService.js","../node_modules/aws-react-icons/lib/icons/ArchitectureServiceAWSSecretsManager.js","../node_modules/aws-react-icons/lib/icons/ArchitectureServiceAmazonElasticKubernetesService.js","../node_modules/aws-react-icons/lib/icons/ArchitectureServiceAmazonSageMaker.js","../node_modules/aws-react-icons/lib/icons/ArchitectureServiceAmazonAPIGateway.js","../node_modules/aws-react-icons/lib/icons/ArchitectureServiceAmazonVirtualPrivateCloud.js","../node_modules/aws-react-icons/lib/icons/ArchitectureServiceAWSCloudFormation.js","../node_modules/aws-react-icons/lib/icons/ArchitectureServiceAmazonManagedWorkflowsforApacheAirflow.js","../node_modules/aws-react-icons/lib/icons/ArchitectureServiceAWSDatabaseMigrationService.js","../node_modules/aws-react-icons/lib/icons/ArchitectureServiceAmazonElastiCache.js","../node_modules/aws-react-icons/lib/icons/ArchitectureServiceAmazonElasticContainerService.js","../node_modules/aws-react-icons/lib/icons/ArchitectureServiceAWSFargate.js","../node_modules/aws-react-icons/lib/icons/ArchitectureServiceAmazonElasticContainerRegistry.js","../node_modules/aws-react-icons/lib/icons/ArchitectureServiceElasticLoadBalancing.js","../node_modules/aws-react-icons/lib/icons/ArchitectureServiceAmazonRoute53.js","../node_modules/aws-react-icons/lib/icons/ArchitectureServiceAmazonCloudFront.js","../node_modules/aws-react-icons/lib/icons/ArchitectureServiceAWSWAF.js","../node_modules/aws-react-icons/lib/icons/ArchitectureServiceAWSCloudTrail.js","../node_modules/aws-react-icons/lib/icons/ArchitectureServiceAWSCertificateManager.js","../node_modules/aws-react-icons/lib/icons/ArchitectureServiceAWSBackup.js","../node_modules/aws-react-icons/lib/icons/ArchitectureServiceAWSOrganizations.js","../node_modules/aws-react-icons/lib/icons/ArchitectureServiceAWSSystemsManager.js","../node_modules/aws-react-icons/lib/icons/ArchitectureServiceAWSBudgets.js","../node_modules/aws-react-icons/lib/icons/ArchitectureServiceAWSCostExplorer.js","../node_modules/aws-react-icons/lib/icons/ArchitectureServiceAWSIAMIdentityCenter.js","../node_modules/aws-react-icons/lib/icons/ArchitectureServiceAWSXRay.js","../node_modules/aws-react-icons/lib/icons/ArchitectureGroupRegion.js","../node_modules/aws-react-icons/lib/icons/ArchitectureGroupAWSAccount.js","../node_modules/aws-react-icons/lib/icons/ArchitectureGroupPublicsubnet.js","../node_modules/aws-react-icons/lib/icons/ArchitectureGroupPrivatesubnet.js","../node_modules/aws-react-icons/lib/icons/ArchitectureGroupAutoScalinggroup.js","../node_modules/aws-react-icons/lib/icons/ResourceElasticLoadBalancingApplicationLoadBalancer.js","../node_modules/aws-react-icons/lib/icons/ResourceAmazonVPCNATGateway.js","../node_modules/aws-react-icons/lib/icons/ResourceAmazonVPCInternetGateway.js","../node_modules/aws-react-icons/lib/icons/ResourceAmazonVPCEndpoints.js","../node_modules/aws-react-icons/lib/icons/ResourceAmazonVPCRouter.js","../node_modules/aws-react-icons/lib/icons/ResourceAWSIdentityAccessManagementAWSSTS.js","../node_modules/aws-react-icons/lib/icons/ResourceAWSIdentityAccessManagementRole.js","../node_modules/aws-react-icons/lib/icons/ResourceAWSIdentityAccessManagementPermissions.js","../node_modules/aws-react-icons/lib/icons/ResourceAmazonElasticContainerServiceTask.js","../node_modules/aws-react-icons/lib/icons/ResourceAmazonElasticContainerServiceService.js","../node_modules/aws-react-icons/lib/icons/ResourceAmazonElasticContainerServiceContainer1.js","../node_modules/aws-react-icons/lib/icons/ResourceAmazonSimpleStorageServiceBucket.js","../node_modules/aws-react-icons/lib/icons/ResourceAmazonSimpleQueueServiceQueue.js","../node_modules/aws-react-icons/lib/icons/ResourceAmazonSimpleQueueServiceMessage.js","../node_modules/aws-react-icons/lib/icons/ResourceAmazonSimpleNotificationServiceTopic.js","../node_modules/aws-react-icons/lib/icons/ResourceAmazonRoute53HostedZone.js","../node_modules/simple-icons/index.mjs","../src/gcp-icons.ts","../src/icons.tsx","../src/Edges.tsx","../src/Table.tsx","../src/highlight.ts","../src/Code.tsx","../src/Plot.tsx","../src/Tree.tsx","../src/Tty.tsx","../src/routing.ts","../src/fit.ts","../src/theme.ts","../src/Scene.tsx"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"// GENERATED by scripts/gen-gcp-icons.mjs from @iconify-json/gcp 1.2.3 — do not edit.\n// Google Cloud Icons © Google LLC, Apache-2.0 (https://www.apache.org/licenses/LICENSE-2.0).\n/** Google Cloud product icons in their own colours: 24×24 SVG bodies, keyed as scenes name them. */\nexport const GCP: Record<string, { title: string; body: string }> = {\n gcs: { title: \"cloud-storage\", body: \"<path fill=\\\"#aecbfa\\\" d=\\\"M2 4h20v7H2z\\\"/><path fill=\\\"#669df6\\\" d=\\\"M20 4h2v7h-2z\\\"/><path fill=\\\"#4285f4\\\" d=\\\"M22 4h-2v7z\\\"/><path fill=\\\"#669df6\\\" d=\\\"M2 4h2v7H2z\\\"/><path fill=\\\"#fff\\\" d=\\\"M6 7h6v1H6z\\\"/><rect width=\\\"3\\\" height=\\\"3\\\" x=\\\"15\\\" y=\\\"6\\\" fill=\\\"#fff\\\" rx=\\\"1.5\\\"/><path fill=\\\"#aecbfa\\\" d=\\\"M2 13h20v7H2z\\\"/><path fill=\\\"#669df6\\\" d=\\\"M20 13h2v7h-2z\\\"/><path fill=\\\"#4285f4\\\" d=\\\"M22 13h-2v7z\\\"/><path fill=\\\"#669df6\\\" d=\\\"M2 13h2v7H2z\\\"/><path fill=\\\"#fff\\\" d=\\\"M6 16h6v1H6z\\\"/><rect width=\\\"3\\\" height=\\\"3\\\" x=\\\"15\\\" y=\\\"15\\\" fill=\\\"#fff\\\" rx=\\\"1.5\\\"/>\" },\n bigquery: { title: \"bigquery\", body: \"<g fill-rule=\\\"evenodd\\\"><path fill=\\\"#aecbfa\\\" d=\\\"M6.73 10.83v2.63a4.9 4.9 0 0 0 1.71 1.74v-4.37Z\\\"/><path fill=\\\"#669df6\\\" d=\\\"M9.89 8.41v7.53A8 8 0 0 0 11 16a8 8 0 0 0 1 0V8.41Z\\\"/><path fill=\\\"#aecbfa\\\" d=\\\"M13.64 11.86v3.29a5 5 0 0 0 1.7-1.82v-1.47Z\\\"/><path fill=\\\"#4285f4\\\" d=\\\"m17.74 16.32l-1.42 1.42a.42.42 0 0 0 0 .6l3.54 3.54a.42.42 0 0 0 .59 0l1.43-1.43a.42.42 0 0 0 0-.59l-3.54-3.54a.42.42 0 0 0-.6 0\\\"/><path fill=\\\"#669df6\\\" d=\\\"M11 2a9 9 0 1 0 9 9a9 9 0 0 0-9-9m0 15.69A6.68 6.68 0 1 1 17.69 11A6.68 6.68 0 0 1 11 17.69\\\"/></g>\" },\n pubsub: { title: \"pubsub\", body: \"<defs><filter id=\\\"SVGrUfD7cuU\\\" width=\\\"14.73\\\" height=\\\"12.76\\\" x=\\\"4.64\\\" y=\\\"4.19\\\" color-interpolation-filters=\\\"sRGB\\\" filterUnits=\\\"userSpaceOnUse\\\"><feFlood flood-color=\\\"#fff\\\" result=\\\"bg\\\"/><feBlend in=\\\"SourceGraphic\\\" in2=\\\"bg\\\"/></filter><mask id=\\\"SVGEBkjVcqQ\\\" width=\\\"14.73\\\" height=\\\"12.76\\\" x=\\\"4.64\\\" y=\\\"4.19\\\" maskUnits=\\\"userSpaceOnUse\\\"><circle cx=\\\"12\\\" cy=\\\"12.23\\\" r=\\\"3.58\\\" filter=\\\"url(#SVGrUfD7cuU)\\\"/></mask></defs><circle cx=\\\"18.97\\\" cy=\\\"8.21\\\" r=\\\"1.72\\\" fill=\\\"#669df6\\\"/><circle cx=\\\"5.03\\\" cy=\\\"8.21\\\" r=\\\"1.72\\\" fill=\\\"#669df6\\\"/><circle cx=\\\"12\\\" cy=\\\"20.28\\\" r=\\\"1.72\\\" fill=\\\"#669df6\\\"/><g fill=\\\"#4285f4\\\" mask=\\\"url(#SVGEBkjVcqQ)\\\"><path d=\\\"m11.646 12.86l.795-1.384l6.995 4.02l-.795 1.384z\\\"/><path d=\\\"m4.633 15.573l6.963-4.02l.795 1.377l-6.963 4.02z\\\"/><path d=\\\"M11.2 4.19h1.59v8.04H11.2z\\\"/></g><circle cx=\\\"12\\\" cy=\\\"12.23\\\" r=\\\"2.78\\\" fill=\\\"#aecbfa\\\"/><circle cx=\\\"5.03\\\" cy=\\\"16.25\\\" r=\\\"2.19\\\" fill=\\\"#aecbfa\\\"/><circle cx=\\\"18.97\\\" cy=\\\"16.25\\\" r=\\\"2.19\\\" fill=\\\"#aecbfa\\\"/><circle cx=\\\"12\\\" cy=\\\"4.19\\\" r=\\\"2.19\\\" fill=\\\"#aecbfa\\\"/>\" },\n dataflow: { title: \"dataflow\", body: \"<path fill=\\\"#669df6\\\" fill-rule=\\\"evenodd\\\" d=\\\"m13.79 5.04l-.27-.94l-1.41-.07l-1.72.96l1.52 1.5l-.02 1.73l1.02.01l.02-1.73l4.24 2.56l-.01 1.07l1.77.03V8.11z\\\"/><path fill=\\\"#aecbfa\\\" fill-rule=\\\"evenodd\\\" d=\\\"M12.11 4.03h-.01l-1.42.35l-.29.61l-5.26 2.93l-.03 2.05l1.78.03l.02-1.07l4.31-2.45l-.02 1.73l.86.01z\\\"/><path fill=\\\"#669df6\\\" fill-rule=\\\"evenodd\\\" d=\\\"M12.11 4.03h-.01L8.69 2l-1.74.95l3.44 2.04zm4.98 11.03l-4.3 2.45l.02-1.72l-1.72-.02l-.02 1.72l.82 2.48l1.42-.12l.29-.85l5.27-2.93l.03-2.09l-1.79-.02z\\\"/><path fill=\\\"#669df6\\\" fill-rule=\\\"evenodd\\\" d=\\\"m11.89 19.97l-3.46 1.94h-.05l-1.66-.99l3.49-1.96z\\\"/><path fill=\\\"#4285f4\\\" fill-rule=\\\"evenodd\\\" d=\\\"m13.79 5.04l3.49-1.96l-1.66-.99h-.05l-3.46 1.94zm-.18 13.97l3.44 2.04l-1.69.95h-.05l-3.42-2.03z\\\"/><path fill=\\\"#aecbfa\\\" fill-rule=\\\"evenodd\\\" d=\\\"m11.89 19.96l-1.68-1l-5.14-3.07v-2h1.76l-.01 1.04l4.25 2.56l.02-1.72l.86.01z\\\"/><circle cx=\\\"18.12\\\" cy=\\\"12.04\\\" r=\\\"1.14\\\" fill=\\\"#aecbfa\\\"/><circle cx=\\\"5.88\\\" cy=\\\"11.88\\\" r=\\\"1.14\\\" fill=\\\"#aecbfa\\\"/><circle cx=\\\"12.06\\\" cy=\\\"9.99\\\" r=\\\"1.14\\\" fill=\\\"#aecbfa\\\"/><circle cx=\\\"11.97\\\" cy=\\\"14\\\" r=\\\"1.14\\\" fill=\\\"#aecbfa\\\"/>\" },\n dataproc: { title: \"dataproc\", body: \"<path fill=\\\"none\\\" d=\\\"M2 2h20v20H2z\\\"/><path fill=\\\"#aecbfa\\\" fill-rule=\\\"evenodd\\\" d=\\\"M17.85 14.2L7.67 20.08l-.98-1.68l10.19-5.89z\\\"/><path fill=\\\"#aecbfa\\\" fill-rule=\\\"evenodd\\\" d=\\\"M7.63 18.16V6.4H9.5v10.35z\\\"/><path fill=\\\"#aecbfa\\\" fill-rule=\\\"evenodd\\\" d=\\\"M9.56 9.69L9.3 7.33l10.19 5.87l-.97 1.68z\\\"/><path fill=\\\"#4285f4\\\" fill-rule=\\\"evenodd\\\" d=\\\"M14.39 10.26L9.3 7.33l.26 2.36l1.51.86a4 4 0 0 0 3.32-.29\\\"/><path fill=\\\"#aecbfa\\\" fill-rule=\\\"evenodd\\\" d=\\\"M8.13 8.29a3.78 3.78 0 1 1 3.27 1.89a3.8 3.8 0 0 1-3.27-1.89M13 5.49a1.84 1.84 0 0 0-1.59-.92A1.83 1.83 0 0 0 9.57 6.4a1.84 1.84 0 1 0 3.67 0a1.8 1.8 0 0 0-.24-.91\\\"/><path fill=\\\"#4285f4\\\" fill-rule=\\\"evenodd\\\" d=\\\"M7.63 12.94v5.22l1.87-1.41v-1.63a3.29 3.29 0 0 0-1.87-2.18m5.7 3.87l4.52-2.61l-2.21-1l-1.25.8a4.23 4.23 0 0 0-1.06 2.86Z\\\"/><path fill=\\\"#aecbfa\\\" fill-rule=\\\"evenodd\\\" d=\\\"M2.51 18.7a3.77 3.77 0 0 1 1.38-5.16a3.72 3.72 0 0 1 2.86-.38a3.78 3.78 0 1 1-4.24 5.54m4.85-2.81A1.8 1.8 0 0 0 6.25 15a1.83 1.83 0 0 0-2.06 2.69a1.83 1.83 0 1 0 3.17-1.84Zm6.97 2.47a3.79 3.79 0 0 1 0-3.77a3.79 3.79 0 0 1 5.16-1.39a3.78 3.78 0 0 1 1.38 5.16a3.78 3.78 0 0 1-6.54 0m4.86-2.81a2 2 0 0 0-.67-.67a1.85 1.85 0 0 0-2.51.68a1.86 1.86 0 0 0 0 1.83a1.83 1.83 0 0 0 2.07.85a1.82 1.82 0 0 0 1.11-.85a1.88 1.88 0 0 0 0-1.84\\\"/><path fill=\\\"#669df6\\\" fill-rule=\\\"evenodd\\\" d=\\\"M9.49 16.15s-2.34 2-2.8 2.25l2.86-1.65a4 4 0 0 0-.06-.6m.66-6.15s-.59-3.28-.59-3.6v3.29a3.5 3.5 0 0 0 .59.27Zm5.15 3.47s2.76 1.15 3.22 1.41l-2.86-1.64a1.7 1.7 0 0 0-.36.23\\\"/>\" },\n composer: { title: \"cloud-composer\", body: \"<path fill=\\\"#aecbfa\\\" d=\\\"M10.03 5.96H4.68V2h14.63v3.94h-5.3v5.33h-3.98z\\\"/><path fill=\\\"#4285f4\\\" d=\\\"M4.68 7.37h3.95v5.3h5.34V22h-3.94v-5.35H4.68zm10.7-.01h3.94V22h-3.94z\\\"/><path fill=\\\"#aecbfa\\\" d=\\\"M8.6 22H4.68v-3.94H8.6z\\\"/>\" },\n cloudkms: { title: \"key-management-service\", body: \"<g fill-rule=\\\"evenodd\\\"><path fill=\\\"#669df6\\\" d=\\\"M11.32 17.06H10v1.4h1.37v.63h1.43v-6.91a3.47 3.47 0 0 0 2.67-3.34a3.42 3.42 0 1 0-4.1 3.36v2.12H9.26v1.4h2.06ZM12 2l8.21 3.42v5.63c0 5.06-3.5 9.8-8.21 11c-4.71-1.15-8.21-5.89-8.21-10.95V5.42Zm0 5a1.88 1.88 0 0 1 .72 3.62A1.88 1.88 0 1 1 12 7\\\"/><path fill=\\\"#4285f4\\\" d=\\\"M12 19.09h.75v-6.91a3.47 3.47 0 0 0 2.67-3.34A3.42 3.42 0 0 0 12 5.42V2l8.21 3.42v5.63c0 5.06-3.5 9.8-8.21 11zM12 7a1.88 1.88 0 0 1 .72 3.62a1.1 1.1 0 0 1-.72.15Z\\\"/></g>\" },\n secretmanager: { title: \"secret-manager\", body: \"<path fill=\\\"#4285f4\\\" d=\\\"M22 6v11.887h-3.962a.19.19 0 0 1-.189-.189v-1.132a.19.19 0 0 1 .189-.189h2.452V7.509h-2.452a.19.19 0 0 1-.189-.188V6.189c0-.105.085-.189.189-.189zM6.31 6c.103 0 .188.084.188.189V7.32a.19.19 0 0 1-.189.188h-2.8v8.868h2.783a.19.19 0 0 1 .19.189v1.132a.19.19 0 0 1-.19.189H2V6zm11.117 3.868v1.456l.06.025l1.351-.478l.28.82l-1.362.465l-.037.098l.937 1.26l-.706.514l-.912-1.26h-.085l-.913 1.26l-.705-.514l.924-1.26l-.024-.098l-1.362-.465l.28-.82l1.337.478l.073-.025V9.868zm-10.231 0v1.442l.06.024l1.351-.473l.28.812l-1.363.46l-.036.097l.937 1.248l-.706.51l-.912-1.249h-.085l-.913 1.248l-.705-.509l.924-1.248l-.024-.097l-1.362-.46l.28-.812l1.337.473l.073-.024V9.868zm5.094 0v1.442l.061.024l1.35-.473l.28.812l-1.362.46l-.037.097l.937 1.248l-.706.51l-.912-1.249h-.085l-.912 1.248l-.706-.509l.925-1.248l-.025-.097l-1.362-.46l.28-.812l1.338.473l.073-.024V9.868z\\\"/>\" },\n gcpiam: { title: \"identity-and-access-management\", body: \"<g fill-rule=\\\"evenodd\\\"><path fill=\\\"#669df6\\\" d=\\\"M12 2L3.79 5.42v5.63c0 5.06 3.5 9.8 8.21 11c4.71-1.15 8.21-5.89 8.21-10.95V5.42Zm0 3.79a2.63 2.63 0 1 1-1.86.77A2.63 2.63 0 0 1 12 5.79m4.11 11.15A8.64 8.64 0 0 1 12 19.87a8.64 8.64 0 0 1-4.11-2.93v-2.25c0-1.67 2.74-2.52 4.11-2.52s4.11.85 4.11 2.52z\\\"/><path fill=\\\"#4285f4\\\" d=\\\"M12 2v3.79a2.63 2.63 0 1 1 0 5.26v1.12c1.37 0 4.11.85 4.11 2.52v2.25A8.64 8.64 0 0 1 12 19.87V22c4.71-1.15 8.21-5.89 8.21-10.95V5.42Z\\\"/></g>\" },\n dataplex: { title: \"dataplex\", body: \"<g fill=\\\"none\\\" fill-rule=\\\"evenodd\\\"><path d=\\\"M0 0h24v24H0z\\\"/><path fill=\\\"#4285f4\\\" d=\\\"M5.588 10.842v4.482l3.153-2.127a3.5 3.5 0 0 0 .956 1.403l-3.254 2.195L11.2 19.72v-4.33a3.5 3.5 0 0 0 1.698-.013v4.34l2.516-1.546l.784 1.331l-4.15 2.436L3.89 17.15v-6.307zm9.71 2.373l2.83 1.908a1.992 1.992 0 1 1-.909 1.435l-2.884-1.945c.427-.376.76-.855.964-1.398Zm3.897 2.793a.797.797 0 1 0 0 1.594a.797.797 0 0 0 0-1.594m-7.172-6.015a1.997 1.997 0 1 1 0 3.995a1.997 1.997 0 0 1 0-3.995m.024-7.93l8.156 4.788v6.338h-1.698V8.66l-3.19 2.152a3.5 3.5 0 0 0-.944-1.41l3.266-2.204l-4.74-2.914v4.322a3.5 3.5 0 0 0-1.698-.012V4.28L8.52 5.928l-.797-1.327zm-7.29 3.14A1.992 1.992 0 0 1 6.736 7.44l2.927 1.974a3.5 3.5 0 0 0-.937 1.416L5.83 8.875a1.992 1.992 0 1 1-1.07-3.672Zm0 1.195a.797.797 0 1 0 0 1.594a.797.797 0 0 0 0-1.594\\\"/></g>\" },\n dlp: { title: \"data-loss-prevention-api\", body: \"<path fill=\\\"#4285f4\\\" d=\\\"M14.86 5.44A5.48 5.48 0 0 0 7.8 6.5a5.3 5.3 0 0 0-1.34 3.6a5.49 5.49 0 0 0 2.41 4.53l-.17.28l-.56.16c-.89 1.56-1.22 2-2.06 3.48l1.48.85c.85-1.5 1.17-1.94 2.05-3.48l-.16-.61l.14-.26a5.49 5.49 0 0 0 5.27-9.61m-1.92 8.3a3.79 3.79 0 1 1 2.66-4.65a3.8 3.8 0 0 1-2.66 4.65\\\"/><path fill=\\\"#669df6\\\" d=\\\"m2.05 8.78l.13-1.07h1.18v.35h-.84v.45a.68.68 0 0 1 .79.11a.78.78 0 0 1 .17.53a.8.8 0 0 1-.09.36a.53.53 0 0 1-.24.25a.65.65 0 0 1-.38.09a.73.73 0 0 1-.36-.08a.66.66 0 0 1-.26-.21a.63.63 0 0 1-.15-.32h.42a.27.27 0 0 0 .09.2a.25.25 0 0 0 .2.07a.23.23 0 0 0 .22-.1a.43.43 0 0 0 .07-.29a.37.37 0 0 0-.09-.27a.33.33 0 0 0-.25-.1a.4.4 0 0 0-.24.08Z\\\"/><path fill=\\\"#aecbfa\\\" d=\\\"M5.45 9.82H5V8.21l-.51.15V8l.88-.31ZM3 12.66h-.41v-1.61l-.5.15v-.34l.91-.31Z\\\"/><path fill=\\\"#669df6\\\" d=\\\"M5.86 11.79a1.13 1.13 0 0 1-.18.67a.74.74 0 0 1-1 0a1 1 0 0 1-.19-.65v-.39a1.06 1.06 0 0 1 .18-.67a.73.73 0 0 1 1 0a1.08 1.08 0 0 1 .19.65Zm-.42-.43a.8.8 0 0 0-.07-.36a.25.25 0 0 0-.23-.12a.24.24 0 0 0-.22.11a.75.75 0 0 0-.07.36v.51a.85.85 0 0 0 .07.39a.23.23 0 0 0 .23.12a.23.23 0 0 0 .22-.12a.8.8 0 0 0 .07-.37Z\\\"/><path fill=\\\"#aecbfa\\\" d=\\\"M19.13 9.74h-.41V8.12l-.51.16v-.34l.88-.32Z\\\"/><path fill=\\\"#669df6\\\" d=\\\"m20.62 8.7l.13-1.07h1.18V8h-.84l-.09.43a.65.65 0 0 1 .31-.08a.63.63 0 0 1 .48.19a.74.74 0 0 1 .17.52a.8.8 0 0 1-.09.37a.6.6 0 0 1-.25.25a.8.8 0 0 1-.38.09a.85.85 0 0 1-.35-.08a.6.6 0 0 1-.26-.22a.6.6 0 0 1-.1-.32H21a.35.35 0 0 0 .1.21a.3.3 0 0 0 .2.07a.26.26 0 0 0 .22-.1a.44.44 0 0 0 .06-.33a.4.4 0 0 0-.09-.28a.34.34 0 0 0-.25-.09a.34.34 0 0 0-.24.07Zm-1.08 3.09a1.13 1.13 0 0 1-.18.67a.74.74 0 0 1-1 0a1 1 0 0 1-.19-.65v-.39a1.06 1.06 0 0 1 .18-.67a.73.73 0 0 1 1 0a1.08 1.08 0 0 1 .19.65Zm-.42-.43a.8.8 0 0 0-.07-.38a.25.25 0 0 0-.23-.12a.24.24 0 0 0-.22.11a.75.75 0 0 0-.07.36v.51a.85.85 0 0 0 .07.39a.23.23 0 0 0 .23.12a.23.23 0 0 0 .22-.12a.9.9 0 0 0 .07-.37Z\\\"/><path fill=\\\"#aecbfa\\\" d=\\\"m20.62 11.62l.13-1.07h1.18v.35h-.84l-.05.45a.65.65 0 0 1 .31-.08a.63.63 0 0 1 .48.19a.78.78 0 0 1 .17.54a.8.8 0 0 1-.09.36a.5.5 0 0 1-.25.25a.7.7 0 0 1-.38.09a.7.7 0 0 1-.35-.08a.6.6 0 0 1-.26-.21a.63.63 0 0 1-.1-.32H21a.32.32 0 0 0 .1.2a.25.25 0 0 0 .2.07a.23.23 0 0 0 .22-.1a.43.43 0 0 0 .08-.29a.37.37 0 0 0-.09-.27a.31.31 0 0 0-.25-.1a.35.35 0 0 0-.24.08Z\\\"/><path fill=\\\"#669df6\\\" d=\\\"M9.73 12.11v-.94a.86.86 0 0 1 .35-.62a2.4 2.4 0 0 1 .83-.43a2.87 2.87 0 0 1 2.42.28a1 1 0 0 1 .27.2a.9.9 0 0 1 .3.75v.76Zm2.08-2.61a1.08 1.08 0 1 1 1.08-1.07a1.09 1.09 0 0 1-1.08 1.07\\\"/>\" },\n cloudlogging: { title: \"cloud-logging\", body: \"<path fill=\\\"#4285f4\\\" d=\\\"M6 11h4v2H6zm-2 7h6v2H4z\\\"/><path fill=\\\"none\\\" d=\\\"M0 0h24v24H0z\\\"/><path fill=\\\"#4285f4\\\" d=\\\"M4 18h2V6H4z\\\"/><path fill=\\\"#669df6\\\" d=\\\"M9 7h13V3H9zm0 7h13v-4H9zm0 7h13v-4H9z\\\"/><path fill=\\\"#aecbfa\\\" d=\\\"M2 8h6V2H2z\\\"/>\" },\n cloudmonitoring: { title: \"cloud-monitoring\", body: \"<path fill=\\\"#669df6\\\" d=\\\"M10.83 15.84h2.33v2.64h-2.33z\\\"/><path fill=\\\"#4285f4\\\" d=\\\"M18.48 13.87a.56.56 0 0 1-.4-.17L14 9.47l-2.74 2.89a.57.57 0 0 1-.76.05l-2.08-1.68l-2.2 2.92a.56.56 0 0 1-.45.22H2v1.71a.75.75 0 0 0 .74.75h18.52a.75.75 0 0 0 .74-.75v-1.71Z\\\"/><path fill=\\\"#669df6\\\" d=\\\"M5.5 12.76L7.88 9.6a.55.55 0 0 1 .37-.22a.63.63 0 0 1 .42.12l2.12 1.72l2.8-2.94a.54.54 0 0 1 .4-.17a.54.54 0 0 1 .4.17l4.33 4.48H22V6a.74.74 0 0 0-.74-.74H2.74A.74.74 0 0 0 2 6v6.81Z\\\"/><rect width=\\\"6.67\\\" height=\\\".61\\\" x=\\\"8.67\\\" y=\\\"18.18\\\" fill=\\\"#4285f4\\\" rx=\\\".3\\\"/>\" },\n cloudbuild: { title: \"cloud-build\", body: \"<path fill=\\\"#4285f4\\\" d=\\\"m12.15 16.24l3.52-2.03v-4.06l-1.18-.69l-3.52 6.1z\\\"/><path fill=\\\"#669df6\\\" d=\\\"M8.63 10.15v4.06l1.18.68l3.53-6.09l-1.19-.69z\\\"/><path fill=\\\"#aecbfa\\\" d=\\\"m11.46 17.45l-4.22-2.44v-4.86L3.49 7.98v9.2l7.97 4.6zm-3.53-8.5l4.22-2.44l4.22 2.44l3.76-2.17l-7.98-4.61l-7.98 4.61zm9.13 6.06l-4.22 2.44v4.33l7.98-4.6v-9.2l-3.76 2.17z\\\"/>\" },\n gcpproject: { title: \"project\", body: \"<path fill=\\\"none\\\" d=\\\"M0 0h24v24H0z\\\"/><path fill=\\\"#85a4e6\\\" fill-rule=\\\"evenodd\\\" d=\\\"M.8 5.9L3.7.8h5.8l2.9 5.1l-2.9 5H3.7z\\\"/><path fill=\\\"#5c85de\\\" fill-rule=\\\"evenodd\\\" d=\\\"M11.4 7.7L8.5 2.6l1-1.9l2.9 5.2z\\\"/><path fill=\\\"#3367d6\\\" fill-rule=\\\"evenodd\\\" d=\\\"M2.7 9.3h5.8l2-3.4l.9 1.8l-1.9 3.2l-5.8.1z\\\"/><path fill=\\\"#85a4e6\\\" fill-rule=\\\"evenodd\\\" d=\\\"m11.2 11.9l3-5.1H20l2.9 5.1l-2.9 5h-5.8z\\\"/><path fill=\\\"#5c85de\\\" fill-rule=\\\"evenodd\\\" d=\\\"M21.9 13.7L19 8.6l1-1.9l2.9 5.2z\\\"/><path fill=\\\"#3367d6\\\" fill-rule=\\\"evenodd\\\" d=\\\"M13.2 15.3H19l2-3.4l.9 1.8l-1.9 3.2l-5.8.1z\\\"/><path fill=\\\"#85a4e6\\\" fill-rule=\\\"evenodd\\\" d=\\\"m.8 17.9l2.9-5.1h5.8l2.9 5.1l-2.9 5H3.7z\\\"/><path fill=\\\"#5c85de\\\" fill-rule=\\\"evenodd\\\" d=\\\"m11.4 19.7l-2.9-5.1l1-1.9l2.9 5.2z\\\"/><path fill=\\\"#3367d6\\\" fill-rule=\\\"evenodd\\\" d=\\\"M2.7 21.3h5.8l2-3.4l.9 1.8l-1.9 3.2l-5.8.1z\\\"/>\" },\n gcpbilling: { title: \"billing\", body: \"<path fill=\\\"none\\\" d=\\\"M0 0h24v24H0z\\\"/><g fill-rule=\\\"evenodd\\\"><path fill=\\\"#85a4e6\\\" d=\\\"M22.5 20.2h-21c-.8 0-1.5-.7-1.5-1.5V5.2c0-.8.7-1.5 1.5-1.5h21c.8 0 1.5.7 1.5 1.5v13.5c0 .9-.7 1.5-1.5 1.5\\\"/><path fill=\\\"#5c85de\\\" d=\\\"M22.5 20.2H12V3.8h10.5c.8 0 1.5.7 1.5 1.5v13.5c0 .8-.7 1.4-1.5 1.4\\\"/><path fill=\\\"#5c85de\\\" d=\\\"M0 6h24v3H0z\\\"/><path fill=\\\"#3367d6\\\" d=\\\"M12 6h12v3H12z\\\"/><path fill=\\\"#fff\\\" d=\\\"M2.2 10.5h19.5v2.2H2.2z\\\"/><path fill=\\\"#5c85de\\\" d=\\\"M2.2 15h4.5v3H2.2z\\\"/><path fill=\\\"#fff\\\" d=\\\"M13.5 15.8H15v1.5h-1.5zm3 0H18v1.5h-1.5zm3 0H21v1.5h-1.5z\\\"/></g>\" },\n}\n","import type { ComponentType, ReactElement } from 'react'\nimport {\n Activity, Bell, Box, Building2, ChartColumn, ChartPie, ClipboardCheck, Clock, Cloud, Code2, Cpu,\n CreditCard, Database, Factory, FileText, Filter, Fingerprint, Folder, GitBranch, Globe, HardDrive,\n KeyRound, Layers, Lock, Monitor, Network, Package, RadioTower, Search, Server, Settings, ShieldCheck,\n Table2, Terminal, User, UserCog, Users, Workflow, Zap, Waves, Brain, Boxes, MemoryStick,\n Archive, BadgeCheck, BrickWall, Gauge, Laptop, Power, ScrollText, Timer, type LucideIcon,\n} from 'lucide-react'\nimport {\n AnalysisServices, AzureCosmosDBDatabases, AzureDatabricks, AzureDevOps, AzurePurviewAccounts, AzureServiceBus,\n AzureSQL, AzureSynapseAnalyticsAnalytics, DataFactoriesAnalytics, DataLakeStorageGen1, EventHubsAnalytics,\n FunctionAppsCompute, KeyVaults, KubernetesServicesCompute, LogAnalyticsWorkspacesManagementGovernance,\n MicrosoftDefenderForCloud, MonitorMonitor, PowerBIEmbedded, StorageAccounts, StreamAnalyticsJobsAnalytics,\n VirtualMachine,\n} from '@threeveloper/azure-react-icons'\nimport S3 from 'aws-react-icons/icons/ArchitectureServiceAmazonSimpleStorageService'\nimport Glue from 'aws-react-icons/icons/ArchitectureServiceAWSGlue'\nimport Redshift from 'aws-react-icons/icons/ArchitectureServiceAmazonRedshift'\nimport Athena from 'aws-react-icons/icons/ArchitectureServiceAmazonAthena'\nimport Kinesis from 'aws-react-icons/icons/ArchitectureServiceAmazonKinesis'\nimport Firehose from 'aws-react-icons/icons/ArchitectureServiceAmazonDataFirehose'\nimport EMR from 'aws-react-icons/icons/ArchitectureServiceAmazonEMR'\nimport Lambda from 'aws-react-icons/icons/ArchitectureServiceAWSLambda'\nimport DynamoDB from 'aws-react-icons/icons/ArchitectureServiceAmazonDynamoDB'\nimport RDS from 'aws-react-icons/icons/ArchitectureServiceAmazonRDS'\nimport Aurora from 'aws-react-icons/icons/ArchitectureServiceAmazonAurora'\nimport CloudWatch from 'aws-react-icons/icons/ArchitectureServiceAmazonCloudWatch'\nimport IAM from 'aws-react-icons/icons/ArchitectureServiceAWSIdentityandAccessManagement'\nimport MSK from 'aws-react-icons/icons/ArchitectureServiceAmazonManagedStreamingforApacheKafka'\nimport LakeFormation from 'aws-react-icons/icons/ArchitectureServiceAWSLakeFormation'\nimport EC2 from 'aws-react-icons/icons/ArchitectureServiceAmazonEC2'\nimport SQS from 'aws-react-icons/icons/ArchitectureServiceAmazonSimpleQueueService'\nimport SNS from 'aws-react-icons/icons/ArchitectureServiceAmazonSimpleNotificationService'\nimport StepFunctions from 'aws-react-icons/icons/ArchitectureServiceAWSStepFunctions'\nimport EventBridge from 'aws-react-icons/icons/ArchitectureServiceAmazonEventBridge'\nimport KMS from 'aws-react-icons/icons/ArchitectureServiceAWSKeyManagementService'\nimport SecretsManager from 'aws-react-icons/icons/ArchitectureServiceAWSSecretsManager'\nimport EKS from 'aws-react-icons/icons/ArchitectureServiceAmazonElasticKubernetesService'\nimport SageMaker from 'aws-react-icons/icons/ArchitectureServiceAmazonSageMaker'\nimport APIGateway from 'aws-react-icons/icons/ArchitectureServiceAmazonAPIGateway'\nimport VPC from 'aws-react-icons/icons/ArchitectureServiceAmazonVirtualPrivateCloud'\nimport CloudFormation from 'aws-react-icons/icons/ArchitectureServiceAWSCloudFormation'\nimport MWAA from 'aws-react-icons/icons/ArchitectureServiceAmazonManagedWorkflowsforApacheAirflow'\nimport DMS from 'aws-react-icons/icons/ArchitectureServiceAWSDatabaseMigrationService'\nimport ElastiCache from 'aws-react-icons/icons/ArchitectureServiceAmazonElastiCache'\nimport ECS from 'aws-react-icons/icons/ArchitectureServiceAmazonElasticContainerService'\nimport Fargate from 'aws-react-icons/icons/ArchitectureServiceAWSFargate'\nimport ECR from 'aws-react-icons/icons/ArchitectureServiceAmazonElasticContainerRegistry'\nimport ELB from 'aws-react-icons/icons/ArchitectureServiceElasticLoadBalancing'\nimport Route53 from 'aws-react-icons/icons/ArchitectureServiceAmazonRoute53'\nimport CloudFront from 'aws-react-icons/icons/ArchitectureServiceAmazonCloudFront'\nimport WAF from 'aws-react-icons/icons/ArchitectureServiceAWSWAF'\nimport CloudTrail from 'aws-react-icons/icons/ArchitectureServiceAWSCloudTrail'\nimport ACM from 'aws-react-icons/icons/ArchitectureServiceAWSCertificateManager'\nimport Backup from 'aws-react-icons/icons/ArchitectureServiceAWSBackup'\nimport Organizations from 'aws-react-icons/icons/ArchitectureServiceAWSOrganizations'\nimport SystemsManager from 'aws-react-icons/icons/ArchitectureServiceAWSSystemsManager'\nimport Budgets from 'aws-react-icons/icons/ArchitectureServiceAWSBudgets'\nimport CostExplorer from 'aws-react-icons/icons/ArchitectureServiceAWSCostExplorer'\nimport IdentityCenter from 'aws-react-icons/icons/ArchitectureServiceAWSIAMIdentityCenter'\nimport XRay from 'aws-react-icons/icons/ArchitectureServiceAWSXRay'\nimport Region from 'aws-react-icons/icons/ArchitectureGroupRegion'\nimport Account from 'aws-react-icons/icons/ArchitectureGroupAWSAccount'\nimport PublicSubnet from 'aws-react-icons/icons/ArchitectureGroupPublicsubnet'\nimport PrivateSubnet from 'aws-react-icons/icons/ArchitectureGroupPrivatesubnet'\nimport AutoScalingGroup from 'aws-react-icons/icons/ArchitectureGroupAutoScalinggroup'\nimport ALB from 'aws-react-icons/icons/ResourceElasticLoadBalancingApplicationLoadBalancer'\nimport NATGateway from 'aws-react-icons/icons/ResourceAmazonVPCNATGateway'\nimport InternetGateway from 'aws-react-icons/icons/ResourceAmazonVPCInternetGateway'\nimport VPCEndpoint from 'aws-react-icons/icons/ResourceAmazonVPCEndpoints'\nimport Router from 'aws-react-icons/icons/ResourceAmazonVPCRouter'\nimport STS from 'aws-react-icons/icons/ResourceAWSIdentityAccessManagementAWSSTS'\nimport IAMRole from 'aws-react-icons/icons/ResourceAWSIdentityAccessManagementRole'\nimport IAMPermissions from 'aws-react-icons/icons/ResourceAWSIdentityAccessManagementPermissions'\nimport ECSTask from 'aws-react-icons/icons/ResourceAmazonElasticContainerServiceTask'\nimport ECSService from 'aws-react-icons/icons/ResourceAmazonElasticContainerServiceService'\nimport Container from 'aws-react-icons/icons/ResourceAmazonElasticContainerServiceContainer1'\nimport Bucket from 'aws-react-icons/icons/ResourceAmazonSimpleStorageServiceBucket'\nimport Queue from 'aws-react-icons/icons/ResourceAmazonSimpleQueueServiceQueue'\nimport Message from 'aws-react-icons/icons/ResourceAmazonSimpleQueueServiceMessage'\nimport Topic from 'aws-react-icons/icons/ResourceAmazonSimpleNotificationServiceTopic'\nimport HostedZone from 'aws-react-icons/icons/ResourceAmazonRoute53HostedZone'\nimport {\n siApacheairflow, siApacheflink, siGooglecloud, siLooker, siApachekafka, siApachemaven, siApachespark, siDocker, siDuckdb, siGit, siGithub,\n siGithubactions, siGrafana, siJunit5, siJupyter, siKubernetes, siMongodb, siOpenjdk, siPandas, siPostgresql,\n siPrometheus, siPython, siSnowflake, siTerraform,\n siAlmalinux, siApple, siArchlinux, siDebian, siFedora, siGnubash, siLetsencrypt, siLinux, siMacos, siNginx,\n siRedhat, siRockylinux, siUbuntu, siZsh,\n} from 'simple-icons'\nimport { GCP } from './gcp-icons'\n\n// Four sets, ONE key space. Every icon is a NAMED (or per-file) import, so the bundle carries only\n// these; add a key when a scene needs it. Keys match @graphlearning/flow's where both exist, so a\n// scene ports without renaming. A key may appear in ONE set only — `ICONS` throws on a duplicate.\n\n/** Generic glyphs, drawn in the node's tone accent. */\nexport const LUCIDE: Record<string, LucideIcon> = {\n activity: Activity, bell: Bell, box: Box, building: Building2, chart: ChartColumn, pie: ChartPie,\n check: ClipboardCheck, clock: Clock, cloud: Cloud, code: Code2, cpu: Cpu, card: CreditCard,\n database: Database, factory: Factory, file: FileText, filter: Filter, fingerprint: Fingerprint,\n folder: Folder, branch: GitBranch, globe: Globe, disk: HardDrive, key: KeyRound, layers: Layers,\n lock: Lock, screen: Monitor, network: Network, package: Package, stream: RadioTower, search: Search,\n server: Server, settings: Settings, shield: ShieldCheck, table: Table2, terminal: Terminal,\n user: User, admin: UserCog, users: Users, workflow: Workflow, zap: Zap, waves: Waves, brain: Brain,\n boxes: Boxes, memory: MemoryStick,\n // A server's life (0.7): no vendor draws these, so they stay generic.\n archive: Archive, cert: BadgeCheck, firewall: BrickWall, gauge: Gauge, laptop: Laptop, power: Power,\n log: ScrollText, timer: Timer,\n}\n\n/** Azure service tiles, in their own colours. The package ships no viewBox; 0 0 18 18 fits all. */\nexport const AZURE: Record<string, ComponentType<{ size?: string; viewBox?: string }>> = {\n datafactory: DataFactoriesAnalytics, eventhubs: EventHubsAnalytics, adls: DataLakeStorageGen1, storage: StorageAccounts,\n databricks: AzureDatabricks, synapse: AzureSynapseAnalyticsAnalytics, analysisservices: AnalysisServices,\n purview: AzurePurviewAccounts, keyvault: KeyVaults, defender: MicrosoftDefenderForCloud, monitor: MonitorMonitor,\n loganalytics: LogAnalyticsWorkspacesManagementGovernance, devops: AzureDevOps, powerbi: PowerBIEmbedded,\n azuresql: AzureSQL, cosmos: AzureCosmosDBDatabases, functions: FunctionAppsCompute, aks: KubernetesServicesCompute,\n streamanalytics: StreamAnalyticsJobsAnalytics, servicebus: AzureServiceBus, vm: VirtualMachine,\n}\n\n/** AWS architecture icons, in their own colours on their own rounded tile. */\nexport const AWS: Record<string, ComponentType<{ size?: number | string }>> = {\n s3: S3, glue: Glue, redshift: Redshift, athena: Athena, kinesis: Kinesis, firehose: Firehose, emr: EMR,\n lambda: Lambda, dynamodb: DynamoDB, rds: RDS, aurora: Aurora, cloudwatch: CloudWatch, iam: IAM, msk: MSK,\n lakeformation: LakeFormation, ec2: EC2, sqs: SQS, sns: SNS, stepfunctions: StepFunctions, eventbridge: EventBridge,\n kms: KMS, secretsmanager: SecretsManager, eks: EKS, sagemaker: SageMaker, apigateway: APIGateway, vpc: VPC,\n cloudformation: CloudFormation, mwaa: MWAA, dms: DMS, elasticache: ElastiCache,\n ecs: ECS, fargate: Fargate, ecr: ECR, elb: ELB, route53: Route53, cloudfront: CloudFront, waf: WAF,\n cloudtrail: CloudTrail, acm: ACM, backup: Backup, organizations: Organizations, ssm: SystemsManager,\n budgets: Budgets, costexplorer: CostExplorer, identitycenter: IdentityCenter, xray: XRay,\n // AWS's GROUP marks: the tile an architecture diagram puts on a Region, account, subnet or group's corner.\n region: Region, account: Account, publicsubnet: PublicSubnet, privatesubnet: PrivateSubnet,\n autoscaling: AutoScalingGroup,\n}\n\n/** AWS RESOURCE icons: a single-colour glyph, no tile — the parts inside a service (a NAT gateway, a\n * task, a queue), drawn smaller-looking than a service on purpose, as AWS's own diagrams do. */\nexport const AWS_RESOURCE: Record<string, ComponentType<{ size?: number | string }>> = {\n alb: ALB, natgateway: NATGateway, igw: InternetGateway, vpcendpoint: VPCEndpoint, router: Router, sts: STS,\n iamrole: IAMRole, permissions: IAMPermissions, ecstask: ECSTask, ecsservice: ECSService, container: Container,\n bucket: Bucket, queue: Queue, message: Message, topic: Topic, hostedzone: HostedZone,\n}\n\n/** Open-source / product marks (simple-icons), in the brand's colour unless it would vanish. */\nexport const BRAND: Record<string, { title: string; hex: string; path: string }> = {\n kafka: siApachekafka, spark: siApachespark, airflow: siApacheairflow, flink: siApacheflink, snowflakedb: siSnowflake,\n python: siPython, pandas: siPandas, jupyter: siJupyter, duckdb: siDuckdb, postgresql: siPostgresql, mongodb: siMongodb,\n docker: siDocker, kubernetes: siKubernetes, terraform: siTerraform, git: siGit, github: siGithub,\n githubactions: siGithubactions, grafana: siGrafana, prometheus: siPrometheus,\n // simple-icons ships no Java mark (the trademark is Oracle's); OpenJDK's is the one it has, and\n // it is what a Java scene means. Both it and Maven are near-black/deep-red — see brandFill.\n java: siOpenjdk, maven: siApachemaven, junit: siJunit5,\n // Linux (0.7): the kernel's Tux, the two families and their members, macOS, the shells, the web\n // server and the CA. simple-icons has no OpenSSH or systemd mark: those scenes use `key`/`settings`.\n linux: siLinux, debian: siDebian, ubuntu: siUbuntu, redhat: siRedhat, fedora: siFedora, rocky: siRockylinux,\n almalinux: siAlmalinux, arch: siArchlinux, apple: siApple, macos: siMacos, bash: siGnubash, zsh: siZsh,\n nginx: siNginx, letsencrypt: siLetsencrypt,\n // Google Cloud's own mark (for a project's or region's corner) and Looker, which the GCP set lacks.\n gcp: siGooglecloud, looker: siLooker,\n}\n\nexport { GCP }\n\n/** `size` is a CSS length — in em, so an icon scales WITH its text and the ratio stays designed. */\ntype Draw = (size: string, surface: string, ink: string) => ReactElement\n\nfunction merge(...sets: Record<string, Draw>[]): Record<string, Draw> {\n const out: Record<string, Draw> = {}\n for (const set of sets)\n for (const [k, v] of Object.entries(set)) {\n if (k in out) throw new Error(`graphl-flow: icon key \"${k}\" is defined in two icon sets`)\n out[k] = v\n }\n return out\n}\n\nconst map = <T,>(set: Record<string, T>, draw: (v: T) => Draw) => Object.fromEntries(Object.entries(set).map(([k, v]) => [k, draw(v)]))\n\nconst luminance = (hex: string) => {\n const c = [1, 3, 5].map((i) => parseInt(hex.slice(i, i + 2), 16) / 255).map((v) => (v <= 0.04045 ? v / 12.92 : ((v + 0.055) / 1.055) ** 2.4))\n return 0.2126 * c[0] + 0.7152 * c[1] + 0.0722 * c[2]\n}\n\n/** A brand mark under this contrast against the surface draws in ink (Kafka's black on dark). */\nexport const BRAND_MIN_CONTRAST = 2.2\n\nfunction brandFill(hex: string, surface: string, ink: string) {\n const a = luminance(`#${hex}`), b = luminance(surface)\n return (Math.max(a, b) + 0.05) / (Math.min(a, b) + 0.05) < BRAND_MIN_CONTRAST ? ink : `#${hex}`\n}\n\nexport const ICONS: Record<string, Draw> = merge(\n map(LUCIDE, (Icon) => (size) => <Icon className=\"gf-icon\" size={size} strokeWidth={1.75} aria-hidden />),\n map(AZURE, (Icon) => (size) => <span className=\"gf-icon gf-vendor\"><Icon size={size} viewBox=\"0 0 18 18\" /></span>),\n map(AWS, (Icon) => (size) => <span className=\"gf-icon gf-vendor gf-aws\"><Icon size={size} /></span>),\n map(AWS_RESOURCE, (Icon) => (size) => <span className=\"gf-icon gf-vendor\"><Icon size={size} /></span>),\n // Google Cloud bodies are generated from Google's own icon set (scripts/gen-gcp-icons.mjs): trusted, static.\n map(GCP, (g) => (size) => (\n <svg className=\"gf-icon\" width={size} height={size} viewBox=\"0 0 24 24\" role=\"img\" aria-label={g.title}\n dangerouslySetInnerHTML={{ __html: g.body }} />\n )),\n map(BRAND, (b) => (size, surface, ink) => (\n <svg className=\"gf-icon\" width={size} height={size} viewBox=\"0 0 24 24\" role=\"img\" aria-label={b.title}>\n <path d={b.path} fill={brandFill(b.hex, surface, ink)} />\n </svg>\n )),\n)\n","import { useId } from 'react'\nimport type { Routed } from './routing'\nimport type { Size } from './fit'\n\n/**\n * The pulse period, in seconds. A RECORDER CONTRACT: ui-shell's record-course.mjs / record-reels.mjs\n * loop every video on PULSE_S = 2.4. Change it here alone and every loop join in every recorded video\n * shows a jump. Same value, same linear motion as @graphlearning/flow's FlowEdge.\n */\nexport const PULSE_S = 2.4\n\n/**\n * The shaft stops HEAD_TRIM short of a headed end, inside the head, and the marker's ref point moves\n * back by the same amount so the TIP still lands on the endpoint. Without it the 2px stroke poked out\n * past the tip — near its point the triangle is narrower than the line (visible at 4K on every arrow).\n */\nconst HEAD_TRIM = 6\n\ntype P = { x: number; y: number }\nfunction trim(points: P[], start: boolean, end: boolean): P[] {\n const out = points.map((p) => ({ ...p }))\n // Never past the run's other end: a trim longer than the run reverses the shaft, and the marker\n // (orient auto) follows it — the head flips. The router keeps runs ≥ HEAD_LEN; this is the guard.\n const pull = (a: P, b: P) => {\n const d = Math.hypot(b.x - a.x, b.y - a.y)\n if (d < 1) return\n const k = Math.min(HEAD_TRIM, d - 0.5) / d\n a.x += (b.x - a.x) * k; a.y += (b.y - a.y) * k\n }\n if (end) pull(out[out.length - 1], out[out.length - 2])\n if (start) pull(out[0], out[1])\n return out\n}\nconst pathOf = (points: P[]) => `M ${points.map((p) => `${p.x},${p.y}`).join(' L ')}`\n\nconst LABEL_SHIFT = {\n on: { h: 'translate(-50%, -50%)', v: 'translate(-50%, -50%)' },\n before: { h: 'translate(-50%, calc(-100% - 3px))', v: 'translate(calc(-100% - 3px), -50%)' },\n after: { h: 'translate(-50%, 3px)', v: 'translate(3px, -50%)' },\n}\n\n/** Draws routed edges over the content, in the content's own (unscaled) coordinates. */\nexport function Edges({ routed, size, pulse }: { routed: Routed[]; size: Size; pulse: boolean }) {\n const uid = useId().replace(/[^\\w-]/g, '')\n const arrow = `gf-arrow-${uid}`, glow = `gf-glow-${uid}`\n // A dot travelling the path once per PULSE_S; `reverse` runs it from `to` back to `from`.\n const dot = (d: string, reverse: boolean) => (\n <circle r={4.5} className=\"gf-pulse\" filter={`url(#${glow})`}>\n <animateMotion dur={`${PULSE_S}s`} repeatCount=\"indefinite\" path={d} calcMode=\"linear\" {...(reverse && { keyPoints: '1;0', keyTimes: '0;1' })} />\n </circle>\n )\n return (\n <>\n <svg className=\"gf-edges\" width={size.w} height={size.h} aria-hidden>\n <defs>\n {/* auto-start-reverse: the same head serves the far end of a bidirectional edge. */}\n <marker id={arrow} viewBox=\"0 0 10 10\" refX={10 - HEAD_TRIM} refY=\"5\" markerWidth=\"10\" markerHeight=\"10\" markerUnits=\"userSpaceOnUse\" orient=\"auto-start-reverse\">\n <path d=\"M0,0 L10,5 L0,10 z\" className=\"gf-arrowhead\" />\n </marker>\n <filter id={glow} x=\"-100%\" y=\"-100%\" width=\"300%\" height=\"300%\">\n <feGaussianBlur stdDeviation=\"2.5\" result=\"b\" />\n <feMerge><feMergeNode in=\"b\" /><feMergeNode in=\"SourceGraphic\" /></feMerge>\n </filter>\n </defs>\n {routed.map((r, i) => {\n // `d` is the full route (pulses travel it); the stroke is trimmed at its headed ends.\n const d = pathOf(r.points)\n return (\n <g key={i}>\n <path\n className=\"gf-edge\"\n data-from={r.edge.from}\n data-to={r.edge.to}\n data-edge={r.index}\n data-route={d}\n d={pathOf(trim(r.points, !!r.edge.bidirectional, true))}\n strokeDasharray={r.edge.dashed ? '6 5' : undefined}\n markerEnd={`url(#${arrow})`}\n markerStart={r.edge.bidirectional ? `url(#${arrow})` : undefined}\n />\n {pulse && dot(d, false)}\n {pulse && r.edge.bidirectional && dot(d, true)}\n </g>\n )\n })}\n </svg>\n {routed.map((r, i) =>\n r.edge.label ? (\n <div\n key={i}\n className=\"gf-edge-label\"\n data-edge={r.index}\n style={{ left: r.label.x, top: r.label.y, transform: LABEL_SHIFT[r.label.side][r.label.seg] }}\n >\n {r.edge.label}\n </div>\n ) : null,\n )}\n </>\n )\n}\n","import type { CSSProperties } from 'react'\nimport type { Theme } from './theme'\nimport type { Table, TableRow, Tone } from './types'\n\nconst PLAIN = /^[\\w$-]+$/\n\n/**\n * Normalised rows with their ADDRESS: explicit `id`, else the first cell when it is a plain word\n * and unique in the table. Shared by the renderer (data-id) and the edge planner (parent links),\n * so the two cannot disagree about which rows exist.\n */\nexport function tableRows(table: Table): (TableRow & { address?: string })[] {\n const rows = table.rows.map((r) => (Array.isArray(r) ? { cells: r } : r))\n const firsts = rows.map((r) => String(r.cells[0] ?? ''))\n return rows.map((r, i) => {\n const own = r.id ?? (PLAIN.test(firsts[i]) && firsts.indexOf(firsts[i]) === firsts.lastIndexOf(firsts[i]) ? firsts[i] : undefined)\n return { ...r, address: own && `${table.id}.${own}` }\n })\n}\n\nconst tint = (theme: Theme, tone?: Tone): CSSProperties | undefined =>\n tone && ({ '--gf-accent': theme.tones[tone].accent, '--gf-tint': theme.tones[tone].tint } as CSSProperties)\n\nexport function TableView({ node, theme, style }: { node: Table; theme: Theme; style?: CSSProperties }) {\n const rows = tableRows(node)\n const tagged = rows.some((r) => r.tag)\n const width = Math.max(node.columns?.length ?? 0, ...rows.map((r) => r.cells.length))\n return (\n <div className=\"gf-table\" data-id={node.id} style={style}>\n {node.title && <div className=\"gf-table-title\">{node.title}</div>}\n <table>\n {node.columns && (\n <thead>\n <tr>\n {tagged && <th aria-hidden />}\n {node.columns.map((c, i) => <th key={i}>{c}</th>)}\n </tr>\n </thead>\n )}\n <tbody>\n {rows.map((r, i) => (\n <tr key={i} data-id={r.address} data-tone={r.tone} style={tint(theme, r.tone)}>\n {tagged && <td className=\"gf-tag-cell\">{r.tag && <span className=\"gf-tag\">{r.tag}</span>}</td>}\n {Array.from({ length: width }, (_, j) => <td key={j}>{r.cells[j] ?? ''}</td>)}\n </tr>\n ))}\n </tbody>\n </table>\n </div>\n )\n}\n","// A tokenizer, not a parser: one regex and a keyword set, ported from @graphlearning/flow's\n// codeHighlight. Small on purpose — slides show short excerpts, and every language shares the\n// same seven colours. The comment marker is the only per-language rule.\n\nexport type TokClass = 'var' | 'method' | 'keyword' | 'string' | 'number' | 'punct' | 'ws' | 'comment'\nexport interface Tok { cls: TokClass; text: string }\nexport type Lang = 'python' | 'sql' | 'scala' | 'java' | 'js' | 'ts' | 'shell' | 'hcl' | 'ini' | 'nginx' | 'nft' | 'text'\n\nconst KEYWORDS = new Set([\n 'import', 'from', 'def', 'return', 'lambda', 'class', 'val', 'var', 'new', 'if', 'else', 'for',\n 'in', 'as', 'and', 'or', 'not', 'null', 'true', 'false', 'is',\n 'select', 'where', 'group', 'by', 'join', 'inner', 'left', 'right', 'full', 'outer', 'cross',\n 'on', 'using', 'having', 'order', 'asc', 'desc', 'limit', 'offset', 'distinct', 'with', 'recursive',\n 'union', 'intersect', 'except', 'all', 'insert', 'into', 'values', 'update', 'set', 'delete',\n 'over', 'partition', 'between', 'like', 'exists', 'case', 'when', 'then', 'end', 'count', 'sum', 'avg', 'min', 'max',\n 'while', 'elif', 'try', 'raise', 'finally', 'pass', 'break', 'continue', 'yield', 'async', 'await', 'assert', 'del',\n 'global', 'nonlocal', 'none', 'match',\n 'const', 'let', 'function', 'export', 'default', 'interface', 'type', 'extends', 'implements', 'public',\n 'private', 'static', 'void', 'object', 'trait', 'def', 'catch', 'throw', 'this', 'super', 'undefined',\n // Java's own, the primitive types included — `int x` read as two plain names without them.\n 'abstract', 'boolean', 'byte', 'char', 'do', 'double', 'enum', 'final', 'float', 'goto', 'instanceof',\n 'int', 'long', 'native', 'package', 'permits', 'protected', 'record', 'sealed', 'short', 'strictfp',\n 'switch', 'synchronized', 'throws', 'transient', 'volatile',\n])\n\n// Terraform's block types and meta-arguments, as keywords in HCL ONLY: `data`, `output` and `module`\n// are everyday names in Python, and the shared set above would recolour every Python scene.\nconst HCL_KEYWORDS = new Set([\n 'terraform', 'provider', 'resource', 'data', 'variable', 'output', 'locals', 'module', 'backend',\n 'required_providers', 'moved', 'import', 'removed', 'check', 'lifecycle', 'dynamic', 'for_each', 'count',\n 'depends_on', 'each', 'var', 'local',\n])\n\n// nginx's directives and blocks (0.7), keywords in `lang: 'nginx'` ONLY — `root`, `index`, `user` and\n// `include` are names everywhere else. A value word (`on`, `off`, a path) stays plain.\nconst NGINX_KEYWORDS = new Set([\n 'http', 'server', 'location', 'events', 'upstream', 'listen', 'server_name', 'root', 'index', 'try_files',\n 'return', 'rewrite', 'include', 'user', 'worker_processes', 'worker_connections', 'pid', 'error_log',\n 'access_log', 'sendfile', 'keepalive_timeout', 'gzip', 'ssl_certificate', 'ssl_certificate_key',\n 'ssl_protocols', 'ssl_ciphers', 'proxy_pass', 'proxy_set_header', 'add_header', 'default_type', 'types',\n 'client_max_body_size', 'autoindex', 'alias', 'expires', 'default_server', 'ssl', 'http2', 'deny', 'allow',\n])\n\n// nftables' grammar words (0.7), in `lang: 'nft'` ONLY.\nconst NFT_KEYWORDS = new Set([\n 'table', 'chain', 'type', 'hook', 'priority', 'policy', 'accept', 'drop', 'reject', 'counter', 'ct',\n 'state', 'established', 'related', 'invalid', 'new', 'iif', 'oif', 'iifname', 'oifname', 'tcp', 'udp',\n 'dport', 'sport', 'ip', 'ip6', 'saddr', 'daddr', 'inet', 'filter', 'input', 'output', 'forward', 'nat',\n 'masquerade', 'flush', 'ruleset', 'add', 'rule', 'set', 'elements', 'icmp', 'icmpv6', 'meta', 'l4proto',\n 'log', 'prefix', 'limit', 'rate', 'jump', 'goto', 'return', 'define',\n])\n\nconst COMMENT: Record<Lang, string> = {\n python: '#', shell: '#', hcl: '#', ini: '#', nginx: '#', nft: '#', sql: '--', scala: '//', java: '//', js: '//', ts: '//', text: '\\u0000',\n}\n\n// Bash's reserved words (0.7). Before it, shell took the SHARED set, so `/var/www` drew `var` as a\n// JavaScript keyword and `in`/`set`/`select` lit up inside paths and arguments.\nconst SHELL_KEYWORDS = new Set([\n 'if', 'then', 'else', 'elif', 'fi', 'for', 'while', 'until', 'do', 'done', 'case', 'esac', 'in',\n 'function', 'select', 'time', 'return', 'local', 'export', 'readonly',\n])\n\n// SQL's DDL, transaction and PostgreSQL words (0.8), on top of the shared set in `lang: 'sql'` ONLY —\n// `table`, `key`, `text`, `begin` and `index` are everyday names elsewhere. Matched case-blind.\nconst SQL_KEYWORDS = new Set([\n 'create', 'table', 'primary', 'key', 'foreign', 'references', 'unique', 'check', 'constraint', 'default',\n 'drop', 'alter', 'add', 'column', 'rename', 'index', 'view', 'materialized', 'schema', 'truncate',\n 'cascade', 'restrict', 'returning', 'begin', 'commit', 'rollback', 'savepoint', 'release', 'transaction',\n 'isolation', 'level', 'serializable', 'repeatable', 'read', 'committed', 'grant', 'revoke', 'role', 'to',\n 'merge', 'matched', 'conflict', 'do', 'nothing', 'lateral', 'window', 'rows', 'range', 'preceding',\n 'following', 'current', 'row', 'unbounded', 'filter', 'explain', 'analyze', 'vacuum', 'copy',\n 'generated', 'always', 'identity', 'numeric', 'text', 'bigint', 'smallint', 'integer', 'date',\n 'timestamptz', 'timestamp', 'varchar', 'serial', 'policy', 'trigger', 'lock', 'nulls', 'first', 'last',\n 'interval', 'cast', 'only', 'if', 'of', 'execute', 'prepare', 'for', 'share', 'nowait', 'skip', 'locked',\n])\n\nconst OWN: Partial<Record<Lang, Set<string>>> = { hcl: HCL_KEYWORDS, shell: SHELL_KEYWORDS, nginx: NGINX_KEYWORDS, nft: NFT_KEYWORDS, sql: SQL_KEYWORDS }\n// Languages whose own words ADD to the shared set rather than replace it.\nconst ADDS = new Set<Lang>(['hcl', 'sql'])\n\n/**\n * An ini file — a systemd unit, a `.conf` — is LINE-shaped, so it has its own rule instead of the\n * token regex: `[Section]` is a keyword, `Key=` a method (the setting), the value plain, and a line\n * starting with `#` or `;` a comment. The shared keyword set never applies (`After=` is not SQL).\n */\nfunction tokenizeIni(src: string): Tok[] {\n const lead = src.match(/^\\s*/)![0]\n const rest = src.slice(lead.length)\n const out: Tok[] = lead ? [{ cls: 'ws', text: lead }] : []\n if (rest.startsWith('#') || rest.startsWith(';')) return [...out, { cls: 'comment', text: rest }]\n if (rest.startsWith('[')) return [...out, { cls: 'keyword', text: rest }]\n const kv = rest.match(/^([\\w.@-]+)(\\s*=\\s*)([\\s\\S]*)$/)\n if (!kv) return [...out, { cls: 'var', text: rest }]\n out.push({ cls: 'method', text: kv[1] }, { cls: 'punct', text: kv[2] })\n if (kv[3]) out.push({ cls: 'var', text: kv[3] })\n return out\n}\n\n// Where a dot is a file extension or an address (`job.py`, `ana.example`), not a member access; and\n// where `@` is part of an address (`ana@web-01`), not an annotation; and where a word after `/` is a\n// path segment (`/var/www`), never a keyword.\nconst NO_MEMBER = new Set<Lang>(['shell', 'nginx', 'nft'])\n\nconst escape = (s: string) => s.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\$&')\n\nexport function tokenize(src: string, lang: Lang): Tok[] {\n if (lang === 'text') return [{ cls: 'var', text: src }]\n if (lang === 'ini') return tokenizeIni(src)\n const own = OWN[lang]\n // A config file's own words replace the shared set: `index` and `set` are not SQL there.\n const isKeyword = (word: string) => own && !ADDS.has(lang) ? own.has(word)\n : KEYWORDS.has(word.toLowerCase()) || !!own?.has(lang === 'sql' ? word.toLowerCase() : word)\n // A number carries its suffix and separators (`10L`, `1_000_000`, `3.14f`); an `@Name` is one\n // token — a Java annotation or a Python decorator, both drawn as keywords (not in NO_MEMBER languages).\n const token = new RegExp(`(\\\\s+)|(${escape(COMMENT[lang])}[^\\\\n]*)|('[^']*'?|\"[^\"]*\"?)|(\\\\d[\\\\w.]*)|(@[A-Za-z_]\\\\w*)|([A-Za-z_]\\\\w*)|(\\\\.\\\\.\\\\.|[\\\\s\\\\S])`, 'g')\n const out: Tok[] = []\n let afterDot = false\n const plain = NO_MEMBER.has(lang)\n let afterSlash = false\n // nginx: only a statement's FIRST word is a directive (`index index.html` — the second is a value).\n let statement = true\n for (const [text, ws, comment, str, num, anno, word] of src.matchAll(token)) {\n // `web-01`: in shell, digits joined to a name by `-` are part of the name, not a number.\n const joined = plain && num && out.at(-1)?.text === '-' && out.at(-2)?.cls === 'var'\n const cls: TokClass = ws ? 'ws' : comment ? 'comment' : str ? 'string' : num ? (joined ? 'var' : 'number')\n : anno ? (plain ? 'var' : 'keyword')\n : word ? (afterDot ? 'method' : !(plain && afterSlash) && (lang !== 'nginx' || statement) && isKeyword(word) ? 'keyword' : 'var') : 'punct'\n afterSlash = cls === 'punct' && text === '/'\n if (cls !== 'ws' && cls !== 'comment') statement = cls === 'punct' && (text === ';' || text === '{' || text === '}')\n out.push({ cls, text })\n if (cls !== 'ws') afterDot = !NO_MEMBER.has(lang) && cls === 'punct' && text === '.'\n }\n return out\n}\n\n/**\n * Drop the template literal's first line break, trailing blank lines and the common indent, so scenes\n * can use indented template literals. Only ONE leading blank line goes (0.8): a timeline pane's\n * transcript can START with blank rows — padding that aligns it with the other session — and\n * stripping them all shifted the whole pane up.\n */\nexport function dedent(src: string): string[] {\n const lines = src.replace(/^[^\\S\\n]*\\n/, '').replace(/\\n\\s*$/, '').split('\\n')\n const indent = Math.min(...lines.filter((l) => l.trim()).map((l) => l.match(/^ */)![0].length))\n return lines.map((l) => l.slice(Number.isFinite(indent) ? indent : 0))\n}\n","import type { CSSProperties } from 'react'\nimport { dedent, tokenize, type Tok } from './highlight'\nimport type { Code } from './types'\n\ntype Row = { n: number; text: string } | { fold: number }\n\n/**\n * The lines a `code` node draws: every line, or only the `show` ranges with each skipped run\n * folded into one `··· N lines` row — a terminal too (0.6: a long Terraform plan keeps its command,\n * its resource line and its summary). Line numbers are the FILE's. Shared with the edge planner via\n * `codeLineIds`, so a line edges can address is a line that is drawn.\n */\nexport function codeRows(node: Code): Row[] {\n const lines = dedent(node.code)\n if (!node.show?.length || node.output) return lines.map((text, i) => ({ n: i + 1, text }))\n const keep = new Set(node.show.flatMap(([a, b]) => Array.from({ length: b - a + 1 }, (_, i) => a + i)))\n const rows: Row[] = []\n lines.forEach((text, i) => {\n if (keep.has(i + 1)) rows.push({ n: i + 1, text })\n else if (rows.length && 'fold' in rows[rows.length - 1]) (rows[rows.length - 1] as { fold: number }).fold++\n else rows.push({ fold: 1 })\n })\n return rows\n}\n\nexport const codeLineIds = (node: Code): string[] => codeRows(node).flatMap((r) => ('n' in r ? [`${node.id}.L${r.n}`] : []))\n\n// U+00B7, not ⋯: a fallback-font glyph would change the advance next to Plex Mono.\nconst foldLabel = (n: number) => `··· ${n} line${n === 1 ? '' : 's'}`\n\n/**\n * A prompt: a shell's, as the three shells the course meets draw it (`sigil` is `$`/`%`, or `#` for\n * root), or psql's (0.8) default `%/%R%x%# ` — the database, the input state (`=` a new statement,\n * `-` a continued one, `(` `'` `\"` inside brackets or quotes), the transaction state (`*` open, `!`\n * failed, `?` unknown) and `>`, or `#` for a superuser.\n */\nexport type Prompt =\n | { style: 'debian' | 'redhat' | 'zsh'; user: string; host: string; cwd: string; sigil: string; cmd: string }\n | { style: 'psql'; db: string; mode: string; tx: string; sigil: string; cmd: string }\n\nconst SHELL_PROMPTS: ['debian' | 'redhat' | 'zsh', RegExp][] = [\n ['debian', /^([\\w.-]+)@([\\w.-]+):(\\S*?)([$#])(?: (.*))?$/],\n ['redhat', /^\\[([\\w.-]+)@([\\w.-]+) ([^\\]]*)\\]([$#])(?: (.*))?$/],\n ['zsh', /^([\\w.-]+)@([\\w.-]+) (\\S+) ([%#])(?: (.*))?$/],\n]\nconst PSQL_PROMPT = /^([A-Za-z_][\\w$]*)([=\\-('\"])([*!?]?)([>#])(?: (.*))?$/\n\nexport function parsePrompt(row: string): Prompt | null {\n for (const [style, re] of SHELL_PROMPTS) {\n const m = row.match(re)\n if (m) return { style, user: m[1], host: m[2], cwd: m[3], sigil: m[4], cmd: m[5] ?? '' }\n }\n const m = row.match(PSQL_PROMPT)\n return m ? { style: 'psql', db: m[1], mode: m[2], tx: m[3], sigil: m[4], cmd: m[5] ?? '' } : null\n}\n\ntype ConsoleRow =\n | { n: number; kind: 'cmd'; prompt: Prompt; toks: Tok[] }\n | { n: number; kind: 'cont'; toks: Tok[] }\n | { n: number; kind: 'out'; text: string }\n\n/**\n * Classify a transcript's rows. A prompt row is a command; a command row exactly `cols` wide wrapped,\n * so the rows after it continue the command until one is shorter. psql (0.8) draws a prompt on every\n * line of a statement, so a psql command also takes the continuation-prompt rows after it (`-`, `(`,\n * `'`, `\"`) as further LINES. The command is tokenized WHOLE — lines joined by `\\n` — and its tokens\n * cut back into rows, so a string crossing a wrap or a line keeps its colour. A shell command is\n * `shell`, a psql one `sql`.\n */\nexport function consoleRows(lines: string[], cols: number): Map<number, ConsoleRow> {\n const out = new Map<number, ConsoleRow>()\n // A row exactly `cols` wide wrapped into the next — unless the next is a prompt of its own.\n const wraps = (r: number) => lines[r].length === cols && r + 1 < lines.length && !parsePrompt(lines[r + 1])\n for (let i = 0; i < lines.length; i++) {\n const prompt = parsePrompt(lines[i])\n if (!prompt) { out.set(i + 1, { n: i + 1, kind: 'out', text: lines[i] }); continue }\n // Each line: its prompt and its physical rows (the prompt row, then the rows it wrapped into).\n const parts: { prompt: Prompt; rows: number[] }[] = []\n let r = i, p: Prompt | null = prompt\n while (p) {\n const rows = [r]\n while (wraps(rows[rows.length - 1])) rows.push(rows[rows.length - 1] + 1)\n parts.push({ prompt: p, rows })\n r = rows[rows.length - 1] + 1\n const next = prompt.style === 'psql' && r < lines.length ? parsePrompt(lines[r]) : null\n p = next?.style === 'psql' && next.mode !== '=' ? next : null\n }\n const phys = parts.flatMap(({ prompt: q, rows }) => rows.map((row, k) => ({ row, prompt: k === 0 ? q : null })))\n const widths = phys.map(({ row, prompt: q }) => (q ? q.cmd.length : lines[row].length))\n const text = parts.map(({ prompt: q, rows }) => rows.map((row, k) => (k === 0 ? q.cmd : lines[row])).join('')).join('\\n')\n // A psql meta-command (`\\d`, `\\i file.sql`) is psql's own, not SQL: the command drawn as a method,\n // its arguments plain — a path is not SQL.\n const meta = prompt.style === 'psql' ? text.match(/^(\\\\\\S+)([\\s\\S]*)$/) : null\n const toks: Tok[] = meta ? [{ cls: 'method', text: meta[1] }, ...(meta[2] ? [{ cls: 'var' as const, text: meta[2] }] : [])]\n : tokenize(text, prompt.style === 'psql' ? 'sql' : 'shell')\n const cut: Tok[][] = phys.map(() => [])\n let row = 0, left = widths[0]\n for (const t of toks) {\n t.text.split('\\n').forEach((piece, j) => {\n if (j > 0) { row++; left = widths[row] }\n let rest = piece\n while (rest.length > left && row < widths.length - 1) {\n if (left) cut[row].push({ cls: t.cls, text: rest.slice(0, left) })\n rest = rest.slice(left); row++; left = widths[row]\n }\n if (rest) { cut[row].push({ cls: t.cls, text: rest }); left -= rest.length }\n })\n }\n phys.forEach(({ row: pr, prompt: q }, k) => out.set(pr + 1, q ? { n: pr + 1, kind: 'cmd', prompt: q, toks: cut[k] } : { n: pr + 1, kind: 'cont', toks: cut[k] }))\n i = phys[phys.length - 1].row\n }\n return out\n}\n\nconst PromptView = ({ p }: { p: Prompt }) => p.style === 'psql' ? (\n <span className=\"gf-ps\" data-root={p.sigil === '#' || undefined}>\n <span className=\"gf-ps-who\">{p.db}</span>\n {p.mode}\n {p.tx && <span className=\"gf-ps-tx\" data-tx={p.tx}>{p.tx}</span>}\n {p.sigil}{' '}\n </span>\n) : (\n <span className=\"gf-ps\" data-root={p.sigil === '#' || undefined}>\n {p.style === 'redhat' && '['}\n <span className=\"gf-ps-who\">{p.user}@{p.host}</span>\n {p.style === 'debian' ? ':' : ' '}\n <span className=\"gf-ps-cwd\">{p.cwd}</span>\n {p.style === 'redhat' && ']'}\n {p.style === 'zsh' && ' '}\n {p.sigil}{' '}\n </span>\n)\n\nfunction ConsoleView({ node, style }: { node: Code; style?: CSSProperties }) {\n const lit = new Set(node.highlight ?? [])\n const rows = consoleRows(dedent(node.code), node.cols ?? 80)\n return (\n <div className=\"gf-code\" data-id={node.id} data-console style={style}>\n <div className=\"gf-code-bar\">\n <span className=\"gf-dots\" aria-hidden><i /><i /><i /></span>\n {node.filename && <span className=\"gf-code-name\">{node.filename}</span>}\n </div>\n <div className=\"gf-code-body\">\n {codeRows(node).map((r, i) => {\n if ('fold' in r) return <div key={i} className=\"gf-line gf-fold\">{foldLabel(r.fold)}</div>\n const row = rows.get(r.n)!\n return (\n <div key={i} className=\"gf-line\" data-id={`${node.id}.L${r.n}`} data-kind={row.kind} data-lit={lit.has(r.n) || undefined}\n data-root={row.kind === 'cmd' && row.prompt.sigil === '#' || undefined}>\n {row.kind === 'out' ? <span>{row.text}</span> : <>\n {row.kind === 'cmd' && <PromptView p={row.prompt} />}\n {row.toks.map((t, k) => <span key={k} className={`tok-${t.cls}`}>{t.text}</span>)}\n {row.kind === 'cont' && !row.toks.length && ' '}\n </>}\n </div>\n )\n })}\n </div>\n </div>\n )\n}\n\nexport function CodeView({ node, style }: { node: Code; style?: CSSProperties }) {\n if (node.console) return <ConsoleView node={node} style={style} />\n const lit = new Set(node.highlight ?? [])\n const lang = node.lang ?? (node.terminal ? 'shell' : 'text')\n // A cell's output: what the kernel printed, under its input — no bar, no frame, no gutter.\n if (node.output) return (\n <div className=\"gf-code\" data-id={node.id} data-output style={style}>\n {codeRows(node).map((row, i) => 'n' in row && (\n <div key={i} className=\"gf-line\" data-id={`${node.id}.L${row.n}`} data-kind={row.text.startsWith('! ') ? 'err' : 'out'}>\n {row.text.startsWith('! ') ? row.text.slice(2) : row.text || ' '}\n </div>\n ))}\n </div>\n )\n return (\n <div className=\"gf-code\" data-id={node.id} data-terminal={node.terminal || undefined} style={style}>\n <div className=\"gf-code-bar\">\n {node.terminal ? <span className=\"gf-code-name\">{node.filename ?? 'terminal'}</span> : (\n <>\n <span className=\"gf-dots\" aria-hidden><i /><i /><i /></span>\n {node.filename && <span className=\"gf-code-name\">{node.filename}</span>}\n </>\n )}\n </div>\n <div className=\"gf-code-body\">\n {codeRows(node).map((row, i) => {\n if ('fold' in row) return node.terminal\n ? <div key={i} className=\"gf-line gf-fold\">{foldLabel(row.fold)}</div>\n : <div key={i} className=\"gf-line gf-fold\"><span className=\"gf-ln\" /><span>{foldLabel(row.fold)}</span></div>\n // Terminal: `$ cmd` is a command, `! text` an error, anything else output.\n if (node.terminal) {\n const kind = row.text.startsWith('$ ') ? 'cmd' : row.text.startsWith('! ') ? 'err' : 'out'\n return (\n <div key={i} className=\"gf-line\" data-id={`${node.id}.L${row.n}`} data-kind={kind}>\n {kind === 'cmd' ? <><span className=\"gf-prompt\">$ </span><Toks text={row.text.slice(2)} lang={lang} /></> : kind === 'err' ? row.text.slice(2) : row.text || ' '}\n </div>\n )\n }\n return (\n <div key={i} className=\"gf-line\" data-id={`${node.id}.L${row.n}`} data-lit={lit.has(row.n) || undefined}>\n <span className=\"gf-ln\">{row.n}</span>\n <span><Toks text={row.text} lang={lang} /></span>\n </div>\n )\n })}\n </div>\n </div>\n )\n}\n\nconst Toks = ({ text, lang }: { text: string; lang: Parameters<typeof tokenize>[1] }) =>\n <>{text ? tokenize(text, lang).map((t, i) => <span key={i} className={`tok-${t.cls}`}>{t.text}</span>) : ' '}</>\n","import { useId } from 'react'\nimport type { Theme } from './theme'\nimport type { Plot, PlotAxis, PlotSeries, Tone } from './types'\n\n// A plot's x/y are DATA in the axes' own units; the engine owns every pixel. The drawing area is ONE\n// fixed size for every plot, so plots in a deck line up and frames with one keep the same zoom.\n// Inside the SVG the browser does not lay out text, so all plot text is IBM Plex Mono (fixed advance)\n// and the gutters are counted in characters; `check` measures every <text> against the SVG box.\n\nexport const PLOT_W = 720\nexport const PLOT_H = 400\n/** The second fixed size: a plot for a side pane, readable at full text size in ~560px. */\nexport const COMPACT_W = 420\nexport const COMPACT_H = 280\nconst CHAR_W = 9.1 // IBM Plex Mono at 15px (600/1000 em = 9.0), rounded up so a count can only over-reserve\nconst TICK_GAP = 8\nconst AXIS_LABEL = 24\n\n/** Series colours in a fixed order that keeps green and orange apart; `consume` red is reserved for warnings. */\nconst RAMP: Tone[] = ['ingest', 'infra', 'serve', 'store']\n\nfunction niceStep(span: number): number {\n const raw = Math.abs(span) / 6\n if (!(raw > 0) || !Number.isFinite(raw)) return 1\n const mag = 10 ** Math.floor(Math.log10(raw))\n const n = raw / mag\n return (n >= 5 ? 5 : n >= 2 ? 2 : 1) * mag\n}\n\nconst decimals = (step: number) => (String(step).split('.')[1] ?? '').length\n\ninterface Axis { min: number; max: number; ticks: number[]; text: (v: number) => string; categories: boolean; label?: string }\n\nfunction axis(a: PlotAxis): Axis {\n if (a.labels) {\n const n = a.labels.length\n return { min: -0.5, max: n - 0.5, ticks: a.labels.map((_, i) => i), text: (v) => a.labels![v] ?? '', categories: true, label: a.label }\n }\n const min = a.min ?? 0, max = a.max ?? 1\n const step = a.step && (max - min) / a.step <= 200 ? a.step : niceStep(max - min)\n const ticks: number[] = []\n for (let v = Math.ceil(min / step) * step; v <= max + step * 1e-9; v += step) ticks.push(Number(v.toFixed(decimals(step) + 1)))\n return { min, max, ticks, text: (v) => (Math.abs(v) < step * 1e-9 ? 0 : v).toFixed(decimals(step)), categories: false, label: a.label }\n}\n\nconst seriesPoints = (s: PlotSeries): [number, number][] => s.points ?? (s.from && s.to ? [s.from, s.to] : [])\n\n/** A plain segment (no arrow, no tone) is a construction line: muted, and it takes no ramp colour. */\nconst construction = (s: PlotSeries) => s.kind === 'segment' && !s.arrow && !s.tone\n\n/** Where a series puts its label: a segment at its tip (arrow) or midpoint; bars in the legend; anything else at its last point. */\nfunction labelAt(s: PlotSeries): [number, number] | undefined {\n const pts = seriesPoints(s)\n if (!s.label || !pts.length || s.kind === 'bar') return undefined\n if (s.kind === 'segment' && !s.arrow) return [(pts[0][0] + pts[1][0]) / 2, (pts[0][1] + pts[1][1]) / 2]\n return pts[pts.length - 1]\n}\n\nexport function PlotView({ node, theme, style }: { node: Plot; theme: Theme; style?: React.CSSProperties }) {\n const clip = `gf-clip-${useId().replace(/[^\\w-]/g, '')}`\n const X = axis(node.x), Y = axis(node.y)\n const PW = node.compact ? COMPACT_W : PLOT_W, PH = node.compact ? COMPACT_H : PLOT_H\n const origin = node.axes === 'origin' || (node.axes !== 'corner' && !X.categories && !Y.categories && X.min < 0 && X.max > 0 && Y.min < 0 && Y.max > 0)\n const chars = (s: string) => s.length * CHAR_W\n\n // Gutters, counted: y tick labels + y axis label on the left, x ticks + x label below, the longest\n // label that runs past the right edge on the right.\n const left = Math.ceil(Math.max(...Y.ticks.map((t) => chars(Y.text(t))))) + TICK_GAP + 6 + (Y.label ? AXIS_LABEL : 0)\n const bottom = 30 + (X.label ? AXIS_LABEL : 0)\n const top = 14\n const sx = (v: number) => left + ((v - X.min) / (X.max - X.min)) * PW\n const sy = (v: number) => top + PH - ((v - Y.min) / (Y.max - Y.min)) * PH\n const overhang = Math.max(0, ...node.series.map((s) => {\n const at = labelAt(s)\n return at ? sx(at[0]) + 8 + chars(s.label!) - (left + PW) : 0\n }))\n const right = 16 + Math.ceil(overhang)\n const W = left + PW + right, H = top + PH + bottom\n\n const ax = origin ? sx(0) : left, ay = origin ? sy(0) : top + PH\n // The ramp advances only for series that use it, so a toned or construction series skips no colour.\n const rampAt = node.series.map((_, i) => node.series.slice(0, i).filter((q) => !q.tone && !construction(q)).length)\n const colour = (s: PlotSeries, i: number) =>\n construction(s) ? theme.muted : theme.tones[s.tone ?? RAMP[rampAt[i] % RAMP.length]].accent\n const legend = node.series.flatMap((s, i) => (s.kind === 'bar' && s.label ? [{ label: s.label, c: colour(s, i) }] : []))\n const base = sy(Math.max(Y.min, Math.min(0, Y.max)))\n const step = X.categories ? 1 : (X.ticks[1] ?? X.max) - (X.ticks[0] ?? X.min)\n\n return (\n <div className=\"gf-plot\" data-id={node.id} style={style}>\n {node.title && <div className=\"gf-table-title\">{node.title}</div>}\n <svg width={W} height={H} viewBox={`0 0 ${W} ${H}`} role=\"img\" aria-label={node.title ?? 'plot'}>\n <defs><clipPath id={clip}><rect x={left} y={top} width={PW} height={PH} /></clipPath></defs>\n {node.grid !== false && (\n <g className=\"gf-plot-grid\">\n {!X.categories && X.ticks.map((t) => <line key={`x${t}`} x1={sx(t)} x2={sx(t)} y1={top} y2={top + PH} />)}\n {Y.ticks.map((t) => <line key={`y${t}`} x1={left} x2={left + PW} y1={sy(t)} y2={sy(t)} />)}\n </g>\n )}\n <g className=\"gf-plot-axis\">\n <line x1={left} x2={left + PW} y1={ay} y2={ay} />\n <line x1={ax} x2={ax} y1={top} y2={top + PH} />\n </g>\n <g className=\"gf-plot-ticks\">\n {X.ticks.filter((t) => !(origin && t === 0)).map((t) => <text key={`x${t}`} x={sx(t)} y={ay + 20} textAnchor=\"middle\">{X.text(t)}</text>)}\n {Y.ticks.filter((t) => !(origin && t === 0)).map((t) => <text key={`y${t}`} x={ax - TICK_GAP} y={sy(t)} textAnchor=\"end\" dominantBaseline=\"middle\">{Y.text(t)}</text>)}\n {X.label && <text x={left + PW / 2} y={top + PH + bottom - 6} textAnchor=\"middle\" className=\"gf-plot-label\">{X.label}</text>}\n {Y.label && <text transform={`translate(14 ${top + PH / 2}) rotate(-90)`} textAnchor=\"middle\" dominantBaseline=\"middle\" className=\"gf-plot-label\">{Y.label}</text>}\n </g>\n <g clipPath={`url(#${clip})`}>\n {node.series.map((s, i) => {\n const c = colour(s, i), pts = seriesPoints(s)\n const d = pts.map(([x, y], j) => `${j ? 'L' : 'M'}${sx(x)},${sy(y)}`).join(' ')\n if (s.kind === 'area')\n return <g key={i}><path d={`${d} L${sx(pts[pts.length - 1][0])},${base} L${sx(pts[0][0])},${base} Z`} fill={c} fillOpacity={0.18} stroke=\"none\" /><path d={d} fill=\"none\" stroke={c} strokeWidth={2.5} /></g>\n if (s.kind === 'line') return <path key={i} d={d} fill=\"none\" stroke={c} strokeWidth={2.5} strokeDasharray={s.dashed ? '7 6' : undefined} strokeLinejoin=\"round\" />\n if (s.kind === 'scatter') return <g key={i}>{pts.map(([x, y], j) => <circle key={j} cx={sx(x)} cy={sy(y)} r={5} fill={c} />)}</g>\n if (s.kind === 'bar') {\n const n = node.series.filter((q) => q.kind === 'bar').length, k = node.series.slice(0, i).filter((q) => q.kind === 'bar').length\n const slot = ((sx(step) - sx(0)) * 0.7) / n\n return <g key={i}>{pts.map(([x, y], j) => <rect key={j} x={sx(x) - (slot * n) / 2 + k * slot} y={Math.min(sy(y), base)} width={slot - 2} height={Math.abs(base - sy(y))} fill={c} rx={2} />)}</g>\n }\n // segment: a construction or threshold line, dashed unless told otherwise; `arrow` makes it a vector.\n const [[x1, y1], [x2, y2]] = pts\n const a = Math.atan2(sy(y2) - sy(y1), sx(x2) - sx(x1)), L = 12\n const tip = [sx(x2), sy(y2)], back = [tip[0] - L * Math.cos(a), tip[1] - L * Math.sin(a)]\n return (\n <g key={i}>\n <line x1={sx(x1)} y1={sy(y1)} x2={s.arrow ? back[0] : tip[0]} y2={s.arrow ? back[1] : tip[1]} stroke={c} strokeWidth={construction(s) ? 1.75 : 2.5} strokeDasharray={s.dashed === false || s.arrow ? undefined : '7 6'} />\n {s.arrow && (x1 !== x2 || y1 !== y2) && (\n <polygon fill={c} points={[tip, [back[0] + 6 * Math.sin(a), back[1] - 6 * Math.cos(a)], [back[0] - 6 * Math.sin(a), back[1] + 6 * Math.cos(a)]].map((p) => p.join(',')).join(' ')} />\n )}\n </g>\n )\n })}\n </g>\n {legend.length > 0 && (\n <g className=\"gf-plot-labels\">\n {legend.map((l, i) => {\n const y = top + 18 + i * 22, x = left + PW - 12 - Math.max(...legend.map((q) => chars(q.label)))\n return <g key={i}><rect x={x - 20} y={y - 10} width={12} height={12} rx={2} fill={l.c} /><text x={x} y={y} dominantBaseline=\"middle\" fill={l.c}>{l.label}</text></g>\n })}\n </g>\n )}\n <g className=\"gf-plot-labels\">\n {node.series.map((s, i) => {\n const at = labelAt(s)\n // Above the point, but never above the area: a curve that ends at y.max would push it out.\n return at && <text key={i} x={sx(at[0]) + 8} y={Math.min(top + PH - 4, Math.max(top + 14, sy(at[1]) - 8))} fill={colour(s, i)}>{s.label}</text>\n })}\n </g>\n </svg>\n </div>\n )\n}\n","import { ChevronDown, ChevronRight, FileText, Folder } from 'lucide-react'\nimport type { CSSProperties } from 'react'\nimport { ICONS } from './icons'\nimport type { Theme } from './theme'\nimport type { Tree, TreeEntry } from './types'\n\n/** A file's default icon by extension. Anything unlisted draws a plain file. */\nconst BY_EXTENSION: Record<string, string> = { py: 'python', ipynb: 'jupyter', java: 'java', sql: 'database', tf: 'terraform', dockerfile: 'docker' }\nconst iconOf = (e: TreeEntry) => e.icon ?? BY_EXTENSION[e.name.toLowerCase().split('.').pop() ?? '']\n\ninterface Row { entry: TreeEntry; depth: number; path: string }\n\n/**\n * The entries a `tree` draws, depth-first, each with its PATH (`src/jobs/orders.py`). Shared with the\n * edge planner via `treeEntryIds`, like `tableRows` and `codeRows`: an entry is addressable as\n * `<tree id>.<path>`.\n */\nfunction treeRows(entries: TreeEntry[], depth = 0, prefix = ''): Row[] {\n return entries.flatMap((entry) => {\n const path = prefix ? `${prefix}/${entry.name}` : entry.name\n return [{ entry, depth, path }, ...(entry.children ? treeRows(entry.children, depth + 1, path) : [])]\n })\n}\n\nexport const treeEntryIds = (node: Tree): string[] => treeRows(node.entries).map((r) => `${node.id}.${r.path}`)\n\nexport function TreeView({ node, theme, style }: { node: Tree; theme: Theme; style?: CSSProperties }) {\n return (\n <div className=\"gf-tree\" data-id={node.id} style={style}>\n <div className=\"gf-tree-title\">{node.title ?? 'Explorer'}</div>\n <div className=\"gf-tree-body\">\n {treeRows(node.entries).map(({ entry, depth, path }) => {\n const folder = entry.folder ?? !!entry.children\n return (\n <div key={path} className=\"gf-tree-row\" data-id={`${node.id}.${path}`} data-state={entry.state} style={{ paddingLeft: 10 + depth * 16 }}>\n {/* A folder with listed children is open; one marked `folder` with none is collapsed. */}\n {!folder ? <span className=\"gf-tree-chev\" /> : entry.children?.length\n ? <ChevronDown size=\"0.9em\" className=\"gf-tree-chev\" aria-hidden /> : <ChevronRight size=\"0.9em\" className=\"gf-tree-chev\" aria-hidden />}\n {(() => {\n const draw = iconOf(entry) ? ICONS[iconOf(entry)!] : undefined\n return draw ? <span className=\"gf-tree-icon\">{draw('1.1em', theme.surface, theme.ink)}</span>\n : folder ? <Folder size=\"1.1em\" aria-hidden /> : <FileText size=\"1.1em\" aria-hidden />\n })()}\n <span className=\"gf-tree-name\">{entry.name}</span>\n {entry.note && <span className=\"gf-tree-note\">{entry.note}</span>}\n </div>\n )\n })}\n </div>\n </div>\n )\n}\n","import type { CSSProperties } from 'react'\nimport type { Tty } from './types'\n\n/** Rows addressable by edges and `focus` as `<tty>.R<n>`, 1-based like a code line. */\nexport const ttyRowIds = (node: Tty): string[] => node.screen.map((_, i) => `${node.id}.R${i + 1}`)\n\ntype Run = { text: string; inverse: boolean; bold: boolean }\n\n/** One row cut into runs of the same attributes. Padded to the full width, so the grid never moves. */\nfunction runs(text: string, row: number, node: Tty, cols: number): Run[] {\n const line = text.padEnd(cols).slice(0, cols)\n const has = (spans: [number, number, number][] | undefined, col: number) =>\n !!spans?.some(([r, a, b]) => r === row && col >= a && col < b)\n const out: Run[] = []\n for (let c = 0; c < cols; c++) {\n const inverse = has(node.inverse, c), bold = has(node.bold, c)\n const last = out[out.length - 1]\n if (last && last.inverse === inverse && last.bold === bold) last.text += line[c]\n else out.push({ text: line[c], inverse, bold })\n }\n return out\n}\n\n/**\n * A full-screen program's screen: a terminal frame with a fixed grid of `cols` × the screen's rows.\n * The size comes from the capture, never from the content, so two screenshots of `top` are the same box.\n */\nexport function TtyView({ node, style }: { node: Tty; style?: CSSProperties }) {\n const cols = node.cols ?? 80\n return (\n <div className=\"gf-code gf-tty\" data-id={node.id} style={style}>\n <div className=\"gf-code-bar\">\n <span className=\"gf-dots\" aria-hidden><i /><i /><i /></span>\n {node.title && <span className=\"gf-code-name\">{node.title}</span>}\n </div>\n <div className=\"gf-code-body\">\n {node.screen.map((text, i) => (\n <div key={i} className=\"gf-line\" data-id={`${node.id}.R${i + 1}`}>\n {runs(text, i, node, cols).map((r, k) =>\n <span key={k} data-inverse={r.inverse || undefined} data-bold={r.bold || undefined}>{r.text}</span>)}\n </div>\n ))}\n </div>\n </div>\n )\n}\n","import type { Edge } from './types'\n\n// Pure edge routing: measured node boxes in, orthogonal polylines out. No DOM here.\n\nexport interface Rect { x: number; y: number; w: number; h: number }\nexport interface Pt { x: number; y: number }\n/**\n * `index` is the edge's position in `scene.edges`; `axis` is the route's direction ('h' leaves a\n * left/right face). A label sits `on` its line, or `before`/`after` it (above/below a horizontal\n * segment, left/right of a vertical one) when its port shares a face with others.\n */\nexport interface Routed {\n edge: Edge; index: number; axis: 'h' | 'v'; points: Pt[]; label: Pt & { side: 'on' | 'before' | 'after'; seg: 'h' | 'v' }\n /** How many edges hold a slot in this edge's channel (0: none). The layout widens the gap for them. */\n slots: number\n}\ntype Face = 'left' | 'right' | 'top' | 'bottom'\n\n/** An edge ends this far OUTSIDE its node, so the arrowhead never touches the border. */\nexport const ANCHOR_OUTSET = 4\n/** Ports keep this far from a face's corners. */\nexport const PORT_INSET = 12\n/** Two ports closer than this on one face make the whole face spread evenly. */\nexport const PORT_MIN_GAP = 14\n/** The arrowhead's length (its marker is 10 user units): a slot keeps at least this run to each anchor. */\nexport const HEAD_LEN = 10\n/** Between two slots in one channel. */\nexport const SLOT_GAP = 8\n/**\n * The gap a channel needs for `n` slots: a full head's run at each end, outside each anchor, and\n * SLOT_GAP between neighbours. One slot needs 28 — inside EDGE_GAP — so only a SHARED channel grows.\n * Without it, three arrows fanning into one node through a 32px gap left a 4px last run, which the\n * 6px head trim reversed: the arrowhead pointed back into the gap (0.2, edge-fan-in).\n */\nexport const slotRoom = (n: number) => 2 * (ANCHOR_OUTSET + HEAD_LEN) + Math.max(0, n - 1) * SLOT_GAP\n\nconst centre = (r: Rect): Pt => ({ x: r.x + r.w / 2, y: r.y + r.h / 2 })\nconst horizontal = (f: Face) => f === 'left' || f === 'right'\n\n/**\n * Leave across the LARGER gap between the boxes; null when they overlap on both axes (nested).\n * `lateral` forces left/right: a table row is a slice of its table, so only its two ends are outside.\n */\nfunction facesOf(a: Rect, b: Rect, lateral: boolean): [Face, Face] | null {\n if (lateral) return centre(b).x >= centre(a).x ? ['right', 'left'] : ['left', 'right']\n const right = b.x - (a.x + a.w), left = a.x - (b.x + b.w)\n const down = b.y - (a.y + a.h), up = a.y - (b.y + b.h)\n const gx = Math.max(right, left), gy = Math.max(down, up)\n if (gx < 0 && gy < 0) return null\n if (gx >= gy) return right >= left ? ['right', 'left'] : ['left', 'right']\n return down >= up ? ['bottom', 'top'] : ['top', 'bottom']\n}\n\ninterface End { edge: number; side: 0 | 1; rect: Rect; face: Face; far: number; at: number; rank: number; count: number }\n\n/**\n * A face with ONE edge anchors at its centre. A face with several gives each a PORT that slides\n * toward the far end's centre (clamped PORT_INSET from the corners); if any two land within\n * PORT_MIN_GAP, the face spreads evenly in far-end order instead.\n */\nfunction placePorts(ends: End[]) {\n const byFace = new Map<string, End[]>()\n for (const e of ends) {\n const key = `${e.rect.x},${e.rect.y},${e.rect.w},${e.rect.h},${e.face}`\n byFace.set(key, [...(byFace.get(key) ?? []), e])\n }\n for (const group of byFace.values()) {\n const { rect, face } = group[0]\n const [start, len] = horizontal(face) ? [rect.y, rect.h] : [rect.x, rect.w]\n const lo = start + Math.min(PORT_INSET, len / 2), hi = start + len - Math.min(PORT_INSET, len / 2)\n if (group.length === 1) { group[0].at = start + len / 2; continue }\n group.sort((p, q) => p.far - q.far || p.edge - q.edge)\n group.forEach((e, i) => { e.rank = i; e.count = group.length })\n group.forEach((e) => (e.at = Math.min(hi, Math.max(lo, e.far))))\n if (group.some((e, i) => i > 0 && e.at - group[i - 1].at < PORT_MIN_GAP))\n group.forEach((e, i) => (e.at = lo + ((i + 1) * (hi - lo)) / (group.length + 1)))\n }\n}\n\nfunction anchor({ rect, face, at }: End): Pt {\n if (face === 'left') return { x: rect.x - ANCHOR_OUTSET, y: at }\n if (face === 'right') return { x: rect.x + rect.w + ANCHOR_OUTSET, y: at }\n if (face === 'top') return { x: at, y: rect.y - ANCHOR_OUTSET }\n return { x: at, y: rect.y + rect.h + ANCHOR_OUTSET }\n}\n\n/**\n * `sides[i]` names the two SIBLINGS edge i runs between — the children of its lowest common\n * ancestor that contain each end. The faces are chosen from THEIR boxes, not the nodes': two nested\n * nodes in adjacent columns can sit diagonally with a larger vertical gap, and choosing from them\n * would send the edge down through whatever lies between. The elbow sits in the CHANNEL — the gap\n * between those siblings, which the layout widened for it — not midway between the nodes, which for\n * nested nodes can fall inside a sibling; several users of one channel get a slot each. `lateral` ids (table rows) connect only through left/right.\n * Edges whose ids are unknown, or whose boxes overlap (a node and its own ancestor), are skipped.\n */\nexport function routeEdges(\n edges: Edge[], rects: Map<string, Rect>, sides: ([string, string] | undefined)[] = [], lateral: Set<string> = new Set(),\n): Routed[] {\n const ends: End[] = []\n // A channel is the gap between an edge's two sides: [lo, hi] along the route's axis.\n const channel: ({ key: string; lo: number; hi: number } | undefined)[] = []\n edges.forEach((edge, i) => {\n const a = rects.get(edge.from), b = rects.get(edge.to)\n const [sa, sb] = (sides[i] ?? [edge.from, edge.to]).map((id) => rects.get(id))\n const faces = a && b && sa && sb && facesOf(sa, sb, lateral.has(edge.from) || lateral.has(edge.to))\n if (!faces) return\n const [lo, hi] = faces[0] === 'right' ? [sa.x + sa.w, sb.x] : faces[0] === 'left' ? [sb.x + sb.w, sa.x]\n : faces[0] === 'bottom' ? [sa.y + sa.h, sb.y] : [sb.y + sb.h, sa.y]\n // Keyed by axis + bounds, NOT direction: driver → workers and workers → driver share one gap.\n channel[i] = hi > lo ? { key: `${horizontal(faces[0]) ? 'h' : 'v'}:${Math.round(lo)}:${Math.round(hi)}`, lo, hi } : undefined\n const axis = horizontal(faces[0]) ? 'y' : 'x'\n ends.push({ edge: i, side: 0, rect: a, face: faces[0], far: centre(b)[axis], at: 0, rank: 0, count: 1 })\n ends.push({ edge: i, side: 1, rect: b, face: faces[1], far: centre(a)[axis], at: 0, rank: 0, count: 1 })\n })\n placePorts(ends)\n\n // Pass 1: anchors, and whether each edge is straight or needs an elbow.\n const pairs = []\n for (let i = 0; i < ends.length; i += 2) {\n const [from, to] = ends[i].side === 0 ? [ends[i], ends[i + 1]] : [ends[i + 1], ends[i]]\n // Alone on both faces and the faces overlap: run straight across the middle of the overlap\n // rather than jog between two centres (a row of items of different heights).\n if (from.count === 1 && to.count === 1) {\n const span = (e: End) => (horizontal(e.face) ? [e.rect.y, e.rect.y + e.rect.h] : [e.rect.x, e.rect.x + e.rect.w])\n const [a0, a1] = span(from), [b0, b1] = span(to)\n const lo = Math.max(a0, b0), hi = Math.min(a1, b1)\n if (hi - lo >= 2 * PORT_INSET) from.at = to.at = (lo + hi) / 2\n }\n const s = anchor(from), t = anchor(to)\n const straight = horizontal(from.face) ? Math.abs(s.y - t.y) < 0.5 : Math.abs(s.x - t.x) < 0.5\n pairs.push({ from, to, s, t, straight })\n }\n\n // Pass 2: SLOTS. Everything that lands mid-channel — an elbow's cross segment, a straight edge's\n // label — would land on the same line, and a dashed back edge ran under the 'tasks' label that way.\n // Each user of a channel gets its own slot, evenly spaced, in edge order (deterministic).\n const slot = new Map<number, number>()\n const users = new Map<string, number[]>()\n for (const { from, straight } of pairs) {\n const c = channel[from.edge]\n if (c && (!straight || edges[from.edge].label)) users.set(c.key, [...(users.get(c.key) ?? []), from.edge])\n }\n const shared = new Map<number, number>()\n for (const list of users.values()) {\n list.sort((a, b) => a - b)\n const { lo, hi } = channel[list[0]]!\n // Evenly spaced across the channel — unless that puts an end slot within a head's length of an\n // anchor, when they spread over the part that keeps every run at least HEAD_LEN. The layout widens\n // a shared channel to slotRoom(n), so that part always holds them SLOT_GAP apart.\n const inLo = lo + ANCHOR_OUTSET + HEAD_LEN, inHi = hi - ANCHOR_OUTSET - HEAD_LEN, n = list.length\n const even = (k: number) => lo + ((k + 1) * (hi - lo)) / (n + 1)\n const fits = even(0) >= inLo && even(n - 1) <= inHi\n list.forEach((e, k) => {\n slot.set(e, fits || n === 1 ? even(k) : inLo + (k * Math.max(0, inHi - inLo)) / (n - 1))\n shared.set(e, n)\n })\n }\n\n const routed: Routed[] = []\n for (const { from, s, t } of pairs) {\n let points: Pt[]\n if (horizontal(from.face)) {\n const mx = slot.get(from.edge) ?? (s.x + t.x) / 2\n points = Math.abs(s.y - t.y) < 0.5 ? [s, { x: t.x, y: s.y }] : [s, { x: mx, y: s.y }, { x: mx, y: t.y }, t]\n } else {\n const my = slot.get(from.edge) ?? (s.y + t.y) / 2\n points = Math.abs(s.x - t.x) < 0.5 ? [s, { x: s.x, y: t.y }] : [s, { x: s.x, y: my }, { x: t.x, y: my }, t]\n }\n const [p, q] = points.length === 4 ? [points[1], points[2]] : points\n const mid = (from.count - 1) / 2\n const side = from.count === 1 || from.rank === mid ? 'on' : from.rank < mid ? 'before' : 'after'\n const seg = p.y === q.y ? 'h' : 'v'\n // A straight edge's label sits at its slot (if it has one), so it never shares a line with an elbow.\n const at = slot.get(from.edge)\n const label = points.length === 2 && at !== undefined\n ? (horizontal(from.face) ? { x: at, y: p.y } : { x: p.x, y: at }) : { x: (p.x + q.x) / 2, y: (p.y + q.y) / 2 }\n routed.push({ edge: edges[from.edge], index: from.edge, axis: horizontal(from.face) ? 'h' : 'v', points, label: { ...label, side, seg }, slots: shared.get(from.edge) ?? 0 })\n }\n return routed\n}\n","export interface Size { w: number; h: number }\nexport interface Fit { scale: number; x: number; y: number }\n\n/** Margin on each side, as a fraction of the pane's own axis. */\nexport const FIT_PADDING = 0.04\nexport const MIN_SCALE = 0.05\n/** A small scene stops growing here, so it still reads as a diagram, not a poster. */\nexport const MAX_SCALE = 4\n\n/**\n * The fit is a PURE function of the pane and the content's natural size — no async, no history.\n * That is what makes recordings reproducible: two frames whose scenes have the same natural box get\n * the same scale and put every panel at the same pixels.\n */\nexport function fitTransform(pane: Size, content: Size): Fit {\n if (!content.w || !content.h) return { scale: 1, x: 0, y: 0 }\n const raw = Math.min((pane.w * (1 - 2 * FIT_PADDING)) / content.w, (pane.h * (1 - 2 * FIT_PADDING)) / content.h)\n const scale = Math.min(MAX_SCALE, Math.max(MIN_SCALE, raw))\n return { scale, x: (pane.w - content.w * scale) / 2, y: (pane.h - content.h * scale) / 2 }\n}\n","import type { ThemeKey, Tone } from './types'\n\n// A theme owns the SHADE; a tone owns the HUE FAMILY, identical in every theme.\n// Values stay 6-digit hex so they can be concatenated with alpha later.\n\nexport interface ToneColors { accent: string; tint: string }\n\n/** The code surface and its seven token colours — one set per theme, shared by every language. */\nexport interface CodeColors { bg: string; bar: string; gutter: string; var: string; method: string; keyword: string; string: string; number: string; punct: string; comment: string }\n\nexport interface Theme {\n bg: string\n surface: string\n line: string\n ink: string\n muted: string\n edge: string\n pulse: string\n tones: Record<Tone, ToneColors>\n code: CodeColors\n}\n\n// `bg` is the PLATFORM canvas — @graphlearning/shell's `--bg` (#1a1d23 / #f7f8fa) — so a scene sits\n// seamlessly in the shell's frame. Change one and the other shows an edge round every scene.\nexport const THEMES: Record<ThemeKey, Theme> = {\n dark: {\n bg: '#1a1d23', surface: '#22262e', line: '#2f343d', ink: '#eef2f8', muted: '#9aa4b2', edge: '#7d8796', pulse: '#7dd3fc',\n tones: {\n neutral: { accent: '#9aa4b2', tint: '#181b20' },\n source: { accent: '#a3adbb', tint: '#1b1e24' },\n ingest: { accent: '#4f8ff7', tint: '#111d2e' },\n store: { accent: '#37b877', tint: '#122419' },\n serve: { accent: '#c98bff', tint: '#1e1428' },\n consume: { accent: '#f0656f', tint: '#2a1416' },\n infra: { accent: '#f0902f', tint: '#241c12' },\n },\n code: {\n bg: '#0e1420', bar: '#131b29', gutter: '#4f5a6c', var: '#eceef2', method: '#5b8cff', keyword: '#b98bff',\n string: '#37d39a', number: '#ff7a59', punct: '#8b909c', comment: '#6b748b',\n },\n },\n light: {\n bg: '#f7f8fa', surface: '#ffffff', line: '#d9dee5', ink: '#1b1f24', muted: '#5a6675', edge: '#6b7686', pulse: '#0284c7',\n tones: {\n neutral: { accent: '#5a6675', tint: '#f3f5f8' },\n source: { accent: '#4b5563', tint: '#f1f2f4' },\n ingest: { accent: '#1f5fc4', tint: '#e8effc' },\n store: { accent: '#177a4a', tint: '#e7f7ee' },\n serve: { accent: '#7b3fbf', tint: '#f3eafd' },\n consume: { accent: '#c0303c', tint: '#fdeaec' },\n infra: { accent: '#b4610f', tint: '#fdf1e4' },\n },\n code: {\n bg: '#f6f8fb', bar: '#eceff4', gutter: '#9aa4b2', var: '#1b1f24', method: '#1f5fc4', keyword: '#7b3fbf',\n string: '#177a4a', number: '#b4500f', punct: '#5a6675', comment: '#7a8494',\n },\n },\n}\n","import { useEffect, useLayoutEffect, useMemo, useRef, useState, type CSSProperties } from 'react'\nimport { ICONS } from './icons'\nimport { Edges } from './Edges'\nimport { TableView, tableRows } from './Table'\nimport { CodeView, codeLineIds } from './Code'\nimport { PlotView } from './Plot'\nimport { TreeView, treeEntryIds } from './Tree'\nimport { TtyView, ttyRowIds } from './Tty'\nimport { routeEdges, slotRoom, type Rect } from './routing'\nimport { fitTransform, type Size } from './fit'\nimport { THEMES, type Theme } from './theme'\nimport type { Group, Item, Scene as SceneModel, SceneNode, ThemeKey } from './types'\n\n// Layout is CSS grid all the way down: a row is N auto columns (one per non-spanning child),\n// a col is one, a grid is `cols`. `span: 'all'` runs 1 / -1. Grid — not flex — because a\n// spanning child must not change the natural width the fit will later scale.\n\ntype Dir = 'row' | 'col' | 'grid'\n\n/**\n * The gap an arrow is drawn in. A body whose children an edge runs BETWEEN gets at least EDGE_GAP;\n * on the axis a LABELLED edge crosses it, the label's measured size plus LABEL_ROOM a side; and where\n * several edges share the channel, slotRoom(n) — a slot each and a full arrowhead's run at both ends.\n */\nconst GAP = 10\nconst EDGE_GAP = 32\nconst LABEL_ROOM = 24\n\ntype Gaps = Record<string, { col: number; row: number }>\n\nfunction bodyStyle(dir: Dir, children: SceneNode[], cols: number | undefined, gap?: { col: number; row: number }): CSSProperties {\n const n = dir === 'grid' ? cols ?? 2 : dir === 'row' ? Math.max(1, children.filter((c) => c.span !== 'all').length) : 1\n return { gridTemplateColumns: `repeat(${n}, auto)`, columnGap: gap?.col ?? GAP, rowGap: gap?.row ?? GAP }\n}\n\n/**\n * Each edge's lowest common ancestor ('' for the scene root) — the body it runs across — and the two\n * children of it that hold its ends, which the router picks faces from. Derived from the scene, never\n * authored, so spacing stays declarative. undefined = not drawable.\n */\ntype Crossing = { body: string; sides: [string, string] } | undefined\n\nfunction edgeBodies(scene: SceneModel): Crossing[] {\n const parent = new Map<string, string>()\n // A table's rows are its children for edge planning: `main.list` sits under `main`.\n const walk = (nodes: SceneNode[], p: string) => nodes.forEach((n) => {\n parent.set(n.id, p)\n if (n.type === 'group') walk(n.children, n.id)\n for (const id of lateralIdsOf(n)) parent.set(id, n.id)\n })\n walk(scene.nodes, '')\n const chain = (id: string) => { const out = [id]; while (parent.has(out.at(-1)!)) out.push(parent.get(out.at(-1)!)!); return out }\n return (scene.edges ?? []).map((e) => {\n if (!parent.has(e.from) || !parent.has(e.to)) return undefined\n const from = chain(e.from), to = chain(e.to)\n const lca = from.find((id) => to.includes(id))\n if (lca === undefined || lca === e.from || lca === e.to) return undefined\n const below = (c: string[]) => c[c.indexOf(lca) - 1]\n return { body: lca, sides: [below(from), below(to)] }\n })\n}\n\n/** A leaf's addressable slices — table rows, code lines. Each is a child of its leaf for planning. */\nconst lateralIdsOf = (n: SceneNode): string[] =>\n n.type === 'table' ? tableRows(n).flatMap((r) => (r.address ? [r.address] : []))\n : n.type === 'code' ? codeLineIds(n) : n.type === 'tree' ? treeEntryIds(n) : n.type === 'tty' ? ttyRowIds(n) : []\n\n/** Every slice id — the ends the router may connect only through left/right (their top and bottom are inside). */\nfunction lateralIds(nodes: SceneNode[], out = new Set<string>()): Set<string> {\n for (const n of nodes) {\n if (n.type === 'group') lateralIds(n.children, out)\n for (const id of lateralIdsOf(n)) out.add(id)\n }\n return out\n}\n\nfunction baseGaps(bodies: Crossing[]): Gaps {\n const out: Gaps = {}\n for (const b of bodies) if (b) out[b.body] = { col: EDGE_GAP, row: EDGE_GAP }\n return out\n}\n\nconst toneVars = (theme: Theme, node: SceneNode): CSSProperties | undefined =>\n node.tone && ({ '--gf-accent': theme.tones[node.tone].accent, '--gf-tint': theme.tones[node.tone].tint } as CSSProperties)\n\n/** Placement shared by every node: span, the min-size floors, and `fill` (stretch instead of hug). */\nconst spanStyle = (node: SceneNode): CSSProperties => {\n const minW = node.w ?? node.minW, maxW = node.w ?? node.maxW, minH = node.h ?? node.minH, maxH = node.h ?? node.maxH\n return {\n ...(node.span === 'all' && { gridColumn: '1 / -1' }),\n ...(minW !== undefined && { minWidth: minW }),\n ...(maxW !== undefined && { maxWidth: maxW }),\n ...(minH !== undefined && { minHeight: minH }),\n ...(maxH !== undefined && { maxHeight: maxH }),\n ...(node.fill && { justifySelf: 'stretch', alignSelf: 'stretch' }),\n }\n}\n\nfunction ItemView({ node, theme }: { node: Item; theme: Theme }) {\n const draw = node.icon ? ICONS[node.icon] : undefined\n return (\n <div className=\"gf-item\" data-id={node.id} data-stack={node.stack || undefined} data-chip={node.chip || undefined} data-muted={node.muted || undefined} style={{ ...toneVars(theme, node), ...spanStyle(node) }}>\n {/* Icon sizes are multiples of the item's text (16px): row 2em, card 3em, chip 1.15em. */}\n {draw?.(node.stack ? '3em' : node.chip ? '1.15em' : '2em', theme.surface, theme.ink)}\n <div>\n <div className=\"gf-item-title\">{node.title}</div>\n {node.sub && <div className=\"gf-item-sub\">{node.sub}</div>}\n {node.bullets && <ul className=\"gf-bullets\">{node.bullets.map((b) => <li key={b}>{b}</li>)}</ul>}\n </div>\n </div>\n )\n}\n\nfunction GroupView({ node, theme, gaps }: { node: Group; theme: Theme; gaps: Gaps }) {\n // A notebook cell: the `[n]` gutter beside a body that stacks the input and its outputs.\n if (node.cell != null) return (\n <div className=\"gf-group\" data-id={node.id} data-cell style={{ ...toneVars(theme, node), ...spanStyle(node) }}>\n <div className=\"gf-cell-n\">[{node.cell === true ? ' ' : node.cell}]</div>\n <div className=\"gf-body\" style={bodyStyle('col', node.children, undefined, gaps[node.id])}>\n {node.children.map((c) => <NodeView key={c.id} node={c} theme={theme} gaps={gaps} />)}\n </div>\n </div>\n )\n return (\n <div className=\"gf-group\" data-id={node.id} data-bare={node.bare || undefined} data-dashed={node.dashed || undefined} data-muted={node.muted || undefined} data-toned={node.tone || undefined} data-spread={node.spread || undefined} style={{ ...toneVars(theme, node), ...spanStyle(node) }}>\n {(node.title || node.badge != null) && (\n <div className=\"gf-group-head\">\n <div className=\"gf-group-title\">\n {node.badge != null && <span className=\"gf-badge\">{node.badge}</span>}\n {node.icon && ICONS[node.icon]?.('1.25em', theme.surface, theme.ink)}\n {node.title}\n </div>\n {node.sub && <div className=\"gf-group-sub\">{node.sub}</div>}\n </div>\n )}\n <div className=\"gf-body\" style={bodyStyle(node.dir ?? 'col', node.children, node.cols, gaps[node.id])}>\n {node.children.map((c) => <NodeView key={c.id} node={c} theme={theme} gaps={gaps} />)}\n </div>\n </div>\n )\n}\n\nfunction NodeView({ node, theme, gaps }: { node: SceneNode; theme: Theme; gaps: Gaps }) {\n if (node.type === 'group') return <GroupView node={node} theme={theme} gaps={gaps} />\n if (node.type === 'table') return <TableView node={node} theme={theme} style={{ ...toneVars(theme, node), ...spanStyle(node) }} />\n if (node.type === 'code') return <CodeView node={node} style={{ ...toneVars(theme, node), ...spanStyle(node) }} />\n if (node.type === 'plot') return <PlotView node={node} theme={theme} style={{ ...toneVars(theme, node), ...spanStyle(node) }} />\n if (node.type === 'tree') return <TreeView node={node} theme={theme} style={{ ...toneVars(theme, node), ...spanStyle(node) }} />\n if (node.type === 'tty') return <TtyView node={node} style={{ ...toneVars(theme, node), ...spanStyle(node) }} />\n if (node.type === 'note') return <div className=\"gf-note\" data-id={node.id} style={{ ...toneVars(theme, node), ...spanStyle(node) }}>{node.text}</div>\n return <ItemView node={node} theme={theme} />\n}\n\n/**\n * `focus` names one node (any id, a table row or a code line included) to single out: it gets a\n * ring and a glow, drawn with box-shadow so the layout — and therefore the fit — never moves. That is\n * what lets every section of a course focus a different node on the same scene without a jump.\n *\n * Fills its parent (give the parent a size) and scales the scene's natural box to fit, centred.\n * The viewport is locked: no wheel or drag handlers, so page scroll passes through and text stays\n * selectable. `data-fit=\"ready\"` marks the first fit after fonts load with edges routed — what a recorder waits on.\n */\nexport function Scene({ scene, theme: key = 'dark', focus }: { scene: SceneModel; theme?: ThemeKey; focus?: string }) {\n const t = THEMES[key]\n const bodies = useMemo(() => edgeBodies(scene), [scene])\n const rowIds = useMemo(() => lateralIds(scene.nodes), [scene])\n\n // An edge naming an id the scene does not have is an authoring error, never a silent skip.\n useEffect(() => {\n const known = new Set<string>(rowIds)\n const walk = (nodes: SceneNode[]): void => nodes.forEach((n) => { known.add(n.id); if (n.type === 'group') walk(n.children) })\n walk(scene.nodes)\n for (const e of scene.edges ?? [])\n for (const id of [e.from, e.to]) if (!known.has(id)) console.error(`graphl-flow: edge ${e.from} → ${e.to} names unknown id \"${id}\"`)\n }, [scene, rowIds])\n const [gaps, setGaps] = useState<Gaps>(() => baseGaps(bodies))\n const [gapsSettled, setGapsSettled] = useState(false)\n const pane = useRef<HTMLDivElement>(null)\n const content = useRef<HTMLDivElement>(null)\n const [sizes, setSizes] = useState<{ pane: Size; content: Size } | null>(null)\n const [fontsReady, setFontsReady] = useState(false)\n const [rects, setRects] = useState<Map<string, Rect> | null>(null)\n\n // offsetWidth/Height are layout sizes, untouched by the transform we apply.\n const measure = () => {\n const p = pane.current, c = content.current\n if (!p || !c) return\n const next = { pane: { w: p.offsetWidth, h: p.offsetHeight }, content: { w: c.offsetWidth, h: c.offsetHeight } }\n setSizes((prev) =>\n prev && prev.pane.w === next.pane.w && prev.pane.h === next.pane.h && prev.content.w === next.content.w && prev.content.h === next.content.h\n ? prev : next)\n }\n useLayoutEffect(measure, [scene, key, gaps])\n\n // Focus is an attribute on whatever element carries the id — a node, a row, a line — so it reaches\n // every addressable thing without each renderer knowing about it. No layout effect.\n useLayoutEffect(() => {\n const c = content.current\n if (!c) return\n c.querySelectorAll('[data-focus]').forEach((e) => e.removeAttribute('data-focus'))\n if (focus) c.querySelector(`[data-id=\"${CSS.escape(focus)}\"]`)?.setAttribute('data-focus', '')\n }, [focus, scene])\n\n // Node boxes in the content's natural coordinates: undo the fit by dividing out its scale.\n // Re-measured whenever the content's size, the fonts or the scene change.\n useLayoutEffect(() => {\n const c = content.current\n if (!c || !sizes) return\n const box = c.getBoundingClientRect()\n const s = box.width / c.offsetWidth || 1\n const next = new Map<string, Rect>()\n for (const el of c.querySelectorAll<HTMLElement>('[data-id]')) {\n const r = el.getBoundingClientRect()\n next.set(el.dataset.id!, { x: (r.left - box.left) / s, y: (r.top - box.top) / s, w: r.width / s, h: r.height / s })\n }\n setRects((prev) => (prev && JSON.stringify([...prev]) === JSON.stringify([...next]) ? prev : next))\n }, [sizes?.content.w, sizes?.content.h, fontsReady, scene, gaps])\n\n // Second pass: widen each labelled edge's body to its label's measured size (offsetWidth/Height\n // are untransformed). Label sizes do not depend on the gaps, so this settles in one more layout.\n useLayoutEffect(() => {\n const c = content.current\n if (!c || !rects) return\n const need = baseGaps(bodies)\n // A channel several edges share needs room for a slot each AND a full head's run at both ends\n // (slotRoom): three arrows into one node through a 32px gap once flipped an arrowhead.\n for (const r of routed) {\n const body = bodies[r.index]?.body\n if (body === undefined || r.slots < 2) continue\n if (r.axis === 'h') need[body].col = Math.max(need[body].col, slotRoom(r.slots))\n else need[body].row = Math.max(need[body].row, slotRoom(r.slots))\n }\n for (const el of c.querySelectorAll<HTMLElement>('.gf-edge-label')) {\n const i = Number(el.dataset.edge), body = bodies[i]?.body, r = routed.find((x) => x.index === i)\n if (body === undefined || !r) continue\n if (r.axis === 'h') need[body].col = Math.max(need[body].col, el.offsetWidth + 2 * LABEL_ROOM)\n else need[body].row = Math.max(need[body].row, el.offsetHeight + 2 * LABEL_ROOM)\n }\n const same = JSON.stringify(need) === JSON.stringify(gaps)\n if (!same) setGaps(need)\n setGapsSettled(same)\n }, [rects, gaps, bodies])\n\n useEffect(() => {\n const ro = new ResizeObserver(measure)\n ro.observe(pane.current!)\n ro.observe(content.current!)\n let live = true\n document.fonts.ready.then(() => { if (live) { measure(); setFontsReady(true) } })\n return () => { live = false; ro.disconnect() }\n }, [])\n\n const fit = sizes && fitTransform(sizes.pane, sizes.content)\n const routed = rects && scene.edges?.length ? routeEdges(scene.edges, rects, bodies.map((b) => b?.sides), rowIds) : []\n const vars = {\n '--gf-bg': t.bg, '--gf-surface': t.surface, '--gf-line': t.line, '--gf-ink': t.ink, '--gf-muted': t.muted, '--gf-edge': t.edge, '--gf-pulse': t.pulse, '--gf-ok': t.tones.store.accent, '--gf-err': t.tones.consume.accent,\n ...Object.fromEntries(Object.entries(t.code).map(([k, v]) => [`--gf-code-${k}`, v])),\n '--gf-accent': t.tones.neutral.accent, '--gf-tint': t.tones.neutral.tint,\n } as CSSProperties\n return (\n <div ref={pane} className=\"gf-scene\" data-theme={key} data-fit={fit && fontsReady && rects && gapsSettled ? 'ready' : 'pending'} style={vars}>\n <div\n ref={content}\n className=\"gf-content\"\n style={fit ? { transform: `translate(${fit.x}px, ${fit.y}px) scale(${fit.scale})` } : { visibility: 'hidden' }}\n >\n {scene.title && <div className=\"gf-scene-title\">{scene.title}</div>}\n {scene.sub && <div className=\"gf-scene-sub\">{scene.sub}</div>}\n <div className=\"gf-body\" style={bodyStyle(scene.dir ?? 'col', scene.nodes, undefined, gaps[''])}>\n {scene.nodes.map((n) => <NodeView key={n.id} node={n} theme={t} gaps={gaps} />)}\n </div>\n {sizes && <Edges routed={routed} size={sizes.content} pulse={scene.pulse !== false} />}\n </div>\n </div>\n )\n}\n"],"names":["EventHubs","size","props","_jsxs","_jsx","StreamAnalyticsJobs","AzureSynapseAnalytics","PowerBIEmbedded","DataFactories","AnalysisServices","AzureDatabricks","VirtualMachine","KubernetesServices","FunctionApps","AzureSQL","AzurePurviewAccounts","AzureCosmosDB","AzureDevOps","AzureServiceBus","LogAnalyticsWorkspaces","Monitor","MicrosoftDefenderForCloud","KeyVaults","StorageAccounts","DataLakeStorageGen1","_extends","a","b","c","d","React","require$$0","ArchitectureServiceAmazonSimpleStorageService","ArchitectureServiceAWSGlue","ArchitectureServiceAmazonRedshift","ArchitectureServiceAmazonAthena","ArchitectureServiceAmazonKinesis","ArchitectureServiceAmazonDataFirehose","ArchitectureServiceAmazonEMR","ArchitectureServiceAWSLambda","ArchitectureServiceAmazonDynamoDB","ArchitectureServiceAmazonRDS","ArchitectureServiceAmazonAurora","ArchitectureServiceAmazonCloudWatch","ArchitectureServiceAWSIdentityandAccessManagement","ArchitectureServiceAmazonManagedStreamingforApacheKafka","ArchitectureServiceAWSLakeFormation","ArchitectureServiceAmazonEC2","ArchitectureServiceAmazonSimpleQueueService","ArchitectureServiceAmazonSimpleNotificationService","ArchitectureServiceAWSStepFunctions","ArchitectureServiceAmazonEventBridge","ArchitectureServiceAWSKeyManagementService","ArchitectureServiceAWSSecretsManager","ArchitectureServiceAmazonElasticKubernetesService","ArchitectureServiceAmazonSageMaker","ArchitectureServiceAmazonAPIGateway","ArchitectureServiceAmazonVirtualPrivateCloud","ArchitectureServiceAWSCloudFormation","ArchitectureServiceAmazonManagedWorkflowsforApacheAirflow","ArchitectureServiceAWSDatabaseMigrationService","ArchitectureServiceAmazonElastiCache","ArchitectureServiceAmazonElasticContainerService","ArchitectureServiceAWSFargate","ArchitectureServiceAmazonElasticContainerRegistry","ArchitectureServiceElasticLoadBalancing","ArchitectureServiceAmazonRoute53","ArchitectureServiceAmazonCloudFront","ArchitectureServiceAWSWAF","ArchitectureServiceAWSCloudTrail","ArchitectureServiceAWSCertificateManager","ArchitectureServiceAWSBackup","ArchitectureServiceAWSOrganizations","ArchitectureServiceAWSSystemsManager","ArchitectureServiceAWSBudgets","ArchitectureServiceAWSCostExplorer","ArchitectureServiceAWSIAMIdentityCenter","ArchitectureServiceAWSXRay","ArchitectureGroupRegion","ArchitectureGroupAWSAccount","ArchitectureGroupPublicsubnet","ArchitectureGroupPrivatesubnet","ArchitectureGroupAutoScalinggroup","ResourceElasticLoadBalancingApplicationLoadBalancer","ResourceAmazonVPCNATGateway","ResourceAmazonVPCInternetGateway","ResourceAmazonVPCEndpoints","ResourceAmazonVPCRouter","ResourceAWSIdentityAccessManagementAWSSTS","ResourceAWSIdentityAccessManagementRole","ResourceAWSIdentityAccessManagementPermissions","ResourceAmazonElasticContainerServiceTask","ResourceAmazonElasticContainerServiceService","ResourceAmazonElasticContainerServiceContainer1","ResourceAmazonSimpleStorageServiceBucket","ResourceAmazonSimpleQueueServiceQueue","ResourceAmazonSimpleQueueServiceMessage","ResourceAmazonSimpleNotificationServiceTopic","ResourceAmazonRoute53HostedZone","t","siAlmalinux","siApacheairflow","siApacheflink","siApachekafka","siApachemaven","siApachespark","siApple","siArchlinux","siDebian","siDocker","siDuckdb","siFedora","siGit","siGithub","siGithubactions","siGnubash","siGooglecloud","siGrafana","siJunit5","siJupyter","siKubernetes","siLetsencrypt","siLinux","siLooker","siMacos","siMongodb","siNginx","siOpenjdk","siPandas","siPostgresql","siPrometheus","siPython","siRedhat","siRockylinux","siSnowflake","siTerraform","siUbuntu","siZsh","GCP","LUCIDE","Activity","Bell","Box","Building2","ChartColumn","ChartPie","ClipboardCheck","Clock","Cloud","Code2","Cpu","CreditCard","Database","Factory","FileText","Filter","Fingerprint","Folder","GitBranch","Globe","HardDrive","KeyRound","Layers","Lock","Network","Package","RadioTower","Search","Server","Settings","ShieldCheck","Table2","Terminal","User","UserCog","Users","Workflow","Zap","Waves","Brain","Boxes","MemoryStick","Archive","BadgeCheck","BrickWall","Gauge","Laptop","Power","ScrollText","Timer","AZURE","DataFactoriesAnalytics","EventHubsAnalytics","AzureSynapseAnalyticsAnalytics","MonitorMonitor","LogAnalyticsWorkspacesManagementGovernance","AzureCosmosDBDatabases","FunctionAppsCompute","KubernetesServicesCompute","StreamAnalyticsJobsAnalytics","AWS","S3","Glue","Redshift","Athena","Kinesis","Firehose","EMR","Lambda","DynamoDB","RDS","Aurora","CloudWatch","IAM","MSK","LakeFormation","EC2","SQS","SNS","StepFunctions","EventBridge","KMS","SecretsManager","EKS","SageMaker","APIGateway","VPC","CloudFormation","MWAA","DMS","ElastiCache","ECS","Fargate","ECR","ELB","Route53","CloudFront","WAF","CloudTrail","ACM","Backup","Organizations","SystemsManager","Budgets","CostExplorer","IdentityCenter","XRay","Region","Account","PublicSubnet","PrivateSubnet","AutoScalingGroup","AWS_RESOURCE","ALB","NATGateway","InternetGateway","VPCEndpoint","Router","STS","IAMRole","IAMPermissions","ECSTask","ECSService","Container","Bucket","Queue","Message","Topic","HostedZone","BRAND","merge","sets","out","set","k","v","map","draw","luminance","hex","i","BRAND_MIN_CONTRAST","brandFill","surface","ink","ICONS","Icon","jsx","g","PULSE_S","HEAD_TRIM","trim","points","start","end","p","pull","pathOf","LABEL_SHIFT","Edges","routed","pulse","uid","useId","arrow","glow","dot","reverse","jsxs","Fragment","r","PLAIN","tableRows","table","rows","firsts","own","tint","theme","tone","TableView","node","style","tagged","width","_a","_","j","KEYWORDS","HCL_KEYWORDS","NGINX_KEYWORDS","NFT_KEYWORDS","COMMENT","SHELL_KEYWORDS","SQL_KEYWORDS","OWN","ADDS","tokenizeIni","src","lead","rest","kv","NO_MEMBER","escape","s","tokenize","lang","isKeyword","word","token","afterDot","plain","afterSlash","statement","text","ws","comment","str","num","anno","joined","_b","cls","dedent","lines","indent","l","codeRows","keep","codeLineIds","foldLabel","n","SHELL_PROMPTS","PSQL_PROMPT","parsePrompt","row","re","m","consoleRows","cols","wraps","prompt","parts","next","phys","q","widths","meta","toks","cut","left","piece","pr","PromptView","ConsoleView","lit","CodeView","kind","Toks","PLOT_W","PLOT_H","COMPACT_W","COMPACT_H","CHAR_W","TICK_GAP","AXIS_LABEL","RAMP","niceStep","span","raw","mag","decimals","step","axis","min","max","ticks","seriesPoints","construction","labelAt","pts","PlotView","clip","X","Y","PW","PH","origin","chars","bottom","top","sx","sy","overhang","at","right","W","H","ax","ay","rampAt","colour","legend","base","x","y","slot","x1","y1","x2","y2","L","tip","back","BY_EXTENSION","iconOf","e","treeRows","entries","depth","prefix","entry","path","treeEntryIds","TreeView","folder","ChevronDown","ChevronRight","ttyRowIds","runs","line","has","spans","col","inverse","bold","last","TtyView","ANCHOR_OUTSET","PORT_INSET","PORT_MIN_GAP","HEAD_LEN","SLOT_GAP","slotRoom","centre","horizontal","f","facesOf","lateral","down","up","gx","gy","placePorts","ends","byFace","key","group","rect","face","len","lo","hi","anchor","routeEdges","edges","rects","sides","channel","edge","sa","sb","id","faces","pairs","from","to","a0","a1","b0","b1","straight","users","shared","list","inLo","inHi","even","fits","mx","my","mid","side","seg","label","FIT_PADDING","MIN_SCALE","MAX_SCALE","fitTransform","pane","content","scale","THEMES","GAP","EDGE_GAP","LABEL_ROOM","bodyStyle","dir","children","gap","edgeBodies","scene","parent","walk","nodes","lateralIdsOf","chain","lca","below","lateralIds","baseGaps","bodies","toneVars","spanStyle","minW","maxW","minH","maxH","ItemView","GroupView","gaps","NodeView","Scene","focus","useMemo","rowIds","useEffect","known","setGaps","useState","gapsSettled","setGapsSettled","useRef","sizes","setSizes","fontsReady","setFontsReady","setRects","measure","prev","useLayoutEffect","box","el","need","body","same","ro","live","fit","vars"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88]}
1
+ {"version":3,"file":"index.js","sources":["../node_modules/@threeveloper/azure-react-icons/dist/components/analytics/00039-icon-service-Event-Hubs.js","../node_modules/@threeveloper/azure-react-icons/dist/components/analytics/00042-icon-service-Stream-Analytics-Jobs.js","../node_modules/@threeveloper/azure-react-icons/dist/components/analytics/00606-icon-service-Azure-Synapse-Analytics.js","../node_modules/@threeveloper/azure-react-icons/dist/components/analytics/03332-icon-service-Power-BI-Embedded.js","../node_modules/@threeveloper/azure-react-icons/dist/components/analytics/10126-icon-service-Data-Factories.js","../node_modules/@threeveloper/azure-react-icons/dist/components/analytics/10148-icon-service-Analysis-Services.js","../node_modules/@threeveloper/azure-react-icons/dist/components/analytics/10787-icon-service-Azure-Databricks.js","../node_modules/@threeveloper/azure-react-icons/dist/components/compute/10021-icon-service-Virtual-Machine.js","../node_modules/@threeveloper/azure-react-icons/dist/components/compute/10023-icon-service-Kubernetes-Services.js","../node_modules/@threeveloper/azure-react-icons/dist/components/compute/10029-icon-service-Function-Apps.js","../node_modules/@threeveloper/azure-react-icons/dist/components/databases/02390-icon-service-Azure-SQL.js","../node_modules/@threeveloper/azure-react-icons/dist/components/databases/02517-icon-service-Azure-Purview-Accounts.js","../node_modules/@threeveloper/azure-react-icons/dist/components/databases/10121-icon-service-Azure-Cosmos-DB.js","../node_modules/@threeveloper/azure-react-icons/dist/components/devops/10261-icon-service-Azure-DevOps.js","../node_modules/@threeveloper/azure-react-icons/dist/components/integration/10836-icon-service-Azure-Service-Bus.js","../node_modules/@threeveloper/azure-react-icons/dist/components/management + governance/00009-icon-service-Log-Analytics-Workspaces.js","../node_modules/@threeveloper/azure-react-icons/dist/components/monitor/00001-icon-service-Monitor.js","../node_modules/@threeveloper/azure-react-icons/dist/components/security/10241-icon-service-Microsoft-Defender-for-Cloud.js","../node_modules/@threeveloper/azure-react-icons/dist/components/security/10245-icon-service-Key-Vaults.js","../node_modules/@threeveloper/azure-react-icons/dist/components/storage/10086-icon-service-Storage-Accounts.js","../node_modules/@threeveloper/azure-react-icons/dist/components/storage/10090-icon-service-Data-Lake-Storage-Gen1.js","../node_modules/aws-react-icons/lib/icons/ArchitectureServiceAmazonSimpleStorageService.js","../node_modules/aws-react-icons/lib/icons/ArchitectureServiceAWSGlue.js","../node_modules/aws-react-icons/lib/icons/ArchitectureServiceAmazonRedshift.js","../node_modules/aws-react-icons/lib/icons/ArchitectureServiceAmazonAthena.js","../node_modules/aws-react-icons/lib/icons/ArchitectureServiceAmazonKinesis.js","../node_modules/aws-react-icons/lib/icons/ArchitectureServiceAmazonDataFirehose.js","../node_modules/aws-react-icons/lib/icons/ArchitectureServiceAmazonEMR.js","../node_modules/aws-react-icons/lib/icons/ArchitectureServiceAWSLambda.js","../node_modules/aws-react-icons/lib/icons/ArchitectureServiceAmazonDynamoDB.js","../node_modules/aws-react-icons/lib/icons/ArchitectureServiceAmazonRDS.js","../node_modules/aws-react-icons/lib/icons/ArchitectureServiceAmazonAurora.js","../node_modules/aws-react-icons/lib/icons/ArchitectureServiceAmazonCloudWatch.js","../node_modules/aws-react-icons/lib/icons/ArchitectureServiceAWSIdentityandAccessManagement.js","../node_modules/aws-react-icons/lib/icons/ArchitectureServiceAmazonManagedStreamingforApacheKafka.js","../node_modules/aws-react-icons/lib/icons/ArchitectureServiceAWSLakeFormation.js","../node_modules/aws-react-icons/lib/icons/ArchitectureServiceAmazonEC2.js","../node_modules/aws-react-icons/lib/icons/ArchitectureServiceAmazonSimpleQueueService.js","../node_modules/aws-react-icons/lib/icons/ArchitectureServiceAmazonSimpleNotificationService.js","../node_modules/aws-react-icons/lib/icons/ArchitectureServiceAWSStepFunctions.js","../node_modules/aws-react-icons/lib/icons/ArchitectureServiceAmazonEventBridge.js","../node_modules/aws-react-icons/lib/icons/ArchitectureServiceAWSKeyManagementService.js","../node_modules/aws-react-icons/lib/icons/ArchitectureServiceAWSSecretsManager.js","../node_modules/aws-react-icons/lib/icons/ArchitectureServiceAmazonElasticKubernetesService.js","../node_modules/aws-react-icons/lib/icons/ArchitectureServiceAmazonSageMaker.js","../node_modules/aws-react-icons/lib/icons/ArchitectureServiceAmazonAPIGateway.js","../node_modules/aws-react-icons/lib/icons/ArchitectureServiceAmazonVirtualPrivateCloud.js","../node_modules/aws-react-icons/lib/icons/ArchitectureServiceAWSCloudFormation.js","../node_modules/aws-react-icons/lib/icons/ArchitectureServiceAmazonManagedWorkflowsforApacheAirflow.js","../node_modules/aws-react-icons/lib/icons/ArchitectureServiceAWSDatabaseMigrationService.js","../node_modules/aws-react-icons/lib/icons/ArchitectureServiceAmazonElastiCache.js","../node_modules/aws-react-icons/lib/icons/ArchitectureServiceAmazonElasticContainerService.js","../node_modules/aws-react-icons/lib/icons/ArchitectureServiceAWSFargate.js","../node_modules/aws-react-icons/lib/icons/ArchitectureServiceAmazonElasticContainerRegistry.js","../node_modules/aws-react-icons/lib/icons/ArchitectureServiceElasticLoadBalancing.js","../node_modules/aws-react-icons/lib/icons/ArchitectureServiceAmazonRoute53.js","../node_modules/aws-react-icons/lib/icons/ArchitectureServiceAmazonCloudFront.js","../node_modules/aws-react-icons/lib/icons/ArchitectureServiceAWSWAF.js","../node_modules/aws-react-icons/lib/icons/ArchitectureServiceAWSCloudTrail.js","../node_modules/aws-react-icons/lib/icons/ArchitectureServiceAWSCertificateManager.js","../node_modules/aws-react-icons/lib/icons/ArchitectureServiceAWSBackup.js","../node_modules/aws-react-icons/lib/icons/ArchitectureServiceAWSOrganizations.js","../node_modules/aws-react-icons/lib/icons/ArchitectureServiceAWSSystemsManager.js","../node_modules/aws-react-icons/lib/icons/ArchitectureServiceAWSBudgets.js","../node_modules/aws-react-icons/lib/icons/ArchitectureServiceAWSCostExplorer.js","../node_modules/aws-react-icons/lib/icons/ArchitectureServiceAWSIAMIdentityCenter.js","../node_modules/aws-react-icons/lib/icons/ArchitectureServiceAWSXRay.js","../node_modules/aws-react-icons/lib/icons/ArchitectureGroupRegion.js","../node_modules/aws-react-icons/lib/icons/ArchitectureGroupAWSAccount.js","../node_modules/aws-react-icons/lib/icons/ArchitectureGroupPublicsubnet.js","../node_modules/aws-react-icons/lib/icons/ArchitectureGroupPrivatesubnet.js","../node_modules/aws-react-icons/lib/icons/ArchitectureGroupAutoScalinggroup.js","../node_modules/aws-react-icons/lib/icons/ResourceElasticLoadBalancingApplicationLoadBalancer.js","../node_modules/aws-react-icons/lib/icons/ResourceAmazonVPCNATGateway.js","../node_modules/aws-react-icons/lib/icons/ResourceAmazonVPCInternetGateway.js","../node_modules/aws-react-icons/lib/icons/ResourceAmazonVPCEndpoints.js","../node_modules/aws-react-icons/lib/icons/ResourceAmazonVPCRouter.js","../node_modules/aws-react-icons/lib/icons/ResourceAWSIdentityAccessManagementAWSSTS.js","../node_modules/aws-react-icons/lib/icons/ResourceAWSIdentityAccessManagementRole.js","../node_modules/aws-react-icons/lib/icons/ResourceAWSIdentityAccessManagementPermissions.js","../node_modules/aws-react-icons/lib/icons/ResourceAmazonElasticContainerServiceTask.js","../node_modules/aws-react-icons/lib/icons/ResourceAmazonElasticContainerServiceService.js","../node_modules/aws-react-icons/lib/icons/ResourceAmazonElasticContainerServiceContainer1.js","../node_modules/aws-react-icons/lib/icons/ResourceAmazonSimpleStorageServiceBucket.js","../node_modules/aws-react-icons/lib/icons/ResourceAmazonSimpleQueueServiceQueue.js","../node_modules/aws-react-icons/lib/icons/ResourceAmazonSimpleQueueServiceMessage.js","../node_modules/aws-react-icons/lib/icons/ResourceAmazonSimpleNotificationServiceTopic.js","../node_modules/aws-react-icons/lib/icons/ResourceAmazonRoute53HostedZone.js","../node_modules/simple-icons/index.mjs","../src/gcp-icons.ts","../src/icons.tsx","../src/Edges.tsx","../src/Table.tsx","../src/highlight.ts","../src/Code.tsx","../src/Plot.tsx","../src/Tree.tsx","../src/Tty.tsx","../src/routing.ts","../src/fit.ts","../src/theme.ts","../src/Scene.tsx"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"// GENERATED by scripts/gen-gcp-icons.mjs from @iconify-json/gcp 1.2.3 — do not edit.\n// Google Cloud Icons © Google LLC, Apache-2.0 (https://www.apache.org/licenses/LICENSE-2.0).\n/** Google Cloud product icons in their own colours: 24×24 SVG bodies, keyed as scenes name them. */\nexport const GCP: Record<string, { title: string; body: string }> = {\n gcs: { title: \"cloud-storage\", body: \"<path fill=\\\"#aecbfa\\\" d=\\\"M2 4h20v7H2z\\\"/><path fill=\\\"#669df6\\\" d=\\\"M20 4h2v7h-2z\\\"/><path fill=\\\"#4285f4\\\" d=\\\"M22 4h-2v7z\\\"/><path fill=\\\"#669df6\\\" d=\\\"M2 4h2v7H2z\\\"/><path fill=\\\"#fff\\\" d=\\\"M6 7h6v1H6z\\\"/><rect width=\\\"3\\\" height=\\\"3\\\" x=\\\"15\\\" y=\\\"6\\\" fill=\\\"#fff\\\" rx=\\\"1.5\\\"/><path fill=\\\"#aecbfa\\\" d=\\\"M2 13h20v7H2z\\\"/><path fill=\\\"#669df6\\\" d=\\\"M20 13h2v7h-2z\\\"/><path fill=\\\"#4285f4\\\" d=\\\"M22 13h-2v7z\\\"/><path fill=\\\"#669df6\\\" d=\\\"M2 13h2v7H2z\\\"/><path fill=\\\"#fff\\\" d=\\\"M6 16h6v1H6z\\\"/><rect width=\\\"3\\\" height=\\\"3\\\" x=\\\"15\\\" y=\\\"15\\\" fill=\\\"#fff\\\" rx=\\\"1.5\\\"/>\" },\n bigquery: { title: \"bigquery\", body: \"<g fill-rule=\\\"evenodd\\\"><path fill=\\\"#aecbfa\\\" d=\\\"M6.73 10.83v2.63a4.9 4.9 0 0 0 1.71 1.74v-4.37Z\\\"/><path fill=\\\"#669df6\\\" d=\\\"M9.89 8.41v7.53A8 8 0 0 0 11 16a8 8 0 0 0 1 0V8.41Z\\\"/><path fill=\\\"#aecbfa\\\" d=\\\"M13.64 11.86v3.29a5 5 0 0 0 1.7-1.82v-1.47Z\\\"/><path fill=\\\"#4285f4\\\" d=\\\"m17.74 16.32l-1.42 1.42a.42.42 0 0 0 0 .6l3.54 3.54a.42.42 0 0 0 .59 0l1.43-1.43a.42.42 0 0 0 0-.59l-3.54-3.54a.42.42 0 0 0-.6 0\\\"/><path fill=\\\"#669df6\\\" d=\\\"M11 2a9 9 0 1 0 9 9a9 9 0 0 0-9-9m0 15.69A6.68 6.68 0 1 1 17.69 11A6.68 6.68 0 0 1 11 17.69\\\"/></g>\" },\n pubsub: { title: \"pubsub\", body: \"<defs><filter id=\\\"SVGrUfD7cuU\\\" width=\\\"14.73\\\" height=\\\"12.76\\\" x=\\\"4.64\\\" y=\\\"4.19\\\" color-interpolation-filters=\\\"sRGB\\\" filterUnits=\\\"userSpaceOnUse\\\"><feFlood flood-color=\\\"#fff\\\" result=\\\"bg\\\"/><feBlend in=\\\"SourceGraphic\\\" in2=\\\"bg\\\"/></filter><mask id=\\\"SVGEBkjVcqQ\\\" width=\\\"14.73\\\" height=\\\"12.76\\\" x=\\\"4.64\\\" y=\\\"4.19\\\" maskUnits=\\\"userSpaceOnUse\\\"><circle cx=\\\"12\\\" cy=\\\"12.23\\\" r=\\\"3.58\\\" filter=\\\"url(#SVGrUfD7cuU)\\\"/></mask></defs><circle cx=\\\"18.97\\\" cy=\\\"8.21\\\" r=\\\"1.72\\\" fill=\\\"#669df6\\\"/><circle cx=\\\"5.03\\\" cy=\\\"8.21\\\" r=\\\"1.72\\\" fill=\\\"#669df6\\\"/><circle cx=\\\"12\\\" cy=\\\"20.28\\\" r=\\\"1.72\\\" fill=\\\"#669df6\\\"/><g fill=\\\"#4285f4\\\" mask=\\\"url(#SVGEBkjVcqQ)\\\"><path d=\\\"m11.646 12.86l.795-1.384l6.995 4.02l-.795 1.384z\\\"/><path d=\\\"m4.633 15.573l6.963-4.02l.795 1.377l-6.963 4.02z\\\"/><path d=\\\"M11.2 4.19h1.59v8.04H11.2z\\\"/></g><circle cx=\\\"12\\\" cy=\\\"12.23\\\" r=\\\"2.78\\\" fill=\\\"#aecbfa\\\"/><circle cx=\\\"5.03\\\" cy=\\\"16.25\\\" r=\\\"2.19\\\" fill=\\\"#aecbfa\\\"/><circle cx=\\\"18.97\\\" cy=\\\"16.25\\\" r=\\\"2.19\\\" fill=\\\"#aecbfa\\\"/><circle cx=\\\"12\\\" cy=\\\"4.19\\\" r=\\\"2.19\\\" fill=\\\"#aecbfa\\\"/>\" },\n dataflow: { title: \"dataflow\", body: \"<path fill=\\\"#669df6\\\" fill-rule=\\\"evenodd\\\" d=\\\"m13.79 5.04l-.27-.94l-1.41-.07l-1.72.96l1.52 1.5l-.02 1.73l1.02.01l.02-1.73l4.24 2.56l-.01 1.07l1.77.03V8.11z\\\"/><path fill=\\\"#aecbfa\\\" fill-rule=\\\"evenodd\\\" d=\\\"M12.11 4.03h-.01l-1.42.35l-.29.61l-5.26 2.93l-.03 2.05l1.78.03l.02-1.07l4.31-2.45l-.02 1.73l.86.01z\\\"/><path fill=\\\"#669df6\\\" fill-rule=\\\"evenodd\\\" d=\\\"M12.11 4.03h-.01L8.69 2l-1.74.95l3.44 2.04zm4.98 11.03l-4.3 2.45l.02-1.72l-1.72-.02l-.02 1.72l.82 2.48l1.42-.12l.29-.85l5.27-2.93l.03-2.09l-1.79-.02z\\\"/><path fill=\\\"#669df6\\\" fill-rule=\\\"evenodd\\\" d=\\\"m11.89 19.97l-3.46 1.94h-.05l-1.66-.99l3.49-1.96z\\\"/><path fill=\\\"#4285f4\\\" fill-rule=\\\"evenodd\\\" d=\\\"m13.79 5.04l3.49-1.96l-1.66-.99h-.05l-3.46 1.94zm-.18 13.97l3.44 2.04l-1.69.95h-.05l-3.42-2.03z\\\"/><path fill=\\\"#aecbfa\\\" fill-rule=\\\"evenodd\\\" d=\\\"m11.89 19.96l-1.68-1l-5.14-3.07v-2h1.76l-.01 1.04l4.25 2.56l.02-1.72l.86.01z\\\"/><circle cx=\\\"18.12\\\" cy=\\\"12.04\\\" r=\\\"1.14\\\" fill=\\\"#aecbfa\\\"/><circle cx=\\\"5.88\\\" cy=\\\"11.88\\\" r=\\\"1.14\\\" fill=\\\"#aecbfa\\\"/><circle cx=\\\"12.06\\\" cy=\\\"9.99\\\" r=\\\"1.14\\\" fill=\\\"#aecbfa\\\"/><circle cx=\\\"11.97\\\" cy=\\\"14\\\" r=\\\"1.14\\\" fill=\\\"#aecbfa\\\"/>\" },\n dataproc: { title: \"dataproc\", body: \"<path fill=\\\"none\\\" d=\\\"M2 2h20v20H2z\\\"/><path fill=\\\"#aecbfa\\\" fill-rule=\\\"evenodd\\\" d=\\\"M17.85 14.2L7.67 20.08l-.98-1.68l10.19-5.89z\\\"/><path fill=\\\"#aecbfa\\\" fill-rule=\\\"evenodd\\\" d=\\\"M7.63 18.16V6.4H9.5v10.35z\\\"/><path fill=\\\"#aecbfa\\\" fill-rule=\\\"evenodd\\\" d=\\\"M9.56 9.69L9.3 7.33l10.19 5.87l-.97 1.68z\\\"/><path fill=\\\"#4285f4\\\" fill-rule=\\\"evenodd\\\" d=\\\"M14.39 10.26L9.3 7.33l.26 2.36l1.51.86a4 4 0 0 0 3.32-.29\\\"/><path fill=\\\"#aecbfa\\\" fill-rule=\\\"evenodd\\\" d=\\\"M8.13 8.29a3.78 3.78 0 1 1 3.27 1.89a3.8 3.8 0 0 1-3.27-1.89M13 5.49a1.84 1.84 0 0 0-1.59-.92A1.83 1.83 0 0 0 9.57 6.4a1.84 1.84 0 1 0 3.67 0a1.8 1.8 0 0 0-.24-.91\\\"/><path fill=\\\"#4285f4\\\" fill-rule=\\\"evenodd\\\" d=\\\"M7.63 12.94v5.22l1.87-1.41v-1.63a3.29 3.29 0 0 0-1.87-2.18m5.7 3.87l4.52-2.61l-2.21-1l-1.25.8a4.23 4.23 0 0 0-1.06 2.86Z\\\"/><path fill=\\\"#aecbfa\\\" fill-rule=\\\"evenodd\\\" d=\\\"M2.51 18.7a3.77 3.77 0 0 1 1.38-5.16a3.72 3.72 0 0 1 2.86-.38a3.78 3.78 0 1 1-4.24 5.54m4.85-2.81A1.8 1.8 0 0 0 6.25 15a1.83 1.83 0 0 0-2.06 2.69a1.83 1.83 0 1 0 3.17-1.84Zm6.97 2.47a3.79 3.79 0 0 1 0-3.77a3.79 3.79 0 0 1 5.16-1.39a3.78 3.78 0 0 1 1.38 5.16a3.78 3.78 0 0 1-6.54 0m4.86-2.81a2 2 0 0 0-.67-.67a1.85 1.85 0 0 0-2.51.68a1.86 1.86 0 0 0 0 1.83a1.83 1.83 0 0 0 2.07.85a1.82 1.82 0 0 0 1.11-.85a1.88 1.88 0 0 0 0-1.84\\\"/><path fill=\\\"#669df6\\\" fill-rule=\\\"evenodd\\\" d=\\\"M9.49 16.15s-2.34 2-2.8 2.25l2.86-1.65a4 4 0 0 0-.06-.6m.66-6.15s-.59-3.28-.59-3.6v3.29a3.5 3.5 0 0 0 .59.27Zm5.15 3.47s2.76 1.15 3.22 1.41l-2.86-1.64a1.7 1.7 0 0 0-.36.23\\\"/>\" },\n composer: { title: \"cloud-composer\", body: \"<path fill=\\\"#aecbfa\\\" d=\\\"M10.03 5.96H4.68V2h14.63v3.94h-5.3v5.33h-3.98z\\\"/><path fill=\\\"#4285f4\\\" d=\\\"M4.68 7.37h3.95v5.3h5.34V22h-3.94v-5.35H4.68zm10.7-.01h3.94V22h-3.94z\\\"/><path fill=\\\"#aecbfa\\\" d=\\\"M8.6 22H4.68v-3.94H8.6z\\\"/>\" },\n cloudkms: { title: \"key-management-service\", body: \"<g fill-rule=\\\"evenodd\\\"><path fill=\\\"#669df6\\\" d=\\\"M11.32 17.06H10v1.4h1.37v.63h1.43v-6.91a3.47 3.47 0 0 0 2.67-3.34a3.42 3.42 0 1 0-4.1 3.36v2.12H9.26v1.4h2.06ZM12 2l8.21 3.42v5.63c0 5.06-3.5 9.8-8.21 11c-4.71-1.15-8.21-5.89-8.21-10.95V5.42Zm0 5a1.88 1.88 0 0 1 .72 3.62A1.88 1.88 0 1 1 12 7\\\"/><path fill=\\\"#4285f4\\\" d=\\\"M12 19.09h.75v-6.91a3.47 3.47 0 0 0 2.67-3.34A3.42 3.42 0 0 0 12 5.42V2l8.21 3.42v5.63c0 5.06-3.5 9.8-8.21 11zM12 7a1.88 1.88 0 0 1 .72 3.62a1.1 1.1 0 0 1-.72.15Z\\\"/></g>\" },\n secretmanager: { title: \"secret-manager\", body: \"<path fill=\\\"#4285f4\\\" d=\\\"M22 6v11.887h-3.962a.19.19 0 0 1-.189-.189v-1.132a.19.19 0 0 1 .189-.189h2.452V7.509h-2.452a.19.19 0 0 1-.189-.188V6.189c0-.105.085-.189.189-.189zM6.31 6c.103 0 .188.084.188.189V7.32a.19.19 0 0 1-.189.188h-2.8v8.868h2.783a.19.19 0 0 1 .19.189v1.132a.19.19 0 0 1-.19.189H2V6zm11.117 3.868v1.456l.06.025l1.351-.478l.28.82l-1.362.465l-.037.098l.937 1.26l-.706.514l-.912-1.26h-.085l-.913 1.26l-.705-.514l.924-1.26l-.024-.098l-1.362-.465l.28-.82l1.337.478l.073-.025V9.868zm-10.231 0v1.442l.06.024l1.351-.473l.28.812l-1.363.46l-.036.097l.937 1.248l-.706.51l-.912-1.249h-.085l-.913 1.248l-.705-.509l.924-1.248l-.024-.097l-1.362-.46l.28-.812l1.337.473l.073-.024V9.868zm5.094 0v1.442l.061.024l1.35-.473l.28.812l-1.362.46l-.037.097l.937 1.248l-.706.51l-.912-1.249h-.085l-.912 1.248l-.706-.509l.925-1.248l-.025-.097l-1.362-.46l.28-.812l1.338.473l.073-.024V9.868z\\\"/>\" },\n gcpiam: { title: \"identity-and-access-management\", body: \"<g fill-rule=\\\"evenodd\\\"><path fill=\\\"#669df6\\\" d=\\\"M12 2L3.79 5.42v5.63c0 5.06 3.5 9.8 8.21 11c4.71-1.15 8.21-5.89 8.21-10.95V5.42Zm0 3.79a2.63 2.63 0 1 1-1.86.77A2.63 2.63 0 0 1 12 5.79m4.11 11.15A8.64 8.64 0 0 1 12 19.87a8.64 8.64 0 0 1-4.11-2.93v-2.25c0-1.67 2.74-2.52 4.11-2.52s4.11.85 4.11 2.52z\\\"/><path fill=\\\"#4285f4\\\" d=\\\"M12 2v3.79a2.63 2.63 0 1 1 0 5.26v1.12c1.37 0 4.11.85 4.11 2.52v2.25A8.64 8.64 0 0 1 12 19.87V22c4.71-1.15 8.21-5.89 8.21-10.95V5.42Z\\\"/></g>\" },\n dataplex: { title: \"dataplex\", body: \"<g fill=\\\"none\\\" fill-rule=\\\"evenodd\\\"><path d=\\\"M0 0h24v24H0z\\\"/><path fill=\\\"#4285f4\\\" d=\\\"M5.588 10.842v4.482l3.153-2.127a3.5 3.5 0 0 0 .956 1.403l-3.254 2.195L11.2 19.72v-4.33a3.5 3.5 0 0 0 1.698-.013v4.34l2.516-1.546l.784 1.331l-4.15 2.436L3.89 17.15v-6.307zm9.71 2.373l2.83 1.908a1.992 1.992 0 1 1-.909 1.435l-2.884-1.945c.427-.376.76-.855.964-1.398Zm3.897 2.793a.797.797 0 1 0 0 1.594a.797.797 0 0 0 0-1.594m-7.172-6.015a1.997 1.997 0 1 1 0 3.995a1.997 1.997 0 0 1 0-3.995m.024-7.93l8.156 4.788v6.338h-1.698V8.66l-3.19 2.152a3.5 3.5 0 0 0-.944-1.41l3.266-2.204l-4.74-2.914v4.322a3.5 3.5 0 0 0-1.698-.012V4.28L8.52 5.928l-.797-1.327zm-7.29 3.14A1.992 1.992 0 0 1 6.736 7.44l2.927 1.974a3.5 3.5 0 0 0-.937 1.416L5.83 8.875a1.992 1.992 0 1 1-1.07-3.672Zm0 1.195a.797.797 0 1 0 0 1.594a.797.797 0 0 0 0-1.594\\\"/></g>\" },\n dlp: { title: \"data-loss-prevention-api\", body: \"<path fill=\\\"#4285f4\\\" d=\\\"M14.86 5.44A5.48 5.48 0 0 0 7.8 6.5a5.3 5.3 0 0 0-1.34 3.6a5.49 5.49 0 0 0 2.41 4.53l-.17.28l-.56.16c-.89 1.56-1.22 2-2.06 3.48l1.48.85c.85-1.5 1.17-1.94 2.05-3.48l-.16-.61l.14-.26a5.49 5.49 0 0 0 5.27-9.61m-1.92 8.3a3.79 3.79 0 1 1 2.66-4.65a3.8 3.8 0 0 1-2.66 4.65\\\"/><path fill=\\\"#669df6\\\" d=\\\"m2.05 8.78l.13-1.07h1.18v.35h-.84v.45a.68.68 0 0 1 .79.11a.78.78 0 0 1 .17.53a.8.8 0 0 1-.09.36a.53.53 0 0 1-.24.25a.65.65 0 0 1-.38.09a.73.73 0 0 1-.36-.08a.66.66 0 0 1-.26-.21a.63.63 0 0 1-.15-.32h.42a.27.27 0 0 0 .09.2a.25.25 0 0 0 .2.07a.23.23 0 0 0 .22-.1a.43.43 0 0 0 .07-.29a.37.37 0 0 0-.09-.27a.33.33 0 0 0-.25-.1a.4.4 0 0 0-.24.08Z\\\"/><path fill=\\\"#aecbfa\\\" d=\\\"M5.45 9.82H5V8.21l-.51.15V8l.88-.31ZM3 12.66h-.41v-1.61l-.5.15v-.34l.91-.31Z\\\"/><path fill=\\\"#669df6\\\" d=\\\"M5.86 11.79a1.13 1.13 0 0 1-.18.67a.74.74 0 0 1-1 0a1 1 0 0 1-.19-.65v-.39a1.06 1.06 0 0 1 .18-.67a.73.73 0 0 1 1 0a1.08 1.08 0 0 1 .19.65Zm-.42-.43a.8.8 0 0 0-.07-.36a.25.25 0 0 0-.23-.12a.24.24 0 0 0-.22.11a.75.75 0 0 0-.07.36v.51a.85.85 0 0 0 .07.39a.23.23 0 0 0 .23.12a.23.23 0 0 0 .22-.12a.8.8 0 0 0 .07-.37Z\\\"/><path fill=\\\"#aecbfa\\\" d=\\\"M19.13 9.74h-.41V8.12l-.51.16v-.34l.88-.32Z\\\"/><path fill=\\\"#669df6\\\" d=\\\"m20.62 8.7l.13-1.07h1.18V8h-.84l-.09.43a.65.65 0 0 1 .31-.08a.63.63 0 0 1 .48.19a.74.74 0 0 1 .17.52a.8.8 0 0 1-.09.37a.6.6 0 0 1-.25.25a.8.8 0 0 1-.38.09a.85.85 0 0 1-.35-.08a.6.6 0 0 1-.26-.22a.6.6 0 0 1-.1-.32H21a.35.35 0 0 0 .1.21a.3.3 0 0 0 .2.07a.26.26 0 0 0 .22-.1a.44.44 0 0 0 .06-.33a.4.4 0 0 0-.09-.28a.34.34 0 0 0-.25-.09a.34.34 0 0 0-.24.07Zm-1.08 3.09a1.13 1.13 0 0 1-.18.67a.74.74 0 0 1-1 0a1 1 0 0 1-.19-.65v-.39a1.06 1.06 0 0 1 .18-.67a.73.73 0 0 1 1 0a1.08 1.08 0 0 1 .19.65Zm-.42-.43a.8.8 0 0 0-.07-.38a.25.25 0 0 0-.23-.12a.24.24 0 0 0-.22.11a.75.75 0 0 0-.07.36v.51a.85.85 0 0 0 .07.39a.23.23 0 0 0 .23.12a.23.23 0 0 0 .22-.12a.9.9 0 0 0 .07-.37Z\\\"/><path fill=\\\"#aecbfa\\\" d=\\\"m20.62 11.62l.13-1.07h1.18v.35h-.84l-.05.45a.65.65 0 0 1 .31-.08a.63.63 0 0 1 .48.19a.78.78 0 0 1 .17.54a.8.8 0 0 1-.09.36a.5.5 0 0 1-.25.25a.7.7 0 0 1-.38.09a.7.7 0 0 1-.35-.08a.6.6 0 0 1-.26-.21a.63.63 0 0 1-.1-.32H21a.32.32 0 0 0 .1.2a.25.25 0 0 0 .2.07a.23.23 0 0 0 .22-.1a.43.43 0 0 0 .08-.29a.37.37 0 0 0-.09-.27a.31.31 0 0 0-.25-.1a.35.35 0 0 0-.24.08Z\\\"/><path fill=\\\"#669df6\\\" d=\\\"M9.73 12.11v-.94a.86.86 0 0 1 .35-.62a2.4 2.4 0 0 1 .83-.43a2.87 2.87 0 0 1 2.42.28a1 1 0 0 1 .27.2a.9.9 0 0 1 .3.75v.76Zm2.08-2.61a1.08 1.08 0 1 1 1.08-1.07a1.09 1.09 0 0 1-1.08 1.07\\\"/>\" },\n cloudlogging: { title: \"cloud-logging\", body: \"<path fill=\\\"#4285f4\\\" d=\\\"M6 11h4v2H6zm-2 7h6v2H4z\\\"/><path fill=\\\"none\\\" d=\\\"M0 0h24v24H0z\\\"/><path fill=\\\"#4285f4\\\" d=\\\"M4 18h2V6H4z\\\"/><path fill=\\\"#669df6\\\" d=\\\"M9 7h13V3H9zm0 7h13v-4H9zm0 7h13v-4H9z\\\"/><path fill=\\\"#aecbfa\\\" d=\\\"M2 8h6V2H2z\\\"/>\" },\n cloudmonitoring: { title: \"cloud-monitoring\", body: \"<path fill=\\\"#669df6\\\" d=\\\"M10.83 15.84h2.33v2.64h-2.33z\\\"/><path fill=\\\"#4285f4\\\" d=\\\"M18.48 13.87a.56.56 0 0 1-.4-.17L14 9.47l-2.74 2.89a.57.57 0 0 1-.76.05l-2.08-1.68l-2.2 2.92a.56.56 0 0 1-.45.22H2v1.71a.75.75 0 0 0 .74.75h18.52a.75.75 0 0 0 .74-.75v-1.71Z\\\"/><path fill=\\\"#669df6\\\" d=\\\"M5.5 12.76L7.88 9.6a.55.55 0 0 1 .37-.22a.63.63 0 0 1 .42.12l2.12 1.72l2.8-2.94a.54.54 0 0 1 .4-.17a.54.54 0 0 1 .4.17l4.33 4.48H22V6a.74.74 0 0 0-.74-.74H2.74A.74.74 0 0 0 2 6v6.81Z\\\"/><rect width=\\\"6.67\\\" height=\\\".61\\\" x=\\\"8.67\\\" y=\\\"18.18\\\" fill=\\\"#4285f4\\\" rx=\\\".3\\\"/>\" },\n cloudbuild: { title: \"cloud-build\", body: \"<path fill=\\\"#4285f4\\\" d=\\\"m12.15 16.24l3.52-2.03v-4.06l-1.18-.69l-3.52 6.1z\\\"/><path fill=\\\"#669df6\\\" d=\\\"M8.63 10.15v4.06l1.18.68l3.53-6.09l-1.19-.69z\\\"/><path fill=\\\"#aecbfa\\\" d=\\\"m11.46 17.45l-4.22-2.44v-4.86L3.49 7.98v9.2l7.97 4.6zm-3.53-8.5l4.22-2.44l4.22 2.44l3.76-2.17l-7.98-4.61l-7.98 4.61zm9.13 6.06l-4.22 2.44v4.33l7.98-4.6v-9.2l-3.76 2.17z\\\"/>\" },\n gcpproject: { title: \"project\", body: \"<path fill=\\\"none\\\" d=\\\"M0 0h24v24H0z\\\"/><path fill=\\\"#85a4e6\\\" fill-rule=\\\"evenodd\\\" d=\\\"M.8 5.9L3.7.8h5.8l2.9 5.1l-2.9 5H3.7z\\\"/><path fill=\\\"#5c85de\\\" fill-rule=\\\"evenodd\\\" d=\\\"M11.4 7.7L8.5 2.6l1-1.9l2.9 5.2z\\\"/><path fill=\\\"#3367d6\\\" fill-rule=\\\"evenodd\\\" d=\\\"M2.7 9.3h5.8l2-3.4l.9 1.8l-1.9 3.2l-5.8.1z\\\"/><path fill=\\\"#85a4e6\\\" fill-rule=\\\"evenodd\\\" d=\\\"m11.2 11.9l3-5.1H20l2.9 5.1l-2.9 5h-5.8z\\\"/><path fill=\\\"#5c85de\\\" fill-rule=\\\"evenodd\\\" d=\\\"M21.9 13.7L19 8.6l1-1.9l2.9 5.2z\\\"/><path fill=\\\"#3367d6\\\" fill-rule=\\\"evenodd\\\" d=\\\"M13.2 15.3H19l2-3.4l.9 1.8l-1.9 3.2l-5.8.1z\\\"/><path fill=\\\"#85a4e6\\\" fill-rule=\\\"evenodd\\\" d=\\\"m.8 17.9l2.9-5.1h5.8l2.9 5.1l-2.9 5H3.7z\\\"/><path fill=\\\"#5c85de\\\" fill-rule=\\\"evenodd\\\" d=\\\"m11.4 19.7l-2.9-5.1l1-1.9l2.9 5.2z\\\"/><path fill=\\\"#3367d6\\\" fill-rule=\\\"evenodd\\\" d=\\\"M2.7 21.3h5.8l2-3.4l.9 1.8l-1.9 3.2l-5.8.1z\\\"/>\" },\n gcpbilling: { title: \"billing\", body: \"<path fill=\\\"none\\\" d=\\\"M0 0h24v24H0z\\\"/><g fill-rule=\\\"evenodd\\\"><path fill=\\\"#85a4e6\\\" d=\\\"M22.5 20.2h-21c-.8 0-1.5-.7-1.5-1.5V5.2c0-.8.7-1.5 1.5-1.5h21c.8 0 1.5.7 1.5 1.5v13.5c0 .9-.7 1.5-1.5 1.5\\\"/><path fill=\\\"#5c85de\\\" d=\\\"M22.5 20.2H12V3.8h10.5c.8 0 1.5.7 1.5 1.5v13.5c0 .8-.7 1.4-1.5 1.4\\\"/><path fill=\\\"#5c85de\\\" d=\\\"M0 6h24v3H0z\\\"/><path fill=\\\"#3367d6\\\" d=\\\"M12 6h12v3H12z\\\"/><path fill=\\\"#fff\\\" d=\\\"M2.2 10.5h19.5v2.2H2.2z\\\"/><path fill=\\\"#5c85de\\\" d=\\\"M2.2 15h4.5v3H2.2z\\\"/><path fill=\\\"#fff\\\" d=\\\"M13.5 15.8H15v1.5h-1.5zm3 0H18v1.5h-1.5zm3 0H21v1.5h-1.5z\\\"/></g>\" },\n}\n","import type { ComponentType, ReactElement } from 'react'\nimport {\n Activity, Bell, Box, Building2, ChartColumn, ChartPie, ClipboardCheck, Clock, Cloud, Code2, Cpu,\n CreditCard, Database, Factory, FileText, Filter, Fingerprint, Folder, GitBranch, Globe, HardDrive,\n KeyRound, Layers, Lock, Monitor, Network, Package, RadioTower, Search, Server, Settings, ShieldCheck,\n Table2, Terminal, User, UserCog, Users, Workflow, Zap, Waves, Brain, Boxes, MemoryStick,\n Archive, BadgeCheck, BrickWall, Gauge, Laptop, Power, ScrollText, Timer, type LucideIcon,\n} from 'lucide-react'\nimport {\n AnalysisServices, AzureCosmosDBDatabases, AzureDatabricks, AzureDevOps, AzurePurviewAccounts, AzureServiceBus,\n AzureSQL, AzureSynapseAnalyticsAnalytics, DataFactoriesAnalytics, DataLakeStorageGen1, EventHubsAnalytics,\n FunctionAppsCompute, KeyVaults, KubernetesServicesCompute, LogAnalyticsWorkspacesManagementGovernance,\n MicrosoftDefenderForCloud, MonitorMonitor, PowerBIEmbedded, StorageAccounts, StreamAnalyticsJobsAnalytics,\n VirtualMachine,\n} from '@threeveloper/azure-react-icons'\nimport S3 from 'aws-react-icons/icons/ArchitectureServiceAmazonSimpleStorageService'\nimport Glue from 'aws-react-icons/icons/ArchitectureServiceAWSGlue'\nimport Redshift from 'aws-react-icons/icons/ArchitectureServiceAmazonRedshift'\nimport Athena from 'aws-react-icons/icons/ArchitectureServiceAmazonAthena'\nimport Kinesis from 'aws-react-icons/icons/ArchitectureServiceAmazonKinesis'\nimport Firehose from 'aws-react-icons/icons/ArchitectureServiceAmazonDataFirehose'\nimport EMR from 'aws-react-icons/icons/ArchitectureServiceAmazonEMR'\nimport Lambda from 'aws-react-icons/icons/ArchitectureServiceAWSLambda'\nimport DynamoDB from 'aws-react-icons/icons/ArchitectureServiceAmazonDynamoDB'\nimport RDS from 'aws-react-icons/icons/ArchitectureServiceAmazonRDS'\nimport Aurora from 'aws-react-icons/icons/ArchitectureServiceAmazonAurora'\nimport CloudWatch from 'aws-react-icons/icons/ArchitectureServiceAmazonCloudWatch'\nimport IAM from 'aws-react-icons/icons/ArchitectureServiceAWSIdentityandAccessManagement'\nimport MSK from 'aws-react-icons/icons/ArchitectureServiceAmazonManagedStreamingforApacheKafka'\nimport LakeFormation from 'aws-react-icons/icons/ArchitectureServiceAWSLakeFormation'\nimport EC2 from 'aws-react-icons/icons/ArchitectureServiceAmazonEC2'\nimport SQS from 'aws-react-icons/icons/ArchitectureServiceAmazonSimpleQueueService'\nimport SNS from 'aws-react-icons/icons/ArchitectureServiceAmazonSimpleNotificationService'\nimport StepFunctions from 'aws-react-icons/icons/ArchitectureServiceAWSStepFunctions'\nimport EventBridge from 'aws-react-icons/icons/ArchitectureServiceAmazonEventBridge'\nimport KMS from 'aws-react-icons/icons/ArchitectureServiceAWSKeyManagementService'\nimport SecretsManager from 'aws-react-icons/icons/ArchitectureServiceAWSSecretsManager'\nimport EKS from 'aws-react-icons/icons/ArchitectureServiceAmazonElasticKubernetesService'\nimport SageMaker from 'aws-react-icons/icons/ArchitectureServiceAmazonSageMaker'\nimport APIGateway from 'aws-react-icons/icons/ArchitectureServiceAmazonAPIGateway'\nimport VPC from 'aws-react-icons/icons/ArchitectureServiceAmazonVirtualPrivateCloud'\nimport CloudFormation from 'aws-react-icons/icons/ArchitectureServiceAWSCloudFormation'\nimport MWAA from 'aws-react-icons/icons/ArchitectureServiceAmazonManagedWorkflowsforApacheAirflow'\nimport DMS from 'aws-react-icons/icons/ArchitectureServiceAWSDatabaseMigrationService'\nimport ElastiCache from 'aws-react-icons/icons/ArchitectureServiceAmazonElastiCache'\nimport ECS from 'aws-react-icons/icons/ArchitectureServiceAmazonElasticContainerService'\nimport Fargate from 'aws-react-icons/icons/ArchitectureServiceAWSFargate'\nimport ECR from 'aws-react-icons/icons/ArchitectureServiceAmazonElasticContainerRegistry'\nimport ELB from 'aws-react-icons/icons/ArchitectureServiceElasticLoadBalancing'\nimport Route53 from 'aws-react-icons/icons/ArchitectureServiceAmazonRoute53'\nimport CloudFront from 'aws-react-icons/icons/ArchitectureServiceAmazonCloudFront'\nimport WAF from 'aws-react-icons/icons/ArchitectureServiceAWSWAF'\nimport CloudTrail from 'aws-react-icons/icons/ArchitectureServiceAWSCloudTrail'\nimport ACM from 'aws-react-icons/icons/ArchitectureServiceAWSCertificateManager'\nimport Backup from 'aws-react-icons/icons/ArchitectureServiceAWSBackup'\nimport Organizations from 'aws-react-icons/icons/ArchitectureServiceAWSOrganizations'\nimport SystemsManager from 'aws-react-icons/icons/ArchitectureServiceAWSSystemsManager'\nimport Budgets from 'aws-react-icons/icons/ArchitectureServiceAWSBudgets'\nimport CostExplorer from 'aws-react-icons/icons/ArchitectureServiceAWSCostExplorer'\nimport IdentityCenter from 'aws-react-icons/icons/ArchitectureServiceAWSIAMIdentityCenter'\nimport XRay from 'aws-react-icons/icons/ArchitectureServiceAWSXRay'\nimport Region from 'aws-react-icons/icons/ArchitectureGroupRegion'\nimport Account from 'aws-react-icons/icons/ArchitectureGroupAWSAccount'\nimport PublicSubnet from 'aws-react-icons/icons/ArchitectureGroupPublicsubnet'\nimport PrivateSubnet from 'aws-react-icons/icons/ArchitectureGroupPrivatesubnet'\nimport AutoScalingGroup from 'aws-react-icons/icons/ArchitectureGroupAutoScalinggroup'\nimport ALB from 'aws-react-icons/icons/ResourceElasticLoadBalancingApplicationLoadBalancer'\nimport NATGateway from 'aws-react-icons/icons/ResourceAmazonVPCNATGateway'\nimport InternetGateway from 'aws-react-icons/icons/ResourceAmazonVPCInternetGateway'\nimport VPCEndpoint from 'aws-react-icons/icons/ResourceAmazonVPCEndpoints'\nimport Router from 'aws-react-icons/icons/ResourceAmazonVPCRouter'\nimport STS from 'aws-react-icons/icons/ResourceAWSIdentityAccessManagementAWSSTS'\nimport IAMRole from 'aws-react-icons/icons/ResourceAWSIdentityAccessManagementRole'\nimport IAMPermissions from 'aws-react-icons/icons/ResourceAWSIdentityAccessManagementPermissions'\nimport ECSTask from 'aws-react-icons/icons/ResourceAmazonElasticContainerServiceTask'\nimport ECSService from 'aws-react-icons/icons/ResourceAmazonElasticContainerServiceService'\nimport Container from 'aws-react-icons/icons/ResourceAmazonElasticContainerServiceContainer1'\nimport Bucket from 'aws-react-icons/icons/ResourceAmazonSimpleStorageServiceBucket'\nimport Queue from 'aws-react-icons/icons/ResourceAmazonSimpleQueueServiceQueue'\nimport Message from 'aws-react-icons/icons/ResourceAmazonSimpleQueueServiceMessage'\nimport Topic from 'aws-react-icons/icons/ResourceAmazonSimpleNotificationServiceTopic'\nimport HostedZone from 'aws-react-icons/icons/ResourceAmazonRoute53HostedZone'\nimport {\n siApacheairflow, siApacheflink, siGooglecloud, siLooker, siApachekafka, siApachemaven, siApachespark, siDocker, siDuckdb, siGit, siGithub,\n siGithubactions, siGrafana, siJunit5, siJupyter, siKubernetes, siMongodb, siOpenjdk, siPandas, siPostgresql,\n siPrometheus, siPython, siSnowflake, siTerraform,\n siAlmalinux, siApple, siArchlinux, siDebian, siFedora, siGnubash, siLetsencrypt, siLinux, siMacos, siNginx,\n siRedhat, siRockylinux, siUbuntu, siZsh,\n} from 'simple-icons'\nimport { GCP } from './gcp-icons'\n\n// Four sets, ONE key space. Every icon is a NAMED (or per-file) import, so the bundle carries only\n// these; add a key when a scene needs it. Keys match @graphlearning/flow's where both exist, so a\n// scene ports without renaming. A key may appear in ONE set only — `ICONS` throws on a duplicate.\n\n/** Generic glyphs, drawn in the node's tone accent. */\nexport const LUCIDE: Record<string, LucideIcon> = {\n activity: Activity, bell: Bell, box: Box, building: Building2, chart: ChartColumn, pie: ChartPie,\n check: ClipboardCheck, clock: Clock, cloud: Cloud, code: Code2, cpu: Cpu, card: CreditCard,\n database: Database, factory: Factory, file: FileText, filter: Filter, fingerprint: Fingerprint,\n folder: Folder, branch: GitBranch, globe: Globe, disk: HardDrive, key: KeyRound, layers: Layers,\n lock: Lock, screen: Monitor, network: Network, package: Package, stream: RadioTower, search: Search,\n server: Server, settings: Settings, shield: ShieldCheck, table: Table2, terminal: Terminal,\n user: User, admin: UserCog, users: Users, workflow: Workflow, zap: Zap, waves: Waves, brain: Brain,\n boxes: Boxes, memory: MemoryStick,\n // A server's life (0.7): no vendor draws these, so they stay generic.\n archive: Archive, cert: BadgeCheck, firewall: BrickWall, gauge: Gauge, laptop: Laptop, power: Power,\n log: ScrollText, timer: Timer,\n}\n\n/** Azure service tiles, in their own colours. The package ships no viewBox; 0 0 18 18 fits all. */\nexport const AZURE: Record<string, ComponentType<{ size?: string; viewBox?: string }>> = {\n datafactory: DataFactoriesAnalytics, eventhubs: EventHubsAnalytics, adls: DataLakeStorageGen1, storage: StorageAccounts,\n databricks: AzureDatabricks, synapse: AzureSynapseAnalyticsAnalytics, analysisservices: AnalysisServices,\n purview: AzurePurviewAccounts, keyvault: KeyVaults, defender: MicrosoftDefenderForCloud, monitor: MonitorMonitor,\n loganalytics: LogAnalyticsWorkspacesManagementGovernance, devops: AzureDevOps, powerbi: PowerBIEmbedded,\n azuresql: AzureSQL, cosmos: AzureCosmosDBDatabases, functions: FunctionAppsCompute, aks: KubernetesServicesCompute,\n streamanalytics: StreamAnalyticsJobsAnalytics, servicebus: AzureServiceBus, vm: VirtualMachine,\n}\n\n/** AWS architecture icons, in their own colours on their own rounded tile. */\nexport const AWS: Record<string, ComponentType<{ size?: number | string }>> = {\n s3: S3, glue: Glue, redshift: Redshift, athena: Athena, kinesis: Kinesis, firehose: Firehose, emr: EMR,\n lambda: Lambda, dynamodb: DynamoDB, rds: RDS, aurora: Aurora, cloudwatch: CloudWatch, iam: IAM, msk: MSK,\n lakeformation: LakeFormation, ec2: EC2, sqs: SQS, sns: SNS, stepfunctions: StepFunctions, eventbridge: EventBridge,\n kms: KMS, secretsmanager: SecretsManager, eks: EKS, sagemaker: SageMaker, apigateway: APIGateway, vpc: VPC,\n cloudformation: CloudFormation, mwaa: MWAA, dms: DMS, elasticache: ElastiCache,\n ecs: ECS, fargate: Fargate, ecr: ECR, elb: ELB, route53: Route53, cloudfront: CloudFront, waf: WAF,\n cloudtrail: CloudTrail, acm: ACM, backup: Backup, organizations: Organizations, ssm: SystemsManager,\n budgets: Budgets, costexplorer: CostExplorer, identitycenter: IdentityCenter, xray: XRay,\n // AWS's GROUP marks: the tile an architecture diagram puts on a Region, account, subnet or group's corner.\n region: Region, account: Account, publicsubnet: PublicSubnet, privatesubnet: PrivateSubnet,\n autoscaling: AutoScalingGroup,\n}\n\n/** AWS RESOURCE icons: a single-colour glyph, no tile — the parts inside a service (a NAT gateway, a\n * task, a queue), drawn smaller-looking than a service on purpose, as AWS's own diagrams do. */\nexport const AWS_RESOURCE: Record<string, ComponentType<{ size?: number | string }>> = {\n alb: ALB, natgateway: NATGateway, igw: InternetGateway, vpcendpoint: VPCEndpoint, router: Router, sts: STS,\n iamrole: IAMRole, permissions: IAMPermissions, ecstask: ECSTask, ecsservice: ECSService, container: Container,\n bucket: Bucket, queue: Queue, message: Message, topic: Topic, hostedzone: HostedZone,\n}\n\n/** Open-source / product marks (simple-icons), in the brand's colour unless it would vanish. */\nexport const BRAND: Record<string, { title: string; hex: string; path: string }> = {\n kafka: siApachekafka, spark: siApachespark, airflow: siApacheairflow, flink: siApacheflink, snowflakedb: siSnowflake,\n python: siPython, pandas: siPandas, jupyter: siJupyter, duckdb: siDuckdb, postgresql: siPostgresql, mongodb: siMongodb,\n docker: siDocker, kubernetes: siKubernetes, terraform: siTerraform, git: siGit, github: siGithub,\n githubactions: siGithubactions, grafana: siGrafana, prometheus: siPrometheus,\n // simple-icons ships no Java mark (the trademark is Oracle's); OpenJDK's is the one it has, and\n // it is what a Java scene means. Both it and Maven are near-black/deep-red — see brandFill.\n java: siOpenjdk, maven: siApachemaven, junit: siJunit5,\n // Linux (0.7): the kernel's Tux, the two families and their members, macOS, the shells, the web\n // server and the CA. simple-icons has no OpenSSH or systemd mark: those scenes use `key`/`settings`.\n linux: siLinux, debian: siDebian, ubuntu: siUbuntu, redhat: siRedhat, fedora: siFedora, rocky: siRockylinux,\n almalinux: siAlmalinux, arch: siArchlinux, apple: siApple, macos: siMacos, bash: siGnubash, zsh: siZsh,\n nginx: siNginx, letsencrypt: siLetsencrypt,\n // Google Cloud's own mark (for a project's or region's corner) and Looker, which the GCP set lacks.\n gcp: siGooglecloud, looker: siLooker,\n}\n\nexport { GCP }\n\n/** `size` is a CSS length — in em, so an icon scales WITH its text and the ratio stays designed. */\ntype Draw = (size: string, surface: string, ink: string) => ReactElement\n\nfunction merge(...sets: Record<string, Draw>[]): Record<string, Draw> {\n const out: Record<string, Draw> = {}\n for (const set of sets)\n for (const [k, v] of Object.entries(set)) {\n if (k in out) throw new Error(`graphl-flow: icon key \"${k}\" is defined in two icon sets`)\n out[k] = v\n }\n return out\n}\n\nconst map = <T,>(set: Record<string, T>, draw: (v: T) => Draw) => Object.fromEntries(Object.entries(set).map(([k, v]) => [k, draw(v)]))\n\nconst luminance = (hex: string) => {\n const c = [1, 3, 5].map((i) => parseInt(hex.slice(i, i + 2), 16) / 255).map((v) => (v <= 0.04045 ? v / 12.92 : ((v + 0.055) / 1.055) ** 2.4))\n return 0.2126 * c[0] + 0.7152 * c[1] + 0.0722 * c[2]\n}\n\n/** A brand mark under this contrast against the surface draws in ink (Kafka's black on dark). */\nexport const BRAND_MIN_CONTRAST = 2.2\n\nfunction brandFill(hex: string, surface: string, ink: string) {\n const a = luminance(`#${hex}`), b = luminance(surface)\n return (Math.max(a, b) + 0.05) / (Math.min(a, b) + 0.05) < BRAND_MIN_CONTRAST ? ink : `#${hex}`\n}\n\nexport const ICONS: Record<string, Draw> = merge(\n map(LUCIDE, (Icon) => (size) => <Icon className=\"gf-icon\" size={size} strokeWidth={1.75} aria-hidden />),\n map(AZURE, (Icon) => (size) => <span className=\"gf-icon gf-vendor\"><Icon size={size} viewBox=\"0 0 18 18\" /></span>),\n map(AWS, (Icon) => (size) => <span className=\"gf-icon gf-vendor gf-aws\"><Icon size={size} /></span>),\n map(AWS_RESOURCE, (Icon) => (size) => <span className=\"gf-icon gf-vendor\"><Icon size={size} /></span>),\n // Google Cloud bodies are generated from Google's own icon set (scripts/gen-gcp-icons.mjs): trusted, static.\n map(GCP, (g) => (size) => (\n <svg className=\"gf-icon\" width={size} height={size} viewBox=\"0 0 24 24\" role=\"img\" aria-label={g.title}\n dangerouslySetInnerHTML={{ __html: g.body }} />\n )),\n map(BRAND, (b) => (size, surface, ink) => (\n <svg className=\"gf-icon\" width={size} height={size} viewBox=\"0 0 24 24\" role=\"img\" aria-label={b.title}>\n <path d={b.path} fill={brandFill(b.hex, surface, ink)} />\n </svg>\n )),\n)\n","import { useId } from 'react'\nimport type { Routed } from './routing'\nimport type { Size } from './fit'\n\n/**\n * The pulse period, in seconds. A RECORDER CONTRACT: ui-shell's record-course.mjs / record-reels.mjs\n * loop every video on PULSE_S = 2.4. Change it here alone and every loop join in every recorded video\n * shows a jump. Same value, same linear motion as @graphlearning/flow's FlowEdge.\n */\nexport const PULSE_S = 2.4\n\n/**\n * The shaft stops HEAD_TRIM short of a headed end, inside the head, and the marker's ref point moves\n * back by the same amount so the TIP still lands on the endpoint. Without it the 2px stroke poked out\n * past the tip — near its point the triangle is narrower than the line (visible at 4K on every arrow).\n */\nconst HEAD_TRIM = 6\n\ntype P = { x: number; y: number }\nfunction trim(points: P[], start: boolean, end: boolean): P[] {\n const out = points.map((p) => ({ ...p }))\n // Never past the run's other end: a trim longer than the run reverses the shaft, and the marker\n // (orient auto) follows it — the head flips. The router keeps runs ≥ HEAD_LEN; this is the guard.\n const pull = (a: P, b: P) => {\n const d = Math.hypot(b.x - a.x, b.y - a.y)\n if (d < 1) return\n const k = Math.min(HEAD_TRIM, d - 0.5) / d\n a.x += (b.x - a.x) * k; a.y += (b.y - a.y) * k\n }\n if (end) pull(out[out.length - 1], out[out.length - 2])\n if (start) pull(out[0], out[1])\n return out\n}\nconst pathOf = (points: P[]) => `M ${points.map((p) => `${p.x},${p.y}`).join(' L ')}`\n\nconst LABEL_SHIFT = {\n on: { h: 'translate(-50%, -50%)', v: 'translate(-50%, -50%)' },\n before: { h: 'translate(-50%, calc(-100% - 3px))', v: 'translate(calc(-100% - 3px), -50%)' },\n after: { h: 'translate(-50%, 3px)', v: 'translate(3px, -50%)' },\n}\n\n/** Draws routed edges over the content, in the content's own (unscaled) coordinates. */\nexport function Edges({ routed, size, pulse }: { routed: Routed[]; size: Size; pulse: boolean }) {\n const uid = useId().replace(/[^\\w-]/g, '')\n const arrow = `gf-arrow-${uid}`, glow = `gf-glow-${uid}`\n // A dot travelling the path once per PULSE_S; `reverse` runs it from `to` back to `from`.\n const dot = (d: string, reverse: boolean) => (\n <circle r={4.5} className=\"gf-pulse\" filter={`url(#${glow})`}>\n <animateMotion dur={`${PULSE_S}s`} repeatCount=\"indefinite\" path={d} calcMode=\"linear\" {...(reverse && { keyPoints: '1;0', keyTimes: '0;1' })} />\n </circle>\n )\n return (\n <>\n <svg className=\"gf-edges\" width={size.w} height={size.h} aria-hidden>\n <defs>\n {/* auto-start-reverse: the same head serves the far end of a bidirectional edge. */}\n <marker id={arrow} viewBox=\"0 0 10 10\" refX={10 - HEAD_TRIM} refY=\"5\" markerWidth=\"10\" markerHeight=\"10\" markerUnits=\"userSpaceOnUse\" orient=\"auto-start-reverse\">\n <path d=\"M0,0 L10,5 L0,10 z\" className=\"gf-arrowhead\" />\n </marker>\n <filter id={glow} x=\"-100%\" y=\"-100%\" width=\"300%\" height=\"300%\">\n <feGaussianBlur stdDeviation=\"2.5\" result=\"b\" />\n <feMerge><feMergeNode in=\"b\" /><feMergeNode in=\"SourceGraphic\" /></feMerge>\n </filter>\n </defs>\n {routed.map((r, i) => {\n // `d` is the full route (pulses travel it); the stroke is trimmed at its headed ends.\n const d = pathOf(r.points)\n return (\n <g key={i}>\n <path\n className=\"gf-edge\"\n data-from={r.edge.from}\n data-to={r.edge.to}\n data-edge={r.index}\n data-route={d}\n d={pathOf(trim(r.points, !!r.edge.bidirectional, true))}\n strokeDasharray={r.edge.dashed ? '6 5' : undefined}\n markerEnd={`url(#${arrow})`}\n markerStart={r.edge.bidirectional ? `url(#${arrow})` : undefined}\n />\n {pulse && dot(d, false)}\n {pulse && r.edge.bidirectional && dot(d, true)}\n </g>\n )\n })}\n </svg>\n {routed.map((r, i) =>\n r.edge.label ? (\n <div\n key={i}\n className=\"gf-edge-label\"\n data-edge={r.index}\n style={{ left: r.label.x, top: r.label.y, transform: LABEL_SHIFT[r.label.side][r.label.seg] }}\n >\n {r.edge.label}\n </div>\n ) : null,\n )}\n </>\n )\n}\n","import type { CSSProperties } from 'react'\nimport type { Theme } from './theme'\nimport type { Table, TableRow, Tone } from './types'\n\nconst PLAIN = /^[\\w$-]+$/\n\n/**\n * Normalised rows with their ADDRESS: explicit `id`, else the first cell when it is a plain word\n * and unique in the table. Shared by the renderer (data-id) and the edge planner (parent links),\n * so the two cannot disagree about which rows exist.\n */\nexport function tableRows(table: Table): (TableRow & { address?: string })[] {\n const rows = table.rows.map((r) => (Array.isArray(r) ? { cells: r } : r))\n const firsts = rows.map((r) => String(r.cells[0] ?? ''))\n return rows.map((r, i) => {\n const own = r.id ?? (PLAIN.test(firsts[i]) && firsts.indexOf(firsts[i]) === firsts.lastIndexOf(firsts[i]) ? firsts[i] : undefined)\n return { ...r, address: own && `${table.id}.${own}` }\n })\n}\n\nconst tint = (theme: Theme, tone?: Tone): CSSProperties | undefined =>\n tone && ({ '--gf-accent': theme.tones[tone].accent, '--gf-tint': theme.tones[tone].tint } as CSSProperties)\n\nexport function TableView({ node, theme, style }: { node: Table; theme: Theme; style?: CSSProperties }) {\n const rows = tableRows(node)\n const tagged = rows.some((r) => r.tag)\n const width = Math.max(node.columns?.length ?? 0, ...rows.map((r) => r.cells.length))\n return (\n <div className=\"gf-table\" data-id={node.id} style={style}>\n {node.title && <div className=\"gf-table-title\">{node.title}</div>}\n <table>\n {node.columns && (\n <thead>\n <tr>\n {tagged && <th aria-hidden />}\n {node.columns.map((c, i) => <th key={i}>{c}</th>)}\n </tr>\n </thead>\n )}\n <tbody>\n {rows.map((r, i) => (\n <tr key={i} data-id={r.address} data-tone={r.tone} style={tint(theme, r.tone)}>\n {tagged && <td className=\"gf-tag-cell\">{r.tag && <span className=\"gf-tag\">{r.tag}</span>}</td>}\n {Array.from({ length: width }, (_, j) => <td key={j}>{r.cells[j] ?? ''}</td>)}\n </tr>\n ))}\n </tbody>\n </table>\n </div>\n )\n}\n","// A tokenizer, not a parser: one regex and a keyword set, ported from @graphlearning/flow's\n// codeHighlight. Small on purpose — slides show short excerpts, and every language shares the\n// same seven colours. The comment marker is the only per-language rule.\n\nexport type TokClass = 'var' | 'method' | 'keyword' | 'string' | 'number' | 'punct' | 'ws' | 'comment'\nexport interface Tok { cls: TokClass; text: string }\nexport type Lang = 'python' | 'sql' | 'scala' | 'java' | 'js' | 'ts' | 'shell' | 'hcl' | 'ini' | 'nginx' | 'nft' | 'text'\n\nconst KEYWORDS = new Set([\n 'import', 'from', 'def', 'return', 'lambda', 'class', 'val', 'var', 'new', 'if', 'else', 'for',\n 'in', 'as', 'and', 'or', 'not', 'null', 'true', 'false', 'is',\n 'select', 'where', 'group', 'by', 'join', 'inner', 'left', 'right', 'full', 'outer', 'cross',\n 'on', 'using', 'having', 'order', 'asc', 'desc', 'limit', 'offset', 'distinct', 'with', 'recursive',\n 'union', 'intersect', 'except', 'all', 'insert', 'into', 'values', 'update', 'set', 'delete',\n 'over', 'partition', 'between', 'like', 'exists', 'case', 'when', 'then', 'end', 'count', 'sum', 'avg', 'min', 'max',\n 'while', 'elif', 'try', 'raise', 'finally', 'pass', 'break', 'continue', 'yield', 'async', 'await', 'assert', 'del',\n 'global', 'nonlocal', 'none', 'match',\n 'const', 'let', 'function', 'export', 'default', 'interface', 'type', 'extends', 'implements', 'public',\n 'private', 'static', 'void', 'object', 'trait', 'def', 'catch', 'throw', 'this', 'super', 'undefined',\n // Java's own, the primitive types included — `int x` read as two plain names without them.\n 'abstract', 'boolean', 'byte', 'char', 'do', 'double', 'enum', 'final', 'float', 'goto', 'instanceof',\n 'int', 'long', 'native', 'package', 'permits', 'protected', 'record', 'sealed', 'short', 'strictfp',\n 'switch', 'synchronized', 'throws', 'transient', 'volatile',\n])\n\n// Terraform's block types and meta-arguments, as keywords in HCL ONLY: `data`, `output` and `module`\n// are everyday names in Python, and the shared set above would recolour every Python scene.\nconst HCL_KEYWORDS = new Set([\n 'terraform', 'provider', 'resource', 'data', 'variable', 'output', 'locals', 'module', 'backend',\n 'required_providers', 'moved', 'import', 'removed', 'check', 'lifecycle', 'dynamic', 'for_each', 'count',\n 'depends_on', 'each', 'var', 'local',\n])\n\n// nginx's directives and blocks (0.7), keywords in `lang: 'nginx'` ONLY — `root`, `index`, `user` and\n// `include` are names everywhere else. A value word (`on`, `off`, a path) stays plain.\nconst NGINX_KEYWORDS = new Set([\n 'http', 'server', 'location', 'events', 'upstream', 'listen', 'server_name', 'root', 'index', 'try_files',\n 'return', 'rewrite', 'include', 'user', 'worker_processes', 'worker_connections', 'pid', 'error_log',\n 'access_log', 'sendfile', 'keepalive_timeout', 'gzip', 'ssl_certificate', 'ssl_certificate_key',\n 'ssl_protocols', 'ssl_ciphers', 'proxy_pass', 'proxy_set_header', 'add_header', 'default_type', 'types',\n 'client_max_body_size', 'autoindex', 'alias', 'expires', 'default_server', 'ssl', 'http2', 'deny', 'allow',\n])\n\n// nftables' grammar words (0.7), in `lang: 'nft'` ONLY.\nconst NFT_KEYWORDS = new Set([\n 'table', 'chain', 'type', 'hook', 'priority', 'policy', 'accept', 'drop', 'reject', 'counter', 'ct',\n 'state', 'established', 'related', 'invalid', 'new', 'iif', 'oif', 'iifname', 'oifname', 'tcp', 'udp',\n 'dport', 'sport', 'ip', 'ip6', 'saddr', 'daddr', 'inet', 'filter', 'input', 'output', 'forward', 'nat',\n 'masquerade', 'flush', 'ruleset', 'add', 'rule', 'set', 'elements', 'icmp', 'icmpv6', 'meta', 'l4proto',\n 'log', 'prefix', 'limit', 'rate', 'jump', 'goto', 'return', 'define',\n])\n\nconst COMMENT: Record<Lang, string> = {\n python: '#', shell: '#', hcl: '#', ini: '#', nginx: '#', nft: '#', sql: '--', scala: '//', java: '//', js: '//', ts: '//', text: '\\u0000',\n}\n\n// Bash's reserved words (0.7). Before it, shell took the SHARED set, so `/var/www` drew `var` as a\n// JavaScript keyword and `in`/`set`/`select` lit up inside paths and arguments.\nconst SHELL_KEYWORDS = new Set([\n 'if', 'then', 'else', 'elif', 'fi', 'for', 'while', 'until', 'do', 'done', 'case', 'esac', 'in',\n 'function', 'select', 'time', 'return', 'local', 'export', 'readonly',\n])\n\n// SQL's DDL, transaction and PostgreSQL words (0.8), on top of the shared set in `lang: 'sql'` ONLY —\n// `table`, `key`, `text`, `begin` and `index` are everyday names elsewhere. Matched case-blind.\nconst SQL_KEYWORDS = new Set([\n 'create', 'table', 'primary', 'key', 'foreign', 'references', 'unique', 'check', 'constraint', 'default',\n 'drop', 'alter', 'add', 'column', 'rename', 'index', 'view', 'materialized', 'schema', 'truncate',\n 'cascade', 'restrict', 'returning', 'begin', 'commit', 'rollback', 'savepoint', 'release', 'transaction',\n 'isolation', 'level', 'serializable', 'repeatable', 'read', 'committed', 'grant', 'revoke', 'role', 'to',\n 'merge', 'matched', 'conflict', 'do', 'nothing', 'lateral', 'window', 'rows', 'range', 'preceding',\n 'following', 'current', 'row', 'unbounded', 'filter', 'explain', 'analyze', 'vacuum', 'copy',\n 'generated', 'always', 'identity', 'numeric', 'text', 'bigint', 'smallint', 'integer', 'date',\n 'timestamptz', 'timestamp', 'varchar', 'serial', 'policy', 'trigger', 'lock', 'nulls', 'first', 'last',\n 'interval', 'cast', 'only', 'if', 'of', 'execute', 'prepare', 'for', 'share', 'nowait', 'skip', 'locked',\n])\n\nconst OWN: Partial<Record<Lang, Set<string>>> = { hcl: HCL_KEYWORDS, shell: SHELL_KEYWORDS, nginx: NGINX_KEYWORDS, nft: NFT_KEYWORDS, sql: SQL_KEYWORDS }\n// Languages whose own words ADD to the shared set rather than replace it.\nconst ADDS = new Set<Lang>(['hcl', 'sql'])\n\n/**\n * An ini file — a systemd unit, a `.conf` — is LINE-shaped, so it has its own rule instead of the\n * token regex: `[Section]` is a keyword, `Key=` a method (the setting), the value plain, and a line\n * starting with `#` or `;` a comment. The shared keyword set never applies (`After=` is not SQL).\n */\nfunction tokenizeIni(src: string): Tok[] {\n const lead = src.match(/^\\s*/)![0]\n const rest = src.slice(lead.length)\n const out: Tok[] = lead ? [{ cls: 'ws', text: lead }] : []\n if (rest.startsWith('#') || rest.startsWith(';')) return [...out, { cls: 'comment', text: rest }]\n if (rest.startsWith('[')) return [...out, { cls: 'keyword', text: rest }]\n const kv = rest.match(/^([\\w.@-]+)(\\s*=\\s*)([\\s\\S]*)$/)\n if (!kv) return [...out, { cls: 'var', text: rest }]\n out.push({ cls: 'method', text: kv[1] }, { cls: 'punct', text: kv[2] })\n if (kv[3]) out.push({ cls: 'var', text: kv[3] })\n return out\n}\n\n// Where a dot is a file extension or an address (`job.py`, `ana.example`), not a member access; and\n// where `@` is part of an address (`ana@web-01`), not an annotation; and where a word after `/` is a\n// path segment (`/var/www`), never a keyword.\nconst NO_MEMBER = new Set<Lang>(['shell', 'nginx', 'nft'])\n\nconst escape = (s: string) => s.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\$&')\n\nexport function tokenize(src: string, lang: Lang): Tok[] {\n if (lang === 'text') return [{ cls: 'var', text: src }]\n if (lang === 'ini') return tokenizeIni(src)\n const own = OWN[lang]\n // A config file's own words replace the shared set: `index` and `set` are not SQL there.\n const isKeyword = (word: string) => own && !ADDS.has(lang) ? own.has(word)\n : KEYWORDS.has(word.toLowerCase()) || !!own?.has(lang === 'sql' ? word.toLowerCase() : word)\n // A number carries its suffix and separators (`10L`, `1_000_000`, `3.14f`); an `@Name` is one\n // token — a Java annotation or a Python decorator, both drawn as keywords (not in NO_MEMBER languages).\n const token = new RegExp(`(\\\\s+)|(${escape(COMMENT[lang])}[^\\\\n]*)|('[^']*'?|\"[^\"]*\"?)|(\\\\d[\\\\w.]*)|(@[A-Za-z_]\\\\w*)|([A-Za-z_]\\\\w*)|(\\\\.\\\\.\\\\.|[\\\\s\\\\S])`, 'g')\n const out: Tok[] = []\n let afterDot = false\n const plain = NO_MEMBER.has(lang)\n let afterSlash = false\n // nginx: only a statement's FIRST word is a directive (`index index.html` — the second is a value).\n let statement = true\n for (const [text, ws, comment, str, num, anno, word] of src.matchAll(token)) {\n // `web-01`: in shell, digits joined to a name by `-` are part of the name, not a number.\n const joined = plain && num && out.at(-1)?.text === '-' && out.at(-2)?.cls === 'var'\n const cls: TokClass = ws ? 'ws' : comment ? 'comment' : str ? 'string' : num ? (joined ? 'var' : 'number')\n : anno ? (plain ? 'var' : 'keyword')\n : word ? (afterDot ? 'method' : !(plain && afterSlash) && (lang !== 'nginx' || statement) && isKeyword(word) ? 'keyword' : 'var') : 'punct'\n afterSlash = cls === 'punct' && text === '/'\n if (cls !== 'ws' && cls !== 'comment') statement = cls === 'punct' && (text === ';' || text === '{' || text === '}')\n out.push({ cls, text })\n if (cls !== 'ws') afterDot = !NO_MEMBER.has(lang) && cls === 'punct' && text === '.'\n }\n return out\n}\n\n/**\n * Drop the template literal's first line break, trailing blank lines and the common indent, so scenes\n * can use indented template literals. Only ONE leading blank line goes (0.8): a timeline pane's\n * transcript can START with blank rows — padding that aligns it with the other session — and\n * stripping them all shifted the whole pane up.\n */\nexport function dedent(src: string): string[] {\n const lines = src.replace(/^[^\\S\\n]*\\n/, '').replace(/\\n\\s*$/, '').split('\\n')\n const indent = Math.min(...lines.filter((l) => l.trim()).map((l) => l.match(/^ */)![0].length))\n return lines.map((l) => l.slice(Number.isFinite(indent) ? indent : 0))\n}\n","import type { CSSProperties } from 'react'\nimport { dedent, tokenize, type Tok } from './highlight'\nimport type { Code } from './types'\n\ntype Row = { n: number; text: string } | { fold: number }\n\n/**\n * The lines a `code` node draws: every line, or only the `show` ranges with each skipped run\n * folded into one `··· N lines` row — a terminal too (0.6: a long Terraform plan keeps its command,\n * its resource line and its summary). Line numbers are the FILE's. Shared with the edge planner via\n * `codeLineIds`, so a line edges can address is a line that is drawn.\n */\nexport function codeRows(node: Code): Row[] {\n const lines = dedent(node.code)\n if (!node.show?.length || node.output) return lines.map((text, i) => ({ n: i + 1, text }))\n const keep = new Set(node.show.flatMap(([a, b]) => Array.from({ length: b - a + 1 }, (_, i) => a + i)))\n const rows: Row[] = []\n lines.forEach((text, i) => {\n if (keep.has(i + 1)) rows.push({ n: i + 1, text })\n else if (rows.length && 'fold' in rows[rows.length - 1]) (rows[rows.length - 1] as { fold: number }).fold++\n else rows.push({ fold: 1 })\n })\n return rows\n}\n\nexport const codeLineIds = (node: Code): string[] => codeRows(node).flatMap((r) => ('n' in r ? [`${node.id}.L${r.n}`] : []))\n\n// U+00B7, not ⋯: a fallback-font glyph would change the advance next to Plex Mono.\nconst foldLabel = (n: number) => `··· ${n} line${n === 1 ? '' : 's'}`\n\n/**\n * A prompt: a shell's, as the three shells the course meets draw it (`sigil` is `$`/`%`, or `#` for\n * root), or psql's (0.8) default `%/%R%x%# ` — the database, the input state (`=` a new statement,\n * `-` a continued one, `(` `'` `\"` inside brackets or quotes), the transaction state (`*` open, `!`\n * failed, `?` unknown) and `>`, or `#` for a superuser.\n */\nexport type Prompt =\n | { style: 'debian' | 'redhat' | 'zsh'; user: string; host: string; cwd: string; sigil: string; cmd: string }\n | { style: 'psql'; db: string; mode: string; tx: string; sigil: string; cmd: string }\n\nconst SHELL_PROMPTS: ['debian' | 'redhat' | 'zsh', RegExp][] = [\n ['debian', /^([\\w.-]+)@([\\w.-]+):(\\S*?)([$#])(?: (.*))?$/],\n ['redhat', /^\\[([\\w.-]+)@([\\w.-]+) ([^\\]]*)\\]([$#])(?: (.*))?$/],\n ['zsh', /^([\\w.-]+)@([\\w.-]+) (\\S+) ([%#])(?: (.*))?$/],\n]\nconst PSQL_PROMPT = /^([A-Za-z_][\\w$]*)([=\\-('\"])([*!?]?)([>#])(?: (.*))?$/\n\nexport function parsePrompt(row: string): Prompt | null {\n for (const [style, re] of SHELL_PROMPTS) {\n const m = row.match(re)\n if (m) return { style, user: m[1], host: m[2], cwd: m[3], sigil: m[4], cmd: m[5] ?? '' }\n }\n const m = row.match(PSQL_PROMPT)\n return m ? { style: 'psql', db: m[1], mode: m[2], tx: m[3], sigil: m[4], cmd: m[5] ?? '' } : null\n}\n\ntype ConsoleRow =\n | { n: number; kind: 'cmd'; prompt: Prompt; toks: Tok[] }\n | { n: number; kind: 'cont'; toks: Tok[] }\n | { n: number; kind: 'out'; text: string }\n\n/**\n * Classify a transcript's rows. A prompt row is a command; a command row exactly `cols` wide wrapped,\n * so the rows after it continue the command until one is shorter. psql (0.8) draws a prompt on every\n * line of a statement, so a psql command also takes the continuation-prompt rows after it (`-`, `(`,\n * `'`, `\"`) as further LINES. The command is tokenized WHOLE — lines joined by `\\n` — and its tokens\n * cut back into rows, so a string crossing a wrap or a line keeps its colour. A shell command is\n * `shell`, a psql one `sql`.\n */\nexport function consoleRows(lines: string[], cols: number): Map<number, ConsoleRow> {\n const out = new Map<number, ConsoleRow>()\n // A row exactly `cols` wide wrapped into the next — unless the next is a prompt of its own.\n const wraps = (r: number) => lines[r].length === cols && r + 1 < lines.length && !parsePrompt(lines[r + 1])\n for (let i = 0; i < lines.length; i++) {\n const prompt = parsePrompt(lines[i])\n if (!prompt) { out.set(i + 1, { n: i + 1, kind: 'out', text: lines[i] }); continue }\n // Each line: its prompt and its physical rows (the prompt row, then the rows it wrapped into).\n const parts: { prompt: Prompt; rows: number[] }[] = []\n let r = i, p: Prompt | null = prompt\n while (p) {\n const rows = [r]\n while (wraps(rows[rows.length - 1])) rows.push(rows[rows.length - 1] + 1)\n parts.push({ prompt: p, rows })\n r = rows[rows.length - 1] + 1\n const next = prompt.style === 'psql' && r < lines.length ? parsePrompt(lines[r]) : null\n p = next?.style === 'psql' && next.mode !== '=' ? next : null\n }\n const phys = parts.flatMap(({ prompt: q, rows }) => rows.map((row, k) => ({ row, prompt: k === 0 ? q : null })))\n const widths = phys.map(({ row, prompt: q }) => (q ? q.cmd.length : lines[row].length))\n const text = parts.map(({ prompt: q, rows }) => rows.map((row, k) => (k === 0 ? q.cmd : lines[row])).join('')).join('\\n')\n // A psql meta-command (`\\d`, `\\i file.sql`) is psql's own, not SQL: the command drawn as a method,\n // its arguments plain — a path is not SQL.\n const meta = prompt.style === 'psql' ? text.match(/^(\\\\\\S+)([\\s\\S]*)$/) : null\n const toks: Tok[] = meta ? [{ cls: 'method', text: meta[1] }, ...(meta[2] ? [{ cls: 'var' as const, text: meta[2] }] : [])]\n : tokenize(text, prompt.style === 'psql' ? 'sql' : 'shell')\n const cut: Tok[][] = phys.map(() => [])\n let row = 0, left = widths[0]\n for (const t of toks) {\n t.text.split('\\n').forEach((piece, j) => {\n if (j > 0) { row++; left = widths[row] }\n let rest = piece\n while (rest.length > left && row < widths.length - 1) {\n if (left) cut[row].push({ cls: t.cls, text: rest.slice(0, left) })\n rest = rest.slice(left); row++; left = widths[row]\n }\n if (rest) { cut[row].push({ cls: t.cls, text: rest }); left -= rest.length }\n })\n }\n phys.forEach(({ row: pr, prompt: q }, k) => out.set(pr + 1, q ? { n: pr + 1, kind: 'cmd', prompt: q, toks: cut[k] } : { n: pr + 1, kind: 'cont', toks: cut[k] }))\n i = phys[phys.length - 1].row\n }\n return out\n}\n\nconst PromptView = ({ p }: { p: Prompt }) => p.style === 'psql' ? (\n <span className=\"gf-ps\" data-root={p.sigil === '#' || undefined}>\n <span className=\"gf-ps-who\">{p.db}</span>\n {p.mode}\n {p.tx && <span className=\"gf-ps-tx\" data-tx={p.tx}>{p.tx}</span>}\n {p.sigil}{' '}\n </span>\n) : (\n <span className=\"gf-ps\" data-root={p.sigil === '#' || undefined}>\n {p.style === 'redhat' && '['}\n <span className=\"gf-ps-who\">{p.user}@{p.host}</span>\n {p.style === 'debian' ? ':' : ' '}\n <span className=\"gf-ps-cwd\">{p.cwd}</span>\n {p.style === 'redhat' && ']'}\n {p.style === 'zsh' && ' '}\n {p.sigil}{' '}\n </span>\n)\n\nfunction ConsoleView({ node, style }: { node: Code; style?: CSSProperties }) {\n const lit = new Set(node.highlight ?? [])\n const rows = consoleRows(dedent(node.code), node.cols ?? 80)\n return (\n <div className=\"gf-code\" data-id={node.id} data-console style={style}>\n <div className=\"gf-code-bar\">\n <span className=\"gf-dots\" aria-hidden><i /><i /><i /></span>\n {node.filename && <span className=\"gf-code-name\">{node.filename}</span>}\n </div>\n <div className=\"gf-code-body\">\n {codeRows(node).map((r, i) => {\n if ('fold' in r) return <div key={i} className=\"gf-line gf-fold\">{foldLabel(r.fold)}</div>\n const row = rows.get(r.n)!\n return (\n <div key={i} className=\"gf-line\" data-id={`${node.id}.L${r.n}`} data-kind={row.kind} data-lit={lit.has(r.n) || undefined}\n data-root={row.kind === 'cmd' && row.prompt.sigil === '#' || undefined}>\n {row.kind === 'out' ? <span>{row.text}</span> : <>\n {row.kind === 'cmd' && <PromptView p={row.prompt} />}\n {row.toks.map((t, k) => <span key={k} className={`tok-${t.cls}`}>{t.text}</span>)}\n {row.kind === 'cont' && !row.toks.length && ' '}\n </>}\n </div>\n )\n })}\n </div>\n </div>\n )\n}\n\nexport function CodeView({ node, style }: { node: Code; style?: CSSProperties }) {\n if (node.console) return <ConsoleView node={node} style={style} />\n const lit = new Set(node.highlight ?? [])\n const lang = node.lang ?? (node.terminal ? 'shell' : 'text')\n // A cell's output: what the kernel printed, under its input — no bar, no frame, no gutter.\n if (node.output) return (\n <div className=\"gf-code\" data-id={node.id} data-output style={style}>\n {codeRows(node).map((row, i) => 'n' in row && (\n <div key={i} className=\"gf-line\" data-id={`${node.id}.L${row.n}`} data-kind={row.text.startsWith('! ') ? 'err' : 'out'}>\n {row.text.startsWith('! ') ? row.text.slice(2) : row.text || ' '}\n </div>\n ))}\n </div>\n )\n return (\n <div className=\"gf-code\" data-id={node.id} data-terminal={node.terminal || undefined} data-wrap={node.wrap || undefined} style={style}>\n <div className=\"gf-code-bar\">\n {node.terminal ? <span className=\"gf-code-name\">{node.filename ?? 'terminal'}</span> : (\n <>\n <span className=\"gf-dots\" aria-hidden><i /><i /><i /></span>\n {node.filename && <span className=\"gf-code-name\">{node.filename}</span>}\n </>\n )}\n </div>\n <div className=\"gf-code-body\">\n {codeRows(node).map((row, i) => {\n if ('fold' in row) return node.terminal\n ? <div key={i} className=\"gf-line gf-fold\">{foldLabel(row.fold)}</div>\n : <div key={i} className=\"gf-line gf-fold\"><span className=\"gf-ln\" /><span>{foldLabel(row.fold)}</span></div>\n // Terminal: `$ cmd` is a command, `! text` an error, anything else output.\n if (node.terminal) {\n const kind = row.text.startsWith('$ ') ? 'cmd' : row.text.startsWith('! ') ? 'err' : 'out'\n return (\n <div key={i} className=\"gf-line\" data-id={`${node.id}.L${row.n}`} data-kind={kind}>\n {kind === 'cmd' ? <><span className=\"gf-prompt\">$ </span><Toks text={row.text.slice(2)} lang={lang} /></> : kind === 'err' ? row.text.slice(2) : row.text || ' '}\n </div>\n )\n }\n return (\n <div key={i} className=\"gf-line\" data-id={`${node.id}.L${row.n}`} data-lit={lit.has(row.n) || undefined}>\n <span className=\"gf-ln\">{row.n}</span>\n <span><Toks text={row.text} lang={lang} /></span>\n </div>\n )\n })}\n </div>\n </div>\n )\n}\n\nconst Toks = ({ text, lang }: { text: string; lang: Parameters<typeof tokenize>[1] }) =>\n <>{text ? tokenize(text, lang).map((t, i) => <span key={i} className={`tok-${t.cls}`}>{t.text}</span>) : ' '}</>\n","import { useId } from 'react'\nimport type { Theme } from './theme'\nimport type { Plot, PlotAxis, PlotSeries, Tone } from './types'\n\n// A plot's x/y are DATA in the axes' own units; the engine owns every pixel. The drawing area is ONE\n// fixed size for every plot, so plots in a deck line up and frames with one keep the same zoom.\n// Inside the SVG the browser does not lay out text, so all plot text is IBM Plex Mono (fixed advance)\n// and the gutters are counted in characters; `check` measures every <text> against the SVG box.\n\nexport const PLOT_W = 720\nexport const PLOT_H = 400\n/** The second fixed size: a plot for a side pane, readable at full text size in ~560px. */\nexport const COMPACT_W = 420\nexport const COMPACT_H = 280\nconst CHAR_W = 9.1 // IBM Plex Mono at 15px (600/1000 em = 9.0), rounded up so a count can only over-reserve\nconst TICK_GAP = 8\nconst AXIS_LABEL = 24\n\n/** Series colours in a fixed order that keeps green and orange apart; `consume` red is reserved for warnings. */\nconst RAMP: Tone[] = ['ingest', 'infra', 'serve', 'store']\n\nfunction niceStep(span: number): number {\n const raw = Math.abs(span) / 6\n if (!(raw > 0) || !Number.isFinite(raw)) return 1\n const mag = 10 ** Math.floor(Math.log10(raw))\n const n = raw / mag\n return (n >= 5 ? 5 : n >= 2 ? 2 : 1) * mag\n}\n\nconst decimals = (step: number) => (String(step).split('.')[1] ?? '').length\n\ninterface Axis { min: number; max: number; ticks: number[]; text: (v: number) => string; categories: boolean; label?: string }\n\nfunction axis(a: PlotAxis): Axis {\n if (a.labels) {\n const n = a.labels.length\n return { min: -0.5, max: n - 0.5, ticks: a.labels.map((_, i) => i), text: (v) => a.labels![v] ?? '', categories: true, label: a.label }\n }\n const min = a.min ?? 0, max = a.max ?? 1\n const step = a.step && (max - min) / a.step <= 200 ? a.step : niceStep(max - min)\n const ticks: number[] = []\n for (let v = Math.ceil(min / step) * step; v <= max + step * 1e-9; v += step) ticks.push(Number(v.toFixed(decimals(step) + 1)))\n return { min, max, ticks, text: (v) => (Math.abs(v) < step * 1e-9 ? 0 : v).toFixed(decimals(step)), categories: false, label: a.label }\n}\n\nconst seriesPoints = (s: PlotSeries): [number, number][] => s.points ?? (s.from && s.to ? [s.from, s.to] : [])\n\n/** A plain segment (no arrow, no tone) is a construction line: muted, and it takes no ramp colour. */\nconst construction = (s: PlotSeries) => s.kind === 'segment' && !s.arrow && !s.tone\n\n/** Where a series puts its label: a segment at its tip (arrow) or midpoint; bars in the legend; anything else at its last point. */\nfunction labelAt(s: PlotSeries): [number, number] | undefined {\n const pts = seriesPoints(s)\n if (!s.label || !pts.length || s.kind === 'bar') return undefined\n if (s.kind === 'segment' && !s.arrow) return [(pts[0][0] + pts[1][0]) / 2, (pts[0][1] + pts[1][1]) / 2]\n return pts[pts.length - 1]\n}\n\nexport function PlotView({ node, theme, style }: { node: Plot; theme: Theme; style?: React.CSSProperties }) {\n const clip = `gf-clip-${useId().replace(/[^\\w-]/g, '')}`\n const X = axis(node.x), Y = axis(node.y)\n const PH = node.compact ? COMPACT_H : PLOT_H\n const origin = node.axes === 'origin' || (node.axes !== 'corner' && !X.categories && !Y.categories && X.min < 0 && X.max > 0 && Y.min < 0 && Y.max > 0)\n const chars = (s: string) => s.length * CHAR_W\n\n // Gutters, counted: y tick labels + y axis label on the left, x ticks + x label below, the longest\n // label that runs past the right edge on the right.\n const left = Math.ceil(Math.max(...Y.ticks.map((t) => chars(Y.text(t))))) + TICK_GAP + 6 + (Y.label ? AXIS_LABEL : 0)\n // A `w` sizes the whole plot (its 1px borders included) to a fixed column; the drawing area takes\n // what the gutters leave, a series label running past the right edge included (a label at fraction\n // f of the axis needs left + f·PW + 8 + its chars + 16). Otherwise the drawing area is one of the\n // two fixed sizes.\n const inner = node.w ? node.w - 2 - left : 0\n const PW = node.w\n ? Math.max(120, Math.floor(Math.min(inner - 16, ...node.series.map((s) => {\n const at = labelAt(s), f = at ? (at[0] - X.min) / (X.max - X.min) : 0\n return f > 0 ? (inner - 24 - chars(s.label!)) / f : Infinity\n }))))\n : node.compact ? COMPACT_W : PLOT_W\n const bottom = 30 + (X.label ? AXIS_LABEL : 0)\n const top = 14\n const sx = (v: number) => left + ((v - X.min) / (X.max - X.min)) * PW\n const sy = (v: number) => top + PH - ((v - Y.min) / (Y.max - Y.min)) * PH\n const overhang = Math.max(0, ...node.series.map((s) => {\n const at = labelAt(s)\n return at ? sx(at[0]) + 8 + chars(s.label!) - (left + PW) : 0\n }))\n const right = node.w ? Math.max(16 + Math.ceil(overhang), inner - PW) : 16 + Math.ceil(overhang)\n const W = left + PW + right, H = top + PH + bottom\n\n const ax = origin ? sx(0) : left, ay = origin ? sy(0) : top + PH\n // The ramp advances only for series that use it, so a toned or construction series skips no colour.\n const rampAt = node.series.map((_, i) => node.series.slice(0, i).filter((q) => !q.tone && !construction(q)).length)\n const colour = (s: PlotSeries, i: number) =>\n construction(s) ? theme.muted : theme.tones[s.tone ?? RAMP[rampAt[i] % RAMP.length]].accent\n const legend = node.series.flatMap((s, i) => (s.kind === 'bar' && s.label ? [{ label: s.label, c: colour(s, i) }] : []))\n const base = sy(Math.max(Y.min, Math.min(0, Y.max)))\n const step = X.categories ? 1 : (X.ticks[1] ?? X.max) - (X.ticks[0] ?? X.min)\n\n return (\n <div className=\"gf-plot\" data-id={node.id} style={style}>\n {node.title && <div className=\"gf-table-title\">{node.title}</div>}\n <svg width={W} height={H} viewBox={`0 0 ${W} ${H}`} role=\"img\" aria-label={node.title ?? 'plot'}>\n <defs><clipPath id={clip}><rect x={left} y={top} width={PW} height={PH} /></clipPath></defs>\n {node.grid !== false && (\n <g className=\"gf-plot-grid\">\n {!X.categories && X.ticks.map((t) => <line key={`x${t}`} x1={sx(t)} x2={sx(t)} y1={top} y2={top + PH} />)}\n {Y.ticks.map((t) => <line key={`y${t}`} x1={left} x2={left + PW} y1={sy(t)} y2={sy(t)} />)}\n </g>\n )}\n <g className=\"gf-plot-axis\">\n <line x1={left} x2={left + PW} y1={ay} y2={ay} />\n <line x1={ax} x2={ax} y1={top} y2={top + PH} />\n </g>\n <g className=\"gf-plot-ticks\">\n {X.ticks.filter((t) => !(origin && t === 0)).map((t) => <text key={`x${t}`} x={sx(t)} y={ay + 20} textAnchor=\"middle\">{X.text(t)}</text>)}\n {Y.ticks.filter((t) => !(origin && t === 0)).map((t) => <text key={`y${t}`} x={ax - TICK_GAP} y={sy(t)} textAnchor=\"end\" dominantBaseline=\"middle\">{Y.text(t)}</text>)}\n {X.label && <text x={left + PW / 2} y={top + PH + bottom - 6} textAnchor=\"middle\" className=\"gf-plot-label\">{X.label}</text>}\n {Y.label && <text transform={`translate(14 ${top + PH / 2}) rotate(-90)`} textAnchor=\"middle\" dominantBaseline=\"middle\" className=\"gf-plot-label\">{Y.label}</text>}\n </g>\n <g clipPath={`url(#${clip})`}>\n {node.series.map((s, i) => {\n const c = colour(s, i), pts = seriesPoints(s)\n const d = pts.map(([x, y], j) => `${j ? 'L' : 'M'}${sx(x)},${sy(y)}`).join(' ')\n if (s.kind === 'area')\n return <g key={i}><path d={`${d} L${sx(pts[pts.length - 1][0])},${base} L${sx(pts[0][0])},${base} Z`} fill={c} fillOpacity={0.18} stroke=\"none\" /><path d={d} fill=\"none\" stroke={c} strokeWidth={2.5} /></g>\n if (s.kind === 'line') return <path key={i} d={d} fill=\"none\" stroke={c} strokeWidth={2.5} strokeDasharray={s.dashed ? '7 6' : undefined} strokeLinejoin=\"round\" />\n if (s.kind === 'scatter') return <g key={i}>{pts.map(([x, y], j) => <circle key={j} cx={sx(x)} cy={sy(y)} r={5} fill={c} />)}</g>\n if (s.kind === 'bar') {\n const n = node.series.filter((q) => q.kind === 'bar').length, k = node.series.slice(0, i).filter((q) => q.kind === 'bar').length\n const slot = ((sx(step) - sx(0)) * 0.7) / n\n return <g key={i}>{pts.map(([x, y], j) => <rect key={j} x={sx(x) - (slot * n) / 2 + k * slot} y={Math.min(sy(y), base)} width={slot - 2} height={Math.abs(base - sy(y))} fill={c} rx={2} />)}</g>\n }\n // segment: a construction or threshold line, dashed unless told otherwise; `arrow` makes it a vector.\n const [[x1, y1], [x2, y2]] = pts\n const a = Math.atan2(sy(y2) - sy(y1), sx(x2) - sx(x1)), L = 12\n const tip = [sx(x2), sy(y2)], back = [tip[0] - L * Math.cos(a), tip[1] - L * Math.sin(a)]\n return (\n <g key={i}>\n <line x1={sx(x1)} y1={sy(y1)} x2={s.arrow ? back[0] : tip[0]} y2={s.arrow ? back[1] : tip[1]} stroke={c} strokeWidth={construction(s) ? 1.75 : 2.5} strokeDasharray={s.dashed === false || s.arrow ? undefined : '7 6'} />\n {s.arrow && (x1 !== x2 || y1 !== y2) && (\n <polygon fill={c} points={[tip, [back[0] + 6 * Math.sin(a), back[1] - 6 * Math.cos(a)], [back[0] - 6 * Math.sin(a), back[1] + 6 * Math.cos(a)]].map((p) => p.join(',')).join(' ')} />\n )}\n </g>\n )\n })}\n </g>\n {legend.length > 0 && (\n <g className=\"gf-plot-labels\">\n {legend.map((l, i) => {\n const y = top + 18 + i * 22, x = left + PW - 12 - Math.max(...legend.map((q) => chars(q.label)))\n return <g key={i}><rect x={x - 20} y={y - 10} width={12} height={12} rx={2} fill={l.c} /><text x={x} y={y} dominantBaseline=\"middle\" fill={l.c}>{l.label}</text></g>\n })}\n </g>\n )}\n <g className=\"gf-plot-labels\">\n {node.series.map((s, i) => {\n const at = labelAt(s)\n // Above the point, but never above the area: a curve that ends at y.max would push it out.\n return at && <text key={i} x={sx(at[0]) + 8} y={Math.min(top + PH - 4, Math.max(top + 14, sy(at[1]) - 8))} fill={colour(s, i)}>{s.label}</text>\n })}\n </g>\n </svg>\n </div>\n )\n}\n","import { ChevronDown, ChevronRight, FileText, Folder } from 'lucide-react'\nimport type { CSSProperties } from 'react'\nimport { ICONS } from './icons'\nimport type { Theme } from './theme'\nimport type { Tree, TreeEntry } from './types'\n\n/** A file's default icon by extension. Anything unlisted draws a plain file. */\nconst BY_EXTENSION: Record<string, string> = { py: 'python', ipynb: 'jupyter', java: 'java', sql: 'database', tf: 'terraform', dockerfile: 'docker' }\nconst iconOf = (e: TreeEntry) => e.icon ?? BY_EXTENSION[e.name.toLowerCase().split('.').pop() ?? '']\n\ninterface Row { entry: TreeEntry; depth: number; path: string }\n\n/**\n * The entries a `tree` draws, depth-first, each with its PATH (`src/jobs/orders.py`). Shared with the\n * edge planner via `treeEntryIds`, like `tableRows` and `codeRows`: an entry is addressable as\n * `<tree id>.<path>`.\n */\nfunction treeRows(entries: TreeEntry[], depth = 0, prefix = ''): Row[] {\n return entries.flatMap((entry) => {\n const path = prefix ? `${prefix}/${entry.name}` : entry.name\n return [{ entry, depth, path }, ...(entry.children ? treeRows(entry.children, depth + 1, path) : [])]\n })\n}\n\nexport const treeEntryIds = (node: Tree): string[] => treeRows(node.entries).map((r) => `${node.id}.${r.path}`)\n\nexport function TreeView({ node, theme, style }: { node: Tree; theme: Theme; style?: CSSProperties }) {\n return (\n <div className=\"gf-tree\" data-id={node.id} data-compact={node.compact || undefined} style={style}>\n <div className=\"gf-tree-title\">{node.title ?? 'Explorer'}</div>\n <div className=\"gf-tree-body\">\n {treeRows(node.entries).map(({ entry, depth, path }) => {\n const folder = entry.folder ?? !!entry.children\n return (\n <div key={path} className=\"gf-tree-row\" data-id={`${node.id}.${path}`} data-state={entry.state} style={{ paddingLeft: node.compact ? 6 + depth * 11 : 10 + depth * 16 }}>\n {/* A folder with listed children is open; one marked `folder` with none is collapsed. */}\n {!folder ? <span className=\"gf-tree-chev\" /> : entry.children?.length\n ? <ChevronDown size=\"0.9em\" className=\"gf-tree-chev\" aria-hidden /> : <ChevronRight size=\"0.9em\" className=\"gf-tree-chev\" aria-hidden />}\n {(() => {\n const draw = iconOf(entry) ? ICONS[iconOf(entry)!] : undefined\n return draw ? <span className=\"gf-tree-icon\">{draw('1.1em', theme.surface, theme.ink)}</span>\n : folder ? <Folder size=\"1.1em\" aria-hidden /> : <FileText size=\"1.1em\" aria-hidden />\n })()}\n <span className=\"gf-tree-name\">{entry.name}</span>\n {entry.note && <span className=\"gf-tree-note\">{entry.note}</span>}\n </div>\n )\n })}\n </div>\n </div>\n )\n}\n","import type { CSSProperties } from 'react'\nimport type { Tty } from './types'\n\n/** Rows addressable by edges and `focus` as `<tty>.R<n>`, 1-based like a code line. */\nexport const ttyRowIds = (node: Tty): string[] => node.screen.map((_, i) => `${node.id}.R${i + 1}`)\n\ntype Run = { text: string; inverse: boolean; bold: boolean }\n\n/** One row cut into runs of the same attributes. Padded to the full width, so the grid never moves. */\nfunction runs(text: string, row: number, node: Tty, cols: number): Run[] {\n const line = text.padEnd(cols).slice(0, cols)\n const has = (spans: [number, number, number][] | undefined, col: number) =>\n !!spans?.some(([r, a, b]) => r === row && col >= a && col < b)\n const out: Run[] = []\n for (let c = 0; c < cols; c++) {\n const inverse = has(node.inverse, c), bold = has(node.bold, c)\n const last = out[out.length - 1]\n if (last && last.inverse === inverse && last.bold === bold) last.text += line[c]\n else out.push({ text: line[c], inverse, bold })\n }\n return out\n}\n\n/**\n * A full-screen program's screen: a terminal frame with a fixed grid of `cols` × the screen's rows.\n * The size comes from the capture, never from the content, so two screenshots of `top` are the same box.\n */\nexport function TtyView({ node, style }: { node: Tty; style?: CSSProperties }) {\n const cols = node.cols ?? 80\n return (\n <div className=\"gf-code gf-tty\" data-id={node.id} style={style}>\n <div className=\"gf-code-bar\">\n <span className=\"gf-dots\" aria-hidden><i /><i /><i /></span>\n {node.title && <span className=\"gf-code-name\">{node.title}</span>}\n </div>\n <div className=\"gf-code-body\">\n {node.screen.map((text, i) => (\n <div key={i} className=\"gf-line\" data-id={`${node.id}.R${i + 1}`}>\n {runs(text, i, node, cols).map((r, k) =>\n <span key={k} data-inverse={r.inverse || undefined} data-bold={r.bold || undefined}>{r.text}</span>)}\n </div>\n ))}\n </div>\n </div>\n )\n}\n","import type { Edge } from './types'\n\n// Pure edge routing: measured node boxes in, orthogonal polylines out. No DOM here.\n\nexport interface Rect { x: number; y: number; w: number; h: number }\nexport interface Pt { x: number; y: number }\n/**\n * `index` is the edge's position in `scene.edges`; `axis` is the route's direction ('h' leaves a\n * left/right face). A label sits `on` its line, or `before`/`after` it (above/below a horizontal\n * segment, left/right of a vertical one) when its port shares a face with others.\n */\nexport interface Routed {\n edge: Edge; index: number; axis: 'h' | 'v'; points: Pt[]; label: Pt & { side: 'on' | 'before' | 'after'; seg: 'h' | 'v' }\n /** How many edges hold a slot in this edge's channel (0: none). The layout widens the gap for them. */\n slots: number\n}\ntype Face = 'left' | 'right' | 'top' | 'bottom'\n\n/** An edge ends this far OUTSIDE its node, so the arrowhead never touches the border. */\nexport const ANCHOR_OUTSET = 4\n/** Ports keep this far from a face's corners. */\nexport const PORT_INSET = 12\n/** Two ports closer than this on one face make the whole face spread evenly. */\nexport const PORT_MIN_GAP = 14\n/** The arrowhead's length (its marker is 10 user units): a slot keeps at least this run to each anchor. */\nexport const HEAD_LEN = 10\n/** Between two slots in one channel. */\nexport const SLOT_GAP = 8\n/**\n * The gap a channel needs for `n` slots: a full head's run at each end, outside each anchor, and\n * SLOT_GAP between neighbours. One slot needs 28 — inside EDGE_GAP — so only a SHARED channel grows.\n * Without it, three arrows fanning into one node through a 32px gap left a 4px last run, which the\n * 6px head trim reversed: the arrowhead pointed back into the gap (0.2, edge-fan-in).\n */\nexport const slotRoom = (n: number) => 2 * (ANCHOR_OUTSET + HEAD_LEN) + Math.max(0, n - 1) * SLOT_GAP\n\nconst centre = (r: Rect): Pt => ({ x: r.x + r.w / 2, y: r.y + r.h / 2 })\nconst horizontal = (f: Face) => f === 'left' || f === 'right'\n\n/**\n * Leave across the LARGER gap between the boxes; null when they overlap on both axes (nested).\n * `lateral` forces left/right: a table row is a slice of its table, so only its two ends are outside.\n */\nfunction facesOf(a: Rect, b: Rect, lateral: boolean): [Face, Face] | null {\n if (lateral) return centre(b).x >= centre(a).x ? ['right', 'left'] : ['left', 'right']\n const right = b.x - (a.x + a.w), left = a.x - (b.x + b.w)\n const down = b.y - (a.y + a.h), up = a.y - (b.y + b.h)\n const gx = Math.max(right, left), gy = Math.max(down, up)\n if (gx < 0 && gy < 0) return null\n if (gx >= gy) return right >= left ? ['right', 'left'] : ['left', 'right']\n return down >= up ? ['bottom', 'top'] : ['top', 'bottom']\n}\n\ninterface End { edge: number; side: 0 | 1; rect: Rect; face: Face; far: number; at: number; rank: number; count: number }\n\n/**\n * A face with ONE edge anchors at its centre. A face with several gives each a PORT that slides\n * toward the far end's centre (clamped PORT_INSET from the corners); if any two land within\n * PORT_MIN_GAP, the face spreads evenly in far-end order instead.\n */\nfunction placePorts(ends: End[]) {\n const byFace = new Map<string, End[]>()\n for (const e of ends) {\n const key = `${e.rect.x},${e.rect.y},${e.rect.w},${e.rect.h},${e.face}`\n byFace.set(key, [...(byFace.get(key) ?? []), e])\n }\n for (const group of byFace.values()) {\n const { rect, face } = group[0]\n const [start, len] = horizontal(face) ? [rect.y, rect.h] : [rect.x, rect.w]\n const lo = start + Math.min(PORT_INSET, len / 2), hi = start + len - Math.min(PORT_INSET, len / 2)\n if (group.length === 1) { group[0].at = start + len / 2; continue }\n group.sort((p, q) => p.far - q.far || p.edge - q.edge)\n group.forEach((e, i) => { e.rank = i; e.count = group.length })\n group.forEach((e) => (e.at = Math.min(hi, Math.max(lo, e.far))))\n if (group.some((e, i) => i > 0 && e.at - group[i - 1].at < PORT_MIN_GAP))\n group.forEach((e, i) => (e.at = lo + ((i + 1) * (hi - lo)) / (group.length + 1)))\n }\n}\n\nfunction anchor({ rect, face, at }: End): Pt {\n if (face === 'left') return { x: rect.x - ANCHOR_OUTSET, y: at }\n if (face === 'right') return { x: rect.x + rect.w + ANCHOR_OUTSET, y: at }\n if (face === 'top') return { x: at, y: rect.y - ANCHOR_OUTSET }\n return { x: at, y: rect.y + rect.h + ANCHOR_OUTSET }\n}\n\n/**\n * `sides[i]` names the two SIBLINGS edge i runs between — the children of its lowest common\n * ancestor that contain each end. The faces are chosen from THEIR boxes, not the nodes': two nested\n * nodes in adjacent columns can sit diagonally with a larger vertical gap, and choosing from them\n * would send the edge down through whatever lies between. The elbow sits in the CHANNEL — the gap\n * between those siblings, which the layout widened for it — not midway between the nodes, which for\n * nested nodes can fall inside a sibling; several users of one channel get a slot each. `lateral` ids (table rows) connect only through left/right.\n * Edges whose ids are unknown, or whose boxes overlap (a node and its own ancestor), are skipped.\n */\nexport function routeEdges(\n edges: Edge[], rects: Map<string, Rect>, sides: ([string, string] | undefined)[] = [], lateral: Set<string> = new Set(),\n): Routed[] {\n const ends: End[] = []\n // A channel is the gap between an edge's two sides: [lo, hi] along the route's axis.\n const channel: ({ key: string; lo: number; hi: number } | undefined)[] = []\n edges.forEach((edge, i) => {\n const a = rects.get(edge.from), b = rects.get(edge.to)\n const [sa, sb] = (sides[i] ?? [edge.from, edge.to]).map((id) => rects.get(id))\n const faces = a && b && sa && sb && facesOf(sa, sb, lateral.has(edge.from) || lateral.has(edge.to))\n if (!faces) return\n const [lo, hi] = faces[0] === 'right' ? [sa.x + sa.w, sb.x] : faces[0] === 'left' ? [sb.x + sb.w, sa.x]\n : faces[0] === 'bottom' ? [sa.y + sa.h, sb.y] : [sb.y + sb.h, sa.y]\n // Keyed by axis + bounds, NOT direction: driver → workers and workers → driver share one gap.\n channel[i] = hi > lo ? { key: `${horizontal(faces[0]) ? 'h' : 'v'}:${Math.round(lo)}:${Math.round(hi)}`, lo, hi } : undefined\n const axis = horizontal(faces[0]) ? 'y' : 'x'\n ends.push({ edge: i, side: 0, rect: a, face: faces[0], far: centre(b)[axis], at: 0, rank: 0, count: 1 })\n ends.push({ edge: i, side: 1, rect: b, face: faces[1], far: centre(a)[axis], at: 0, rank: 0, count: 1 })\n })\n placePorts(ends)\n\n // Pass 1: anchors, and whether each edge is straight or needs an elbow.\n const pairs = []\n for (let i = 0; i < ends.length; i += 2) {\n const [from, to] = ends[i].side === 0 ? [ends[i], ends[i + 1]] : [ends[i + 1], ends[i]]\n // Alone on both faces and the faces overlap: run straight across the middle of the overlap\n // rather than jog between two centres (a row of items of different heights).\n if (from.count === 1 && to.count === 1) {\n const span = (e: End) => (horizontal(e.face) ? [e.rect.y, e.rect.y + e.rect.h] : [e.rect.x, e.rect.x + e.rect.w])\n const [a0, a1] = span(from), [b0, b1] = span(to)\n const lo = Math.max(a0, b0), hi = Math.min(a1, b1)\n if (hi - lo >= 2 * PORT_INSET) from.at = to.at = (lo + hi) / 2\n }\n const s = anchor(from), t = anchor(to)\n const straight = horizontal(from.face) ? Math.abs(s.y - t.y) < 0.5 : Math.abs(s.x - t.x) < 0.5\n pairs.push({ from, to, s, t, straight })\n }\n\n // Pass 2: SLOTS. Everything that lands mid-channel — an elbow's cross segment, a straight edge's\n // label — would land on the same line, and a dashed back edge ran under the 'tasks' label that way.\n // Each user of a channel gets its own slot, evenly spaced, in edge order (deterministic).\n const slot = new Map<number, number>()\n const users = new Map<string, number[]>()\n for (const { from, straight } of pairs) {\n const c = channel[from.edge]\n if (c && (!straight || edges[from.edge].label)) users.set(c.key, [...(users.get(c.key) ?? []), from.edge])\n }\n const shared = new Map<number, number>()\n for (const list of users.values()) {\n list.sort((a, b) => a - b)\n const { lo, hi } = channel[list[0]]!\n // Evenly spaced across the channel — unless that puts an end slot within a head's length of an\n // anchor, when they spread over the part that keeps every run at least HEAD_LEN. The layout widens\n // a shared channel to slotRoom(n), so that part always holds them SLOT_GAP apart.\n const inLo = lo + ANCHOR_OUTSET + HEAD_LEN, inHi = hi - ANCHOR_OUTSET - HEAD_LEN, n = list.length\n const even = (k: number) => lo + ((k + 1) * (hi - lo)) / (n + 1)\n const fits = even(0) >= inLo && even(n - 1) <= inHi\n list.forEach((e, k) => {\n slot.set(e, fits || n === 1 ? even(k) : inLo + (k * Math.max(0, inHi - inLo)) / (n - 1))\n shared.set(e, n)\n })\n }\n\n const routed: Routed[] = []\n for (const { from, s, t } of pairs) {\n let points: Pt[]\n if (horizontal(from.face)) {\n const mx = slot.get(from.edge) ?? (s.x + t.x) / 2\n points = Math.abs(s.y - t.y) < 0.5 ? [s, { x: t.x, y: s.y }] : [s, { x: mx, y: s.y }, { x: mx, y: t.y }, t]\n } else {\n const my = slot.get(from.edge) ?? (s.y + t.y) / 2\n points = Math.abs(s.x - t.x) < 0.5 ? [s, { x: s.x, y: t.y }] : [s, { x: s.x, y: my }, { x: t.x, y: my }, t]\n }\n const [p, q] = points.length === 4 ? [points[1], points[2]] : points\n const mid = (from.count - 1) / 2\n const side = from.count === 1 || from.rank === mid ? 'on' : from.rank < mid ? 'before' : 'after'\n const seg = p.y === q.y ? 'h' : 'v'\n // A straight edge's label sits at its slot (if it has one), so it never shares a line with an elbow.\n const at = slot.get(from.edge)\n const label = points.length === 2 && at !== undefined\n ? (horizontal(from.face) ? { x: at, y: p.y } : { x: p.x, y: at }) : { x: (p.x + q.x) / 2, y: (p.y + q.y) / 2 }\n routed.push({ edge: edges[from.edge], index: from.edge, axis: horizontal(from.face) ? 'h' : 'v', points, label: { ...label, side, seg }, slots: shared.get(from.edge) ?? 0 })\n }\n return routed\n}\n","export interface Size { w: number; h: number }\nexport interface Fit { scale: number; x: number; y: number }\n\n/** Margin on each side, as a fraction of the pane's own axis. */\nexport const FIT_PADDING = 0.04\nexport const MIN_SCALE = 0.05\n/** A small scene stops growing here, so it still reads as a diagram, not a poster. */\nexport const MAX_SCALE = 4\n\n/**\n * The fit is a PURE function of the pane and the content's natural size — no async, no history.\n * That is what makes recordings reproducible: two frames whose scenes have the same natural box get\n * the same scale and put every panel at the same pixels.\n */\nexport function fitTransform(pane: Size, content: Size, padding = FIT_PADDING): Fit {\n if (!content.w || !content.h) return { scale: 1, x: 0, y: 0 }\n const raw = Math.min((pane.w * (1 - 2 * padding)) / content.w, (pane.h * (1 - 2 * padding)) / content.h)\n const scale = Math.min(MAX_SCALE, Math.max(MIN_SCALE, raw))\n return { scale, x: (pane.w - content.w * scale) / 2, y: (pane.h - content.h * scale) / 2 }\n}\n","import type { ThemeKey, Tone } from './types'\n\n// A theme owns the SHADE; a tone owns the HUE FAMILY, identical in every theme.\n// Values stay 6-digit hex so they can be concatenated with alpha later.\n\nexport interface ToneColors { accent: string; tint: string }\n\n/** The code surface and its seven token colours — one set per theme, shared by every language. */\nexport interface CodeColors { bg: string; bar: string; gutter: string; var: string; method: string; keyword: string; string: string; number: string; punct: string; comment: string }\n\nexport interface Theme {\n bg: string\n surface: string\n line: string\n ink: string\n muted: string\n edge: string\n pulse: string\n tones: Record<Tone, ToneColors>\n code: CodeColors\n}\n\n// `bg` is the PLATFORM canvas — @graphlearning/shell's `--bg` (#1a1d23 / #f7f8fa) — so a scene sits\n// seamlessly in the shell's frame. Change one and the other shows an edge round every scene.\nexport const THEMES: Record<ThemeKey, Theme> = {\n dark: {\n bg: '#1a1d23', surface: '#22262e', line: '#2f343d', ink: '#eef2f8', muted: '#9aa4b2', edge: '#7d8796', pulse: '#7dd3fc',\n tones: {\n neutral: { accent: '#9aa4b2', tint: '#181b20' },\n source: { accent: '#a3adbb', tint: '#1b1e24' },\n ingest: { accent: '#4f8ff7', tint: '#111d2e' },\n store: { accent: '#37b877', tint: '#122419' },\n serve: { accent: '#c98bff', tint: '#1e1428' },\n consume: { accent: '#f0656f', tint: '#2a1416' },\n infra: { accent: '#f0902f', tint: '#241c12' },\n },\n code: {\n bg: '#0e1420', bar: '#131b29', gutter: '#4f5a6c', var: '#eceef2', method: '#5b8cff', keyword: '#b98bff',\n string: '#37d39a', number: '#ff7a59', punct: '#8b909c', comment: '#6b748b',\n },\n },\n light: {\n bg: '#f7f8fa', surface: '#ffffff', line: '#d9dee5', ink: '#1b1f24', muted: '#5a6675', edge: '#6b7686', pulse: '#0284c7',\n tones: {\n neutral: { accent: '#5a6675', tint: '#f3f5f8' },\n source: { accent: '#4b5563', tint: '#f1f2f4' },\n ingest: { accent: '#1f5fc4', tint: '#e8effc' },\n store: { accent: '#177a4a', tint: '#e7f7ee' },\n serve: { accent: '#7b3fbf', tint: '#f3eafd' },\n consume: { accent: '#c0303c', tint: '#fdeaec' },\n infra: { accent: '#b4610f', tint: '#fdf1e4' },\n },\n code: {\n bg: '#f6f8fb', bar: '#eceff4', gutter: '#9aa4b2', var: '#1b1f24', method: '#1f5fc4', keyword: '#7b3fbf',\n string: '#177a4a', number: '#b4500f', punct: '#5a6675', comment: '#7a8494',\n },\n },\n}\n","import { useEffect, useLayoutEffect, useMemo, useRef, useState, type CSSProperties } from 'react'\nimport { ICONS } from './icons'\nimport { Edges } from './Edges'\nimport { TableView, tableRows } from './Table'\nimport { CodeView, codeLineIds } from './Code'\nimport { PlotView } from './Plot'\nimport { TreeView, treeEntryIds } from './Tree'\nimport { TtyView, ttyRowIds } from './Tty'\nimport { routeEdges, slotRoom, type Rect } from './routing'\nimport { FIT_PADDING, fitTransform, type Size } from './fit'\nimport { THEMES, type Theme } from './theme'\nimport type { Group, Item, Scene as SceneModel, SceneNode, ThemeKey } from './types'\n\n// Layout is CSS grid all the way down: a row is N auto columns (one per non-spanning child),\n// a col is one, a grid is `cols`. `span: 'all'` runs 1 / -1. Grid — not flex — because a\n// spanning child must not change the natural width the fit will later scale.\n\ntype Dir = 'row' | 'col' | 'grid'\n\n/**\n * The gap an arrow is drawn in. A body whose children an edge runs BETWEEN gets at least EDGE_GAP;\n * on the axis a LABELLED edge crosses it, the label's measured size plus LABEL_ROOM a side; and where\n * several edges share the channel, slotRoom(n) — a slot each and a full arrowhead's run at both ends.\n */\nconst GAP = 10\nconst EDGE_GAP = 32\nconst LABEL_ROOM = 24\n\ntype Gaps = Record<string, { col: number; row: number }>\n\nfunction bodyStyle(dir: Dir, children: SceneNode[], cols: number | undefined, gap?: { col: number; row: number }): CSSProperties {\n const n = dir === 'grid' ? cols ?? 2 : dir === 'row' ? Math.max(1, children.filter((c) => c.span !== 'all').length) : 1\n return { gridTemplateColumns: `repeat(${n}, auto)`, columnGap: gap?.col ?? GAP, rowGap: gap?.row ?? GAP }\n}\n\n/**\n * Each edge's lowest common ancestor ('' for the scene root) — the body it runs across — and the two\n * children of it that hold its ends, which the router picks faces from. Derived from the scene, never\n * authored, so spacing stays declarative. undefined = not drawable.\n */\ntype Crossing = { body: string; sides: [string, string] } | undefined\n\nfunction edgeBodies(scene: SceneModel): Crossing[] {\n const parent = new Map<string, string>()\n // A table's rows are its children for edge planning: `main.list` sits under `main`.\n const walk = (nodes: SceneNode[], p: string) => nodes.forEach((n) => {\n parent.set(n.id, p)\n if (n.type === 'group') walk(n.children, n.id)\n for (const id of lateralIdsOf(n)) parent.set(id, n.id)\n })\n walk(scene.nodes, '')\n const chain = (id: string) => { const out = [id]; while (parent.has(out.at(-1)!)) out.push(parent.get(out.at(-1)!)!); return out }\n return (scene.edges ?? []).map((e) => {\n if (!parent.has(e.from) || !parent.has(e.to)) return undefined\n const from = chain(e.from), to = chain(e.to)\n const lca = from.find((id) => to.includes(id))\n if (lca === undefined || lca === e.from || lca === e.to) return undefined\n const below = (c: string[]) => c[c.indexOf(lca) - 1]\n return { body: lca, sides: [below(from), below(to)] }\n })\n}\n\n/** A leaf's addressable slices — table rows, code lines. Each is a child of its leaf for planning. */\nconst lateralIdsOf = (n: SceneNode): string[] =>\n n.type === 'table' ? tableRows(n).flatMap((r) => (r.address ? [r.address] : []))\n : n.type === 'code' ? codeLineIds(n) : n.type === 'tree' ? treeEntryIds(n) : n.type === 'tty' ? ttyRowIds(n) : []\n\n/** Every slice id — the ends the router may connect only through left/right (their top and bottom are inside). */\nfunction lateralIds(nodes: SceneNode[], out = new Set<string>()): Set<string> {\n for (const n of nodes) {\n if (n.type === 'group') lateralIds(n.children, out)\n for (const id of lateralIdsOf(n)) out.add(id)\n }\n return out\n}\n\nfunction baseGaps(bodies: Crossing[]): Gaps {\n const out: Gaps = {}\n for (const b of bodies) if (b) out[b.body] = { col: EDGE_GAP, row: EDGE_GAP }\n return out\n}\n\nconst toneVars = (theme: Theme, node: SceneNode): CSSProperties | undefined =>\n node.tone && ({ '--gf-accent': theme.tones[node.tone].accent, '--gf-tint': theme.tones[node.tone].tint } as CSSProperties)\n\n/** Placement shared by every node: span, the min-size floors, and `fill` (stretch instead of hug). */\nconst spanStyle = (node: SceneNode): CSSProperties => {\n const minW = node.w ?? node.minW, maxW = node.w ?? node.maxW, minH = node.h ?? node.minH, maxH = node.h ?? node.maxH\n return {\n ...(node.span === 'all' && { gridColumn: '1 / -1' }),\n ...(minW !== undefined && { minWidth: minW }),\n ...(maxW !== undefined && { maxWidth: maxW }),\n ...(minH !== undefined && { minHeight: minH }),\n ...(maxH !== undefined && { maxHeight: maxH }),\n ...(node.fill && { justifySelf: 'stretch', alignSelf: 'stretch' }),\n }\n}\n\nfunction ItemView({ node, theme }: { node: Item; theme: Theme }) {\n const draw = node.icon ? ICONS[node.icon] : undefined\n return (\n <div className=\"gf-item\" data-id={node.id} data-stack={node.stack || undefined} data-chip={node.chip || undefined} data-muted={node.muted || undefined} style={{ ...toneVars(theme, node), ...spanStyle(node) }}>\n {/* Icon sizes are multiples of the item's text (16px): row 2em, card 3em, chip 1.15em. */}\n {draw?.(node.stack ? '3em' : node.chip ? '1.15em' : '2em', theme.surface, theme.ink)}\n <div>\n <div className=\"gf-item-title\">{node.title}</div>\n {node.sub && <div className=\"gf-item-sub\">{node.sub}</div>}\n {node.bullets && <ul className=\"gf-bullets\">{node.bullets.map((b) => <li key={b}>{b}</li>)}</ul>}\n </div>\n </div>\n )\n}\n\nfunction GroupView({ node, theme, gaps }: { node: Group; theme: Theme; gaps: Gaps }) {\n // A notebook cell: the `[n]` gutter beside a body that stacks the input and its outputs.\n if (node.cell != null) return (\n <div className=\"gf-group\" data-id={node.id} data-cell style={{ ...toneVars(theme, node), ...spanStyle(node) }}>\n <div className=\"gf-cell-n\">[{node.cell === true ? ' ' : node.cell}]</div>\n <div className=\"gf-body\" style={bodyStyle('col', node.children, undefined, gaps[node.id])}>\n {node.children.map((c) => <NodeView key={c.id} node={c} theme={theme} gaps={gaps} />)}\n </div>\n </div>\n )\n return (\n <div className=\"gf-group\" data-id={node.id} data-bare={node.bare || undefined} data-dashed={node.dashed || undefined} data-muted={node.muted || undefined} data-toned={node.tone || undefined} data-spread={node.spread || undefined} style={{ ...toneVars(theme, node), ...spanStyle(node) }}>\n {(node.title || node.badge != null) && (\n <div className=\"gf-group-head\">\n <div className=\"gf-group-title\">\n {node.badge != null && <span className=\"gf-badge\">{node.badge}</span>}\n {node.icon && ICONS[node.icon]?.('1.25em', theme.surface, theme.ink)}\n {node.title}\n </div>\n {node.sub && <div className=\"gf-group-sub\">{node.sub}</div>}\n </div>\n )}\n <div className=\"gf-body\" style={bodyStyle(node.dir ?? 'col', node.children, node.cols, gaps[node.id])}>\n {node.children.map((c) => <NodeView key={c.id} node={c} theme={theme} gaps={gaps} />)}\n </div>\n </div>\n )\n}\n\nfunction NodeView({ node, theme, gaps }: { node: SceneNode; theme: Theme; gaps: Gaps }) {\n if (node.type === 'group') return <GroupView node={node} theme={theme} gaps={gaps} />\n if (node.type === 'table') return <TableView node={node} theme={theme} style={{ ...toneVars(theme, node), ...spanStyle(node) }} />\n if (node.type === 'code') return <CodeView node={node} style={{ ...toneVars(theme, node), ...spanStyle(node) }} />\n if (node.type === 'plot') return <PlotView node={node} theme={theme} style={{ ...toneVars(theme, node), ...spanStyle(node) }} />\n if (node.type === 'tree') return <TreeView node={node} theme={theme} style={{ ...toneVars(theme, node), ...spanStyle(node) }} />\n if (node.type === 'tty') return <TtyView node={node} style={{ ...toneVars(theme, node), ...spanStyle(node) }} />\n if (node.type === 'note') return <div className=\"gf-note\" data-id={node.id} style={{ ...toneVars(theme, node), ...spanStyle(node) }}>{node.text}</div>\n return <ItemView node={node} theme={theme} />\n}\n\n/**\n * `focus` names one node (any id, a table row or a code line included) to single out: it gets a\n * ring and a glow, drawn with box-shadow so the layout — and therefore the fit — never moves. That is\n * what lets every section of a course focus a different node on the same scene without a jump.\n *\n * Fills its parent (give the parent a size) and scales the scene's natural box to fit, centred.\n * The viewport is locked: no wheel or drag handlers, so page scroll passes through and text stays\n * selectable. `data-fit=\"ready\"` marks the first fit after fonts load with edges routed — what a recorder waits on.\n */\nexport function Scene({ scene, theme: key = 'dark', focus }: { scene: SceneModel; theme?: ThemeKey; focus?: string }) {\n const t = THEMES[key]\n const bodies = useMemo(() => edgeBodies(scene), [scene])\n const rowIds = useMemo(() => lateralIds(scene.nodes), [scene])\n\n // An edge naming an id the scene does not have is an authoring error, never a silent skip.\n useEffect(() => {\n const known = new Set<string>(rowIds)\n const walk = (nodes: SceneNode[]): void => nodes.forEach((n) => { known.add(n.id); if (n.type === 'group') walk(n.children) })\n walk(scene.nodes)\n for (const e of scene.edges ?? [])\n for (const id of [e.from, e.to]) if (!known.has(id)) console.error(`graphl-flow: edge ${e.from} → ${e.to} names unknown id \"${id}\"`)\n }, [scene, rowIds])\n const [gaps, setGaps] = useState<Gaps>(() => baseGaps(bodies))\n const [gapsSettled, setGapsSettled] = useState(false)\n const pane = useRef<HTMLDivElement>(null)\n const content = useRef<HTMLDivElement>(null)\n const [sizes, setSizes] = useState<{ pane: Size; content: Size } | null>(null)\n const [fontsReady, setFontsReady] = useState(false)\n // Bumped when a font face finishes loading AFTER fonts.ready: a scene shown later in the same page\n // (a hash route) can need a face the first one did not, and it lands a sub-pixel shift on layout\n // without changing the content's integer size.\n const [fontLoads, setFontLoads] = useState(0)\n const [rects, setRects] = useState<Map<string, Rect> | null>(null)\n\n // offsetWidth/Height are layout sizes, untouched by the transform we apply.\n const measure = () => {\n const p = pane.current, c = content.current\n if (!p || !c) return\n const next = { pane: { w: p.offsetWidth, h: p.offsetHeight }, content: { w: c.offsetWidth, h: c.offsetHeight } }\n setSizes((prev) =>\n prev && prev.pane.w === next.pane.w && prev.pane.h === next.pane.h && prev.content.w === next.content.w && prev.content.h === next.content.h\n ? prev : next)\n }\n useLayoutEffect(measure, [scene, key, gaps])\n\n // Focus is an attribute on whatever element carries the id — a node, a row, a line — so it reaches\n // every addressable thing without each renderer knowing about it. No layout effect.\n useLayoutEffect(() => {\n const c = content.current\n if (!c) return\n c.querySelectorAll('[data-focus]').forEach((e) => e.removeAttribute('data-focus'))\n if (focus) c.querySelector(`[data-id=\"${CSS.escape(focus)}\"]`)?.setAttribute('data-focus', '')\n }, [focus, scene])\n\n // Node boxes in the content's natural coordinates: undo the fit by dividing out its scale.\n // Re-measured whenever the content's size, the fonts or the scene change.\n useLayoutEffect(() => {\n const c = content.current\n if (!c || !sizes) return\n const box = c.getBoundingClientRect()\n const s = box.width / c.offsetWidth || 1\n const next = new Map<string, Rect>()\n for (const el of c.querySelectorAll<HTMLElement>('[data-id]')) {\n const r = el.getBoundingClientRect()\n next.set(el.dataset.id!, { x: (r.left - box.left) / s, y: (r.top - box.top) / s, w: r.width / s, h: r.height / s })\n }\n setRects((prev) => (prev && JSON.stringify([...prev]) === JSON.stringify([...next]) ? prev : next))\n }, [sizes?.content.w, sizes?.content.h, fontsReady, fontLoads, scene, gaps])\n\n // Second pass: widen each labelled edge's body to its label's measured size (offsetWidth/Height\n // are untransformed). Label sizes do not depend on the gaps, so this settles in one more layout.\n useLayoutEffect(() => {\n const c = content.current\n if (!c || !rects) return\n const need = baseGaps(bodies)\n // A channel several edges share needs room for a slot each AND a full head's run at both ends\n // (slotRoom): three arrows into one node through a 32px gap once flipped an arrowhead.\n for (const r of routed) {\n const body = bodies[r.index]?.body\n if (body === undefined || r.slots < 2) continue\n if (r.axis === 'h') need[body].col = Math.max(need[body].col, slotRoom(r.slots))\n else need[body].row = Math.max(need[body].row, slotRoom(r.slots))\n }\n for (const el of c.querySelectorAll<HTMLElement>('.gf-edge-label')) {\n const i = Number(el.dataset.edge), body = bodies[i]?.body, r = routed.find((x) => x.index === i)\n if (body === undefined || !r) continue\n if (r.axis === 'h') need[body].col = Math.max(need[body].col, el.offsetWidth + 2 * LABEL_ROOM)\n else need[body].row = Math.max(need[body].row, el.offsetHeight + 2 * LABEL_ROOM)\n }\n const same = JSON.stringify(need) === JSON.stringify(gaps)\n if (!same) setGaps(need)\n setGapsSettled(same)\n }, [rects, gaps, bodies])\n\n useEffect(() => {\n const ro = new ResizeObserver(measure)\n ro.observe(pane.current!)\n ro.observe(content.current!)\n let live = true\n document.fonts.ready.then(() => { if (live) { measure(); setFontsReady(true) } })\n const loaded = () => { if (live) { measure(); setFontLoads((n) => n + 1) } }\n document.fonts.addEventListener('loadingdone', loaded)\n return () => { live = false; ro.disconnect(); document.fonts.removeEventListener('loadingdone', loaded) }\n }, [])\n\n const fit = sizes && fitTransform(sizes.pane, sizes.content, Math.min(0.2, Math.max(0, scene.padding ?? FIT_PADDING)))\n const routed = rects && scene.edges?.length ? routeEdges(scene.edges, rects, bodies.map((b) => b?.sides), rowIds) : []\n const vars = {\n '--gf-bg': t.bg, '--gf-surface': t.surface, '--gf-line': t.line, '--gf-ink': t.ink, '--gf-muted': t.muted, '--gf-edge': t.edge, '--gf-pulse': t.pulse, '--gf-ok': t.tones.store.accent, '--gf-err': t.tones.consume.accent,\n ...Object.fromEntries(Object.entries(t.code).map(([k, v]) => [`--gf-code-${k}`, v])),\n '--gf-accent': t.tones.neutral.accent, '--gf-tint': t.tones.neutral.tint,\n } as CSSProperties\n return (\n <div ref={pane} className=\"gf-scene\" data-theme={key} data-fit={fit && fontsReady && rects && gapsSettled ? 'ready' : 'pending'} style={vars}>\n <div\n ref={content}\n className=\"gf-content\"\n style={fit ? { transform: `translate(${fit.x}px, ${fit.y}px) scale(${fit.scale})` } : { visibility: 'hidden' }}\n >\n {scene.title && <div className=\"gf-scene-title\">{scene.title}</div>}\n {scene.sub && <div className=\"gf-scene-sub\">{scene.sub}</div>}\n <div className=\"gf-body\" style={bodyStyle(scene.dir ?? 'col', scene.nodes, undefined, gaps[''])}>\n {scene.nodes.map((n) => <NodeView key={n.id} node={n} theme={t} gaps={gaps} />)}\n </div>\n {sizes && <Edges routed={routed} size={sizes.content} pulse={scene.pulse !== false} />}\n </div>\n </div>\n )\n}\n"],"names":["EventHubs","size","props","_jsxs","_jsx","StreamAnalyticsJobs","AzureSynapseAnalytics","PowerBIEmbedded","DataFactories","AnalysisServices","AzureDatabricks","VirtualMachine","KubernetesServices","FunctionApps","AzureSQL","AzurePurviewAccounts","AzureCosmosDB","AzureDevOps","AzureServiceBus","LogAnalyticsWorkspaces","Monitor","MicrosoftDefenderForCloud","KeyVaults","StorageAccounts","DataLakeStorageGen1","_extends","a","b","c","d","React","require$$0","ArchitectureServiceAmazonSimpleStorageService","ArchitectureServiceAWSGlue","ArchitectureServiceAmazonRedshift","ArchitectureServiceAmazonAthena","ArchitectureServiceAmazonKinesis","ArchitectureServiceAmazonDataFirehose","ArchitectureServiceAmazonEMR","ArchitectureServiceAWSLambda","ArchitectureServiceAmazonDynamoDB","ArchitectureServiceAmazonRDS","ArchitectureServiceAmazonAurora","ArchitectureServiceAmazonCloudWatch","ArchitectureServiceAWSIdentityandAccessManagement","ArchitectureServiceAmazonManagedStreamingforApacheKafka","ArchitectureServiceAWSLakeFormation","ArchitectureServiceAmazonEC2","ArchitectureServiceAmazonSimpleQueueService","ArchitectureServiceAmazonSimpleNotificationService","ArchitectureServiceAWSStepFunctions","ArchitectureServiceAmazonEventBridge","ArchitectureServiceAWSKeyManagementService","ArchitectureServiceAWSSecretsManager","ArchitectureServiceAmazonElasticKubernetesService","ArchitectureServiceAmazonSageMaker","ArchitectureServiceAmazonAPIGateway","ArchitectureServiceAmazonVirtualPrivateCloud","ArchitectureServiceAWSCloudFormation","ArchitectureServiceAmazonManagedWorkflowsforApacheAirflow","ArchitectureServiceAWSDatabaseMigrationService","ArchitectureServiceAmazonElastiCache","ArchitectureServiceAmazonElasticContainerService","ArchitectureServiceAWSFargate","ArchitectureServiceAmazonElasticContainerRegistry","ArchitectureServiceElasticLoadBalancing","ArchitectureServiceAmazonRoute53","ArchitectureServiceAmazonCloudFront","ArchitectureServiceAWSWAF","ArchitectureServiceAWSCloudTrail","ArchitectureServiceAWSCertificateManager","ArchitectureServiceAWSBackup","ArchitectureServiceAWSOrganizations","ArchitectureServiceAWSSystemsManager","ArchitectureServiceAWSBudgets","ArchitectureServiceAWSCostExplorer","ArchitectureServiceAWSIAMIdentityCenter","ArchitectureServiceAWSXRay","ArchitectureGroupRegion","ArchitectureGroupAWSAccount","ArchitectureGroupPublicsubnet","ArchitectureGroupPrivatesubnet","ArchitectureGroupAutoScalinggroup","ResourceElasticLoadBalancingApplicationLoadBalancer","ResourceAmazonVPCNATGateway","ResourceAmazonVPCInternetGateway","ResourceAmazonVPCEndpoints","ResourceAmazonVPCRouter","ResourceAWSIdentityAccessManagementAWSSTS","ResourceAWSIdentityAccessManagementRole","ResourceAWSIdentityAccessManagementPermissions","ResourceAmazonElasticContainerServiceTask","ResourceAmazonElasticContainerServiceService","ResourceAmazonElasticContainerServiceContainer1","ResourceAmazonSimpleStorageServiceBucket","ResourceAmazonSimpleQueueServiceQueue","ResourceAmazonSimpleQueueServiceMessage","ResourceAmazonSimpleNotificationServiceTopic","ResourceAmazonRoute53HostedZone","t","siAlmalinux","siApacheairflow","siApacheflink","siApachekafka","siApachemaven","siApachespark","siApple","siArchlinux","siDebian","siDocker","siDuckdb","siFedora","siGit","siGithub","siGithubactions","siGnubash","siGooglecloud","siGrafana","siJunit5","siJupyter","siKubernetes","siLetsencrypt","siLinux","siLooker","siMacos","siMongodb","siNginx","siOpenjdk","siPandas","siPostgresql","siPrometheus","siPython","siRedhat","siRockylinux","siSnowflake","siTerraform","siUbuntu","siZsh","GCP","LUCIDE","Activity","Bell","Box","Building2","ChartColumn","ChartPie","ClipboardCheck","Clock","Cloud","Code2","Cpu","CreditCard","Database","Factory","FileText","Filter","Fingerprint","Folder","GitBranch","Globe","HardDrive","KeyRound","Layers","Lock","Network","Package","RadioTower","Search","Server","Settings","ShieldCheck","Table2","Terminal","User","UserCog","Users","Workflow","Zap","Waves","Brain","Boxes","MemoryStick","Archive","BadgeCheck","BrickWall","Gauge","Laptop","Power","ScrollText","Timer","AZURE","DataFactoriesAnalytics","EventHubsAnalytics","AzureSynapseAnalyticsAnalytics","MonitorMonitor","LogAnalyticsWorkspacesManagementGovernance","AzureCosmosDBDatabases","FunctionAppsCompute","KubernetesServicesCompute","StreamAnalyticsJobsAnalytics","AWS","S3","Glue","Redshift","Athena","Kinesis","Firehose","EMR","Lambda","DynamoDB","RDS","Aurora","CloudWatch","IAM","MSK","LakeFormation","EC2","SQS","SNS","StepFunctions","EventBridge","KMS","SecretsManager","EKS","SageMaker","APIGateway","VPC","CloudFormation","MWAA","DMS","ElastiCache","ECS","Fargate","ECR","ELB","Route53","CloudFront","WAF","CloudTrail","ACM","Backup","Organizations","SystemsManager","Budgets","CostExplorer","IdentityCenter","XRay","Region","Account","PublicSubnet","PrivateSubnet","AutoScalingGroup","AWS_RESOURCE","ALB","NATGateway","InternetGateway","VPCEndpoint","Router","STS","IAMRole","IAMPermissions","ECSTask","ECSService","Container","Bucket","Queue","Message","Topic","HostedZone","BRAND","merge","sets","out","set","k","v","map","draw","luminance","hex","i","BRAND_MIN_CONTRAST","brandFill","surface","ink","ICONS","Icon","jsx","g","PULSE_S","HEAD_TRIM","trim","points","start","end","p","pull","pathOf","LABEL_SHIFT","Edges","routed","pulse","uid","useId","arrow","glow","dot","reverse","jsxs","Fragment","r","PLAIN","tableRows","table","rows","firsts","own","tint","theme","tone","TableView","node","style","tagged","width","_a","_","j","KEYWORDS","HCL_KEYWORDS","NGINX_KEYWORDS","NFT_KEYWORDS","COMMENT","SHELL_KEYWORDS","SQL_KEYWORDS","OWN","ADDS","tokenizeIni","src","lead","rest","kv","NO_MEMBER","escape","s","tokenize","lang","isKeyword","word","token","afterDot","plain","afterSlash","statement","text","ws","comment","str","num","anno","joined","_b","cls","dedent","lines","indent","l","codeRows","keep","codeLineIds","foldLabel","n","SHELL_PROMPTS","PSQL_PROMPT","parsePrompt","row","re","m","consoleRows","cols","wraps","prompt","parts","next","phys","q","widths","meta","toks","cut","left","piece","pr","PromptView","ConsoleView","lit","CodeView","kind","Toks","PLOT_W","PLOT_H","COMPACT_W","COMPACT_H","CHAR_W","TICK_GAP","AXIS_LABEL","RAMP","niceStep","span","raw","mag","decimals","step","axis","min","max","ticks","seriesPoints","construction","labelAt","pts","PlotView","clip","X","Y","PH","origin","chars","inner","PW","at","f","bottom","top","sx","sy","overhang","right","W","H","ax","ay","rampAt","colour","legend","base","x","y","slot","x1","y1","x2","y2","L","tip","back","BY_EXTENSION","iconOf","e","treeRows","entries","depth","prefix","entry","path","treeEntryIds","TreeView","folder","ChevronDown","ChevronRight","ttyRowIds","runs","line","has","spans","col","inverse","bold","last","TtyView","ANCHOR_OUTSET","PORT_INSET","PORT_MIN_GAP","HEAD_LEN","SLOT_GAP","slotRoom","centre","horizontal","facesOf","lateral","down","up","gx","gy","placePorts","ends","byFace","key","group","rect","face","len","lo","hi","anchor","routeEdges","edges","rects","sides","channel","edge","sa","sb","id","faces","pairs","from","to","a0","a1","b0","b1","straight","users","shared","list","inLo","inHi","even","fits","mx","my","mid","side","seg","label","FIT_PADDING","MIN_SCALE","MAX_SCALE","fitTransform","pane","content","padding","scale","THEMES","GAP","EDGE_GAP","LABEL_ROOM","bodyStyle","dir","children","gap","edgeBodies","scene","parent","walk","nodes","lateralIdsOf","chain","lca","below","lateralIds","baseGaps","bodies","toneVars","spanStyle","minW","maxW","minH","maxH","ItemView","GroupView","gaps","NodeView","Scene","focus","useMemo","rowIds","useEffect","known","setGaps","useState","gapsSettled","setGapsSettled","useRef","sizes","setSizes","fontsReady","setFontsReady","fontLoads","setFontLoads","setRects","measure","prev","useLayoutEffect","box","el","need","body","same","ro","live","loaded","fit","vars"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88]}