poi-plugin-remodel-assistant 1.2.5-beta.1 → 1.2.5

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.
package/README.md CHANGED
@@ -1,34 +1,42 @@
1
1
  # 改修助手
2
2
 
3
- Poi 用舰队 Collection 装备改修规划插件。结合当前库存与随包数据,把长期改修目标拆成“今天改什么”、具体起点、完整升级路线、秘书舰条件和材料消耗。
3
+ Poi plugin for planning Kantai Collection equipment improvements.
4
4
 
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`.
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.
6
6
 
7
7
  ## Features
8
8
 
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.
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.
16
16
 
17
17
  ## Quick Start
18
18
 
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.
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.
22
23
 
23
- The in-plugin **Help** entry contains this workflow, detailed category/low-priority guides, data-source information, and user-facing release notes.
24
+ The in-plugin **Help** entry contains illustrated guides.
24
25
 
25
- ## Installation
26
+ ## Data Sources
26
27
 
27
- Install `poi-plugin-remodel-assistant` from the Poi plugin manager.
28
+ Improvement information is based on:
29
+
30
+ - Akashi-List
31
+ - wikiwiki.jp
32
+ - KcWiki-Api
33
+ - KC3
28
34
 
29
- ## Data
35
+ The plugin uses the latest available data and shows the active data version and update time in **Help**.
30
36
 
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.
37
+ ## Installation
38
+
39
+ Install `poi-plugin-remodel-assistant` from the Poi plugin manager.
32
40
 
33
41
  ## License
34
42
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "poi-plugin-remodel-assistant",
3
- "version": "1.2.5-beta.1",
3
+ "version": "1.2.5",
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": "beta",
30
+ "releaseChannel": "stable",
31
31
  "title": "改修助手",
32
32
  "runtimeFlags": {
33
33
  "forceFullDecisionRebuild": false,
@@ -5,8 +5,6 @@ exports.executeDecisionSnapshotJob = exports.resetDecisionSnapshotJobState = exp
5
5
 
6
6
  var _pluginMeta = require("../../shared/plugin-meta");
7
7
 
8
- var _kcraTrace__ = require("../../shared/__kcra-trace__");
9
-
10
8
  var _planDecisionIndex = require("../incremental/plan-decision-index");
11
9
 
12
10
  var _decisionSnapshotDomain = require("../decisions/domain/decision-snapshot-domain");
@@ -76,20 +74,7 @@ const publishDecisionSnapshot = ({
76
74
  assignmentFindings: effective.assignmentFindings || [],
77
75
  assignmentDiagnostics: [...(userAllocation && userAllocation.assignmentDiagnostics || []), ...(effective.assignmentDiagnostics || [])]
78
76
  };
79
- const alignmentFindings = logPublishedDecisionSnapshotAlignment(snapshot, effective.currentInventoryBindings || {});
80
- (0, _kcraTrace__.__KCRA_TRACE__)('snapshot.publish.summary', {
81
- itemCount: snapshot.items.length,
82
- workbenchCount: snapshot.workbenchItems.length,
83
- retainedBindingCount: snapshot.retainedBindingCurrentIds.length,
84
- bindingCount: Object.keys(snapshot.assignmentPersistenceBindings || {}).length,
85
- bindingTransitions: snapshot.assignmentBindingTransitions,
86
- assignmentFindings: snapshot.assignmentFindings,
87
- assignmentDiagnosticCount: snapshot.assignmentDiagnostics.length,
88
- alignmentFindings
89
- });
90
- (0, _kcraTrace__.__KCRA_TRACE__)('snapshot.publish.full', snapshot, {
91
- full: true
92
- });
77
+ logPublishedDecisionSnapshotAlignment(snapshot, effective.currentInventoryBindings || {});
93
78
  return snapshot;
94
79
  };
95
80
 
@@ -17,8 +17,6 @@ var _core = require("@blueprintjs/core");
17
17
 
18
18
  var _pluginMeta = require("../../shared/plugin-meta");
19
19
 
20
- var _kcraTrace__ = require("../../shared/__kcra-trace__");
21
-
22
20
  var _startupPerformance = require("../../shared/startup-performance");
23
21
 
24
22
  var _dataPackageDomain = require("../../shared/domain/data-package-domain");
@@ -743,9 +741,6 @@ var _initialiseProps = function () {
743
741
  snapshot
744
742
  });
745
743
  this.latestStableStateValidation = stableValidation;
746
- (0, _kcraTrace__.__KCRA_TRACE__)('validator.stable-state', stableValidation, {
747
- full: true
748
- });
749
744
  return {
750
745
  ok: true,
751
746
  stableValidation
@@ -782,15 +777,6 @@ var _initialiseProps = function () {
782
777
  planGroupCount: Object.keys(snapshotInputs.plans || {}).length,
783
778
  bindingCount: Object.keys(snapshotInputs.currentInventoryBindings || {}).length
784
779
  });
785
- (0, _kcraTrace__.__KCRA_TRACE__)('snapshot.request.inputs', {
786
- plans: snapshotInputs.plans,
787
- planRouteSelections: snapshotInputs.planRouteSelections,
788
- currentInventoryBindings: snapshotInputs.currentInventoryBindings,
789
- equipmentRealityReady: snapshotInputs.equipmentRealityReady,
790
- actualEquipInventory: snapshotInputs.actualEquipInventory
791
- }, {
792
- full: true
793
- });
794
780
  const recoveryStartedAt = (0, _startupPerformance.startupPerformanceNow)();
795
781
  const recovery = (0, _pluginStateCommands.runPendingLegacyAssignmentRecovery)({
796
782
  equipInventory: snapshotInputs.actualEquipInventory
@@ -1030,9 +1016,6 @@ var _initialiseProps = function () {
1030
1016
  snapshot: this.currentDecisionSnapshot
1031
1017
  });
1032
1018
  this.latestStableStateValidation = result;
1033
- (0, _kcraTrace__.__KCRA_TRACE__)('validator.manual-stable-state', result, {
1034
- full: true
1035
- });
1036
1019
  return result;
1037
1020
  }
1038
1021
  });
@@ -3,8 +3,6 @@
3
3
  exports.__esModule = true;
4
4
  exports.commitDecisionSnapshotRuntimeState = exports.commitCurrentPlanRuntimeState = exports.finalizeLegacyAssignmentRecoveryFromSnapshot = exports.runPendingLegacyAssignmentRecovery = void 0;
5
5
 
6
- var _kcraTrace__ = require("./__kcra-trace__");
7
-
8
6
  var _pluginStateStorage = require("./plugin-state-storage");
9
7
 
10
8
  var _currentStartSelectionDomain = require("../new-interface/plan/domain/current-start-selection-domain");
@@ -33,15 +31,6 @@ const runPendingLegacyAssignmentRecovery = ({
33
31
  };
34
32
  }
35
33
 
36
- (0, _kcraTrace__.__KCRA_TRACE__)('recovery.pending.input', {
37
- stateRevision: Number(snapshot.revision) || 0,
38
- routeSelections: (0, _pluginStateSchema.getStateCurrentStartSelections)(snapshot),
39
- assignments: (0, _pluginStateSchema.getStatePlanEquipmentAssignments)(snapshot),
40
- recovery: snapshot.migration && snapshot.migration.assignmentRecovery,
41
- equipInventory
42
- }, {
43
- full: true
44
- });
45
34
  const result = (0, _legacyAssignmentRecovery.recoverLegacyAssignmentState)({
46
35
  plans: snapshot.user && snapshot.user.plans || {},
47
36
  currentRouteSelections: (0, _pluginStateSchema.getStateCurrentStartSelections)(snapshot),
@@ -53,13 +42,6 @@ const runPendingLegacyAssignmentRecovery = ({
53
42
  state: snapshot,
54
43
  audit: result.audit
55
44
  };
56
- (0, _kcraTrace__.__KCRA_TRACE__)('recovery.pending.candidate', {
57
- routeSelections: result.routeSelections,
58
- assignments: result.assignments,
59
- audit: result.audit
60
- }, {
61
- full: true
62
- });
63
45
  const state = (0, _pluginStateStorage.mutatePluginState)(draft => {
64
46
  (0, _pluginStateSchema.setStateCurrentStartSelections)(draft, result.routeSelections);
65
47
  (0, _pluginStateSchema.setStatePlanEquipmentAssignments)(draft, result.assignments);
@@ -68,14 +50,6 @@ const runPendingLegacyAssignmentRecovery = ({
68
50
  const cleanup = draft.migration.assignmentCleanup;
69
51
  if (cleanup) (0, _pluginStateSchema.setStatePendingRebindCurrentIds)(draft, []);
70
52
  });
71
- (0, _kcraTrace__.__KCRA_TRACE__)('recovery.pending.persisted', {
72
- stateRevision: Number(state.revision) || 0,
73
- routeSelections: (0, _pluginStateSchema.getStateCurrentStartSelections)(state),
74
- assignments: (0, _pluginStateSchema.getStatePlanEquipmentAssignments)(state),
75
- audit: state.migration && state.migration.assignmentRecovery
76
- }, {
77
- full: true
78
- });
79
53
  return {
80
54
  changed: true,
81
55
  state,
@@ -101,14 +75,6 @@ const finalizeLegacyAssignmentRecoveryFromSnapshot = ({
101
75
  };
102
76
  }
103
77
 
104
- (0, _kcraTrace__.__KCRA_TRACE__)('recovery.validation.input', {
105
- stateRevision: Number(state.revision) || 0,
106
- recovery,
107
- assignmentBindingTransitions: snapshot && snapshot.assignmentBindingTransitions || [],
108
- assignmentFindings: snapshot && snapshot.assignmentFindings || []
109
- }, {
110
- full: true
111
- });
112
78
  const protectedIds = new Set((recovery.protectedLegacyRouteCurrentIds || []).map(value => String(value || '').trim()).filter(Boolean));
113
79
  const invalidProtectedIds = Array.from(new Set((snapshot && snapshot.assignmentBindingTransitions || []).filter(transition => transition && transition.type === 'invalid-persisted-binding-released' && protectedIds.has(String(transition.currentId || '').trim())).map(transition => String(transition.currentId || '').trim()).filter(Boolean)));
114
80
 
@@ -130,14 +96,6 @@ const finalizeLegacyAssignmentRecoveryFromSnapshot = ({
130
96
  routeValidationFailedCurrentIds: invalidProtectedIds
131
97
  });
132
98
  });
133
- (0, _kcraTrace__.__KCRA_TRACE__)('recovery.validation.degraded-and-retry', {
134
- invalidProtectedIds,
135
- routeSelections: (0, _pluginStateSchema.getStateCurrentStartSelections)(committed),
136
- assignments: (0, _pluginStateSchema.getStatePlanEquipmentAssignments)(committed),
137
- audit: committed.migration && committed.migration.assignmentRecovery
138
- }, {
139
- full: true
140
- });
141
99
  return {
142
100
  changed: true,
143
101
  retry: true,
@@ -153,13 +111,6 @@ const finalizeLegacyAssignmentRecoveryFromSnapshot = ({
153
111
  routeValidationFailedCurrentIds: []
154
112
  });
155
113
  });
156
- (0, _kcraTrace__.__KCRA_TRACE__)('recovery.validation.completed', {
157
- routeSelections: (0, _pluginStateSchema.getStateCurrentStartSelections)(committed),
158
- assignments: (0, _pluginStateSchema.getStatePlanEquipmentAssignments)(committed),
159
- audit: committed.migration && committed.migration.assignmentRecovery
160
- }, {
161
- full: true
162
- });
163
114
  return {
164
115
  changed: true,
165
116
  retry: false,
@@ -243,38 +194,15 @@ const commitDecisionSnapshotRuntimeState = ({
243
194
  const pendingChanged = Array.isArray(pendingRebind) && pendingRebind.length > 0;
244
195
 
245
196
  if (sameValue(nextSelections, currentSelections) && sameValue(nextAssignments, currentAssignments) && !pendingChanged) {
246
- (0, _kcraTrace__.__KCRA_TRACE__)('state.binding-commit.noop', {
247
- stateRevision: Number(snapshot.revision) || 0,
248
- activeCurrentIds: Array.from(active),
249
- assignments: currentAssignments
250
- });
251
197
  return snapshot;
252
198
  }
253
199
 
254
- (0, _kcraTrace__.__KCRA_TRACE__)('state.binding-commit.before', {
255
- stateRevision: Number(snapshot.revision) || 0,
256
- activeCurrentIds: Array.from(active),
257
- currentAssignments,
258
- proposedAssignments: nextAssignments,
259
- currentSelections,
260
- nextSelections,
261
- pendingRebind
262
- }, {
263
- full: true
264
- });
265
200
  const committed = (0, _pluginStateStorage.mutatePluginState)(state => {
266
201
  (0, _pluginStateSchema.setStateCurrentStartSelections)(state, nextSelections);
267
202
  (0, _pluginStateSchema.setStatePlanEquipmentAssignments)(state, nextAssignments);
268
203
  const stateCleanup = state.migration && state.migration.assignmentCleanup;
269
204
  if (stateCleanup && pendingChanged) (0, _pluginStateSchema.setStatePendingRebindCurrentIds)(state, []);
270
205
  });
271
- (0, _kcraTrace__.__KCRA_TRACE__)('state.binding-commit.after', {
272
- stateRevision: Number(committed.revision) || 0,
273
- assignments: (0, _pluginStateSchema.getStatePlanEquipmentAssignments)(committed),
274
- routeSelections: (0, _pluginStateSchema.getStateCurrentStartSelections)(committed)
275
- }, {
276
- full: true
277
- });
278
206
  return committed;
279
207
  };
280
208