← Commit history

Correct resistor hero binding to LED; add gentle one-shot preview and descriptive component identity

John Lauer ·81dcafbd22 ·1mo ago ·parent 22ba86a
3 files changed +3−3
HERO-PROVENANCE.md+2−2
@@ -3,9 +3,9 @@ Authored by Codex Astra for Adom, 2026-09-16. New animation code is CC0-1.0; upstream body licensing remains in LED-SOURCE-LICENSE.md.  Input: `ncd0402g1-mpn-led-on.glb`, SHA-256 `50dd107f690fcaa786ffd6cf3b5451f53bf6faf2c125e57c33acb7776638986f`.-Output: `ncd0402g1-hero.glb`, SHA-256 `22967e48439044d97fb6ab3d8b8e63940064049fd793e5c00bf9dd730ade8e11`.+Output: `ncd0402g1-hero.glb`, SHA-256 `c0b8ff35908d85dff9b0da52e2c1d4d24dfe7a8ff17240eaee3c03d8c1fc7990`. -[Generator](generate-hero.py) adds standard glTF rotation and KHR_animation_pointer channels for material emission, base color and KHR_lights_punctual intensity. Ten seconds, one fade down/up, 36-degree eased turn ending at +18 degrees, final light on. No additional spill light. Model units remain metres, Adom Z-up; source physical geometry is unchanged. Initial/static frame is lit. Use static downloads for engineering assemblies.+[Generator](generate-hero.py) adds standard glTF rotation and KHR_animation_pointer channels for material emission, base color and KHR_lights_punctual intensity. Ten seconds, one fade down/up, 36-degree eased turn ending at +198 degrees for readable MPN orientation, final light on. No additional spill light. Model units remain metres, Adom Z-up; source physical geometry is unchanged. Initial/static frame is lit. Use static downloads for engineering assemblies.  [Base geometry and optical assumptions](LED-STATES.md). The source remains a generic KiCad LED; these changes do not establish exact manufacturer package fidelity or electrical/thermal qualification. 
generate-hero.py+1−1
@@ -16,7 +16,7 @@ for slug in ['ncd0402g1','ncd0402b1']:  # Lit at initial/static frame, fade down once and gently back up, then hold.  level=[1-smooth((t-1)/2.5) if t<3.5 else smooth((t-4)/3) for t in times]  root=len(j['nodes']);roots=j['scenes'][j.get('scene',0)]['nodes'];j['nodes'].append({'name':'Adom.Hero.Presentation','children':roots,'extras':{'adomRole':'hero-presentation','nonphysical':True}});j['scenes'][j.get('scene',0)]['nodes']=[root]- angles=[math.radians(-18+36*smooth(t/8)) for t in times]+ angles=[math.radians(162+36*smooth(t/8)) for t in times]  chan([[0,0,math.sin(v/2),math.cos(v/2)] for v in angles],'VEC4',{'node':root,'path':'rotation'})  for i,m in enumerate(j['materials']):   if m.get('name','').startswith('Adom.LED.Emissive'):
ncd0402g1-hero.glb
⋯ 1 unchanged line ⋯