sillsdev / sillsdev/interlinearizer-extension
FW Lite adapter: resolve lexicon refs for display
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 2
- Forks
- 0
- Avg merge
- 1d 17h
- Merged PRs (30d)
- 55
Description
First real lexicon integration: implement the port over FW Lite and render glosses that came from a lexicon link.
Scope
The adapter. Implement the port against the Lexicon extension's lexicon.entryService network object, using getEntry / getSense (landed in sillsdev/languageforge-lexbox#2249) and reporting FW Lite's capabilities.
Resolution. Resolve lazily per visible segment, not per project load — a book's worth of refs must not be fetched to render one screen. Cache resolved senses; invalidate on lexicon switch.
The render ladder, which follows the precedence rule already in the model — free-form gloss wins over glossSenseRef / senseRef, and the ref is retained either way:
- stored free-form
gloss, if present - otherwise the resolved sense gloss
- otherwise unglossed
An unresolvable ref is not an error state. Provider offline, entry deleted, and foreign ref (#225) all fall through the same ladder with no error surface and no data loss. The ref stays on the analysis.
Link indicator. Display only — show that a gloss is lexicon-backed, using the third grid row MorphemeBox already reserves for it (src/components/MorphemeBox.tsx). Picking and changing a link is the next item.
Non-goals
No search, no linking, no writes. Read path only.
Note
The deleted-entry and foreign-ref cases overlap #143. Keep the rule in one place — cite it from whichever issue lands second rather than restating it.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the lexicon.entryService network object and its getEntry/getSense operations, then inspect the reserved third grid row in src/components/MorphemeBox.tsx. Trace how visible segments expose gloss and sense references before implementing lazy resolution and caching. Done means the render ladder, lexicon-switch invalidation, fallback behavior, and display-only link indicator work without writes or error surfaces.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- api, frontend
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 55/100