Pascal Editor
Pascal 首个项目:创建、检查、保存与重新打开
选择本地 CLI 或嵌入方式,加载必要节点定义,用小建筑场景验证功能,不把空画布当成成功。
你将学会
- 首次实验只选一个入口
- 用带有可观察约束的小场景
- 把持久化单独作为验收步骤
开始前需要
- 基础场景图、JavaScript 和 HTTP 知识
- 尺寸与关系具有明确预期的自有小场景
解释实现边界,复现本章检查清单或窄范围图练习。
先看结论
- 本地 CLI 与嵌入 Viewer 是不同入口。
- 先加载节点定义,再期待场景出现。
- 首个项目应通过保存、重开与检查。
首次实验只选一个入口
README 提供 npx @pascal-app/cli editor,可不克隆仓库就创建持久化本地安装。所查 CLI 要求 Node.js 22.13 及以上,并管理后台编辑器与 MCP 进程。命令会下载执行软件包并创建本地状态,应审查版本并使用可丢弃评估环境,不把它当作只读查询。
嵌入方式走另一条路径:安装兼容的 core、viewer、editor、nodes 和对等依赖,先加载一次 builtinPlugin,再挂载 Viewer。查看器 README 明确说明,空注册表不能渲染场景节点。安装软件包与在运行应用中注册它的定义,是两个不同步骤。
用带有可观察约束的小场景
先创建场地、建筑和楼层,再通过编辑器添加墙与一个附着开口。项目显示名称可以有意义,显式指定 slug 时先使用简单 ASCII 标识。辅助函数会删除非 ASCII 字符,而不是音译:纯中文标识归一化后为空并被拒绝,显示名称则是独立字段。
除了画布,还应检查场景树。默认场景构建器同时写入 children 列表和 parentId,因为渲染可以沿单向关系遍历,而场景权威层会检查双向对称。移动或重新挂接对象后撤销操作,确认它只在预期父节点下面出现一次。
把持久化单独作为验收步骤
保存项目,只关闭本次评估会话,再按文档项目流程重新打开,检查尺寸、节点标识、材质和已安装插件状态。画布在 React 重渲染后仍存在,不能证明已持久化;数据库有记录,也不能证明所需资源仍可加载并正确渲染。
下面的 JSON 是编辑设计的验收清单,不是 Pascal 原生场景或 CLI 配置。本次没有安装本地应用、启动服务或执行真实 GPU 渲染。源码探针验证的是更窄的图与命名行为,虽然有价值,却不能代替首次项目的端到端测试。
实施步骤
- 1
审查目标包版本和 Node 要求。
- 2
启动可丢弃试点或准备嵌入注册表。
- 3
创建小场景,检查双向父子关系。
- 4
保存后重开,核对材质和节点身份。
可复制示例
{"projectSlug":"first-room","displayName":"第一个房间","acceptance":["一个可见开口","没有重复子节点","尺寸保留","重开后材质保留"],"exerciseExecuted":false}常见问题
为什么嵌入查看器可能是空白?
源码支持的一种原因是节点注册表尚未初始化,应分别检查插件加载、场景内容和渲染能力。
项目 slug 会自动音译吗?
不会。所查清理函数只保留 ASCII 字母、数字和连字符,归一化结果为空会被拒绝。
资料来源
- README.md来源核查 2026-09-08
- LICENSE来源核查 2026-09-08
- packages/cli/package.json来源核查 2026-09-08
- packages/core/package.json来源核查 2026-09-08
- packages/viewer/README.md来源核查 2026-09-08
- packages/cli/src/runtime.ts来源核查 2026-09-08
- packages/cli/src/editor-process.ts来源核查 2026-09-08
- packages/cli/src/mcp-connector.ts来源核查 2026-09-08
- packages/mcp/src/transports/http.ts来源核查 2026-09-08
- packages/mcp/src/storage/sqlite-scene-store.ts来源核查 2026-09-08
- packages/core/src/store/use-scene.ts来源核查 2026-09-08
- packages/viewer/src/components/renderers/node-renderer.tsx来源核查 2026-09-08
- packages/viewer/src/lib/renderer-capability.ts来源核查 2026-09-08
- packages/core/src/validation/validate-build-json.ts来源核查 2026-09-08
- packages/core/src/utils/heal-scene-graph.ts来源核查 2026-09-08
- packages/mcp/src/storage/slug.ts来源核查 2026-09-08