Built with Viper

Four integration test projects validating the Viper 3-tier architecture on different stacks.

3-Tier Code Distribution

All four projects share the same DSM model. Only the UI and business layers change between stacks.

GE AppKit (Native)

66% Generated
24% UI
10% Business

GE Qt Widgets (Python)

51% Qt Gen.
12% Generated
28% UI
9% Business

QML Stack (Declarative)

16% Generated
30% QML
55% Python

Raptor Editor (Torture Test)

69% Generated
25% Business
6% UI
Generated Infrastructure (Kibo)
Qt Generated
QML Declarative
UI (Manual)
Business Logic (Manual)

Stable Infrastructure Ratio

~66-69% generated code across AppKit and Raptor projects. Kibo's value scales predictably.

UI-Agnostic Architecture

Same DSM model powers AppKit, Qt Widgets, and QML. The QML port eliminates the generation layer entirely — pure application code over dsviper.

Declarative Eliminates Boilerplate

GE QML achieves the same functionality as GE Qt Widgets with 22K lines vs 29K — QML's declarative bindings replace imperative widget code.

Application Pattern

All three applications use the CommitStore Pattern for unified transactional state management:

UI Layer AppKit, Qt Widgets, QML
↓ dispatch actions
CommitStore Transactional state with history
↓ persist
Database + Commit Engine SQLite + DAG versioning

Undo/Redo

Built-in via commit history traversal

Collaboration

Branch and merge for multi-user editing

Audit Trail

Complete history of all changes

Build Your Application

Start with the Graph Editor as a reference, or dive into the documentation.