This commit is contained in:
2026-08-27 16:36:29 +08:00
parent 63bb406a27
commit 8ffb642c36
36 changed files with 633 additions and 868 deletions
+14 -27
View File
@@ -101,6 +101,10 @@ canvas { display: block; width: 100%; height: 100%; background: #070d18; }
.componentTabs { display: flex; flex: 0 0 auto; flex-wrap: nowrap; gap: 6px; overflow-x: auto; padding: 9px 12px; border-bottom: 1px solid #20314b; background: #091321; }
.componentTabs button { flex: 0 0 auto; padding: 8px 11px; color: #8fa2bd; border: 1px solid #273b59; border-radius: 8px; background: #0d192a; cursor: pointer; }
.componentTabs button:hover, .componentTabs button.active { color: #07110f; border-color: #5ce4c2; background: #5ce4c2; }
.componentInspectorMode { display: flex; gap: 6px; padding: 8px 12px; border-bottom: 1px solid #20314b; background: #0b1524; }
.componentInspectorMode button { padding: 7px 11px; color: #91a5c0; border: 1px solid #304664; border-radius: 7px; background: #101c2d; cursor: pointer; }
.componentInspectorMode button.active { color: #062019; border-color: #5ce4c2; background: #5ce4c2; }
.componentStateView pre { overflow: auto; margin: 0; padding: 12px; color: #c9d8eb; border: 1px solid #263d59; border-radius: 8px; background: #08111e; font: 11px/1.55 ui-monospace, monospace; }
.componentContent { min-width: 0; }
.sectionIntro, .stateToolbar { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 12px; color: #7f93ae; }
.sectionIntro strong { color: #dce8f8; font-size: 16px; }
@@ -153,34 +157,7 @@ canvas { display: block; width: 100%; height: 100%; background: #070d18; }
.generatorActions button:disabled { opacity: .45; cursor: default; }
.analysisStatus { margin: 10px 0 0; color: #8eb6aa; font-size: 11px; }
.frameDiagnosticPanel { display: grid; gap: 14px; min-width: 0; }
.diagnosticNotice { padding: 10px 12px; color: #8eabca; border: 1px solid #29435e; border-radius: 9px; background: #0c1a2a; font-size: 11px; line-height: 1.55; }
.frameDiagnosticSummary { display: grid; grid-template-columns: repeat(auto-fit, minmax(122px, 1fr)); gap: 8px; margin: 0; }
.frameDiagnosticSummary > div { min-width: 0; padding: 10px; border: 1px solid #213653; border-radius: 9px; background: #0a1422; }
.frameDiagnosticSummary dt { color: #71839e; font-size: 10px; }
.frameDiagnosticSummary dd { margin: 5px 0 0; color: #5ce4c2; font: 700 14px/1.2 ui-monospace, monospace; font-variant-numeric: tabular-nums; }
.frameChartHost { position: relative; min-width: 0; }
.frameTimelineChart { width: 100%; height: 300px; min-height: 240px; border: 1px solid #213653; border-radius: 10px; background: #08111e; }
.chartPausedBadge { position: absolute; z-index: 2; top: 8px; right: 10px; padding: 4px 8px; color: #161008; border-radius: 99px; background: #f4bd63; font-size: 10px; pointer-events: none; }
.diagnosticContextMenu { position: fixed; z-index: 10000; display: grid; min-width: 190px; overflow: hidden; padding: 5px; border: 1px solid #3c5779; border-radius: 9px; background: #101d2f; box-shadow: 0 14px 36px #000a; }
.diagnosticContextMenu button { padding: 9px 11px; color: #cfdded; border: 0; border-radius: 6px; background: transparent; text-align: left; cursor: pointer; }
.diagnosticContextMenu button:hover { color: #06110f; background: #5ce4c2; }
.frameStagePanel { overflow: hidden; border: 1px solid #213653; border-radius: 10px; background: #0a1422; }
.frameStagePanel > header { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 11px 13px; border-bottom: 1px solid #1d304a; background: #101d2f; }
.frameStagePanel > header code { color: #71839e; font: 10px/1 ui-monospace, monospace; }
.frameStagePanel > header > div:first-child { display: flex; flex-direction: column; gap: 5px; }
.pipelineDirection { display: flex; align-items: stretch; gap: 0; overflow-x: auto; padding: 10px 12px; color: #8fa2bd; border-bottom: 1px solid #1d304a; background: #091321; font-size: 10px; white-space: nowrap; }
.pipelineDirection > strong, .pipelineDirection > span { display: inline-flex; align-items: center; }
.pipelineDirection span i { margin: 0 7px; color: #5ce4c2; font-style: normal; }
.stageStatisticControls { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 7px; }
.stageSegmented { display: inline-flex; padding: 2px; border: 1px solid #294463; border-radius: 7px; background: #091321; }
.stageSegmented button { min-width: 42px; padding: 5px 8px; border: 0; border-radius: 5px; background: transparent; color: #8397b3; font-size: 10px; cursor: pointer; }
.stageSegmented button:hover { color: #dce8f8; background: #152943; }
.stageSegmented button.active { color: #06131d; background: #5ce4c2; }
.frameStagePanel dl { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); margin: 0; }
.frameStagePanel dl > div { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 9px 12px; border-right: 1px solid #172942; border-bottom: 1px solid #172942; }
.frameStagePanel dt { color: #91a5c0; font-size: 11px; }
.frameStagePanel dd { min-width: 0; margin: 0; color: #dce8f8; font: 11px/1.25 ui-monospace, monospace; font-variant-numeric: tabular-nums; text-align: right; white-space: normal; overflow-wrap: anywhere; }
.diagnosticEmpty { display: grid; min-height: 180px; place-content: center; gap: 8px; padding: 24px; color: #71839e; border: 1px dashed #29435e; border-radius: 10px; text-align: center; }
.diagnosticEmpty strong { color: #cbd8ea; }
@@ -196,6 +173,16 @@ canvas { display: block; width: 100%; height: 100%; background: #070d18; }
.taskflowViewMode button { padding: 7px 9px; color: #91a5c0; border: 0; border-right: 1px solid #304664; background: #101c2d; cursor: pointer; }
.taskflowViewMode button:last-child { border-right: 0; }
.taskflowViewMode button.active { color: #062019; background: #5ce4c2; }
.taskflowTimelineFilters { display: flex; flex-wrap: wrap; gap: 8px 14px; padding: 9px 11px; color: #91a5c0; border: 1px solid #29435e; border-radius: 8px; background: #0c1a2a; font-size: 11px; }
.taskflowTimelineFilters label { display: inline-flex; align-items: center; gap: 5px; }
.taskflowTimelineFilters input { accent-color: #5ce4c2; }
.taskflowTimelineSnapshots { padding: 9px 11px; color: #91a5c0; border: 1px solid #29435e; border-radius: 8px; background: #091321; }
.taskflowTimelineSnapshots > summary { cursor: pointer; }
.taskflowTimelineSnapshots > div { display: grid; gap: 8px; margin-top: 9px; }
.taskflowTimelineSnapshots article { display: grid; gap: 4px; padding: 8px; border: 1px solid #203651; border-radius: 7px; background: #08111e; }
.taskflowTimelineSnapshots article strong { color: #dce8f8; }
.taskflowTimelineSnapshots article span { color: #6f87a6; font-size: 10px; }
.taskflowTimelineSnapshots pre { overflow: auto; margin: 3px 0 0; color: #b9cce3; font: 10px/1.45 ui-monospace, monospace; }
.taskflowError { margin: 0; padding: 10px 12px; color: #ff9bae; border: 1px solid #71334a; border-radius: 8px; background: #27101a; }
.taskflowGraphSummary, .taskflowRuntimeSummary { display: grid; grid-template-columns: repeat(auto-fit, minmax(130px, 1fr)); gap: 8px; margin: 0; }
.taskflowGraphSummary > div, .taskflowRuntimeSummary > div { min-width: 0; padding: 10px; border: 1px solid #213653; border-radius: 9px; background: #0a1422; }