Commit Applications¶
Concrete walk-throughs of the Commit Application Model, in different languages and on different presentation tiers. The Model itself — Application Context, dispatch surface, notification contract, language profiles — is documented in the Commit chapter; this chapter is instances.
The pattern stripped of its domain first (cdbe), then with a domain
on top (ge-py, ge-qml), then re-stripped on a different tier
(web-cdbe). They are not products in their own right — read them as
worked examples.
cdbe¶
The minimal, generic incarnation of the pattern — a PySide6 desktop
application that opens any commit database with no domain, no
Kibo output, no business logic. The central widget is itself a
generic component (DSDocumentsCommitStore) driven by runtime
introspection. cdbe is essentially dsviper-components wired up
into a Qt main window. Read this walkthrough first to see the
pattern stripped of its domain — the bare skeleton of the Application
Context.
Source repository — ships inside digital-substrate/dsviper-tools.
Walk-through — cdbe.py.
ge-py¶
Graph Editor — PySide6 desktop application demonstrating dsviper
end-to-end with a graph database visualization. Built on the Qt
Widgets infrastructure (dsviper-components).
Re-introduces the domain on top of the cdbe skeleton: a DSM model,
Kibo-generated typed accessors, business functions, and a Context
class that owns the domain state.
Source repository — digital-substrate/ge-py.
Walk-through — ge-py.
ge-qml¶
Graph Editor — QML port of ge-py, built on the Qt Quick
infrastructure (dsviper-components-qml). Same value chain, same
business logic, same CommitStore facade — the UI is QML driven by
Python QObject models registered as QML context properties.
Source repository — digital-substrate/ge-qml.
Walk-through — ge-qml.
web-cdbe¶
Flask web application — a generic Commit Database Editor. Pure HTML5, no JavaScript. Same model-agnostic posture as cdbe, ported to a server-rendered HTML/CSS surface.
Source repository — digital-substrate/web-cdbe.
Walk-through — web-cdbe.
C++ realizations¶
Concrete C++ realizations of the same pattern exist in parallel — a Qt
profile and an AppKit (macOS) profile, with a generic Commit Database
Editor and a Graph Editor mirroring cdbe and ge-py. They follow
the six-layer C++ profile described in
Commit Application Model and ship alongside
Viper C++. Contact us for access.