Introduce obikalgorithm crate to unify pipeline algorithms

Define a shared Algorithm trait with an associated Output type and a parameterless run(&mut self) method. Refactor PartitionRouter, Dereplicator, Counter, and LayerBuilder to implement the trait, standardizing receivers to &mut self and moving configuration and progress callbacks to dedicated builder setters. Decouple error handling using a generic boxed error type and update workspace dependencies accordingly.
This commit is contained in:
Eric Coissac
2026-08-21 22:03:08 +02:00
parent 8d6ba6546b
commit 00ba968628
15 changed files with 401 additions and 146 deletions
+7
View File
@@ -1515,6 +1515,10 @@ dependencies = [
"xxhash-rust",
]
[[package]]
name = "obikalgorithm"
version = "0.1.0"
[[package]]
name = "obikentropy"
version = "0.1.0"
@@ -1564,6 +1568,7 @@ dependencies = [
"niffler",
"obicompactvec",
"obidebruinj",
"obikalgorithm",
"obikindex",
"obikrope",
"obikseq",
@@ -1591,6 +1596,7 @@ dependencies = [
"kodama",
"obidebruinj",
"obifastwrite",
"obikalgorithm",
"obikindex",
"obikindexer",
"obikphylo",
@@ -1619,6 +1625,7 @@ dependencies = [
"memmap2",
"ndarray",
"obicompactvec",
"obikalgorithm",
"obikindex",
"obikindexer",
"obikseq",