fix(observatory): refine catalog and replay UX

This commit is contained in:
DCCONSTRUCTIONS
2026-08-30 20:36:12 +03:00
parent 023151c186
commit be83283ee0
18 changed files with 2137 additions and 201 deletions
@@ -62,6 +62,53 @@
pointer-events: auto;
}
.canonical-vegetation-rerun-replay {
width: 100%;
min-width: 0;
}
.canonical-vegetation-rerun-replay:not([data-presentation-state="ready"])
.m4-replay-threat-visual__pane-toolbar,
.canonical-vegetation-rerun-replay:not([data-presentation-state="ready"])
.laboratory-evidence-viewer__controls,
.canonical-vegetation-rerun-replay:not([data-presentation-state="ready"])
.laboratory-evidence-viewer__transport {
visibility: hidden;
pointer-events: none;
}
.canonical-vegetation-rerun-replay[data-presentation-state="loading"]
.m4-replay-threat-visual__unified-content {
visibility: hidden;
}
.canonical-vegetation-rerun-replay__viewport-lock {
width: 100%;
height: 100%;
min-width: 0;
min-height: 0;
}
.canonical-vegetation-rerun-replay__viewport-lock
.rerun-viewport__camera-lock {
width: var(--canonical-rerun-camera-pane, 100%);
}
.canonical-vegetation-rerun-replay__viewport-lock[data-split-view="true"]
.rerun-viewport__camera-lock {
width: calc(var(--canonical-rerun-camera-pane, 46%) - 0.75rem);
}
.canonical-vegetation-rerun-replay__loading {
position: absolute;
z-index: 6;
inset: 0;
display: grid;
place-items: center;
background: var(--nodedc-canvas);
pointer-events: none;
}
.m4-replay-threat-visual__deck[data-empty="true"] > .l3-visual-audit__state {
position: absolute;
z-index: 1;
@@ -282,6 +329,10 @@
grid-template-columns: auto auto auto minmax(0, 1fr) auto;
}
.canonical-vegetation-rerun-replay__timeline .observation-timeline__playback {
grid-template-columns: auto auto minmax(0, 1fr) auto;
}
.m4-replay-threat-visual__overlay {
box-sizing: border-box;
min-width: 0;
+144 -55
View File
@@ -10,7 +10,6 @@
.observatory-catalog-bar,
.observatory-catalog-bar__controls,
.observatory-notice,
.observatory-session-summary > header,
.observatory-evidence > header {
display: flex;
align-items: center;
@@ -27,7 +26,6 @@
.observatory-lead > div,
.observatory-catalog-bar__copy,
.observatory-session-summary header > div,
.observatory-evidence header > div {
min-width: 0;
}
@@ -77,64 +75,91 @@
margin: 0;
}
.observatory-session-grid {
.observatory-session-stack {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(min(24rem, 100%), 1fr));
gap: 1rem;
align-items: start;
gap: 0.9rem;
container-name: observatory-session;
container-type: inline-size;
}
.observatory-session-summary,
.observatory-evidence {
.observatory-session-summary {
display: grid;
grid-template-columns: minmax(14rem, 1.1fr) minmax(22rem, 1.6fr) minmax(14rem, auto);
align-items: center;
gap: 1rem;
}
.observatory-session-summary dl,
.observatory-evidence-list dl {
.observatory-session-summary__identity {
display: grid;
gap: 0.75rem;
min-width: 0;
gap: 0.22rem;
}
.observatory-session-summary__identity h3 {
margin: 0.1rem 0 0;
}
.observatory-session-summary__identity code {
overflow: hidden;
color: var(--nodedc-text-muted);
font-size: var(--nodedc-font-size-xs);
text-overflow: ellipsis;
white-space: nowrap;
}
.observatory-session-summary__facts {
display: grid;
grid-template-columns: repeat(3, minmax(6.5rem, 1fr));
gap: 1rem;
margin: 0;
}
.observatory-session-summary dl > div,
.observatory-evidence-list dl > div {
.observatory-session-summary__facts > div {
display: grid;
grid-template-columns: minmax(7.5rem, 0.42fr) minmax(0, 1fr);
gap: 0.85rem;
align-items: baseline;
min-width: 0;
gap: 0.24rem;
}
.observatory-session-summary dt,
.observatory-evidence-list dt {
.observatory-session-summary__facts dt {
color: var(--nodedc-text-muted);
font-size: var(--nodedc-font-size-xs);
}
.observatory-session-summary dd,
.observatory-evidence-list dd {
.observatory-session-summary__facts dd {
min-width: 0;
margin: 0;
overflow-wrap: anywhere;
color: var(--nodedc-text-secondary);
}
.observatory-session-summary code,
.observatory-evidence-list code {
font-size: var(--nodedc-font-size-xs);
.observatory-session-summary__end {
display: grid;
min-width: 0;
justify-items: end;
gap: 0.6rem;
}
.observatory-modalities {
display: flex;
flex-wrap: wrap;
justify-content: flex-end;
gap: 0.45rem;
align-items: center;
color: var(--nodedc-text-muted);
}
.observatory-evidence {
display: grid;
gap: 0.65rem;
}
.observatory-evidence > header {
padding: 0 0.2rem;
}
.observatory-evidence-list {
display: grid;
gap: 0.75rem;
gap: 0.4rem;
margin: 0;
padding: 0;
list-style: none;
@@ -142,11 +167,51 @@
.observatory-evidence-card {
display: grid;
gap: 0.85rem;
grid-template-columns: auto minmax(0, 1fr) auto auto;
align-items: center;
gap: 0.8rem;
min-height: 4.25rem;
padding: 0.7rem 0.85rem;
border-radius: var(--nodedc-radius-control-compact);
background: var(--nodedc-glass-control-bg);
}
.observatory-evidence-card__heading,
.observatory-evidence-card__action,
.observatory-evidence-card__icon {
display: grid;
width: 2.15rem;
height: 2.15rem;
place-items: center;
border-radius: var(--nodedc-radius-circle);
background: var(--nodedc-panel-icon-bg);
color: var(--nodedc-text-secondary);
}
.observatory-evidence-card__copy {
display: grid;
min-width: 0;
gap: 0.16rem;
}
.observatory-evidence-card__copy strong,
.observatory-evidence-card__copy span,
.observatory-evidence-card__copy small {
min-width: 0;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.observatory-evidence-card__copy span {
color: var(--nodedc-text-secondary);
font-size: var(--nodedc-font-size-sm);
}
.observatory-evidence-card__copy small {
color: var(--nodedc-text-muted);
font-size: var(--nodedc-font-size-xs);
}
.observatory-evidence-card__actions,
.observatory-replay__header,
.observatory-replay-state,
.observatory-replay-state__actions {
@@ -156,28 +221,17 @@
gap: 0.85rem;
}
.observatory-evidence-card__heading,
.observatory-evidence-card__action,
.observatory-replay__header,
.observatory-replay-state {
flex-wrap: wrap;
}
.observatory-evidence-card__heading > div,
.observatory-evidence-card__action > span,
.observatory-replay__header > div,
.observatory-replay-state > div {
min-width: 0;
}
.observatory-evidence-card__action {
padding-top: 0.85rem;
border-top: 1px solid rgba(var(--nodedc-accent-rgb), 0.18);
}
.observatory-evidence-card__action > span {
color: var(--nodedc-text-muted);
font-size: var(--nodedc-font-size-xs);
.observatory-evidence-card__actions:empty {
display: none;
}
.observatory-replay,
@@ -205,17 +259,6 @@
color: var(--nodedc-text-muted);
}
.observatory-evidence-list strong,
.observatory-evidence-list span {
display: block;
}
.observatory-evidence-list span {
margin-top: 0.25rem;
color: var(--nodedc-text-muted);
font-size: var(--nodedc-font-size-sm);
}
.observatory-evidence-empty {
display: grid;
min-height: 13rem;
@@ -242,6 +285,56 @@
flex: 1 1 auto;
}
.observatory-rename-form,
.observatory-delete-confirmation {
display: grid;
gap: 0.75rem;
}
.observatory-delete-confirmation p,
.observatory-mutation-error {
margin: 0;
line-height: 1.5;
}
.observatory-mutation-error {
color: rgb(var(--nodedc-danger-rgb));
font-size: var(--nodedc-font-size-sm);
}
@container observatory-session (max-width: 56rem) {
.observatory-session-summary {
grid-template-columns: minmax(0, 1fr);
align-items: start;
}
.observatory-session-summary__end,
.observatory-modalities {
justify-items: start;
justify-content: flex-start;
}
}
@container observatory-session (max-width: 48rem) {
.observatory-evidence-card {
grid-template-columns: auto minmax(0, 1fr) auto;
}
.observatory-evidence-card > .nodedc-status {
display: none;
}
}
@container observatory-session (max-width: 38rem) {
.observatory-session-summary__facts {
grid-template-columns: minmax(0, 1fr);
}
.observatory-evidence-card__copy small {
white-space: normal;
}
}
@media (max-width: 920px) {
.observatory-lead,
.observatory-catalog-bar,
@@ -251,7 +344,6 @@
flex-direction: column;
}
.observatory-evidence-card__action,
.observatory-replay__header,
.observatory-replay-state {
align-items: stretch;
@@ -268,7 +360,4 @@
min-width: 0;
}
.observatory-session-grid {
grid-template-columns: minmax(0, 1fr);
}
}