Skip to content

Latest commit

 

History

History

README.md

Graph Domain Models (apps/wiki-graph/src/app/models)

This directory defines the core domain models and TypeScript contracts used across the Wiki Visualizer application. These models establish a unified domain model for interlinked wiki documents, graph physics simulations, and manifest payloads.


🏛️ Domain Concepts & Data Modeling

1. Document Classifications (NodeType)

Classifies wiki documents based on YAML frontmatter headers into Entity pages (tools/libraries), Concept pages (patterns/principles), and Source pages (research summaries).

2. Topological Node Structure (GraphNode)

Represents an individual document vertex within the knowledge graph. Incorporates display metadata, associated category tags, incoming/outgoing link degree metrics, file system references, and resolution flags.

3. Directed Cross-References (GraphEdge)

Represents a directed link from a source document to a target document established via [[wikilink]] syntax. Edges support missing/unresolved targets by referencing ghost nodes.

4. Ghost Node Resolution (isGhost)

Identifies wiki pages that are referenced via [[wikilink]] syntax in existing documents but have not yet been formally created in the wiki/ directory. Enables visualization of missing knowledge gaps.

5. Physics Simulation Coordinates (SimulationNode)

Extends domain graph nodes with dynamic positioning (x, y), velocity vectors, and pin coordinates (fx, fy) managed by the D3 force simulation engine.


📁 File Index

File Conceptual Purpose
./graph-node.model.ts Domain interfaces for graph nodes, node types (entity, concept, source), and edges.
./graph-data.model.ts Complete graph state container model holding node maps, edge lists, and aggregated tag sets.
./simulation.model.ts Physics simulation node extensions with D3 coordinate and velocity fields.
./wiki-manifest.model.ts Manifest payload schema representing static wiki index builds generated by wiki-cli.