Commit 5075cee
authored
feat(magos-modificus): Phase 3 Track B mod-list, import, source model (#29)
Fills the shell content area (Track A's empty placeholder) with the
mod-list for the active profile, plus the mod source/version model that
backs it.
## Backend model
- `ModSource` (None / Nexus / GitHub) recorded on the shared entry;
versions are raw strings everywhere (GitHub release tags and Nexus file
versions are not SemVer).
- Allocation is plain string equality, which removes the `//
TODO(phase4)` version-equality wart.
- `IModImportService` (folder or `.zip` import into the shared store).
- `IModOrderResolver` + identity stub (the auto-sort seam; real
dependency algorithm deferred).
## Mod-list UI
- View / enable-disable / remove (confirmed) / reorder (up-down) /
per-mod policy (Latest or Pinned to a version string), with a read-only
source badge per row.
- Auto-sort toggle (identity stub, no-op).
## Import flow
- Split-button "Add Mod" (zip default, folder via the flyout) plus
drag-and-drop; both feed a sequential per-mod modal collecting Source +
Version + URL.
- Drag-and-drop is wired but messaged as Windows-only (Avalonia 12.0.x
lacks Linux XDND, wont-backport; PR AvaloniaUI/Avalonia#20926 lands it
in 12.1). Folder import is reachable via the picker on all platforms.
## Tests + docs
- 426 tests (backend model + services + VM logic against hand-rolled
fakes; view mechanics are live-verified).
- Reference, architecture, and AGENTS.md docs updated in place.1 parent c921650 commit 5075cee
42 files changed
Lines changed: 4674 additions & 191 deletions
File tree
- docs
- architecture
- reference/magos-modificus
- magos-modificus
- profiles
- tests
- Magos.Modificus.Profiles.Tests
- Magos.Modificus.UI.Tests
- ui
- Dialogs
- Resources
- ViewModels
- Views
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
31 | 31 | | |
32 | 32 | | |
33 | 33 | | |
34 | | - | |
| 34 | + | |
35 | 35 | | |
36 | 36 | | |
37 | | - | |
38 | | - | |
39 | | - | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
40 | 43 | | |
41 | 44 | | |
42 | 45 | | |
| |||
80 | 83 | | |
81 | 84 | | |
82 | 85 | | |
| 86 | + | |
| 87 | + | |
83 | 88 | | |
84 | 89 | | |
85 | | - | |
86 | | - | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
87 | 95 | | |
88 | 96 | | |
89 | 97 | | |
| |||
175 | 183 | | |
176 | 184 | | |
177 | 185 | | |
178 | | - | |
179 | | - | |
| 186 | + | |
| 187 | + | |
| 188 | + | |
| 189 | + | |
180 | 190 | | |
181 | 191 | | |
182 | 192 | | |
| |||
186 | 196 | | |
187 | 197 | | |
188 | 198 | | |
189 | | - | |
| 199 | + | |
| 200 | + | |
| 201 | + | |
| 202 | + | |
| 203 | + | |
190 | 204 | | |
191 | 205 | | |
192 | 206 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
184 | 184 | | |
185 | 185 | | |
186 | 186 | | |
187 | | - | |
| 187 | + | |
188 | 188 | | |
189 | 189 | | |
190 | 190 | | |
191 | 191 | | |
192 | 192 | | |
193 | 193 | | |
194 | | - | |
195 | | - | |
196 | | - | |
197 | | - | |
| 194 | + | |
| 195 | + | |
| 196 | + | |
| 197 | + | |
198 | 198 | | |
199 | 199 | | |
200 | | - | |
201 | | - | |
| 200 | + | |
| 201 | + | |
202 | 202 | | |
203 | 203 | | |
| 204 | + | |
| 205 | + | |
| 206 | + | |
| 207 | + | |
| 208 | + | |
| 209 | + | |
| 210 | + | |
| 211 | + | |
| 212 | + | |
| 213 | + | |
| 214 | + | |
| 215 | + | |
| 216 | + | |
| 217 | + | |
| 218 | + | |
| 219 | + | |
| 220 | + | |
| 221 | + | |
| 222 | + | |
| 223 | + | |
| 224 | + | |
| 225 | + | |
| 226 | + | |
204 | 227 | | |
205 | 228 | | |
206 | 229 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
99 | 99 | | |
100 | 100 | | |
101 | 101 | | |
102 | | - | |
103 | | - | |
| 102 | + | |
| 103 | + | |
| 104 | + | |
| 105 | + | |
| 106 | + | |
| 107 | + | |
| 108 | + | |
| 109 | + | |
| 110 | + | |
| 111 | + | |
| 112 | + | |
| 113 | + | |
| 114 | + | |
| 115 | + | |
| 116 | + | |
| 117 | + | |
| 118 | + | |
| 119 | + | |
| 120 | + | |
| 121 | + | |
| 122 | + | |
| 123 | + | |
| 124 | + | |
| 125 | + | |
104 | 126 | | |
105 | 127 | | |
106 | 128 | | |
| |||
114 | 136 | | |
115 | 137 | | |
116 | 138 | | |
| 139 | + | |
| 140 | + | |
| 141 | + | |
117 | 142 | | |
118 | 143 | | |
119 | 144 | | |
| |||
0 commit comments