diff --git a/docs/skill/references/docs/guides/notebook-runtime.md b/docs/skill/references/docs/guides/notebook-runtime.md index 44f22d2..96d35c9 100644 --- a/docs/skill/references/docs/guides/notebook-runtime.md +++ b/docs/skill/references/docs/guides/notebook-runtime.md @@ -167,7 +167,11 @@ sca ls [DIR] # the notebooks under DIR: id, part or assembly, th ``` A **workspace** is any directory tree: its models are the notebooks whose -header has `[tool.simplecadapi]`, wherever they are. There is no manifest. +header has `[tool.simplecadapi]`, at any depth. There is no manifest. Skipped +everywhere: names starting with `.` or `_`, and `node_modules`, `venv`, +`site-packages`, `build`, `dist` — a notebook in such a place is not listed +by `sca ls` or the editor's workspace tab, so keep notebooks in normally +named paths. `sca edit [WORKSPACE]` (needs `pip install "simplecadapi[editor]"`) opens a code-first editor on a workspace. The notebooks run in a marimo kernel with diff --git a/docs/skill/references/domains/editor-collaboration.md b/docs/skill/references/domains/editor-collaboration.md index 3ad24e1..ab65bcd 100644 --- a/docs/skill/references/domains/editor-collaboration.md +++ b/docs/skill/references/domains/editor-collaboration.md @@ -35,9 +35,14 @@ sca edit --no-browser --port 7180 - Needs the `editor` extra (`pip install "simplecadapi[editor]"`); without it the command says so and stops. -- The workspace is any directory tree. Models are the notebooks whose header has - `[tool.simplecadapi]`; assemblies list the parts they `use(...)`. Open the - assembly to see the product, a part to edit that part. +- The workspace is any directory tree, scanned to any depth. Models are the + notebooks whose header has `[tool.simplecadapi]`; assemblies list the parts + they `use(...)`. Open the assembly to see the product, a part to edit that + part. Working in a subfolder is fine; what hides a file from the workspace + tab is its name: directories and files starting with `.` or `_`, and + anything under `node_modules`, `venv`, `site-packages`, `build` or `dist`, + are not listed and are never a candidate at boot. Keep notebooks and the + modules they import in normally named paths. - The URL is printed (default `http://127.0.0.1:7180`). Give it to the person. - To try it: `sca example u_link` copies a motor-mount workspace (two parts and the assembly that fixes them together) to `./u_link_motor_mount`, then diff --git a/editor-web/src/App.tsx b/editor-web/src/App.tsx index b92747a..9425eae 100644 --- a/editor-web/src/App.tsx +++ b/editor-web/src/App.tsx @@ -48,7 +48,6 @@ export function App() { // kernel is up, and a late answer of the workspace list cannot undo it. const [currentPath, setCurrentPath] = useState(null); const [kernelAlive, setKernelAlive] = useState(false); - const [marimoUrl, setMarimoUrl] = useState(null); const [status, setStatus] = useState("Connecting…"); const [params, setParams] = useState([]); @@ -126,7 +125,6 @@ export function App() { const stage = envelope["notebook"] ? (envelope["kernel"] ? "building the model" : "starting the kernel") : null; setLoading(stage); setStatus(stage ? `${stage[0].toUpperCase()}${stage.slice(1)}…` : "No notebook yet: create one in the workspace tab"); - setMarimoUrl((envelope["marimo_url"] as string) ?? null); refreshWorkspace(); }); @@ -335,7 +333,6 @@ export function App() { kind={kind} kernelAlive={kernelAlive} status={status} - marimoUrl={marimoUrl} themePreference={theme.preference} onTheme={theme.cycle} running={running} diff --git a/editor-web/src/components/Header.tsx b/editor-web/src/components/Header.tsx index 37a3936..4ca168c 100644 --- a/editor-web/src/components/Header.tsx +++ b/editor-web/src/components/Header.tsx @@ -1,4 +1,4 @@ -import { ExternalLink, Monitor, Moon, Play, Square, Sun } from "lucide-react"; +import { Monitor, Moon, Play, Square, Sun } from "lucide-react"; import type { ThemePreference } from "@/lib/theme"; @@ -15,7 +15,6 @@ export function Header({ onRunAll, running, onStop, - marimoUrl, themePreference, onTheme, }: { @@ -27,7 +26,6 @@ export function Header({ /** The kernel is running cells: the button stops them instead. */ running: boolean; onStop: () => void; - marimoUrl: string | null; themePreference: ThemePreference; onTheme: () => void; }) { @@ -63,13 +61,6 @@ export function Header({ run all )} - {marimoUrl && ( - - )}