Welcome to the Morphogen documentation! This guide will help you navigate the documentation based on what you want to accomplish.
💡 First time here? Start with the main README.md to understand Morphogen's vision and what makes it unique. Then come back here for detailed technical documentation.
Choose your path:
- Installation (5 min)
- Your first program (5 min)
- Run an example (5 min)
- Read Why Morphogen Exists (10 min)
- Try Complete Examples (30 min)
- Understand Core Concepts (30 min)
- Explore Domain Catalog - pick 2-3 domains (30 min)
- Read Architecture Overview (30 min)
- Philosophy - Why Morphogen is designed this way
- Architecture - How it's implemented
- Specifications - Technical details
- ADRs - Design decisions
Not sure where to start? See Finding What You Need below
- New to Morphogen? Start with Getting Started for installation and your first program
- Understand the architecture? Read Architecture Overview
- See the full ecosystem? Check ECOSYSTEM_MAP.md for all domains and roadmap
- Explore cross-domain patterns? See Cross-Domain Architectural Patterns and Domain Mesh Catalog
- Browse all documentation? See DOCUMENTATION_INDEX.md ⭐ — Complete map with reveal tool usage
- Explore efficiently? Use the reveal tool (
./scripts/reveal.sh) for incremental documentation exploration - Need current status? Check ../STATUS.md
Morphogen is on a focused path to v1.0!
Current Status:
- v0.12.0: Python-first runtime, examples, and documentation are the primary user surface
- v1.0: packaging/install polish, coherent docs, and a tighter canonical example surface
Critical Path to v1.0:
- 3D Visualization: PyVista integration, camera, lighting, scene graph (12 weeks)
- Molecular Features: Geometry optimization, MD simulations
- Community: docs, tutorials (git-based install, not PyPI)
See ROADMAP.md for complete details and implementation tracking.
Theoretical foundations and epistemological context (answers "WHY")
- Formalization and Knowledge ⭐ — How formalization transforms human knowledge
- Universal DSL Principles ⭐ NEW — Design brief for cross-domain DSLs (the "why")
- Operator Foundations — Mathematical operator theory and spectral methods
- Categorical Structure — Category-theoretic formalization
- Philosophy README — Overview of philosophical foundations
Note: Philosophy docs establish "why" Morphogen is designed this way. For "how" to implement it, see Architecture.
High-level design and architectural principles (answers "HOW")
- Overview - Core Morphogen architecture
- Continuous-Discrete Semantics ⭐ NEW — Dual computational models
- DSL Framework Design ⭐ NEW - Vision for domain reasoning language (the "how" - first-class domains, translations, composition)
- Architecture README - Directory guide for architecture documents
- GPU & MLIR Principles - GPU execution and MLIR integration
- Interactive Visualization - Visualization approach
Note: Architecture docs explain "how" to implement the principles from Philosophy.
Detailed technical specifications (21 documents)
- Language: KAX Language, Type System, Level 3 Type System ⭐ NEW — Cross-domain type safety
- Infrastructure: Graph IR, MLIR Dialects, Operator Registry, Scheduler, Transform, Transform Composition
- Domains: Chemistry, Circuit, Emergence, Procedural Generation, Physics, BI, Video/Audio Encoding
- Other: Geometry, Coordinate Frames, Profiles, Snapshot ABI, Timbre Extraction
Why key architectural decisions were made (12 records)
- 001: Unified Reference Model
- 002: Cross-Domain Architectural Patterns
- 003: Circuit Modeling Domain
- 004: Instrument Modeling Domain
- 005: Emergence Domain
- 006: Chemistry Domain
- 007: GPU-First Domains
- 008: Procedural Generation Domain
- 009: Ambient Music & Generative Domains
- 010: Ecosystem Branding & Naming Strategy
- 011: Project Renaming (Morphogen/Philbrick)
- 012: Universal Domain Translation ⭐ NEW
📗 Usage Guides ⭐ NEW
Narrative how-to guides for specific domains — start here to use a domain
- Audio Analysis — pitch, T60 decay, inharmonicity
- Instrument Model — analyze, synthesise, morph instruments
📖 Guides
How-to documentation for implementers
- Domain Implementation Guide — How to add new domains to Morphogen
💡 Examples
Complete working examples demonstrating Morphogen capabilities
See also: examples/canonical/ — 3 canonical cross-domain examples that run end-to-end
Specific real-world applications
Catalogs, operator references, and domain overviews (~420KB across 18 documents)
📖 Start here: Reference README ⭐ — Comprehensive index with navigation by task and experience level
Key sections:
- Operator Catalogs (~154KB): Complete implementation-ready operator libraries
- Visualization & Sonification (~115KB): Comprehensive visualization and sonification techniques
- Theoretical Frameworks (~84KB): Mathematical foundations and pedagogical metaphors
- Patterns & Best Practices (~72KB): Battle-tested architectural patterns
- Domain Overviews (~40KB): High-level domain capabilities
Quick links:
- Multiphysics Success Patterns ⭐ - 12 battle-tested patterns
- Visualization Cookbook ⭐ - Comprehensive visualization techniques catalog (56K)
- Universal Domain Frameworks ⭐ - Mathematical foundations (28K)
- Mathematical Transformation Metaphors - Intuitive understanding (25K)
Primary: ROADMAP.md ⭐ — Unified development roadmap (v0.12.0 → v1.0)
Planning & Strategy:
- STRATEGY.md — current strategic framing
- PROGRESS_2026-04-17.md — recent repair work and verification
- See ARCHIVE_HISTORY.md for historical planning documents
📦 Archive History ⭐ NEW
Documentation of archived materials and their locations
What's archived:
- Session artifacts from development sessions (point-in-time snapshots)
- Historical planning documents (superseded by unified roadmap)
- Analysis reports from v0.8.0 era (outdated technical analyses)
- Mesh documentation (pre-consolidation)
Where: ~/Archive/morphogen/ - See ARCHIVE_HISTORY.md for complete details and inventory
I want to...
- Browse all documentation → See DOCUMENTATION_INDEX.md ⭐ — Complete index with navigation tips
- Explore documents incrementally → Use
../scripts/reveal.sh(see docs) for token-efficient exploration- Quick preview:
./scripts/reveal.sh 1 <file>(structure only) - Sample content:
./scripts/reveal.sh 2 <file>(representative preview)
- Quick preview:
- Understand why formalization matters → Read Formalization and Knowledge ⭐
- Understand Morphogen's mathematical foundations → See Philosophy section
- Understand Morphogen's vision and impact → Read the main README.md
- Understand Morphogen's architecture → Start with Architecture Overview, then Architecture README
- Understand transformations intuitively → Read Mathematical Transformation Metaphors
- See the complete ecosystem → Check ECOSYSTEM_MAP.md for all domains and roadmap
- Understand language/runtime direction → Read ROADMAP.md and STRATEGY.md
- Understand cross-domain type safety → Check Level 3 Type System
- Implement a new domain → Read Domain Implementation Guide and relevant ADRs
- Learn about a specific domain → Check Specifications for the domain spec, then related ADRs
- See Morphogen in action → Browse Examples and Use Cases
- Find specific operators → Search Reference for operator catalogs
- Understand a design decision → Look in ADRs
- Track project progress → See PROGRESS_2026-04-17.md
- Debug an issue → Start with STATUS.md and the targeted tests for the affected area
2025-11-21: Major Documentation Reorganization & Language Roadmap
- ✅ Documentation Organization - Consolidated and clarified documentation structure:
- Moved analysis docs from root to
docs/analysis/(DOMAIN_VALIDATION_REPORT, MORPHOGEN_RENAME_ANALYSIS) - Moved type system spec to
docs/specifications/level-3-type-system.md - Consolidated archives: moved
archive/historical/andarchive/root-level-docs/todocs/archive/ - All documentation now properly organized in
docs/subdirectories
- Moved analysis docs from root to
- ✅ Language/Runtime Direction - See ROADMAP.md and STRATEGY.md:
- Clear path to language 1.0 (target: 2026 Q2)
- Production-ready vs planned features (physical units, cross-domain types, MLIR optimization)
- Features under discussion (macros, effect system, ownership, pattern matching)
- Decision framework for accepting new features
- Community input process
- ✅ Enhanced Navigation - Updated docs README with:
- Links to newly organized documents
- Language roadmap in prominent position
- Cross-domain type system specification
- ✅ Version Consistency - Updated STATUS.md header to clarify "Morphogen (Morphogen)"
2025-11-21: Documentation Improvements & Clarifications (earlier today)
- ✅ Enhanced Reference Section - Created comprehensive Reference README with:
- Navigation by task and experience level
- Document relationships and cross-references
- Statistics and breakdown by category (~420KB total)
- ✅ Clarified Overlapping Docs - Added purpose sections to distinguish:
- Universal DSL Principles (the "why" - design philosophy)
- DSL Framework Design (the "how" - implementation vision)
- ✅ Improved Navigation - Added "WHY" vs "HOW" labels to Philosophy and Architecture sections
2025-11-21: New Theoretical Foundation Documents (~150KB)
- 🆕 Philosophy Section - Comprehensive theoretical framework:
- Formalization and Knowledge (13K) - Historical context
- Operator Foundations (18K) - Mathematical operator theory
- Categorical Structure (26K) - Category-theoretic formalization
- Universal DSL Principles (18K) - 8 design principles
- Philosophy README (11K) - Section index
- 🆕 Architecture Documents:
- DSL Framework Design (23K) - Implementation vision
- Continuous-Discrete Semantics - Dual computational models
- 🆕 New ADR: 012: Universal Domain Translation (14K)
- 🆕 New Spec: Transform Composition (15K) - Composable transforms
2025-11-16: Major Documentation Reorganization
- ✅ Created
planning/andanalysis/directories for better organization - ✅ Moved strategic planning docs from root to
docs/planning/ - ✅ Moved analysis documents from root to
docs/analysis/ - ✅ Moved orphaned docs to proper locations (
specifications/,guides/) - ✅ Updated all version numbers to v0.10.0 (23 domains implemented)
- ✅ Fixed inconsistencies across README, STATUS, and SPECIFICATION
2025-11-15: Initial Documentation Reorganization
- ✅ Consistent lowercase naming throughout
- ✅ Logical grouping by user intent (why/what/how/how-to)
- ✅ Fixed ADR numbering (resolved duplicate 003 and 005 issues)
- ✅ All specifications in one directory for easy discovery
- ✅ Clear navigation paths for different user types
- ✅ Moved patterns catalog out of ADRs to reference section
All file history has been preserved using git mv.
The reveal tool (scripts/reveal.sh) is designed for incremental documentation exploration, saving time and tokens:
# Start with structure (level 1) - see headings without full content
./scripts/reveal.sh 1 docs/architecture/domain-architecture.md
# Preview sample content (level 2) - representative sections
./scripts/reveal.sh 2 docs/specifications/chemistry.md
# Full content (level 3) - only when you need complete details
./scripts/reveal.sh 3 docs/guides/domain-implementation.mdRecommended workflow:
- Survey first: Use level 1 to see document structure
- Sample strategically: Use level 2 to preview interesting sections
- Read selectively: Only read full docs (level 3 or direct read) when needed
Token savings: Level 1 uses ~5-10% of tokens, level 2 uses ~20-30%, versus 100% for full reads.
See scripts/README.md for complete reveal tool documentation.
- Philosophy vs Architecture: Philosophy docs explain "WHY" (design principles), Architecture docs explain "HOW" (implementation approach)
- ADRs reference specs: Check ADRs to understand design decisions, then read related specifications for implementation details
- Examples reference specs: Working examples in
examples/demonstrate concepts fromspecifications/ - Guides reference everything: Implementation guides in
guides/tie together philosophy, architecture, specs, and ADRs