Blueprint Application Surface
Package: vyuh_blueprint
There is one Blueprint. It describes both the business system and how that system is presented as an application. “Entity blueprint” and “app blueprint” are not separate models.
The same declaration contains:
- modules, entities, facets, fields, relationships, projections, and DB hints;
- lifecycles, actions, rules, grants, evidence, audit, and effects;
- endpoint posture, workspace, navigation, routes, collections, editors, dashboards, settings, search, realtime, offline, and integrations.
Entity.ui and facet-owned actions generate the default routes, collections, navigation, and commands. AppDescriptor contributions remain an internal assembly mechanism for surfaces that are not naturally owned by an entity, such as global dashboards and settings. BlueprintAssembler materializes those contributions back into the same Blueprint; it does not create a second root object.
AppRuntimeArtifactCompiler compiles the Blueprint into portable application and server artifacts. BlueprintServer serves those artifacts and the fixed Blueprint protocol. BlueprintApp loads them through that protocol and maps the UI declaration into vyuh_studio_ui.
Blueprint
├─ domain + behavior + DB declaration
└─ application + UI + endpoint declaration
│
▼
BlueprintTarget
├─ BlueprintServer ── Blueprint protocol
└─ BlueprintApp ── Blueprint protocolWhat To Inspect
| Concern | Source |
|---|---|
| Canonical model | packages/vyuh_blueprint/lib/src/blueprint.dart |
| Application vocabulary | packages/vyuh_blueprint/lib/src/app/app_blueprint.dart |
| Validation | packages/vyuh_blueprint/lib/src/app/app_blueprint_validator.dart |
| Runtime artifacts | packages/vyuh_blueprint/lib/src/app/runtime_artifacts.dart |
| App host | packages/vyuh_blueprint_ui/lib/src/blueprint_app_runner.dart |
| Server target/registry | packages/vyuh_blueprint_server/lib/src/blueprint_target.dart |