Add Packages inventory screen and auto-scrap duplicate package pulls

Packages are unique-per-type; duplicate pulls now auto-scrap into Cache
(mirroring the distro dupe->Merges path) instead of a dead-end merges
pool, and the pull reveal shows "-> N cache" for the dupe card. Save
loading collapses any pre-existing duplicate package entries to the
highest-level instance and grants Cache for the extras, logging the
migration.

Also adds a dedicated Packages tab in the Collection screen (master
list with slot filter/sort + affordability hints, detail panel with
upgrade/scrap actions) so the whole inventory can be managed from one
place, sharing state with the existing per-distro Packages sub-tab.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MQmck8EqqWxSq5uVZ4E7yN
This commit is contained in:
Claude
2026-07-09 09:04:46 +00:00
parent d0722c6bf9
commit 8c08b94d2b
6 changed files with 454 additions and 183 deletions
+1
View File
@@ -8,6 +8,7 @@
<ui:VisualElement class="collection-actions">
<ui:Button name="CollectionUnitsButton" text="units" focusable="false" class="collection-tab" />
<ui:Button name="CollectionLanguagesButton" text="languages" focusable="false" class="collection-tab" />
<ui:Button name="CollectionPackagesButton" text="packages" focusable="false" class="collection-tab" />
</ui:VisualElement>
<ui:VisualElement name="CollectionContent" class="collection-shell">
<ui:ScrollView name="CollectionList" class="collection-list" />