The Norns · roadmap

Features after 1.1.0.

68 / 94 steps (72%)

0 · Update check on start

1.4.0

At start the app checks GitHub for a newer version (on by default); a switch in Settings → General turns it off.

  • ✓Owner's decision recorded: the update check may run at start, not only on the keyowner, 27.10.2026 — replaces "network only on button press"
  • ✓Switch in Settings → General, on by default (config.json)
  • ✓How a new version is shown on the body: sketch → owner's OKthe yellow plate on the bottom band shows the version and blinks in the accent when a newer one is out; click → About → Download
  • ✓Legal & info, README and About texts updated (what goes to the network, when)Legal done in 6 languages; README at the release
  • ✓Release

11 · Dreadnought spawn alert

1.3.0

An NPC dreadnought appearing in the site is shown on the body at once, like the titan alarm.

  • ✓The dreadnoughts' names as they appear in the combat log (a sample line or the owner's list)10 names: Angel / Domination, Blood / Dark Blood, Guristas / Dread Guristas, Sansha's / True Sansha's, Serpentis / Shadow Serpentis Dreadnought
  • ✓Detection + self-testcounted as a ★ spawn; its ticks on the grid like a commander's
  • ✓How it shows (colour, hull, grid, sound?): sketch → owner's OKthe hull heats like metal, as for a titan, in a rich yellow (OK 28.10.2026); a titan's red goes over it
  • ✓Checked in game
  • ✓Release1.3.0 published 29.10.2026

1 · Anomaly timer

1.2.0 · fix next

The anomaly's clear time, warp to warp: after the fleet warp the Vorton lines sink and the time counts up from 00:00 mid-graph; the first hit fades it out.

  • ✓Sketch: where the timer sits on the screen
  • ✓Owner's OK on the sketchOrbitron, thin; warp-to-warp after the owner's tests
  • ✓Timer logic + self-test
  • ··Re-warp (no hits on NPCs between two warps, the site was taken): the timer in red, counting down from the re-warp time to 00:00owner, 27.10.202628.10.2026: back to the countdown version (re-warp time in red at once, held 1 s, then down to 00:00 in real time); to check in game
  • ··Re-warp: ignore long gaps between warps (a new session, a dock-up)gaps of 1 202 s and 61 503 s in the logs would show as re-warps; a threshold to choose
  • ··Clear time in session statisticslater: the sites' times are already saved per session
  • ✓Release1.2.0 published 27.10.2026

2 · Faction spawn statistics

1.2.0 · more next

Commanders, faction NPCs, titans and dreadnoughts counted per session (★). Loot is not in the combat log, so it is not tracked.

  • ✓Spawn count saved with the sessionchecked on the owner's logs: 1 spawn, matches a text search
  • ✓★ chip on the main screen, before Σ
  • ✓Statistics tab: ★ per session and in total
  • ✓Release1.2.0 published 27.10.2026
  • ✓Sound on a faction spawn: off by default, a switch in Settings turns it ononly for a titan or a dreadnought: three short pulses (synthesized), once per spawn; Settings → General, with a ▶ key to hear it (OK 28.10.2026)
  • ··Release (sound)next release

3 · Compact mode

1.4.0

A smaller body that keeps the key numbers.

  • ✓Owner: what stays on screenno power display or printed band, narrow damage display, short Close key, ISK grid as one row of column averages (spawns on top)
  • ✓Sketch → OK → codeswitch in General; the window grows while the settings are open
  • ✓Release

4 · Potato mode

1.4.0

Lowest CPU / GPU load for rigs with 10+ clients: fewer frames, no glow, no animation.

  • ✓Measure the current CPU use28.5% of one core → 3.5% in Potato mode
  • ✓Switch in settings, low frame rate, effects off5 fps, still power display, no glow/halo/glass light/shimmer, plain hull, formula window without animation
  • ✓Release

5 · Competition mode

1.4.0

