poi-plugin-remodel-assistant 1.2.3 → 1.2.4-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (68) hide show
  1. package/README.md +17 -25
  2. package/data/changelog.json +7 -0
  3. package/data/maintenance-history.json +12 -0
  4. package/i18n/en-US.json +38 -7
  5. package/i18n/ja-JP.json +38 -7
  6. package/i18n/zh-CN.json +38 -7
  7. package/i18n/zh-TW.json +38 -7
  8. package/index.js +1 -5
  9. package/package.json +2 -2
  10. package/views/app/item-info-area.js +13 -13
  11. package/views/app/plugin-bootstrap-area.js +266 -21
  12. package/views/new-interface/app/decision-snapshot-cache.js +35 -18
  13. package/views/new-interface/app/decision-snapshot-jobs.js +229 -53
  14. package/views/new-interface/app/decision-snapshot-request-gate.js +84 -1
  15. package/views/new-interface/app/decision-snapshot-service.js +2 -0
  16. package/views/new-interface/app/new-interface-area.js +340 -157
  17. package/views/new-interface/chain/domain/upgrade-chain-domain.js +6 -3
  18. package/views/new-interface/chain/full/upgrade-chain-canvas.js +4 -5
  19. package/views/new-interface/data/modals/data-transfer-modal.js +5 -6
  20. package/views/new-interface/data/modals/problem-diagnostics-modal.js +63 -8
  21. package/views/new-interface/decisions/domain/decision-domain.js +2 -2
  22. package/views/new-interface/decisions/domain/decision-snapshot-domain.js +51 -37
  23. package/views/new-interface/decisions/domain/stable-state-validation-domain.js +512 -0
  24. package/views/new-interface/equipment/components/equipment-detail.js +9 -10
  25. package/views/new-interface/equipment/components/equipment-list.js +1 -18
  26. package/views/new-interface/equipment/components/equipment-workspace.js +5 -6
  27. package/views/new-interface/equipment/domain/equipment-blacklist-domain.js +8 -6
  28. package/views/new-interface/incremental/plan-decision-index.js +56 -35
  29. package/views/new-interface/plan/components/current-start-candidate-selector.js +11 -7
  30. package/views/new-interface/plan/components/current-start-planner-modal.js +4 -3
  31. package/views/new-interface/plan/domain/consumable-plan-domain.js +19 -2
  32. package/views/new-interface/plan/domain/current-plan-execution-domain.js +451 -143
  33. package/views/new-interface/plan/domain/current-plan-identity-domain.js +59 -10
  34. package/views/new-interface/plan/domain/current-start-assignment-domain.js +548 -165
  35. package/views/new-interface/plan/domain/current-start-candidate-domain.js +337 -221
  36. package/views/new-interface/plan/domain/current-start-selection-domain.js +2 -22
  37. package/views/new-interface/plan/domain/final-plan-resolution-domain.js +205 -0
  38. package/views/new-interface/plan/domain/improvement-cost-domain.js +70 -43
  39. package/views/new-interface/plan/domain/improvement-plan-domain.js +87 -4
  40. package/views/new-interface/plan/domain/plan-facts-domain.js +129 -107
  41. package/views/new-interface/plan/domain/plan-identity-domain.js +55 -0
  42. package/views/new-interface/plan/domain/plan-route-decision-domain.js +29 -0
  43. package/views/new-interface/plan/domain/plan-route-domain.js +1 -5
  44. package/views/new-interface/shared/components/detail-panel.js +11 -22
  45. package/views/new-interface/shared/domain/material-inventory-domain.js +25 -1
  46. package/views/new-interface/workbench/components/material-detail-modal.js +1 -1
  47. package/views/new-interface/workbench/components/unresolved-current-starts-modal.js +1 -1
  48. package/views/new-interface/workbench/components/workbench-detail.js +12 -48
  49. package/views/new-interface/workbench/domain/material-drilldown-domain.js +4 -1
  50. package/views/new-interface/workbench/model/current-upgrade-cost-model.js +0 -8
  51. package/views/shared/__kcra-trace__.js +31 -0
  52. package/views/shared/data-transfer.js +58 -3
  53. package/views/shared/derived-cache-resource.js +49 -0
  54. package/views/shared/legacy-assignment-migration.js +57 -0
  55. package/views/shared/legacy-assignment-recovery.js +190 -0
  56. package/views/shared/personal-profile-source.js +39 -2
  57. package/views/shared/personal-profile-storage.js +7 -30
  58. package/views/shared/plan-storage.js +311 -208
  59. package/views/shared/plugin-maintenance.js +92 -0
  60. package/views/shared/plugin-migration-lock.js +98 -0
  61. package/views/shared/plugin-resource-paths.js +53 -0
  62. package/views/shared/plugin-state-commands.js +281 -0
  63. package/views/shared/plugin-state-migration.js +400 -0
  64. package/views/shared/plugin-state-schema.js +821 -0
  65. package/views/shared/plugin-state-storage.js +528 -0
  66. package/views/shared/problem-diagnostics.js +30 -40
  67. package/views/shared/runtime-data-package.js +16 -3
  68. package/views/shared/selectors.js +21 -6
package/README.md CHANGED
@@ -1,43 +1,35 @@
1
1
  # 改修助手
2
2
 
3
- Poi plugin for planning Kantai Collection equipment improvements.
3
+ Poi 用舰队 Collection 装备改修规划插件。结合当前库存与随包数据,把长期改修目标拆成“今天改什么”、具体起点、完整升级路线、秘书舰条件和材料消耗。
4
4
 
5
- Tell the plugin the equipment you ultimately want, the target improvement level, and quantity. It will combine that goal with your current inventory to organize routes, intermediate equipment, material requirements, and what you can improve today.
5
+ Beta preview channel. Beta and Stable share the npm package name `poi-plugin-remodel-assistant`; Beta uses the `beta` dist-tag and Stable uses `latest`.
6
6
 
7
7
  ## Features
8
8
 
9
- - Create improvement plans directly from **Equipment library**.
10
- - Match plans against your current inventory to determine the practical starting point.
11
- - Manage complete improvement routes, with explicit user choice when more than one valid route exists.
12
- - Review acquisition sources for missing prerequisite equipment, including development, quests, and ship initial/remodel equipment when available.
13
- - Use **Today** to see plans that can be advanced now, together with assistant ships, available days, materials, and remaining routes.
14
- - Filter and sort equipment, manage low-priority equipment, and customize ordinary detail sections.
15
- - Back up and restore plans, route choices, and interface settings.
9
+ - Use **Today** as the execution list for unfinished plans, with current equipment, assistant ships, available days, current-step materials, and the remaining equipment-star route in one detail view.
10
+ - Use **Equipment library** to search equipment, review owned copies, add explicit target-star/quantity plans, compare total cost, and manage each plan route.
11
+ - Keep route choices explicit: one valid complete route is used directly, while multiple valid routes wait for the user to choose instead of being silently auto-ranked.
12
+ - Review acquisition sources when a route requires equipment you do not own, including development, quest, and ship initial/remodel sources when available.
13
+ - Compare expected and guaranteed material needs, with development materials and improvement materials presented separately.
14
+ - Customize ordinary detail sections by visibility and order, while required unresolved/action sections remain visible.
15
+ - Use category filters, sorting, and low-priority equipment to narrow recommendations without removing valid plans or routes.
16
16
 
