⚠️ Archived Repository (Read-Only)This repository is no longer under active development.
All active development has moved to the monorepo: https://github.com/DesignOpticsFast/suite
The pre-migration baseline corresponds to tag
sprint-4.6Ain the monorepo.
📋 Workflow Dependencies | 🔧 Development Setup | 📚 API Documentation | 🏗️ Architecture | 🧵 Threading
Bedrock is the headless, computationally efficient core of the Phoenix platform.
It owns the System Object Model (.SOM), performs all calculations, and provides
fast, composable primitives for ray tracing, wave optics, tolerancing, optimization,
and future AI-assisted workflows.
Philosophy: open, modular, AI-first. GUIs belong in
Phoenix(separate repo).
Status: ✅ Sprint 4.5 Complete (2025-01-26)
Foundation: C++20, LocalSocket + Protobuf (envelope-based Palantir protocol)
Note: For current toolchain versions, see docs/VERSIONS.md.
Transport:
- Palantir Server: LocalSocket + Protobuf with envelope-based protocol
- Protocol:
MessageEnvelopewith[4-byte length][serialized MessageEnvelope] - RPCs: Capabilities, XY Sine
- Error Handling: Standardized error codes and responses
Compute:
- Engine API: Core computation primitives
- XY Sine: Synchronous computation (runs on event loop thread)
- OpenMP: Infrastructure present for future parallelization
Data Model:
- SOM v0: System Object Model with Two-Surface Element (TSE)
- Surface Definitions: Basic optical surface structures
- Material Properties: Material definitions
Geometry:
- OpenCascade: Build infrastructure exists (integration planned)
- STEP Export: Planned for future sprints
Transport:
- gRPC: Validated in Gate 0.5, not yet integrated (planned)
- Arrow Flight: High-performance data transfer (planned)
Compute:
- Ray Tracing: Optical ray tracing engine (planned)
- Wave Optics: Wavefront calculations (planned)
- Tolerancing: Statistical analysis (planned)
Geometry:
- OpenCascade Integration: Full OCCT integration (planned)
- STEP Export: CAD file export (planned)
Note: For detailed implementation status, see docs/palantir/IMPLEMENTATION_STATUS.md.
Key Directories:
include/bedrock/- Public C++ headers (Engine API, SOM, geometry)src/- Implementation (engine, palantir transport, geometry)core/- Core utilities (threading, math)som/- System Object Model definitionstests/- Unit and integration testsdocs/- Documentation (architecture, build, testing, etc.)
Note: For detailed repository structure, see docs/REPOSITORY_STRUCTURE.md.
- Phoenix — Qt GUI/IDE that calls Bedrock APIs. Bedrock never runs a GUI.
- Rosetta — translators for legacy formats (Zemax/CodeV/Seq) will arrive later, once
.SOMis stable. - Gaia — community hub (docs, tutorials, RFCs for
.SOM, contribution guides).
Bedrock is the foundation layer: Phoenix and Rosetta depend on it.
- Phase 1 (Now): SOM v0, TSE, STEP export, Phoenix integration.
- Phase 2: Extend SOM (assemblies, materials, wavelengths).
- Phase 3: Core primitives — ray tracing, aberrations, tolerancing.
- Phase 4: Python bindings + CLI tools.
- Phase 5: GPU/cluster scalability and AI-agent workflows.
- CI + branch protection enabled (PRs required, build must pass).
.SOMschema under active design.- First deliverable:
NewDesign_TSE_WriteSTEP()+ smoke tests.
We welcome early feedback and proposals:
- Open issues for
.SOM, Rosetta, and primitive APIs. - RFCs and design docs will live in
DesignOpticsFast/gaia. - License: Apache 2.0
Apache License 2.0 © Design Optics Fast LLC