The package graph is intentionally layered: runtime packages stay small, adapters remain optional, and docs examples use public package entry points.
@openelement/core and @openelement/element define the base layer.
@openelement/app coordinates routes, metadata, and islands.
Build and framework adapters sit outside the core runtime.