Thanks for your interest in contributing! We welcome all kinds of contributions — bug fixes, new features, documentation, and ideas.
- Bun 1.3+ (or Node.js 18+)
git clone https://github.com/pascalorg/editor.git
cd editor
bun install
bun devThe editor will be running at http://localhost:3000. That's it!
Copy .env.example to .env and add a Google Maps API key if you want address search functionality. The editor works fully without it.
We use Biome for linting and formatting. Before submitting a PR:
bun check # Check for issues
bun check:fix # Auto-fix issues| Package | What it does |
|---|---|
packages/core |
Scene schema, state management, systems — no UI |
packages/viewer |
3D rendering with React Three Fiber |
apps/editor |
The full editor app (Next.js) |
A key rule: packages/viewer must never import from apps/editor. The viewer is a standalone component; editor-specific behavior is injected via props/children.
- Fork the repo and create a branch from
main - Make your changes and test locally with
bun dev - Run
bun checkto make sure linting passes - Open a PR with a clear description of what changed and why
- Link related issues if applicable (e.g., "Fixes #42")
- Keep PRs focused — one feature or fix per PR
- Include screenshots or recordings for visual changes
- If you're unsure about an approach, open an issue or discussion first
Use the Bug Report template. Include steps to reproduce — this helps us fix things faster.
Use the Feature Request template, or start a Discussion if you want to brainstorm first.
Head to Discussions — we're happy to help!