@sakura2333/kancolle-data 0.4.1 → 0.4.2

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/CHANGELOG.md CHANGED
@@ -12,11 +12,6 @@ All notable consumer-visible changes to `@sakura2333/kancolle-data` are document
12
12
  - Added the MAX conversion target name so consumers can render the upgrade result without a separate equipment-master lookup.
13
13
  - Added `schemas/improvement-detail.schema.json` for the schema 4 record contract.
14
14
 
15
- ### Fixed
16
-
17
- - Restored ship-acquisition relations for Start2 equipment IDs 142 and 305 when KcWiki uses English “Kai Ni” aliases instead of its canonical equipment names.
18
- - Added source-scoped, Start2-validated semantic aliases so accepted upstream naming variants cannot silently disappear from the package.
19
-
20
15
  ### Compatibility
21
16
 
22
17
  - Improvement list schema: 2 (unchanged).
@@ -28,19 +23,73 @@ All notable consumer-visible changes to `@sakura2333/kancolle-data` are document
28
23
  - Add quest, development, exchange, ranking, and event acquisition methods.
29
24
  - Add additional ship, map, and quest projections when stable schemas are available.
30
25
 
31
- ## [0.4.1] - 2026-07-06
26
+ ## [0.4.2] - 2026-07-06
32
27
 
33
- ### Added
28
+ ### Data
29
+
30
+ - Refreshed validated KanColle consumer datasets after a successful strict Spider run.
31
+ - Improvement records: 372.
32
+ - Equipment acquisition records: 247.
33
+ - Equipment special-bonus records: 348.
34
+ - Equipment-type special-bonus records: 7.
35
+ - Packaged use-item icons: 16.
36
+
37
+ ### Validation
38
+
39
+ - Passed source freshness, schema, reference-integrity, record-count, and file-size quality gates.
40
+
41
+ ## [0.3.3] - 2026-07-05
42
+
43
+ ### Data
44
+
45
+ - Refreshed validated KanColle consumer datasets after a successful strict Spider run.
46
+ - Improvement records: 372.
47
+ - Equipment acquisition records: 247.
48
+ - Equipment special-bonus records: 348.
49
+ - Equipment-type special-bonus records: 7.
50
+ - Packaged use-item icons: 16.
51
+
52
+ ### Validation
53
+
54
+ - Passed source freshness, schema, reference-integrity, record-count, and file-size quality gates.
55
+
56
+ ## [0.3.2] - 2026-07-04
57
+
58
+ ### Data
59
+
60
+ - Refreshed validated KanColle consumer datasets after a successful strict Spider run.
61
+ - Improvement records: 372.
62
+ - Equipment acquisition records: 247.
63
+ - Equipment special-bonus records: 348.
64
+ - Equipment-type special-bonus records: 7.
65
+ - Packaged use-item icons: 16.
66
+
67
+ ### Validation
68
+
69
+ - Passed source freshness, schema, reference-integrity, record-count, and file-size quality gates.
70
+
71
+ ## [0.3.1] - 2026-07-03
72
+
73
+ ### Data
74
+
75
+ - Refreshed validated KanColle consumer datasets after a successful strict Spider run.
76
+ - Improvement records: 372.
77
+ - Equipment acquisition records: 247.
78
+ - Equipment special-bonus records: 348.
79
+ - Equipment-type special-bonus records: 7.
80
+ - Packaged use-item icons: 16.
81
+
82
+ ### Validation
83
+
84
+ - Passed source freshness, schema, reference-integrity, record-count, and file-size quality gates.
34
85
 
35
- - Added `equipment/sources.nedb`, a unified per-equipment source projection for ship acquisition, improvement-update predecessors, and canonical quest keys.
36
- - Added `schemas/equipment-sources.schema.json` and CommonJS/TypeScript path exports for the new dataset.
37
- - Added strict Start2-backed same-name ship disambiguation, including the two Glorious forms used by `10.2cm三連装副砲` and `Sea Gladiator`.
86
+ ## [0.3.0] - 2026-07-02
38
87
 
39
88
  ### Data
40
89
 
41
90
  - Refreshed validated KanColle consumer datasets after a successful strict Spider run.
42
91
  - Improvement records: 372.
43
- - Equipment acquisition records: 249.
92
+ - Equipment acquisition records: 247.
44
93
  - Equipment special-bonus records: 348.
45
94
  - Equipment-type special-bonus records: 7.
46
95
  - Packaged use-item icons: 16.
package/README.md CHANGED
@@ -9,7 +9,6 @@ const data = require('@sakura2333/kancolle-data')
9
9
  console.log(data.improvement.listPath)
10
10
  console.log(data.schemas.improvementDetailPath)
11
11
  console.log(data.equipment.dropFromPath)
12
- console.log(data.equipment.sourcesPath)
13
12
  console.log(data.equipment.specialBonusesPath)
14
13
  console.log(data.assets.useitemPath(71))
