Skip to content

Commit 68f89a3

Browse files
johnml1135claude
andcommitted
Phase-1 migration docs (JIRA basis — draft, do not merge)
The WinForms->Avalonia per-screen migration catalog: one Docs/migration/<screen>.md per legacy surface (primitive, legacy PNG captured from live FLEx, parity checklist, gotchas) plus their images. This branch is the standalone basis for authoring the JIRA migration tickets after the four Phase-1 code PRs (base + interlinear + rule + table) land. It is intentionally NEVER MERGED — open as a draft PR for reference only. 402 files (235 docs + 167 screenshots). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
1 parent 20eaf74 commit 68f89a3

402 files changed

Lines changed: 6389 additions & 0 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

Docs/migration/CONTEXT.md

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
# Migration-doc capture — shared language
2+
3+
Scoped context for the legacy-screenshot capture work that feeds `Docs/migration/`.
4+
Extends the root [`CONTEXT.md`](../../CONTEXT.md); only adds terms specific to this bounded context.
5+
6+
## Terms
7+
- **Legacy truth PNG**: a screenshot of a *legacy WinForms* FLEx surface (UIMode=Legacy),
8+
captured as the visual parity baseline for its migration doc. Stored in
9+
`Docs/migration/**/images/<screen>-NN.png`. NOT an Avalonia screenshot.
10+
- **Capture target**: a screen that needs a legacy truth PNG — a **tool** (Area/Tool screen),
11+
a **list editor**, or a **dialog**. Tracked in `INVENTORY.md`.
12+
- **Launch-per-tool capture** (option 2): drive FLEx to a **tool** by launching
13+
`FieldWorks.exe -db "<language project>" "<silfw link>"` where the link
14+
(`silfw://localhost/link?app=flex&database=<db>&tool=<toolId>&guid=<guid>`, see
15+
`FwLinkArgs.kFwUrlPrefix`) makes the shell open that tool at startup
16+
(`FieldWorks.cs``FwAppArgs``HasLinkInformation`). Then screenshot the main window.
17+
- **Dialog screenshot harness** (option 3): a standalone WinForms host that opens a
18+
**language project** `LcmCache` (the `LCMBrowser` pattern), constructs a legacy dialog
19+
(`new XDlg()` + `SetDlgInfo(cache, …)` — FLEx's two-phase dialog init), shows it with
20+
seeded data, and renders it to a PNG. Reaches dialogs that navigation can't (conditional
21+
delete/restore/warning dialogs) and doubles as the future legacy↔Avalonia parity rig.
22+
- **Reachable set**: capture targets achievable by option 2 or 3. EXCLUDES Views/Gecko-coupled
23+
dialogs (need a live `IVwRootBox`/`IVwSelection`, e.g. `RelatedWords`) and the 12 non-visual
24+
Phase-2 internals — those stay **on-pickup**.
25+
- **Capture manifest**: machine-readable list (toolId / dialog factory → target doc + image
26+
path) the script and harness iterate over; derived from `INVENTORY.md`.
27+
28+
## Invariants
29+
- Capture in **UIMode=Legacy** only (this is the legacy baseline). The Avalonia surface has a
30+
separate headless path.
31+
- Data source for representative states: the **Sena 3** language project.
32+
- A capture writes to the image path its doc already references; capturing never edits the
33+
language project (open read-only / discard; close with Cancel/Escape).
34+
35+
## Open questions
36+
- Headless rendering: `Control.DrawToBitmap` works for ordinary dialogs but not for embedded
37+
native **Views** content — confirm per-dialog during the harness build; fall back to a
38+
visible/VDD desktop + window screenshot where DrawToBitmap is blank.

Docs/migration/INVENTORY.md

