The Norns · roadmap

Features after 1.1.0.

122 / 145 steps (84%)

Release 1.5.3 · hotfix

06.11.2026

Published 06.11.2026: https://github.com/MadisonCatfish/the-norns/releases/tag/v1.5.3

  • ✓Display tab freeze fixed: the ノルン animation's start 438 → 4 ms
  • ✓CPU: glass light kept while the mouse rests; one frame buffer; kept brushes; Cube wave without arrays; Read logs pre-filter
  • ✓Code review and cleanup: −1 300 lines of the 1.0 look; every self-test picture matches 1.5.2
  • ✓Version, CHANGELOG, README; release build, self-tests, installer self-test; notes with SHA-256
  • ✓main + tag v1.5.3 pushed, release Latest, both assets' SHA-256 checked after download; one-click update finds it
  • ✓Site update by Gemini (publish\gemini-1.5.3.md); VirusTotal

Release 1.5.2

06.11.2026

Published 06.11.2026: https://github.com/MadisonCatfish/the-norns/releases/tag/v1.5.2

  • ✓UI review fixes: key marks, band without ⚠ and MOD 1.0, one red and one dread tone as tokens, lamps with a rim, one row step, Data warning sign and reset check, What's new by points
  • ✓Statistics: columns Session Length Per site Anom spawns ISK with headings; zeros blank
  • ✓No EVE client: the empty graph says so; the anomaly timer fades after 5 s without a client
  • ✓Code review (8 findings) fixed; test builds carry a TEST BUILD label on the band
  • ✓Version, CHANGELOG, README; release build, self-tests, installer self-test; notes with SHA-256, screenshot, press list
  • ✓main + tag v1.5.2 pushed, release Latest, both assets' SHA-256 checked after download; one-click update finds the installer's hash
  • ✓Check VirusTotal for the 1.5.2 installer and zip; site update by Gemini (publish\gemini-1.5.2.md)

Release 1.5.1

05.11.2026

Published 05.11.2026: https://github.com/MadisonCatfish/the-norns/releases/tag/v1.5.1

  • ✓Item 20: the tray — icon, menu, state dot, alarm flash, tip with DPS / ISK, Close to tray, Start in the tray; no taskbar button
  • ✓Item 21 and the minimize key: minimize (yellow) › compact / full mode (green) › close
  • ✓Update in one click: the installer downloaded from GitHub, checked against the release notes' SHA-256, started
  • ✓Fix: the update check reads the latest release page (the API refused after 60 requests an hour per IP)
  • ✓Statistics → Read logs: spawns from the game's logs added to the saved sessions
  • ✓Power display animations in Settings → Display with live previews: Working, Cube wave, ノルン, Flow field
  • ✓Item 1: false re-warps rush a random time to 00:00; over 2 minutes idle the timer stays dark
  • ✓Build, self-tests, installer self-test, main + tag v1.5.1 pushed, release Latest, both assets' SHA-256 checked after download
  • ✓Check VirusTotal for the 1.5.1 installer and zip; site: new clips (buildnim151\web) and texts

Release 1.5.0

02.11.2026

Carousel, the new settings (5 tabs + Statistics / About), Statistics with the calendar, Noto Sans / Noto Sans SC, the glass dirt light, titans and pirate dreadnoughts, Chinese, formula cards. https://github.com/MadisonCatfish/the-norns/releases/tag/v1.5.0

  • ✓Build, self-tests (every tab clickable from Carousel), installer self-test
  • ✓Secret scan before publishing: the site's seed admin password moved out of the code into .envstill in the git history (dfd27a1): the owner changes it wherever it is used
  • ✓Site texts reworded ("No Input Sent")
  • ✓main + tag v1.5.0 pushed, release Latest, both assets' SHA-256 checked after download
  • ✓Owner: change the old admin password; redeploy the site
  • ✓Check VirusTotal for the 1.5.0 installer and zip

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 · rework the fade

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 between two warps): in red a random time under a minute rushed down to 00:00 (0.9–1.8 s), held until the first hitowner, 05.11.2026; 1.5.1
  • ✓Re-warp: ignore long gaps between warps (a new session, a dock-up) — 1.5.1: over 2 minutes with no hit the timer stays darkgaps of 1 202 s and 61 503 s in the logs would show as re-warps; a threshold to choose
  • ✓Clear time in session statistics1.5.2: Statistics columns Length and Per site (the mean clear time of the session's sites)
  • ·Rework how the clear time fades outowner, 06.11.2026: it does not behave as wanted yet; with no EVE client found it still covers the "No EVE client running" text. 1.5.2 hides it after 5 s without a client: to be designed with the owner (when it fades, how fast, what takes its place)
  • ✓Release1.2.0 published 27.10.2026

2 · Faction spawn statistics

1.3.0

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)1.3.0 published 29.10.2026
  • ✓Titans and pirate dreadnoughts in their own columns of Statistics1.5.0, item 18

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 · more next

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, releasechecked in game by the owner 29.10.2026; 1.4.0 published

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 · native check

