# WebToe > A web-native, node-based dataflow engine and editor for real-time visuals. Operators of six families (TOP image, CHOP channel, SOP geometry, MAT material, COMP container/3D object, DAT text/table) are wired into networks and cooked by a pull-based, per-frame memoized engine on WebGL2 or WebGPU; every parameter can be a JavaScript expression (time, me, op(), parent(), ext(), a math library). It imports TouchDesigner .toe/.tox projects: supported operators run, the rest become stubs that keep names, wires, parameters and code. TypeScript, MIT, zero runtime dependencies. Independent project, not affiliated with Derivative Inc. Site: https://webtoe.openaudiovisual.com/ (English) · https://webtoe.openaudiovisual.com/zh/ (繁體中文, Traditional Chinese) Editor: https://webtoe.openaudiovisual.com/app/ (load a project with ?project=; examples at https://webtoe.openaudiovisual.com/app/examples/) Repository: https://github.com/frank890417/WebToe Author: Che-Yu Wu 吳哲宇 (https://cheyuwu.com) ## Facts - 81 operator types: TOP 28, CHOP 14, SOP 21, MAT 7, COMP 5, DAT 6 (counted from packages/ops/src at build time). - Measured TouchDesigner coverage on a private corpus of 60 real projects (28,698 nodes, 2022–2026): 32.3% → 47.1% → 62.3% of nodes runnable across two evolution cycles. Only aggregates are published. - Imported Python is never executed; it is translated to WebToe expressions when faithful (absTime.seconds*0.2 → time.seconds*0.2) and kept inert otherwise. - External control: a host page posts {type:'webtoe:ext', values:{name:number}} (read in expressions as ext('name')) or {type:'webtoe:load', url} to the editor's window. ## Docs - [Getting started](https://webtoe.openaudiovisual.com/docs/getting-started/): Open the editor in a browser, run WebToe locally with npx webtoe, or set up the monorepo for development. - [Examples](https://webtoe.openaudiovisual.com/docs/examples/): The ten projects bundled with the editor, what each one shows, and a link that opens it. - [Importing TouchDesigner projects](https://webtoe.openaudiovisual.com/docs/importing/): Drop a .toe or .tox on the editor. What comes across, what becomes a stub, how expressions are translated, and the bridge and toeexpand paths. - [The .toe format](https://webtoe.openaudiovisual.com/docs/toe-format/): How WebToe reads TouchDesigner's binary project container in the browser. - [Operators](https://webtoe.openaudiovisual.com/docs/operators/): Every operator WebToe ships, by family, generated from the engine's registry, plus how cooking, stubs and custom operators work. - [Expressions](https://webtoe.openaudiovisual.com/docs/expressions/): Drive any parameter with a JavaScript expression that reads time, channels, other parameters and values sent by a host page. - [Embedding and external control](https://webtoe.openaudiovisual.com/docs/embedding/): Put the editor in an iframe or mount it in your own page, load projects by URL, and drive patches from outside with postMessage and ext(). - [NDI bridge](https://webtoe.openaudiovisual.com/docs/ndi/): Receive and send NDI video from the browser through a small local bridge, with the pixel conversion running in a 1 KB WebAssembly kernel. - [Architecture](https://webtoe.openaudiovisual.com/docs/architecture/): The packages and their one dependency rule, the GPU pass contract behind both backends, the cook model, the file format and the decisions behind them. - [TouchDesigner parity](https://webtoe.openaudiovisual.com/docs/td-parity/): What "toward TouchDesigner" means for a browser engine, how it is measured on 60 real projects, where WebToe stands, and what comes next. - [Full text](https://webtoe.openaudiovisual.com/llms-full.txt): every doc above in one file. ## Optional - [Architecture source document](https://github.com/frank890417/WebToe/blob/main/docs/ARCHITECTURE.md) - [Roadmap with measured results](https://github.com/frank890417/WebToe/blob/main/docs/ROADMAP.md) - [open-audiovisual](https://openaudiovisual.com/): sister project, a web-native framework for audiovisual performance that can perform a WebToe patch as a world.