RFTSystems commited on
Commit
9c9e96e
·
verified ·
1 Parent(s): 8f7b2ac

Update waveform_renderer.py

Browse files
Files changed (1) hide show
  1. waveform_renderer.py +17 -10
waveform_renderer.py CHANGED
@@ -1,15 +1,22 @@
 
1
  # Author: Liam Grinstead
2
- # Renders falsifiability waveform as animated SVG
3
 
4
- def render_waveform(score):
5
- amplitude = min(score, 30)
6
- svg = f"""
7
- <svg width="300" height="100">
8
- <path d="M0 50 Q50 {50 - amplitude} 100 50 T200 50 T300 50"
9
- stroke="red" fill="none" stroke-width="2">
10
- <animate attributeName="stroke" values="red;orange;red" dur="2s" repeatCount="indefinite"/>
 
 
 
 
 
 
 
11
  </path>
12
- <text x="10" y="90" font-size="12">Collapse Torque Waveform</text>
13
  </svg>
14
  """
15
- return svg
 
1
+ # waveform_renderer_rft.py
2
  # Author: Liam Grinstead
3
+ # Collapse gradient waveform from τ_eff, β, and coherence response
4
 
5
+ def render_waveform(agent: dict, score: float) -> str:
6
+ tau = agent.get("collapse_overlay", {}).get("tau_eff", 1.0)
7
+ beta = agent.get("collapse_overlay", {}).get("beta_band", 0.5)
8
+ amp = min(40, 12 + tau * 10)
9
+ hue = int(20 + beta * 220)
10
+ speed = max(1.2, 2.4 - beta) # higher β slows shimmer
11
+
12
+ return f"""
13
+ <svg width="420" height="140" xmlns="http://www.w3.org/2000/svg">
14
+ <text x="10" y="24" font-size="16">Collapse Gradient</text>
15
+ <path d="M10 80 Q80 {80-amp} 150 80 T290 80 T410 80"
16
+ stroke="hsl({hue},80%,50%)" fill="none" stroke-width="3">
17
+ <animate attributeName="stroke" values="hsl({hue},80%,50%);hsl({hue},80%,65%);hsl({hue},80%,50%)"
18
+ dur="{speed}s" repeatCount="indefinite"/>
19
  </path>
20
+ <text x="10" y="120" font-size="12">τ_eff={tau} · β={beta} · score={score}</text>
21
  </svg>
22
  """