| Crates.io | oca-dag |
| lib.rs | oca-dag |
| version | 2.0.0-rc.5 |
| created_at | 2023-08-23 22:53:32.780917+00 |
| updated_at | 2025-12-01 22:31:44.535196+00 |
| description | Rust implementation of OCA DAG |
| homepage | |
| repository | https://github.com/THCLab/oca-dag |
| max_upload_size | |
| id | 952788 |
| size | 86,331 |
Rust implementation of OCA DAG
oca-dag-rs — model your Overlays Capture Architecture as a versioned,
traceable graph.
It lib for managing Directed Acyclic Graphs (DAGs) that represent the structure and evolution of Overlays Capture Architecture (OCA) bundles. It serves as a foundational layer for versioning, history tracking, and dependency management in systems built on the OCA model.
DAG-based Model Management Represents OCA data (capture bases, overlays, bundles etc.) as a Directed Acyclic Graph, enabling clear and scalable relationships between versions and components.
Powerful Versioning System Every change to an OCA bundle—whether it's a new overlay, update, or branching—forms a new node in the DAG, supporting sophisticated version control.
Full History Tracking Enables tracking of the complete change history of an OCA bundle, including merges and branches/forks, akin to Git-like semantics.
Dependency Resolution Naturally handles dependencies between capture bases, overlays, and other OCA elements via parent-child relationships in the graph.
Current State Representation Maintains a clear representation of the current state of a bundle
Graph Construction Allows for the construction and updating of the DAG from a stream of input commands, effectively modeling the evolution of OCA bundles over time.
oca-rs — Core implementation of the Overlays Capture Architectureoca-ast — AST structures for OCA semantics