@zenfg/inspector 0.1.0-beta.1
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/LICENSE +21 -0
- package/README.md +74 -0
- package/dist/FrameGraphInspector.d.ts +153 -0
- package/dist/FrameGraphInspector.d.ts.map +1 -0
- package/dist/FrameGraphInspector.js +580 -0
- package/dist/FrameGraphInspector.js.map +1 -0
- package/dist/debugCaptureModel.d.ts +166 -0
- package/dist/debugCaptureModel.d.ts.map +1 -0
- package/dist/debugCaptureModel.js +364 -0
- package/dist/debugCaptureModel.js.map +1 -0
- package/dist/index.d.ts +17 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +15 -0
- package/dist/index.js.map +1 -0
- package/dist/panelAliasAnalysis.d.ts +20 -0
- package/dist/panelAliasAnalysis.d.ts.map +1 -0
- package/dist/panelAliasAnalysis.js +113 -0
- package/dist/panelAliasAnalysis.js.map +1 -0
- package/dist/panelCytoscapeGraphRenderer.d.ts +71 -0
- package/dist/panelCytoscapeGraphRenderer.d.ts.map +1 -0
- package/dist/panelCytoscapeGraphRenderer.js +559 -0
- package/dist/panelCytoscapeGraphRenderer.js.map +1 -0
- package/dist/panelDiagnosticsView.d.ts +22 -0
- package/dist/panelDiagnosticsView.d.ts.map +1 -0
- package/dist/panelDiagnosticsView.js +123 -0
- package/dist/panelDiagnosticsView.js.map +1 -0
- package/dist/panelDomHelpers.d.ts +26 -0
- package/dist/panelDomHelpers.d.ts.map +1 -0
- package/dist/panelDomHelpers.js +129 -0
- package/dist/panelDomHelpers.js.map +1 -0
- package/dist/panelGraphLayout.d.ts +28 -0
- package/dist/panelGraphLayout.d.ts.map +1 -0
- package/dist/panelGraphLayout.js +223 -0
- package/dist/panelGraphLayout.js.map +1 -0
- package/dist/panelGraphRenderer.d.ts +20 -0
- package/dist/panelGraphRenderer.d.ts.map +1 -0
- package/dist/panelGraphRenderer.js +2 -0
- package/dist/panelGraphRenderer.js.map +1 -0
- package/dist/panelGraphScene.d.ts +98 -0
- package/dist/panelGraphScene.d.ts.map +1 -0
- package/dist/panelGraphScene.js +559 -0
- package/dist/panelGraphScene.js.map +1 -0
- package/dist/panelGraphView.d.ts +9 -0
- package/dist/panelGraphView.d.ts.map +1 -0
- package/dist/panelGraphView.js +88 -0
- package/dist/panelGraphView.js.map +1 -0
- package/dist/panelGraphVisuals.d.ts +38 -0
- package/dist/panelGraphVisuals.d.ts.map +1 -0
- package/dist/panelGraphVisuals.js +330 -0
- package/dist/panelGraphVisuals.js.map +1 -0
- package/dist/panelIcons.d.ts +4 -0
- package/dist/panelIcons.d.ts.map +1 -0
- package/dist/panelIcons.js +43 -0
- package/dist/panelIcons.js.map +1 -0
- package/dist/panelInspectorView.d.ts +33 -0
- package/dist/panelInspectorView.d.ts.map +1 -0
- package/dist/panelInspectorView.js +357 -0
- package/dist/panelInspectorView.js.map +1 -0
- package/dist/panelMemoryView.d.ts +21 -0
- package/dist/panelMemoryView.d.ts.map +1 -0
- package/dist/panelMemoryView.js +134 -0
- package/dist/panelMemoryView.js.map +1 -0
- package/dist/panelPassesView.d.ts +31 -0
- package/dist/panelPassesView.d.ts.map +1 -0
- package/dist/panelPassesView.js +183 -0
- package/dist/panelPassesView.js.map +1 -0
- package/dist/panelResourcesView.d.ts +19 -0
- package/dist/panelResourcesView.d.ts.map +1 -0
- package/dist/panelResourcesView.js +89 -0
- package/dist/panelResourcesView.js.map +1 -0
- package/dist/panelSelection.d.ts +5 -0
- package/dist/panelSelection.d.ts.map +1 -0
- package/dist/panelSelection.js +88 -0
- package/dist/panelSelection.js.map +1 -0
- package/dist/panelTypes.d.ts +40 -0
- package/dist/panelTypes.d.ts.map +1 -0
- package/dist/panelTypes.js +2 -0
- package/dist/panelTypes.js.map +1 -0
- package/dist/panelVisualTheme.d.ts +76 -0
- package/dist/panelVisualTheme.d.ts.map +1 -0
- package/dist/panelVisualTheme.js +39 -0
- package/dist/panelVisualTheme.js.map +1 -0
- package/dist/panelWorkbenchHelpers.d.ts +34 -0
- package/dist/panelWorkbenchHelpers.d.ts.map +1 -0
- package/dist/panelWorkbenchHelpers.js +162 -0
- package/dist/panelWorkbenchHelpers.js.map +1 -0
- package/dist/panelWorkbenchView.d.ts +77 -0
- package/dist/panelWorkbenchView.d.ts.map +1 -0
- package/dist/panelWorkbenchView.js +409 -0
- package/dist/panelWorkbenchView.js.map +1 -0
- package/dist/query.d.ts +11 -0
- package/dist/query.d.ts.map +1 -0
- package/dist/query.js +21 -0
- package/dist/query.js.map +1 -0
- package/dist/styles.d.ts +8 -0
- package/dist/styles.d.ts.map +1 -0
- package/dist/styles.js +1073 -0
- package/dist/styles.js.map +1 -0
- package/package.json +29 -0
- package/src/FrameGraphInspector.ts +632 -0
- package/src/debugCaptureModel.ts +583 -0
- package/src/index.ts +21 -0
- package/src/panelAliasAnalysis.ts +164 -0
- package/src/panelCytoscapeGraphRenderer.ts +617 -0
- package/src/panelDiagnosticsView.ts +160 -0
- package/src/panelDomHelpers.ts +151 -0
- package/src/panelGraphLayout.ts +281 -0
- package/src/panelGraphRenderer.ts +21 -0
- package/src/panelGraphScene.ts +787 -0
- package/src/panelGraphView.ts +108 -0
- package/src/panelGraphVisuals.ts +364 -0
- package/src/panelIcons.ts +56 -0
- package/src/panelInspectorView.ts +377 -0
- package/src/panelMemoryView.ts +154 -0
- package/src/panelPassesView.ts +222 -0
- package/src/panelResourcesView.ts +115 -0
- package/src/panelSelection.ts +99 -0
- package/src/panelTypes.ts +28 -0
- package/src/panelVisualTheme.ts +39 -0
- package/src/panelWorkbenchHelpers.ts +216 -0
- package/src/panelWorkbenchView.ts +465 -0
- package/src/query.ts +22 -0
- package/src/styles.ts +1076 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"panelGraphLayout.js","sourceRoot":"","sources":["../src/panelGraphLayout.ts"],"names":[],"mappings":"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","sourcesContent":["import type cytoscape from 'cytoscape';\nimport type { ELK, ElkExtendedEdge, ElkNode, ElkPort } from 'elkjs/lib/elk-api';\n\nimport type { GraphScene, GraphSceneElementId, GraphSceneNode } from './panelGraphScene.ts';\nimport { expandedGroupLabelMaxWidth, GRAPH_GEOMETRY, nodeDimensions } from './panelGraphVisuals.ts';\n\nexport type GraphPosition = { readonly x: number; readonly y: number };\nexport type GraphEdgeRoute = {\n readonly startPoint: GraphPosition;\n readonly bendPoints: readonly GraphPosition[];\n readonly endPoint: GraphPosition;\n};\nexport type GraphLayoutResult = {\n readonly positions: ReadonlyMap<GraphSceneElementId, GraphPosition>;\n readonly routes: ReadonlyMap<GraphSceneElementId, GraphEdgeRoute>;\n};\n\nexport type CytoscapeEdgeRouteData = {\n readonly sourceEndpoint: string;\n readonly targetEndpoint: string;\n readonly segmentWeights: string;\n readonly segmentDistances: string;\n};\n\nexport async function layoutGraphScene(elk: ELK, scene: GraphScene): Promise<GraphLayoutResult> {\n const graph = createElkLayoutGraph(scene);\n const layout = await elk.layout(graph);\n const positions = new Map<GraphSceneElementId, GraphPosition>();\n collectLayoutPositions(layout, 0, 0, positions);\n const nodeOffsets = new Map<GraphSceneElementId, GraphPosition>();\n collectLayoutOffsets(layout, 0, 0, nodeOffsets);\n const routes = new Map<GraphSceneElementId, GraphEdgeRoute>();\n collectEdgeRoutes(layout, 0, 0, nodeOffsets, routes);\n return { positions, routes };\n}\n\nexport function createElkLayoutGraph(scene: GraphScene): ElkNode {\n const childrenByParent = new Map<GraphSceneElementId | undefined, GraphSceneNode[]>();\n const portsByNode = new Map<GraphSceneElementId, ElkPort[]>();\n const elkEdges = scene.edges.map((edge): ElkExtendedEdge => {\n const sourcePortId = `${edge.id}:source`;\n const targetPortId = `${edge.id}:target`;\n appendPort(portsByNode, edge.from, {\n id: sourcePortId,\n width: 1,\n height: 1,\n layoutOptions: { 'elk.port.side': 'EAST' },\n });\n appendPort(portsByNode, edge.to, {\n id: targetPortId,\n width: 1,\n height: 1,\n layoutOptions: { 'elk.port.side': 'WEST' },\n });\n return {\n id: edge.id,\n sources: [sourcePortId],\n targets: [targetPortId],\n };\n });\n for (const node of scene.nodes) {\n const children = childrenByParent.get(node.parentId) ?? [];\n children.push(node);\n childrenByParent.set(node.parentId, children);\n }\n const createNode = (node: GraphSceneNode): ElkNode => {\n const children = childrenByParent.get(node.id)?.map(createNode);\n const dimensions = nodeDimensions(node);\n return {\n id: node.id,\n width: dimensions.width,\n height: dimensions.height,\n children,\n ports: portsByNode.get(node.id),\n layoutOptions: children?.length ? {\n 'elk.algorithm': 'layered',\n 'elk.direction': 'RIGHT',\n 'elk.edgeRouting': 'ORTHOGONAL',\n 'elk.hierarchyHandling': 'INCLUDE_CHILDREN',\n 'elk.portConstraints': 'FIXED_SIDE',\n 'elk.layered.mergeEdges': 'false',\n 'elk.layered.mergeHierarchyEdges': 'false',\n 'elk.padding': elkPadding(),\n 'elk.spacing.nodeNode': '36',\n 'elk.layered.spacing.nodeNodeBetweenLayers': '72',\n 'elk.spacing.edgeEdge': '10',\n 'elk.layered.spacing.edgeEdgeBetweenLayers': '10',\n } : {\n 'elk.portConstraints': 'FIXED_SIDE',\n },\n };\n };\n return {\n id: 'root',\n children: (childrenByParent.get(undefined) ?? []).map(createNode),\n edges: elkEdges,\n layoutOptions: {\n 'elk.algorithm': 'layered',\n 'elk.direction': 'RIGHT',\n 'elk.edgeRouting': 'ORTHOGONAL',\n 'elk.hierarchyHandling': 'INCLUDE_CHILDREN',\n 'elk.layered.mergeEdges': 'false',\n 'elk.layered.mergeHierarchyEdges': 'false',\n 'elk.spacing.nodeNode': '42',\n 'elk.layered.spacing.nodeNodeBetweenLayers': '88',\n 'elk.spacing.edgeNode': '20',\n 'elk.spacing.edgeEdge': '10',\n 'elk.layered.spacing.edgeEdgeBetweenLayers': '10',\n 'elk.layered.considerModelOrder.strategy': 'NODES_AND_EDGES',\n },\n };\n}\n\nexport function applyGraphLayout(core: cytoscape.Core, scene: GraphScene, layout: GraphLayoutResult): void {\n applyPositions(core, layout.positions);\n core.batch(() => {\n for (const edge of scene.edges) {\n const route = layout.routes.get(edge.id);\n const cytoscapeEdge = core.getElementById(edge.id);\n if (cytoscapeEdge.empty()) continue;\n const sourceNode = core.getElementById(edge.from);\n const targetNode = core.getElementById(edge.to);\n const routeData = sourceNode.nonempty() && targetNode.nonempty()\n ? createCytoscapeEdgeRouteData(route, sourceNode.position(), targetNode.position())\n : undefined;\n cytoscapeEdge\n .removeClass('elk-route elk-segments')\n .removeData('sourceEndpoint', 'targetEndpoint', 'segmentWeights', 'segmentDistances');\n if (!routeData) continue;\n cytoscapeEdge.data(routeData).addClass('elk-route');\n if (route!.bendPoints.length > 0) cytoscapeEdge.addClass('elk-segments');\n }\n });\n}\n\nexport function syncExpandedGroupLabelGeometry(core: cytoscape.Core): void {\n const groups = core.nodes('node[kind = \"group\"][collapsed = 0]');\n for (let iteration = 0; iteration < 2; iteration++) {\n const updates = groups.map((node) => ({\n node,\n labelMaxWidth: expandedGroupLabelMaxWidth(node.outerWidth()),\n }));\n core.batch(() => {\n for (const update of updates) update.node.data('labelMaxWidth', update.labelMaxWidth);\n });\n }\n}\n\nexport function createCytoscapeEdgeRouteData(\n route: GraphEdgeRoute | undefined,\n sourceCenter: GraphPosition,\n targetCenter: GraphPosition,\n): CytoscapeEdgeRouteData | undefined {\n if (!route || !isValidRoute(route)) return undefined;\n const segments = route.bendPoints.map((point) => segmentFromPoint(route.startPoint, route.endPoint, point));\n return {\n sourceEndpoint: endpointOffset(route.startPoint, sourceCenter),\n targetEndpoint: endpointOffset(route.endPoint, targetCenter),\n segmentWeights: segments.map((segment) => segment.weight).join(' '),\n segmentDistances: segments.map((segment) => segment.distance).join(' '),\n };\n}\n\nfunction elkPadding(): string {\n const padding = GRAPH_GEOMETRY.elkGroupPadding;\n return `[top=${padding.top},left=${padding.left},bottom=${padding.bottom},right=${padding.right}]`;\n}\n\nfunction appendPort(\n portsByNode: Map<GraphSceneElementId, ElkPort[]>,\n nodeId: GraphSceneElementId,\n port: ElkPort,\n): void {\n const ports = portsByNode.get(nodeId) ?? [];\n ports.push(port);\n portsByNode.set(nodeId, ports);\n}\n\nfunction collectLayoutPositions(\n node: ElkNode,\n offsetX: number,\n offsetY: number,\n positions: Map<GraphSceneElementId, GraphPosition>,\n): void {\n for (const child of node.children ?? []) {\n const x = offsetX + (child.x ?? 0);\n const y = offsetY + (child.y ?? 0);\n positions.set(child.id, {\n x: x + (child.width ?? 0) / 2,\n y: y + (child.height ?? 0) / 2,\n });\n collectLayoutPositions(child, x, y, positions);\n }\n}\n\nfunction collectLayoutOffsets(\n node: ElkNode,\n offsetX: number,\n offsetY: number,\n offsets: Map<GraphSceneElementId, GraphPosition>,\n): void {\n offsets.set(node.id, { x: offsetX, y: offsetY });\n for (const child of node.children ?? []) {\n collectLayoutOffsets(child, offsetX + (child.x ?? 0), offsetY + (child.y ?? 0), offsets);\n }\n}\n\nfunction collectEdgeRoutes(\n node: ElkNode,\n offsetX: number,\n offsetY: number,\n nodeOffsets: ReadonlyMap<GraphSceneElementId, GraphPosition>,\n routes: Map<GraphSceneElementId, GraphEdgeRoute>,\n): void {\n for (const edge of node.edges ?? []) {\n if (edge.sections?.length !== 1) continue;\n const section = edge.sections[0];\n if (!section) continue;\n // ELK may keep hierarchy edges on an ancestor while expressing their sections in container-local coordinates.\n const containerOffset = edge.container === undefined ? undefined : nodeOffsets.get(edge.container);\n const routeOffsetX = containerOffset?.x ?? offsetX;\n const routeOffsetY = containerOffset?.y ?? offsetY;\n routes.set(edge.id, {\n startPoint: offsetPoint(section.startPoint, routeOffsetX, routeOffsetY),\n bendPoints: (section.bendPoints ?? []).map((point) => offsetPoint(point, routeOffsetX, routeOffsetY)),\n endPoint: offsetPoint(section.endPoint, routeOffsetX, routeOffsetY),\n });\n }\n for (const child of node.children ?? []) {\n collectEdgeRoutes(\n child,\n offsetX + (child.x ?? 0),\n offsetY + (child.y ?? 0),\n nodeOffsets,\n routes,\n );\n }\n}\n\nfunction offsetPoint(point: GraphPosition, offsetX: number, offsetY: number): GraphPosition {\n return { x: point.x + offsetX, y: point.y + offsetY };\n}\n\nfunction isValidRoute(route: GraphEdgeRoute): boolean {\n const dx = route.endPoint.x - route.startPoint.x;\n const dy = route.endPoint.y - route.startPoint.y;\n return isFinitePoint(route.startPoint)\n && isFinitePoint(route.endPoint)\n && dx * dx + dy * dy > Number.EPSILON\n && route.bendPoints.every(isFinitePoint);\n}\n\nfunction isFinitePoint(point: GraphPosition): boolean {\n return Number.isFinite(point.x) && Number.isFinite(point.y);\n}\n\nfunction endpointOffset(point: GraphPosition, center: GraphPosition): string {\n return `${point.x - center.x}px ${point.y - center.y}px`;\n}\n\nfunction applyPositions(core: cytoscape.Core, positions: ReadonlyMap<GraphSceneElementId, GraphPosition>): void {\n core.batch(() => {\n for (const [id, position] of positions) {\n const node = core.getElementById(id);\n if (node.nonempty() && node.isNode() && !node.isParent()) node.position(position);\n }\n });\n}\n\nfunction segmentFromPoint(source: GraphPosition, target: GraphPosition, point: GraphPosition) {\n const dx = target.x - source.x;\n const dy = target.y - source.y;\n const lengthSquared = dx * dx + dy * dy;\n if (lengthSquared === 0) return { weight: 0.5, distance: 0 };\n const weight = ((point.x - source.x) * dx + (point.y - source.y) * dy) / lengthSquared;\n const projectedX = source.x + weight * dx;\n const projectedY = source.y + weight * dy;\n const length = Math.sqrt(lengthSquared);\n const distance = ((point.x - projectedX) * -dy + (point.y - projectedY) * dx) / length;\n return { weight, distance };\n}\n"]}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { GraphScene, GraphSceneElementId } from './panelGraphScene.ts';
|
|
2
|
+
import type { Selection } from './panelTypes.ts';
|
|
3
|
+
export type GraphRenderRequest = {
|
|
4
|
+
readonly scene: GraphScene;
|
|
5
|
+
readonly selected: Selection | undefined;
|
|
6
|
+
readonly hovered: Selection | undefined;
|
|
7
|
+
readonly fit: boolean;
|
|
8
|
+
readonly anchorElementId?: GraphSceneElementId;
|
|
9
|
+
readonly onSelect: (selection: Selection) => void;
|
|
10
|
+
readonly onHover: (selection: Selection | undefined) => void;
|
|
11
|
+
readonly onToggleGroup: (pathKey: string) => void;
|
|
12
|
+
};
|
|
13
|
+
export interface GraphRenderer {
|
|
14
|
+
render(request: GraphRenderRequest): void;
|
|
15
|
+
resize(): void;
|
|
16
|
+
fit(): void;
|
|
17
|
+
relayout(): void;
|
|
18
|
+
destroy(): void;
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=panelGraphRenderer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"panelGraphRenderer.d.ts","sourceRoot":"","sources":["../src/panelGraphRenderer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC5E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAEjD,MAAM,MAAM,kBAAkB,GAAG;IAC7B,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC;IAC3B,QAAQ,CAAC,QAAQ,EAAE,SAAS,GAAG,SAAS,CAAC;IACzC,QAAQ,CAAC,OAAO,EAAE,SAAS,GAAG,SAAS,CAAC;IACxC,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,eAAe,CAAC,EAAE,mBAAmB,CAAC;IAC/C,QAAQ,CAAC,QAAQ,EAAE,CAAC,SAAS,EAAE,SAAS,KAAK,IAAI,CAAC;IAClD,QAAQ,CAAC,OAAO,EAAE,CAAC,SAAS,EAAE,SAAS,GAAG,SAAS,KAAK,IAAI,CAAC;IAC7D,QAAQ,CAAC,aAAa,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CACrD,CAAC;AAEF,MAAM,WAAW,aAAa;IAC1B,MAAM,CAAC,OAAO,EAAE,kBAAkB,GAAG,IAAI,CAAC;IAC1C,MAAM,IAAI,IAAI,CAAC;IACf,GAAG,IAAI,IAAI,CAAC;IACZ,QAAQ,IAAI,IAAI,CAAC;IACjB,OAAO,IAAI,IAAI,CAAC;CACnB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"panelGraphRenderer.js","sourceRoot":"","sources":["../src/panelGraphRenderer.ts"],"names":[],"mappings":"","sourcesContent":["import type { GraphScene, GraphSceneElementId } from './panelGraphScene.ts';\nimport type { Selection } from './panelTypes.ts';\n\nexport type GraphRenderRequest = {\n readonly scene: GraphScene;\n readonly selected: Selection | undefined;\n readonly hovered: Selection | undefined;\n readonly fit: boolean;\n readonly anchorElementId?: GraphSceneElementId;\n readonly onSelect: (selection: Selection) => void;\n readonly onHover: (selection: Selection | undefined) => void;\n readonly onToggleGroup: (pathKey: string) => void;\n};\n\nexport interface GraphRenderer {\n render(request: GraphRenderRequest): void;\n resize(): void;\n fit(): void;\n relayout(): void;\n destroy(): void;\n}\n"]}
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
import type { FrameGraphDebugAccessEdge, FrameGraphDebugEdge, FrameGraphDebugNode, FrameGraphDebugResource, FrameGraphDebugViewModel } from './debugCaptureModel.ts';
|
|
2
|
+
import type { GraphViewMode, Selection } from './panelTypes.ts';
|
|
3
|
+
export type GraphSceneElementId = string;
|
|
4
|
+
type GraphSceneNodeBase = {
|
|
5
|
+
readonly id: GraphSceneElementId;
|
|
6
|
+
readonly label: string;
|
|
7
|
+
readonly overviewLabel: string;
|
|
8
|
+
readonly title: string;
|
|
9
|
+
readonly parentId?: GraphSceneElementId;
|
|
10
|
+
};
|
|
11
|
+
export type PassSceneNode = GraphSceneNodeBase & {
|
|
12
|
+
readonly kind: 'pass';
|
|
13
|
+
readonly nodeId: string;
|
|
14
|
+
readonly passKind: FrameGraphDebugNode['kind'];
|
|
15
|
+
readonly executionSegmentIndex?: number;
|
|
16
|
+
readonly gpuDurationMicros?: number;
|
|
17
|
+
};
|
|
18
|
+
export type CulledPassSceneNode = GraphSceneNodeBase & {
|
|
19
|
+
readonly kind: 'culled-pass';
|
|
20
|
+
readonly culledIndex: number;
|
|
21
|
+
readonly nodeId: string;
|
|
22
|
+
readonly passKind: FrameGraphDebugNode['kind'];
|
|
23
|
+
readonly reason: string;
|
|
24
|
+
};
|
|
25
|
+
export type GroupSceneNode = GraphSceneNodeBase & {
|
|
26
|
+
readonly kind: 'group';
|
|
27
|
+
readonly groupId: string;
|
|
28
|
+
readonly groupPathKey: string;
|
|
29
|
+
readonly collapsed: boolean;
|
|
30
|
+
readonly depthBand: 0 | 1;
|
|
31
|
+
readonly childNodeIds: readonly GraphSceneElementId[];
|
|
32
|
+
readonly representedNodeIds: readonly string[];
|
|
33
|
+
readonly retainedNodeCount: number;
|
|
34
|
+
readonly culledNodeCount: number;
|
|
35
|
+
readonly gpuWorkDurationMicros: number;
|
|
36
|
+
readonly timedNodeCount: number;
|
|
37
|
+
readonly timingEligibleNodeCount: number;
|
|
38
|
+
};
|
|
39
|
+
export type ResourceSceneNode = GraphSceneNodeBase & {
|
|
40
|
+
readonly kind: 'resource';
|
|
41
|
+
readonly resourceId: string;
|
|
42
|
+
readonly resourceKind: FrameGraphDebugResource['kind'];
|
|
43
|
+
};
|
|
44
|
+
export type GraphSceneNode = PassSceneNode | CulledPassSceneNode | GroupSceneNode | ResourceSceneNode;
|
|
45
|
+
type GraphSceneEdgeBase = {
|
|
46
|
+
readonly id: GraphSceneElementId;
|
|
47
|
+
readonly from: GraphSceneElementId;
|
|
48
|
+
readonly to: GraphSceneElementId;
|
|
49
|
+
readonly label?: string;
|
|
50
|
+
readonly title: string;
|
|
51
|
+
readonly resourceId: string;
|
|
52
|
+
};
|
|
53
|
+
export type DependencySceneEdge = GraphSceneEdgeBase & {
|
|
54
|
+
readonly kind: 'dependency';
|
|
55
|
+
readonly dependencyKind: FrameGraphDebugEdge['kind'];
|
|
56
|
+
readonly underlyingDependencies: readonly FrameGraphDebugEdge[];
|
|
57
|
+
readonly underlyingDependencyCount: number;
|
|
58
|
+
};
|
|
59
|
+
export type AccessSceneEdge = GraphSceneEdgeBase & {
|
|
60
|
+
readonly kind: 'access';
|
|
61
|
+
readonly accessId: string;
|
|
62
|
+
readonly accessMode: FrameGraphDebugAccessEdge['mode'];
|
|
63
|
+
readonly access: FrameGraphDebugAccessEdge['access'];
|
|
64
|
+
readonly dashed: boolean;
|
|
65
|
+
};
|
|
66
|
+
export type GraphSceneEdge = DependencySceneEdge | AccessSceneEdge;
|
|
67
|
+
export type GraphSemanticReferences = {
|
|
68
|
+
readonly nodeIds: readonly string[];
|
|
69
|
+
readonly groupPathKeys: readonly string[];
|
|
70
|
+
readonly resourceIds: readonly string[];
|
|
71
|
+
readonly accessIds: readonly string[];
|
|
72
|
+
readonly dependencies: readonly FrameGraphDebugEdge[];
|
|
73
|
+
};
|
|
74
|
+
export type GraphSceneInteractionIndex = {
|
|
75
|
+
readonly selectionByElementId: ReadonlyMap<GraphSceneElementId, Selection>;
|
|
76
|
+
readonly primaryElementIdsBySelection: ReadonlyMap<string, readonly GraphSceneElementId[]>;
|
|
77
|
+
readonly relatedElementIdsBySelection: ReadonlyMap<string, readonly GraphSceneElementId[]>;
|
|
78
|
+
readonly semanticReferencesByElementId: ReadonlyMap<GraphSceneElementId, GraphSemanticReferences>;
|
|
79
|
+
};
|
|
80
|
+
export type GraphScene = {
|
|
81
|
+
readonly mode: GraphViewMode;
|
|
82
|
+
readonly nodes: readonly GraphSceneNode[];
|
|
83
|
+
readonly edges: readonly GraphSceneEdge[];
|
|
84
|
+
readonly topologyKey: string;
|
|
85
|
+
readonly contentKey: string;
|
|
86
|
+
readonly interaction: GraphSceneInteractionIndex;
|
|
87
|
+
};
|
|
88
|
+
export type CreateGraphSceneOptions = {
|
|
89
|
+
readonly mode: GraphViewMode;
|
|
90
|
+
readonly groupsEnabled: boolean;
|
|
91
|
+
readonly expandedGroupPaths: ReadonlySet<string>;
|
|
92
|
+
};
|
|
93
|
+
export declare function createGraphScene(snapshot: FrameGraphDebugViewModel, options: CreateGraphSceneOptions): GraphScene;
|
|
94
|
+
export declare function graphGroupElementId(pathKey: string): GraphSceneElementId;
|
|
95
|
+
export declare function selectionKey(selection: Selection): string;
|
|
96
|
+
export declare function indexAccessesByResourceId(accesses: readonly FrameGraphDebugAccessEdge[]): ReadonlyMap<string, readonly FrameGraphDebugAccessEdge[]>;
|
|
97
|
+
export {};
|
|
98
|
+
//# sourceMappingURL=panelGraphScene.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"panelGraphScene.d.ts","sourceRoot":"","sources":["../src/panelGraphScene.ts"],"names":[],"mappings":"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"}
|