Skip to content

feat(ui): black and red redesign with module thumbnails - #2

Open
pawel120 wants to merge 5 commits into
mainfrom
ui/lab-instrument
Open

pawel120 wants to merge 5 commits into
mainfrom
ui/lab-instrument

Conversation

@pawel120

@pawel120 pawel120 commented Oct 8, 2026

Copy link
Copy Markdown
Collaborator

New look for the app: black background with red accents, inspired a bit by the PWr Racing Team style. Layout and features stay the same as on main, this is mostly a visual change. Font is Barlow, bundled locally through @fontsource so it works with the CSP.

What changed:

  • Shell: title bar with the logo and "Modular Brain-Computer Interface", navigation with icons on the left (red bar on the active page), app version at the bottom of the sidebar, device panel on the right.
  • Dashboard: module cards with a thumbnail, name and version, description, category / "EEG required" tags and a red Open button.
  • Modules and devices can have thumbnails now. Modules already had appearance.thumbnail in the manifest, I added thumbnails for Cortex, Miner and Neuorrun in public/modules/<id>/thumbnail.webp. Devices got an optional thumbnail field in DeviceInfo. If there's no image (or it fails to load) the card just shows without it.
  • Device page: devices are shown as cards in the same style as the modules.
  • Cortex, Miner and Neuorrun recoloured to match. Brain shaders are kept, only the colour ramp was tuned. The SSVEP stimulus in Miner (squares, sizes, colours, frequencies) is untouched.
  • Welcome screen: only colours changed, content and timing are the same.
  • In dev builds there are simulated devices (the existing SimulationEEGAdapter and a new SimulationBrainMetricsAdapter), so every module can be opened without a headset. They're not registered in production.

Cortex fixes:

  • Rotation was stuttering a lot. The Welch PSD step took 5-11 ms every ~100 ms on the main thread, so the signal processing now runs in a Web Worker.
  • The wireframe overlay draws ~750k lines per frame on the medium mesh, which is very slow in WebView2, so it's not drawn anymore.
  • The camera used to roll the head sideways when dragging horizontally. Now it turns around the vertical axis, and resizing the window doesn't reset the view.

Things to look at:

  • The module thumbnails are placeholders cut from a mockup. If someone has real screenshots or artwork, just replace the files, nothing else needs to change.
  • main is already merged into this branch, so there shouldn't be conflicts.

Tested:

  • typecheck, lint, prettier, tests (95/95) and build pass locally.
  • Clicked through everything in the browser with the simulated devices.
  • Not tested yet with real BrainAccess / BrainLink or in the Tauri window, so it would be good to run the end-to-end flow from the README before merging.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant