feat(dictionary): add Hachidori backend support

- Add backend selection, setup gating, Anki integration, and external host support
- Add launcher flags, documentation, packaging, and focused tests
- Open on-demand overlay modals on the first attempt
This commit is contained in:
2026-09-22 00:21:19 -07:00
parent 1508863dbb
commit d9fdc7ef6d
446 changed files with 109060 additions and 244 deletions
+45
View File
@@ -0,0 +1,45 @@
{
"repository": "https://github.com/bee-san/hachidori",
"revision": "4be36f5e87ab946574d6c0279c6e7dd6fee36c45",
"hoshidicts": {
"repository": "https://github.com/bee-san/hoshidicts",
"revision": "3066e606a75e2d79c2d2c1bc89d6c5bd2587f284"
},
"license": "GPL-3.0-or-later",
"artifacts": {
"extension/vendor/avif-encoder.mjs": "442a13571f3e8ee8117bc886e06ab52b4c5ebde7cb1659071fb498bfc0bea434",
"extension/vendor/avif-encoder.wasm": "384b6299418d989cde5fd7660caf167aa8d4cfcedca53b2e73ddd086fc047797",
"extension/vendor/hoshidicts-threaded-idbfs.mjs": "977cd9367539b922fc697522931d6943d6621b28897b16e754b413f15e64b8f7",
"extension/vendor/hoshidicts-threaded-idbfs.wasm": "1e784283a8cd8c07d5eda64d7a10d6fb9cc526ac5a31c29805543d9efafe5059",
"extension/vendor/hoshidicts-threaded.mjs": "688b3aad5ba3248609c8b3e7e3e1eee441454e51c3e691121eed254428abc6c5",
"extension/vendor/hoshidicts-threaded.wasm": "3c78e56899d0f8f6fb60fa6af5ef85081d782014f15119516713e35ace9c97c6",
"extension/vendor/hoshidicts.mjs": "e0116880d5fb7a3211c23aeec42d1d330326435260bf22a7e97053ba287b76f4",
"extension/vendor/hoshidicts.wasm": "2d8b8fc5b5293f9e75d699416577f1ecb145156990fdcc6537c11793b95f231e"
},
"localChanges": [
"Enable overlay mode and disable unsupported userScripts customization.",
"Bridge popup state, successful lookups, mouse events and host commands to SubMiner.",
"Mark initial Anki adds and overwrites for SubMiner media enrichment; background pronunciation enrichment stays unmarked.",
"Expose native direct term/reading frequency queries, retaining reading-specific versus untagged frequency provenance in all three WASM runtimes.",
"Prioritize SubMiner character glossaries and character-name lookup results in the host popup.",
"Send private mining metadata only to the exact SubMiner-managed Anki proxy URL; direct AnkiConnect uses standard parameters."
],
"nativeBuild": {
"emscripten": "6.0.9",
"runtimes": [
"threaded-opfs",
"threaded-idbfs",
"single-thread-idbfs"
],
"dependencies": {
"zstd": "82d322c4973d9e2968d94047a40892bc6d9a9bdf",
"xxHash": "c0b5ea995d66691734b1a79ad89e73a0d2fd5a53",
"utfcpp": "c5585ef88b169a11891e03b5ca268d2925629399",
"utf8proc": "0075ed7d0adba45682ee6bf7a83b10f8fd110163",
"unordered_dense": "e5b9441ecf193f3e1e8f954527fc76edee20d7eb",
"libdeflate": "b122c8be1d78b19f6d0a6efc5bb79bfcbb30dd51",
"kanji-processor": "452cc2db9f3626a70bfb07c575c1165ae67cbdee",
"glaze": "dda11044fb0cf4ec6b3bced58fcd8136a987e06b"
}
}
}