[Legacy shell]

Pre-Solid SuperChart static shell vs current AXIS product path — what to ignore and what still runs.

Legacy shell

Abstract

AXIS’s shipping product path is Solid + Vite. An older static shell remains in the repo for historical scripts and some Bun tests. Do not document or extend the legacy shell as the primary UI.

Source of truth: frontend/LEGACY.md.

Conceptual model

What is legacy

PathRole
frontend/src/main.jsOld bootstrap (chart.js, topbar.js, …)
frontend/style.cssTV-blue-era tokens
frontend/pine-editor.jsPre-Solid CM6 wiring
frontend/server.tsBun static server for old tree
Root / frontend sw.js (static shell SW)Service worker for old shell

Makefile make run-frontend still prints SuperChart Lite and runs bun run frontend/server.ts on :8081 — useful for legacy debugging, not the Solid product path.

What is current

PathRole
frontend/src/index.tsx, app.tsxSolid app
frontend/src/chart/ChartHost.tsxLWC panes
frontend/src/ui/*Topbar, Settings, Results, Manager, …
frontend/public/ + bun run buildProduction PWA assets
frontend/axis_pwa_server.pyServe dist for demos

Migration residue

ResidueHandling
pynescript.superchart.plugins.v1Loader still reads
pynescript.superchart.library.v1Local storage migrates
pynescript.superchart.editor.docDraft migration
CF project pynescript-superchartFrozen name despite product rebrand
Some docs/Makefile stringsStill say SuperChart Lite

App state target namespace: pynescript.axis.v1 (migrates from pynescript.superchart.*).

Invariants

  1. Do not port new features into main.js.
  2. Prefer Solid store (src/store) over state.js.
  3. Plugin registry is the Solid path (src/plugins/registry.ts); dual registries in old JS should be treated as dead ends.
  4. Pages deploy should use Vite dist/, not the repo root static tree.

Failure modes

ConfusionClarification
“UI doesn’t match docs”You may be serving the legacy shell
Plugin manager missingLegacy topbar lacks Solid Manager
Tests pass, UI wrongUnit tests may still import legacy helpers

See also