fix(ui): remove decorative outlines and restore lab spacing
This commit is contained in:
@@ -18,7 +18,7 @@
|
|||||||
.e35-degradation-evidence__timeline {
|
.e35-degradation-evidence__timeline {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
z-index: 3;
|
z-index: 3;
|
||||||
top: 3.7rem;
|
top: 4.9rem;
|
||||||
right: 0.6rem;
|
right: 0.6rem;
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-wrap: wrap;
|
flex-wrap: wrap;
|
||||||
@@ -27,11 +27,24 @@
|
|||||||
max-width: calc(100% - 1.2rem);
|
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);
|
background: var(--nodedc-floating-surface);
|
||||||
backdrop-filter: blur(var(--nodedc-blur-control));
|
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 {
|
.e35-degradation-evidence__telemetry {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
z-index: 3;
|
z-index: 3;
|
||||||
@@ -74,7 +87,7 @@
|
|||||||
|
|
||||||
@media (max-width: 900px) {
|
@media (max-width: 900px) {
|
||||||
.e35-degradation-evidence__timeline {
|
.e35-degradation-evidence__timeline {
|
||||||
top: 4rem;
|
top: 5.2rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
.e35-degradation-evidence__timeline .nodedc-button {
|
.e35-degradation-evidence__timeline .nodedc-button {
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
.laboratory-summary__brief {
|
.laboratory-summary .laboratory-summary__brief {
|
||||||
display: grid;
|
display: grid;
|
||||||
grid-template-columns: repeat(2, minmax(0, 1fr));
|
grid-template-columns: repeat(2, minmax(0, 1fr));
|
||||||
gap: 0.4rem;
|
gap: 0.4rem;
|
||||||
margin-top: 0.65rem;
|
margin-top: 0.85rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
.laboratory-summary__brief > div {
|
.laboratory-summary__brief > div {
|
||||||
@@ -44,7 +44,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
@media (max-width: 1100px) {
|
@media (max-width: 1100px) {
|
||||||
.laboratory-summary__brief {
|
.laboratory-summary .laboratory-summary__brief {
|
||||||
grid-template-columns: repeat(2, minmax(0, 1fr));
|
grid-template-columns: repeat(2, minmax(0, 1fr));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -5,6 +5,10 @@
|
|||||||
gap: 0.85rem;
|
gap: 0.85rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.laboratory-work-template {
|
||||||
|
gap: 1rem;
|
||||||
|
}
|
||||||
|
|
||||||
.recordings-workspace {
|
.recordings-workspace {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
@@ -163,7 +167,7 @@
|
|||||||
.laboratory-summary__method {
|
.laboratory-summary__method {
|
||||||
display: grid;
|
display: grid;
|
||||||
gap: 0.45rem;
|
gap: 0.45rem;
|
||||||
margin-top: 0.65rem;
|
margin-top: 0.85rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
.laboratory-summary__method > header {
|
.laboratory-summary__method > header {
|
||||||
|
|||||||
@@ -55,7 +55,6 @@
|
|||||||
.compute-contour-settings__install code {
|
.compute-contour-settings__install code {
|
||||||
overflow: auto;
|
overflow: auto;
|
||||||
padding: 0.8rem;
|
padding: 0.8rem;
|
||||||
border: 1px solid var(--station-hairline);
|
|
||||||
border-radius: var(--nodedc-radius-control);
|
border-radius: var(--nodedc-radius-control);
|
||||||
background: var(--station-panel-deep);
|
background: var(--station-panel-deep);
|
||||||
color: var(--nodedc-text-secondary);
|
color: var(--nodedc-text-secondary);
|
||||||
@@ -132,7 +131,6 @@
|
|||||||
.system-telemetry-series,
|
.system-telemetry-series,
|
||||||
.network-stat-card {
|
.network-stat-card {
|
||||||
min-width: 0;
|
min-width: 0;
|
||||||
border: 1px solid var(--station-hairline);
|
|
||||||
border-radius: var(--nodedc-radius-card);
|
border-radius: var(--nodedc-radius-card);
|
||||||
background: var(--station-panel-soft);
|
background: var(--station-panel-soft);
|
||||||
}
|
}
|
||||||
@@ -213,8 +211,8 @@
|
|||||||
|
|
||||||
.worker-hardware__facts dl {
|
.worker-hardware__facts dl {
|
||||||
grid-template-columns: repeat(2, minmax(0, 1fr));
|
grid-template-columns: repeat(2, minmax(0, 1fr));
|
||||||
border: 1px solid var(--station-hairline);
|
|
||||||
border-radius: var(--nodedc-radius-control);
|
border-radius: var(--nodedc-radius-control);
|
||||||
|
background: var(--station-panel-soft);
|
||||||
}
|
}
|
||||||
|
|
||||||
.worker-hardware__facts dl > div,
|
.worker-hardware__facts dl > div,
|
||||||
@@ -383,13 +381,11 @@
|
|||||||
gap: 0.75rem;
|
gap: 0.75rem;
|
||||||
padding: 0.72rem 0.8rem;
|
padding: 0.72rem 0.8rem;
|
||||||
isolation: isolate;
|
isolation: isolate;
|
||||||
border: 1px solid var(--station-hairline);
|
|
||||||
border-radius: var(--nodedc-radius-control);
|
border-radius: var(--nodedc-radius-control);
|
||||||
background: var(--station-panel-soft);
|
background: var(--station-panel-soft);
|
||||||
}
|
}
|
||||||
|
|
||||||
.worker-stage-list li[data-state="active"] {
|
.worker-stage-list li[data-state="active"] {
|
||||||
border-color: var(--station-hairline-strong);
|
|
||||||
background: var(--nodedc-focus-surface);
|
background: var(--nodedc-focus-surface);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -498,7 +494,6 @@
|
|||||||
min-width: 0;
|
min-width: 0;
|
||||||
gap: 0.3rem;
|
gap: 0.3rem;
|
||||||
padding: 0.78rem;
|
padding: 0.78rem;
|
||||||
border: 1px solid var(--station-hairline);
|
|
||||||
border-radius: var(--nodedc-radius-control);
|
border-radius: var(--nodedc-radius-control);
|
||||||
background: var(--station-panel-soft);
|
background: var(--station-panel-soft);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -30,6 +30,14 @@ const e35ResultUrl = new URL(
|
|||||||
"../src/workspaces/laboratory/E35Result.tsx",
|
"../src/workspaces/laboratory/E35Result.tsx",
|
||||||
import.meta.url,
|
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(
|
const advancedLaboratoryResultUrl = new URL(
|
||||||
"../src/workspaces/laboratory/AdvancedLaboratoryResult.tsx",
|
"../src/workspaces/laboratory/AdvancedLaboratoryResult.tsx",
|
||||||
import.meta.url,
|
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 () => {
|
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(e35ResultUrl, "utf8"),
|
||||||
readFile(advancedLaboratoryResultUrl, "utf8"),
|
readFile(advancedLaboratoryResultUrl, "utf8"),
|
||||||
|
readFile(e35StylesUrl, "utf8"),
|
||||||
|
readFile(laboratoryStylesUrl, "utf8"),
|
||||||
|
readFile(laboratoryReportingStylesUrl, "utf8"),
|
||||||
]);
|
]);
|
||||||
|
|
||||||
assert.match(e35Source, /<LaboratoryWorkTemplate/);
|
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(e35Source, /PHASE_LABELS/);
|
||||||
assert.match(advancedSource, /id: "e35-degradation-recovery"/);
|
assert.match(advancedSource, /id: "e35-degradation-recovery"/);
|
||||||
assert.match(advancedSource, /<E35Result/);
|
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 () => {
|
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,
|
telemetryStyles,
|
||||||
/\.worker-stage-list\s*\{[^}]*grid-template-columns:\s*repeat\(3,/s,
|
/\.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, /127\.0\.0\.1:8000/);
|
||||||
assert.match(networkWorkspace, /telemetry_poll_interval_seconds/);
|
assert.match(networkWorkspace, /telemetry_poll_interval_seconds/);
|
||||||
assert.match(networkWorkspace, />\s*Обновить\s*</);
|
assert.match(networkWorkspace, />\s*Обновить\s*</);
|
||||||
|
|||||||
Reference in New Issue
Block a user