Skip to content

Architecture

A relationship map showing data / schema flow and dependencies across the DeukPack product family at a glance.


Overall architecture

flowchart TB
  subgraph Input["Definitions & data sources"]
    IDL[".deuk / Protobuf / Thrift"]
    OAS["OpenAPI / JSON Schema"]
    CSV["CSV / JSON"]
    DB["DB / meta"]
    XL["Excel"]
  end

  subgraph Core["DeukPack core · engine"]
    AST["AST / parsing"]
    GEN["Code generation"]
    SCH["Schema / meta"]
    AST --> GEN
    AST --> SCH
  end

  subgraph Output["Generated artifacts"]
    CODE["C# / C++ / TS / JS"]
    SQL["SQLite DDL"]
    JSON["Schema JSON"]
    GEN --> CODE
    GEN --> SQL
    SCH --> JSON
  end

  subgraph Runtime["Runtime & tools"]
    PROTO["DeukPack Protocol<br/>Binary · Compact · JSON"]
    EXCEL["Excel add-in<br/>headers · validation · diff"]
    PIPE["Pipeline · Unity<br/>validation · load"]
    EXT["Extensions<br/>EF · DB · Sheets · Unreal"]
  end

  subgraph Integration["Integration scenarios"]
    SVR["Server integration<br/>REST · packets · meta"]
    RT["Real-time game<br/>client ↔ server"]
  end

  IDL --> Core
  OAS --> Core
  CSV --> Core
  DB --> Core
  XL --> EXCEL
  SCH --> EXCEL
  CODE --> PROTO
  CODE --> PIPE
  JSON --> PIPE
  JSON --> EXCEL
  Output --> EXT
  PROTO --> PIPE
  PROTO --> SVR
  PROTO --> RT
  PIPE --> SVR
  PIPE --> RT
  • Definitions & data sources: DeukPack IDL (.deuk), Protobuf, Thrift, OpenAPI, CSV, JSON, DB, spreadsheets, etc. feed into the core engine.
  • Core · engine: Parsing and AST produce code generation and schema / meta.
  • Generated artifacts: C# / C++ / TS / JS code, SQLite, and schema JSON are consumed by protocol, pipeline, Excel add-in, and extensions.
  • Runtime & tools: Protocol (serialization / messaging), Excel add-in (headers / validation), Pipeline · Unity (validation / load), and extensions all share core artifacts.
  • Server integration: Types and schemas produced by the protocol and pipeline enable REST, packet, and meta communication with servers.
  • Real-time game: The same schema and serialization handle client–server real-time packets, meta, and messages consistently.

Product dependency graph

flowchart LR
  C["Core · engine"]
  P["Protocol"]
  E["Excel add-in"]
  U["Pipeline · Unity"]
  X["Extensions"]

  C -->|"code / schema"| P
  C -->|"schema JSON"| E
  C -->|"code / schema / tables"| U
  C -->|"AST / artifacts"| X
  P -->|"serialized types"| U
  E -->|"meta / headers"| U
  • Core · engine provides the foundation (code, schema, AST) for every other product.
  • Protocol uses types generated by core for serialization and messaging, consumed by Pipeline · Unity, server integration, and real-time game.
  • Excel add-in uses core schema for headers and validation; meta can flow into Pipeline · Unity.
  • Server & real-time game integration: Code and protocol from the same IDL / schema keep client–server packets, meta, and messages consistent.
  • Extensions build on core (and optionally protocol / Excel) to add EF, DB, Sheets, Unreal, and more.

Next steps