Legacy shell (removed)

The pre-Solid static shell was removed in 2.21.0 — what was deleted and what replaced it.

This page

Abstract

AXIS’s product path is Solid + Vite. The pre-Solid static shell was deleted in 2.21.0 (~3,900 lines). Before deletion the import graph was traced from src/index.tsx: no legacy file was reachable and none shipped in dist/.

Source of truth: LEGACY.md.

Conceptual model

Diagram

Rendering…

What was removed

DeletedRole
src/main.jsOld bootstrap (chart.js, legacy-topbar.js, …)
src/registry.js, src/registry.d.tsPre-Solid plugin registry
src/registry-bootstrap.js, src/plugin-types.d.tsLegacy builtin registration + ambient typings
src/state.js, src/state-hash.jsPre-Solid store + URL hash hydration
src/{sources,streams,engines}/index.jsLegacy builtin plugin barrels
src/ui/{manager,legacy-topbar,legacy-watchlist,…}.jsLegacy DOM UI
pyne-editor.jsPre-Solid CM6 wiring
style.css, storage.jsTV-blue tokens / unused
server.tsBun static server for old tree
Root sw.jsDuplicate of public/sw.js
tests/{registry,state,server}.test.tsTests of deleted files only

There is no frontend/ directory and no make run-frontend target. The product path is bun run dev. A static demo of dist/ is python axis_pwa_server.py (default port 8081) after bun run build.

What is current

PathRole
src/index.tsx, app.tsxSolid app
src/chart/ChartHost.tsxLWC panes
src/plugins/registry.tsPlugin registry (singleton registry)
src/{sources,streams,engines}/catalog.tsBuiltin catalogs
src/ui/*Topbar, Settings, Results, Manager, …
public/ + bun run buildProduction PWA assets (public/sw.js is the only service worker)
axis_pwa_server.pyServe dist for demos

Migration residue

ResidueHandling
pynescript.axis.plugins.v1Plugin install list
pynescript.axis.library.v1Library localStorage fallback
pynescript.axis.editor.docEditor document backup
CF Pages project axisPages id; canonical https://axis.hoox.sh
CF Worker worker-axisScript name; URL https://worker.axis.hoox.sh
Some docs/Makefile stringsCurrent brand is AXIS

App state namespace: pynescript.axis.v1.

Invariants

  1. One plugin registry: src/plugins/registry.ts, singleton registry. There is no longer a second one.
  2. One service worker: public/sw.js, served at /sw.js and registered by src/pwa/register-sw.ts.
  3. One state store: src/store (Solid). The pre-Solid state.js is gone.
  4. Pages deploy uses Vite dist/, not the repo root static tree.

Failure modes

ConfusionClarification
“UI doesn’t match docs”You may be serving a stale build or cache; bun run build then reload
Plugin manager missingA hard reload clears the old shell from cache
Service worker looks staleOnly public/sw.js is served; unregister any older root sw.js

See also