doc(readme): mark M9 (#139) complete + refresh roadmap & nft_marker_gen#178
Merged
Conversation
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
M9 (KPM/NFT pure-Rust pipeline) landed via PR #176, closing #139 and sub-issues #140 / #141 / #142. README changes: - Roadmap: move M9 to Completed Milestones with full sub-milestone (M9-1 / M9-2 / M9-3) and cross-cutting (determinism, corner-error gate, cross-stack parity) summary. - Short-term Goals refreshed: replace the now-redundant "Complete KPM in idiomatic Rust" bullet with actual pending follow-ups (#161 WASM browser examples, #174 criterion upgrade, #177 M9 coverage uplift, deferred kpm_bench from #142). - Project Structure: kpm module section now reflects the pluggable `FreakMatcherBackend` trait, pure-Rust default, M9-1 `visual_database` sub-module, and the BTreeMap-for-determinism note on hough. - NFT Marker Generation Example: clarify that the example builds on the pure-Rust default (produces .iset + .fset); ffi-backend is the opt-in path that adds .fset3. Show both invocations and a what-you-get table. Cargo.toml: - Relax nft_marker_gen `required-features` from `["log-helpers", "ffi-backend"]` to `["log-helpers"]`. The source already supports building without ffi-backend (skips the .fset3 step with a warning); Cargo.toml was wrongly forcing the opt-in. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
3ae50eb to
2ad7da4
Compare
5 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Documentation + one small
Cargo.tomlfollow-up to PR #176 (M9 merge). Marks the M9 milestone as complete in the README roadmap, refreshes the post-M9 short-term goals, brings the Project Structure section in line with the new pluggable backend architecture, and corrects thenft_marker_genexample invocation now that the pure-Rust default actually works for it.Closes the lingering documentation TODO from #139.
Changes
README.mdVisualDatabaseportFreakMatcherBackendtrait +RustFreakMatcher/DualFreakMatcherjsartoolkitNFT@1.10.0.kpmmodule section now describes the pluggableFreakMatcherBackendtrait, the pure-Rust default since M9-3, the newkpm::rust_backend/kpm::cpp_backend/kpm::freak::visual_databasemodules, and the BTreeMap-for-determinism note onkpm::freak::hough..iset+.fset;ffi-backendis opt-in for the.fset3(FREAK descriptors) step. Two invocations shown, plus a what-you-get table.crates/core/Cargo.tomlnft_marker_genrequired-featuresfrom["log-helpers", "ffi-backend"]to["log-helpers"].#[cfg(not(feature = "ffi-backend"))]branches that skip the.fset3step with a warning —Cargo.tomlwas the only thing blocking running it on the pure-Rust default. The C++.fset3path still works exactly as before whenffi-backendis enabled.What this PR does NOT do
nft_marker_gento useRustFreakMatcherfor.fset3generation. The.fset3step still callsCppFreakMatcherwhenffi-backendis enabled. Doing that properly needs its own PR with byte-level parity validation against existing.fset3files — filed as the planned follow-up referenced in the new docs.Test plan
cargo check -p webarkitlib-rs --example nft_marker_gen --features log-helpers(pure-Rust path) succeeds.cargo check -p webarkitlib-rs --example nft_marker_gen --features "log-helpers,ffi-backend"(legacy path) succeeds.Risk
Low. Pure documentation changes plus one feature-gate relaxation. The Cargo change is strictly less restrictive — anyone previously running with
ffi-backendkeeps the same behavior; users who didn't have a C++ toolchain can now run the minimal.iset+.fsetpath that the source code already supported.🤖 Generated with Claude Code