From 097d63caeffd925a4c7dc24c1594ed5433bad2ce Mon Sep 17 00:00:00 2001 From: firestar5683 <168790843+firestar5683@users.noreply.github.com> Date: Fri, 4 Sep 2026 23:01:30 -0500 Subject: [PATCH] and this is my lab --- .../the_galaxy/assets/components/router.js | 2 +- .../components/tools/model_laboratory.css | 19 +------------ .../components/tools/model_laboratory.js | 28 ++++++------------- .../system/the_galaxy/templates/index.html | 2 +- .../tests/test_frontend_module_graph.py | 9 ++++++ 5 files changed, 20 insertions(+), 40 deletions(-) diff --git a/starpilot/system/the_galaxy/assets/components/router.js b/starpilot/system/the_galaxy/assets/components/router.js index e22adaf8d..d5019b9dd 100644 --- a/starpilot/system/the_galaxy/assets/components/router.js +++ b/starpilot/system/the_galaxy/assets/components/router.js @@ -21,7 +21,7 @@ import { Sidebar } from "/assets/components/sidebar.js?v=controllers-nav-1" import { SentryMode } from "/assets/components/tools/sentry.js" import { SpeedLimits } from "/assets/components/tools/speed_limits.js" import { ModelManager } from "/assets/components/tools/model_manager.js?v=20260825a" -import { ModelLaboratory } from "/assets/components/tools/model_laboratory.js?v=model-lab-1" +import { ModelLaboratory } from "/assets/components/tools/model_laboratory.js?v=model-lab-4" import { LivePlots } from "/assets/components/tools/plots.js" import { ThemeMaker } from "/assets/components/tools/theme_maker.js" import { TestingGround } from "/assets/components/tools/testing_ground.js" diff --git a/starpilot/system/the_galaxy/assets/components/tools/model_laboratory.css b/starpilot/system/the_galaxy/assets/components/tools/model_laboratory.css index 030380245..cdb3a361e 100644 --- a/starpilot/system/the_galaxy/assets/components/tools/model_laboratory.css +++ b/starpilot/system/the_galaxy/assets/components/tools/model_laboratory.css @@ -229,30 +229,13 @@ overflow-wrap: anywhere; } -.ml-findings { - display: grid; - gap: var(--gap-md); - grid-template-columns: repeat(2, minmax(0, 1fr)); -} - -.ml-findings ul { - color: var(--text-muted); - margin-bottom: 0; - padding-left: 1.2rem; -} - -.ml-findings li + li { - margin-top: 0.45rem; -} - @media (max-width: 760px) { .ml-wrapper { padding-right: 0; } .ml-pair, - .ml-runtime-grid, - .ml-findings { + .ml-runtime-grid { grid-template-columns: 1fr; } diff --git a/starpilot/system/the_galaxy/assets/components/tools/model_laboratory.js b/starpilot/system/the_galaxy/assets/components/tools/model_laboratory.js index cdce53bde..592db14b6 100644 --- a/starpilot/system/the_galaxy/assets/components/tools/model_laboratory.js +++ b/starpilot/system/the_galaxy/assets/components/tools/model_laboratory.js @@ -230,7 +230,7 @@ function renderModel(model) {
${model.version || "unknown version"} ${model.modelSize || "small"} - + ${artifactStatus} ${model.modelLabArtifactAvailable && !model.modelLabArtifactInstalled ? html` @@ -255,15 +255,14 @@ export function ModelLaboratory() {
-
Chestnut experiment

Model Laboratory

Use the lateral judgment of one small model and the longitudinal judgment of another.

- + ${() => state.chestnutReady ? "Chestnut ready" : "Chestnut required"} - + ${() => state.isOnroad ? "Onroad · locked" : "Parked · configurable"}
@@ -280,7 +279,7 @@ export function ModelLaboratory() {

Compose a pair

Both precompiled small models stay resident and run every camera frame on Chestnut's AMD GPU.

- + ${() => state.configuration.enabled ? "Enabled" : "Disabled"}
@@ -339,7 +338,7 @@ export function ModelLaboratory() {

Runtime

The configuration activates when modeld starts for a drive.

- + ${() => state.runtime?.active ? "Pair active" : state.runtime?.requested ? "Pair requested" : "Inactive"} @@ -354,28 +353,17 @@ export function ModelLaboratory() {
-

Small-model readiness

-

${state.summary.ready || 0} AMD-ready · ${state.summary.published || 0} published · ${state.summary.eligible || 0} eligible small models.

+

Available models

+

${() => `${state.summary.ready || 0} ready to pair · ${Math.max((state.summary.published || 0) - (state.summary.ready || 0), 0)} available to download.`}

- Manifest ${state.manifest.version || "unknown"}
-
${() => state.models.map(renderModel)}
+
${() => readyModels().map(renderModel)}
Model Manager downloads the manifest's precompiled AMD variants. Nothing is compiled on the comma. A normal installed model may still need its separate Chestnut artifact.
-
-
-

Manifest shortcomings

-
    ${(state.manifest.shortcomings || []).map(item => html`
  • ${item}
  • `)}
-
-
-

Opportunities

-
    ${(state.manifest.opportunities || []).map(item => html`
  • ${item}
  • `)}
-
-
` : ""} ` diff --git a/starpilot/system/the_galaxy/templates/index.html b/starpilot/system/the_galaxy/templates/index.html index cca2f9932..b80014cc8 100644 --- a/starpilot/system/the_galaxy/templates/index.html +++ b/starpilot/system/the_galaxy/templates/index.html @@ -30,7 +30,7 @@ - + diff --git a/starpilot/system/the_galaxy/tests/test_frontend_module_graph.py b/starpilot/system/the_galaxy/tests/test_frontend_module_graph.py index bfee7245c..b6c25d8b6 100644 --- a/starpilot/system/the_galaxy/tests/test_frontend_module_graph.py +++ b/starpilot/system/the_galaxy/tests/test_frontend_module_graph.py @@ -121,5 +121,14 @@ def test_model_laboratory_frontend_exposes_guards_and_role_copy(): assert "run every camera frame on Chestnut's AMD GPU" in source assert 'lateral.value === longitudinal.value' in source assert 'lateral.version !== longitudinal.version' not in source + assert 'class="ml-chip ${' not in source + assert 'class="ml-state ${() =>' not in source + assert 'class="${() => `ml-chip ${' in source + assert 'class="${() => `ml-state ${' in source assert "Path shape, curvature, lane geometry" in source assert "Speed, acceleration, stopping, leads" in source + assert "Chestnut experiment" not in source + assert "Manifest shortcomings" not in source + assert "Opportunities" not in source + assert 'model_laboratory.js?v=model-lab-4' in ROUTER_PATH.read_text(encoding="utf-8") + assert 'model_laboratory.css?v=model-lab-4' in INDEX_PATH.read_text(encoding="utf-8")