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;
}

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.

Persistence Mode Overlay Columns

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

Search Mode Overlay Columns

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

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": "..."
}