15
14
  ```
@@ -19,9 +18,7 @@ Datasets:
19
18
  - `improvement/list.json`: compact all + weekday list projection.
20
19
  - `improvement/detail.nedb`: full routes plus ★0..★MAX effect expectations and 11 explicit per-route actions (including optional MAX conversion).
21
20
  - `schemas/improvement-detail.schema.json`: JSON Schema for each schema-4 NeDB record.
22
- - `equipment/drop-from.nedb`: detailed ship initial/remodel loadout evidence.
23
- - `equipment/sources.nedb`: one unified record per equipment with required `shipIds`, `upgradeFromItemIds`, and numeric `questKey` arrays.
24
- - `schemas/equipment-sources.schema.json`: JSON Schema for unified source records.
21
+ - `equipment/drop-from.nedb`: equipment obtainable from ship initial/remodel loadouts.
25
22
  - `equipment/special-bonuses.nedb`: bonus rules targeting either concrete equipment IDs or equipment-type IDs.
26
23
  - `assets/useitems/*.png`: use-item images required by improvement recipes.
27
24
 
package/RELEASES.json CHANGED
@@ -1,8 +1,8 @@
1
1
  [
2
2
  {
3
- "version": "0.4.1",
3
+ "version": "0.4.2",
4
4
  "date": "2026-07-06",
5
- "contentDigest": "d6ba25f54e1eaf0be27403168f088ff6413245b19046974d539c9a7e55fe57ff",
5
+ "contentDigest": "efa5ab376269348b747e3c6e2f4120a70b6daf8c5a8e03fd2c845e17d2a3641a",
6
6
  "metrics": {
7
7
  "improvement.listViewCount": 8,
8
8
  "improvement.listAllCount": 372,
@@ -12,12 +12,112 @@
12
12
  "improvement.routeCount": 412,
13
13
  "improvement.stepCount": 4532,
14
14
  "improvement.upgradeAvailableCount": 208,
15
- "equipmentDropFrom.recordCount": 249,
16
- "equipmentDropFrom.relationCount": 1647,
17
- "equipmentSources.recordCount": 571,
18
- "equipmentSources.shipRelationCount": 1586,
19
- "equipmentSources.upgradeRelationCount": 207,
20
- "equipmentSources.questRelationCount": 0,
15
+ "equipmentDropFrom.recordCount": 247,
16
+ "equipmentDropFrom.relationCount": 1645,
17
+ "equipmentSpecialBonuses.recordCount": 348,
18
+ "equipmentSpecialBonuses.equipmentRecordCount": 341,
19
+ "equipmentSpecialBonuses.equipmentTypeRecordCount": 7,
20
+ "equipmentSpecialBonuses.ruleCount": 2320,
21
+ "useitemIcons.requiredCount": 13,
22
+ "useitemIcons.missingCount": 0,
23
+ "useitemIcons.count": 16,
24
+ "useitemIcons.totalBytes": 711604,
25
+ "publicData.totalBytes": 4508015
26
+ }
27
+ },
28
+ {
29
+ "version": "0.3.3",
30
+ "date": "2026-07-05",
31
+ "contentDigest": "b318fc5ae3cd29cfd97d4cb8509505d7a993f765668cb01aae23b75ee47f3310",
32
+ "metrics": {
33
+ "improvement.listViewCount": 8,
34
+ "improvement.listAllCount": 372,
35
+ "improvement.detailRecordCount": 372,
36
+ "improvement.effectExpectationAvailableCount": 366,
37
+ "improvement.effectExpectationUnavailableCount": 6,
38
+ "improvement.routeCount": 412,
39
+ "improvement.stepCount": 4532,
40
+ "improvement.upgradeAvailableCount": 208,
41
+ "equipmentDropFrom.recordCount": 247,
42
+ "equipmentDropFrom.relationCount": 1645,
43
+ "equipmentSpecialBonuses.recordCount": 348,
44
+ "equipmentSpecialBonuses.equipmentRecordCount": 341,
45
+ "equipmentSpecialBonuses.equipmentTypeRecordCount": 7,
46
+ "equipmentSpecialBonuses.ruleCount": 2320,
47
+ "useitemIcons.requiredCount": 13,
48
+ "useitemIcons.missingCount": 0,
49
+ "useitemIcons.count": 16,
50
+ "useitemIcons.totalBytes": 711604,
51
+ "publicData.totalBytes": 4508015
52
+ }
53
+ },
54
+ {
55
+ "version": "0.3.2",
56
+ "date": "2026-07-04",
57
+ "contentDigest": "acfabf6e5f752997657d0f0d06602b842f2c06f5ce42d6daa6a6222947ce69a9",
58
+ "metrics": {
59
+ "improvement.listViewCount": 8,
60
+ "improvement.listAllCount": 372,
61
+ "improvement.detailRecordCount": 372,
62
+ "improvement.effectExpectationAvailableCount": 366,
63
+ "improvement.effectExpectationUnavailableCount": 6,
64
+ "improvement.routeCount": 412,
65
+ "improvement.stepCount": 4532,
66
+ "improvement.upgradeAvailableCount": 208,
67
+ "equipmentDropFrom.recordCount": 247,
68
+ "equipmentDropFrom.relationCount": 1645,
69
+ "equipmentSpecialBonuses.recordCount": 348,
70
+ "equipmentSpecialBonuses.equipmentRecordCount": 341,
71
+ "equipmentSpecialBonuses.equipmentTypeRecordCount": 7,
72
+ "equipmentSpecialBonuses.ruleCount": 2320,
73
+ "useitemIcons.requiredCount": 13,
74
+ "useitemIcons.missingCount": 0,
75
+ "useitemIcons.count": 16,
76
+ "useitemIcons.totalBytes": 711604,
77
+ "publicData.totalBytes": 4508015
78
+ }
79
+ },
80
+ {
81
+ "version": "0.3.1",
82
+ "date": "2026-07-03",
83
+ "contentDigest": "42c5c2b91607661f557f70ee74e41fb6bcaa390e9a11b803db239d2f32869703",
84
+ "metrics": {
85
+ "improvement.listViewCount": 8,
86
+ "improvement.listAllCount": 372,
87
+ "improvement.detailRecordCount": 372,
88
+ "improvement.effectExpectationAvailableCount": 366,
89
+ "improvement.effectExpectationUnavailableCount": 6,
90
+ "improvement.routeCount": 412,
91
+ "improvement.stepCount": 4532,
92
+ "improvement.upgradeAvailableCount": 208,
93
+ "equipmentDropFrom.recordCount": 247,
94
+ "equipmentDropFrom.relationCount": 1645,
95
+ "equipmentSpecialBonuses.recordCount": 348,
96
+ "equipmentSpecialBonuses.equipmentRecordCount": 341,
97
+ "equipmentSpecialBonuses.equipmentTypeRecordCount": 7,
98
+ "equipmentSpecialBonuses.ruleCount": 2320,
99
+ "useitemIcons.requiredCount": 13,
100
+ "useitemIcons.missingCount": 0,
101
+ "useitemIcons.count": 16,
102
+ "useitemIcons.totalBytes": 711604,
103
+ "publicData.totalBytes": 4508015
104
+ }
105
+ },
106
+ {
107
+ "version": "0.3.0",
108
+ "date": "2026-07-02",
109
+ "contentDigest": "ac2a5691ec97bef316f68f3027ac831f1bcfea65ee43e87a1356d43a1f19b604",
110
+ "metrics": {
111
+ "improvement.listViewCount": 8,
112
+ "improvement.listAllCount": 372,
113
+ "improvement.detailRecordCount": 372,
114
+ "improvement.effectExpectationAvailableCount": 366,
115
+ "improvement.effectExpectationUnavailableCount": 6,
116
+ "improvement.routeCount": 412,
117
+ "improvement.stepCount": 4532,
118
+ "improvement.upgradeAvailableCount": 208,
119
+ "equipmentDropFrom.recordCount": 247,
120
+ "equipmentDropFrom.relationCount": 1645,
21
121
  "equipmentSpecialBonuses.recordCount": 348,
22
122
  "equipmentSpecialBonuses.equipmentRecordCount": 341,
23
123
  "equipmentSpecialBonuses.equipmentTypeRecordCount": 7,
@@ -26,7 +126,7 @@
26
126
  "useitemIcons.missingCount": 0,
27
127
  "useitemIcons.count": 16,
28
128
  "useitemIcons.totalBytes": 711604,
29
- "publicData.totalBytes": 4592894
129
+ "publicData.totalBytes": 4508015
30
130
  }
31
131
  },
32
132
  {
@@ -1,24 +1,9 @@
1
1
  {
2
- "generatedAt": "2026-07-06T06:02:17+00:00",
2
+ "generatedAt": "2026-07-06T07:55:44+00:00",
3
3
  "strict": true,
4
4
  "improvementSourceStatus": "ok",
5
- "dropFromIssueCount": 0,
5
+ "dropFromIssueCount": 2,
6
6
  "specialBonusIssueCount": 0,
7
- "equipmentSourceRecordCount": 571,
8
- "equipmentSourceIncremental": {
9
- "addedIds": [],
10
- "changedIds": [],
11
- "removedIds": [],
12
- "unchangedCount": 571,
13
- "changed": false,
14
- "inputHashes": {
15
- "improvementDetail": "078e8dc2f15eb0e6fa96af3f7af5137b652c3b5b7d99d2f680493340e7f4317a",
16
- "wikiwikiAcquisition": "3943d5e83f98c4335b8efa69751e5e072e45098cfeb4f359490645eba8aca316",
17
- "kcwikiShip": "d8c1691e83e6f4a9e55e34f8139c9ad9bb21ff9b3b7066dd3d5d31e15bae7dd7",
18
- "kcwikiEquipment": "284d7e32f70e67dd599ae43e1758d43568fcad3fe062548c68808988a4a27c0b"
19
- },
20
- "projectionSha256": "8f4bbd0471392a2825b59a91eac0fd97559f3313ed3d1af59d13ecce5d74ede7"
21
- },
22
7
  "iconCount": 16,
23
8
  "requiredUseitemIconIds": [
24
9
  2,
@@ -114,7 +114,6 @@
114
114
  {"equipmentId": 137, "equipmentName": "381mm/50 三連装砲改", "sources": [{"shipId": 446, "shipName": "Italia", "method": "remodel", "quantity": 1, "slotIndices": [0], "slotSizes": [3], "sourceShipRef": "Italia", "remodelLevel": 35, "remodelFrom": "Littorio/", "shipAvailability": ["event_reward"]}, {"shipId": 447, "shipName": "Roma改", "method": "remodel", "quantity": 1, "slotIndices": [0], "slotSizes": [3], "sourceShipRef": "Roma Kai", "remodelLevel": 35, "remodelFrom": "Roma/", "shipAvailability": ["event_drop"]}]}
115
115
  {"equipmentId": 138, "equipmentName": "二式大艇", "sources": [{"shipId": 450, "shipName": "秋津洲改", "method": "remodel", "quantity": 1, "slotIndices": [0], "slotSizes": [1], "sourceShipRef": "Akitsushima Kai", "remodelLevel": 35, "remodelFrom": "Akitsushima/", "shipAvailability": ["drop", "event_reward"]}]}
116
116
  {"equipmentId": 139, "equipmentName": "15.2cm連装砲改", "sources": [{"shipId": 662, "shipName": "能代改二", "method": "remodel", "quantity": 1, "slotIndices": [0], "slotSizes": [1], "sourceShipRef": "Noshiro Kai Ni", "remodelLevel": 85, "remodelFrom": "Noshiro/Kai", "shipAvailability": ["drop", "event_reward"]}]}
117
- {"equipmentId": 142, "equipmentName": "15m二重測距儀+21号電探改二", "sources": [{"shipId": 546, "shipName": "武蔵改二", "method": "remodel", "quantity": 1, "slotIndices": [1], "slotSizes": [5], "sourceShipRef": "Musashi Kai Ni", "remodelLevel": 89, "remodelFrom": "Musashi/Kai", "shipAvailability": ["event_reward"]}]}
118
117
  {"equipmentId": 146, "equipmentName": "洋上補給", "sources": [{"shipId": 352, "shipName": "速吸改", "method": "remodel", "quantity": 1, "slotIndices": [1], "slotSizes": [3], "sourceShipRef": "Hayasui Kai", "remodelLevel": 25, "remodelFrom": "Hayasui/", "shipAvailability": ["drop", "event_reward"]}, {"shipId": 460, "shipName": "速吸", "method": "initial", "quantity": 1, "slotIndices": [1], "slotSizes": [1], "sourceShipRef": "Hayasui", "shipAvailability": ["drop", "event_reward"]}]}
119
118
  {"equipmentId": 147, "equipmentName": "120mm/50 連装砲", "sources": [{"shipId": 347, "shipName": "Libeccio改", "method": "remodel", "quantity": 2, "slotIndices": [0, 1], "slotSizes": [0, 0], "sourceShipRef": "Libeccio Kai", "remodelLevel": 30, "remodelFrom": "Libeccio/", "shipAvailability": ["drop", "event_drop"]}, {"shipId": 443, "shipName": "Libeccio", "method": "initial", "quantity": 1, "slotIndices": [0], "slotSizes": [0], "sourceShipRef": "Libeccio", "shipAvailability": ["drop", "event_drop"]}, {"shipId": 575, "shipName": "Maestrale", "method": "initial", "quantity": 1, "slotIndices": [0], "slotSizes": [0], "sourceShipRef": "Maestrale", "shipAvailability": ["event_reward"]}, {"shipId": 580, "shipName": "Maestrale改", "method": "remodel", "quantity": 2, "slotIndices": [0, 1], "slotSizes": [0, 0], "sourceShipRef": "Maestrale Kai", "remodelLevel": 35, "remodelFrom": "Maestrale/", "shipAvailability": ["event_reward"]}, {"shipId": 614, "shipName": "Grecale", "method": "initial", "quantity": 1, "slotIndices": [0], "slotSizes": [0], "sourceShipRef": "Grecale", "shipAvailability": ["event_drop"]}, {"shipId": 619, "shipName": "Grecale改", "method": "remodel", "quantity": 2, "slotIndices": [0, 1], "slotSizes": [0, 0], "sourceShipRef": "Grecale Kai", "remodelLevel": 35, "remodelFrom": "Grecale/", "shipAvailability": ["event_drop"]}, {"shipId": 653, "shipName": "Scirocco", "method": "initial", "quantity": 1, "slotIndices": [0], "slotSizes": [0], "sourceShipRef": "Scirocco", "shipAvailability": ["event_drop"]}, {"shipId": 658, "shipName": "Scirocco改", "method": "remodel", "quantity": 2, "slotIndices": [0, 1], "slotSizes": [0, 0], "sourceShipRef": "Scirocco Kai", "remodelLevel": 30, "remodelFrom": "Scirocco/", "shipAvailability": ["event_drop"]}]}
120
119
  {"equipmentId": 158, "equipmentName": "Bf109T改", "sources": [{"shipId": 432, "shipName": "Graf Zeppelin", "method": "initial", "quantity": 1, "slotIndices": [0], "slotSizes": [20], "sourceShipRef": "Graf Zeppelin", "shipAvailability": ["event_drop"]}]}
@@ -179,7 +178,6 @@
179
178
  {"equipmentId": 301, "equipmentName": "20連装7inch UP Rocket Launchers", "sources": [{"shipId": 576, "shipName": "Nelson改", "method": "remodel", "quantity": 1, "slotIndices": [1], "slotSizes": [1], "sourceShipRef": "Nelson Kai", "remodelLevel": 50, "remodelFrom": "Nelson/", "shipAvailability": ["event_reward"]}, {"shipId": 577, "shipName": "Rodney改", "method": "remodel", "quantity": 1, "slotIndices": [1], "slotSizes": [1], "sourceShipRef": "Rodney Kai", "remodelLevel": 50, "remodelFrom": "Rodney/", "shipAvailability": ["event_reward"]}]}
180
179
  {"equipmentId": 303, "equipmentName": "Bofors 15.2cm連装砲 Model 1930", "sources": [{"shipId": 574, "shipName": "Gotland", "method": "initial", "quantity": 2, "slotIndices": [0, 1], "slotSizes": [2, 3], "sourceShipRef": "Gotland", "shipAvailability": ["event_drop"]}, {"shipId": 579, "shipName": "Gotland改", "method": "remodel", "quantity": 1, "slotIndices": [0], "slotSizes": [1], "sourceShipRef": "Gotland Kai", "remodelLevel": 55, "remodelFrom": "Gotland/", "shipAvailability": ["event_drop"]}, {"shipId": 630, "shipName": "Gotland andra", "method": "remodel", "quantity": 1, "slotIndices": [0], "slotSizes": [2], "sourceShipRef": "Gotland Andra", "remodelLevel": 85, "remodelFrom": "Gotland/Kai", "shipAvailability": ["event_drop"]}]}
181
180
  {"equipmentId": 304, "equipmentName": "S9 Osprey", "sources": [{"shipId": 574, "shipName": "Gotland", "method": "initial", "quantity": 1, "slotIndices": [2], "slotSizes": [6], "sourceShipRef": "Gotland", "shipAvailability": ["event_drop"]}, {"shipId": 630, "shipName": "Gotland andra", "method": "remodel", "quantity": 2, "slotIndices": [2, 3], "slotSizes": [3, 7], "sourceShipRef": "Gotland Andra", "remodelLevel": 85, "remodelFrom": "Gotland/Kai", "shipAvailability": ["event_drop"]}]}
182
- {"equipmentId": 305, "equipmentName": "Ju87C改二(KMX搭載機)", "sources": [{"shipId": 536, "shipName": "神鷹改二", "method": "remodel", "quantity": 1, "slotIndices": [0], "slotSizes": [9], "sourceShipRef": "Shinyou Kai Ni", "remodelLevel": 85, "remodelFrom": "Shinyou/Kai", "shipAvailability": ["event_reward"]}]}
183
181
  {"equipmentId": 310, "equipmentName": "14cm連装砲改", "sources": [{"shipId": 586, "shipName": "日進甲", "method": "remodel", "quantity": 1, "slotIndices": [0], "slotSizes": [8], "sourceShipRef": "Nisshin A", "remodelLevel": 60, "remodelFrom": "Nisshin/Kai", "shipAvailability": ["event_reward"]}]}
184
182
  {"equipmentId": 313, "equipmentName": "5inch単装砲 Mk.30改", "sources": [{"shipId": 689, "shipName": "Johnston改", "method": "remodel", "quantity": 1, "slotIndices": [0], "slotSizes": [0], "sourceShipRef": "Johnston Kai", "remodelLevel": 55, "remodelFrom": "Johnston/", "shipAvailability": ["event_drop"]}, {"shipId": 692, "shipName": "Fletcher改", "method": "remodel", "quantity": 1, "slotIndices": [0], "slotSizes": [0], "sourceShipRef": "Fletcher Kai", "remodelLevel": 55, "remodelFrom": "Fletcher/", "shipAvailability": ["event_drop"]}, {"shipId": 726, "shipName": "Heywood L.E.改", "method": "remodel", "quantity": 1, "slotIndices": [0], "slotSizes": [0], "sourceShipRef": "Heywood L. Edwards Kai", "remodelLevel": 55, "remodelFrom": "Heywood L. Edwards/"}, {"shipId": 737, "shipName": "Richard P.Leary改", "method": "remodel", "quantity": 1, "slotIndices": [0], "slotSizes": [0], "sourceShipRef": "Richard P. Leary Kai", "remodelLevel": 55, "remodelFrom": "Richard P. Leary/"}, {"shipId": 920, "shipName": "Samuel B.Roberts Mk.II", "method": "remodel", "quantity": 1, "slotIndices": [0], "slotSizes": [1], "sourceShipRef": "Samuel B. Roberts Mk.II", "remodelLevel": 78, "remodelFrom": "Samuel B. Roberts/Kai"}, {"shipId": 1040, "shipName": "吹雪改三護(六式)", "method": "remodel", "quantity": 1, "slotIndices": [0], "slotSizes": [0], "sourceShipRef": "Fubuki Kai San Go (Type 6)", "remodelLevel": 95, "remodelFrom": "Fubuki/Kai San", "shipAvailability": ["drop"]}]}
185
183
  {"equipmentId": 314, "equipmentName": "533mm五連装魚雷(初期型)", "sources": [{"shipId": 562, "shipName": "Johnston", "method": "initial", "quantity": 1, "slotIndices": [1], "slotSizes": [0], "sourceShipRef": "Johnston", "shipAvailability": ["event_drop"]}, {"shipId": 596, "shipName": "Fletcher", "method": "initial", "quantity": 1, "slotIndices": [1], "slotSizes": [0], "sourceShipRef": "Fletcher", "shipAvailability": ["event_drop"]}, {"shipId": 726, "shipName": "Heywood L.E.改", "method": "remodel", "quantity": 1, "slotIndices": [1], "slotSizes": [0], "sourceShipRef": "Heywood L. Edwards Kai", "remodelLevel": 55, "remodelFrom": "Heywood L. Edwards/"}, {"shipId": 737, "shipName": "Richard P.Leary改", "method": "remodel", "quantity": 1, "slotIndices": [1], "slotSizes": [0], "sourceShipRef": "Richard P. Leary Kai", "remodelLevel": 55, "remodelFrom": "Richard P. Leary/"}]}
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "metadata": {
3
3
  "schemaVersion": 2,
4
- "dataVersion": "2026-07-06T06:02:14+00:00",
5
- "generatedAt": "2026-07-06T06:02:14+00:00",
4
+ "dataVersion": "2026-07-06T07:55:43+00:00",
5
+ "generatedAt": "2026-07-06T07:55:43+00:00",
6
6
  "shipMasterVersion": "2026062901",
7
7
  "dayOrder": [
8
8
  "all",
package/index.d.ts CHANGED
@@ -8,13 +8,11 @@ export interface KancolleDataPaths {
8
8
  }
9
9
  equipment: {
10
10
  dropFromPath: string
11
- sourcesPath: string
12
11
  specialBonusesPath: string
13
12
  }
14
13
  schemas: {
15
14
  improvementDetailPath: string
16
15
  equipmentDropFromPath: string
17
- equipmentSourcesPath: string
18
16
  equipmentSpecialBonusesPath: string
19
17
  }
20
18
  audit: {
package/index.js CHANGED
@@ -14,13 +14,11 @@ module.exports = Object.freeze({
14
14
  }),
15
15
  equipment: Object.freeze({
16
16
  dropFromPath: resolveData('equipment', 'drop-from.nedb'),
17
- sourcesPath: resolveData('equipment', 'sources.nedb'),
18
17
  specialBonusesPath: resolveData('equipment', 'special-bonuses.nedb'),
19
18
  }),
20
19
  schemas: Object.freeze({
21
20
  improvementDetailPath: resolveData('schemas', 'improvement-detail.schema.json'),
22
21
  equipmentDropFromPath: resolveData('schemas', 'equipment-drop-from.schema.json'),
23
- equipmentSourcesPath: resolveData('schemas', 'equipment-sources.schema.json'),
24
22
  equipmentSpecialBonusesPath: resolveData('schemas', 'equipment-special-bonus.schema.json'),
25
23
  }),
26
24
  audit: Object.freeze({
package/manifest.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
- "packageVersion": "0.4.1",
3
- "generatedAt": "2026-07-06T06:02:17+00:00",
2
+ "packageVersion": "0.4.2",
3
+ "generatedAt": "2026-07-06T07:55:44+00:00",
4
4
  "datasets": {
5
5
  "improvement": {
6
6
  "schemaVersion": 4,
@@ -23,7 +23,7 @@
23
23
  "url": "https://akashi-list.me/",
24
24
  "status": "fresh",
25
25
  "statusCode": 200,
26
- "validatedAt": 1783277204,
26
+ "validatedAt": 1783324513,
27
27
  "validatedInRun": true,
28
28
  "usedCacheFallback": false,
29
29
  "contentSha256": "f7860ad7a743e673e382bbdddfd699cdcae821972443d5582b34fcd4279aaf33",
@@ -32,7 +32,7 @@
32
32
  ],
33
33
  "sourceScheduleCount": 2652,
34
34
  "sourceIssueCount": 0,
35
- "sourceGeneratedAt": "2026-07-06T06:02:14+00:00",
35
+ "sourceGeneratedAt": "2026-07-06T07:55:43+00:00",
36
36
  "collectionCompletedInRun": true
37
37
  },
38
38
  "equipmentDropFrom": {
@@ -44,17 +44,16 @@
44
44
  "https://raw.githubusercontent.com/kcwiki/kancolle-data/refs/heads/master/wiki/equipment.json"
45
45
  ],
46
46
  "shipEntryCount": 840,
47
- "equipmentRecordCount": 249,
48
- "relationCount": 1647,
49
- "issueCount": 0,
50
- "semanticAliasMatchCount": 2,
47
+ "equipmentRecordCount": 247,
48
+ "relationCount": 1645,
49
+ "issueCount": 2,
51
50
  "status": "ok",
52
51
  "fetches": [
53
52
  {
54
53
  "url": "https://raw.githubusercontent.com/kcwiki/kancolle-data/refs/heads/master/wiki/ship.json",
55
54
  "status": "fresh",
56
- "statusCode": 304,
57
- "validatedAt": 1783277206,
55
+ "statusCode": 200,
56
+ "validatedAt": 1783324513,
58
57
  "validatedInRun": true,
59
58
  "usedCacheFallback": false,
60
59
  "contentSha256": "d8c1691e83e6f4a9e55e34f8139c9ad9bb21ff9b3b7066dd3d5d31e15bae7dd7",
@@ -63,27 +62,14 @@
63
62
  {
64
63
  "url": "https://raw.githubusercontent.com/kcwiki/kancolle-data/refs/heads/master/wiki/equipment.json",
65
64
  "status": "fresh",
66
- "statusCode": 304,
67
- "validatedAt": 1783277204,
65
+ "statusCode": 200,
66
+ "validatedAt": 1783324513,
68
67
  "validatedInRun": true,
69
68
  "usedCacheFallback": false,
70
69
  "contentSha256": "284d7e32f70e67dd599ae43e1758d43568fcad3fe062548c68808988a4a27c0b",
71
70
  "cachePath": "raw.githubusercontent.com/kcwiki/kancolle-data/refs/heads/master/wiki/equipment.json"
72
71
  }
73
- ],
74
- "inputHashes": {
75
- "ship": "d8c1691e83e6f4a9e55e34f8139c9ad9bb21ff9b3b7066dd3d5d31e15bae7dd7",
76
- "equipment": "284d7e32f70e67dd599ae43e1758d43568fcad3fe062548c68808988a4a27c0b"
77
- },
78
- "incremental": {
79
- "mode": "reuse-unchanged-inputs",
80
- "parsed": false,
81
- "changed": false,
82
- "addedIds": [],
83
- "changedIds": [],
84
- "removedIds": [],
85
- "unchangedCount": 249
86
- }
72
+ ]
87
73
  },
88
74
  "equipmentSpecialBonuses": {
89
75
  "schemaVersion": 2,
@@ -103,8 +89,8 @@
103
89
  {
104
90
  "url": "https://raw.githubusercontent.com/KC3Kai/kancolle-replay/refs/heads/master/js/data/mst_slotitem_bonus.json",
105
91
  "status": "fresh",
106
- "statusCode": 304,
107
- "validatedAt": 1783277206,
92
+ "statusCode": 200,
93
+ "validatedAt": 1783324513,
108
94
  "validatedInRun": true,
109
95
  "usedCacheFallback": false,
110
96
  "contentSha256": "e19fc34ea5d0246c5d8a34a9cb272c595970118eba62409006669a4c7f9962d1",
@@ -112,32 +98,6 @@
112
98
  }
113
99
  ]
114
100
  },
115
- "equipmentSources": {
116
- "schemaVersion": 1,
117
- "path": "equipment/sources.nedb",
118
- "status": "ok",
119
- "source": "equipment-sources",
120
- "equipmentRecordCount": 571,
121
- "shipRelationCount": 1586,
122
- "questRelationCount": 0,
123
- "improvementRecordCount": 372,
124
- "improvementRouteCount": 412,
125
- "upgradeRelationCount": 207,
126
- "incremental": {
127
- "addedIds": [],
128
- "changedIds": [],
129
- "removedIds": [],
130
- "unchangedCount": 571,
131
- "changed": false,
132
- "inputHashes": {
133
- "improvementDetail": "078e8dc2f15eb0e6fa96af3f7af5137b652c3b5b7d99d2f680493340e7f4317a",
134
- "wikiwikiAcquisition": "3943d5e83f98c4335b8efa69751e5e072e45098cfeb4f359490645eba8aca316",
135
- "kcwikiShip": "d8c1691e83e6f4a9e55e34f8139c9ad9bb21ff9b3b7066dd3d5d31e15bae7dd7",
136
- "kcwikiEquipment": "284d7e32f70e67dd599ae43e1758d43568fcad3fe062548c68808988a4a27c0b"
137
- },
138
- "projectionSha256": "8f4bbd0471392a2825b59a91eac0fd97559f3313ed3d1af59d13ecce5d74ede7"
139
- }
140
- },
141
101
  "useitemIcons": {
142
102
  "schemaVersion": 1,
143
103
  "directory": "assets/useitems",
@@ -184,43 +144,24 @@
184
144
  "https://raw.githubusercontent.com/kcwiki/kancolle-data/refs/heads/master/wiki/ship.json",
185
145
  "https://raw.githubusercontent.com/kcwiki/kancolle-data/refs/heads/master/wiki/equipment.json"
186
146
  ],
187
- "kcwikiQuests": {
188
- "source": "kcwikizh-kcquests",
189
- "sourceUrl": "https://raw.githubusercontent.com/kcwikizh/kcQuests/refs/heads/main/quests-scn.json",
190
- "status": "ok",
191
- "fetches": [
192
- {
193
- "url": "https://raw.githubusercontent.com/kcwikizh/kcQuests/refs/heads/main/quests-scn.json",
194
- "status": "fresh",
195
- "statusCode": 304,
196
- "validatedAt": 1783277441,
197
- "validatedInRun": true,
198
- "usedCacheFallback": false,
199
- "contentSha256": "5d3f87ad698c7ab4260a2ab3bfdede8a511a4fd57685a477264b9fb6351e3647",
200
- "cachePath": "raw.githubusercontent.com/kcwikizh/kcQuests/refs/heads/main/quests-scn.json"
201
- }
202
- ],
203
- "questCount": 639,
204
- "schemaVersion": 1
205
- },
206
147
  "kc3SlotitemBonus": "https://raw.githubusercontent.com/KC3Kai/kancolle-replay/refs/heads/master/js/data/mst_slotitem_bonus.json"
207
148
  },
208
149
  "files": {
209
150
  "CHANGELOG.md": {
210
- "sha256": "10d4a512c8ff345af0cc5a2f14c8378cb4af94147d1a81bbdaf770694713e410",
211
- "bytes": 4947
151
+ "sha256": "84e87b4d50f152092eaf02fb0194015f17fa3eafc3584787d21286d9e4d9f48c",
152
+ "bytes": 5889
212
153
  },
213
154
  "LICENSES.md": {
214
155
  "sha256": "40bddfdbcdc4b7812056e82fc5de18184097d2fdb903fab14262ea41e47c7594",
215
156
  "bytes": 412
216
157
  },
217
158
  "README.md": {
218
- "sha256": "23a3613063512ad4b375dda2ac6b79bf6d004600f7b380ce7103ce1be2b55785",
219
- "bytes": 1855
159
+ "sha256": "6af7c9206d99c5e268ca0d8f42d8994f792a568ce5ad3629b85102e51f113983",
160
+ "bytes": 1602
220
161
  },
221
162
  "RELEASES.json": {
222
- "sha256": "648fa5297c4c01d48ed7bbc099e6d43950086426a56f4d6f821a9d2c0f97f369",
223
- "bytes": 2018
163
+ "sha256": "c263f2b90ea0671d983593c7c9d0b2321f5a5dede6ccafcf98c71aa2ae339a59",
164
+ "bytes": 5945
224
165
  },
225
166
  "assets/useitems/100.png": {
226
167
  "sha256": "6c056ddea6ed3d2bf425ff70a36e47ecbc1dfa3de29d14fec24533e7699778f2",
@@ -287,16 +228,12 @@
287
228
  "bytes": 28940
288
229
  },
289
230
  "audit/build-report.json": {
290
- "sha256": "3d249b0b1150e8b9cc07c05f83a69daddb655fea63aa5cc76836ffd1a3b775cf",
291
- "bytes": 1028
231
+ "sha256": "f3c146d5b24285a7548528adad2c8afd5bceb56bc8f0c998f7f5e24eca3ff4cf",
232
+ "bytes": 348
292
233
  },
293
234
  "equipment/drop-from.nedb": {
294
- "sha256": "c7acd2fda18834a9a46e30148dc91830dc28cb167f9972b62615cfb784d2d2b3",
295
- "bytes": 359433
296
- },
297
- "equipment/sources.nedb": {
298
- "sha256": "8f4bbd0471392a2825b59a91eac0fd97559f3313ed3d1af59d13ecce5d74ede7",
299
- "bytes": 84224
235
+ "sha256": "bb366ee4db693e396414cf3145e583a36c0ce9fa7f56cb4a553f8cba8a5e07d3",
236
+ "bytes": 358778
300
237
  },
301
238
  "equipment/special-bonuses.nedb": {
302
239
  "sha256": "818fe35d9a441823f65c37e1418a4a54492dfdd63ad61a1f292427d30972720e",
@@ -307,25 +244,21 @@
307
244
  "bytes": 2946913
308
245
  },
309
246
  "improvement/list.json": {
310
- "sha256": "e0922769f8a42d9e003cbb23ef0480f8991d00203fc33ce30aaadcad9c299af2",
247
+ "sha256": "ad117d36edfa2f7c42fa46d33cc6e4ed72de43d70f5eb642e4c3ac5f78f64300",
311
248
  "bytes": 209473
312
249
  },
313
250
  "index.d.ts": {
314
- "sha256": "832b2677a462454af47b4583a7d4e120adf95e73bee9210ee34fb944cd8f3f21",
315
- "bytes": 585
251
+ "sha256": "9fcdb6261b21bdd0e22fd6c049f2f314b1646d57ea7846208961ac78f76c1fbc",
252
+ "bytes": 528
316
253
  },
317
254
  "index.js": {
318
- "sha256": "f7a3a9165963f5bfe8a33d93eb0432b8a16118270e3bcf288ce606512807bffc",
319
- "bytes": 1249
255
+ "sha256": "8ea7e30a341edf9fccb6677aa813d6ec7f53939f3e7f81c32a050e77231de547",
256
+ "bytes": 1107
320
257
  },
321
258
  "schemas/equipment-drop-from.schema.json": {
322
259
  "sha256": "b67bc757c8dd8523498abc0215656b7e8898485d060ddeac11577bb697a5279f",
323
260
  "bytes": 963
324
261
  },
325
- "schemas/equipment-sources.schema.json": {
326
- "sha256": "d3c1dc05b4927b0759e6e51385aacd767fb0d5e4ab84474166aa7899cd637675",
327
- "bytes": 1064
328
- },
329
262
  "schemas/equipment-special-bonus.schema.json": {
330
263
  "sha256": "e8811b953358cbb5df8c786521c68841a4c422e07d0dbc9c78088e66c4690273",
331
264
  "bytes": 1591
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sakura2333/kancolle-data",
3
- "version": "0.4.1",
3
+ "version": "0.4.2",
4
4
  "description": "Versioned KanColle community datasets generated by kancolle-item-improvement-spider",
5
5
  "main": "index.js",
6
6
  "types": "index.d.ts",
@@ -31,7 +31,7 @@
31
31
  "access": "public"
32
32
  },
33
33
  "scripts": {
34
- "check": "node -e \"const d=require('./');const fs=require('fs');const m=JSON.parse(fs.readFileSync(d.manifestPath));for(const p of [d.manifestPath,d.releasesPath,d.improvement.listPath,d.improvement.detailPath,d.equipment.dropFromPath,d.equipment.sourcesPath,d.equipment.specialBonusesPath,d.schemas.improvementDetailPath,d.schemas.equipmentSourcesPath])if(!fs.existsSync(p))throw new Error('missing '+p);if(m.datasets.improvement.schemaVersion!==4)throw new Error('unexpected improvement schema');if(m.datasets.equipmentSources.schemaVersion!==1)throw new Error('unexpected equipment sources schema');if(m.datasets.equipmentSpecialBonuses.schemaVersion!==2)throw new Error('unexpected special bonus schema');if((m.datasets.useitemIcons.missingIds||[]).length)throw new Error('missing useitem icons');for(const id of m.datasets.useitemIcons.requiredIds||[])if(!fs.existsSync(d.assets.useitemPath(id)))throw new Error('missing icon '+id)\"",
34
+ "check": "node -e \"const d=require('./');const fs=require('fs');const m=JSON.parse(fs.readFileSync(d.manifestPath));for(const p of [d.manifestPath,d.releasesPath,d.improvement.listPath,d.improvement.detailPath,d.equipment.dropFromPath,d.equipment.specialBonusesPath,d.schemas.improvementDetailPath])if(!fs.existsSync(p))throw new Error('missing '+p);if(m.datasets.improvement.schemaVersion!==4)throw new Error('unexpected improvement schema');if(m.datasets.equipmentSpecialBonuses.schemaVersion!==2)throw new Error('unexpected special bonus schema');if((m.datasets.useitemIcons.missingIds||[]).length)throw new Error('missing useitem icons');for(const id of m.datasets.useitemIcons.requiredIds||[])if(!fs.existsSync(d.assets.useitemPath(id)))throw new Error('missing icon '+id)\"",
35
35
  "prepack": "npm run check",
36
36
  "check:fresh": "node scripts/check-fresh.js",
37
37
  "prepublishOnly": "npm run check && npm run check:fresh"