Pascal Editor
Primer proyecto Pascal: crear, inspeccionar, guardar y reabrir
Elige CLI local o paquetes integrados, carga las definiciones necesarias y verifica una escena pequeña sin confundir un lienzo vacío con éxito.
Qué aprenderás
- Elige una entrada para el primer experimento
- Usa una escena pequeña con invariantes observables
- Evalúa persistencia por separado
Antes de empezar
- Conceptos básicos de grafos, JavaScript y HTTP
- Una escena propia pequeña con dimensiones y relaciones esperadas
Explica el límite y reproduce la lista o el ejercicio acotado del capítulo.
Conclusiones clave
- CLI local y Viewer integrado son entradas distintas.
- Carga definiciones antes de esperar una escena visible.
- El primer proyecto debe sobrevivir a guardar y reabrir.
Elige una entrada para el primer experimento
El README ofrece npx @pascal-app/cli editor para una instalación local persistente sin clonar el repositorio. La CLI inspeccionada requiere Node.js 22.13 o posterior y administra procesos de editor y MCP en segundo plano. El comando descarga y ejecuta código y crea estado local: revisa el paquete y utiliza un entorno desechable, no lo trates como consulta de solo lectura.
La integración sigue otra ruta: instala core, viewer, editor y nodes con dependencias compatibles, carga builtinPlugin una vez y después monta Viewer. Su README explica que un registro vacío no puede renderizar nodos. Instalar el paquete no equivale a registrar sus definiciones en la aplicación que está ejecutándose.
Usa una escena pequeña con invariantes observables
Empieza por sitio, edificio y nivel, y añade una pared con una abertura mediante el editor. Utiliza un nombre descriptivo y un identificador ASCII sencillo si especificas un slug. La función elimina caracteres no ASCII en lugar de transliterarlos: un identificador compuesto solo por caracteres chinos queda vacío y se rechaza; el nombre visible es otro campo.
Inspecciona el árbol además del lienzo. El constructor inicial escribe children y parentId porque el renderizado puede recorrer una dirección mientras la autoridad de escena comprueba simetría. Mueve un elemento o cambia su padre, deshaz la acción y verifica que aparece exactamente una vez bajo el padre previsto.
Evalúa persistencia por separado
Guarda, cierra únicamente la sesión de evaluación y vuelve a abrir mediante el flujo de proyectos documentado. Comprueba dimensiones, IDs, materiales y plugins instalados. Que el lienzo sobreviva a un nuevo render de React no demuestra almacenamiento duradero; un registro en la base de datos tampoco garantiza que todos los recursos sigan disponibles y se dibujen.
El JSON siguiente es una lista editorial de aceptación, no una escena Pascal ni configuración CLI nativa. No instalamos la aplicación, iniciamos servicios ni renderizamos con una GPU real. El sondeo de código verifica comportamientos más estrechos de grafo y nombres, evidencia útil que no sustituye la prueba completa del primer proyecto.
Pasos de implementación
- 1
Revisa versión del paquete y requisito de Node.
- 2
Prepara un piloto desechable o el registro integrado.
- 3
Crea una escena y comprueba ambas direcciones del grafo.
- 4
Guarda y reabre verificando materiales e identidad.
Ejemplo para copiar
{"projectSlug":"first-room","displayName":"Primera habitación","acceptance":["una abertura visible","sin hijos duplicados","dimensiones conservadas","material tras reabrir"],"exerciseExecuted":false}Preguntas frecuentes
¿Por qué puede quedar vacío un visor integrado?
Una causa sustentada por código es un registro de nodos sin inicializar. Revisa plugins, contenido y capacidad gráfica por separado.
¿Los slugs se transliteran?
No. La función conserva letras ASCII, números y guiones y rechaza resultados vacíos.
Fuentes
- README.mdFuente verificada 2026-09-08
- LICENSEFuente verificada 2026-09-08
- packages/cli/package.jsonFuente verificada 2026-09-08
- packages/core/package.jsonFuente verificada 2026-09-08
- packages/viewer/README.mdFuente verificada 2026-09-08
- packages/cli/src/runtime.tsFuente verificada 2026-09-08
- packages/cli/src/editor-process.tsFuente verificada 2026-09-08
- packages/cli/src/mcp-connector.tsFuente verificada 2026-09-08
- packages/mcp/src/transports/http.tsFuente verificada 2026-09-08
- packages/mcp/src/storage/sqlite-scene-store.tsFuente verificada 2026-09-08
- packages/core/src/store/use-scene.tsFuente verificada 2026-09-08
- packages/viewer/src/components/renderers/node-renderer.tsxFuente verificada 2026-09-08
- packages/viewer/src/lib/renderer-capability.tsFuente verificada 2026-09-08
- packages/core/src/validation/validate-build-json.tsFuente verificada 2026-09-08
- packages/core/src/utils/heal-scene-graph.tsFuente verificada 2026-09-08
- packages/mcp/src/storage/slug.tsFuente verificada 2026-09-08