feat(observatory): add durable recorded compute queue

This commit is contained in:
DCCONSTRUCTIONS
2026-08-31 01:04:25 +03:00
parent e72609120f
commit d67e86176e
23 changed files with 6300 additions and 369 deletions
+32 -165
View File
@@ -20,8 +20,6 @@
}
.observatory-lead,
.observatory-catalog-bar,
.observatory-catalog-bar__controls,
.observatory-notice {
flex-wrap: wrap;
}
@@ -35,14 +33,12 @@
.observatory-lead h2,
.observatory-catalog-bar h3,
.observatory-session-summary h3,
.observatory-setup-detail h3,
.observatory-evidence h3 {
margin: 0.3rem 0 0;
}
.observatory-catalog-bar h3,
.observatory-session-summary h3,
.observatory-setup-detail h3,
.observatory-evidence h3 {
font-size: var(--nodedc-font-size-lg);
letter-spacing: -0.02em;
@@ -50,7 +46,6 @@
}
.observatory-lead p,
.observatory-catalog-bar p,
.observatory-state p,
.observatory-evidence-empty p {
max-width: 52rem;
@@ -67,17 +62,37 @@
}
.observatory-catalog-bar__copy {
flex: 1 1 auto;
display: grid;
flex: 0 0 auto;
align-content: center;
gap: 0.1rem;
}
.observatory-catalog-bar h3 {
margin-top: 0.1rem;
}
.observatory-catalog-bar__controls {
flex: 2 1 48rem;
min-width: 0;
flex: 1 1 auto;
flex-wrap: nowrap;
justify-content: flex-end;
}
.observatory-catalog-bar__controls .nodedc-select-anchor {
flex: 1 1 18rem;
min-width: min(22rem, 100%);
min-width: 0;
}
.observatory-catalog-bar__controls > .nodedc-button {
flex: 0 0 auto;
}
.observatory-catalog-bar__run {
display: flex;
flex: 0 0 auto;
align-items: center;
gap: 0.55rem;
}
.observatory-state {
@@ -105,9 +120,9 @@
.observatory-session-summary {
display: grid;
grid-template-columns: minmax(14rem, 1.1fr) minmax(22rem, 1.6fr) minmax(14rem, auto);
grid-template-columns: minmax(11rem, 1.05fr) minmax(20rem, 1.6fr) minmax(11rem, auto);
align-items: center;
gap: 1rem;
gap: 0.75rem;
}
.observatory-session-summary__identity {
@@ -131,7 +146,7 @@
.observatory-session-summary__facts {
display: grid;
grid-template-columns: repeat(3, minmax(6.5rem, 1fr));
gap: 1rem;
gap: 0.75rem;
margin: 0;
}
@@ -159,7 +174,7 @@
display: grid;
min-width: 0;
justify-items: end;
gap: 0.6rem;
gap: 0.4rem;
}
.observatory-modalities {
@@ -171,135 +186,6 @@
color: var(--nodedc-text-muted);
}
.observatory-setup-detail {
display: grid;
grid-template-columns: minmax(0, 1fr) auto;
gap: 0.85rem 1rem;
container-name: observatory-setup;
container-type: inline-size;
}
.observatory-setup-detail__identity {
min-width: 0;
}
.observatory-setup-detail__identity h3 {
margin: 0.15rem 0 0;
}
.observatory-setup-detail__identity p {
max-width: 68rem;
margin: 0.3rem 0 0;
color: var(--nodedc-text-muted);
font-size: var(--nodedc-font-size-sm);
line-height: 1.35;
}
.observatory-setup-detail__badges,
.observatory-setup-detail__actions,
.observatory-setup-detail__reason {
display: flex;
align-items: center;
gap: 0.55rem;
}
.observatory-setup-detail__badges {
align-self: start;
justify-content: flex-end;
flex-wrap: wrap;
}
.observatory-setup-detail__facts {
display: grid;
grid-column: 1 / -1;
grid-template-columns: repeat(3, minmax(0, 1fr));
gap: 0.75rem;
margin: 0;
}
.observatory-setup-detail__facts > div {
display: grid;
min-width: 0;
gap: 0.2rem;
padding: 0.65rem 0.75rem;
border-radius: var(--nodedc-radius-control-compact);
background: var(--nodedc-glass-control-bg);
}
.observatory-setup-detail__facts dt {
color: var(--nodedc-text-muted);
font-size: var(--nodedc-font-size-xs);
}
.observatory-setup-detail__facts dd {
min-width: 0;
margin: 0;
overflow-wrap: anywhere;
color: var(--nodedc-text-secondary);
font-size: var(--nodedc-font-size-sm);
line-height: 1.35;
}
.observatory-setup-results {
display: grid;
grid-column: 1 / -1;
gap: 0.35rem;
margin: 0;
padding: 0;
list-style: none;
}
.observatory-setup-results li {
display: grid;
grid-template-columns: auto minmax(0, 1fr) auto;
align-items: center;
gap: 0.65rem;
min-height: 3.15rem;
padding: 0.5rem 0.7rem;
border-radius: var(--nodedc-radius-control-compact);
background: var(--nodedc-glass-control-bg);
color: var(--nodedc-text-secondary);
}
.observatory-setup-results span {
display: grid;
min-width: 0;
gap: 0.1rem;
}
.observatory-setup-results strong,
.observatory-setup-results small {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.observatory-setup-results small {
color: var(--nodedc-text-muted);
font-size: var(--nodedc-font-size-sm);
line-height: 1.35;
}
.observatory-setup-detail__footer {
display: flex;
grid-column: 1 / -1;
align-items: center;
justify-content: space-between;
gap: 0.8rem;
padding-top: 0.1rem;
}
.observatory-setup-detail__reason {
min-width: 0;
color: var(--nodedc-text-muted);
font-size: var(--nodedc-font-size-sm);
line-height: 1.4;
}
.observatory-setup-detail__actions {
flex: 0 0 auto;
}
.observatory-evidence {
display: grid;
gap: 0.65rem;
@@ -454,7 +340,7 @@
font-size: var(--nodedc-font-size-sm);
}
@container observatory-session (max-width: 56rem) {
@container observatory-session (max-width: 46rem) {
.observatory-session-summary {
grid-template-columns: minmax(0, 1fr);
align-items: start;
@@ -467,29 +353,6 @@
}
}
@container observatory-setup (max-width: 48rem) {
.observatory-setup-detail {
grid-template-columns: minmax(0, 1fr);
}
.observatory-setup-detail__badges {
justify-content: flex-start;
}
.observatory-setup-detail__facts {
grid-template-columns: minmax(0, 1fr);
}
.observatory-setup-detail__footer {
align-items: stretch;
flex-direction: column;
}
.observatory-setup-detail__actions {
flex-wrap: wrap;
}
}
@container observatory-session (max-width: 48rem) {
.observatory-evidence-card {
grid-template-columns: auto minmax(0, 1fr) auto;
@@ -535,4 +398,8 @@
min-width: 0;
}
.observatory-catalog-bar__run {
justify-content: flex-end;
}
}