- 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
2.6 KiB
Popup renderer attribution
glossary.js, popup.js, and reader.css in this directory contain or adapt
GPL-licensed work from the projects below. Each file carries its own
SPDX-License-Identifier: GPL-3.0-or-later header and the upstream copyright
lines; the repository's root LICENSE has the full GNU GPL version 3 text.
-
GameSentenceMiner PR #549 — the direct source of all three files.
glossary.jsis extracted fromGSM_Overlay/features/hoshidicts/reader.js(structured-content renderer, furigana segmentation, pitch-accent ruby, dictionary style scoping).popup.jsisGSM_Overlay/features/hoshidicts/popup.jswith the Anki mining, custom definition, and audio surfaces removed.reader.cssisGSM_Overlay/features/hoshidicts/reader.css. GameSentenceMiner is licensed under GPL-3.0-or-later. -
Hoshi Reader — the popup structure (headword, glossary cards, tab strip, metadata capsule) and the furigana segmentation algorithm (
segmentFurigana,segmentizeFurigana,getFuriganaKanaSegments). Licensed under GPL-3.0-or-later. -
Yomitan and its predecessor Yomichan — the structured-content schema that
appendStructuredValuerenders, thegloss-*class names and image-container markup it emits, and the allowed-tag, allowed-style, anddata-sc-*attribute conventions. Both are licensed under GPL-3.0-or-later. -
hoshidicts — the engine whose lookup JSON these files render, vendored as the
third_party/hoshidictssubmodule. Licensed under GPL-3.0. -
Yomitan GSM — the dark popup palette adapted by
reader.css. Licensed under GPL-3.0-or-later. -
Microsoft Fluent System Icons — native action and status icons use the 20px Regular SVG subset in
../icons/fluent/. That directory includes the MIT license and asources.jsonmanifest pinning the upstream revision and original paths.scripts/vendor-fluent-icons.pygenerates the local../icons.cssmasks; icons inherit theme colors and require no runtime external requests.
Dictionary archives are not redistributed. Imported dictionaries keep whatever
source, license, and attribution metadata their own index carries, and any CSS a
dictionary ships is applied by applyDictionaryStyles scoped to that
dictionary's own glossary content.