diff --git a/templates/editor.html b/templates/editor.html
index e414b50..1719347 100644
--- a/templates/editor.html
+++ b/templates/editor.html
@@ -849,8 +849,25 @@ function renderSchematic() {
}
const cc = col||'var(--green)';
if (eq.anim === 'burner') {
- g.appendChild(mkSvgEl('circle', {'class':'anim-overlay burner-glow', id:'sim-'+eq.id,
- cx:eq.x, cy:eq.y, r:r+4, fill:'none', stroke:col||'var(--amber)', 'stroke-width':'4'}));
+ // Flame SVG with flicker animation
+ const fg = mkSvgEl('g', {'class':'anim-overlay', id:'sim-'+eq.id});
+ fg.setAttribute('transform', `translate(${eq.x},${eq.y})`);
+ // Outer flame (orange)
+ fg.appendChild(mkSvgEl('path', {
+ d:`M 0 ${-r*0.3} Q ${-r*0.5} ${-r*0.8} ${-r*0.2} ${-r*1.2} Q 0 ${-r*1.5} ${r*0.2} ${-r*1.2} Q ${r*0.5} ${-r*0.8} 0 ${-r*0.3} Z`,
+ fill:'var(--amber)', opacity:'0.8', 'class':'burner-glow'
+ }));
+ // Inner flame (red-orange)
+ fg.appendChild(mkSvgEl('path', {
+ d:`M 0 ${-r*0.2} Q ${-r*0.25} ${-r*0.5} ${-r*0.1} ${-r*0.85} Q 0 ${-r*1.05} ${r*0.1} ${-r*0.85} Q ${r*0.25} ${-r*0.5} 0 ${-r*0.2} Z`,
+ fill:'var(--red)', opacity:'0.9', 'class':'burner-glow', style:'animation-delay:0.2s'
+ }));
+ // Core (bright)
+ fg.appendChild(mkSvgEl('ellipse', {
+ cx:0, cy: -r*0.4, rx: r*0.12, ry: r*0.25,
+ fill:'#ffdd44', opacity:'0.9', 'class':'burner-glow', style:'animation-delay:0.4s'
+ }));
+ g.appendChild(fg);
} else if (eq.anim === 'fan') {
// Fan: 4 curved blades spinning inside the circle
const ag = mkSvgEl('g', {'class':'anim-overlay', id:'sim-'+eq.id});