♻️ refactor rope implementation to use obikrope

- rename `obirope` → `obikroper`
- replace legacy rope with new in-place, Cell-based implementation
  - add ForwardCursor/Backward Cursor & SeekMode support (no more BytesMut)
- update all dependents:
  - obiread: switch to Rope + cursors, remove tape.rs
    • chunk iterator yields `Rope` instead of Vec<Bytes>
  - obiskbuilder: use ForwardCursor over Rope
- remove bytes dependency from affected crates
This commit is contained in:
Eric Coissac
2026-04-19 21:22:10 +02:00
parent 5fab59f92c
commit 0dcb5dd6c2
19 changed files with 790 additions and 1140 deletions
+10 -3
View File
@@ -595,6 +595,14 @@ dependencies = [
"obiskbuilder",
]
[[package]]
name = "obikrope"
version = "0.1.0"
dependencies = [
"bytes",
"criterion2",
]
[[package]]
name = "obikseq"
version = "0.1.0"
@@ -607,8 +615,8 @@ dependencies = [
name = "obiread"
version = "0.1.0"
dependencies = [
"bytes",
"niffler",
"obikrope",
"ureq",
]
@@ -616,9 +624,8 @@ dependencies = [
name = "obiskbuilder"
version = "0.1.0"
dependencies = [
"bytes",
"obikrope",
"obikseq",
"obiread",
]
[[package]]