eve-fit-engine 0.1.0 → 0.1.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/README.md CHANGED
@@ -19,9 +19,16 @@ projected effects, and structure fuel/service stats.
19
19
  - **Two entries.** Base (`.`): inject your own `FittingDataset`. Node (`./node`):
20
20
  batteries-included — bundles a snapshot of the EVE SDE (under CCP's licence, by
21
21
  mere aggregation) + an fs loader, so it works out of the box on the server.
22
- - **Validated against Pyfa.** Stat parity is verified against Pyfa screenshots in
23
- the upstream capsuleers.app fixture suite (`npm run test:pyfa`, 631 assertions
24
- at All-V skills, zero tolerance overrides).
22
+ - **Validated against Pyfa two ways.**
23
+ - **Fixture suite** `npm run test:pyfa`: 662 hand-curated assertions against
24
+ Pyfa screenshots, All-V skills, zero tolerance overrides. This is the
25
+ release gate and the engine's correctness ground truth.
26
+ - **Differential harness** — `npm run diff`: generates 4 fits for *every*
27
+ published ship and compares every stat against a headless **pyfa-org/Pyfa**
28
+ oracle. 1646/1676 fits (98.2%) match exactly; the residual is a documented
29
+ set of pyfa float/modelling/per-ship quirks (see
30
+ [`test/diff/known-diffs.mjs`](test/diff/known-diffs.mjs)). Exits 0 on no
31
+ *unexpected* diffs; `--strict` re-lists the accepted set as failures.
25
32
 
26
33
  ## Install
27
34
 
@@ -83,11 +90,14 @@ bundle and injects it, so it never depends on the (snapshot) bundled data.
83
90
  ## Provenance / how parity is maintained
84
91
 
85
92
  The engine mirrors Pyfa's `eos` calculation model: effect handlers keyed by EVE
86
- dogma effect IDs, separate stacking-penalty pools per operation, a late-runtime
87
- resistance-adaptation pass, capacitor simulation, and spool-up handling. When CCP
88
- ships a new SDE, data-driven `modifierInfo` effects work automatically; new
89
- hardcoded mechanics in Pyfa's `effects.py` are tracked and ported, then re-checked
90
- against the parity suite before release.
93
+ dogma effect IDs, stacking-penalty pools, a late-runtime resistance-adaptation
94
+ pass, a discrete capacitor simulation (faithful port of `eos/capSim.py`
95
+ integer cycle times, turret-volley vs staggered drains, cap-booster injection),
96
+ and spool-up handling. When CCP ships a new SDE, data-driven `modifierInfo`
97
+ effects work automatically; new hardcoded mechanics in Pyfa's `effects.py` are
98
+ tracked and ported, then re-checked against **both** the fixture suite
99
+ (`npm run test:pyfa`) and the per-ship differential harness (`npm run diff`)
100
+ before release. See [`MAINTENANCE.md`](./MAINTENANCE.md) for the update flows.
91
101
 
92
102
  ## Licence
93
103