Files Branches

Comparing master ← component-motion-states-orig

Changes on component-motion-states-orig that are not yet on master (three-dot, from the merge base).

1 file changed, 8 insertions(+)
skills/wiki-component/SKILL.md+8
@@ -994,3 +994,11 @@ Validate the actual written LOD transforms and visible MPNs; micrometre offsets ## Ship the bench with a board or project page  A board, molecule or project page can carry its author's Hydrogen layout: `hydrogen/workspace.json` in the page repo, with the 3D layout pane, the KiCad or Altium dashboard, the parts search and the project page arranged the way you work. Export it from a live Hydrogen with `adom-cli hydrogen workspace export --out hydrogen/workspace.json`, push it with `adom-wiki repo push <owner>/<slug> --files hydrogen/workspace.json`, and readers of a fork or clone open it with `adom-cli hydrogen workspace apply <owner>/<slug>` (Hydrogen Cloud lists it under Project workspaces with an Apply button). Apps are referenced by wiki page, never by URL; declare each in `page.json` `dependencies`. The full contract and the `WORKSPACE_*` hints are in the wiki-workspaces skill.++## Moving component states (proposed extension)++Fans and other moving parts need more than LED-style model swaps. Preserve `adom/component-states@1` and add a versioned `motion` object (`adom/component-motion@1`) plus typed variables such as speed in RPM. Publish an off static GLB, an animated GLB, unique stationary/rotor node names, named animation timelines, local axes/pivots, model hashes, cycle duration and revolutions per cycle. Continuous motion belongs in GLB/runtime; STEP remains the static mechanical asset. Do not claim full digital-twin fidelity for illustrative blades or missing leads.++Use the existing Adom viewer, resolve bindings per imported instance, and play only the rotor animation. One revolution per second maps to speedRatio = RPM/60. Label any slow-motion time scale separately from actual/simulated RPM and warn about high-speed aliasing. Default off. Stale/invalid measured data pauses and labels UNKNOWN rather than claiming OFF. Animation must never control physical hardware. Preserve static fallback when a consumer lacks motion capability.++Reference proposal and executable fan example: [MF40200V1-1000U-G99 motion contract](https://wiki.adom.inc/adom/mf40200v1-1000u-g99/files/docs/component-motion.md). The component-widgets change emits simulated state/variable events; it does not imply every installed widget or probing simulator already supports animated playback. Verify each consumer and report proposed/source/released/installed states separately. Include component-specific skills, generator, GLB structural and runtime checks, and recorded off/on/speed/off evidence.