Move lifecycle assembly out of the PBS frontend into a common AssembleLifecyclePipelineStage. PBS emits a typed IRLifecycleDeclaration; the assembler owns wrappers, boot guard, and single project-init execution. Housekeep DSC-0059 with LSN-0062, and include the DSC-0062 PVM/PBX neutrality spec and lesson already present on this branch.
Prometeu Studio
Prometeu Studio is the desktop development environment for the Prometeu toolchain.
This repository packages the Studio shell together with the embedded services it depends on: compiler pipeline integration, asset packing, runtime/debug orchestration, and project-local Studio state. The current implementation is a Java/JavaFX multi-module Gradle build.
What Lives Here
The root project is a monorepo with these main areas:
prometeu-app: JavaFX application entry point (p.studio.App).prometeu-studio: Studio UI, workspaces, project session lifecycle, play/stop flow, and debugger-facing surfaces.prometeu-packer: embedded packer APIs and implementation used by Studio.prometeu-compiler: compiler core, build pipeline, frontend APIs, and the PBS frontend.prometeu-infra: shared infrastructure used across modules.docs/: normative specifications and architectural references.discussion/: workflow artifacts for agendas, decisions, plans, and lessons.test-projects/: sample workspaces used for local development and tests.
Current Product Shape
The Studio shell currently organizes the product around three workspaces:
- Assets
- Debug
- Shipper
At runtime, the app boots an embedded packer, restores project-local Studio state, and opens the Studio launcher window. Project creation currently scaffolds a Prometeu workspace with prometeu.json, src/, assets/, build/, cartridge/, .workspace/, and local Studio metadata.
Requirements
- JDK 21 or newer recommended for local development
- Gradle wrapper (
./gradlew) included in the repository - A desktop environment capable of running JavaFX
Common Commands
Run the full project graph listing:
./gradlew projects
Run the desktop application:
./gradlew :prometeu-app:run
Run the test suite:
./gradlew test
Generate the aggregated coverage report:
./gradlew jacocoTestReport
Repository Reading Guide
If you are new to the codebase, this order is usually the fastest path:
- Start at
prometeu-appto see application bootstrap. - Read
prometeu-studiofor the shell, workspaces, and user-facing flows. - Read
prometeu-packerfor asset and packaging boundaries. - Read
prometeu-compilerwhen you need compiler or PBS language behavior.
Specs And Architecture
Important reference surfaces:
docs/specs/compiler/: shared compiler specificationsdocs/specs/packer/: packer specificationsdocs/vm-arch/: VM and ISA architecture references
These documents are the long-term normative source for behavior and contracts. When code and docs diverge, fix the divergence explicitly instead of relying on tribal knowledge.