Skip to content

v0.9.0: Spatial Programming, 2D Fit Solver, 5-Layer Audit Matrix & Auto-Framing Engine

Choose a tag to compare

@PRIDA-TAKON PRIDA-TAKON released this 16 Oct 09:18
· 68 commits to main since this release

What's Changed in debim v0.9.0

🏛️ 1. Human Scale Furniture Variables & Clearance Envelopes (Wave 1 - #468)

  • Declare standard architectural furniture dimensions and human activity clearance envelopes under variables:.
  • Supports CLEARANCE_BED, CLEARANCE_DESK, CLEARANCE_DINING, CLEARANCE_WARDROBE, and sanitary units.

📐 2. Programmatic Space Scopes & Auto-Sizing (Wave 2 - #470)

  • IfcSpace consumes declared variable references (contains: [ref: ...]).
  • Automatically computes minimum net required area using the architect formula:
    $$\text{Required Area} = \left(\sum \text{Footprint of Contained Items}\right) \times 1.30$$

⚡ 3. Pre-flight 2D Geometric Furniture Fit Solver (Wave 3 - #472)

  • Exposes CLI command debim fit -m <project.debim> with instant (< 0.01s) Pass/Fail verification.
  • Pure-Python / NumPy 2D Bounding Box packing and Separating Axis Theorem (SAT) collision checking.
  • Verifies walkway connectivity (min 0.60m corridor) between space entrance and functional envelopes.

🛡️ 4. 5-Layer Architectural & Engineering Audit Matrix & Flight Recorder (Wave 4 - #474)

  • Exposes CLI command debim audit -m <project.debim> [--fix].
  • 5 Verification Layers:
    1. Spatial & Functional: Net area compliance, non-overlapping furniture clearance, 2.60m clear head-room.
    2. Legal & Life Safety: Thai Building Act MR 55 (ventilation >= 10%, bathroom drop <= -0.10m, stair treads/risers).
    3. Structural Load Continuity: Column continuous vertical stack, beam supporting walls, roof-to-foundation load path.
    4. MEP Flow & Gravity: Sanitary drain slope >= 1:100, vent stacks to exterior, zero MEP-structural collisions.
    5. Constructability & Clashes: Zero hard clashes between Arch, Struct, and MEP.
  • Actionable Structured Remediation proposals with automated fix suggestions.
  • Telemetry Flight Recorder exporting audit_log.json and human-readable audit_report.md.

🧩 5. Touching Spaces Relative Syntax & Auto-Derivation Engine (Wave 5 - #476)

  • Model buildings simply by declaring how spaces touch each other: touching: { target: str, side: NORTH|SOUTH|EAST|WEST, align: LEFT|RIGHT|CENTER|TOP|BOTTOM }.
  • Exposes CLI command debim derive -m <floorplan.debim> -o <project.debim>.
  • Automatically derives:
    • Shared touching boundary -> internal IfcWall
    • Exterior boundary -> exterior IfcWall + IfcWindow
    • Must-connect spaces -> centered IfcDoor
    • Touching corner vertices -> IfcColumn
    • Wall baselines -> IfcBeam and IfcSlab