From 6acfaede2d69f8b7037399f8efeee1e05aa6eb84 Mon Sep 17 00:00:00 2001 From: igneum-labs <337424239+igneum-labs@users.noreply.github.com> Date: Mon, 5 Oct 2026 19:22:52 +0000 Subject: [PATCH] docs/plans/miner-ui-2.md: the gpu-hotplug merge, the PC 1 Windows compile, the 0.3.10 changelog paragraph Co-Authored-By: Claude Fable 5.1 --- docs/plans/miner-ui-2.md | 58 ++++++++++++++++++++++++++++++++++++++-- 1 file changed, 56 insertions(+), 2 deletions(-) diff --git a/docs/plans/miner-ui-2.md b/docs/plans/miner-ui-2.md index 22c31cab5..e17682291 100644 --- a/docs/plans/miner-ui-2.md +++ b/docs/plans/miner-ui-2.md @@ -3,7 +3,8 @@ the project lead, 18:40 UTC: "can any updates be made to the UI of the miner? different sections for different features. Made super simple for users, all settings super easy and simple and everything looking gorgeous, as close to shippable as we can get right now." Worktree `/Users/joshm/Projects/igneum-wt-miner-ui`, branch `miner-ui-2` from master -a93199a. Ships as 0.3.11 after the project lead has seen the screenshots. Times are UTC. +a93199a. the project lead approved the redesign from the screenshots (20:1x UTC) and moved it into 0.3.10: the 0.3.10 shipper merges +`miner-ui-2` last and rebuilds the app. Times are UTC. ## 1. What changed @@ -110,8 +111,61 @@ Follow-ups (engine work, not built here; the budget was three small additions): | Temperature and power on Apple silicon | the engine reads no telemetry for Metal; `powermetrics` needs root, so this stays blank unless a non-root source is found | | A per-card "pause this card" without restarting the others | exists already through the row switch (only that card's worker restarts); nothing to do unless the project lead wants a timer | -## 5. The branch +## 5. The 0.3.10 merge: gpu-hotplug (4d122e1) resolved on the new UI + +The branch was merged with `gpu-hotplug` 4d122e1 (the 0.3.10 tree carries it). The engine, relay and tooling files +merged by themselves; `app.js` and `app.css` were taken from this branch and the hot-plug UI ported by hand: + +| Hot-plug state | On the six-section UI | +|---|---| +| The strip notices (card added, mining; new card not usable (Code 43); card removed) | the Notices block is gpu-hotplug's, unchanged; `notices.test.mjs` (12) passes | +| A card the OS reports a problem on (`problem`, "Code 43") | Mine row: name in ember, the word "not usable (Code 43)", the reboot hint under it, the switch disabled; the Mine note repeats the hint; first-run row and Settings card say the same, with no controls | +| A removed card (`removed_at`) | Mine row dimmed, the word "removed", "unplugged; its worker stopped. The row goes in five minutes."; no switch; Settings card says the same; after five minutes (`gone`) the row is not shown | +| The counts and the big button | only present cards count (a removed or faulty card never makes the button say "Stop mining") | +| The name tooltip | the tool's code (gfx1201), the device index, the OpenCL platform, the PCI address (`View.cardTitle`) | +| The card list sent on a switch | removed and faulty cards are left out, as gpu-hotplug's `readCardRows` does | + +`view.test.mjs` has an eleventh test for the two states. The whole app crate's unit tests pass on the merged tree +(99, on the Mac under the build lock, `cargo test --release --bin igneum-app`). `relay/test/parse.test.mjs` +passes. The Mac engine builds and runs (the same scratch instance as section 3). + +Build tooling for the Windows compile: `packaging/windows/push-build-inputs.sh --no-node` and +`node tools/build-job.mjs run --no-node` pack and build the app engine only (no node source, no node build, no node +tests), so an app-only change compiles on PC 1 in a fraction of the full job. + +PC 1 job (20:21Z, from this tree at d62b445, `node tools/build-job.mjs run --target ae432dc7 --no-node --targets +windows --no-tests --no-place`): extract 167 files, `windows app/igneum-app build exit 0 6 s` (the PC's target dir +was warm), `igneum-app.exe` 2,970,112 bytes sha256 62ce96a9..., PE check ok, coin icon and version block ok, done +after 13 s. The exe carries the new UI and engine strings ("Prove shards on this machine" x2, `consensus_switches` +x6, "Consensus params digest:" x1, `card:removed:` x1), so the 6 s was a real compile of the merged sources, with +gpu-hotplug's Windows-only `detect::adapters` path and this branch's prover change in it. Downloads under the session +scratchpad (`pc1-app/`), not placed. + +The ship tool runs no node tests of its own (`tools/ship-app.mjs --self-test` is the version bump), so the only +list to carry `view.test.mjs` is `.github/workflows/ci.yml` (done in 83a293f). + +What the PC job does not compile: `app/windows/host.cpp` (the window host with the `WM_GETMINMAXINFO` and +`WM_DEVICECHANGE` cases) is built by the GitHub runner (`windows.yml`) at the shipper's push, never on a PC; the +`WM_GETMINMAXINFO` case is three lines of plain Win32 (`MINMAXINFO`, `ptMinTrackSize`) and reads at the runner's log. + +## 6. The changelog paragraph for the 0.3.10 manifest notes (what the user sees) + +The miner has six sections behind a rail: Mine, Prove, Rewards, Node, Updates, Settings. Mine has one big Start +mining / Stop mining button, the hash rate, the blocks found, and one row per graphics card with its name, an on/off +switch, its hash rate, temperature and power. Prove says in plain words what proving is and shows the shards +assigned, proven and paid, the verifier and the program ids. Rewards shows the address with one Copy and keeps the +key backup in its own card. Node shows the sync, height, peers and version with a plain line under each, the +consensus digest, and the list of planned rule switches with the next one and its height. Updates holds the +version, Check now and the remote jobs. Settings has one switch or slider per setting with one line of help under +each: the power cap per card with the watt number, identities, start at login, remote jobs, voting, the dev fee +stated plainly, the log. The window lays out from 900 x 600. Not in this release: the balance on Rewards (shown in +the wallet), a "pause while I use the machine" switch, log export as a file, temperature and power on Apple +silicon. + +## 7. The branch | Commit | What | |---|---| | 83a293f | the UI pass, the three engine additions with tests, the hosts' minimum size, this plan and the 19 screenshots (the blank marker in a GPU row is `n/a`, not a dash: copy law) | +| 364feef | this plan's hash line | +| d62b445 | Merge gpu-hotplug 4d122e1: the hot-plug states on the new UI, `--no-node` for the build tools |