Logo
NeoArc Studio

Data View Document Reference

Technical reference for Data View documents. Covers the DataViewDocument structure, node positions, style overrides, view settings, and the published data format.

A Data View is stored as a .data-view.json file with fileType: "data-view". The document references the central model for entity data and a profile (database or search) for type resolution. This page documents the complete schema for Data View documents.

DataViewDocument

The root interface for a Data View file.

interface DataViewDocument {
  schemaVersion: '2.0.0';
  meta: { generator: string; generatorVersion: string };
  id: string;
  title: string;
  description?: string;
  fileType: 'data-view';

  /** View purpose: determines profile type and overlay columns */
  viewMode: 'persistence' | 'search';

  /** Path to the central model (model.neoarc) */
  modelFilePath: string;

  /** Which model entities this view includes */
  includedEntityIds: string[];

  /** Lifecycle status filter */
  statusFilter?: ('active' | 'planned' | 'deprecated')[];

  /** Database profile ID (used when viewMode === 'persistence') */
  databaseProfileId?: string;

  /** Search profile ID (used when viewMode === 'search') */
  searchProfileId?: string;

  /** Per-node positions on the graph canvas */
  nodePositions: Record<string, {
    x: number;
    y: number;
    isPinned?: boolean;
  }>;

  /** Per-node style overrides */
  styleOverrides?: Record<string, {
    color?: string;
    borderColor?: string;
    textColor?: string;
  }>;

  /** Groups (filtered from model groups) */
  groups?: DataViewGroup[];

  /** Force simulation settings */
  viewSettings?: {
    nodeSpacing?: number;
    centerStrength?: number;
    linkDistanceMultiplier?: number;
    repulsionStrength?: number;
  };

  createdDate: string;
  modifiedDate: string;
}
FieldTypeDescription
fileType"data-view"Discriminator identifying this as a Data View document
viewMode"persistence" | "search"Determines the profile type and Entity Overlay column set
modelFilePathstringRelative path to the central model (model.neoarc)
includedEntityIdsstring[]Array of model entity node IDs that this view displays
databaseProfileIdstring?Database profile ID for persistence mode type/name resolution
searchProfileIdstring?Search profile ID for search mode type/name resolution
nodePositionsRecord<string, {x, y, isPinned?}>Per-node positions and pinning state on the graph canvas
styleOverridesRecord<string, {color?, borderColor?, textColor?}>?Per-node visual overrides
groupsDataViewGroup[]?Groups filtered from the model, with optional colour overrides
viewSettingsobject?Force simulation parameters including nodeSpacing (1-10)

DataViewGroup

Groups provide visual clustering on the graph canvas. They are derived from model groups, filtered to include only entities selected for this view.

interface DataViewGroup {
  id: string;
  name: string;
  nodeIds: string[];
  color?: string;
  description?: string;
}

View Settings

Force simulation parameters that control graph layout behaviour.

SettingTypeDefaultDescription
nodeSpacingnumber (1-10)5Controls the charge repulsion between nodes. Higher values spread nodes further apart. Adjustable via the slider control.
centerStrengthnumber (0-1)0.1Central gravity that pulls nodes towards the canvas centre
linkDistanceMultipliernumber1.0Multiplier for the ideal distance between connected nodes
repulsionStrengthnumber-300Base repulsive force between all nodes

Persistence Mode Overlay Columns

When viewMode is "persistence", the Entity Overlay displays these columns for each property.

ColumnSource
KeyProperty keyRole (PK, FK, NK, SK, CP badge)
FieldProperty name, formatted by database profile naming convention
TypeAbstract type resolved to concrete type via database profile
NullableProperty nullable flag
UniqueProperty unique flag
DefaultProperty defaultValue
FK RefForeign key target entity.property from fkResolution
ConstraintsProperty constraints list
IndexProperty index name
CommentsProperty description

Search Mode Overlay Columns

When viewMode is "search", the Entity Overlay displays these columns for each property with a search projection.

ColumnSource
KeySearch projection key flag
FieldResolved via search profile naming convention
TypeResolved via search profile type mapping
SearchableSearch projection searchBehaviours includes 'searchable'
FilterableSearch projection searchBehaviours includes 'filterable'
SortableSearch projection searchBehaviours includes 'sortable'
FacetableSearch projection searchBehaviours includes 'facetable'
RetrievableSearch projection searchBehaviours includes 'retrievable'
AnalyserPer-profile override or base analyser value
BoostSearch projection boost value

FK Edge Inference

Edges on the graph canvas are not authored manually. They are inferred from the model's relationship data.

Empty Document Template

A newly created Data View starts with the following structure.

{
  "schemaVersion": "2.0.0",
  "meta": { "generator": "NeoArc Studio", "generatorVersion": "1.0.0" },
  "id": "",
  "title": "",
  "description": "",
  "fileType": "data-view",
  "viewMode": "persistence",
  "modelFilePath": "",
  "databaseProfileId": "",
  "includedEntityIds": [],
  "nodePositions": {},
  "groups": [],
  "viewSettings": {
    "nodeSpacing": 5
  },
  "createdDate": "...",
  "modifiedDate": "..."
}