@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 +60 -11
- package/README.md +1 -4
- package/RELEASES.json +109 -9
- package/audit/build-report.json +2 -17
- package/equipment/drop-from.nedb +0 -2
- package/improvement/list.json +2 -2
- package/index.d.ts +0 -2
- package/index.js +0 -2
- package/manifest.json +29 -96
- package/package.json +2 -2
- package/equipment/sources.nedb +0 -571
- package/schemas/equipment-sources.schema.json +0 -34
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.
|
|
26
|
+
## [0.4.2] - 2026-07-06
|
|
32
27
|
|
|
33
|
-
###
|
|
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
|
-
|
|
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:
|
|
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`:
|
|
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.
|
|
3
|
+
"version": "0.4.2",
|
|
4
4
|
"date": "2026-07-06",
|
|
5
|
-
"contentDigest": "
|
|
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":
|
|
16
|
-
"equipmentDropFrom.relationCount":
|
|
17
|
-
"
|
|
18
|
-
"
|
|
19
|
-
"
|
|
20
|
-
"
|
|
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":
|
|
129
|
+
"publicData.totalBytes": 4508015
|
|
30
130
|
}
|
|
31
131
|
},
|
|
32
132
|
{
|
package/audit/build-report.json
CHANGED
|
@@ -1,24 +1,9 @@
|
|
|
1
1
|
{
|
|
2
|
-
"generatedAt": "2026-07-
|
|
2
|
+
"generatedAt": "2026-07-06T07:55:44+00:00",
|
|
3
3
|
"strict": true,
|
|
4
4
|
"improvementSourceStatus": "ok",
|
|
5
|
-
"dropFromIssueCount":
|
|
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,
|
package/equipment/drop-from.nedb
CHANGED
|
@@ -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/"}]}
|
package/improvement/list.json
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"metadata": {
|
|
3
3
|
"schemaVersion": 2,
|
|
4
|
-
"dataVersion": "2026-07-
|
|
5
|
-
"generatedAt": "2026-07-
|
|
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.
|
|
3
|
-
"generatedAt": "2026-07-
|
|
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":
|
|
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-
|
|
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":
|
|
48
|
-
"relationCount":
|
|
49
|
-
"issueCount":
|
|
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":
|
|
57
|
-
"validatedAt":
|
|
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":
|
|
67
|
-
"validatedAt":
|
|
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":
|
|
107
|
-
"validatedAt":
|
|
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": "
|
|
211
|
-
"bytes":
|
|
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": "
|
|
219
|
-
"bytes":
|
|
159
|
+
"sha256": "6af7c9206d99c5e268ca0d8f42d8994f792a568ce5ad3629b85102e51f113983",
|
|
160
|
+
"bytes": 1602
|
|
220
161
|
},
|
|
221
162
|
"RELEASES.json": {
|
|
222
|
-
"sha256": "
|
|
223
|
-
"bytes":
|
|
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": "
|
|
291
|
-
"bytes":
|
|
231
|
+
"sha256": "f3c146d5b24285a7548528adad2c8afd5bceb56bc8f0c998f7f5e24eca3ff4cf",
|
|
232
|
+
"bytes": 348
|
|
292
233
|
},
|
|
293
234
|
"equipment/drop-from.nedb": {
|
|
294
|
-
"sha256": "
|
|
295
|
-
"bytes":
|
|
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": "
|
|
247
|
+
"sha256": "ad117d36edfa2f7c42fa46d33cc6e4ed72de43d70f5eb642e4c3ac5f78f64300",
|
|
311
248
|
"bytes": 209473
|
|
312
249
|
},
|
|
313
250
|
"index.d.ts": {
|
|
314
|
-
"sha256": "
|
|
315
|
-
"bytes":
|
|
251
|
+
"sha256": "9fcdb6261b21bdd0e22fd6c049f2f314b1646d57ea7846208961ac78f76c1fbc",
|
|
252
|
+
"bytes": 528
|
|
316
253
|
},
|
|
317
254
|
"index.js": {
|
|
318
|
-
"sha256": "
|
|
319
|
-
"bytes":
|
|
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.
|
|
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.
|
|
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"
|