eve-fit-engine
一个 Pyfa-parity EVE在线船舶&上井结构装配计算引擎 提取 capsuleers.app。打了个盹,上了SDE 数据集,它返回您在拟合工具中看到的完整派生的统计块: 进攻(DPS / alpha /应用),防御(EHP /抵抗/坦克),电容器 (稳定/ sim),导航,瞄准,拟合(CPU / PG /校准), 预计效果和结构燃料/服务统计。
执照:gpl - 3.0 -或-。 这台热机是…的导数 pyfa-org Pyfa 分布在 相同的条款。看到
NOTICE和LICENSE。完整的 相应的源是这个存储库。
设计
- Framework-free核心。 基本项没有
fetch,没有fs,没有window, 没有NPM运行时深度。运行在浏览器、Node、worker中——任何地方。 - 两个条目。 基地(
.):注射自己的FittingDataset。节点(./node): 包括电池在内,捆绑了EVE SDE的快照(在CCP的许可下,由 (聚合)+ fs加载器,因此它可以在服务器上开箱即用。 - 通过两种方式验证Pyfa。
- 夹具套件 - - - - - -
npm run test:pyfa: 662个手工策划的断言 Pyfa截图,全v技能,零容忍覆盖。这是 释放闸门和发动机的正确性接地真相。 - 微分利用 - - - - - -
npm run diff:生成4适合 每一个 出版了一艘船,并将每一项数据与无头船进行比较 pyfa-org Pyfa oracle。1662/1676匹配度(99.2%)完全匹配;残差是一个文档 一组pyfa浮动/建模/每艘船的怪癖(见test/diff/known-diffs.mjs). 否时退出0 意想不到的 差别;--strict将接受的集合重新列为失败。
- 夹具套件 - - - - - -
安装
npm install eve-fit-engine
使用-零配置(Node,包括电池)
这个 /node 带有EVE SDE捆绑包的入口船(data/(约8mb)和一个内置的
加载程序。给它一个EFT字符串,获得完整的统计数据-没有其他设置:
import { computeFromEft } from 'eve-fit-engine/node'
const { fit, warnings, computed } = await computeFromEft(`
[Rifter, My Fit]
200mm AutoCannon II, Republic Fleet EMP S
200mm AutoCannon II, Republic Fleet EMP S
1MN Afterburner II
Gyrostabilizer II
`)
console.log(computed.derived.offense.totalDps) // 197.6
console.log(computed.derived.defense.ehpTotalAgainstProfile)
console.log(computed.derived.navigation.maxVelocity)
默认为All-V技能;通过 { skillProfile, damageProfile, targetProfile, … }
作为第二个要推翻的参数。 loadBundledDataset() 是不是也出口了
直接需要数据集。
捆绑的SDE是CCP的,根据CCP的《EVE Online》开发者许可
data/SDE-LICENSE.md) -仅通过汇总, 不在本包的GPL下。
使用-自带数据集(浏览器/自定义/ always-fresh SDE)
基本条目与环境无关(没有 fs,没有捆绑数据)。注入
FittingDataset 你可以随心所欲地建造:
import { computeFit, parseEft, type FittingDataset } from 'eve-fit-engine'
const dataset: FittingDataset = await buildYourDataset() // your SDE bundle
const { fit } = parseEft(eftText, dataset)
const computed = computeFit(fit, dataset, { skillProfile /* … */ })
这就是胶囊。应用程序使用服务器端:它构建自己的always-fresh 绑定并注入它,所以它永远不会依赖于(快照)绑定的数据。
这个包裹里没有什么
- 3D船舶模型、UI组件——这些都存在于消费应用程序中。
- 捆绑的SDE是一个 快照;对于总是新鲜的数据,注入你自己的通道 基本条目(见上文)。
来源/如何维持平价
这款引擎模仿了Pyfa的引擎 eos 计算模型:由EVE键控的效果处理器
教条效应id,堆叠惩罚池,运行后阻力适应
通过,一个离散电容模拟(忠实端口的) eos/capSim.py - - - - - -
整数周期时间,炮塔齐射vs交错排水,帽助推器注入),
和卷轴处理。当CCP发布一个新的SDE时,数据驱动的 modifierInfo
效果自动工作;Pyfa的新硬编码机制 effects.py 是
跟踪和移植,然后重新检查 两个 夹具套件
(npm run test:pyfa)和单船差分线束(npm run diff)
之前释放。看到 MAINTENANCE.md 用于更新流。
发布遵循两条CI路径,都是基于奇偶校验+覆盖:每日
SDE-bundle刷新 当CCP的数据发生变化和奇偶校验时自动发布补丁
保持绿色(sde-refresh 工作流),而 -代码修复 通过手册发货
workflow_dispatch 释放(引擎改变不碰) data/,所以他们从不
触发数据路径)。看到 RELEASE.md。
贡献
看到 CONTRIBUTING.md -安装的分步指南;
每个内部命令,两个验证套件(npm run test:pyfa +
npm run diff),如何添加夹具/端口效果,pyfa-pin重新校准
心流,以及项目的硬性规则。
执照
gpl - 3.0 -或-。版权所有:2026 Capsuleers.app这是自由软件;看到
LICENSE 获取详细信息。