JavaScript API
Pipeline
import { parse, layout, renderSvg, compileTimeline, frameAt, renderAnimatedSvg, render } from '@vhyxchart/core';
const { diagram, diagnostics } = parse(source); // never throws; parseStrict() does
const l = layout(diagram); // deterministic
const tl = compileTimeline(diagram, 0); // scenario → timed actions
const svg = renderSvg(diagram, l, { frame: frameAt(tl, 1200) }); // any instant
const animated = renderAnimatedSvg(diagram); // SMIL, no JS
const { svg: quick } = render(source, { animated: true });Player
import { createPlayer } from '@vhyxchart/core/browser';
const player = createPlayer(element, source, { theme: 'auto', autoplay: true });
player.play(); player.pause(); player.step(1); player.seek(1500);
player.setScenario(1); player.setSpeed(2); player.setSource(next);
player.on('frame', (f) => …); player.toSvg(true); player.destroy();