sillsdev / sillsdev/interlinearizer-extension

FW Lite adapter: resolve lexicon refs for display

Open
#227 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement
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:

  1. stored free-form gloss, if present
  2. otherwise the resolved sense gloss
  3. 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

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.