mirror of
https://github.com/spacedriveapp/spacedrive.git
synced 2026-11-03 05:45:04 -05:00
Rebuilding a replica's arena from a delivered database adds rows one at a time through Arena::add_entry, and that method built a FileTypeRegistry per call. Building one parses every built-in definition: 92 KB of TOML across 15 files and 349 types, about 3 ms. That was the whole cost of an insert. Titan spent about 57 minutes rebuilding the Mac's 1.76M-entry home source after each transfer. The database was never the problem: the full join scan is 3 s, and one 2,000 row page is 7 ms against an optimal plan. The built-in set never changes after startup, so one instance serves the process. 20,000 inserts drop from 60 s to 143 ms, 3.00 ms to 7.2 µs each, which puts that rebuild near 13 s in a debug build. The batch path built one per batch and now shares the same instance. core/tests/arena_insert_cost.rs fails if an insert starts rebuilding it.
Spacedrive Documentation
The Spacedrive docs site, built with Fumadocs on Next.js. This directory is a standalone app with its own bun install, separate from the repo workspace.
bun install
bun run dev # dev server on localhost:3000
bun run build # production build
Or from the repo root: just dev-docs / just build-docs. Requires Node 20+.
Layout
overview/,core/,extensions/,cli/,react/,gpui/: published MDX content, one sidebar tab per folder. Navigation order lives in each folder'smeta.json.app/,lib/,components/: the Next.js app. Pages are served from the site root, socore/jobs.mdxrenders at/core/jobs.public/: images, logo, favicon.plans/,core/design/,design/,archive/: internal working docs, not part of the site.WRITING_GUIDE.mdx,CODE_COMMENTS.mdx: contributor guides, not published.
Writing pages
Frontmatter supports title, description, and sidebarTitle (a shorter name for the sidebar). Callouts, <Steps>, <Tabs>, <Cards>, and <Accordions> are registered globally, so no imports are needed in MDX. Every page is also served as raw markdown at <path>.md and indexed in /llms.txt.