Skip to content

Phase-1 follow-up: Avalonia interlinear editor (Words Analyses)#965

Draft
johnml1135 wants to merge 2 commits into
phase1-basefrom
phase1-followup-interlinear
Draft

Phase-1 follow-up: Avalonia interlinear editor (Words Analyses)#965
johnml1135 wants to merge 2 commits into
phase1-basefrom
phase1-followup-interlinear

Conversation

@johnml1135

@johnml1135 johnml1135 commented Jun 24, 2026

Copy link
Copy Markdown
Contributor

Phase-1 follow-up: Avalonia interlinear editor (Words → Analyses)

Stacked on #964 (base). Restores and activates the native Avalonia interlinear editor for the Words → Analyses morph-bundle detail pane.

  • Adds the 11 interlinear files (region editor, analysis model, projector/write-back, InterlinearSlicePlugin, tests).
  • Restores the plugin registration in RegionEditorPlugins and the burn-down census entry.
  • Flip: moves "Analyses" from Phase1FollowUpSurfaceTools into DefaultSupportedTools, so the editor resolves to Avalonia under UIMode=New (default still Legacy).

Verification: build green; census + RegisteredRecordEditTools("Analyses") + interlinear suites 20/20. Review after the base PR.


This change is Reviewable

@github-actions

github-actions Bot commented Jun 24, 2026

Copy link
Copy Markdown

⚠️ Commit Message Format Issues ⚠️

commit 3c5893ee37:
9: B1 Line exceeds max length (82>80): "- FLIP: move "Analyses" from Phase1FollowUpSurfaceTools into DefaultSupportedTools"
11: B1 Line exceeds max length (81>80): "- add the "Analyses" TestCase back to RegisteredRecordEditTools_ResolveToAvalonia"

@johnml1135 johnml1135 force-pushed the phase1-followup-interlinear branch from 17bd535 to 5120ef6 Compare June 25, 2026 02:56
johnml1135 and others added 2 commits June 25, 2026 06:36
First of a four-PR stack landing Phase 1 of the FieldWorks WinForms-to-Avalonia
migration. Every Avalonia surface is gated behind the UIMode setting, which
DEFAULTS TO "Legacy" (Src/Common/FwUtils/Properties/Settings.Designer.cs), so
default users see no behavioral change.

Contents:
- The Avalonia migration framework: region/composer (FullEntryRegionComposer),
  the typed view-definition IR compiled from XML layouts, owned dense controls,
  the seam contracts, and the region-editor plugin registry.
- The base detail-editor surfaces active under UIMode=New: lexiconEdit,
  lexiconEditPopup, notebookEdit, posEdit.
- The Avalonia browse table (LexicalBrowseView, LexicalBrowseHostControl,
  BulkEditBarView, ClerkBrowse*) and its RecordBrowseView product wiring, shipped
  DORMANT (fused to base wiring; activated by the table follow-up PR).
- Migration skills/playbook (incl. the inert-surface activation recipe), the
  two-phase plan, and the openspec change specs.
- Back-out of four cleanly-removable unwired Avalonia dialogs (SpecialCharacter,
  WritingSystemProperties, DeleteConfirmation, LexReferenceDetails); nine
  woven-in dialogs ride inert behind UIMode=New.

The interlinear and rule-formula detail editors are carved out to their own
stacked follow-up PRs; the inert tool lists are
LexicalEditSurfaceRegistry.Phase1FollowUpSurfaceTools and
LexicalEditSurfaceResolver.Phase1FollowUpBrowseTools. The per-screen migration
docs (the JIRA-ticket basis) live on the separate never-merged phase1-docs branch.

Phase 2 (avalonia-end-game: net multiplatform + shell conversion + WinForms
removal) is planned only and gated on Phase 1 + tester burn-down.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Restore the interlinear surface on top of phase1-base and activate it:
- add back the 11 interlinear files (InterlinearRegionEditor + analysis model
  + projector/write-back + plugin + their tests, incl. the FwAvalonia model
  and Visual tests)
- restore the InterlinearSlicePlugin registration in RegionEditorPlugins
- restore the interlinear class name + resolve assertion in the burn-down census
- FLIP: move "Analyses" from Phase1FollowUpSurfaceTools into DefaultSupportedTools
  so the Words Analyses detail editor resolves to Avalonia under UIMode=New
- add the "Analyses" TestCase back to RegisteredRecordEditTools_ResolveToAvalonia

The browse "Analyses" list pane stays inert (table follow-up territory).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@johnml1135 johnml1135 force-pushed the phase1-followup-interlinear branch from 5120ef6 to 3c5893e Compare June 25, 2026 10:38
@johnml1135 johnml1135 force-pushed the phase1-base branch 3 times, most recently from e9cdaa0 to c37eb02 Compare July 2, 2026 17:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant