Skip to content

Add brand icon and a single-page day simulator - #6

Merged
vfilby merged 2 commits into
mainfrom
worktree-logo-and-simulator
Aug 18, 2026
Merged

Add brand icon and a single-page day simulator#6
vfilby merged 2 commits into
mainfrom
worktree-logo-and-simulator

Conversation

@vfilby

@vfilby vfilby commented Aug 18, 2026

Copy link
Copy Markdown
Owner

Two additions, no integration-logic changes:

Brand icon: SVG source in assets/, rasterized 256/512 PNGs in custom_components/shade_engine/brand/. Since HA 2026.3, brand images shipped inside the integration are served locally and take priority over the brands CDN (home-assistant/brands stopped accepting custom-integration PRs in Feb 2026), so the integrations-page placeholder goes away as soon as this version is deployed — no external submission needed. The README now shows the icon.

Simulator (docs/simulator.html): a self-contained single page — paste zone YAML (same schema as configuration.yaml), pick a date/location/sky, and it plays the whole stack through one day:

  • JS port of calculator.py (eye-zone + reflected-glare constraints) — verified identical to the Python on a 3,536-case grid across four geometry styles
  • JS port of core.py actuator semantics: deadband, rate limiting that defers, settle window, manual-move holds (with an injector control to watch a hold start and expire, verified: 60-min hold then forced reconcile)
  • NOAA solar position + synthetic outdoor-lux model, and the lux/elevation policy ladder with every threshold editable
  • per-zone day timelines with mode strips and command markers, hourly data tables, and a scrubbable room cross-section that draws the sun ray, eye zone, and reflector bounce
  • ?t=17:00&date=2026-08-17 URL params to deep-link a moment

🤖 Generated with Claude Code

vfilby and others added 2 commits August 17, 2026 20:02
- brands/shade_engine: icon.svg source plus 256/512 PNGs laid out for a
  home-assistant/brands custom_integrations submission (the integrations
  page loads images from brands.home-assistant.io, so the icon shows up
  once that PR merges); README logo.
- docs/simulator.html: self-contained simulator — paste zone YAML, pick
  date/location/sky, and it plays a full day through JS ports of
  calculator.py (eye-zone + reflected-glare, verified identical to the
  Python on a 3,536-case grid) and core.py (deadband, defer-not-drop
  rate limiting, settle window, manual-move holds), driven by a NOAA
  solar model, a synthetic outdoor-lux curve, and an editable
  lux/elevation policy ladder. Per-zone timelines with mode strips, a
  scrubbable room cross-section showing eye zone and reflector bounce,
  and a manual-move injector to demo the hold lifecycle.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
home-assistant/brands stopped accepting custom-integration PRs in Feb
2026; since HA 2026.3 an integration's own brand/ directory is served
locally and takes priority over the brands CDN. Move the PNGs to
custom_components/shade_engine/brand/ and keep the SVG source in
assets/. The icon appears on the integrations page as soon as this
version is deployed — no external submission involved.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@vfilby
vfilby merged commit 2c3f8b1 into main Aug 18, 2026
3 checks passed
@vfilby
vfilby deleted the worktree-logo-and-simulator branch August 18, 2026 03:06
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