Drone Sim is a browser-based engineering lab for quadcopter frame design and flight testing. It combines:
- parametric frame and print-layout views
- assembly fit and structural checks
- live flight telemetry, debug overlays, and replay inspection
- a local MCP debug sidecar for live state reads and patches
Prerequisites:
- Node.js 20+
pnpm
Install and start the app:
pnpm install
pnpm devThe Vite app runs on http://localhost:3000.
pnpm dev- start the apppnpm build- production buildpnpm preview- preview the production buildpnpm lint- TypeScript typecheckpnpm mcp:debug- start the local debug MCP bridge
The repo includes a local MCP server in
tools/drone-sim-debug-mcp that can attach to
the running browser session and:
- fetch UI + telemetry state
- patch params, sim settings, view settings, and debug settings
- set waypoints and toggle autopilot
VS Code can start the sidecar from
\.vscode/mcp.json.
Typical loop:
- Run
pnpm mcp:debug - Run
pnpm dev - Open the app in the browser
- Connect through the MCP server or the included agent docs in
.github/agents
Local debug bridge scratch files live under .drone-sim-debug/ and are ignored
by git.
src/App.tsx- app shell and scene compositionsrc/components/- viewport UI, inspectors, overlays, and controlssrc/sim/- shared simulation config and engineering/flight domain logictools/drone-sim-debug-mcp/- local MCP sidecar for live inspection/control
This repo treats the sim as an engineering instrument, not just a visual toy:
- prefer physically plausible forces over teleports or visual hacks
- keep verification visible in-app through telemetry and overlays
- gate unrealistic assemblies before flight mode accepts them