No description
Find a file
2026-08-21 15:44:12 +03:00
data-src feat: model cartridge set bonuses 2026-08-21 15:40:38 +03:00
public/img feat: real artwork, readable stats, and a build you can read at a glance 2026-08-21 13:35:25 +03:00
src feat: model cartridge set bonuses 2026-08-21 15:40:38 +03:00
tests feat: model cartridge set bonuses 2026-08-21 15:40:38 +03:00
tools feat: model cartridge set bonuses 2026-08-21 15:40:38 +03:00
.gitignore feat: NTE gear optimizer web app 2026-08-21 11:38:17 +03:00
.nvmrc feat: NTE gear optimizer web app 2026-08-21 11:38:17 +03:00
index.html fix: reachable undo, nameable groups, and no favicon request 2026-08-21 12:30:56 +03:00
package-lock.json feat: NTE gear optimizer web app 2026-08-21 11:38:17 +03:00
package.json chore: one-command static deploy 2026-08-21 12:43:28 +03:00
README.md feat: NTE gear optimizer web app 2026-08-21 11:38:17 +03:00
tsconfig.app.json feat: NTE gear optimizer web app 2026-08-21 11:38:17 +03:00
tsconfig.json feat: NTE gear optimizer web app 2026-08-21 11:38:17 +03:00
tsconfig.node.json feat: NTE gear optimizer web app 2026-08-21 11:38:17 +03:00
vite.config.ts feat: NTE gear optimizer web app 2026-08-21 11:38:17 +03:00
vite.single.config.ts feat: NTE gear optimizer web app 2026-08-21 11:38:17 +03:00
vitest.config.ts feat: NTE gear optimizer web app 2026-08-21 11:38:17 +03:00

nte-optimizer

Caution

This repository is vibecoded. Its implementation was written with substantial AI assistance and may contain plausible-looking mistakes, unsafe assumptions, or unreviewed edge cases. Treat it with care: inspect the code, verify outputs, and run the tests before relying on it.

Gear optimizer for Neverness to Everness. Static site, no server, no account, and no runtime connection to the game.

It imports a gear snapshot produced by nte-exporter, scores the available cartridges and modules, and draws recommended builds directly onto each character's console grid.

Features

  • Single-character optimization with Prydwen targets or custom targets and weights.
  • Cartridge set and 2-piece/4-piece bonus selection.
  • Arc stats, refinements, conditional-effect controls, and explicit notices for effects the model cannot score.
  • Team optimization against one shared item pool without assigning an item twice.
  • Console-grid layouts with module placement and enough item detail to find each piece in game.
  • Local equipment tracking, Equip/Undo, and import refreshes from game truth.
  • Predicted-versus-measured character sheet comparison.
  • Hosted build plus a single-file offline build.

All account data stays in the browser. Nothing is uploaded by the app.

Running locally

npm ci
npm run dev

Useful checks and builds:

npm test
npm run check:guides
npm run build          # hosted build in dist/
npm run build:single   # standalone dist/nte.html

The standalone build works over file://. Browser restrictions disable workers, IndexedDB, and bundled artwork there; the app falls back to inline solving and localStorage or memory.

Model boundaries

This is a stat-target optimizer, not a damage simulator. It has no rotation or ability-multiplier model.

  • Targets are floors. Published substat rankings determine their relative weights.
  • Timed bonuses are reported but not scored without defensible uptime data.
  • Shield strength, enemy resistance, ally-only buffs, and other unsupported quantities are marked unmodellable instead of mapped onto a different stat.
  • Level-80 base-stat scaling remains unmeasured, so dependent sheet values are shown as unavailable.
  • “Proven” means optimal for one packing and cartridge, not globally optimal across every internal beam-search choice.

Project layout

Path Contents
data-src/ Source classifications, cartridge bonuses, and guide data.
tools/ Data validation, generation, benchmarking, and build scripts.
src/domain/ Pure stat, board, cartridge, Arc, and scoring logic.
src/solver/ Worker-safe single-character and team solvers.
src/db/ Import validation and local persistence.
src/ui/ React interface.
tests/ Domain, solver, persistence, and integration checks.

src/domain/ and src/solver/ stay free of DOM, storage, and UI imports so the same logic runs in tests, inline, or in a Web Worker.