Lines changed: 266 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,266 @@
1+
# WinForms → Avalonia migration inventory (master index)
2+
3+
Auto-generated index of every in-scope WinForms component with a migration doc.
4+
Goal: **100% coverage — no in-scope component without a tracked doc.** Each entry is a
5+
lightweight stub (`_STUB_TEMPLATE.md`); deepen to the full format (`_TEMPLATE.md`) +
6+
capture legacy PNGs (`fieldworks-winapp` skill) when its JIRA ticket is picked up.
7+
See [README.md](./README.md) for the canonical-screen map and Phase-1 strategy.
8+
9+
**Total components tracked: 227.**
10+
11+
> Already migrated / kept canonical (not stubbed here — see README canonical-screen map):
12+
> Lexicon Browse pane, Lexicon Edit entry pane (+ notebookEdit/posEdit), ChooserDialog,
13+
> OptionsDialog, InsertEntryDialog, EntryGoDialog. Split to own follow-up PRs: the Words
14+
> interlinear `Analyses` editor and the 6 Grammar rule tools (their tool stubs note this).
15+
16+
## Phase 1 — user-facing surfaces
17+
18+
### Deferred dialogs (detailed docs) (13)
19+
20+
- [Add New Sense](./add-new-sense.md)
21+
- [Configure Columns](./configure-columns.md)
22+
- [Create Feature](./create-feature.md)
23+
- [Date Range Filter](./date-range-filter.md)
24+
- [Delete Confirmation](./delete-confirmation.md)
25+
- [Feature Chooser](./feature-chooser.md)
26+
- [Filter For](./filter-for.md)
27+
- [Find Replace](./find-replace.md)
28+
- [Lex Reference Details](./lex-reference-details.md)
29+
- [Msa Creator](./msa-creator.md)
30+
- [Picture Properties](./picture-properties.md)
31+
- [Special Character](./special-character.md)
32+
- [Writing System Properties](./writing-system-properties.md)
33+
34+
### Dialogs (107)
35+
36+
- [Add Allomorph Dlg](./dialogs/add-allomorph-dlg.md)
37+
- [Add Converter](./dialogs/add-converter.md)
38+
- [Add Custom Field](./dialogs/add-custom-field.md)
39+
- [Add List](./dialogs/add-list.md)
40+
- [Add New User](./dialogs/add-new-user.md)
41+
- [Add New Vern Lang Warning](./dialogs/add-new-vern-lang-warning.md)
42+
- [Advanced Mt Dialog](./dialogs/advanced-mt-dialog.md)
43+
- [Anthro Field Mapping Dlg](./dialogs/anthro-field-mapping-dlg.md)
44+
- [Apply Style](./dialogs/apply-style.md)
45+
- [Archive With Ramp](./dialogs/archive-with-ramp.md)
46+
- [Backup Project](./dialogs/backup-project.md)
47+
- [Basic Find](./dialogs/basic-find.md)
48+
- [Cant Restore Linked Files To Original Location](./dialogs/cant-restore-linked-files-to-original-location.md)
49+
- [Change Default Backup Dir](./dialogs/change-default-backup-dir.md)
50+
- [Choose Lang Project](./dialogs/choose-lang-project.md)
51+
- [Choose Text Writing System Dlg](./dialogs/choose-text-writing-system-dlg.md)
52+
- [Chooser](./dialogs/chooser.md)
53+
- [Combine Import Dlg](./dialogs/combine-import-dlg.md)
54+
- [Complex Conc Morph Dlg](./dialogs/complex-conc-morph-dlg.md)
55+
- [Complex Conc Tag Dlg](./dialogs/complex-conc-tag-dlg.md)
56+
- [Complex Conc Word Dlg](./dialogs/complex-conc-word-dlg.md)
57+
- [Concordance Dlg](./dialogs/concordance-dlg.md)
58+
- [Configure Interlin Dialog](./dialogs/configure-interlin-dialog.md)
59+
- [Configure List](./dialogs/configure-list.md)
60+
- [Conflicting Save](./dialogs/conflicting-save.md)
61+
- [Create Allomorph Type Mismatch Dlg](./dialogs/create-allomorph-type-mismatch-dlg.md)
62+
- [Delete Project](./dialogs/delete-project.md)
63+
- [Delete Writing System Warning](./dialogs/delete-writing-system-warning.md)
64+
- [Dictionary Config Mgr](./dialogs/dictionary-config-mgr.md)
65+
- [Dictionary Configuration Import](./dialogs/dictionary-configuration-import.md)
66+
- [Dictionary Configuration Manager](./dialogs/dictionary-configuration-manager.md)
67+
- [Dictionary Configuration Node Rename](./dialogs/dictionary-configuration-node-rename.md)
68+
- [Dictionary Configuration](./dialogs/dictionary-configuration.md)
69+
- [Discourse Export Dialog](./dialogs/discourse-export-dialog.md)
70+
- [Edit Morph Breaks Dlg](./dialogs/edit-morph-breaks-dlg.md)
71+
- [Export Dialog](./dialogs/export-dialog.md)
72+
- [Export Semantic Domains](./dialogs/export-semantic-domains.md)
73+
- [Export Translated Lists](./dialogs/export-translated-lists.md)
74+
- [Files To Restore Are Older](./dialogs/files-to-restore-are-older.md)
75+
- [Filter Texts Dialog](./dialogs/filter-texts-dialog.md)
76+
- [Find Example Sentence Dlg](./dialogs/find-example-sentence-dlg.md)
77+
- [Flexbridge First Send Receive Instructions Dlg](./dialogs/flexbridge-first-send-receive-instructions-dlg.md)
78+
- [Font](./dialogs/font.md)
79+
- [Hc Max Compound Rules Dlg](./dialogs/hc-max-compound-rules-dlg.md)
80+
- [Headword Numbers](./dialogs/headword-numbers.md)
81+
- [Help About](./dialogs/help-about.md)
82+
- [Import Char Mapping Dlg](./dialogs/import-char-mapping-dlg.md)
83+
- [Import Date Format Dlg](./dialogs/import-date-format-dlg.md)
84+
- [Import Enc Cvtr Dlg](./dialogs/import-enc-cvtr-dlg.md)
85+
- [Import Match Replace Dlg](./dialogs/import-match-replace-dlg.md)
86+
- [Import Word Set Dlg](./dialogs/import-word-set-dlg.md)
87+
- [Insert Record Dlg](./dialogs/insert-record-dlg.md)
88+
- [Insert Variant Dlg](./dialogs/insert-variant-dlg.md)
89+
- [Interlinear Export Dialog](./dialogs/interlinear-export-dialog.md)
90+
- [Interlinear Import Dlg](./dialogs/interlinear-import-dlg.md)
91+
- [Lex Import Wizard Char Marker Dlg](./dialogs/lex-import-wizard-char-marker-dlg.md)
92+
- [Lex Import Wizard Language](./dialogs/lex-import-wizard-language.md)
93+
- [Lex Import Wizard Marker](./dialogs/lex-import-wizard-marker.md)
94+
- [Lift Export Message](./dialogs/lift-export-message.md)
95+
- [Lift Import Dlg](./dialogs/lift-import-dlg.md)
96+
- [Lingua Links Import Dlg](./dialogs/lingua-links-import-dlg.md)
97+
- [Link Allomorph Dlg](./dialogs/link-allomorph-dlg.md)
98+
- [Link Entry Or Sense Dlg](./dialogs/link-entry-or-sense-dlg.md)
99+
- [Link Msa Dlg](./dialogs/link-msa-dlg.md)
100+
- [Link Variant To Entry Or Sense](./dialogs/link-variant-to-entry-or-sense.md)
101+
- [Master Category List Dlg](./dialogs/master-category-list-dlg.md)
102+
- [Master Inflection Feature List Dlg](./dialogs/master-inflection-feature-list-dlg.md)
103+
- [Master Phonological Feature List Dlg](./dialogs/master-phonological-feature-list-dlg.md)
104+
- [Merge Entry Dlg](./dialogs/merge-entry-dlg.md)
105+
- [Merge Object](./dialogs/merge-object.md)
106+
- [Merge Writing System](./dialogs/merge-writing-system.md)
107+
- [Mga Dialog](./dialogs/mga-dialog.md)
108+
- [Mga Html Help Dialog](./dialogs/mga-html-help-dialog.md)
109+
- [Missing Old Fieldworks](./dialogs/missing-old-fieldworks.md)
110+
- [Move Or Copy Files](./dialogs/move-or-copy-files.md)
111+
- [New Lang Project](./dialogs/new-lang-project.md)
112+
- [Notebook Export](./dialogs/notebook-export.md)
113+
- [Occurrence Dlg](./dialogs/occurrence-dlg.md)
114+
- [Overwrite Existing Project](./dialogs/overwrite-existing-project.md)
115+
- [Parser Parameters Dlg](./dialogs/parser-parameters-dlg.md)
116+
- [Project Location](./dialogs/project-location.md)
117+
- [Project Properties](./dialogs/project-properties.md)
118+
- [Record Go Dlg](./dialogs/record-go-dlg.md)
119+
- [Related Words](./dialogs/related-words.md)
120+
- [Respeller Dlg](./dialogs/respeller-dlg.md)
121+
- [Restore Defaults Dlg](./dialogs/restore-defaults-dlg.md)
122+
- [Restore Linked Files To Projects Folder](./dialogs/restore-linked-files-to-projects-folder.md)
123+
- [Restore Project](./dialogs/restore-project.md)
124+
- [Reversal Entry Go Dlg](./dialogs/reversal-entry-go-dlg.md)
125+
- [Select Clauses Dialog](./dialogs/select-clauses-dialog.md)
126+
- [Sfm To Texts And Words Mapping Dlg](./dialogs/sfm-to-texts-and-words-mapping-dlg.md)
127+
- [Splash Screen](./dialogs/splash-screen.md)
128+
- [Styles Modified](./dialogs/styles-modified.md)
129+
- [Styles](./dialogs/styles.md)
130+
- [Summary Dialog Form](./dialogs/summary-dialog-form.md)
131+
- [Swap Lexeme With Allomorph Dlg](./dialogs/swap-lexeme-with-allomorph-dlg.md)
132+
- [Try A Word Dlg](./dialogs/try-a-word-dlg.md)
133+
- [Update Report](./dialogs/update-report.md)
134+
- [Upload To Webonary](./dialogs/upload-to-webonary.md)
135+
- [User Properties](./dialogs/user-properties.md)
136+
- [Utility](./dialogs/utility.md)
137+
- [Valid Characters](./dialogs/valid-characters.md)
138+
- [View Hidden Writing Systems](./dialogs/view-hidden-writing-systems.md)
139+
- [Warning Not Using Default Linked Files Location](./dialogs/warning-not-using-default-linked-files-location.md)
140+
- [Webonary Log Viewer](./dialogs/webonary-log-viewer.md)
141+
- [Xml Diagnostics](./dialogs/xml-diagnostics.md)
142+
- [Xml Doc Configure](./dialogs/xml-doc-configure.md)
143+
144+
### Choosers & launchers (28)
145+
146+
- [Atomic Reference Launcher](./choosers-launchers/atomic-reference-launcher.md)
147+
- [Audio Visual Launcher](./choosers-launchers/audio-visual-launcher.md)
148+
- [Configure Writing Systems Dlg](./choosers-launchers/configure-writing-systems-dlg.md)
149+
- [Entry Sequence Reference Launcher](./choosers-launchers/entry-sequence-reference-launcher.md)
150+
- [Gen Date Chooser Dlg](./choosers-launchers/gen-date-chooser-dlg.md)
151+
- [Gen Date Launcher](./choosers-launchers/gen-date-launcher.md)
152+
- [Ghost Lex Ref Launcher](./choosers-launchers/ghost-lex-ref-launcher.md)
153+
- [Ghost Reference Vector Launcher](./choosers-launchers/ghost-reference-vector-launcher.md)
154+
- [Lex Reference Collection Launcher](./choosers-launchers/lex-reference-collection-launcher.md)
155+
- [Lex Reference Pair Launcher](./choosers-launchers/lex-reference-pair-launcher.md)
156+
- [Lex Reference Sequence Launcher](./choosers-launchers/lex-reference-sequence-launcher.md)
157+
- [Lex Reference Tree Branches Launcher](./choosers-launchers/lex-reference-tree-branches-launcher.md)
158+
- [Lex Reference Tree Root Launcher](./choosers-launchers/lex-reference-tree-root-launcher.md)
159+
- [Lex Reference Unidirectional Launcher](./choosers-launchers/lex-reference-unidirectional-launcher.md)
160+
- [Master Category List Chooser Launcher](./choosers-launchers/master-category-list-chooser-launcher.md)
161+
- [Morph Type Atomic Launcher](./choosers-launchers/morph-type-atomic-launcher.md)
162+
- [Morph Type Chooser](./choosers-launchers/morph-type-chooser.md)
163+
- [Msa Dlg Launcher](./choosers-launchers/msa-dlg-launcher.md)
164+
- [Phone Env Reference Launcher](./choosers-launchers/phone-env-reference-launcher.md)
165+
- [Possibility Atomic Reference Launcher](./choosers-launchers/possibility-atomic-reference-launcher.md)
166+
- [Possibility Vector Reference Launcher](./choosers-launchers/possibility-vector-reference-launcher.md)
167+
- [Record Reference Vector Launcher](./choosers-launchers/record-reference-vector-launcher.md)
168+
- [Rev Entry Senses Collection Reference Launcher](./choosers-launchers/rev-entry-senses-collection-reference-launcher.md)
169+
- [Semantic Domain Reference Launcher](./choosers-launchers/semantic-domain-reference-launcher.md)
170+
- [Semantic Domains Chooser](./choosers-launchers/semantic-domains-chooser.md)
171+
- [Simple Integer Match Dlg](./choosers-launchers/simple-integer-match-dlg.md)
172+
- [User Interface Chooser](./choosers-launchers/user-interface-chooser.md)
173+
- [Vector Reference Launcher](./choosers-launchers/vector-reference-launcher.md)
174+
175+
### Tool screens (34)
176+
177+
- [Adhoc Coprohib Edit](./tools/adhoc-coprohib-edit.md)
178+
- [Analyses](./tools/analyses.md)
179+
- [Bulk Edit Entries Or Senses](./tools/bulk-edit-entries-or-senses.md)
180+
- [Category Browse](./tools/category-browse.md)
181+
- [Complex Concordance](./tools/complex-concordance.md)
182+
- [Compound Rule Advanced Edit](./tools/compound-rule-advanced-edit.md)
183+
- [Concordance](./tools/concordance.md)
184+
- [Corpus Statistics](./tools/corpus-statistics.md)
185+
- [Environment Edit](./tools/environment-edit.md)
186+
- [Features Advanced Edit](./tools/features-advanced-edit.md)
187+
- [Grammar Sketch](./tools/grammar-sketch.md)
188+
- [Interlinear Edit](./tools/interlinear-edit.md)
189+
- [Lexicon Browse](./tools/lexicon-browse.md)
190+
- [Lexicon Classified Dictionary](./tools/lexicon-classified-dictionary.md)
191+
- [Lexicon Dictionary](./tools/lexicon-dictionary.md)
192+
- [Lexicon Edit Popup](./tools/lexicon-edit-popup.md)
193+
- [Lexicon Edit](./tools/lexicon-edit.md)
194+
- [Lexicon Problems](./tools/lexicon-problems.md)
195+
- [Natural Classedit](./tools/natural-classedit.md)
196+
- [Notebook Browse](./tools/notebook-browse.md)
197+
- [Notebook Document](./tools/notebook-document.md)
198+
- [Notebook Edit](./tools/notebook-edit.md)
199+
- [Phoneme Edit](./tools/phoneme-edit.md)
200+
- [Phonological Features Advanced Edit](./tools/phonological-features-advanced-edit.md)
201+
- [Phonological Rule Edit](./tools/phonological-rule-edit.md)
202+
- [Pos Edit](./tools/pos-edit.md)
203+
- [Prod Restrict Edit](./tools/prod-restrict-edit.md)
204+
- [Rapid Data Entry](./tools/rapid-data-entry.md)
205+
- [Reversal Tool Bulk Edit Reversal Entries](./tools/reversal-tool-bulk-edit-reversal-entries.md)
206+
- [Reversal Tool Edit Complete](./tools/reversal-tool-edit-complete.md)
207+
- [Spelling](./tools/spelling.md)
208+
- [Tool Bulk Edit Phonemes](./tools/tool-bulk-edit-phonemes.md)
209+
- [Tool Bulk Edit Wordforms](./tools/tool-bulk-edit-wordforms.md)
210+
- [Word List Concordance](./tools/word-list-concordance.md)
211+
212+
### List editors (CmPossibility) (33)
213+
214+
- [Affix Category Edit](./lists/affix-category-edit.md)
215+
- [Annotation Def Edit](./lists/annotation-def-edit.md)
216+
- [Anthro Edit](./lists/anthro-edit.md)
217+
- [Chartmark Edit](./lists/chartmark-edit.md)
218+
- [Charttemp Edit](./lists/charttemp-edit.md)
219+
- [Complex Entry Type Edit](./lists/complex-entry-type-edit.md)
220+
- [Confidence Edit](./lists/confidence-edit.md)
221+
- [Dialects List Edit](./lists/dialects-list-edit.md)
222+
- [Domain Type Edit](./lists/domain-type-edit.md)
223+
- [Education Edit](./lists/education-edit.md)
224+
- [Ext Note Type Edit](./lists/ext-note-type-edit.md)
225+
- [Feature Types Advanced Edit](./lists/feature-types-advanced-edit.md)
226+
- [Genres Edit](./lists/genres-edit.md)
227+
- [Languages List Edit](./lists/languages-list-edit.md)
228+
- [Lex Ref Edit](./lists/lex-ref-edit.md)
229+
- [Locations Edit](./lists/locations-edit.md)
230+
- [Morph Type Edit](./lists/morph-type-edit.md)
231+
- [People Edit](./lists/people-edit.md)
232+
- [Positions Edit](./lists/positions-edit.md)
233+
- [Publications Edit](./lists/publications-edit.md)
234+
- [Rec Type Edit](./lists/rec-type-edit.md)
235+
- [Restrictions Edit](./lists/restrictions-edit.md)
236+
- [Reversal Tool Reversal Index Pos](./lists/reversal-tool-reversal-index-pos.md)
237+
- [Role Edit](./lists/role-edit.md)
238+
- [Semantic Domain Edit](./lists/semantic-domain-edit.md)
239+
- [Sense Status Edit](./lists/sense-status-edit.md)
240+
- [Sense Type Edit](./lists/sense-type-edit.md)
241+
- [Status Edit](./lists/status-edit.md)
242+
- [Text Markup Tags Edit](./lists/text-markup-tags-edit.md)
243+
- [Time Of Day Edit](./lists/time-of-day-edit.md)
244+
- [Translation Type Edit](./lists/translation-type-edit.md)
245+
- [Usage Type Edit](./lists/usage-type-edit.md)
246+
- [Variant Entry Type Edit](./lists/variant-entry-type-edit.md)
247+
248+
## Phase 2 — shell / framework / native rendering (net10 + cross-platform)
249+
250+
### Shell & framework (6)
251+
252+
- [App Lifetime Startup](./phase2/shell/app-lifetime-startup.md)
253+
- [Main Window](./phase2/shell/main-window.md)
254+
- [Mediator Propertytable](./phase2/shell/mediator-propertytable.md)
255+
- [Menus Toolbars Statusbar](./phase2/shell/menus-toolbars-statusbar.md)
256+
- [Panes Splitters](./phase2/shell/panes-splitters.md)
257+
- [Sidebar Navigation](./phase2/shell/sidebar-navigation.md)
258+
259+
### Native rendering (decommission targets) (6)
260+
261+
- [Buffered Draw](./phase2/native-render/buffered-draw.md)
262+
- [Datatree Slice Framework](./phase2/native-render/datatree-slice-framework.md)
263+
- [Gecko Pdf Preview](./phase2/native-render/gecko-pdf-preview.md)
264+
- [Graphite Engine](./phase2/native-render/graphite-engine.md)
265+
- [Managed Views Host](./phase2/native-render/managed-views-host.md)
266+
- [Views Engine](./phase2/native-render/views-engine.md)

0 commit comments

Comments
 (0)