Several packs in one system. The fleet anchor is a fast frigate (the runner) that deals no DPS: the Thunderchilds' Vorton projectors hit it and the lightning arcs on to the NPCs. The Smartbombs module becomes Lightning rod: the damage the runner takes from the group, as Effective DPS from the runner's resists.

  • ✓Owner's description of the mode29.10.2026; test in the logs from 2026.10.28 20:37:59: 4 Thunderchilds, runner Jaguar, 379 Vorton hits on it in 15 min (avg 63 applied), ≈ 205 Effective DPS on average, up to ≈ 390 (EM 87 / Th 60 / Kin 87 / Exp 50)
  • ✓1. Settings → Modes tab: Standard / Competition; the runner's resists (EM, Thermal, Kinetic, Explosive %) in a small window in our UI: sketch → OK → coderesists (whole, ≤ 99), repair (≤ 300, one decimal), Vorton damage caused per ship EM / Kinetic (≤ 2500); over the limit the field turns red and shakes; one "?" card with the formula and the fields, scrolling (OK 29.10.2026)
  • ✓2. Data: the group's Vorton hits on the runner (the friendly target in the Thunderchilds' logs), its own formula: applied ÷ (1 − resist of the charge's damage types) + self-test on the owner's logsrod DPS = the runner's hits in 10 s × one shot (EM + Kinetic) ÷ 10; arcs between the Thunderchilds left out. Owner's test (shot 3590): ≈ 1 850 on average while the rod works, up to 3 590; the runner takes ≈ 33 hp/s from the Vortons, up to 64
  • ··2b. NPC damage on the runner: a thin white line in the Lightning rod graph, like the lines of the Vorton module (from the runner's own log; in the 28.10 test the runner's log has no combat lines 22:33–22:48 — to check)owner, 29.10.2026
  • ✓3. The Lightning rod module in place of Smartbombs (title, number, fx window with the Competition formula): sketch → OK → codenumber = DPS through the runner; under it the runner's hp/s against its repair (red when losing) (OK 29.10.2026)
  • ✓4. Graph: a running ECG-like line, spikes with spring easing, rotten-cherry colour with glow — tuned at the endon the middle line; a spring pen kicked by every hit, the trace runs left, a wave writhes through it; bright blood red with glow, NPC hits thin white (OK 29.10.2026)
  • ··5. Compact / Potato in Competition, 6 languages, check in game, releasecompact and potato renders fine, texts in 6 languages; ready for 1.4.0 (after 1.3.0) on the local branch release-1.4.0; checked in game by the owner 29.10.2026 — works as planned; left: release

6 · Classic mode

needs spec

Pure smartbombing battleship fleets without EDENCOM (Machariel, Praxis, Rokh).

  • ··Owner's description of the mode

7 · Chinese (zh)

1.5.0

zh.json and a CJK font: Microsoft YaHei from Windows or an embedded Noto Sans SC (about 10 MB).

  • ✓Font choiceMicrosoft YaHei UI from Windows, nothing to embed (Vista and later)
  • ✓Settings → General: languages in four columnsowner, 29.10.2026; test build zh1
  • ✓Translation (147 strings; game terms stay in English)
  • ✓Owner checks the screenshotsOK 29.10.2026
  • ··Native speaker check
  • ··Release

8 · Custom UI themes

planned

Player-selectable colourways; after compact mode.

  • ··Owner: which themes
  • ··Sketch → OK → code → release

9 · No-client alarm on the power display

1.3.0

When no EVE client is found, the power display turns slowly in the LOG lamp's red and now and then fails at random like a short circuit: out for a moment, or a dim stutter.

  • ✓Storyboard of the flicker → owner's OKsecond, calmer version approved 28.10.2026
  • ✓Code + self-test render
  • ✓Release1.3.0 published 29.10.2026

19 · ESS share: in hand against the bank

planned

Ratting in nullsec, part of each bounty is held back into the system's ESS bank (usually 15–30 %, depending on the system). The Norns shows what really reaches the wallet against what went to the ESS bank. Owner, 31.10.2026.

  • ··Find out from a real log: is the bounty in the combat log the full one or the part paid out; is the ESS share written anywhere in the logs
  • ··If the logs do not have it: the share per system entered once, or read from ESI (with item 10, opt-in)
  • ··The ISK module and Statistics: in hand and ESS bank side by side — sketch → owner's OK
  • ··Code, self-test, release

10 · ESS Escrow Payment

cancelled

The ESS escrow payment (every 20 minutes) added to the session total Σ. It is in no game log, so it comes from ESI: the wallet journal, opt-in and off by default.

  • ✓A sample of the log line29.10.2026: in no log — a payment at 02:29 is only in the wallet journal; none in 33 Gamelogs or 385 Chatlogs. Source: ESI
  • ··Owner: register the app at developers.eveonline.com (PKCE, no secret)
  • ··EVE SSO login per character, scope esi-wallet.read_character_wallet.v1 only; tokens stored with Windows encryption (DPAPI)
  • ··Poll /characters/{id}/wallet/journal/ hourly (ESI cache ~1 h), ref_type ess_escrow_transfer, dedupe by entry id; add to Σ (not to the site's ISK) + self-testpayouts arrive up to an hour late; offline payouts are caught too
  • ··Settings switch (off by default) — sketch → owner's OK
  • ··Release

12 · Settings: room for more pages

cancelled

More settings and pages will come; the screen has to make room for them.

  • ✓Languages in 3 columns, the switch rows 3 px tighterOK 28.10.2026
  • ✓Settings tabs scroll (◀ ▶ on the left, 4 shown, the open one in the accent): room for more pagesOK 28.10.2026; the wheel scrolls them too
  • ··Release

13 · Code signing

1.4.0

Sign TheNorns.exe and the installer with a code-signing certificate, so Windows and antivirus ML stop treating each new release as an unknown file.

  • ✓Build on GitHub Actions (Windows runner, native\build.ps1): the signed files must come from an automated build of the repository29.10.2026: .github/workflows/build.yml on release-1.4.0 (v* tags and by hand); a clean checkout builds and passes the installer self-test locally; not run on GitHub yet (not pushed)
  • ✓LICENSE: plain MIT text only (GitHub reads it as "Other" because the CCP disclaimer follows it); the disclaimer stays in README29.10.2026 on release-1.4.0

14 · Formula card animation

1.5.0

The formula / help card sometimes stutters badly while it slides in: its perspective is drawn row by row on every frame.

  • ✓Measure the frame time; draw the tilted card once per frame size, or a cheaper transform32 ms → 4 ms a frame: rows copied pixel by pixel instead of ~560 GDI+ calls with a colour matrix, the shadow drawn once; same look (test build fc1, 29.10.2026)
  • ✓Owner checks the slide-in in the test buildOK 29.10.2026
  • ✓·Release

15 · Client preview & switching

1.5.0 · off by default

One live preview of a client on the power display and switching between clients, after EVE-O Preview (ideas and its docs only; it is GPL-3, we are MIT).

  • ✓1. Client tracker: EVE windows by HWND (character / login), relogs, foreground via SetWinEventHookFleet.cs, test build fl1, 17 self-test checks; live: 5 clients found; config "fleet": true or --fleet-trace <file>
  • ✓2. One DWM preview in place of the power display: the client active at the moment; persistent DwmRegisterThumbnail, our overlay only theretest build fl2, checked live by the owner 29.10.2026: edges, moving with the body, switching without flicker; 7 switches, 0 DWM errors
  • ·–3. Magnetic snapping of the bodydropped by the owner 29.10.2026 after the test build fl3: not needed; reverted (7a79f5a)
  • ✓4. Activation as in EVE-O: restore, SetForegroundWindow + SetFocus, SwitchToThisWindow fallbackthe wheel is not input that lets Windows grant the foreground (fl4: all refused, taskbar flashing); fl5 joins the foreground input queue for that call - works, but 17-40 ms and uneven. Keys and clicks grant it: step 5
  • ✓5a. Hotkeys next / previous with RegisterHotKey, as EVE-O; held keys repeatconfig fleet_next / fleet_prev; Ctrl+2 forward checked live by the owner 29.10.2026 ("works well"); fl8 drops a needless second try (fl7: 28 ms a switch)
  • ··5. Hotkeys (RegisterHotKey + WH_KEYBOARD_LL, antivirus checked on test builds), cycle order, Toggle Skip; the owner's row of squares on the hull: click / scroll to flip clients
  • ✓5b. Settings → Eve-O tab: module lamp, live-picture lamp, hotkey fields (press to set; red when taken; yellow warning on EVE client default keys), scrolling, clients table with drag-and-drop order; the active character's name on the live picture (running line)test builds eo1–eo7, OK by the owner 29.10.2026
  • ··6. Non-animated minimize of the previous client (SetWindowPlacement, WPF_ASYNCWINDOWPLACEMENT), exemptions
  • ··7. Low priority for inactive clients without touching the client: priority / EcoQoS / CPU Sets, restored on activation; background FPS by the driver (NVIDIA Background Application Max Frame Rate)replaces Robin: no injection, no memory access (owner, 29.10.2026)
  • ··README / Legal / hull band texts for the module (later, owner)

16 · Updates in one click

1.5.0

The app downloads and installs a newer release itself. The version plate blinks; a click shows "1.x.x is available — Update"; the rest goes on its own. Settings → General: "Install updates automatically" (off by default). Works from the version that brings it on (1.1–1.3 update by hand once). After code signing: a self-updating unsigned exe looks like a downloader to antivirus heuristics.

  • ✓The version plate blinks when a newer release is out (as now)
  • ✓A click on it shows "1.x.x is available — Update"
  • ✓"Update": the app downloads the installer from GitHub Releases itself (no browser), checks its SHA-256 (after signing also the signature), closes, installs the new version over the old one quietly (no admin rights, settings kept) and starts again
  • ✓Settings → General: "Install updates automatically", off by default (on: the same without the click, never in the middle of a site)
  • ✓Installer: a quiet mode (no pages, same folder and shortcuts)
  • ✓Privacy texts (README, installer, settings): the download described, with its switch
  • ✓Sketch → owner's OK → code → release

17 · Settings typography and structure

1.5.0

A full rework of the settings' structure and typography: one font for the whole settings interface (now Orbitron caps, Space Grotesk and the Windows font for Ukrainian / Chinese mix), sizes that read well on every page and in every language. Fallback: the settings move to a window of their own when readable sizes do not fit on the body's screen.

  • ✓·1. Systematize the sizes in use and name them: a type system (H1, H2, H3, body, label, caption…) with size, weight, font and case for each29.10.2026: proposal in the "Norns Type System" artifact (86 places, 14 named styles); waits for the owner's OK
  • ✓·2. Audit the whole interface: a screenshot of every screen with each text marked by its style from the system (body, settings, cards, installer)29.10.2026: 13 screens, 288 texts framed and named by a recording self-test build (not committed), in the Norns Type System artifact; 49 texts change size
  • ✓3. Choose one font for the settings, close to the current one (OFL, Latin + Cyrillic, a Chinese fallback with the same cap height)30.10.2026: owner chose Noto Sans (Latin, Cyrillic; Noto Sans SC for Chinese still to decide, about +10 MB)
  • ✓·4. New structure of the pages, sketches on the body's screen → owner's OK30.10.2026: structure proposal (5 tabs + Statistics / About keys) in the Norns Type System artifact, waits for OK
  • ✓·Fallback, if readable sizes do not fit: the settings in a separate window in the body's style (sketch → OK)
  • ✓·Code, the installer's pages in the same type, release

18 · Statistics and the calendar

1.5.0

Every session kept on the PC across updates, a scrolling list, a calendar card, titans and pirate dreadnoughts per session.

  • ✓The list scrolls; the totals at the bottom on the right; the period on the left, the calendar key on the right
  • ✓Calendar card: days with a session dotted in the accent, a day or a period
  • ✓One click: Today, Quarter, Year; All sessionsowner, 31.10.2026: asked for the roadmap, then to do it before the release
  • ✓Titans (skull) and pirate dreadnoughts (swords) in red, each icon with a tip; icons keep their place in the column
  • ✓Every scroll bar can be pulled with the mouse (Carousel, Statistics, scrolling cards)