@sakura2333/kancolle-data 0.3.3 → 0.4.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.
package/CHANGELOG.md CHANGED
@@ -12,6 +12,11 @@ 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
+
15
20
  ### Compatibility
16
21
 
17
22
  - Improvement list schema: 2 (unchanged).
@@ -23,58 +28,19 @@ All notable consumer-visible changes to `@sakura2333/kancolle-data` are document
23
28
  - Add quest, development, exchange, ranking, and event acquisition methods.
24
29
  - Add additional ship, map, and quest projections when stable schemas are available.
25
30
 
26
- ## [0.3.3] - 2026-07-05
27
-
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.
31
+ ## [0.4.1] - 2026-07-06
36
32
 
37
- ### Validation
38
-
39
- - Passed source freshness, schema, reference-integrity, record-count, and file-size quality gates.
40
-
41
- ## [0.3.2] - 2026-07-04
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.1] - 2026-07-03
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.
33
+ ### Added
70
34
 
71
- ## [0.3.0] - 2026-07-02
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`.
72
38
 
73
39
  ### Data
74
40
 
75
41
  - Refreshed validated KanColle consumer datasets after a successful strict Spider run.
76
42
  - Improvement records: 372.
77
- - Equipment acquisition records: 247.
43
+ - Equipment acquisition records: 249.
78
44
  - Equipment special-bonus records: 348.
79
45
  - Equipment-type special-bonus records: 7.
80
46
  - Packaged use-item icons: 16.
package/README.md CHANGED
@@ -9,6 +9,7 @@ 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)
12
13
  console.log(data.equipment.specialBonusesPath)
13
14
  console.log(data.assets.useitemPath(71))
14
15
  ```
@@ -18,7 +19,9 @@ Datasets:
18
19
  - `improvement/list.json`: compact all + weekday list projection.
19
20
  - `improvement/detail.nedb`: full routes plus ★0..★MAX effect expectations and 11 explicit per-route actions (including optional MAX conversion).
20
21
  - `schemas/improvement-detail.schema.json`: JSON Schema for each schema-4 NeDB record.
21
- - `equipment/drop-from.nedb`: equipment obtainable from ship initial/remodel loadouts.
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.
22
25
  - `equipment/special-bonuses.nedb`: bonus rules targeting either concrete equipment IDs or equipment-type IDs.
23
26
  - `assets/useitems/*.png`: use-item images required by improvement recipes.
24
27
 
package/RELEASES.json CHANGED
@@ -1,8 +1,8 @@
1
1
  [
2
2
  {
3
- "version": "0.3.3",
4
- "date": "2026-07-05",
5
- "contentDigest": "b318fc5ae3cd29cfd97d4cb8509505d7a993f765668cb01aae23b75ee47f3310",
3
+ "version": "0.4.1",
4
+ "date": "2026-07-06",
5
+ "contentDigest": "d6ba25f54e1eaf0be27403168f088ff6413245b19046974d539c9a7e55fe57ff",
6
6
  "metrics": {
7
7
  "improvement.listViewCount": 8,
8
8
  "improvement.listAllCount": 372,
@@ -12,86 +12,12 @@
12
12
  "improvement.routeCount": 412,
13
13
  "improvement.stepCount": 4532,
14
14
  "improvement.upgradeAvailableCount": 208,
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.2",
30
- "date": "2026-07-04",
31
- "contentDigest": "acfabf6e5f752997657d0f0d06602b842f2c06f5ce42d6daa6a6222947ce69a9",
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.1",
56
- "date": "2026-07-03",
57
- "contentDigest": "42c5c2b91607661f557f70ee74e41fb6bcaa390e9a11b803db239d2f32869703",
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.0",
82
- "date": "2026-07-02",
83
- "contentDigest": "ac2a5691ec97bef316f68f3027ac831f1bcfea65ee43e87a1356d43a1f19b604",
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,
15
+ "equipmentDropFrom.recordCount": 249,
16
+ "equipmentDropFrom.relationCount": 1647,
17
+ "equipmentSources.recordCount": 571,
18
+ "equipmentSources.shipRelationCount": 1586,
19
+ "equipmentSources.upgradeRelationCount": 207,
20
+ "equipmentSources.questRelationCount": 0,
95
21
  "equipmentSpecialBonuses.recordCount": 348,
96
22
  "equipmentSpecialBonuses.equipmentRecordCount": 341,
97
23
  "equipmentSpecialBonuses.equipmentTypeRecordCount": 7,
@@ -100,7 +26,7 @@
100
26
  "useitemIcons.missingCount": 0,
101
27
  "useitemIcons.count": 16,
102
28
  "useitemIcons.totalBytes": 711604,
103
- "publicData.totalBytes": 4508015
29
+ "publicData.totalBytes": 4592894
104
30
  }
105
31
  },
106
32
  {
@@ -1,9 +1,24 @@
1
1
  {
2
- "generatedAt": "2026-07-05T06:52:42+00:00",
2
+ "generatedAt": "2026-07-06T06:02:17+00:00",
3
3
  "strict": true,
4
4
  "improvementSourceStatus": "ok",
5
- "dropFromIssueCount": 2,
5
+ "dropFromIssueCount": 0,
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
+ },
7
22
  "iconCount": 16,
8
23
  "requiredUseitemIconIds": [
9
24
  2,
@@ -114,6 +114,7 @@
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"]}]}
117
118
  {"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"]}]}
118
119
  {"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"]}]}
119
120
  {"equipmentId": 158, "equipmentName": "Bf109T改", "sources": [{"shipId": 432, "shipName": "Graf Zeppelin", "method": "initial", "quantity": 1, "slotIndices": [0], "slotSizes": [20], "sourceShipRef": "Graf Zeppelin", "shipAvailability": ["event_drop"]}]}
@@ -178,6 +179,7 @@
178
179
  {"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"]}]}
179
180
  {"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"]}]}
180
181
  {"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"]}]}
181
183
  {"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"]}]}
182
184
  {"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"]}]}
183
185
  {"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/"}]}