Shipped since v1.0 — Group Inheritance, AI Structuring, Typed Properties, and Inspector UX

· IFC Coordinator Team · Product Updates · 4 min read
releasev1.1v1.2inheritanceaityped-propertiesinspector

If you opened the Inspector a month ago, inherited and direct properties were tangled together, overrides were impossible, and creating a typed property meant three round-trips through the UI. v1.1 and v1.2 fix all three — plus a Group Inheritance model and an AI pass that proposes structure from the patterns already in your model. Here is what is live now.

Inspector UX — direct vs inherited, override, reset

Inspector with inheritance badges and split sections

What you can do now:

  • Direct properties and inherited properties live in separate accordion sections — no more hunting for where a value actually comes from.
  • Every inherited property row carries a source badge: “from type”, “from group”, or “from spatial container”.
  • Click any inherited value to override it inline. The three-state visual (own / inherited / overridden) tells you at a glance where the value lives.
  • Hit the reset button on an override and the property returns to its inherited default — without destroying the original IFC data.

Three-state property override: own, inherited, overridden side-by-side

Typed Property Values

Typed property widgets: boolean toggle, number with unit, enum dropdown

What you can do now:

  • Boolean properties render as toggles, numeric properties as number inputs with unit badges, enums as dropdowns.
  • Bounded values (setpoints with min / max) use a triple input so you cannot enter an out-of-range value by accident.
  • Table-valued properties use a mini grid editor; list-valued properties use tag chips; reference-valued properties show inline links.
  • A new grouped TypePicker with search replaces free-text entry when creating a property — you pick the IFC type first, then the value widget matches it.

Grouped TypePicker with search

Group Property Inheritance

What you can do now:

  • Attach PropertySets directly to Groups, Systems, and Zones. Every member object inherits those properties automatically.
  • Precedence is well-defined: Object > Group > Type. Conflicts are surfaced in the Inspector with an indicator showing the winning source.
  • Edit a group-level property and every member reflects the change in real time via the same Socket.IO pipeline that carries individual edits.
  • On export, group-inherited properties flatten into standard IfcPropertySets on each member — any viewer can read them, no multiplication on round-trip.

AI Model Structuring

AIStructureSuggestionsModal showing proposed Types with confidence scores

What you can do now:

  • Trigger an on-demand AI scan; it analyzes property patterns across your model and proposes Types, Groups, or Systems you could create.
  • Each suggestion carries a confidence score (high / medium / low) based on how many of the candidate members actually share the pattern.
  • Suggestions are validated against the IFC schema before they reach you — only valid entity types are ever proposed.
  • Review everything in the batch preview confirmation flow. You can approve, reject, or skip individual suggestions — nothing changes the model until you confirm.

Technical notes

For BIM engineers

PropValue shape (v1.1 typed properties): properties are typed as { value: unknown; ifcType: string; propKind: PropKind; unit?: string }. propKind is one of boolean | number | enum | bounded | table | list | reference. Legacy string-format properties are normalized transparently at read time — no migration required for existing projects.

Inheritance resolver (v1.1 group inheritance): lives in packages/shared as pure logic. Precedence is Object > Group > Spatial > Type. Conflicts surface with a conflictingSources list so the Inspector can show the winning source plus anything it overrode. All of this is computed at read time — no materialized inheritance on writes.

Override storage (v1.2 override & reset): overrides are persisted as instance-level Pset entries. Reset-to-default consults the originalStates snapshot before deleting — if the property existed in the original IFC, reset restores the original value instead of removing the entry. Round-trip remains lossless.

AI Model Structuring (v1.1 AI pass): runs as a server-side analyze_structure tool; the IFC schema gate is implemented in shared validation. Suggestions flow through the existing batch-preview confirmation UI — no new commit path was added.

Early Access is still open — all features are free while we refine the product. Sign up and start editing.