17
17
  ## Quick Start
18
18
 
19
- 1. Open **Equipment library** and select your target equipment.
20
- 2. Set the target improvement level and quantity, then create a plan.
21
- 3. If more than one route is available, choose the route you want.
22
- 4. Open **Today** and follow the current guidance.
19
+ 1. Open **Equipment library**, select an equipment, and add a plan with the target improvement level and quantity.
20
+ 2. If the plan has more than one complete valid route, choose the route you want; if the starting equipment is missing, open its acquisition details.
21
+ 3. Open **Today** and follow the current equipment, assistant ship, available day, material requirement, and remaining route shown in the detail pane.
23
22
 
24
- The in-plugin **Help** entry contains illustrated guides.
25
-
26
- ## Data Sources
27
-
28
- Improvement information is based on:
29
-
30
- - Akashi-List
31
- - wikiwiki.jp
32
- - KcWiki-Api
33
- - KC3
34
-
35
- The plugin uses the latest available data and shows the active data version and update time in **Help**.
23
+ The in-plugin **Help** entry contains this workflow, detailed category/low-priority guides, data-source information, and user-facing release notes.
36
24
 
37
25
  ## Installation
38
26
 
39
27
  Install `poi-plugin-remodel-assistant` from the Poi plugin manager.
40
28
 
29
+ ## Data
30
+
31
+ Improvement data is based on Akashi-List, wikiwiki.jp, KcWiki-Api, and KC3. Data is updated with the packaged plugin data and is not fetched in real time while the plugin is running.
32
+
41
33
  ## License
42
34
 
43
35
  MIT
