PIComposer API

A comprehensive Dart workspace for building information modeling (BIM) and structured data management APIs. This workspace provides interfaces and implementations for working with IFC, STEP, and other industry-standard data formats.

📦 Workspace Packages

Package Description Status
base_types Core data types and utilities ✅ Active
schema_interface Schema definition contracts and interfaces ✅ Active
schema_ffi FFI implementations for schema operations ✅ Active
store_interface Data storage and persistence interfaces ✅ Active
store_ffi FFI implementations for data storage ✅ Active
picomposer_procedures Procedural operations and templates ✅ Active

🚀 Quick Start

Prerequisites

  • Dart SDK >=3.6.0 <4.0.0

Installation

# Clone the repository
git clone <repository-url>
cd picomposer_api

# Get dependencies for all packages
dart pub get

Development

# Run tests across all packages
dart test

# Generate documentation
dart doc

🏗️ Architecture Overview

PIComposer API Workspace
├── Base Types (Core utilities)
├── Schema Interface (Contracts)
│   └── Schema FFI (Implementation)
└── Store Interface (Data layer contracts)
    └── Store FFI (Data layer implementation)

📋 Supported Standards

  • IFC 2x3/IFC4: Building Information Modeling
  • STEP (ISO 10303): Various application protocols
    • AP203: Mechanical design
    • AP210: Electronic packaging
    • AP214: Automotive design
    • AP238: Manufacturing (STEP-NC)
    • AP242: Managed 3D engineering
  • CIS/2: Structural steel framework

🔧 Key Features

  • Multi-format Support: IFC, STEP, JSON interoperability
  • Visual Programming: Template-based procedural operations
  • Spatial Modeling: BIM-specific spatial hierarchy management
  • Data Persistence: Database-backed storage with backup/restore
  • Cross-platform: Dart-based for multi-platform deployment

📚 Documentation

🤝 Contributing

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Run tests: dart test
  5. Submit a pull request

📄 License

See individual package directories for licensing information.

Libraries