Commit Graph
7 Commits
Author SHA1 Message Date
Kaloyan DanchevandClaude Opus 4.6 764af371b9 Add glass card rendering and 6 card types for HA tab
Implement the full Home Assistant tab with room-based navigation
and glass-morphism card rendering:

- Toggle card: on/off for lights, switches, covers with state indicator
- Range card: dimmable lights with brightness bar and D-pad ±10% control
- Climate card: current/target temp, HVAC mode, D-pad ±0.5°C, sparkline
- Action card: one-shot activation for scenes and scripts
- Vacuum card: summary card that opens room selection modal
- Weather card: hero card with condition icon, temp, humidity, wind

Navigation: room tabs (horizontal pills), card grid (3-col), vacuum
modal with room multi-select, cleaning mode cycle, and start button.
Back button cascades: vacuum modal → card grid → room tabs → Home page.

Glass design: rgba(255,255,255,0.12) fill, 22px radius, 1px border at
0.15 opacity, elevated shadow on focus. Accent color #7EB8DA for active
entities, warm orange for heating, cool blue for cooling.

Wires Effect::Ha to dispatch toggle/brightness/temperature/scene/vacuum
service calls through ha_client. Adds 6 new SVG icons matching the
existing Lucide stroke style.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-10-24 12:14:07 +03:00
Kaloyan DanchevandClaude Opus 4.6 98dd75ab0e Add Notification Center and Game Optimizer themes
Extend Luma-style dark theme to two more Enact web overlays:
- com.webos.app.notificationcenter: dark pills, transparent
  compositor, notification-specific components
- com.webos.app.gameoptimizer: same plus GameItem, GameButton,
  GameSwitch, GamePanel custom components

Rename build.js → build.cjs (ESM compat) and update to build
all three themes from a single script.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-10-24 12:07:09 +03:00
Kaloyan DanchevandClaude Opus 4.6 14db4f6e71 Add Home Assistant WebSocket client module
CI / Identify a merged version PR (push) Canceled after 0s
CI / Rust checks, rendering, and native package (push) Canceled after 0s
CI / Publish release and Homebrew feed (push) Canceled after 0s
Release PR / Maintain Version Packages PR (push) Canceled after 0s
- New ha_client.rs: background-thread WebSocket client using tungstenite
  with rustls TLS. Handles auth, state subscription, service calls, and
  recorder/statistics history fetch for climate graphs. Auto-reconnects
  on disconnect with 5s delay.
- HaState added to State struct: tracks connection status, entity states,
  and temperature history per entity.
- main.rs loads ha-home/config.json at startup, extracts all referenced
  entity IDs, and creates the HaService. ha_tick() drains responses into
  state each frame, matching the weather_tick pattern.
- tungstenite 0.24 added to Cargo.toml with handshake + rustls features.

All 84 existing tests pass.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-10-24 12:00:09 +03:00
Kaloyan DanchevandClaude Opus 4.6 cbea5a322f Merge Luma launcher fork into monorepo
CI / Identify a merged version PR (push) Canceled after 0s
CI / Rust checks, rendering, and native package (push) Canceled after 0s
CI / Publish release and Homebrew feed (push) Canceled after 0s
Release PR / Maintain Version Packages PR (push) Canceled after 0s
Move trampoline files (boot-hook, watcher, overlay) into trampoline/
subdirectory. Add upstream Luma v2.3.1 source at repo root with our
additions:

- Page::Ha (4th nav tab) with placeholder empty state
- HA tab config schema and default entity mapping (ha-home/)
- Nav keys renamed: "home" → "start", new "ha" tab between Apps and Settings
- All state.rs/view.rs/main.rs/tests.rs updated for 4-tab navigation

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-10-24 11:52:55 +03:00
Kaloyan DanchevandClaude Opus 4.6 bc3ca0f3b9 Add build script and gitignore for settings theme
Build script minifies and base64-encodes the theme for telnet transfer.
Outputs to settings-theme/dist/ (gitignored).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-10-24 11:44:04 +03:00
Kaloyan DanchevandClaude Opus 4.6 ad306bc6bc Add Settings app transparent theme (V5.6)
Enact-injected CSS/JS theme that makes com.palm.app.settings fully
transparent so the Luma wallpaper shows through. Uses PalmSystem
compositor transparency + a global wildcard to strip all backgrounds,
then selectively restores dark pills (0.65 opacity) on menu items and
white pills on focused elements.

Key features:
- Dark transparent pills on all menu items (both sidebar tabs and
  content items)
- White pill + dark text on focused items
- Collapsed sidebar: white circle with dark icon for selected tab
- Disabled items: forced opacity on content children to remain readable
- All CSS transitions/animations disabled to prevent grey intermediate
  states during navigation

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-10-24 11:41:25 +03:00
Kaloyan DanchevandClaude Opus 4.6 332bbc8fe2 Initial commit — Luma Home trampoline for webOS 5/6
Bind-mounts a transparent web page over LG Home that launches Luma
via WebOSServiceBridge, with a subscription-based background watcher
as fallback. Tested on LG 65NANO813PA, webOS 6.5.3.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-10-23 19:01:45 +03:00