zh.json and an embedded CJK font, Noto Sans SC (subset to GB2312 and our strings, 2.2 MB a weight).

  • ✓Font choicefirst Microsoft YaHei UI from Windows; 30.10.2026 the owner chose Noto Sans SC with item 17
  • ✓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
  • ✓Release1.5.0 published 02.11.2026

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

20 · Minimize to the tray

1.5.1

The body hides to the notification area instead of the taskbar and keeps reading the logs; the tray icon brings it back and holds the main actions. Owner, 04.11.2026.

  • ✓Tray icon (NotifyIcon) in the app's style; a click shows or hides the body
  • ✓A minimize key on the body left of the close key, as large, yellow under the mouse in the red's tone, a tip in 7 languagestest build min1, 04.11.2026; minimizes to the taskbar until the tray icon is in
  • ✓Settings → General: "Minimize to tray" and "Close to tray" (off by default), "Start minimized"
  • ✓Tray menu: Show / Hide, Settings, Statistics, Compact and Potato mode, Check for updates, Exit
  • ✓The icon shows the state: logs followed, no client, a newer version out (and the titan / dreadnought alarm while hidden)
  • ✓Tooltip on the icon: the fleet's DPS and the anomaly's ISK
  • ✓Sketch of the icon and the menu → owner's OK → code, 7 languages, self-test, release

21 · Compact / full mode key

1.5.1

A key on the body switches compact and full mode without opening Settings → Display. Owner, 04.11.2026: first asked as a window scale key, then the key was given to the modes.

  • ✓Three keys in a row, as large as Close: mode › minimize › close, in full and compact modeowner, 04.11.2026; test builds min2–min4
  • ✓Green under the mouse, softer, with a touch of yellow (#56A838); a tip "Compact mode" / "Full mode" in 7 languagestest build min4
  • ✓Owner checks the test build; commit; release with 1.5.1

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
  • ·Legal, README, privacy policy: network use beyond the update check (matters for SignPath)
  • ·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

route to choose

Sign TheNorns.exe and the installer through SignPath Foundation (free for open source), so Windows and antivirus ML stop treating each new release as an unknown file. The publisher shown is "SignPath Foundation".

  • ✓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)
  • ✓README: "Code signing policy" section (free code signing by SignPath.io, certificate by SignPath Foundation; team roles: author, reviewer, approver) and a privacy policy (the update check at start is the only network request)29.10.2026: Privacy and Code signing policy sections on release-1.4.0; the policy is not yet shown in the installer
  • ✓Owner: two-factor authentication on GitHub (required for every member)done 29.10.2026
  • ✓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
  • ✓Owner: apply at signpath.org/apply; they may decline at their discretionsubmitted 29.10.2026 (form filled by Claude, sent by the owner); answers in publish\signpath-application.md; the form also wants the download page to mention SignPath and a Reputation field (19 downloads, 1 star now)
  • ✓Installer: show the privacy policy during installation (SignPath rule for software that sends data: the update check) — sketch → owner's OK29.10.2026: Privacy section + "Check for updates at start" switch on the folder page (66d4bc4, release-1.4.0)
  • ✓1.4.0 release notes mention SignPath code signing (the form checks the download page)
  • ✓Signing step in the release workflow; each release approved by hand in SignPath
  • ✓–SignPath Foundation's answer30.10.2026: declined for low public visibility (stars, forks, articles); reapplying is welcome later. 1.4.0 and 1.5.0 went out unsigned, with SHA-256 in the notes
  • ·Owner: choose a route — unsigned + SHA-256, Certum open-source certificate, Azure Trusted Signing, paid SignPath, or reapply later

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
  • ✓Release1.5.0 published 02.11.2026

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). Branch fleet-preview; backup before it: tag backup/pre-fleet-preview and C:\The Norns Backups\2026-10-29_before-fleet-preview.

  • ✓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 SignPath 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 · installer next

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 eachthe "Norns Type System" artifact — https://claude.ai/artifact/DdnwZbdYfk9N4toBAKhMGo; sizes set by the owner 31.10.2026
  • ✓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
  • ✓3. Choose one font for the settings, close to the current one (OFL, Latin + Cyrillic, a Chinese fallback with the same cap height)owner: Noto Sans, Chinese in Noto Sans SC (embedded, subset)
  • ✓4. New structure of the pages, sketches on the body's screen → owner's OK5 tabs + Statistics / About keys, OK 31.10.2026
  • ✓–Fallback: the settings in a separate windownot needed: the sizes fit on the body's screen
  • ✓Code, release1.5.0 published 02.11.2026; also the glass dirt lit by the cursor and the version plate in the accent
  • ·The installer's pages in the same type

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)
  • ✓Release1.5.0 published 02.11.2026