Skip to content

Backend And Adapter Primitives

Adapters map ArchAI semantics to external tools. They must declare what they can preserve.

GeoJSON is a GIS/web interchange adapter, not ArchAI’s internal geometry model. ArchAI’s internal graph remains path-addressed, unit-aware, CRS-aware, and frame-aware. See Coordinates And Formats.

interface BackendCapabilities {
siteData: {
parcels: boolean;
terrain: boolean;
contours: boolean;
zoningOverlays: boolean;
georeferencing: boolean;
};
nativeElements: {
building: boolean;
floorPlate: boolean;
wall: boolean;
slab: boolean;
roof: boolean;
door: boolean;
window: boolean;
space: boolean;
};
hostedOpenings: boolean;
customProperties: boolean;
parametricObjects: boolean;
meshGeometry: boolean;
terrainMesh: boolean;
bimSchedules: boolean;
gisRoundTrip: boolean;
roundTripImport: boolean;
}
AdapterRole
GeoJSONParcels, zoning overlays, context layers, web maps
JSON-FGCRS-aware or richer feature exchange where GeoJSON is too narrow
WKT-CRSCRS definitions and coordinate operations
PROJ / PROJJSONCoordinate transformations
LandXMLTerrain and civil/survey data
DXF / DWG survey extractionSurvey lines and CAD references
CityGMLCity/building context
ShapefileGIS layers
OpenStreetMapRoads, paths, amenities, context
BlenderVisual/procedural scene host
IFCOpen BIM exchange
USDScene composition
glTFWeb preview
ArchicadNative BIM host
RevitNative BIM host

Every adapter must warn when it cannot preserve a primitive.

{
"backend": "blender",
"targetPath": "buildings.b_001.elements.walls.w_101",
"warning": "nativeWallSemanticsDropped",
"preservedAs": "meshWithCustomProperties"
}