From 13e69e23c9130e26748dee30fe20a246b520dcb7 Mon Sep 17 00:00:00 2001 From: Eric Coissac Date: Fri, 15 May 2026 21:18:16 +0800 Subject: [PATCH] feat: introduce trait-based distance aggregation and layered store Introduces ColumnWeights, CountPartials, and BitPartials traits to compute and finalize partial distance matrices. Implements these traits for PersistentBitMatrix, PersistentCompactIntMatrix, and a new LayeredStore wrapper that aggregates metrics across layers via parallel reduction. Adds ndarray for numerical aggregation and updates architecture documentation to reflect the trait-driven design and pending refactoring roadmap. --- .../index_architecture/index.html | 437 ++++++++---------- doc/sitemap.xml.gz | Bin 127 -> 127 bytes docmd/architecture/index_architecture.md | 217 ++++----- src/Cargo.lock | 1 + src/obicompactvec/src/bitmatrix.rs | 17 + src/obicompactvec/src/intmatrix.rs | 29 ++ src/obicompactvec/src/lib.rs | 2 + src/obicompactvec/src/traits.rs | 113 +++++ src/obilayeredmap/Cargo.toml | 1 + src/obilayeredmap/src/layered_store.rs | 257 ++++++++++ src/obilayeredmap/src/lib.rs | 2 + 11 files changed, 721 insertions(+), 355 deletions(-) create mode 100644 src/obicompactvec/src/traits.rs create mode 100644 src/obilayeredmap/src/layered_store.rs diff --git a/doc/architecture/index_architecture/index.html b/doc/architecture/index_architecture/index.html index 43ccb55..24d05a5 100644 --- a/doc/architecture/index_architecture/index.html +++ b/doc/architecture/index_architecture/index.html @@ -968,94 +968,33 @@
  • - + - LayeredDataStore — aggregation within one partition + Traits — obicompactvec::traits - -
  • - + - PartitionedDataStore — aggregation across all partitions + LayeredStore<S> — obilayeredmap -
  • - + - LayeredDataStore — aggregation within one partition + Traits — obicompactvec::traits - -
  • - + - PartitionedDataStore — aggregation across all partitions + LayeredStore<S> — obilayeredmap -