Pascal Editor
Choosing Pascal: complete editor, embedded viewer or a custom scene pipeline
Compare spatial workflows by editing, persistence, plugin availability and graphics acceptance rather than assuming every Three.js application solves the same problem.
What you will learn
- Choose the responsibility you want to own
- Use one scene and one acceptance contract
- Make limitations part of the decision
Before you start
- Basic scene-graph, JavaScript and HTTP concepts
- An owned small scene with expected dimensions and relationships
Explain the implementation boundary and reproduce the chapter’s checklist or narrow graph exercise.
Key takeaways
- Select by the responsibility your host must own.
- Use equal geometry, data and persistence checks.
- Interchange and professional suitability need separate evidence.
Choose the responsibility you want to own
The managed local editor is appropriate to evaluate when you want an application with projects and agent connectivity. An embedded Viewer is appropriate when your own host owns navigation, data loading and surrounding interface. A custom Three.js pipeline gives more direct control but leaves you responsible for building-domain state, editing operations and persistence. These are architectural choices, not measured product rankings.
Start from a required operation: inspect a building, edit a hosted opening, compare levels or automate an authorized scene change. A read-only presentation may not need the entire editor, while interactive building editing needs more than displaying a mesh. Decide which layer must be reusable before comparing installation convenience.
Use one scene and one acceptance contract
Compare candidates with the same small scene, expected dimensions, materials and camera views. Require a save/reload round trip when persistence is part of the task, and include node identity and parent-child relationships when tools modify the graph. A visually similar screenshot is not enough for a data-editing workflow.
For Pascal, include plugin registration and enablement, WebGPU/WebGL behavior, import warnings and version conflicts in the evaluation. For an embedded host, include who supplies storage and authority; for a custom renderer, include the work required to implement equivalent editing semantics. Keep the hidden integration work visible in the comparison.
Make limitations part of the decision
Do not assume import support proves lossless interchange with every CAD or BIM application, or that graph validation proves compliance with construction requirements. Those claims need dedicated files, round-trip tests and domain review. The current source evidence establishes mechanisms and boundaries, not professional certification or universal format fidelity.
A bounded pilot should end with an accepted workflow and known maintenance obligations, or a documented reason not to adopt it. Leave performance rankings blank until measured on equivalent output. This series did not run a full editor comparison, so its recommendation is a decision method rather than an unsupported declaration that Pascal is best for every spatial project.
Implementation steps
- 1
List required inspection, editing and persistence operations.
- 2
Assign storage and authorization ownership to a layer.
- 3
Evaluate all candidates with the same scene and output checks.
- 4
Record unsupported requirements instead of hiding them in a score.
Copy-ready example
{"candidates":["managed local editor","embedded viewer","custom scene pipeline"],"sharedAcceptance":["geometry","materials","node identity","required persistence"],"measuredWinner":null,"comparisonExecuted":false}Frequently asked questions
Does an embedded Viewer include all editor responsibilities?
No. The host still needs to decide data loading, storage, authority and which editing components are required.
Does import validation prove lossless BIM interchange?
No. Format fidelity and professional requirements need dedicated round-trip and domain-specific tests.
Sources
- README.mdSource checked 2026-09-08
- LICENSESource checked 2026-09-08
- packages/cli/package.jsonSource checked 2026-09-08
- packages/core/package.jsonSource checked 2026-09-08
- packages/viewer/README.mdSource checked 2026-09-08
- packages/cli/src/runtime.tsSource checked 2026-09-08
- packages/cli/src/editor-process.tsSource checked 2026-09-08
- packages/cli/src/mcp-connector.tsSource checked 2026-09-08
- packages/mcp/src/transports/http.tsSource checked 2026-09-08
- packages/mcp/src/storage/sqlite-scene-store.tsSource checked 2026-09-08
- packages/core/src/store/use-scene.tsSource checked 2026-09-08
- packages/viewer/src/components/renderers/node-renderer.tsxSource checked 2026-09-08
- packages/viewer/src/lib/renderer-capability.tsSource checked 2026-09-08
- packages/core/src/validation/validate-build-json.tsSource checked 2026-09-08
- packages/core/src/utils/heal-scene-graph.tsSource checked 2026-09-08
- packages/mcp/src/storage/slug.tsSource checked 2026-09-08