@@ -1,6 +1,13 @@
1
1
  {
2
2
  "schemaVersion": 1,
3
3
  "entries": [
4
+ {
5
+ "version": "1.2.4",
6
+ "items": [
7
+ "changelog_1_2_4_assignment_waiting_fix",
8
+ "changelog_1_2_4_state_migration_recovery"
9
+ ]
10
+ },
4
11
  {
5
12
  "version": "1.2.3",
6
13
  "items": [
@@ -0,0 +1,12 @@
1
+ {
2
+ "schemaVersion": 1,
3
+ "entries": [
4
+ {
5
+ "version": "1.2.4",
6
+ "appliesFrom": "legacy",
7
+ "actions": [
8
+ "clearDerivedCaches"
9
+ ]
10
+ }
11
+ ]
12
+ }
package/i18n/en-US.json CHANGED
@@ -1467,15 +1467,20 @@
1467
1467
  "app.Data package updated, refreshing decision chain...": "Data package updated. Refreshing decision chain…",
1468
1468
  "app.changelog_1_2_3_runtime_data_auto_update_fix": "Fixed an issue that could prevent the data package from updating automatically as expected.",
1469
1469
  "app.Diagnostics": "Diagnostics",
1470
+ "diagnostics.Check stable state": "Check configuration",
1471
+ "diagnostics.Stable state validation": "Configuration health check",
1472
+ "diagnostics.Stable state is consistent": "The current stable state is consistent.",
1473
+ "diagnostics.Stable state has %s issue(s)": "The current stable state has %s issue(s).",
1474
+ "diagnostics.Stable state validation could not run": "Stable state validation could not run.",
1475
+ "diagnostics.Checks Plan, Route, concrete api_id ownership, Snapshot projection, and migration recovery invariants without changing state.": "Checks whether Plans, routes, equipment bindings, and migration state are consistent without changing user data.",
1470
1476
  "diagnostics.All known plugin-owned Poi config keys, including compatibility keys": "All known plugin-owned Poi config keys, including compatibility keys",
1471
1477
  "diagnostics.Caches cleared. Restarting plugin...": "Caches cleared. Restarting plugin…",
1472
1478
  "diagnostics.Caches could not be cleared": "Caches could not be cleared.",
1473
1479
  "diagnostics.Cancel": "Cancel",
1474
1480
  "diagnostics.Choose save location": "Choose save location",
1475
- "diagnostics.Clear all caches and restart plugin": "Clear all caches and restart plugin",
1481
+ "diagnostics.Clear all caches and restart plugin": "Clear runtime caches and restart plugin",
1476
1482
  "diagnostics.Clear caches and restart": "Clear caches and restart",
1477
1483
  "diagnostics.Clearing caches...": "Clearing caches…",
1478
- "diagnostics.Clears derived and downloaded caches, then reloads this plugin window. Plans, inventory profiles, and settings are preserved.": "Clears derived and downloaded caches, then reloads this plugin window. Plans, inventory profiles, and settings are preserved.",
1479
1484
  "diagnostics.Close": "Close",
1480
1485
  "diagnostics.Confirm clear and restart": "Confirm clear and restart",
1481
1486
  "diagnostics.Current effective equipment inventory used by the plugin": "Current effective equipment inventory used by the plugin",
@@ -1488,13 +1493,13 @@
1488
1493
  "diagnostics.Diagnostic bundle saved as %s": "Diagnostic bundle saved as %s",
1489
1494
  "diagnostics.Export diagnostic bundle": "Export diagnostic bundle",
1490
1495
  "diagnostics.Exports the inventory and all plugin configuration needed to reproduce a problem.": "Exports the inventory and all plugin configuration needed to reproduce a problem.",
1491
- "diagnostics.Files included": "Files included",
1496
+ "diagnostics.Files included": "Diagnostic data scope",
1492
1497
  "diagnostics.Improvement-cost cache metadata": "Improvement-cost cache metadata",
1493
1498
  "diagnostics.Persisted personal profile when present": "Persisted personal profile when present",
1494
1499
  "diagnostics.Plugin-owned renderer localStorage values such as modal bounds": "Plugin-owned renderer localStorage values such as modal bounds",
1495
1500
  "diagnostics.Plugin/runtime/data-package identity used for reproduction": "Plugin/runtime/data-package identity used for reproduction",
1496
1501
  "diagnostics.Previous persisted improvement-cost cache": "Previous persisted improvement-cost cache",
1497
- "diagnostics.Problem diagnostics": "Problem diagnostics",
1502
+ "diagnostics.Problem diagnostics": "Recovery and diagnostics",
1498
1503
  "diagnostics.Runtime data package status and cache metadata": "Runtime data package status and cache metadata",
1499
1504
  "diagnostics.Small Poi host config subset consumed by this plugin": "Small Poi host config subset consumed by this plugin",
1500
1505
  "diagnostics.The bundle contains inventory and plugin settings. Review it before sharing.": "The bundle contains inventory and plugin settings. Review it before sharing.",
@@ -1506,8 +1511,34 @@
1506
1511
  "app.changelog_1_2_3_equipment_planning_ui": "Improved plan and owned-equipment information in Today and the Equipment Library, refined upgrade-route filters, and now remembers search and sort choices.",
1507
1512
  "app.changelog_1_2_3_problem_diagnostics": "Added problem diagnostics: clear caches and reload the plugin first, then export diagnostic data if the problem remains.",
1508
1513
  "app.changelog_1_2_3_host_compatibility_and_stability": "Improved Poi 12 / React 18 compatibility and fixed several latent issues.",
1509
- "diagnostics.Exports plugin diagnostic data and the personal inventory data stored by Poi under Local Storage/leveldb.": "Packages plugin diagnostic data and the personal inventory state stored by Poi under Local Storage/leveldb.",
1510
- "diagnostics.Plugin diagnostic data file": "Plugin diagnostic data",
1514
+ "diagnostics.Exports plugin diagnostic data and the personal inventory data stored by Poi under Local Storage/leveldb.": "Exports plugin data used for troubleshooting and the personal inventory data stored by Poi.",
1515
+ "diagnostics.Plugin diagnostic data file": "Plugin data",
1511
1516
  "diagnostics.Poi personal inventory data file": "Poi personal inventory data",
1512
- "diagnostics.Some Poi personal inventory files were in use and could not be copied. The skipped files are listed in manifest.json.": "Some Poi personal inventory files were in use and could not be copied. The diagnostic bundle was saved and the skipped files are listed in manifest.json."
1517
+ "diagnostics.Some Poi personal inventory files were in use and could not be copied. The skipped files are listed in manifest.json.": "Some Poi personal inventory files were in use and could not be copied. The diagnostic bundle was saved and the skipped files are listed in manifest.json.",
1518
+ "bootstrap.Plugin State is damaged. Automatic legacy fallback is disabled to protect newer plans.": "Plugin State is damaged. Automatic legacy fallback is disabled to protect newer plans.",
1519
+ "bootstrap.Restore migration-time configuration only if you accept losing changes made after migration.": "Restore the migration-time configuration only if you accept losing changes made after migration.",
1520
+ "bootstrap.Restore migration-time configuration": "Restore migration-time configuration",
1521
+ "app.changelog_1_2_4_assignment_waiting_fix": "Fixed equipment assignment errors when matching inventory runs out with many Plans, including cases that could cause the plugin to hang.",
1522
+ "app.changelog_1_2_4_state_migration_recovery": "Added recovery for abnormal states by clearing rebuildable caches and restarting the plugin, plus configuration health checks and diagnostic-data export.",
1523
+ "app.changelog_1_2_4_cache_diagnostics_stability": "Improved cache cleanup and diagnostics while preserving healthy downloaded data and player configuration.",
1524
+ "diagnostics.Clears derived caches, then reloads this plugin window. Plans, downloaded runtime data, inventory profiles, and settings are preserved.": "Use this to recover from an abnormal plugin state. Only rebuildable runtime caches are cleared before restart; Plans, route choices, equipment bindings, low-priority equipment, and other user configuration are preserved.",
1525
+ "bootstrap.Updating plugin data": "Updating plugin data",
1526
+ "bootstrap.Plans and equipment assignments are being migrated and verified.": "Plans and equipment assignments are being migrated and verified.",
1527
+ "bootstrap.Please do not close Poi, disable, or restart the plugin until this finishes.": "Please do not close Poi, disable, or restart the plugin until this finishes.",
1528
+ "bootstrap.The plugin will continue automatically after the new data is reloaded successfully.": "The plugin will continue automatically after the new data is reloaded successfully.",
1529
+ "bootstrap.Data update is still running. Continue waiting is recommended.": "The data update is still running. Continuing to wait is recommended.",
1530
+ "bootstrap.Close anyway": "Close anyway",
1531
+ "bootstrap.Continue waiting": "Continue waiting",
1532
+ "bootstrap.Confirm interrupting the data update?": "Confirm interrupting the data update?",
1533
+ "bootstrap.Return and wait": "Return and wait",
1534
+ "bootstrap.Confirm close Poi": "Confirm close Poi",
1535
+ "diagnostics.Recovery and diagnostics": "Recovery and diagnostics",
1536
+ "diagnostics.Clear runtime caches and restart plugin": "Clear runtime caches and restart plugin",
1537
+ "diagnostics.Configuration health check": "Configuration health check",
1538
+ "diagnostics.Check configuration": "Check configuration",
1539
+ "diagnostics.Checks Plans, routes, equipment bindings, and migration state without changing user data.": "Checks Plans, routes, equipment bindings, and migration state without changing user data.",
1540
+ "diagnostics.Diagnostic data scope": "Diagnostic data scope",
1541
+ "diagnostics.Plugin diagnostic data": "Plugin data",
1542
+ "diagnostics.Poi personal inventory data": "Poi personal inventory data",
1543
+ "diagnostics.Exports plugin data used for troubleshooting and the personal inventory data stored by Poi.": "Exports plugin data used for troubleshooting and the personal inventory data stored by Poi."
1513
1544
  }
package/i18n/ja-JP.json CHANGED
@@ -1467,15 +1467,20 @@
1467
1467
  "app.Data package updated, refreshing decision chain...": "データパッケージを更新しました。判断チェーンを更新しています…",
1468
1468
  "app.changelog_1_2_3_runtime_data_auto_update_fix": "データパッケージが想定どおり自動更新されないことがある問題を修正しました。",
1469
1469
  "app.Diagnostics": "診断",
1470
+ "diagnostics.Check stable state": "設定を確認",
1471
+ "diagnostics.Stable state validation": "設定の健全性チェック",
1472
+ "diagnostics.Stable state is consistent": "現在の安定状態に矛盾はありません。",
1473
+ "diagnostics.Stable state has %s issue(s)": "現在の安定状態で %s 件の問題が見つかりました。",
1474
+ "diagnostics.Stable state validation could not run": "安定状態チェックを実行できませんでした。",
1475
+ "diagnostics.Checks Plan, Route, concrete api_id ownership, Snapshot projection, and migration recovery invariants without changing state.": "プラン、ルート、装備割り当て、移行状態の整合性を確認します。ユーザーデータは変更しません。",
1470
1476
  "diagnostics.All known plugin-owned Poi config keys, including compatibility keys": "互換キーを含む、このプラグインの既知の Poi 設定一式",
1471
1477
  "diagnostics.Caches cleared. Restarting plugin...": "キャッシュを消去しました。プラグインを再起動しています…",
1472
1478
  "diagnostics.Caches could not be cleared": "キャッシュを消去できませんでした。",
1473
1479
  "diagnostics.Cancel": "キャンセル",
1474
1480
  "diagnostics.Choose save location": "保存先を選択",
1475
- "diagnostics.Clear all caches and restart plugin": "全キャッシュを消去してプラグインを再起動",
1481
+ "diagnostics.Clear all caches and restart plugin": "実行キャッシュを消去してプラグインを再起動",
1476
1482
  "diagnostics.Clear caches and restart": "キャッシュを消去して再起動",
1477
1483
  "diagnostics.Clearing caches...": "キャッシュを消去しています…",
1478
- "diagnostics.Clears derived and downloaded caches, then reloads this plugin window. Plans, inventory profiles, and settings are preserved.": "派生キャッシュとダウンロード済みキャッシュを消去し、このプラグインウィンドウを再読み込みします。計画、所持プロファイル、設定は削除しません。",
1479
1484
  "diagnostics.Close": "閉じる",
1480
1485
  "diagnostics.Confirm clear and restart": "消去して再起動する",
1481
1486
  "diagnostics.Current effective equipment inventory used by the plugin": "プラグインが現在使用している装備所持データ",
@@ -1488,13 +1493,13 @@
1488
1493
  "diagnostics.Diagnostic bundle saved as %s": "診断パッケージを %s として保存しました",
1489
1494
  "diagnostics.Export diagnostic bundle": "診断パッケージを書き出す",
1490
1495
  "diagnostics.Exports the inventory and all plugin configuration needed to reproduce a problem.": "問題の再現に必要な所持データとプラグイン設定をすべて書き出します。",
1491
- "diagnostics.Files included": "含まれるファイル",
1496
+ "diagnostics.Files included": "診断データの範囲",
1492
1497
  "diagnostics.Improvement-cost cache metadata": "改修コストキャッシュ情報",
1493
1498
  "diagnostics.Persisted personal profile when present": "保存済み個人データ(存在する場合)",
1494
1499
  "diagnostics.Plugin-owned renderer localStorage values such as modal bounds": "ダイアログサイズなど、プラグイン固有のローカル画面設定",
1495
1500
  "diagnostics.Plugin/runtime/data-package identity used for reproduction": "再現用のプラグイン・実行環境・データパッケージ情報",
1496
1501
  "diagnostics.Previous persisted improvement-cost cache": "前回の永続化改修コストキャッシュ",
1497
- "diagnostics.Problem diagnostics": "問題診断",
1502
+ "diagnostics.Problem diagnostics": "復旧と診断",
1498
1503
  "diagnostics.Runtime data package status and cache metadata": "ランタイムデータパッケージの状態とキャッシュ情報",
1499
1504
  "diagnostics.Small Poi host config subset consumed by this plugin": "このプラグインが参照する一部の Poi 本体設定",
1500
1505
  "diagnostics.The bundle contains inventory and plugin settings. Review it before sharing.": "診断パッケージには所持データとプラグイン設定が含まれます。共有前に内容を確認してください。",
@@ -1506,8 +1511,34 @@
1506
1511
  "app.changelog_1_2_3_equipment_planning_ui": "「今日の改修」と装備ライブラリの計画・所持装備情報の表示を改善し、改修ルートのフィルターを整理して、検索・並び順を記憶するようにしました。",
1507
1512
  "app.changelog_1_2_3_problem_diagnostics": "問題診断を追加しました。まずキャッシュを消去してプラグインを再読み込みし、問題が残る場合は診断データを出力できます。",
1508
1513
  "app.changelog_1_2_3_host_compatibility_and_stability": "Poi 12 / React 18 との互換性を改善し、いくつかの潜在的な問題を修正しました。",
1509
- "diagnostics.Exports plugin diagnostic data and the personal inventory data stored by Poi under Local Storage/leveldb.": "プラグインの診断データと、Poi の Local Storage/leveldb にある個人インベントリ状態のデータをまとめます。",
1510
- "diagnostics.Plugin diagnostic data file": "プラグイン診断データ",
1514
+ "diagnostics.Exports plugin diagnostic data and the personal inventory data stored by Poi under Local Storage/leveldb.": "問題調査に必要なプラグインデータと、Poi が保存している個人インベントリデータを書き出します。",
1515
+ "diagnostics.Plugin diagnostic data file": "プラグインデータ",
1511
1516
  "diagnostics.Poi personal inventory data file": "Poi 個人インベントリデータ",
1512
- "diagnostics.Some Poi personal inventory files were in use and could not be copied. The skipped files are listed in manifest.json.": "一部の Poi 個人インベントリファイルは使用中のためコピーできませんでした。診断 ZIP は保存され、スキップしたファイルは manifest.json に記録されています。"
1517
+ "diagnostics.Some Poi personal inventory files were in use and could not be copied. The skipped files are listed in manifest.json.": "一部の Poi 個人インベントリファイルは使用中のためコピーできませんでした。診断 ZIP は保存され、スキップしたファイルは manifest.json に記録されています。",
1518
+ "bootstrap.Plugin State is damaged. Automatic legacy fallback is disabled to protect newer plans.": "プラグイン状態が破損しています。移行後の新しい計画を保護するため、旧設定へ自動では戻しません。",
1519
+ "bootstrap.Restore migration-time configuration only if you accept losing changes made after migration.": "移行後の追加・変更が失われることを了承する場合にのみ、移行時点の設定から復元してください。",
1520
+ "bootstrap.Restore migration-time configuration": "移行時点の設定から復元",
1521
+ "app.changelog_1_2_4_assignment_waiting_fix": "多数のプランで一致する在庫を使い切った後に発生する装備割り当ての異常と、フリーズする可能性がある問題を修正しました。",
1522
+ "app.changelog_1_2_4_state_migration_recovery": "異常時に再生成可能なキャッシュを消去してプラグインを再起動できる復旧機能を追加し、設定の健全性チェックと診断データの書き出しにも対応しました。",
1523
+ "app.changelog_1_2_4_cache_diagnostics_stability": "正常なダウンロード済みデータとプレイヤー設定を保持したまま、キャッシュ消去と問題診断を改善しました。",
1524
+ "diagnostics.Clears derived caches, then reloads this plugin window. Plans, downloaded runtime data, inventory profiles, and settings are preserved.": "プラグインの状態異常から復旧するための機能です。再生成可能な実行キャッシュだけを消去して再起動し、プラン、ルート選択、装備割り当て、低優先装備などのユーザー設定は削除しません。",
1525
+ "bootstrap.Updating plugin data": "プラグインデータを更新中",
1526
+ "bootstrap.Plans and equipment assignments are being migrated and verified.": "計画と装備割り当てデータを移行・検証しています。",
1527
+ "bootstrap.Please do not close Poi, disable, or restart the plugin until this finishes.": "完了するまで Poi を閉じたり、プラグインを無効化・再起動したりしないでください。",
1528
+ "bootstrap.The plugin will continue automatically after the new data is reloaded successfully.": "新しいデータの再読込と検証が完了すると自動的に続行します。",
1529
+ "bootstrap.Data update is still running. Continue waiting is recommended.": "データ更新中です。完了まで待つことを推奨します。",
1530
+ "bootstrap.Close anyway": "それでも閉じる",
1531
+ "bootstrap.Continue waiting": "待機を続ける",
1532
+ "bootstrap.Confirm interrupting the data update?": "データ更新を中断しますか?",
1533
+ "bootstrap.Return and wait": "戻って待つ",
1534
+ "bootstrap.Confirm close Poi": "Poi を閉じる",
1535
+ "diagnostics.Recovery and diagnostics": "復旧と診断",
1536
+ "diagnostics.Clear runtime caches and restart plugin": "実行キャッシュを消去してプラグインを再起動",
1537
+ "diagnostics.Configuration health check": "設定の健全性チェック",
1538
+ "diagnostics.Check configuration": "設定を確認",
1539
+ "diagnostics.Checks Plans, routes, equipment bindings, and migration state without changing user data.": "プラン、ルート、装備割り当て、移行状態の整合性を確認します。ユーザーデータは変更しません。",
1540
+ "diagnostics.Diagnostic data scope": "診断データの範囲",
1541
+ "diagnostics.Plugin diagnostic data": "プラグインデータ",
1542
+ "diagnostics.Poi personal inventory data": "Poi 個人インベントリデータ",
1543
+ "diagnostics.Exports plugin data used for troubleshooting and the personal inventory data stored by Poi.": "問題調査に必要なプラグインデータと、Poi が保存している個人インベントリデータを書き出します。"
1513
1544
  }
package/i18n/zh-CN.json CHANGED
@@ -1467,15 +1467,20 @@
1467
1467
  "app.Data package updated, refreshing decision chain...": "数据包已更新,正在刷新决策链路…",
1468
1468
  "app.changelog_1_2_3_runtime_data_auto_update_fix": "修复数据包无法按预期自动更新的问题。",
1469
1469
  "app.Diagnostics": "诊断",
1470
+ "diagnostics.Check stable state": "检查配置",
1471
+ "diagnostics.Stable state validation": "配置健康检查",
1472
+ "diagnostics.Stable state is consistent": "当前稳定态一致。",
1473
+ "diagnostics.Stable state has %s issue(s)": "当前稳定态发现 %s 个问题。",
1474
+ "diagnostics.Stable state validation could not run": "无法执行稳定态检测。",
1475
+ "diagnostics.Checks Plan, Route, concrete api_id ownership, Snapshot projection, and migration recovery invariants without changing state.": "检查计划、路线、装备绑定和迁移状态是否一致,不修改任何用户数据。",
1470
1476
  "diagnostics.All known plugin-owned Poi config keys, including compatibility keys": "本插件全部已知 Poi 配置项(含兼容键)",
1471
1477
  "diagnostics.Caches cleared. Restarting plugin...": "缓存已清理,正在重启插件…",
1472
1478
  "diagnostics.Caches could not be cleared": "无法清理缓存。",
1473
1479
  "diagnostics.Cancel": "取消",
1474
1480
  "diagnostics.Choose save location": "选择保存位置",
1475
- "diagnostics.Clear all caches and restart plugin": "清理全部缓存并重启插件",
1481
+ "diagnostics.Clear all caches and restart plugin": "清理运行缓存并重启插件",
1476
1482
  "diagnostics.Clear caches and restart": "清理缓存并重启",
1477
1483
  "diagnostics.Clearing caches...": "正在清理缓存…",
1478
- "diagnostics.Clears derived and downloaded caches, then reloads this plugin window. Plans, inventory profiles, and settings are preserved.": "清理派生缓存和下载缓存,然后重新载入当前插件窗口。计划、库存资料和设置不会被删除。",
1479
1484
  "diagnostics.Close": "关闭",
1480
1485
  "diagnostics.Confirm clear and restart": "确认清理并重启",
1481
1486
  "diagnostics.Current effective equipment inventory used by the plugin": "插件当前实际使用的装备库存",
@@ -1488,13 +1493,13 @@
1488
1493
  "diagnostics.Diagnostic bundle saved as %s": "诊断包已保存为 %s",
1489
1494
  "diagnostics.Export diagnostic bundle": "导出诊断包",
1490
1495
  "diagnostics.Exports the inventory and all plugin configuration needed to reproduce a problem.": "导出用于复现问题的库存数据和全部插件配置。",
1491
- "diagnostics.Files included": "将打包以下文件",
1496
+ "diagnostics.Files included": "诊断数据范围",
1492
1497
  "diagnostics.Improvement-cost cache metadata": "改修成本缓存信息",
1493
1498
  "diagnostics.Persisted personal profile when present": "已保存的个人资料(存在时)",
1494
1499
  "diagnostics.Plugin-owned renderer localStorage values such as modal bounds": "本插件的本地界面配置,例如弹窗尺寸",
1495
1500
  "diagnostics.Plugin/runtime/data-package identity used for reproduction": "用于复现的插件、运行环境和数据包身份",
1496
1501
  "diagnostics.Previous persisted improvement-cost cache": "上一份持久化改修成本缓存",
1497
- "diagnostics.Problem diagnostics": "问题诊断",
1502
+ "diagnostics.Problem diagnostics": "恢复与诊断",
1498
1503
  "diagnostics.Runtime data package status and cache metadata": "运行时数据包状态与缓存信息",
1499
1504
  "diagnostics.Small Poi host config subset consumed by this plugin": "本插件读取的少量 Poi 宿主配置",
1500
1505
  "diagnostics.The bundle contains inventory and plugin settings. Review it before sharing.": "诊断包包含库存数据和插件设置,分享前请确认内容。",
@@ -1506,8 +1511,34 @@
1506
1511
  "app.changelog_1_2_3_equipment_planning_ui": "优化“今天改什么”和装备库的计划与持有装备信息显示,改进改修路线筛选,并记住搜索与排序。",
1507
1512
  "app.changelog_1_2_3_problem_diagnostics": "新增问题诊断,可先清理缓存并重载插件;问题仍存在时可导出诊断数据。",
1508
1513
  "app.changelog_1_2_3_host_compatibility_and_stability": "提升 Poi 12 / React 18 兼容性并修复若干潜在问题。",
1509
- "diagnostics.Exports plugin diagnostic data and the personal inventory data stored by Poi under Local Storage/leveldb.": "打包插件诊断数据,以及 Poi 的 Local Storage/leveldb 中用于恢复个人库存现场的数据。",
1510
- "diagnostics.Plugin diagnostic data file": "插件诊断数据",
1514
+ "diagnostics.Exports plugin diagnostic data and the personal inventory data stored by Poi under Local Storage/leveldb.": "导出用于排查问题的插件数据,以及 Poi 保存的个人库存数据。",
1515
+ "diagnostics.Plugin diagnostic data file": "插件数据",
1511
1516
  "diagnostics.Poi personal inventory data file": "Poi 个人库存数据",
1512
- "diagnostics.Some Poi personal inventory files were in use and could not be copied. The skipped files are listed in manifest.json.": "部分 Poi 个人库存文件正在被占用,未能复制;诊断包已保存,跳过的文件记录在 manifest.json 中。"
1517
+ "diagnostics.Some Poi personal inventory files were in use and could not be copied. The skipped files are listed in manifest.json.": "部分 Poi 个人库存文件正在被占用,未能复制;诊断包已保存,跳过的文件记录在 manifest.json 中。",
1518
+ "bootstrap.Plugin State is damaged. Automatic legacy fallback is disabled to protect newer plans.": "插件状态已损坏。为保护迁移后的新计划,不会自动回退旧配置。",
1519
+ "bootstrap.Restore migration-time configuration only if you accept losing changes made after migration.": "只有在接受丢失迁移后新增或修改内容时,才从迁移时配置恢复。",
1520
+ "bootstrap.Restore migration-time configuration": "从迁移时配置恢复",
1521
+ "app.changelog_1_2_4_assignment_waiting_fix": "修复大量计划下匹配库存用完后的装备分配异常,以及可能卡死的问题。",
1522
+ "app.changelog_1_2_4_state_migration_recovery": "增加异常恢复功能,可在异常时清理可重建缓存并重启插件;同时增加配置健康检查与诊断数据导出。",
1523
+ "app.changelog_1_2_4_cache_diagnostics_stability": "改进缓存清理和问题诊断,同时保留健康的已下载数据与玩家配置。",
1524
+ "diagnostics.Clears derived caches, then reloads this plugin window. Plans, downloaded runtime data, inventory profiles, and settings are preserved.": "用于插件状态异常时恢复。只清理可重新生成的运行缓存并重启插件,不会删除计划、路线选择、装备绑定、低优先装备等用户配置。",
1525
+ "bootstrap.Updating plugin data": "正在更新插件数据",
1526
+ "bootstrap.Plans and equipment assignments are being migrated and verified.": "正在迁移并校验计划与装备分配数据。",
1527
+ "bootstrap.Please do not close Poi, disable, or restart the plugin until this finishes.": "请暂时不要关闭 Poi、禁用或重启插件。",
1528
+ "bootstrap.The plugin will continue automatically after the new data is reloaded successfully.": "新数据重新载入并校验成功后将自动继续。",
1529
+ "bootstrap.Data update is still running. Continue waiting is recommended.": "数据更新仍在进行,建议继续等待。",
1530
+ "bootstrap.Close anyway": "仍然关闭",
1531
+ "bootstrap.Continue waiting": "继续等待",
1532
+ "bootstrap.Confirm interrupting the data update?": "确定要中断数据更新吗?",
1533
+ "bootstrap.Return and wait": "返回等待",
1534
+ "bootstrap.Confirm close Poi": "确认关闭 Poi",
1535
+ "diagnostics.Recovery and diagnostics": "恢复与诊断",
1536
+ "diagnostics.Clear runtime caches and restart plugin": "清理运行缓存并重启插件",
1537
+ "diagnostics.Configuration health check": "配置健康检查",
1538
+ "diagnostics.Check configuration": "检查配置",
1539
+ "diagnostics.Checks Plans, routes, equipment bindings, and migration state without changing user data.": "检查计划、路线、装备绑定和迁移状态是否一致,不修改任何用户数据。",
1540
+ "diagnostics.Diagnostic data scope": "诊断数据范围",
1541
+ "diagnostics.Plugin diagnostic data": "插件数据",
1542
+ "diagnostics.Poi personal inventory data": "Poi 个人库存数据",
1543
+ "diagnostics.Exports plugin data used for troubleshooting and the personal inventory data stored by Poi.": "导出用于排查问题的插件数据,以及 Poi 保存的个人库存数据。"
1513
1544
  }
package/i18n/zh-TW.json CHANGED
@@ -1467,15 +1467,20 @@
1467
1467
  "app.Data package updated, refreshing decision chain...": "資料包已更新,正在重新整理決策鏈路…",
1468
1468
  "app.changelog_1_2_3_runtime_data_auto_update_fix": "修復資料包無法按預期自動更新的問題。",
1469
1469
  "app.Diagnostics": "診斷",
1470
+ "diagnostics.Check stable state": "檢查設定",
1471
+ "diagnostics.Stable state validation": "設定健康檢查",
1472
+ "diagnostics.Stable state is consistent": "目前穩定態一致。",
1473
+ "diagnostics.Stable state has %s issue(s)": "目前穩定態發現 %s 個問題。",
1474
+ "diagnostics.Stable state validation could not run": "無法執行穩定態檢測。",
1475
+ "diagnostics.Checks Plan, Route, concrete api_id ownership, Snapshot projection, and migration recovery invariants without changing state.": "檢查計畫、路線、裝備綁定與移轉狀態是否一致,不修改任何使用者資料。",
1470
1476
  "diagnostics.All known plugin-owned Poi config keys, including compatibility keys": "此外掛全部已知 Poi 設定項(含相容鍵)",
1471
1477
  "diagnostics.Caches cleared. Restarting plugin...": "快取已清理,正在重啟外掛…",
1472
1478
  "diagnostics.Caches could not be cleared": "無法清理快取。",
1473
1479
  "diagnostics.Cancel": "取消",
1474
1480
  "diagnostics.Choose save location": "選擇儲存位置",
1475
- "diagnostics.Clear all caches and restart plugin": "清理全部快取並重啟外掛",
1481
+ "diagnostics.Clear all caches and restart plugin": "清理執行快取並重啟外掛",
1476
1482
  "diagnostics.Clear caches and restart": "清理快取並重啟",
1477
1483
  "diagnostics.Clearing caches...": "正在清理快取…",
1478
- "diagnostics.Clears derived and downloaded caches, then reloads this plugin window. Plans, inventory profiles, and settings are preserved.": "清理派生快取與下載快取,然後重新載入目前外掛視窗。計畫、庫存資料與設定不會被刪除。",
1479
1484
  "diagnostics.Close": "關閉",
1480
1485
  "diagnostics.Confirm clear and restart": "確認清理並重啟",
1481
1486
  "diagnostics.Current effective equipment inventory used by the plugin": "外掛目前實際使用的裝備庫存",
@@ -1488,13 +1493,13 @@
1488
1493
  "diagnostics.Diagnostic bundle saved as %s": "診斷包已儲存為 %s",
1489
1494
  "diagnostics.Export diagnostic bundle": "匯出診斷包",
1490
1495
  "diagnostics.Exports the inventory and all plugin configuration needed to reproduce a problem.": "匯出用於重現問題的庫存資料與全部外掛設定。",
1491
- "diagnostics.Files included": "將打包以下檔案",
1496
+ "diagnostics.Files included": "診斷資料範圍",
1492
1497
  "diagnostics.Improvement-cost cache metadata": "改修成本快取資訊",
1493
1498
  "diagnostics.Persisted personal profile when present": "已儲存的個人資料(存在時)",
1494
1499
  "diagnostics.Plugin-owned renderer localStorage values such as modal bounds": "此外掛的本機介面設定,例如視窗尺寸",
1495
1500
  "diagnostics.Plugin/runtime/data-package identity used for reproduction": "用於重現的外掛、執行環境與資料包身分",
1496
1501
  "diagnostics.Previous persisted improvement-cost cache": "上一份持久化改修成本快取",
1497
- "diagnostics.Problem diagnostics": "問題診斷",
1502
+ "diagnostics.Problem diagnostics": "復原與診斷",
1498
1503
  "diagnostics.Runtime data package status and cache metadata": "執行時資料包狀態與快取資訊",
1499
1504
  "diagnostics.Small Poi host config subset consumed by this plugin": "此外掛讀取的少量 Poi 主程式設定",
1500
1505
  "diagnostics.The bundle contains inventory and plugin settings. Review it before sharing.": "診斷包包含庫存資料與外掛設定,分享前請確認內容。",
@@ -1506,8 +1511,34 @@
1506
1511
  "app.changelog_1_2_3_equipment_planning_ui": "最佳化「今天改什麼」與裝備庫的計畫及持有裝備資訊顯示,改進改修路線篩選,並記住搜尋與排序。",
1507
1512
  "app.changelog_1_2_3_problem_diagnostics": "新增問題診斷,可先清理快取並重新載入外掛;問題仍存在時可匯出診斷資料。",
1508
1513
  "app.changelog_1_2_3_host_compatibility_and_stability": "提升 Poi 12 / React 18 相容性並修復若干潛在問題。",
1509
- "diagnostics.Exports plugin diagnostic data and the personal inventory data stored by Poi under Local Storage/leveldb.": "打包外掛診斷資料,以及 Poi 的 Local Storage/leveldb 中用於還原個人庫存現場的資料。",
1510
- "diagnostics.Plugin diagnostic data file": "外掛診斷資料",
1514
+ "diagnostics.Exports plugin diagnostic data and the personal inventory data stored by Poi under Local Storage/leveldb.": "匯出用於排查問題的外掛資料,以及 Poi 儲存的個人庫存資料。",
1515
+ "diagnostics.Plugin diagnostic data file": "外掛資料",
1511
1516
  "diagnostics.Poi personal inventory data file": "Poi 個人庫存資料",
1512
- "diagnostics.Some Poi personal inventory files were in use and could not be copied. The skipped files are listed in manifest.json.": "部分 Poi 個人庫存檔案正在被佔用,未能複製;診斷包已儲存,略過的檔案記錄在 manifest.json 中。"
1517
+ "diagnostics.Some Poi personal inventory files were in use and could not be copied. The skipped files are listed in manifest.json.": "部分 Poi 個人庫存檔案正在被佔用,未能複製;診斷包已儲存,略過的檔案記錄在 manifest.json 中。",
1518
+ "bootstrap.Plugin State is damaged. Automatic legacy fallback is disabled to protect newer plans.": "外掛狀態已損壞。為保護遷移後的新計畫,不會自動回退舊設定。",
1519
+ "bootstrap.Restore migration-time configuration only if you accept losing changes made after migration.": "只有在接受遺失遷移後新增或修改內容時,才從遷移時設定恢復。",
1520
+ "bootstrap.Restore migration-time configuration": "從遷移時設定恢復",
1521
+ "app.changelog_1_2_4_assignment_waiting_fix": "修復大量計畫下匹配庫存用完後的裝備分配異常,以及可能卡死的問題。",
1522
+ "app.changelog_1_2_4_state_migration_recovery": "增加異常復原功能,可在異常時清理可重建快取並重啟外掛;同時增加設定健康檢查與診斷資料匯出。",
1523
+ "app.changelog_1_2_4_cache_diagnostics_stability": "改進快取清理和問題診斷,同時保留健康的已下載資料與玩家設定。",
1524
+ "diagnostics.Clears derived caches, then reloads this plugin window. Plans, downloaded runtime data, inventory profiles, and settings are preserved.": "用於外掛狀態異常時復原。只清理可重新產生的執行快取並重啟外掛,不會刪除計畫、路線選擇、裝備綁定、低優先裝備等使用者設定。",
1525
+ "bootstrap.Updating plugin data": "正在更新插件資料",
1526
+ "bootstrap.Plans and equipment assignments are being migrated and verified.": "正在遷移並校驗計畫與裝備分配資料。",
1527
+ "bootstrap.Please do not close Poi, disable, or restart the plugin until this finishes.": "請暫時不要關閉 Poi、停用或重新啟動插件。",
1528
+ "bootstrap.The plugin will continue automatically after the new data is reloaded successfully.": "新資料重新載入並校驗成功後將自動繼續。",
1529
+ "bootstrap.Data update is still running. Continue waiting is recommended.": "資料更新仍在進行,建議繼續等待。",
1530
+ "bootstrap.Close anyway": "仍然關閉",
1531
+ "bootstrap.Continue waiting": "繼續等待",
1532
+ "bootstrap.Confirm interrupting the data update?": "確定要中斷資料更新嗎?",
1533
+ "bootstrap.Return and wait": "返回等待",
1534
+ "bootstrap.Confirm close Poi": "確認關閉 Poi",
1535
+ "diagnostics.Recovery and diagnostics": "復原與診斷",
1536
+ "diagnostics.Clear runtime caches and restart plugin": "清理執行快取並重啟外掛",
1537
+ "diagnostics.Configuration health check": "設定健康檢查",
1538
+ "diagnostics.Check configuration": "檢查設定",
1539
+ "diagnostics.Checks Plans, routes, equipment bindings, and migration state without changing user data.": "檢查計畫、路線、裝備綁定與移轉狀態是否一致,不修改任何使用者資料。",
1540
+ "diagnostics.Diagnostic data scope": "診斷資料範圍",
1541
+ "diagnostics.Plugin diagnostic data": "外掛資料",
1542
+ "diagnostics.Poi personal inventory data": "Poi 個人庫存資料",
1543
+ "diagnostics.Exports plugin data used for troubleshooting and the personal inventory data stored by Poi.": "匯出用於排查問題的外掛資料,以及 Poi 儲存的個人庫存資料。"
1513
1544
  }
