Skip to main content
Features are entities detected inside Blocks — rooms, doors, symbols, walls, dimensions, and annotations. They form a containment tree via parent_feature_id and connect to other entities via Relations. See Features for the full concept.

Endpoints

Features are read-only. They are created automatically during block processing.

Feature Object

Bounds Geometry

The bounds field stores the feature’s geometry within its parent block. A type discriminator determines the shape:
All coordinates are normalized (0-1000) within the parent block’s image. This makes them resolution-independent.

Feature Metadata

The metadata JSON field carries domain-specific properties, standardized by convention:

Symbol Instance Metadata

Detected symbol instances (from the symbol detection pipeline) carry matching metadata: The confidence field on symbol features is a hybrid score: template_confidence * dinov2_score. Both component scores are preserved in metadata for downstream filtering.

Legend Feature Metadata

Legend entry features (from parse_legend) carry symbol definition metadata: Text-only legend entries are not template-matched against plan blocks.

Type Vocabulary

type is a free string — the vocabulary of construction entities is too large for an enum. Common types include: