Repository navigation
v0.5.0 — The Mermaid.js of BIM (Zero-Dependency & Standalone .debim Architecture)
🏛️ debim v0.5.0: The Mermaid.js of BIM
"A zero-dependency, pure-Python declarative BIM engine designed for AI Agents, LLM Code Interpreters, and air-gapped sandboxes."
Highlights & Major Changes
1. Zero-Dependency Core Architecture
- Standard Library CLI: Eliminated
typerandrichdependencies in favor of Python's standard libraryargparseand high-performance pure-terminal ANSI styling (#279). - Divergence Theorem Volume Math: Eliminated
trimeshdependency by computing 3D watertight mesh volumes directly via divergence theorem vector arithmetic and NumPy array slicing (#277). - Pure-Python 2D Geometry Engine (
geometry2d.py): Replacedshapelywith zero-dependency Shoelace area, perimeter, point-in-polygon, and polygon insetting algorithms (#281).
2. Deterministic Anchor Points & Spatial Orientation Rules
- Rigorously enforced coordinate anchor positions across all element classes to eliminate AI ambiguity:
IfcWall:BOTTOM-START-CENTERLINE([thickness, height])IfcColumn:BOTTOM-CENTER([width, depth])IfcBeam:TOP-CENTERLINE([width, depth])IfcSlab:TOP-FINISH([thickness])IfcSpace:BOTTOM-PERIMETER([height])IfcFurniture:BOTTOM-CENTER([width, depth, height])
- Enforced standard Z-up Euler angles in radians
[rx, ry, rz](#283).
3. Official .debim File Format & Standalone Loader
- Full support for the native
.debimfile extension across all CLI and API commands (#285). - Added built-in pure-Python fallback YAML parser (
_pure_yaml_parse) capable of parsing debim manifests in bare Python sandboxes without requiring external packages.
4. Complete IfcSpace Support (Room Boundary Volumes)
- Grid-offset expressions (e.g.
GX_1 + 0.10), polygon boundary points, and automated wall insetting. - Automated room usable floor area, perimeter, and HVAC air volume QTO calculations (#275).
5. Modular Ecosystem Packaging
- Core package installable with zero external bloat.
- Optional compiler plugins organized under extras:
debim[ifc],debim[cad],debim[mcp],debim[all](#287).
Thank you to all contributors and autonomous AI agents for making declarative Building-as-Code a reality!