Logo
NeoArc Studio

Model-Derived Views

Data Views are lightweight projections of the central model. They store only layout positions and style overrides. Entity data, properties, types, and relationships come from the model at render time, so views can never drift from the source of truth.

A common failure mode in architecture documentation is the diagram that was correct when it was drawn but has since drifted from reality. An entity was renamed in the database, but the ERD still shows the old name. A property was added, but the diagram was not updated. The diagram becomes worse than useless - it actively misleads anyone who reads it.

NeoArc eliminates this problem by making views projections of the model rather than independent artefacts. A view does not store entity data. It stores a reference to the model entity, plus layout coordinates and optional style overrides. When the view renders, it reads entity data - properties, types, key roles, relationships - directly from the model. If a property is renamed in the model, every view that includes that entity shows the new name immediately. There is no sync step. There is no manual update. The view cannot disagree with the model because it reads from the model.

The Data View

A Data View is a force-directed graph canvas where model entities appear as interactive nodes. Each view has a single purpose defined by its view mode and profile.

Persistence Mode
Uses a database profile to resolve types. The Entity Overlay shows ERD-style columns: key roles, field names, concrete types (via the database profile), nullable, unique, defaults, FK references, constraints, and comments. Built-in vendor templates are included (SQL Server, PostgreSQL, MySQL, Oracle, MongoDB, SQLite, Snowflake, MariaDB, CockroachDB, Azure Table Storage, Cosmos DB, DynamoDB, Cassandra), or create a custom profile for any other database.
Search Mode
Uses a search profile for engine-specific type mapping. The Entity Overlay shows search index columns: document key, field name, type, searchable, filterable, sortable, facetable, retrievable, analyser, and boost. Create views for Azure AI Search, Elasticsearch, or other search engines.

Entity Overlay

The Entity Overlay is the standard way to inspect any node's properties. Click a node (or press Alt+Enter) to open a floating panel showing the full property table with incoming and outgoing relationship pills on either side. The overlay works identically in both the editor and the published viewer.

Click to Inspect
Click any node to open its Entity Overlay. The overlay shows the full property table with columns determined by the view mode (persistence or search).
Relationship Navigation
Incoming and outgoing relationship pills appear on either side of the property table. Click a pill to navigate to that entity's overlay, walking the model by following relationships.
Side-by-Side Docking
Pin overlays to dock them below the canvas for side-by-side comparison. When docked overlays share a relationship, connecting lines are drawn between the FK and PK rows.

What Views Store vs. What They Read

Understanding the separation between stored and derived data is key to understanding why views cannot drift.

DataStored in ViewRead from Model
Entity name and label-Read from model entity at render time
Properties (name, type, constraints)-Read from model entity properties, including shared property sets
Key roles (PK, FK, NK, SK, CK)-Read from model entity property key roles
Relationships and cardinality-Read from model edges
Governance metadata-Read from model entity property governance settings
Entity selectionList of included entity IDs-
Node positions (x, y) and pin stateStored per entity-
Style overrides (fill, border, text colour)Stored per entity-
View mode (persistence or search)Stored in view-
Database or search profile assignmentProfile ID stored in view-
Force simulation settings (node spacing)Stored in view-
Groups and group coloursStored in view (filtered from model groups)-

Persistence Mode

Persistence mode Data Views are for database architects and developers. The Entity Overlay displays ERD-style columns with types resolved through the selected database profile.

ColumnContentResolved Via
KeyPK, FK, NK, SK, CK badgeModel property key role
FieldProperty nameDatabase profile naming convention
TypeConcrete database typeDatabase profile type mapping (e.g. string to NVARCHAR)
NullableYES/NOModel property nullable flag
UniqueYES/NOModel property unique flag
DefaultDefault value expressionModel property default value
FK RefTarget entity and propertyModel FK relationship
ConstraintsConstraint listModel property constraints
IndexIndex nameModel property index
CommentsDescription textModel property description

Search Mode

Search mode Data Views are for search engineers configuring index mappings. The Entity Overlay shows search-specific columns resolved through the selected search profile.

ColumnContentResolved Via
KeyWhether this field is the document key (Y/-)Search projection key flag
FieldIndex field nameSearch profile naming convention
TypeConcrete search field typeSearch profile type mapping
SearchableYES/NOSearch projection searchable behaviour
FilterableYES/NOSearch projection filterable behaviour
SortableYES/NOSearch projection sortable behaviour
FacetableYES/NOSearch projection facetable behaviour
RetrievableYES/NOSearch projection retrievable behaviour
AnalyserAnalyser name or -Per-profile override or base value
BoostBoost value or -Search projection boost value

Each search field can also be expanded within the overlay for deep configuration detail: text analysis settings, vector search parameters, storage and performance options, query capabilities, sub-fields, and governance metadata. All values are read from the model property's search projection and resolved through the active search profile.

Multiple Views, Same Entities

A single model entity can appear in multiple Data Views simultaneously. A Customer entity might appear in a high-level persistence view with a SQL Server profile for the DBA, another persistence view with a PostgreSQL profile for the migration team, and a search view with an Elasticsearch profile for the search team. All views show the same entity data because they all read from the model. Each view applies its own profile for type and naming resolution.

Graph Canvas Features

All Data Views share the same interactive graph canvas with these capabilities.

FeatureDescription
Force-directed layoutEntities positioned by physics simulation with configurable node spacing via a slider control
Node pinningPin entities to fixed positions while letting unpinned entities flow naturally
Node searchCtrl+F opens fuzzy search with ranked results (exact matches first, then prefix, then fuzzy). Camera pans to the current result as you type
Node spacing sliderAdjust the spacing between nodes in real time using the slider in the bottom-right corner
Style overridesPer-entity colour, border colour, and text colour for visual differentiation
Groups and hullsEntities in the same model group cluster together with semi-transparent group hulls
Semantic zoomThree detail levels based on zoom: minimal (group hulls only), medium (labels and edges), full (all detail)
MinimapTogglable 150x100px overview panel showing all nodes with viewport rectangle