skill
Adom UI Design System
Public Made by Adomby adom
How the AI builds and tests interfaces people love to use in Adom. Ships as one installable skill that bundles focused skills (tooltips, floating-windows, toasts, responsive-ui, app-shell, ai-driven-apps, clickable-paths).
← Commit history
2.1.6 (doc only, module bytes unchanged): make the half-booted state unreachable and read a boot marker instead of inferring from rendered regions
2 files changed
+13−1
package.json+1−1@@ -1,6 +1,6 @@ { "slug": "adom-ui-design",- "version": "2.1.5",+ "version": "2.1.6", "type": "skill", "description": "The Adom UI Design System plus a bundle of focused UI skills (tooltips, floating-windows, toasts, responsive-ui, app-shell, ai-driven-apps, clickable-paths, dark-default, input-feedback, settings-layout). One install drops the whole set of skill files onto your container, plus shared icon assets (the settings cog) so every Adom app draws the same glyph.", "dependencies": {},
skills/newbie-panel/SKILL.md+12@@ -189,6 +189,18 @@ Deleting your hand-rolled panel is the part that breaks pages, not mounting the rather than dead. **The reliable split is whether the LAST boot statement ran:** set a marker at the end of boot and check it, or check that your poll interval exists. Never infer boot health from any single rendered region.++ **Better than a detector: make the half-booted state unreachable.** project-manager found+ its page had exactly the fatal ordering (`ledsRefresh()` before `mount()`, so a mount throw+ paints pills and no panel) and instead of adopting a better heuristic it removed the+ fragility: every boot region independently guarded so a throw in one cannot take the others+ with it, a marker set LAST carrying which regions failed and why+ (`window.__pmBoot = {complete, failed[], version, panelMounted, ledTimer}`), and a visible+ error toast on any region failure so nothing fails silently on the user's screen. Then the+ first thing to run in any investigation is the marker: `complete:true, failed:[]` means the+ boot finished and anything missing is a real rendering question; `complete` undefined means+ the script died and nothing else you measure is trustworthy. **A diagnosis you read beats+ one you infer.** 2. **DO NOT MAKE THE PANEL WAIT ON AN API CALL.** Phrases are static config. kicad's first wiring fetched them from its own API, which at first paint runs before the target is resolved, returns empty, and renders no panel at all. Inject them at serve time