graphrefly-structures 0.0.4

GraphReFly reactive data structures (reactiveMap, reactiveList, reactiveLog, reactiveIndex)
Documentation
[package]
name        = "graphrefly-structures"
description = "GraphReFly reactive data structures (reactiveMap, reactiveList, reactiveLog, reactiveIndex)"
version.workspace      = true
edition.workspace      = true
rust-version.workspace = true
license.workspace      = true
repository.workspace   = true
homepage.workspace     = true
authors.workspace      = true

[dependencies]
graphrefly-core  = { workspace = true }
graphrefly-graph = { workspace = true }   # snapshot / codec interop

# The reason this crate exists separately from -core: persistent immutable
# collections give cheap O(log n) snapshot-and-revert for the Phase 14
# op-log changeset substrate. Keeping `imbl` confined here means a `core`-
# only consumer doesn't pay its compile cost.
imbl             = { workspace = true }

thiserror        = { workspace = true }
tracing          = { workspace = true }

# Optional CRDT support (post-1.0, deferred per Rust-port plan)
# automerge      = { version = "0.5", optional = true }
# yrs            = { version = "0.21", optional = true }
# loro           = { version = "1", optional = true }

# Optional serde for snapshot-codec interop
serde            = { workspace = true, features = ["derive"], optional = true }

[features]
default = ["serde-support"]
serde-support = ["dep:serde"]
# crdt-automerge = ["dep:automerge"]
# crdt-yrs       = ["dep:yrs"]
# crdt-loro      = ["dep:loro"]