К содержанию
IFC-RS
Viewer English
Wiki проекта ru

API

Rust facade — реализовано

Главный тип: ifccore::IfcModel<'source>.

API Результат
IfcModel::open(&[u8]) открывает модель без копии полного буфера
entity(express_id) возвращает ID, IFC-тип и byte range
entities_by_type(name) детерминированный список по Express ID
diagnostics() коды и полуоткрытые диапазоны проблем
edit() начинает изолированную транзакцию
Edit::set_attribute(...) заменяет атрибут STEP-токеном
Edit::commit() атомарно публикует overlay
write(&mut Write) записывает новый IFC

ErrorCode: EntityNotFound, InvalidEdit, WriteFailed. Полная справка: Rust API и rustdoc cargo doc -p ifccore --open.

WASM API — реализовано

Группы exports: open/streaming, query/search, tree/properties, geometry, edit/undo/redo, export/cancellation, diagnostics/performance и ifc_close. JSON DTO содержат schema; основной контракт — ifc-wasm.dto.v1, binary geometry — IFCG/2.

Обязательный lifecycle:

ifc_open(bytes) → handle → query/edit/export → ifc_close(handle)

Handle нельзя переиспользовать после close. Профиль однопоточный; threads и SharedArrayBuffer не входят в 0.2. Точный список сигнатур: WASM API 0.2.

Версионирование

Несовместимое изменение сигнатуры, DTO discriminator/error code или binary layout требует новой версии схемы и migration note. Низкоуровневый pub Rust не означает стабильный публичный API.