github ReikanYsora/Helios v1.8.2-alpha.10
v1.8.2-alpha.10: pool transplant, basemap fix

pre-release2 hours ago

Pool transplant moves the container, not its children, basemap stops going black

Diagnostic on v1.8.2-alpha.9 confirmed the engine pool catches the per-commit WebGL respawn correctly. The enginesCreated counter stopped incrementing on slider drag, the only remaining bumps came from legitimate new card mounts (editor preview pane). The visible artefact that remained was the basemap turning black when entering edit mode: the pool was successfully grafting the previous MapLibre stack into the editor preview pane but the transplant broke MapLibre's rendering.

Root cause

The alpha.9 implementation moved every CHILD of the old container into a freshly-rendered new container and updated MapLibre's private _container reference so future operations would land on the new node. The new container started life at 0×0 dimensions in the new shadow root, map.resize() baked that into the canvas, the basemap requested its tiles at the wrong viewport and the result was a black square.

Fix

reparentInto(targetSlot) replaces transplantToContainer(newContainer). Instead of moving children, the helper moves the WHOLE old container DOM node into the new shadow root, replacing the freshly-rendered empty <div id="map-container"> wholesale. MapLibre's _container reference stays valid because we never reach into the private field. The moved container keeps its existing children, its CSS class names and its ResizeObserver wiring. A requestAnimationFrame follow-up resize handles the typically-identical new dimensions once the new shadow root completes its first layout pass.

Validation

After installing, enter edit mode and inspect:

  1. The basemap should render normally in the editor preview pane.
  2. window.heliosStats() before and after a slider drag should show enginesCreated unchanged. The expected increments are only for legitimate new mounts (preview pane creation on edit-mode entry).
  3. No black square in the preview pane during editing.

Installation

Pick v1.8.2-alpha.10 in HACS (show beta versions toggle), or download helios.js from this release and drop it under config/www/community/helios/ replacing the existing bundle. Refresh the dashboard.

Don't miss a new Helios release

NewReleases is sending notifications on new releases.