package/index.js CHANGED
@@ -5,8 +5,6 @@ exports.pluginWillUnload = exports.pluginDidLoad = exports.windowOptions = expor
5
5
 
6
6
  var _pluginBootstrapArea = require("./views/app/plugin-bootstrap-area");
7
7
 
8
- var _runtimeDataPackage = require("./views/shared/runtime-data-package");
9
-
10
8
  var _windowBounds = require("./views/shared/window-bounds");
11
9
 
12
10
  function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
@@ -42,9 +40,7 @@ const windowOptions = {
42
40
  };
43
41
  exports.windowOptions = windowOptions;
44
42
 
45
- const pluginDidLoad = () => {
46
- (0, _runtimeDataPackage.ensureRuntimeDataPackageUpdated)().catch(() => null);
47
- };
43
+ const pluginDidLoad = () => {};
48
44
 
49
45
  exports.pluginDidLoad = pluginDidLoad;
50
46
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "poi-plugin-remodel-assistant",
3
- "version": "1.2.3",
3
+ "version": "1.2.4-beta.1",
4
4
  "description": "View enhanced KanColle improvement data, manage improvement plans, and receive improvement recommendations.",
5
5
  "main": "index.js",
6
6
  "author": {
@@ -27,7 +27,7 @@
27
27
  "icon": "fa/wrench",
28
28
  "id": "poi-plugin-remodel-assistant",
29
29
  "priority": 50,
30
- "releaseChannel": "stable",
30
+ "releaseChannel": "beta",
31
31
  "title": "改修助手",
32
32
  "runtimeFlags": {
33
33
  "forceFullDecisionRebuild": false
@@ -17,8 +17,6 @@ var _changelog = require("./changelog");
17
17
 
18
18
  var _newInterfaceArea = require("../new-interface/app/new-interface-area");
19
19
 
20
- var _planStorage = require("../shared/plan-storage");
21
-
22
20
  var _improvementCostCache = require("../shared/improvement-cost-cache");
23
21
 
24
22
  var _windowBounds = require("../shared/window-bounds");
@@ -29,16 +27,14 @@ var _poiI18n = require("../shared/poi-i18n");
29
27
 
30
28
  var _jstClock = require("../shared/jst-clock");
31
29
 
30
+ var _pluginStateStorage = require("../shared/plugin-state-storage");
31
+
32
32
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
33
33
 
34
34
  function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj.default = obj; return newObj; } }
