fix(ui): remove decorative outlines and restore lab spacing

This commit is contained in:
DCCONSTRUCTIONS
2026-07-28 01:46:01 +03:00
parent 2ffbb51a7e
commit a63d2fe15b
6 changed files with 64 additions and 14 deletions
@@ -18,7 +18,7 @@
.e35-degradation-evidence__timeline {
position: absolute;
z-index: 3;
top: 3.7rem;
top: 4.9rem;
right: 0.6rem;
display: flex;
flex-wrap: wrap;
@@ -27,11 +27,24 @@
max-width: calc(100% - 1.2rem);
}
.e35-degradation-evidence__timeline .nodedc-button {
.e35-degradation-evidence__timeline
.nodedc-button[data-variant="secondary"] {
background: var(--nodedc-floating-surface);
backdrop-filter: blur(var(--nodedc-blur-control));
}
.e35-degradation-evidence__timeline
.nodedc-button[data-variant="primary"] {
background: var(--nodedc-glass-control-active);
color: var(--nodedc-glass-control-active-text);
backdrop-filter: blur(var(--nodedc-blur-control));
}
.e35-degradation-evidence__timeline
.nodedc-button[data-variant="primary"]:hover:not(:disabled) {
background: var(--nodedc-glass-control-active);
}
.e35-degradation-evidence__telemetry {
position: absolute;
z-index: 3;
@@ -74,7 +87,7 @@
@media (max-width: 900px) {
.e35-degradation-evidence__timeline {
top: 4rem;
top: 5.2rem;
}
.e35-degradation-evidence__timeline .nodedc-button {
@@ -1,8 +1,8 @@
.laboratory-summary__brief {
.laboratory-summary .laboratory-summary__brief {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 0.4rem;
margin-top: 0.65rem;
margin-top: 0.85rem;
}
.laboratory-summary__brief > div {
@@ -44,7 +44,7 @@
}
@media (max-width: 1100px) {
.laboratory-summary__brief {
.laboratory-summary .laboratory-summary__brief {
grid-template-columns: repeat(2, minmax(0, 1fr));
}
@@ -5,6 +5,10 @@
gap: 0.85rem;
}
.laboratory-work-template {
gap: 1rem;
}
.recordings-workspace {
width: 100%;
height: 100%;
@@ -163,7 +167,7 @@
.laboratory-summary__method {
display: grid;
gap: 0.45rem;
margin-top: 0.65rem;
margin-top: 0.85rem;
}
.laboratory-summary__method > header {
@@ -55,7 +55,6 @@
.compute-contour-settings__install code {
overflow: auto;
padding: 0.8rem;
border: 1px solid var(--station-hairline);
border-radius: var(--nodedc-radius-control);
background: var(--station-panel-deep);
color: var(--nodedc-text-secondary);
@@ -132,7 +131,6 @@
.system-telemetry-series,
.network-stat-card {
min-width: 0;
border: 1px solid var(--station-hairline);
border-radius: var(--nodedc-radius-card);
background: var(--station-panel-soft);
}
@@ -213,8 +211,8 @@
.worker-hardware__facts dl {
grid-template-columns: repeat(2, minmax(0, 1fr));
border: 1px solid var(--station-hairline);
border-radius: var(--nodedc-radius-control);
background: var(--station-panel-soft);
}
.worker-hardware__facts dl > div,
@@ -383,13 +381,11 @@
gap: 0.75rem;
padding: 0.72rem 0.8rem;
isolation: isolate;
border: 1px solid var(--station-hairline);
border-radius: var(--nodedc-radius-control);
background: var(--station-panel-soft);
}
.worker-stage-list li[data-state="active"] {
border-color: var(--station-hairline-strong);
background: var(--nodedc-focus-surface);
}
@@ -498,7 +494,6 @@
min-width: 0;
gap: 0.3rem;
padding: 0.78rem;
border: 1px solid var(--station-hairline);
border-radius: var(--nodedc-radius-control);
background: var(--station-panel-soft);
}
@@ -30,6 +30,14 @@ const e35ResultUrl = new URL(
"../src/workspaces/laboratory/E35Result.tsx",
import.meta.url,
);
const e35StylesUrl = new URL(
"../src/styles/e35-degradation-recovery.css",
import.meta.url,
);
const laboratoryReportingStylesUrl = new URL(
"../src/styles/laboratory-reporting.css",
import.meta.url,
);
const advancedLaboratoryResultUrl = new URL(
"../src/workspaces/laboratory/AdvancedLaboratoryResult.tsx",
import.meta.url,
@@ -166,9 +174,18 @@ test("E34 keeps temporal evidence inside the canonical LAB and viewer contracts"
});
test("E35 extends the canonical LAB with fault and recovery evidence", async () => {
const [e35Source, advancedSource] = await Promise.all([
const [
e35Source,
advancedSource,
e35Styles,
laboratoryStyles,
reportingStyles,
] = await Promise.all([
readFile(e35ResultUrl, "utf8"),
readFile(advancedLaboratoryResultUrl, "utf8"),
readFile(e35StylesUrl, "utf8"),
readFile(laboratoryStylesUrl, "utf8"),
readFile(laboratoryReportingStylesUrl, "utf8"),
]);
assert.match(e35Source, /<LaboratoryWorkTemplate/);
@@ -182,6 +199,22 @@ test("E35 extends the canonical LAB with fault and recovery evidence", async ()
assert.match(e35Source, /PHASE_LABELS/);
assert.match(advancedSource, /id: "e35-degradation-recovery"/);
assert.match(advancedSource, /<E35Result/);
assert.match(
e35Styles,
/\.e35-degradation-evidence__timeline[\s\S]*top:\s*4\.9rem/,
);
assert.match(
e35Styles,
/\.nodedc-button\[data-variant="primary"\][\s\S]*background:\s*var\(--nodedc-glass-control-active\)/,
);
assert.match(
laboratoryStyles,
/\.laboratory-work-template\s*\{[^}]*gap:\s*1rem/s,
);
assert.match(
reportingStyles,
/\.laboratory-summary\s+\.laboratory-summary__brief\s*\{[^}]*margin-top:\s*0\.85rem/s,
);
});
test("the primary point-cloud viewer restores from fullscreen on Escape", async () => {
@@ -59,6 +59,11 @@ test("Worker 006 telemetry remains a bounded system feature slice", async () =>
telemetryStyles,
/\.worker-stage-list\s*\{[^}]*grid-template-columns:\s*repeat\(3,/s,
);
assert.doesNotMatch(
telemetryStyles,
/\bborder:\s*1px\s+solid/,
"System product blocks must not reintroduce decorative perimeter outlines",
);
assert.match(networkWorkspace, /127\.0\.0\.1:8000/);
assert.match(networkWorkspace, /telemetry_poll_interval_seconds/);
assert.match(networkWorkspace, />\s*Обновить\s*</);