import { Component, createSignal, lazy, onCleanup, Show } from 'solid-js'; import styles from './App.module.css'; type Route = 'home' | 'primitives' | 'unknown'; function parseRoute(path: string): Route { if (path === '' || path === '/' || path === '/index.html') return 'home'; if (path === '/dev/primitives' || path === '/dev/primitives/') return 'primitives'; return 'unknown'; } // Lazy-loaded so the home route doesn't pay the cost of loading every // primitive demo. Stream 9/10 can grow the showcase freely. const PrimitivesShowcase = lazy(() => import('./dev/PrimitivesShowcase')); const App: Component = () => { const [route, setRoute] = createSignal(parseRoute(window.location.pathname)); const onPop = () => setRoute(parseRoute(window.location.pathname)); window.addEventListener('popstate', onPop); onCleanup(() => window.removeEventListener('popstate', onPop)); const navigate = (path: string) => { if (window.location.pathname === path) return; window.history.pushState({}, '', path); setRoute(parseRoute(path)); }; return (
MEMLNaut playground

404

No route at {window.location.pathname}.

{ e.preventDefault(); navigate('/'); }}>back to home

); }; const Home: Component = () => { return (

MEMLNaut Playground

Interactive ML control of audio. SolidJS scaffold — modes coming online in stream 9.

This is a fresh scaffold. ML, WASM, and audio engines are not yet wired up.

); }; export default App;