35
35
 
36
36
  function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
37
37
 
38
- const {
39
- config
40
- } = window;
41
-
42
38
  class ItemInfoAreaComponent extends _react.Component {
43
39
  constructor(...args) {
44
40
  var _temp;
@@ -117,7 +113,7 @@ class ItemInfoAreaComponent extends _react.Component {
117
113
  if (!this.rootElement || this.detachWindowBoundsObserver) return;
118
114
  this.detachWindowBoundsObserver = (0, _windowBounds.observeWindowBounds)({
119
115
  element: this.rootElement,
120
- config,
116
+ config: _pluginStateStorage.pluginConfig,
121
117
  windowId: _windowBounds.MAIN_WINDOW_ID,
122
118
  defaults: _windowBounds.MAIN_WINDOW_DEFAULTS
123
119
  });
@@ -126,7 +122,7 @@ class ItemInfoAreaComponent extends _react.Component {
126
122
  configurable: true,
127
123
  enumerable: true,
128
124
  writable: true,
129
- value: () => config.get(_changelog.HELP_GUIDE_CONFIG_KEY, null) !== _changelog.HELP_GUIDE_VERSION
125
+ value: () => _pluginStateStorage.pluginConfig.get(_changelog.HELP_GUIDE_CONFIG_KEY, null) !== _changelog.HELP_GUIDE_VERSION
130
126
  }), Object.defineProperty(this, "handleCloseHelp", {
131
127
  configurable: true,
132
128
  enumerable: true,
@@ -136,10 +132,10 @@ class ItemInfoAreaComponent extends _react.Component {
136
132
  showHelpGuide,
137
133
  helpReleaseNotesViewed
138
134
  } = this.state;
139
- if (helpReleaseNotesViewed) config.set(_changelog.CHANGELOG_CONFIG_KEY, _changelog.CURRENT_VERSION);
135
+ if (helpReleaseNotesViewed) _pluginStateStorage.pluginConfig.set(_changelog.CHANGELOG_CONFIG_KEY, _changelog.CURRENT_VERSION);
140
136
 
141
137
  if (showHelpGuide) {
142
- config.set(_changelog.HELP_GUIDE_CONFIG_KEY, _changelog.HELP_GUIDE_VERSION);
138
+ _pluginStateStorage.pluginConfig.set(_changelog.HELP_GUIDE_CONFIG_KEY, _changelog.HELP_GUIDE_VERSION);
143
139
  }
144
140
 
145
141
  this.setState({
@@ -196,9 +192,10 @@ class ItemInfoAreaComponent extends _react.Component {
196
192
  this.mounted = true;
197
193
  this.attachWindowBoundsObserver();
198
194
  this.scheduleJSTDayRollover();
199
- (0, _planStorage.migratePlanStorage)();
200
195
  this.refreshImprovementCostCache(data);
201
- const lastSeenVersion = config.get(_changelog.CHANGELOG_CONFIG_KEY, null);
196
+
197
+ const lastSeenVersion = _pluginStateStorage.pluginConfig.get(_changelog.CHANGELOG_CONFIG_KEY, null);
198
+
202
199
  const helpEntries = (0, _changelog.getChangelogEntriesSince)(lastSeenVersion);
203
200
  const showHelpGuide = this.isHelpGuideUnseen();
204
201
 
@@ -241,13 +238,14 @@ class ItemInfoAreaComponent extends _react.Component {
241
238
  jstDay
242
239
  } = this.state;
243
240
  const helpGuideLocale = (0, _poiI18n.getPoiLocale)({
244
- config
241
+ config: _pluginStateStorage.pluginConfig
245
242
  });
246
243
  const {
247
244
  data,
248
245
  plans,
249
246
  equipLevels,
250
247
  equipInventory,
248
+ equipmentRealityReady,
251
249
  runtimeDataRevision,
252
250
  ownedShipMasterIds,
253
251
  resourceBudget,
@@ -271,6 +269,7 @@ class ItemInfoAreaComponent extends _react.Component {
271
269
  initialDay: jstDay,
272
270
  equipLevels: equipLevels,
273
271
  equipInventory: equipInventory,
272
+ equipmentRealityReady: equipmentRealityReady,
274
273
  ownedShipMasterIds: ownedShipMasterIds,
275
274
  resourceBudget: resourceBudget,
276
275
  masterEquips: masterData.equips,
@@ -305,6 +304,7 @@ Object.defineProperty(ItemInfoAreaComponent, "propTypes", {
305
304
  data: _propTypes.default.arrayOf(_propTypes.default.object).isRequired,
306
305
  equipLevels: _propTypes.default.object.isRequired,
307
306
  equipInventory: _propTypes.default.object.isRequired,
307
+ equipmentRealityReady: _propTypes.default.bool.isRequired,
308
308
  ownedShipMasterIds: _propTypes.default.arrayOf(_propTypes.default.number).isRequired,
309
309
  resourceBudget: _propTypes.default.object.isRequired,
310
310
  masterData: _propTypes.default.shape({