Skip to content

Feature/rebranding micropython generic focus - #1

Merged
DrSkunk merged 7 commits into
mainfrom
feature/rebranding-micropython-generic-focus
Sep 24, 2026
Merged

DrSkunk merged 7 commits into
mainfrom
feature/rebranding-micropython-generic-focus

Conversation

@DrSkunk

@DrSkunk DrSkunk commented Sep 24, 2026

Copy link
Copy Markdown
Owner

Generalize the IDE to be more generic MicroPythonOS

Sebastiaan Jansen and others added 7 commits September 24, 2026 11:30
Generalizes the product from a Fri3d-badge-specific tool into a generic
MicroPythonOS IDE:

- Rename product identity across package.json, index.html, PWA manifest,
  docs (README/CONTRIBUTING/SECURITY/CHANGELOG), CSS brand tokens, internal
  event/storage-key constants, and English + 20 other locale files.
- Replace the Fri3d-specific logo with a generic placeholder wordmark.
- Add a device workspace picker on the Welcome page, letting users choose
  between a generic MicroPythonOS virtual device skin and the Fri3d Badge
  2026 skin (persisted, defaults to Fri3d Badge 2026 for continuity).
- Refactor public/vbadge/index.html to support both skins via a ?skin=
  query param while keeping shared DOM ids/button data-attributes.
- Add real-device kind detection (generic MicroPython / MicroPythonOS /
  Fri3d Badge 2026) via mpos.DeviceInfo.get_hardware_id(), scoping app
  template warnings, side-menu doc links, and an About-panel device badge
  by the active device kind.
- Update and extend tests (unit + e2e) accordingly.
…nOS)

Adds a generic IDE-chrome theming system, independent from device
workspace and light/dark color theme:

- New settings.uiStyle ('fri3d' | 'micropythonos'), persisted like other
  settings, mirrored to <html data-ui-style> by services/theme.ts.
- 'fri3d' (default) keeps the existing neobrutalist look (hard black
  borders, brutal drop shadows, sharp corners) unchanged.
- 'micropythonos' is a new, softer generic look: blue/teal palette, muted
  slate borders, diffuse shadows, rounded buttons/dialogs, and a plain
  system heading font. Implemented as attribute-scoped CSS overrides in
  index.css so existing component classNames don't need to change, and
  composes correctly with the existing light/dark toggle.
- New 'Look' selector in Settings (next to the existing color Theme
  selector) lets users switch manually; nothing switches automatically.
- Updated CHANGELOG.md and added the new i18n strings to en.json.
Replaces the invented placeholder wordmark (purple square + mu glyph)
with the upstream MicroPythonOS project's actual logo mark, an ouroboros
symbol from https://github.com/QuasiKili/MPOS-logo (MIT licensed):

- AppLogo.tsx now renders the real ouroboros path (currentColor fill, so
  it adapts to both UI styles and light/dark mode) instead of a rounded
  square with a mu glyph.
- Regenerated favicon.svg/.ico, favicon-96x96.png, apple-touch-icon.png,
  and the 192/512 PWA manifest icons from the same source symbol, since
  they still carried the old Fri3d badge silkscreen artwork.
- Documented the logo's origin/license in README.md and noted the change
  in CHANGELOG.md.

Per user preference, the invented 'micropythonos' UI style color palette
is left as-is (not aligned to the real MicroPythonOS site's navy/teal/
coral palette).
…yout

Restyle the generic MicroPythonOS virtual device skin as a taller,
narrower shape with a plain LED strip on top, screen in the middle, and
a D-pad + X/Y/A/B/MENU/START cluster below, instead of reusing the
Fri3d Badge 2026 silkscreen's exact horizontal layout. No functional
input changes; also fixes an unused --screen-cy that the new layout
now relies on.
The generic MicroPythonOS skin's D-pad buttons only toggled the digital
direction bits in the emulated webio.buttons bitmask, leaving joy_x/joy_y
at their center value. Apps that read the joystick position directly
(e.g. Columns) never saw D-pad input as a result, even though the same
digital bits work fine for LVGL group/key navigation. The D-pad now also
drives joy_x/joy_y to full deflection while held, matching what dragging
the Fri3d skin's joystick nub already does.

Verified interactively: pressing left/right in Columns now moves the
falling piece, matching the Fri3d skin's joystick behavior.
This reverts commit 051a5bf5616bff32fc2f57cf953b856f36297c62.
@DrSkunk
DrSkunk merged commit 5ad13d0 into main Sep 24, 2026
1 check passed
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