@zenfg/inspector 0.1.0-beta.3 → 0.1.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/GUIDE.md +182 -0
- package/README.md +61 -89
- package/THEMING.md +124 -0
- package/dist/FrameGraphInspector.d.ts +23 -4
- package/dist/FrameGraphInspector.d.ts.map +1 -1
- package/dist/FrameGraphInspector.js +137 -29
- package/dist/FrameGraphInspector.js.map +1 -1
- package/dist/capture.d.ts +5 -0
- package/dist/capture.d.ts.map +1 -0
- package/dist/capture.js +2 -0
- package/dist/capture.js.map +1 -0
- package/dist/debugCaptureModel.d.ts +19 -0
- package/dist/debugCaptureModel.d.ts.map +1 -1
- package/dist/debugCaptureModel.js +36 -2
- package/dist/debugCaptureModel.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/panelAliasAnalysis.d.ts +1 -0
- package/dist/panelAliasAnalysis.d.ts.map +1 -1
- package/dist/panelAliasAnalysis.js +23 -54
- package/dist/panelAliasAnalysis.js.map +1 -1
- package/dist/panelCytoscapeGraphRenderer.d.ts +15 -2
- package/dist/panelCytoscapeGraphRenderer.d.ts.map +1 -1
- package/dist/panelCytoscapeGraphRenderer.js +145 -23
- package/dist/panelCytoscapeGraphRenderer.js.map +1 -1
- package/dist/panelDetailLayout.d.ts +27 -0
- package/dist/panelDetailLayout.d.ts.map +1 -0
- package/dist/panelDetailLayout.js +174 -0
- package/dist/panelDetailLayout.js.map +1 -0
- package/dist/panelDetailStyles.d.ts +2 -0
- package/dist/panelDetailStyles.d.ts.map +1 -0
- package/dist/panelDetailStyles.js +57 -0
- package/dist/panelDetailStyles.js.map +1 -0
- package/dist/panelDiagnosticsView.d.ts +10 -1
- package/dist/panelDiagnosticsView.d.ts.map +1 -1
- package/dist/panelDiagnosticsView.js +166 -57
- package/dist/panelDiagnosticsView.js.map +1 -1
- package/dist/panelDomHelpers.d.ts.map +1 -1
- package/dist/panelDomHelpers.js +6 -5
- package/dist/panelDomHelpers.js.map +1 -1
- package/dist/panelGraphLayout.d.ts +3 -2
- package/dist/panelGraphLayout.d.ts.map +1 -1
- package/dist/panelGraphLayout.js +6 -5
- package/dist/panelGraphLayout.js.map +1 -1
- package/dist/panelGraphRenderer.d.ts +10 -0
- package/dist/panelGraphRenderer.d.ts.map +1 -1
- package/dist/panelGraphRenderer.js.map +1 -1
- package/dist/panelGraphScene.d.ts +1 -0
- package/dist/panelGraphScene.d.ts.map +1 -1
- package/dist/panelGraphScene.js +69 -32
- package/dist/panelGraphScene.js.map +1 -1
- package/dist/panelGraphSearch.d.ts +16 -0
- package/dist/panelGraphSearch.d.ts.map +1 -0
- package/dist/panelGraphSearch.js +93 -0
- package/dist/panelGraphSearch.js.map +1 -0
- package/dist/panelGraphView.d.ts +82 -0
- package/dist/panelGraphView.d.ts.map +1 -1
- package/dist/panelGraphView.js +15 -4
- package/dist/panelGraphView.js.map +1 -1
- package/dist/panelGraphVisuals.d.ts +14 -6
- package/dist/panelGraphVisuals.d.ts.map +1 -1
- package/dist/panelGraphVisuals.js +126 -51
- package/dist/panelGraphVisuals.js.map +1 -1
- package/dist/panelInspectorView.d.ts +8 -0
- package/dist/panelInspectorView.d.ts.map +1 -1
- package/dist/panelInspectorView.js +242 -48
- package/dist/panelInspectorView.js.map +1 -1
- package/dist/panelListStyles.d.ts +3 -0
- package/dist/panelListStyles.d.ts.map +1 -0
- package/dist/panelListStyles.js +155 -0
- package/dist/panelListStyles.js.map +1 -0
- package/dist/panelMemoryStyles.d.ts +3 -0
- package/dist/panelMemoryStyles.d.ts.map +1 -0
- package/dist/panelMemoryStyles.js +42 -0
- package/dist/panelMemoryStyles.js.map +1 -0
- package/dist/panelMemoryView.d.ts +13 -1
- package/dist/panelMemoryView.d.ts.map +1 -1
- package/dist/panelMemoryView.js +161 -41
- package/dist/panelMemoryView.js.map +1 -1
- package/dist/panelPassesView.d.ts +15 -0
- package/dist/panelPassesView.d.ts.map +1 -1
- package/dist/panelPassesView.js +202 -72
- package/dist/panelPassesView.js.map +1 -1
- package/dist/panelRawView.d.ts +15 -0
- package/dist/panelRawView.d.ts.map +1 -0
- package/dist/panelRawView.js +105 -0
- package/dist/panelRawView.js.map +1 -0
- package/dist/panelResourcesView.d.ts +8 -0
- package/dist/panelResourcesView.d.ts.map +1 -1
- package/dist/panelResourcesView.js +62 -31
- package/dist/panelResourcesView.js.map +1 -1
- package/dist/panelSelection.d.ts +9 -1
- package/dist/panelSelection.d.ts.map +1 -1
- package/dist/panelSelection.js +34 -4
- package/dist/panelSelection.js.map +1 -1
- package/dist/panelTheme.d.ts +13 -0
- package/dist/panelTheme.d.ts.map +1 -0
- package/dist/panelTheme.js +104 -0
- package/dist/panelTheme.js.map +1 -0
- package/dist/panelTypes.d.ts +10 -1
- package/dist/panelTypes.d.ts.map +1 -1
- package/dist/panelTypes.js.map +1 -1
- package/dist/panelVisualTheme.d.ts +147 -50
- package/dist/panelVisualTheme.d.ts.map +1 -1
- package/dist/panelVisualTheme.js +34 -44
- package/dist/panelVisualTheme.js.map +1 -1
- package/dist/panelWorkbenchHelpers.d.ts +12 -1
- package/dist/panelWorkbenchHelpers.d.ts.map +1 -1
- package/dist/panelWorkbenchHelpers.js +62 -1
- package/dist/panelWorkbenchHelpers.js.map +1 -1
- package/dist/panelWorkbenchStyles.d.ts +2 -0
- package/dist/panelWorkbenchStyles.d.ts.map +1 -0
- package/dist/panelWorkbenchStyles.js +101 -0
- package/dist/panelWorkbenchStyles.js.map +1 -0
- package/dist/panelWorkbenchView.d.ts +16 -0
- package/dist/panelWorkbenchView.d.ts.map +1 -1
- package/dist/panelWorkbenchView.js +228 -50
- package/dist/panelWorkbenchView.js.map +1 -1
- package/dist/query.js.map +1 -1
- package/dist/styles.d.ts.map +1 -1
- package/dist/styles.js +147 -195
- package/dist/styles.js.map +1 -1
- package/dist/theme.d.ts +22 -0
- package/dist/theme.d.ts.map +1 -0
- package/dist/theme.js +10 -0
- package/dist/theme.js.map +1 -0
- package/dist/themeDefinitions.d.ts +251 -0
- package/dist/themeDefinitions.d.ts.map +1 -0
- package/dist/themeDefinitions.js +96 -0
- package/dist/themeDefinitions.js.map +1 -0
- package/dist/themePalette.d.ts +66 -0
- package/dist/themePalette.d.ts.map +1 -0
- package/dist/themePalette.js +37 -0
- package/dist/themePalette.js.map +1 -0
- package/dist/themes.css +165 -0
- package/package.json +44 -10
- package/src/FrameGraphInspector.ts +130 -31
- package/src/capture.ts +4 -0
- package/src/debugCaptureModel.ts +53 -2
- package/src/index.ts +6 -2
- package/src/panelAliasAnalysis.ts +24 -70
- package/src/panelCytoscapeGraphRenderer.ts +140 -23
- package/src/panelDetailLayout.ts +155 -0
- package/src/panelDetailStyles.ts +56 -0
- package/src/panelDiagnosticsView.ts +166 -85
- package/src/panelDomHelpers.ts +4 -5
- package/src/panelGraphLayout.ts +6 -5
- package/src/panelGraphRenderer.ts +7 -0
- package/src/panelGraphScene.ts +68 -30
- package/src/panelGraphSearch.ts +96 -0
- package/src/panelGraphView.ts +14 -4
- package/src/panelGraphVisuals.ts +122 -52
- package/src/panelInspectorView.ts +227 -48
- package/src/panelListStyles.ts +154 -0
- package/src/panelMemoryStyles.ts +41 -0
- package/src/panelMemoryView.ts +178 -53
- package/src/panelPassesView.ts +190 -137
- package/src/panelRawView.ts +99 -0
- package/src/panelResourcesView.ts +69 -56
- package/src/panelSelection.ts +37 -5
- package/src/panelTheme.ts +85 -0
- package/src/panelTypes.ts +7 -1
- package/src/panelVisualTheme.ts +38 -49
- package/src/panelWorkbenchHelpers.ts +60 -2
- package/src/panelWorkbenchStyles.ts +100 -0
- package/src/panelWorkbenchView.ts +201 -52
- package/src/query.ts +11 -11
- package/src/styles.ts +148 -195
- package/src/theme.ts +24 -0
- package/src/themeDefinitions.ts +103 -0
- package/src/themePalette.ts +44 -0
package/src/styles.ts
CHANGED
|
@@ -1,30 +1,16 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { themeDefaultsCss } from './themeDefinitions.ts';
|
|
2
|
+
import { PANEL_WORKBENCH_CSS } from './panelWorkbenchStyles.ts';
|
|
3
|
+
import { PANEL_LIST_CSS } from './panelListStyles.ts';
|
|
4
|
+
import { PANEL_DETAIL_CSS } from './panelDetailStyles.ts';
|
|
5
|
+
import { PANEL_MEMORY_CSS } from './panelMemoryStyles.ts';
|
|
2
6
|
|
|
3
7
|
const STYLE_ELEMENT_ID = 'zenfg-inspector-panel-styles';
|
|
4
|
-
|
|
8
|
+
|
|
5
9
|
|
|
6
10
|
const FRAME_GRAPH_DEBUG_PANEL_CSS = `
|
|
7
11
|
/* Tokens and workbench root */
|
|
8
12
|
.zenfg-inspector {
|
|
9
|
-
|
|
10
|
-
--fgd-panel: var(--zenfg-inspector-background, ${theme.panel});
|
|
11
|
-
--fgd-surface: var(--zenfg-inspector-surface, ${theme.surface});
|
|
12
|
-
--fgd-surface-raised: var(--zenfg-inspector-surface-raised, ${theme.surfaceRaised});
|
|
13
|
-
--fgd-surface-hover: var(--zenfg-inspector-surface-hover, ${theme.surfaceHover});
|
|
14
|
-
--fgd-border: var(--zenfg-inspector-border, ${theme.border});
|
|
15
|
-
--fgd-border-subtle: var(--zenfg-inspector-border-subtle, rgba(180, 190, 202, 0.11));
|
|
16
|
-
--fgd-border-strong: var(--zenfg-inspector-border-strong, rgba(180, 190, 202, 0.28));
|
|
17
|
-
--fgd-text: var(--zenfg-inspector-text, ${theme.text});
|
|
18
|
-
--fgd-text-secondary: var(--zenfg-inspector-text-secondary, ${theme.textSecondary});
|
|
19
|
-
--fgd-muted: var(--zenfg-inspector-muted, ${theme.muted});
|
|
20
|
-
--fgd-accent: var(--zenfg-inspector-accent, ${theme.accent});
|
|
21
|
-
--fgd-accent-soft: var(--zenfg-inspector-accent-soft, rgba(56, 189, 248, 0.12));
|
|
22
|
-
--fgd-accent-hover: var(--zenfg-inspector-accent-hover, rgba(56, 189, 248, 0.18));
|
|
23
|
-
--fgd-success: var(--zenfg-inspector-success, ${theme.success});
|
|
24
|
-
--fgd-warning: var(--zenfg-inspector-warning, ${theme.warning});
|
|
25
|
-
--fgd-danger: var(--zenfg-inspector-danger, ${theme.danger});
|
|
26
|
-
--fgd-font-ui: var(--zenfg-inspector-font-ui, ${theme.fontUi});
|
|
27
|
-
--fgd-font-mono: var(--zenfg-inspector-font-mono, ${theme.fontMono});
|
|
13
|
+
${themeDefaultsCss}
|
|
28
14
|
position: relative;
|
|
29
15
|
display: block;
|
|
30
16
|
width: 100%;
|
|
@@ -35,9 +21,8 @@ const FRAME_GRAPH_DEBUG_PANEL_CSS = `
|
|
|
35
21
|
color: var(--fgd-text);
|
|
36
22
|
background: var(--fgd-canvas);
|
|
37
23
|
font-family: var(--fgd-font-ui);
|
|
38
|
-
font-size: 12px;
|
|
39
24
|
line-height: 1.45;
|
|
40
|
-
color-scheme: dark;
|
|
25
|
+
color-scheme: var(--zfgi-color-scheme, dark);
|
|
41
26
|
container-name: zenfg-inspector;
|
|
42
27
|
container-type: inline-size;
|
|
43
28
|
}
|
|
@@ -53,7 +38,7 @@ const FRAME_GRAPH_DEBUG_PANEL_CSS = `
|
|
|
53
38
|
overflow: hidden;
|
|
54
39
|
border: 0;
|
|
55
40
|
border-radius: 0;
|
|
56
|
-
background: var(--
|
|
41
|
+
background: var(--fgd-panel);
|
|
57
42
|
}
|
|
58
43
|
|
|
59
44
|
.zenfg-inspector-content {
|
|
@@ -71,15 +56,15 @@ const FRAME_GRAPH_DEBUG_PANEL_CSS = `
|
|
|
71
56
|
place-content: center;
|
|
72
57
|
gap: 6px;
|
|
73
58
|
border: 2px dashed var(--fgd-accent);
|
|
74
|
-
border-radius: var(--
|
|
75
|
-
color:
|
|
59
|
+
border-radius: var(--fgd-radius-md);
|
|
60
|
+
color: var(--fgd-accent);
|
|
76
61
|
background: color-mix(in srgb, var(--fgd-canvas) 90%, transparent);
|
|
77
|
-
font: 600
|
|
62
|
+
font: 600 var(--fgd-font-size)/1.4 var(--fgd-font-ui);
|
|
78
63
|
text-align: center;
|
|
79
64
|
pointer-events: none;
|
|
80
65
|
}
|
|
81
66
|
.zenfg-inspector-drop-overlay[hidden] { display: none; }
|
|
82
|
-
.zenfg-inspector-drop-overlay > span { color: var(--fgd-muted); font-size:
|
|
67
|
+
.zenfg-inspector-drop-overlay > span { color: var(--fgd-muted); font-size: var(--fgd-font-size-small); }
|
|
83
68
|
|
|
84
69
|
.zenfg-inspector-capture-summary[hidden],
|
|
85
70
|
.zenfg-inspector-command-status[hidden],
|
|
@@ -93,7 +78,7 @@ const FRAME_GRAPH_DEBUG_PANEL_CSS = `
|
|
|
93
78
|
.zenfg-inspector-muted {
|
|
94
79
|
margin: 0;
|
|
95
80
|
color: var(--fgd-muted);
|
|
96
|
-
font:
|
|
81
|
+
font: var(--fgd-font-size-small)/1.5 var(--fgd-font-ui);
|
|
97
82
|
}
|
|
98
83
|
|
|
99
84
|
.zenfg-inspector-control-icon {
|
|
@@ -110,14 +95,19 @@ const FRAME_GRAPH_DEBUG_PANEL_CSS = `
|
|
|
110
95
|
.zenfg-inspector-workbench-tabs,
|
|
111
96
|
.zenfg-inspector-graph-legend {
|
|
112
97
|
scrollbar-width: thin;
|
|
113
|
-
scrollbar-color:
|
|
98
|
+
scrollbar-color: var(--fgd-border) transparent;
|
|
114
99
|
}
|
|
115
100
|
|
|
101
|
+
/* Common control states apply consistently across all workbench views. */
|
|
102
|
+
.zenfg-inspector :is(button, input, select, textarea) { font-family: var(--fgd-font-ui); }
|
|
103
|
+
.zenfg-inspector :is(button, input, select, textarea, summary, [tabindex]):focus-visible { outline: 2px solid var(--fgd-accent); outline-offset: 2px; }
|
|
104
|
+
/* The modal dismiss button must retain its translucent scrim while pressed. */
|
|
105
|
+
.zenfg-inspector button:active:not(:disabled):not(.zenfg-inspector-detail-backdrop) { background: var(--fgd-accent-soft); }
|
|
106
|
+
.zenfg-inspector :is(button, input, select):disabled { cursor: default; opacity: .5; }
|
|
107
|
+
.zenfg-inspector ::selection { color: var(--fgd-text); background: var(--fgd-accent-soft); }
|
|
116
108
|
/* Workbench and summary */
|
|
117
109
|
.zenfg-inspector-workbench {
|
|
118
|
-
display: grid;
|
|
119
110
|
grid-template-rows: auto minmax(0, 1fr);
|
|
120
|
-
gap: 8px;
|
|
121
111
|
height: 100%;
|
|
122
112
|
min-width: 0;
|
|
123
113
|
min-height: 0;
|
|
@@ -126,37 +116,28 @@ const FRAME_GRAPH_DEBUG_PANEL_CSS = `
|
|
|
126
116
|
|
|
127
117
|
.zenfg-inspector-capture-summary {
|
|
128
118
|
display: grid;
|
|
129
|
-
grid-template-columns: repeat(auto-fit, minmax(min(230px, 100%), 1fr));
|
|
130
119
|
align-content: start;
|
|
131
|
-
gap: 8px;
|
|
132
120
|
min-width: 0;
|
|
133
121
|
background: transparent;
|
|
134
122
|
}
|
|
135
123
|
|
|
136
124
|
.zenfg-inspector-capture-summary > section {
|
|
137
125
|
min-width: 0;
|
|
138
|
-
padding: 12px;
|
|
139
126
|
border: 1px solid var(--fgd-border-subtle);
|
|
140
|
-
border-radius:
|
|
141
|
-
background: var(--fgd-surface);
|
|
127
|
+
border-radius: var(--fgd-radius-sm);
|
|
142
128
|
}
|
|
143
129
|
|
|
144
130
|
.zenfg-inspector-capture-summary h2 {
|
|
145
131
|
margin: 0 0 5px;
|
|
146
132
|
color: var(--fgd-text-secondary);
|
|
147
|
-
font-size: 10px;
|
|
148
133
|
font-weight: 700;
|
|
149
|
-
letter-spacing: 0.075em;
|
|
150
134
|
line-height: 1.2;
|
|
151
|
-
text-transform: uppercase;
|
|
152
135
|
}
|
|
153
136
|
|
|
154
137
|
.zenfg-inspector-capture-summary section > div {
|
|
155
138
|
display: grid;
|
|
156
|
-
|
|
157
|
-
gap: 8px;
|
|
139
|
+
gap: var(--fgd-space-2);
|
|
158
140
|
min-width: 0;
|
|
159
|
-
font-size: 11px;
|
|
160
141
|
line-height: 1.5;
|
|
161
142
|
}
|
|
162
143
|
|
|
@@ -165,10 +146,9 @@ const FRAME_GRAPH_DEBUG_PANEL_CSS = `
|
|
|
165
146
|
min-width: 0;
|
|
166
147
|
overflow: hidden;
|
|
167
148
|
color: var(--fgd-text);
|
|
168
|
-
font: 600
|
|
149
|
+
font: 600 var(--fgd-font-size-small)/1.5 var(--fgd-font-mono);
|
|
169
150
|
text-align: right;
|
|
170
151
|
text-overflow: ellipsis;
|
|
171
|
-
white-space: nowrap;
|
|
172
152
|
}
|
|
173
153
|
|
|
174
154
|
/* Command bar, tabs, and controls */
|
|
@@ -189,11 +169,11 @@ const FRAME_GRAPH_DEBUG_PANEL_CSS = `
|
|
|
189
169
|
display: flex;
|
|
190
170
|
align-items: center;
|
|
191
171
|
min-width: 0;
|
|
192
|
-
min-height:
|
|
193
|
-
padding: 0
|
|
172
|
+
min-height: var(--fgd-control-height);
|
|
173
|
+
padding: 0 var(--fgd-space-3) 0 var(--fgd-space-1);
|
|
194
174
|
overflow: hidden;
|
|
195
175
|
color: var(--fgd-text);
|
|
196
|
-
font: 700
|
|
176
|
+
font: 700 var(--fgd-font-size-small)/1 var(--fgd-font-ui);
|
|
197
177
|
letter-spacing: 0.015em;
|
|
198
178
|
text-overflow: ellipsis;
|
|
199
179
|
white-space: nowrap;
|
|
@@ -219,20 +199,28 @@ const FRAME_GRAPH_DEBUG_PANEL_CSS = `
|
|
|
219
199
|
}
|
|
220
200
|
|
|
221
201
|
.zenfg-inspector-workbench-tabs {
|
|
202
|
+
align-self: stretch;
|
|
203
|
+
align-items: stretch;
|
|
222
204
|
overflow-x: auto;
|
|
223
205
|
border-bottom: 0;
|
|
224
206
|
}
|
|
225
207
|
|
|
208
|
+
.zenfg-inspector-workbench-tabs > button {
|
|
209
|
+
display: inline-flex;
|
|
210
|
+
align-items: center;
|
|
211
|
+
justify-content: center;
|
|
212
|
+
}
|
|
213
|
+
|
|
226
214
|
.zenfg-inspector-workbench-tabs > button,
|
|
227
215
|
.zenfg-inspector-subtabs > button,
|
|
228
216
|
.zenfg-inspector-inspector-tabs > button {
|
|
229
|
-
min-height:
|
|
217
|
+
min-height: var(--fgd-control-height);
|
|
230
218
|
padding: 6px 10px;
|
|
231
219
|
border: 0;
|
|
232
220
|
border-bottom: 2px solid transparent;
|
|
233
221
|
color: var(--fgd-muted);
|
|
234
222
|
background: transparent;
|
|
235
|
-
font: 600
|
|
223
|
+
font: 600 var(--fgd-font-size)/1 var(--fgd-font-ui);
|
|
236
224
|
white-space: nowrap;
|
|
237
225
|
cursor: pointer;
|
|
238
226
|
transition: color 120ms ease, background-color 120ms ease, border-color 120ms ease;
|
|
@@ -242,7 +230,7 @@ const FRAME_GRAPH_DEBUG_PANEL_CSS = `
|
|
|
242
230
|
.zenfg-inspector-subtabs > button:hover:not(:disabled),
|
|
243
231
|
.zenfg-inspector-inspector-tabs > button:hover:not(:disabled) {
|
|
244
232
|
color: var(--fgd-text-secondary);
|
|
245
|
-
background:
|
|
233
|
+
background: var(--fgd-surface-hover);
|
|
246
234
|
}
|
|
247
235
|
|
|
248
236
|
.zenfg-inspector-workbench-tabs > button.active,
|
|
@@ -261,7 +249,7 @@ const FRAME_GRAPH_DEBUG_PANEL_CSS = `
|
|
|
261
249
|
display: flex;
|
|
262
250
|
align-items: center;
|
|
263
251
|
gap: 6px;
|
|
264
|
-
padding
|
|
252
|
+
padding: var(--fgd-space-1) 0 var(--fgd-space-1) var(--fgd-space-2);
|
|
265
253
|
overflow-x: auto;
|
|
266
254
|
scrollbar-width: thin;
|
|
267
255
|
}
|
|
@@ -273,11 +261,11 @@ const FRAME_GRAPH_DEBUG_PANEL_CSS = `
|
|
|
273
261
|
right: 0;
|
|
274
262
|
display: grid;
|
|
275
263
|
min-width: 142px;
|
|
276
|
-
padding:
|
|
264
|
+
padding: var(--fgd-space-1);
|
|
277
265
|
border: 1px solid var(--fgd-border-strong);
|
|
278
|
-
border-radius:
|
|
266
|
+
border-radius: var(--fgd-radius-sm);
|
|
279
267
|
background: var(--fgd-surface-raised);
|
|
280
|
-
box-shadow:
|
|
268
|
+
box-shadow: var(--fgd-shadow);
|
|
281
269
|
}
|
|
282
270
|
.zenfg-inspector-export-menu[hidden] { display: none; }
|
|
283
271
|
.zenfg-inspector-export-menu > button {
|
|
@@ -286,10 +274,10 @@ const FRAME_GRAPH_DEBUG_PANEL_CSS = `
|
|
|
286
274
|
gap: 7px;
|
|
287
275
|
padding: 7px 9px;
|
|
288
276
|
border: 0;
|
|
289
|
-
border-radius:
|
|
277
|
+
border-radius: var(--fgd-radius-sm);
|
|
290
278
|
color: var(--fgd-text-secondary);
|
|
291
279
|
background: transparent;
|
|
292
|
-
font: 600
|
|
280
|
+
font: 600 var(--fgd-font-size)/1.2 var(--fgd-font-ui);
|
|
293
281
|
text-align: left;
|
|
294
282
|
white-space: nowrap;
|
|
295
283
|
cursor: pointer;
|
|
@@ -308,14 +296,14 @@ const FRAME_GRAPH_DEBUG_PANEL_CSS = `
|
|
|
308
296
|
align-items: center;
|
|
309
297
|
justify-content: center;
|
|
310
298
|
gap: 6px;
|
|
311
|
-
height:
|
|
312
|
-
min-height:
|
|
299
|
+
height: var(--fgd-control-height);
|
|
300
|
+
min-height: var(--fgd-control-height);
|
|
313
301
|
padding: 0 9px;
|
|
314
302
|
border: 1px solid var(--fgd-border);
|
|
315
|
-
border-radius:
|
|
303
|
+
border-radius: var(--fgd-radius-sm);
|
|
316
304
|
color: var(--fgd-text-secondary);
|
|
317
305
|
background: var(--fgd-surface);
|
|
318
|
-
font: 600
|
|
306
|
+
font: 600 var(--fgd-font-size)/1 var(--fgd-font-ui);
|
|
319
307
|
white-space: nowrap;
|
|
320
308
|
cursor: pointer;
|
|
321
309
|
transition: color 120ms ease, background-color 120ms ease, border-color 120ms ease;
|
|
@@ -331,8 +319,8 @@ const FRAME_GRAPH_DEBUG_PANEL_CSS = `
|
|
|
331
319
|
}
|
|
332
320
|
|
|
333
321
|
.zenfg-inspector-workbench-actions > button[data-tone='accent'] {
|
|
334
|
-
border-color:
|
|
335
|
-
color:
|
|
322
|
+
border-color: var(--fgd-accent);
|
|
323
|
+
color: var(--fgd-accent);
|
|
336
324
|
background: var(--fgd-accent-soft);
|
|
337
325
|
}
|
|
338
326
|
.zenfg-inspector-workbench-actions > button[data-tone='accent']:hover:not(:disabled) {
|
|
@@ -340,14 +328,14 @@ const FRAME_GRAPH_DEBUG_PANEL_CSS = `
|
|
|
340
328
|
background: var(--fgd-accent-hover);
|
|
341
329
|
}
|
|
342
330
|
.zenfg-inspector-workbench-actions > button[data-tone='pending'] {
|
|
343
|
-
border-color:
|
|
331
|
+
border-color: var(--fgd-accent);
|
|
344
332
|
color: var(--fgd-text-secondary);
|
|
345
333
|
background: var(--fgd-accent-soft);
|
|
346
334
|
}
|
|
347
335
|
.zenfg-inspector-workbench-actions > button[data-tone='success'] {
|
|
348
|
-
border-color:
|
|
336
|
+
border-color: var(--fgd-success);
|
|
349
337
|
color: var(--fgd-success);
|
|
350
|
-
background:
|
|
338
|
+
background: color-mix(in srgb, var(--fgd-success) 10%, var(--fgd-panel));
|
|
351
339
|
}
|
|
352
340
|
.zenfg-inspector-workbench-actions > button:disabled { cursor: default; opacity: 0.46; }
|
|
353
341
|
.zenfg-inspector-workbench-actions > button[aria-busy='true']:disabled { opacity: 0.72; }
|
|
@@ -356,7 +344,7 @@ const FRAME_GRAPH_DEBUG_PANEL_CSS = `
|
|
|
356
344
|
max-width: 220px;
|
|
357
345
|
overflow: hidden;
|
|
358
346
|
color: var(--fgd-muted);
|
|
359
|
-
font:
|
|
347
|
+
font: var(--fgd-font-size-small)/1.35 var(--fgd-font-ui);
|
|
360
348
|
text-overflow: ellipsis;
|
|
361
349
|
white-space: nowrap;
|
|
362
350
|
}
|
|
@@ -384,23 +372,19 @@ button[aria-busy='true'] > .zenfg-inspector-control-icon {
|
|
|
384
372
|
|
|
385
373
|
/* Workspace and empty states */
|
|
386
374
|
.zenfg-inspector-overview-view {
|
|
387
|
-
padding:
|
|
388
|
-
overflow: auto;
|
|
375
|
+
padding: var(--fgd-space-3);
|
|
389
376
|
background: var(--fgd-canvas);
|
|
390
377
|
}
|
|
378
|
+
.zenfg-inspector-view.zenfg-inspector-overview-view { overflow: auto; }
|
|
391
379
|
|
|
392
380
|
.zenfg-inspector-workspace {
|
|
393
381
|
position: relative;
|
|
394
382
|
display: grid;
|
|
395
383
|
grid-template-columns: minmax(0, 1fr);
|
|
396
|
-
gap: 8px;
|
|
397
384
|
min-width: 0;
|
|
398
385
|
min-height: 0;
|
|
399
386
|
overflow: hidden;
|
|
400
387
|
}
|
|
401
|
-
.zenfg-inspector-workspace.inspector-open {
|
|
402
|
-
grid-template-columns: minmax(0, 1fr) minmax(360px, 28vw);
|
|
403
|
-
}
|
|
404
388
|
|
|
405
389
|
.zenfg-inspector-main {
|
|
406
390
|
display: grid;
|
|
@@ -416,12 +400,12 @@ button[aria-busy='true'] > .zenfg-inspector-control-icon {
|
|
|
416
400
|
flex-direction: column;
|
|
417
401
|
align-items: center;
|
|
418
402
|
justify-content: center;
|
|
419
|
-
gap:
|
|
403
|
+
gap: var(--fgd-space-2);
|
|
420
404
|
min-width: 0;
|
|
421
405
|
min-height: 0;
|
|
422
406
|
padding: 24px;
|
|
423
407
|
color: var(--fgd-muted);
|
|
424
|
-
font:
|
|
408
|
+
font: var(--fgd-font-size-small)/1.5 var(--fgd-font-ui);
|
|
425
409
|
text-align: center;
|
|
426
410
|
}
|
|
427
411
|
.zenfg-inspector-workbench-empty > .zenfg-inspector-control-icon {
|
|
@@ -432,7 +416,7 @@ button[aria-busy='true'] > .zenfg-inspector-control-icon {
|
|
|
432
416
|
.zenfg-inspector-workbench-empty[data-state='error'] > .zenfg-inspector-control-icon { color: var(--fgd-danger); }
|
|
433
417
|
.zenfg-inspector-workbench-empty[data-state='capturing'] > .zenfg-inspector-control-icon { color: var(--fgd-accent); }
|
|
434
418
|
.zenfg-inspector-empty-message { max-width: 520px; }
|
|
435
|
-
.zenfg-inspector-empty-detail { color: color-mix(in srgb, var(--fgd-muted) 78%, transparent); font-size:
|
|
419
|
+
.zenfg-inspector-empty-detail { color: color-mix(in srgb, var(--fgd-muted) 78%, transparent); font-size: var(--fgd-font-size-small); }
|
|
436
420
|
|
|
437
421
|
.zenfg-inspector-view {
|
|
438
422
|
grid-area: 1 / 1;
|
|
@@ -440,7 +424,7 @@ button[aria-busy='true'] > .zenfg-inspector-control-icon {
|
|
|
440
424
|
min-height: 0;
|
|
441
425
|
overflow: hidden;
|
|
442
426
|
border: 1px solid var(--fgd-border-subtle);
|
|
443
|
-
border-radius:
|
|
427
|
+
border-radius: var(--fgd-radius-sm);
|
|
444
428
|
background: var(--fgd-canvas);
|
|
445
429
|
}
|
|
446
430
|
|
|
@@ -450,7 +434,7 @@ button[aria-busy='true'] > .zenfg-inspector-control-icon {
|
|
|
450
434
|
flex-wrap: wrap;
|
|
451
435
|
align-items: center;
|
|
452
436
|
gap: 6px;
|
|
453
|
-
padding: 6px
|
|
437
|
+
padding: 6px var(--fgd-space-2);
|
|
454
438
|
border-bottom: 1px solid var(--fgd-border-subtle);
|
|
455
439
|
background: var(--fgd-surface);
|
|
456
440
|
}
|
|
@@ -458,13 +442,12 @@ button[aria-busy='true'] > .zenfg-inspector-control-icon {
|
|
|
458
442
|
.zenfg-inspector-view-toolbar input,
|
|
459
443
|
.zenfg-inspector-view-toolbar select {
|
|
460
444
|
min-width: 0;
|
|
461
|
-
|
|
462
|
-
padding: 4px 8px;
|
|
445
|
+
padding: var(--fgd-space-1) var(--fgd-space-2);
|
|
463
446
|
border: 1px solid var(--fgd-border);
|
|
464
|
-
border-radius:
|
|
447
|
+
border-radius: var(--fgd-radius-sm);
|
|
465
448
|
color: var(--fgd-text);
|
|
466
449
|
background: var(--fgd-panel);
|
|
467
|
-
font:
|
|
450
|
+
font: var(--fgd-font-size)/1 var(--fgd-font-ui);
|
|
468
451
|
}
|
|
469
452
|
.zenfg-inspector-view-toolbar input { flex: 1 1 210px; }
|
|
470
453
|
.zenfg-inspector-view-toolbar input::placeholder { color: var(--fgd-muted); opacity: 0.86; }
|
|
@@ -475,7 +458,7 @@ button[aria-busy='true'] > .zenfg-inspector-control-icon {
|
|
|
475
458
|
.zenfg-inspector-subtabs,
|
|
476
459
|
.zenfg-inspector-inspector-tabs {
|
|
477
460
|
flex: 0 0 auto;
|
|
478
|
-
padding: 0
|
|
461
|
+
padding: 0 var(--fgd-space-1);
|
|
479
462
|
background: var(--fgd-panel);
|
|
480
463
|
}
|
|
481
464
|
.zenfg-inspector-subview { flex: 1 1 auto; min-height: 0; overflow: hidden; }
|
|
@@ -489,13 +472,11 @@ button[aria-busy='true'] > .zenfg-inspector-control-icon {
|
|
|
489
472
|
}
|
|
490
473
|
.zenfg-inspector-workbench-table {
|
|
491
474
|
width: 100%;
|
|
492
|
-
min-width: 720px;
|
|
493
475
|
border-collapse: collapse;
|
|
494
|
-
font: 11px/1.45 var(--fgd-font-mono);
|
|
495
476
|
}
|
|
496
477
|
.zenfg-inspector-workbench-table th,
|
|
497
478
|
.zenfg-inspector-workbench-table td {
|
|
498
|
-
height:
|
|
479
|
+
height: var(--fgd-control-height);
|
|
499
480
|
max-width: 360px;
|
|
500
481
|
padding: 6px 10px;
|
|
501
482
|
border-bottom: 1px solid var(--fgd-border-subtle);
|
|
@@ -510,7 +491,7 @@ button[aria-busy='true'] > .zenfg-inspector-control-icon {
|
|
|
510
491
|
top: 0;
|
|
511
492
|
color: var(--fgd-muted);
|
|
512
493
|
background: var(--fgd-panel);
|
|
513
|
-
font: 650
|
|
494
|
+
font: 650 var(--fgd-font-size-small)/1.3 var(--fgd-font-ui);
|
|
514
495
|
letter-spacing: 0.025em;
|
|
515
496
|
}
|
|
516
497
|
.zenfg-inspector-workbench-table [data-column='numeric'] {
|
|
@@ -518,7 +499,7 @@ button[aria-busy='true'] > .zenfg-inspector-control-icon {
|
|
|
518
499
|
text-align: right;
|
|
519
500
|
}
|
|
520
501
|
.zenfg-inspector-workbench-table [data-column='code'] { font-family: var(--fgd-font-mono); }
|
|
521
|
-
.zenfg-inspector-workbench-table tbody tr:hover td { background:
|
|
502
|
+
.zenfg-inspector-workbench-table tbody tr:hover td { background: var(--fgd-surface-hover); }
|
|
522
503
|
|
|
523
504
|
.zenfg-inspector-workbench-table tr.selected td,
|
|
524
505
|
.zenfg-inspector-diagnostic-list .selected,
|
|
@@ -531,7 +512,7 @@ button[aria-busy='true'] > .zenfg-inspector-control-icon {
|
|
|
531
512
|
margin-top: 2px;
|
|
532
513
|
overflow: hidden;
|
|
533
514
|
color: var(--fgd-muted);
|
|
534
|
-
font:
|
|
515
|
+
font: var(--fgd-font-size-small)/1.4 var(--fgd-font-ui);
|
|
535
516
|
text-overflow: ellipsis;
|
|
536
517
|
}
|
|
537
518
|
|
|
@@ -555,15 +536,15 @@ button[aria-busy='true'] > .zenfg-inspector-control-icon {
|
|
|
555
536
|
background: color-mix(in srgb, var(--fgd-kind-color) 72%, transparent);
|
|
556
537
|
content: '';
|
|
557
538
|
}
|
|
558
|
-
.zenfg-inspector-kind-label[data-kind='render'] { --fgd-kind-color:
|
|
559
|
-
.zenfg-inspector-kind-label[data-kind='compute'] { --fgd-kind-color:
|
|
560
|
-
.zenfg-inspector-kind-label[data-kind='copy'] { --fgd-kind-color:
|
|
561
|
-
.zenfg-inspector-kind-label[data-kind='clear-buffer'] { --fgd-kind-color:
|
|
562
|
-
.zenfg-inspector-kind-label[data-kind='command'] { --fgd-kind-color:
|
|
563
|
-
.zenfg-inspector-kind-label[data-kind='external-submission'] { --fgd-kind-color:
|
|
564
|
-
.zenfg-inspector-kind-label[data-kind='opaque'] { --fgd-kind-color:
|
|
565
|
-
.zenfg-inspector-kind-label[data-kind='texture'] { --fgd-kind-color:
|
|
566
|
-
.zenfg-inspector-kind-label[data-kind='buffer'] { --fgd-kind-color:
|
|
539
|
+
.zenfg-inspector-kind-label[data-kind='render'] { --fgd-kind-color: var(--fgd-graph-render-stroke); }
|
|
540
|
+
.zenfg-inspector-kind-label[data-kind='compute'] { --fgd-kind-color: var(--fgd-graph-compute-stroke); }
|
|
541
|
+
.zenfg-inspector-kind-label[data-kind='copy'] { --fgd-kind-color: var(--fgd-graph-copy-stroke); }
|
|
542
|
+
.zenfg-inspector-kind-label[data-kind='clear-buffer'] { --fgd-kind-color: var(--fgd-graph-clear-stroke); }
|
|
543
|
+
.zenfg-inspector-kind-label[data-kind='command'] { --fgd-kind-color: var(--fgd-graph-command-stroke); }
|
|
544
|
+
.zenfg-inspector-kind-label[data-kind='external-submission'] { --fgd-kind-color: var(--fgd-graph-external-stroke); }
|
|
545
|
+
.zenfg-inspector-kind-label[data-kind='opaque'] { --fgd-kind-color: var(--fgd-graph-external-stroke); }
|
|
546
|
+
.zenfg-inspector-kind-label[data-kind='texture'] { --fgd-kind-color: var(--fgd-graph-texture-stroke); }
|
|
547
|
+
.zenfg-inspector-kind-label[data-kind='buffer'] { --fgd-kind-color: var(--fgd-graph-buffer-stroke); }
|
|
567
548
|
.zenfg-inspector-kind-label[data-kind='frame-graph'] { --fgd-kind-color: var(--fgd-accent); }
|
|
568
549
|
.zenfg-inspector-kind-label[data-kind='timed'] { --fgd-kind-color: var(--fgd-success); }
|
|
569
550
|
.zenfg-inspector-kind-label[data-kind='not-timed'] { --fgd-kind-color: var(--fgd-muted); }
|
|
@@ -572,7 +553,7 @@ button[aria-busy='true'] > .zenfg-inspector-control-icon {
|
|
|
572
553
|
max-width: 100%;
|
|
573
554
|
padding: 0;
|
|
574
555
|
border: 0;
|
|
575
|
-
color:
|
|
556
|
+
color: var(--fgd-accent);
|
|
576
557
|
background: transparent;
|
|
577
558
|
font: inherit;
|
|
578
559
|
text-align: left;
|
|
@@ -581,7 +562,7 @@ button[aria-busy='true'] > .zenfg-inspector-control-icon {
|
|
|
581
562
|
cursor: pointer;
|
|
582
563
|
}
|
|
583
564
|
.zenfg-inspector-relation-button:hover {
|
|
584
|
-
color:
|
|
565
|
+
color: var(--fgd-accent);
|
|
585
566
|
text-decoration: underline;
|
|
586
567
|
text-underline-offset: 2px;
|
|
587
568
|
}
|
|
@@ -596,27 +577,18 @@ button[aria-busy='true'] > .zenfg-inspector-control-icon {
|
|
|
596
577
|
/* Graph */
|
|
597
578
|
.zenfg-inspector-graph-view { display: flex; flex-direction: column; }
|
|
598
579
|
.zenfg-inspector-graph-toolbar {
|
|
599
|
-
display: grid;
|
|
600
|
-
grid-template-columns: minmax(0, 1fr) auto;
|
|
601
|
-
align-items: center;
|
|
602
|
-
gap: 10px;
|
|
603
580
|
min-width: 0;
|
|
604
|
-
min-height: 38px;
|
|
605
|
-
padding: 5px 6px;
|
|
606
|
-
border-bottom: 1px solid var(--fgd-border-subtle);
|
|
607
|
-
background: var(--fgd-surface);
|
|
608
581
|
}
|
|
609
582
|
.zenfg-inspector-graph-action-controls { display: flex; align-items: center; min-width: 0; }
|
|
610
|
-
.zenfg-inspector-graph-action-controls { gap:
|
|
583
|
+
.zenfg-inspector-graph-action-controls { gap: var(--fgd-space-1); }
|
|
611
584
|
.zenfg-inspector-graph-toolbar button.active,
|
|
612
585
|
.zenfg-inspector-graph-toolbar button[aria-pressed='true'] {
|
|
613
586
|
z-index: 1;
|
|
614
|
-
border-color:
|
|
587
|
+
border-color: var(--fgd-accent);
|
|
615
588
|
color: var(--fgd-accent);
|
|
616
589
|
background: var(--fgd-accent-soft);
|
|
617
590
|
}
|
|
618
591
|
.zenfg-inspector-graph-toolbar button:disabled { cursor: default; opacity: 0.42; }
|
|
619
|
-
.zenfg-inspector-graph-toolbar .zenfg-inspector-icon-button { width: 28px; padding: 0; }
|
|
620
592
|
|
|
621
593
|
.zenfg-inspector-graph-legend {
|
|
622
594
|
display: flex;
|
|
@@ -626,10 +598,10 @@ button[aria-busy='true'] > .zenfg-inspector-control-icon {
|
|
|
626
598
|
padding: 2px 0;
|
|
627
599
|
overflow-x: auto;
|
|
628
600
|
color: var(--fgd-muted);
|
|
629
|
-
font:
|
|
601
|
+
font: var(--fgd-font-size-small)/1 var(--fgd-font-ui);
|
|
630
602
|
white-space: nowrap;
|
|
631
603
|
}
|
|
632
|
-
.zenfg-inspector-legend-item { display: inline-flex; align-items: center; gap:
|
|
604
|
+
.zenfg-inspector-legend-item { display: inline-flex; align-items: center; gap: var(--fgd-space-1); flex: 0 0 auto; }
|
|
633
605
|
.zenfg-inspector-legend-group { display: inline-flex; align-items: center; gap: 10px; flex: 0 0 auto; }
|
|
634
606
|
.zenfg-inspector-legend-group + .zenfg-inspector-legend-group { border-left: 1px solid var(--fgd-border-subtle); padding-left: 10px; }
|
|
635
607
|
.zenfg-inspector-legend-heading { color: var(--fgd-text-secondary); font-weight: 600; }
|
|
@@ -700,7 +672,7 @@ button[aria-busy='true'] > .zenfg-inspector-control-icon {
|
|
|
700
672
|
border: 1px solid var(--fgd-border-subtle);
|
|
701
673
|
background: var(--fgd-canvas);
|
|
702
674
|
color: var(--fgd-muted);
|
|
703
|
-
font-size:
|
|
675
|
+
font-size: var(--fgd-font-size-small);
|
|
704
676
|
}
|
|
705
677
|
.zenfg-inspector-graph-canvas {
|
|
706
678
|
width: 100%;
|
|
@@ -716,28 +688,28 @@ button[aria-busy='true'] > .zenfg-inspector-control-icon {
|
|
|
716
688
|
display: flex;
|
|
717
689
|
align-items: center;
|
|
718
690
|
justify-content: center;
|
|
719
|
-
gap:
|
|
720
|
-
padding:
|
|
691
|
+
gap: var(--fgd-space-2);
|
|
692
|
+
padding: var(--fgd-space-4);
|
|
721
693
|
color: var(--fgd-muted);
|
|
722
|
-
background:
|
|
723
|
-
font:
|
|
694
|
+
background: color-mix(in srgb, var(--fgd-canvas) 82%, transparent);
|
|
695
|
+
font: var(--fgd-font-size-small)/1.45 var(--fgd-font-ui);
|
|
724
696
|
text-align: center;
|
|
725
697
|
pointer-events: none;
|
|
726
698
|
}
|
|
727
|
-
.zenfg-inspector-graph-status[data-state='layout'] { background:
|
|
699
|
+
.zenfg-inspector-graph-status[data-state='layout'] { background: color-mix(in srgb, var(--fgd-canvas) 50%, transparent); }
|
|
728
700
|
.zenfg-inspector-graph-status[data-state='error'] {
|
|
729
701
|
color: var(--fgd-text);
|
|
730
|
-
background:
|
|
702
|
+
background: color-mix(in srgb, var(--fgd-canvas) 94%, transparent);
|
|
731
703
|
}
|
|
732
704
|
.zenfg-inspector-graph-status > span { max-width: min(560px, 80%); }
|
|
733
705
|
.zenfg-inspector-graph-status button {
|
|
734
|
-
height:
|
|
706
|
+
height: var(--fgd-control-height);
|
|
735
707
|
padding: 0 9px;
|
|
736
|
-
border: 1px solid
|
|
737
|
-
border-radius:
|
|
708
|
+
border: 1px solid var(--fgd-accent);
|
|
709
|
+
border-radius: var(--fgd-radius-sm);
|
|
738
710
|
color: var(--fgd-accent);
|
|
739
711
|
background: var(--fgd-accent-soft);
|
|
740
|
-
font: 600
|
|
712
|
+
font: 600 var(--fgd-font-size)/1 var(--fgd-font-ui);
|
|
741
713
|
cursor: pointer;
|
|
742
714
|
pointer-events: auto;
|
|
743
715
|
}
|
|
@@ -746,13 +718,13 @@ button[aria-busy='true'] > .zenfg-inspector-control-icon {
|
|
|
746
718
|
z-index: 3;
|
|
747
719
|
width: max-content;
|
|
748
720
|
max-width: min(380px, calc(100% - 16px));
|
|
749
|
-
padding:
|
|
721
|
+
padding: var(--fgd-space-2) 10px;
|
|
750
722
|
border: 1px solid var(--fgd-border-strong);
|
|
751
|
-
border-radius:
|
|
723
|
+
border-radius: var(--fgd-radius-sm);
|
|
752
724
|
color: var(--fgd-text);
|
|
753
725
|
background: var(--fgd-surface-raised);
|
|
754
|
-
box-shadow:
|
|
755
|
-
font:
|
|
726
|
+
box-shadow: var(--fgd-shadow);
|
|
727
|
+
font: var(--fgd-font-size-small)/1.5 var(--fgd-font-mono);
|
|
756
728
|
white-space: pre-wrap;
|
|
757
729
|
pointer-events: none;
|
|
758
730
|
}
|
|
@@ -765,9 +737,9 @@ button[aria-busy='true'] > .zenfg-inspector-control-icon {
|
|
|
765
737
|
min-height: 0;
|
|
766
738
|
overflow: hidden;
|
|
767
739
|
border: 1px solid var(--fgd-border);
|
|
768
|
-
border-radius:
|
|
740
|
+
border-radius: var(--fgd-radius-sm);
|
|
769
741
|
background: var(--fgd-surface-raised);
|
|
770
|
-
box-shadow: -
|
|
742
|
+
box-shadow: var(--fgd-shadow);
|
|
771
743
|
}
|
|
772
744
|
.zenfg-inspector-inspector[hidden] { display: none; }
|
|
773
745
|
.zenfg-inspector-inspector > header {
|
|
@@ -775,15 +747,15 @@ button[aria-busy='true'] > .zenfg-inspector-control-icon {
|
|
|
775
747
|
flex: 0 0 auto;
|
|
776
748
|
align-items: center;
|
|
777
749
|
justify-content: space-between;
|
|
778
|
-
min-height:
|
|
779
|
-
padding: 0
|
|
750
|
+
min-height: var(--fgd-row-height);
|
|
751
|
+
padding: 0 var(--fgd-space-2) 0 10px;
|
|
780
752
|
border-bottom: 1px solid var(--fgd-border-subtle);
|
|
781
753
|
background: var(--fgd-surface);
|
|
782
754
|
}
|
|
783
755
|
.zenfg-inspector-inspector > header strong {
|
|
784
756
|
min-width: 0;
|
|
785
757
|
overflow: hidden;
|
|
786
|
-
font: 600
|
|
758
|
+
font: 600 var(--fgd-font-size-small)/1.3 var(--fgd-font-mono);
|
|
787
759
|
text-overflow: ellipsis;
|
|
788
760
|
white-space: nowrap;
|
|
789
761
|
}
|
|
@@ -801,10 +773,8 @@ button[aria-busy='true'] > .zenfg-inspector-control-icon {
|
|
|
801
773
|
}
|
|
802
774
|
.zenfg-inspector-inspector-summary {
|
|
803
775
|
display: grid;
|
|
804
|
-
|
|
805
|
-
gap: 3px 12px;
|
|
776
|
+
gap: 3px var(--fgd-space-3);
|
|
806
777
|
margin: 0;
|
|
807
|
-
font-size: 11px;
|
|
808
778
|
line-height: 1.6;
|
|
809
779
|
}
|
|
810
780
|
.zenfg-inspector-inspector-summary dt { color: var(--fgd-muted); font-family: var(--fgd-font-ui); }
|
|
@@ -812,49 +782,43 @@ button[aria-busy='true'] > .zenfg-inspector-control-icon {
|
|
|
812
782
|
min-width: 0;
|
|
813
783
|
margin: 0;
|
|
814
784
|
color: var(--fgd-text);
|
|
815
|
-
font-family: var(--fgd-font-mono);
|
|
816
785
|
overflow-wrap: anywhere;
|
|
817
786
|
}
|
|
818
|
-
.zenfg-inspector-inspector-relations { display: grid; gap:
|
|
787
|
+
.zenfg-inspector-inspector-relations { display: grid; gap: var(--fgd-space-2); }
|
|
819
788
|
.zenfg-inspector-inspector-relations section {
|
|
820
789
|
display: grid;
|
|
821
790
|
gap: 6px;
|
|
822
|
-
padding:
|
|
791
|
+
padding: var(--fgd-space-2);
|
|
823
792
|
border: 1px solid var(--fgd-border-subtle);
|
|
824
|
-
border-radius:
|
|
793
|
+
border-radius: var(--fgd-radius-sm);
|
|
825
794
|
background: var(--fgd-surface);
|
|
826
795
|
}
|
|
827
796
|
.zenfg-inspector-inspector-relations h3 {
|
|
828
797
|
margin: 0 0 2px;
|
|
829
798
|
color: var(--fgd-muted);
|
|
830
|
-
font: 700
|
|
799
|
+
font: 700 var(--fgd-font-size-small)/1.3 var(--fgd-font-ui);
|
|
831
800
|
letter-spacing: 0.055em;
|
|
832
801
|
text-transform: uppercase;
|
|
833
802
|
}
|
|
834
803
|
.zenfg-inspector-inspector-relations .zenfg-inspector-relation-button {
|
|
835
|
-
font:
|
|
804
|
+
font: var(--fgd-font-size)/1.5 var(--fgd-font-mono);
|
|
836
805
|
overflow-wrap: anywhere;
|
|
837
806
|
white-space: normal;
|
|
838
807
|
}
|
|
839
808
|
.zenfg-inspector-relation-entry { display: grid; justify-items: start; gap: 2px; }
|
|
840
|
-
.zenfg-inspector-relation-entry > span { font:
|
|
809
|
+
.zenfg-inspector-relation-entry > span { font: var(--fgd-font-size-small)/1.5 var(--fgd-font-mono); overflow-wrap: anywhere; }
|
|
841
810
|
.zenfg-inspector-inspector .zenfg-inspector-raw-detail {
|
|
842
811
|
min-width: 100%;
|
|
843
812
|
margin: 0;
|
|
844
|
-
overflow: auto;
|
|
845
813
|
color: var(--fgd-text-secondary);
|
|
846
|
-
font: 11px/1.55 var(--fgd-font-mono);
|
|
847
|
-
white-space: pre;
|
|
848
814
|
}
|
|
849
815
|
|
|
850
816
|
/* Memory */
|
|
851
817
|
.zenfg-inspector-memory-view {
|
|
852
818
|
display: grid;
|
|
853
|
-
grid-template-rows: auto minmax(0, 1fr);
|
|
854
819
|
}
|
|
855
820
|
.zenfg-inspector-memory-summary {
|
|
856
821
|
display: grid;
|
|
857
|
-
grid-template-columns: repeat(4, minmax(0, 1fr));
|
|
858
822
|
gap: 6px;
|
|
859
823
|
padding: 6px;
|
|
860
824
|
border-bottom: 1px solid var(--fgd-border-subtle);
|
|
@@ -864,41 +828,34 @@ button[aria-busy='true'] > .zenfg-inspector-control-icon {
|
|
|
864
828
|
display: grid;
|
|
865
829
|
gap: 3px;
|
|
866
830
|
min-width: 0;
|
|
867
|
-
padding: 6px
|
|
868
|
-
border:
|
|
869
|
-
border-radius: 5px;
|
|
870
|
-
background: var(--fgd-surface);
|
|
831
|
+
padding: 6px var(--fgd-space-2);
|
|
832
|
+
border-radius: var(--fgd-radius-sm);
|
|
871
833
|
}
|
|
872
|
-
.zenfg-inspector-memory-summary span { color: var(--fgd-muted); font: 10px/1.3 var(--fgd-font-ui); }
|
|
873
834
|
.zenfg-inspector-memory-summary strong {
|
|
874
835
|
overflow: hidden;
|
|
875
|
-
font: 600
|
|
836
|
+
font: 600 var(--fgd-font-size-small)/1.35 var(--fgd-font-mono);
|
|
876
837
|
text-overflow: ellipsis;
|
|
877
|
-
white-space: nowrap;
|
|
878
838
|
}
|
|
879
839
|
.zenfg-inspector-memory-scroller { min-height: 0; overflow: auto; }
|
|
880
840
|
.zenfg-inspector-memory-timeline {
|
|
881
841
|
display: grid;
|
|
882
|
-
|
|
883
|
-
|
|
884
|
-
font: 11px/1.4 var(--fgd-font-mono);
|
|
842
|
+
padding: var(--fgd-space-2);
|
|
843
|
+
font: var(--fgd-font-size-small)/1.4 var(--fgd-font-mono);
|
|
885
844
|
}
|
|
886
845
|
.zenfg-inspector-memory-axis,
|
|
887
846
|
.zenfg-inspector-memory-resource {
|
|
888
847
|
display: grid;
|
|
889
|
-
grid-template-columns: minmax(150px, 0.9fr) 72px minmax(320px, 2.4fr) 82px;
|
|
890
848
|
gap: 10px;
|
|
891
849
|
align-items: center;
|
|
892
|
-
min-height:
|
|
850
|
+
min-height: var(--fgd-control-height);
|
|
893
851
|
}
|
|
894
852
|
.zenfg-inspector-memory-axis {
|
|
895
853
|
position: sticky;
|
|
896
|
-
z-index: 2;
|
|
897
854
|
top: 0;
|
|
898
|
-
padding: 0
|
|
855
|
+
padding: 0 var(--fgd-space-2) 6px;
|
|
899
856
|
color: var(--fgd-muted);
|
|
900
857
|
background: var(--fgd-canvas);
|
|
901
|
-
font:
|
|
858
|
+
font: var(--fgd-font-size-small)/1.3 var(--fgd-font-ui);
|
|
902
859
|
}
|
|
903
860
|
.zenfg-inspector-memory-axis-track,
|
|
904
861
|
.zenfg-inspector-memory-track { position: relative; height: 16px; }
|
|
@@ -907,38 +864,34 @@ button[aria-busy='true'] > .zenfg-inspector-control-icon {
|
|
|
907
864
|
position: absolute;
|
|
908
865
|
bottom: -1px;
|
|
909
866
|
padding-bottom: 5px;
|
|
910
|
-
|
|
911
|
-
font: 10px/1 var(--fgd-font-mono);
|
|
912
|
-
transform: translateX(-1px);
|
|
867
|
+
font: var(--fgd-font-size-small)/1 var(--fgd-font-mono);
|
|
913
868
|
}
|
|
914
869
|
.zenfg-inspector-memory-allocation {
|
|
915
870
|
display: flex;
|
|
916
|
-
align-items: center;
|
|
917
871
|
justify-content: space-between;
|
|
918
|
-
gap:
|
|
872
|
+
gap: var(--fgd-space-3);
|
|
919
873
|
margin-top: 6px;
|
|
920
|
-
padding: 7px
|
|
874
|
+
padding: 7px var(--fgd-space-2);
|
|
921
875
|
border-top: 1px solid var(--fgd-border-subtle);
|
|
922
876
|
border-bottom: 1px solid var(--fgd-border-subtle);
|
|
923
877
|
background: var(--fgd-surface);
|
|
924
878
|
}
|
|
925
|
-
.zenfg-inspector-memory-allocation > span { color: var(--fgd-muted); font:
|
|
879
|
+
.zenfg-inspector-memory-allocation > span { color: var(--fgd-muted); font: var(--fgd-font-size-small)/1.35 var(--fgd-font-mono); }
|
|
926
880
|
.zenfg-inspector-memory-allocation.muted { color: var(--fgd-muted); font-family: var(--fgd-font-ui); }
|
|
927
|
-
.zenfg-inspector-memory-resource { padding: 0
|
|
881
|
+
.zenfg-inspector-memory-resource { padding: 0 var(--fgd-space-2); border-bottom: 1px solid var(--fgd-border-subtle); }
|
|
928
882
|
.zenfg-inspector-memory-resource.selected,
|
|
929
883
|
.zenfg-inspector-memory-allocation.selected { box-shadow: inset 2px 0 var(--fgd-accent); }
|
|
930
884
|
.zenfg-inspector-memory-bar {
|
|
931
885
|
position: absolute;
|
|
932
886
|
top: 4px;
|
|
933
887
|
height: 8px;
|
|
934
|
-
|
|
935
|
-
|
|
936
|
-
|
|
937
|
-
box-shadow: 0 0 0 1px color-mix(in srgb, ${GRAPH_VISUAL_THEME.texture.stroke} 36%, transparent);
|
|
888
|
+
border-radius: var(--fgd-radius-sm);
|
|
889
|
+
background: color-mix(in srgb, var(--fgd-graph-texture-stroke) 76%, transparent);
|
|
890
|
+
box-shadow: 0 0 0 1px color-mix(in srgb, var(--fgd-graph-texture-stroke) 36%, transparent);
|
|
938
891
|
}
|
|
939
892
|
.zenfg-inspector-memory-bar.buffer {
|
|
940
|
-
background: color-mix(in srgb,
|
|
941
|
-
box-shadow: 0 0 0 1px color-mix(in srgb,
|
|
893
|
+
background: color-mix(in srgb, var(--fgd-graph-buffer-stroke) 72%, transparent);
|
|
894
|
+
box-shadow: 0 0 0 1px color-mix(in srgb, var(--fgd-graph-buffer-stroke) 34%, transparent);
|
|
942
895
|
}
|
|
943
896
|
.zenfg-inspector-memory-bar.empty { display: none; }
|
|
944
897
|
|
|
@@ -947,8 +900,8 @@ button[aria-busy='true'] > .zenfg-inspector-control-icon {
|
|
|
947
900
|
.zenfg-inspector-diagnostics-grid {
|
|
948
901
|
display: grid;
|
|
949
902
|
grid-template-columns: repeat(2, minmax(0, 1fr));
|
|
950
|
-
gap:
|
|
951
|
-
padding:
|
|
903
|
+
gap: var(--fgd-space-2);
|
|
904
|
+
padding: var(--fgd-space-2);
|
|
952
905
|
}
|
|
953
906
|
.zenfg-inspector-diagnostic-card {
|
|
954
907
|
display: flex;
|
|
@@ -957,20 +910,20 @@ button[aria-busy='true'] > .zenfg-inspector-control-icon {
|
|
|
957
910
|
min-height: 164px;
|
|
958
911
|
overflow: hidden;
|
|
959
912
|
border: 1px solid var(--fgd-border-subtle);
|
|
960
|
-
border-radius:
|
|
913
|
+
border-radius: var(--fgd-radius-sm);
|
|
961
914
|
background: var(--fgd-surface);
|
|
962
915
|
}
|
|
963
916
|
.zenfg-inspector-diagnostic-card > h2 {
|
|
964
917
|
margin: 0;
|
|
965
918
|
padding: 9px 10px 3px;
|
|
966
919
|
color: var(--fgd-text-secondary);
|
|
967
|
-
font: 650
|
|
920
|
+
font: 650 var(--fgd-font-size-small)/1.35 var(--fgd-font-ui);
|
|
968
921
|
}
|
|
969
922
|
.zenfg-inspector-diagnostic-card > p {
|
|
970
923
|
margin: 0;
|
|
971
|
-
padding: 0 10px
|
|
924
|
+
padding: 0 10px var(--fgd-space-2);
|
|
972
925
|
color: var(--fgd-muted);
|
|
973
|
-
font:
|
|
926
|
+
font: var(--fgd-font-size-small)/1.5 var(--fgd-font-ui);
|
|
974
927
|
}
|
|
975
928
|
.zenfg-inspector-diagnostic-card .zenfg-inspector-table-scroller { flex: 1 1 auto; max-height: 280px; }
|
|
976
929
|
.zenfg-inspector-diagnostic-card .zenfg-inspector-workbench-table { min-width: 100%; table-layout: fixed; }
|
|
@@ -980,13 +933,13 @@ button[aria-busy='true'] > .zenfg-inspector-control-icon {
|
|
|
980
933
|
}
|
|
981
934
|
.zenfg-inspector-diagnostic-list { display: grid; gap: 2px; padding: 6px; overflow: auto; }
|
|
982
935
|
.zenfg-inspector-diagnostic-list .zenfg-inspector-relation-button {
|
|
983
|
-
padding: 6px
|
|
984
|
-
border-radius:
|
|
936
|
+
padding: 6px var(--fgd-space-2);
|
|
937
|
+
border-radius: var(--fgd-radius-sm);
|
|
985
938
|
color: var(--fgd-text-secondary);
|
|
986
|
-
font:
|
|
939
|
+
font: var(--fgd-font-size)/1.45 var(--fgd-font-mono);
|
|
987
940
|
}
|
|
988
941
|
.zenfg-inspector-diagnostic-list .zenfg-inspector-relation-button:hover {
|
|
989
|
-
background:
|
|
942
|
+
background: var(--fgd-surface-hover);
|
|
990
943
|
text-decoration: none;
|
|
991
944
|
}
|
|
992
945
|
.zenfg-inspector-diagnostic-list .selected { box-shadow: inset 2px 0 var(--fgd-accent); }
|
|
@@ -998,7 +951,7 @@ button[aria-busy='true'] > .zenfg-inspector-control-icon {
|
|
|
998
951
|
position: absolute;
|
|
999
952
|
z-index: 10;
|
|
1000
953
|
inset: 0;
|
|
1001
|
-
background:
|
|
954
|
+
background: var(--fgd-backdrop);
|
|
1002
955
|
content: '';
|
|
1003
956
|
pointer-events: none;
|
|
1004
957
|
}
|
|
@@ -1009,11 +962,11 @@ button[aria-busy='true'] > .zenfg-inspector-control-icon {
|
|
|
1009
962
|
right: 0;
|
|
1010
963
|
bottom: 0;
|
|
1011
964
|
width: min(380px, calc(100% - 24px));
|
|
1012
|
-
box-shadow: -
|
|
965
|
+
box-shadow: var(--fgd-shadow);
|
|
1013
966
|
}
|
|
1014
967
|
.zenfg-inspector-graph-toolbar {
|
|
1015
968
|
grid-template-columns: minmax(0, 1fr) auto;
|
|
1016
|
-
gap: 6px
|
|
969
|
+
gap: 6px var(--fgd-space-2);
|
|
1017
970
|
}
|
|
1018
971
|
.zenfg-inspector-graph-legend {
|
|
1019
972
|
grid-column: 1 / -1;
|
|
@@ -1028,7 +981,7 @@ button[aria-busy='true'] > .zenfg-inspector-control-icon {
|
|
|
1028
981
|
.zenfg-inspector-workbench-command-bar {
|
|
1029
982
|
grid-template-columns: minmax(0, 1fr) auto;
|
|
1030
983
|
}
|
|
1031
|
-
.zenfg-inspector-brand { grid-column: 1; grid-row: 1; min-height:
|
|
984
|
+
.zenfg-inspector-brand { grid-column: 1; grid-row: 1; min-height: var(--fgd-row-height); display: flex; align-items: center; }
|
|
1032
985
|
.zenfg-inspector-brand::after { display: none; }
|
|
1033
986
|
.zenfg-inspector-workbench-actions { grid-column: 2; grid-row: 1; }
|
|
1034
987
|
.zenfg-inspector-workbench-tabs { grid-column: 1 / -1; grid-row: 2; }
|
|
@@ -1040,12 +993,12 @@ button[aria-busy='true'] > .zenfg-inspector-control-icon {
|
|
|
1040
993
|
}
|
|
1041
994
|
|
|
1042
995
|
@container zenfg-inspector (max-width: 720px) {
|
|
1043
|
-
.zenfg-inspector-body { padding:
|
|
1044
|
-
.zenfg-inspector-overview-view { padding:
|
|
996
|
+
.zenfg-inspector-body { padding: var(--fgd-space-2); }
|
|
997
|
+
.zenfg-inspector-overview-view { padding: var(--fgd-space-2); }
|
|
1045
998
|
.zenfg-inspector-capture-summary > section { padding: 10px; }
|
|
1046
999
|
.zenfg-inspector-workbench-actions { padding-left: 6px; }
|
|
1047
1000
|
.zenfg-inspector-command-status { max-width: 104px; }
|
|
1048
|
-
.zenfg-inspector-workbench-tabs > button { flex: 0 0 auto; padding-inline:
|
|
1001
|
+
.zenfg-inspector-workbench-tabs > button { flex: 0 0 auto; padding-inline: var(--fgd-space-2); }
|
|
1049
1002
|
.zenfg-inspector-memory-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
|
|
1050
1003
|
.zenfg-inspector-view-toolbar input { flex-basis: 100%; }
|
|
1051
1004
|
.zenfg-inspector-graph-toolbar { display: flex; flex-wrap: wrap; }
|
|
@@ -1079,6 +1032,6 @@ export function ensureFrameGraphInspectorStyles(): void {
|
|
|
1079
1032
|
|
|
1080
1033
|
const style = document.createElement('style');
|
|
1081
1034
|
style.id = STYLE_ELEMENT_ID;
|
|
1082
|
-
style.textContent = FRAME_GRAPH_DEBUG_PANEL_CSS;
|
|
1035
|
+
style.textContent = FRAME_GRAPH_DEBUG_PANEL_CSS + PANEL_WORKBENCH_CSS + PANEL_LIST_CSS + PANEL_DETAIL_CSS + PANEL_MEMORY_CSS;
|
|
1083
1036
|
document.head.appendChild(style);
|
|
1084
1037
|
}
|