{
  "generated_by": "scripts/build_wasm_gallery.py",
  "examples": 131,
  "built": 118,
  "failed": 13,
  "total_bytes": 3745285,
  "categories": [
    {
      "id": "games",
      "title": "Games",
      "blurb": "The same sources docs/demos/games.md records as GIFs, running live on the gfx canvas backend."
    },
    {
      "id": "morphogenesis",
      "title": "Morphogenesis",
      "blurb": "Reaction-diffusion, growth and cellular automata fields. Number keys switch presets, R reseeds, P pauses."
    },
    {
      "id": "basics",
      "title": "Basics",
      "blurb": "Pure computation. No graphics, no host services: the program runs and prints into the page."
    },
    {
      "id": "language",
      "title": "Language and compilers",
      "blurb": "Generics, traits, enums, effect rows, and Flow tools written in Flow. Output goes to the page."
    },
    {
      "id": "numerics",
      "title": "Numerics and dynamics",
      "blurb": "Solvers, optimisers, linear algebra and control theory. The ones that reach a native BLAS do not link here."
    },
    {
      "id": "learning",
      "title": "Learning",
      "blurb": "Small models and agents. The Metal and tape-runtime variants need host services that are not linked here."
    },
    {
      "id": "systems",
      "title": "Systems and data",
      "blurb": "Allocators, hash tables, hashing, parsers, file formats. Anything asking the OS about itself stops at the link step."
    }
  ],
  "entries": [
    {
      "name": "2048_gfx",
      "title": "2048",
      "category": "games",
      "source": "examples/games/2048_gfx.flow",
      "summary": "2048 in an actual native window (FLOW gfx backend)",
      "status": "ok",
      "gfx": true,
      "wasm_bytes": 13746,
      "js_bytes": 20332,
      "total_bytes": 34078,
      "page": "2048_gfx/index.html"
    },
    {
      "name": "asteroids_gfx",
      "title": "Asteroids",
      "category": "games",
      "source": "examples/games/asteroids_gfx.flow",
      "summary": "ASTEROIDS - Complete Implementation",
      "status": "ok",
      "gfx": true,
      "wasm_bytes": 17390,
      "js_bytes": 20337,
      "total_bytes": 37727,
      "page": "asteroids_gfx/index.html"
    },
    {
      "name": "breakout_gfx",
      "title": "Breakout",
      "category": "games",
      "source": "examples/games/breakout_gfx.flow",
      "summary": "BREAKOUT - Complete Implementation",
      "status": "ok",
      "gfx": true,
      "wasm_bytes": 12149,
      "js_bytes": 20336,
      "total_bytes": 32485,
      "page": "breakout_gfx/index.html"
    },
    {
      "name": "checkers_gfx",
      "title": "Checkers",
      "category": "games",
      "source": "examples/games/checkers_gfx.flow",
      "summary": "CHECKERS - two-player hotseat",
      "status": "ok",
      "gfx": true,
      "wasm_bytes": 25142,
      "js_bytes": 21327,
      "total_bytes": 46469,
      "page": "checkers_gfx/index.html"
    },
    {
      "name": "chetris_gfx",
      "title": "Chetris",
      "category": "games",
      "source": "examples/games/chetris_gfx.flow",
      "summary": "Chetris: Chess + Tetris Hybrid (Graphical Version)",
      "status": "ok",
      "gfx": true,
      "wasm_bytes": 17270,
      "js_bytes": 20335,
      "total_bytes": 37605,
      "page": "chetris_gfx/index.html"
    },
    {
      "name": "connect4_gfx",
      "title": "Connect Four",
      "category": "games",
      "source": "examples/games/connect4_gfx.flow",
      "summary": "CONNECT FOUR vs AI",
      "status": "ok",
      "gfx": true,
      "wasm_bytes": 14121,
      "js_bytes": 20336,
      "total_bytes": 34457,
      "page": "connect4_gfx/index.html"
    },
    {
      "name": "flappy_gfx",
      "title": "Flappy",
      "category": "games",
      "source": "examples/games/flappy_gfx.flow",
      "summary": "FLAPPY - Complete Implementation",
      "status": "ok",
      "gfx": true,
      "wasm_bytes": 11843,
      "js_bytes": 20334,
      "total_bytes": 32177,
      "page": "flappy_gfx/index.html"
    },
    {
      "name": "frogger_gfx",
      "title": "Frogger",
      "category": "games",
      "source": "examples/games/frogger_gfx.flow",
      "summary": "FROGGER - Complete Implementation",
      "status": "ok",
      "gfx": true,
      "wasm_bytes": 15615,
      "js_bytes": 20335,
      "total_bytes": 35950,
      "page": "frogger_gfx/index.html"
    },
    {
      "name": "hanoi_gfx",
      "title": "Tower of Hanoi",
      "category": "games",
      "source": "examples/games/hanoi_gfx.flow",
      "summary": "TOWER OF HANOI - classic disk puzzle",
      "status": "ok",
      "gfx": true,
      "wasm_bytes": 22985,
      "js_bytes": 21324,
      "total_bytes": 44309,
      "page": "hanoi_gfx/index.html"
    },
    {
      "name": "invaders_gfx",
      "title": "Space Invaders",
      "category": "games",
      "source": "examples/games/invaders_gfx.flow",
      "summary": "SPACE INVADERS - Complete Implementation",
      "status": "ok",
      "gfx": true,
      "wasm_bytes": 17439,
      "js_bytes": 20336,
      "total_bytes": 37775,
      "page": "invaders_gfx/index.html"
    },
    {
      "name": "jumper_gfx",
      "title": "Jumper",
      "category": "games",
      "source": "examples/games/jumper_gfx.flow",
      "summary": "JUMPER - doodle-jump style vertical platformer",
      "status": "ok",
      "gfx": true,
      "wasm_bytes": 13438,
      "js_bytes": 20334,
      "total_bytes": 33772,
      "page": "jumper_gfx/index.html"
    },
    {
      "name": "lane_racer_gfx",
      "title": "Lane Racer",
      "category": "games",
      "source": "examples/games/lane_racer_gfx.flow",
      "summary": "LANE RACER - top-down 4-lane racing game",
      "status": "ok",
      "gfx": true,
      "wasm_bytes": 12700,
      "js_bytes": 20338,
      "total_bytes": 33038,
      "page": "lane_racer_gfx/index.html"
    },
    {
      "name": "lightsout_gfx",
      "title": "Lights Out",
      "category": "games",
      "source": "examples/games/lightsout_gfx.flow",
      "summary": "LIGHTS OUT - Complete Implementation",
      "status": "ok",
      "gfx": true,
      "wasm_bytes": 12367,
      "js_bytes": 20337,
      "total_bytes": 32704,
      "page": "lightsout_gfx/index.html"
    },
    {
      "name": "match3_gfx",
      "title": "Match-3",
      "category": "games",
      "source": "examples/games/match3_gfx.flow",
      "summary": "MATCH-3 - Complete Implementation",
      "status": "ok",
      "gfx": true,
      "wasm_bytes": 22275,
      "js_bytes": 21325,
      "total_bytes": 43600,
      "page": "match3_gfx/index.html"
    },
    {
      "name": "maze_chase_gfx",
      "title": "Maze Chase",
      "category": "games",
      "source": "examples/games/maze_chase_gfx.flow",
      "summary": "MAZE CHASE - Pac-Man style maze game",
      "status": "ok",
      "gfx": true,
      "wasm_bytes": 16463,
      "js_bytes": 20338,
      "total_bytes": 36801,
      "page": "maze_chase_gfx/index.html"
    },
    {
      "name": "minesweeper_gfx",
      "title": "Minesweeper",
      "category": "games",
      "source": "examples/games/minesweeper_gfx.flow",
      "summary": "MINESWEEPER - Complete Implementation",
      "status": "ok",
      "gfx": true,
      "wasm_bytes": 22610,
      "js_bytes": 21330,
      "total_bytes": 43940,
      "page": "minesweeper_gfx/index.html"
    },
    {
      "name": "missile_gfx",
      "title": "Missile Command",
      "category": "games",
      "source": "examples/games/missile_gfx.flow",
      "summary": "MISSILE COMMAND - Complete Implementation",
      "status": "ok",
      "gfx": true,
      "wasm_bytes": 27463,
      "js_bytes": 21326,
      "total_bytes": 48789,
      "page": "missile_gfx/index.html"
    },
    {
      "name": "othello_gfx",
      "title": "Othello",
      "category": "games",
      "source": "examples/games/othello_gfx.flow",
      "summary": "OTHELLO / REVERSI vs AI",
      "status": "ok",
      "gfx": true,
      "wasm_bytes": 24546,
      "js_bytes": 21326,
      "total_bytes": 45872,
      "page": "othello_gfx/index.html"
    },
    {
      "name": "pong_gfx",
      "title": "Pong",
      "category": "games",
      "source": "examples/games/pong_gfx.flow",
      "summary": "PONG - Complete Implementation",
      "status": "ok",
      "gfx": true,
      "wasm_bytes": 11862,
      "js_bytes": 20332,
      "total_bytes": 32194,
      "page": "pong_gfx/index.html"
    },
    {
      "name": "simon_gfx",
      "title": "Simon",
      "category": "games",
      "source": "examples/games/simon_gfx.flow",
      "summary": "SIMON - memory game",
      "status": "ok",
      "gfx": true,
      "wasm_bytes": 21338,
      "js_bytes": 21324,
      "total_bytes": 42662,
      "page": "simon_gfx/index.html"
    },
    {
      "name": "snake_gfx",
      "title": "Snake",
      "category": "games",
      "source": "examples/games/snake_gfx.flow",
      "summary": "SNAKE - Complete Implementation",
      "status": "ok",
      "gfx": true,
      "wasm_bytes": 21033,
      "js_bytes": 21324,
      "total_bytes": 42357,
      "page": "snake_gfx/index.html"
    },
    {
      "name": "sokoban_gfx",
      "title": "Sokoban",
      "category": "games",
      "source": "examples/games/sokoban_gfx.flow",
      "summary": "SOKOBAN - Complete Implementation",
      "status": "ok",
      "gfx": true,
      "wasm_bytes": 13253,
      "js_bytes": 20335,
      "total_bytes": 33588,
      "page": "sokoban_gfx/index.html"
    },
    {
      "name": "tetris_gfx",
      "title": "Tetris",
      "category": "games",
      "source": "examples/games/tetris_gfx.flow",
      "summary": "TETRIS - Complete Implementation",
      "status": "ok",
      "gfx": true,
      "wasm_bytes": 16991,
      "js_bytes": 20334,
      "total_bytes": 37325,
      "page": "tetris_gfx/index.html"
    },
    {
      "name": "belousov",
      "title": "Belousov",
      "category": "morphogenesis",
      "source": "examples/morphogenesis/belousov.flow",
      "summary": "spiral waves in an excitable medium",
      "status": "ok",
      "gfx": true,
      "wasm_bytes": 14636,
      "js_bytes": 20332,
      "total_bytes": 34968,
      "page": "belousov/index.html"
    },
    {
      "name": "branching_vessels",
      "title": "Branching Vessels",
      "category": "morphogenesis",
      "source": "examples/morphogenesis/branching_vessels.flow",
      "summary": "leaf venation by space colonization",
      "status": "ok",
      "gfx": true,
      "wasm_bytes": 29782,
      "js_bytes": 20341,
      "total_bytes": 50123,
      "page": "branching_vessels/index.html"
    },
    {
      "name": "cahn_hilliard",
      "title": "Cahn Hilliard",
      "category": "morphogenesis",
      "source": "examples/morphogenesis/cahn_hilliard.flow",
      "summary": "phase separation and spinodal decomposition",
      "status": "ok",
      "gfx": true,
      "wasm_bytes": 14879,
      "js_bytes": 20337,
      "total_bytes": 35216,
      "page": "cahn_hilliard/index.html"
    },
    {
      "name": "cell_sorting",
      "title": "Cell Sorting",
      "category": "morphogenesis",
      "source": "examples/morphogenesis/cell_sorting.flow",
      "summary": "differential adhesion, and tissue layers that sort",
      "status": "ok",
      "gfx": true,
      "wasm_bytes": 21029,
      "js_bytes": 20336,
      "total_bytes": 41365,
      "page": "cell_sorting/index.html"
    },
    {
      "name": "coral_ballistic",
      "title": "Coral Ballistic",
      "category": "morphogenesis",
      "source": "examples/morphogenesis/coral_ballistic.flow",
      "summary": "ballistic deposition and the shadowing instability",
      "status": "ok",
      "gfx": true,
      "wasm_bytes": 14581,
      "js_bytes": 20339,
      "total_bytes": 34920,
      "page": "coral_ballistic/index.html"
    },
    {
      "name": "cyclic_ca",
      "title": "Cyclic CA",
      "category": "morphogenesis",
      "source": "examples/morphogenesis/cyclic_ca.flow",
      "summary": "spirals out of pure noise",
      "status": "ok",
      "gfx": true,
      "wasm_bytes": 14087,
      "js_bytes": 20333,
      "total_bytes": 34420,
      "page": "cyclic_ca/index.html"
    },
    {
      "name": "dla",
      "title": "DLA",
      "category": "morphogenesis",
      "source": "examples/morphogenesis/dla.flow",
      "summary": "growth where the shape is the history",
      "status": "ok",
      "gfx": true,
      "wasm_bytes": 26292,
      "js_bytes": 20327,
      "total_bytes": 46619,
      "page": "dla/index.html"
    },
    {
      "name": "eden_growth",
      "title": "Eden Growth",
      "category": "morphogenesis",
      "source": "examples/morphogenesis/eden_growth.flow",
      "summary": "a compact cluster with a rough surface, and the roughness",
      "status": "ok",
      "gfx": true,
      "wasm_bytes": 14641,
      "js_bytes": 20335,
      "total_bytes": 34976,
      "page": "eden_growth/index.html"
    },
    {
      "name": "gray_scott",
      "title": "Gray Scott",
      "category": "morphogenesis",
      "source": "examples/morphogenesis/gray_scott.flow",
      "summary": "the canonical morphogenesis model",
      "status": "ok",
      "gfx": true,
      "wasm_bytes": 17697,
      "js_bytes": 20334,
      "total_bytes": 38031,
      "page": "gray_scott/index.html"
    },
    {
      "name": "heat_morph",
      "title": "Heat Morph",
      "category": "morphogenesis",
      "source": "examples/morphogenesis/heat_morph.flow",
      "summary": "anisotropic diffusion sculpting a shape out of noise",
      "status": "ok",
      "gfx": true,
      "wasm_bytes": 13878,
      "js_bytes": 20334,
      "total_bytes": 34212,
      "page": "heat_morph/index.html"
    },
    {
      "name": "hexagonal_ca",
      "title": "Hexagonal CA",
      "category": "morphogenesis",
      "source": "examples/morphogenesis/hexagonal_ca.flow",
      "summary": "snow crystal growth on a triangular lattice",
      "status": "ok",
      "gfx": true,
      "wasm_bytes": 15845,
      "js_bytes": 20336,
      "total_bytes": 36181,
      "page": "hexagonal_ca/index.html"
    },
    {
      "name": "life_variants",
      "title": "Life Variants",
      "category": "morphogenesis",
      "source": "examples/morphogenesis/life_variants.flow",
      "summary": "three outer-totalistic rules on the same soup",
      "status": "ok",
      "gfx": true,
      "wasm_bytes": 13148,
      "js_bytes": 20337,
      "total_bytes": 33485,
      "page": "life_variants/index.html"
    },
    {
      "name": "lsystem_plant",
      "title": "L-System Plant",
      "category": "morphogenesis",
      "source": "examples/morphogenesis/lsystem_plant.flow",
      "summary": "a stochastic rewriting grammar, drawn as it grows",
      "status": "ok",
      "gfx": true,
      "wasm_bytes": 22387,
      "js_bytes": 20337,
      "total_bytes": 42724,
      "page": "lsystem_plant/index.html"
    },
    {
      "name": "lsystem_tree",
      "title": "L-System Tree",
      "category": "morphogenesis",
      "source": "examples/morphogenesis/lsystem_tree.flow",
      "summary": "a three-dimensional branching grammar, projected and",
      "status": "ok",
      "gfx": true,
      "wasm_bytes": 21415,
      "js_bytes": 20336,
      "total_bytes": 41751,
      "page": "lsystem_tree/index.html"
    },
    {
      "name": "slime_mold",
      "title": "Slime Mold",
      "category": "morphogenesis",
      "source": "examples/morphogenesis/slime_mold.flow",
      "summary": "Physarum agents building a transport network",
      "status": "ok",
      "gfx": true,
      "wasm_bytes": 22825,
      "js_bytes": 20334,
      "total_bytes": 43159,
      "page": "slime_mold/index.html"
    },
    {
      "name": "somite_clock",
      "title": "Somite Clock",
      "category": "morphogenesis",
      "source": "examples/morphogenesis/somite_clock.flow",
      "summary": "segmentation by a clock and a wavefront",
      "status": "ok",
      "gfx": true,
      "wasm_bytes": 33140,
      "js_bytes": 21327,
      "total_bytes": 54467,
      "page": "somite_clock/index.html"
    },
    {
      "name": "swift_hohenberg",
      "title": "Swift Hohenberg",
      "category": "morphogenesis",
      "source": "examples/morphogenesis/swift_hohenberg.flow",
      "summary": "rolls and hexagons from a wavelength-selecting operator",
      "status": "ok",
      "gfx": true,
      "wasm_bytes": 14601,
      "js_bytes": 20339,
      "total_bytes": 34940,
      "page": "swift_hohenberg/index.html"
    },
    {
      "name": "turing_spots",
      "title": "Turing Spots",
      "category": "morphogenesis",
      "source": "examples/morphogenesis/turing_spots.flow",
      "summary": "the activator-inhibitor system behind animal coats",
      "status": "ok",
      "gfx": true,
      "wasm_bytes": 15178,
      "js_bytes": 20336,
      "total_bytes": 35514,
      "page": "turing_spots/index.html"
    },
    {
      "name": "turing_stripes",
      "title": "Turing Stripes",
      "category": "morphogenesis",
      "source": "examples/morphogenesis/turing_stripes.flow",
      "summary": "the same activator-inhibitor system, one parameter away",
      "status": "ok",
      "gfx": true,
      "wasm_bytes": 15108,
      "js_bytes": 20338,
      "total_bytes": 35446,
      "page": "turing_stripes/index.html"
    },
    {
      "name": "wfc_growth",
      "title": "WFC Growth",
      "category": "morphogenesis",
      "source": "examples/morphogenesis/wfc_growth.flow",
      "summary": "structure appearing by constraint propagation",
      "status": "ok",
      "gfx": true,
      "wasm_bytes": 19219,
      "js_bytes": 20334,
      "total_bytes": 39553,
      "page": "wfc_growth/index.html"
    },
    {
      "name": "bubble_sort",
      "title": "Bubble Sort",
      "category": "basics",
      "source": "examples/basics/bubble_sort.flow",
      "summary": "Bubble Sort - FLOW version of C++ bubble sort",
      "status": "ok",
      "gfx": false,
      "wasm_bytes": 7002,
      "js_bytes": 10828,
      "total_bytes": 17830,
      "page": "bubble_sort/index.html"
    },
    {
      "name": "declarative_sort",
      "title": "Declarative Sort",
      "category": "basics",
      "source": "examples/basics/declarative_sort.flow",
      "summary": "Declarative ordering (Phase 1)",
      "status": "ok",
      "gfx": false,
      "wasm_bytes": 15849,
      "js_bytes": 11286,
      "total_bytes": 27135,
      "page": "declarative_sort/index.html"
    },
    {
      "name": "dot_product",
      "title": "Dot Product",
      "category": "basics",
      "source": "examples/basics/dot_product.flow",
      "summary": "",
      "status": "ok",
      "gfx": false,
      "wasm_bytes": 7001,
      "js_bytes": 10828,
      "total_bytes": 17829,
      "page": "dot_product/index.html"
    },
    {
      "name": "factorial",
      "title": "Factorial",
      "category": "basics",
      "source": "examples/basics/factorial.flow",
      "summary": "Factorial - FLOW version of C++ factorial example",
      "status": "ok",
      "gfx": false,
      "wasm_bytes": 7002,
      "js_bytes": 10826,
      "total_bytes": 17828,
      "page": "factorial/index.html"
    },
    {
      "name": "fibonacci",
      "title": "Fibonacci",
      "category": "basics",
      "source": "examples/basics/fibonacci.flow",
      "summary": "",
      "status": "ok",
      "gfx": false,
      "wasm_bytes": 7053,
      "js_bytes": 10826,
      "total_bytes": 17879,
      "page": "fibonacci/index.html"
    },
    {
      "name": "gcd",
      "title": "GCD",
      "category": "basics",
      "source": "examples/basics/gcd.flow",
      "summary": "Greatest Common Divisor - FLOW version of C++ Euclidean algorithm",
      "status": "ok",
      "gfx": false,
      "wasm_bytes": 7024,
      "js_bytes": 10820,
      "total_bytes": 17844,
      "page": "gcd/index.html"
    },
    {
      "name": "hello_wasm",
      "title": "Hello WASM",
      "category": "basics",
      "source": "examples/wasm/hello_wasm.flow",
      "summary": "Minimal Flow program for the WASM path (Flow \u2192 C \u2192 emcc)",
      "status": "ok",
      "gfx": false,
      "wasm_bytes": 13346,
      "js_bytes": 11280,
      "total_bytes": 24626,
      "page": "hello_wasm/index.html"
    },
    {
      "name": "hello_world",
      "title": "Hello World",
      "category": "basics",
      "source": "examples/basics/hello_world.flow",
      "summary": "Hello World in FLOW",
      "status": "ok",
      "gfx": false,
      "wasm_bytes": 7001,
      "js_bytes": 10828,
      "total_bytes": 17829,
      "page": "hello_world/index.html"
    },
    {
      "name": "loops",
      "title": "Loops",
      "category": "basics",
      "source": "examples/basics/loops.flow",
      "summary": "Loop examples in FLOW",
      "status": "ok",
      "gfx": false,
      "wasm_bytes": 7002,
      "js_bytes": 10822,
      "total_bytes": 17824,
      "page": "loops/index.html"
    },
    {
      "name": "match_enums",
      "title": "Match Enums",
      "category": "basics",
      "source": "examples/basics/match_enums.flow",
      "summary": "Basics: match on a simple enum",
      "status": "ok",
      "gfx": false,
      "wasm_bytes": 13294,
      "js_bytes": 11281,
      "total_bytes": 24575,
      "page": "match_enums/index.html"
    },
    {
      "name": "palindrome",
      "title": "Palindrome",
      "category": "basics",
      "source": "examples/basics/palindrome.flow",
      "summary": "Palindrome Checker - FLOW version of C++ string palindrome",
      "status": "ok",
      "gfx": false,
      "wasm_bytes": 7001,
      "js_bytes": 10827,
      "total_bytes": 17828,
      "page": "palindrome/index.html"
    },
    {
      "name": "pipeline_choose",
      "title": "Pipeline Choose",
      "category": "basics",
      "source": "examples/basics/pipeline_choose.flow",
      "summary": "Pipeline `choose` \u2014 a state-driven stage that picks which pipeline runs",
      "status": "ok",
      "gfx": false,
      "wasm_bytes": 13322,
      "js_bytes": 11285,
      "total_bytes": 24607,
      "page": "pipeline_choose/index.html"
    },
    {
      "name": "pipeline_fork",
      "title": "Pipeline Fork",
      "category": "basics",
      "source": "examples/basics/pipeline_fork.flow",
      "summary": "Pipeline fork block \u2014 apply several pipelines to one value, collect a record",
      "status": "ok",
      "gfx": false,
      "wasm_bytes": 13320,
      "js_bytes": 11283,
      "total_bytes": 24603,
      "page": "pipeline_fork/index.html"
    },
    {
      "name": "pipeline_fork_inferred",
      "title": "Pipeline Fork Inferred",
      "category": "basics",
      "source": "examples/basics/pipeline_fork_inferred.flow",
      "summary": "Anonymous fork block \u2014 the record type is inferred, no struct declaration",
      "status": "ok",
      "gfx": false,
      "wasm_bytes": 13320,
      "js_bytes": 11292,
      "total_bytes": 24612,
      "page": "pipeline_fork_inferred/index.html"
    },
    {
      "name": "pipeline_placeholder",
      "title": "Pipeline Placeholder",
      "category": "basics",
      "source": "examples/basics/pipeline_placeholder.flow",
      "summary": "Pipeline placeholder `_` \u2014 route the piped value to any argument slot",
      "status": "ok",
      "gfx": false,
      "wasm_bytes": 13332,
      "js_bytes": 11290,
      "total_bytes": 24622,
      "page": "pipeline_placeholder/index.html"
    },
    {
      "name": "power",
      "title": "Power",
      "category": "basics",
      "source": "examples/basics/power.flow",
      "summary": "Power Function - FLOW version of C++ pow() function",
      "status": "ok",
      "gfx": false,
      "wasm_bytes": 7002,
      "js_bytes": 10822,
      "total_bytes": 17824,
      "page": "power/index.html"
    },
    {
      "name": "prime_numbers",
      "title": "Prime Numbers",
      "category": "basics",
      "source": "examples/basics/prime_numbers.flow",
      "summary": "Prime Numbers - FLOW version of C++ prime number checker",
      "status": "ok",
      "gfx": false,
      "wasm_bytes": 7114,
      "js_bytes": 10830,
      "total_bytes": 17944,
      "page": "prime_numbers/index.html"
    },
    {
      "name": "result_pipeline",
      "title": "Result Pipeline",
      "category": "basics",
      "source": "examples/basics/result_pipeline.flow",
      "summary": "Result pipeline \u2014 chain fallible steps with stdlib Result helpers",
      "status": "ok",
      "gfx": false,
      "wasm_bytes": 13371,
      "js_bytes": 11285,
      "total_bytes": 24656,
      "page": "result_pipeline/index.html"
    },
    {
      "name": "simple_for",
      "title": "Simple For",
      "category": "basics",
      "source": "examples/basics/simple_for.flow",
      "summary": "",
      "status": "ok",
      "gfx": false,
      "wasm_bytes": 8908,
      "js_bytes": 11280,
      "total_bytes": 20188,
      "page": "simple_for/index.html"
    },
    {
      "name": "simple_search",
      "title": "Simple Search",
      "category": "basics",
      "source": "examples/basics/simple_search.flow",
      "summary": "Simple Search - FLOW version",
      "status": "ok",
      "gfx": false,
      "wasm_bytes": 7044,
      "js_bytes": 10830,
      "total_bytes": 17874,
      "page": "simple_search/index.html"
    },
    {
      "name": "spans",
      "title": "Spans",
      "category": "basics",
      "source": "examples/basics/spans.flow",
      "summary": "Spans: a borrowed view over contiguous storage",
      "status": "ok",
      "gfx": false,
      "wasm_bytes": 7001,
      "js_bytes": 10822,
      "total_bytes": 17823,
      "page": "spans/index.html"
    },
    {
      "name": "type_safety_demo",
      "title": "Type Safety Demo",
      "category": "basics",
      "source": "examples/basics/type_safety_demo.flow",
      "summary": "Advanced Type Safety with Type Aliases and Distinct Types",
      "status": "ok",
      "gfx": false,
      "wasm_bytes": 9405,
      "js_bytes": 11286,
      "total_bytes": 20691,
      "page": "type_safety_demo/index.html"
    },
    {
      "name": "async_effects",
      "title": "Async Effects",
      "category": "language",
      "source": "examples/effects/async_effects.flow",
      "summary": "Async / Timeout / Retry as Policy Effects",
      "status": "ok",
      "gfx": false,
      "wasm_bytes": 17038,
      "js_bytes": 12660,
      "total_bytes": 29698,
      "page": "async_effects/index.html"
    },
    {
      "name": "async_primitives",
      "title": "Async Primitives",
      "category": "language",
      "source": "examples/effects/async_primitives.flow",
      "summary": "Async primitives (effects-based) \u2014 minimal runnable slice",
      "status": "failed",
      "error": "emcc: undefined symbol flow_fiber_run_main"
    },
    {
      "name": "calculator",
      "title": "Calculator",
      "category": "language",
      "source": "examples/compilers/calculator.flow",
      "summary": "Expression Calculator",
      "status": "ok",
      "gfx": false,
      "wasm_bytes": 20388,
      "js_bytes": 11280,
      "total_bytes": 31668,
      "page": "calculator/index.html"
    },
    {
      "name": "claim_address_demo",
      "title": "Claim Address Demo",
      "category": "language",
      "source": "examples/compilers/claim_address_demo.flow",
      "summary": "Claim Coordinates demo \u2014 Flow port of src/flow/claim_address.py",
      "status": "ok",
      "gfx": false,
      "wasm_bytes": 20146,
      "js_bytes": 11288,
      "total_bytes": 31434,
      "page": "claim_address_demo/index.html"
    },
    {
      "name": "closures_demo",
      "title": "Closures Demo",
      "category": "language",
      "source": "examples/generics_traits/closures_demo.flow",
      "summary": "Closures/Lambda Demo",
      "status": "ok",
      "gfx": false,
      "wasm_bytes": 13897,
      "js_bytes": 11283,
      "total_bytes": 25180,
      "page": "closures_demo/index.html"
    },
    {
      "name": "composition_car_engine",
      "title": "Composition Car Engine",
      "category": "language",
      "source": "examples/generics_traits/composition_car_engine.flow",
      "summary": "Composition Example: Car has-an Engine",
      "status": "ok",
      "gfx": false,
      "wasm_bytes": 7002,
      "js_bytes": 10839,
      "total_bytes": 17841,
      "page": "composition_car_engine/index.html"
    },
    {
      "name": "composition_team_employee",
      "title": "Composition Team Employee",
      "category": "language",
      "source": "examples/generics_traits/composition_team_employee.flow",
      "summary": "Composition Example: Team has Employees",
      "status": "ok",
      "gfx": false,
      "wasm_bytes": 7003,
      "js_bytes": 10842,
      "total_bytes": 17845,
      "page": "composition_team_employee/index.html"
    },
    {
      "name": "dependency_injection",
      "title": "Dependency Injection",
      "category": "language",
      "source": "examples/effects/dependency_injection.flow",
      "summary": "Dependency Injection via Effects",
      "status": "ok",
      "gfx": false,
      "wasm_bytes": 17105,
      "js_bytes": 12667,
      "total_bytes": 29772,
      "page": "dependency_injection/index.html"
    },
    {
      "name": "effect_rows",
      "title": "Effect Rows",
      "category": "language",
      "source": "examples/effects/effect_rows.flow",
      "summary": "Effect-row Phase 2: declare effects on the signature with `with E`",
      "status": "ok",
      "gfx": false,
      "wasm_bytes": 14911,
      "js_bytes": 12658,
      "total_bytes": 27569,
      "page": "effect_rows/index.html"
    },
    {
      "name": "enum_match_exhaustive",
      "title": "Enum Match Exhaustive",
      "category": "language",
      "source": "examples/generics_traits/enum_match_exhaustive.flow",
      "summary": "Enum/ADT match demo - exercises path/const patterns and exhaustiveness",
      "status": "ok",
      "gfx": false,
      "wasm_bytes": 13388,
      "js_bytes": 11291,
      "total_bytes": 24679,
      "page": "enum_match_exhaustive/index.html"
    },
    {
      "name": "enums_demo",
      "title": "Enums Demo",
      "category": "language",
      "source": "examples/generics_traits/enums_demo.flow",
      "summary": "Enums / Algebraic Data Types Demo",
      "status": "ok",
      "gfx": false,
      "wasm_bytes": 13816,
      "js_bytes": 11280,
      "total_bytes": 25096,
      "page": "enums_demo/index.html"
    },
    {
      "name": "flow_identifier_lexer",
      "title": "Flow Identifier Lexer",
      "category": "language",
      "source": "examples/compilers/flow_identifier_lexer.flow",
      "summary": "Flow identifier / keyword lexer (self-hosting seed)",
      "status": "ok",
      "gfx": false,
      "wasm_bytes": 11067,
      "js_bytes": 11291,
      "total_bytes": 22358,
      "page": "flow_identifier_lexer/index.html"
    },
    {
      "name": "flow_lexer",
      "title": "Flow Lexer",
      "category": "language",
      "source": "examples/compilers/flow_lexer.flow",
      "summary": "Flow lexer Phase 2 (self-hosting) \u2014 historical seed demo",
      "status": "ok",
      "gfx": false,
      "wasm_bytes": 13394,
      "js_bytes": 11280,
      "total_bytes": 24674,
      "page": "flow_lexer/index.html"
    },
    {
      "name": "generics_demo",
      "title": "Generics Demo",
      "category": "language",
      "source": "examples/generics_traits/generics_demo.flow",
      "summary": "Generics Demo",
      "status": "ok",
      "gfx": false,
      "wasm_bytes": 17149,
      "js_bytes": 11283,
      "total_bytes": 28432,
      "page": "generics_demo/index.html"
    },
    {
      "name": "know_demo",
      "title": "Know Demo",
      "category": "language",
      "source": "examples/compilers/know_demo.flow",
      "summary": "know + fingerprint dogfood",
      "status": "ok",
      "gfx": false,
      "wasm_bytes": 25093,
      "js_bytes": 11279,
      "total_bytes": 36372,
      "page": "know_demo/index.html"
    },
    {
      "name": "lsp_ordering_port",
      "title": "LSP Ordering Port",
      "category": "language",
      "source": "examples/compilers/lsp_ordering_port.flow",
      "summary": "Flow port of src/flow/lsp_ordering.py \u2014 ordering IntelliSense strings",
      "status": "ok",
      "gfx": false,
      "wasm_bytes": 9339,
      "js_bytes": 11287,
      "total_bytes": 20626,
      "page": "lsp_ordering_port/index.html"
    },
    {
      "name": "math_prose_demo",
      "title": "Math Prose Demo",
      "category": "language",
      "source": "examples/compilers/math_prose_demo.flow",
      "summary": "math_prose + proof_sub dogfood demo",
      "status": "ok",
      "gfx": false,
      "wasm_bytes": 23190,
      "js_bytes": 11285,
      "total_bytes": 34475,
      "page": "math_prose_demo/index.html"
    },
    {
      "name": "oop_counter",
      "title": "OOP Counter",
      "category": "language",
      "source": "examples/generics_traits/oop_counter.flow",
      "summary": "OOP-style Example: Counter with encapsulated state",
      "status": "ok",
      "gfx": false,
      "wasm_bytes": 7001,
      "js_bytes": 10828,
      "total_bytes": 17829,
      "page": "oop_counter/index.html"
    },
    {
      "name": "oop_person",
      "title": "OOP Person",
      "category": "language",
      "source": "examples/generics_traits/oop_person.flow",
      "summary": "OOP-style Example: Person with \"method\" function",
      "status": "ok",
      "gfx": false,
      "wasm_bytes": 7001,
      "js_bytes": 10827,
      "total_bytes": 17828,
      "page": "oop_person/index.html"
    },
    {
      "name": "option_result_demo",
      "title": "Option Result Demo",
      "category": "language",
      "source": "examples/generics_traits/option_result_demo.flow",
      "summary": "Option and Result Types Demo",
      "status": "ok",
      "gfx": false,
      "wasm_bytes": 17324,
      "js_bytes": 11288,
      "total_bytes": 28612,
      "page": "option_result_demo/index.html"
    },
    {
      "name": "showcase",
      "title": "Showcase",
      "category": "language",
      "source": "examples/effects/showcase.flow",
      "summary": "Effect System Showcase: One Service, Many Worlds",
      "status": "ok",
      "gfx": false,
      "wasm_bytes": 18561,
      "js_bytes": 12655,
      "total_bytes": 31216,
      "page": "showcase/index.html"
    },
    {
      "name": "state_effects",
      "title": "State Effects",
      "category": "language",
      "source": "examples/effects/state_effects.flow",
      "summary": "State Effects: Policy Effects with Explicitly-Threaded State",
      "status": "ok",
      "gfx": false,
      "wasm_bytes": 20096,
      "js_bytes": 12660,
      "total_bytes": 32756,
      "page": "state_effects/index.html"
    },
    {
      "name": "traits_demo",
      "title": "Traits Demo",
      "category": "language",
      "source": "examples/generics_traits/traits_demo.flow",
      "summary": "Demonstrates trait-based polymorphism",
      "status": "ok",
      "gfx": false,
      "wasm_bytes": 17183,
      "js_bytes": 11281,
      "total_bytes": 28464,
      "page": "traits_demo/index.html"
    },
    {
      "name": "blas_demo",
      "title": "BLAS Demo",
      "category": "numerics",
      "source": "examples/linalg/blas_demo.flow",
      "summary": "BLAS Demo: Comparing naive vs Accelerate-backed matrix operations",
      "status": "failed",
      "error": "emcc: undefined symbol cblas_dgemm"
    },
    {
      "name": "controllability_demo",
      "title": "Controllability Demo",
      "category": "numerics",
      "source": "examples/dynamics/controllability_demo.flow",
      "summary": "Controllability + similarity transform on mass-spring-damper",
      "status": "ok",
      "gfx": false,
      "wasm_bytes": 12963,
      "js_bytes": 10837,
      "total_bytes": 23800,
      "page": "controllability_demo/index.html"
    },
    {
      "name": "ga_control",
      "title": "GA Control",
      "category": "numerics",
      "source": "examples/dynamics/ga_control.flow",
      "summary": "GA search for stabilizing feedback on discrete double integrator",
      "status": "ok",
      "gfx": false,
      "wasm_bytes": 17502,
      "js_bytes": 11613,
      "total_bytes": 29115,
      "page": "ga_control/index.html"
    },
    {
      "name": "ga_dsys_namespaced",
      "title": "GA Dsys (namespaced)",
      "category": "numerics",
      "source": "examples/dynamics/ga_dsys_namespaced.flow",
      "summary": "Same GA + sense pipeline as ga_dsys_syntax.flow, using the dynamics namespace",
      "status": "ok",
      "gfx": false,
      "wasm_bytes": 32557,
      "js_bytes": 11621,
      "total_bytes": 44178,
      "page": "ga_dsys_namespaced/index.html"
    },
    {
      "name": "ga_dsys_syntax",
      "title": "GA Dsys Syntax",
      "category": "numerics",
      "source": "examples/dynamics/ga_dsys_syntax.flow",
      "summary": "GA + control analysis via the dsys surface syntax",
      "status": "ok",
      "gfx": false,
      "wasm_bytes": 33951,
      "js_bytes": 11617,
      "total_bytes": 45568,
      "page": "ga_dsys_syntax/index.html"
    },
    {
      "name": "ga_full_analysis",
      "title": "GA Full Analysis",
      "category": "numerics",
      "source": "examples/dynamics/ga_full_analysis.flow",
      "summary": "GA control search + unified dynamical systems analysis",
      "status": "ok",
      "gfx": false,
      "wasm_bytes": 32924,
      "js_bytes": 11619,
      "total_bytes": 44543,
      "page": "ga_full_analysis/index.html"
    },
    {
      "name": "ga_wfc_coupled",
      "title": "GA + WFC Coupled",
      "category": "numerics",
      "source": "examples/dynamics/ga_wfc_coupled.flow",
      "summary": "GA + WFC coupled pipeline via dsys syntax",
      "status": "ok",
      "gfx": false,
      "wasm_bytes": 36272,
      "js_bytes": 11617,
      "total_bytes": 47889,
      "page": "ga_wfc_coupled/index.html"
    },
    {
      "name": "gramian_demo",
      "title": "Gramian Demo",
      "category": "numerics",
      "source": "examples/dynamics/gramian_demo.flow",
      "summary": "Finite vs infinite horizon controllability Gramian",
      "status": "ok",
      "gfx": false,
      "wasm_bytes": 11853,
      "js_bytes": 10829,
      "total_bytes": 22682,
      "page": "gramian_demo/index.html"
    },
    {
      "name": "lorenz_attractor",
      "title": "Lorenz Attractor",
      "category": "numerics",
      "source": "examples/dynamics/lorenz_attractor.flow",
      "summary": "Lorenz attractor integration + Lyapunov separation proxy",
      "status": "ok",
      "gfx": false,
      "wasm_bytes": 9780,
      "js_bytes": 11619,
      "total_bytes": 21399,
      "page": "lorenz_attractor/index.html"
    },
    {
      "name": "lu_decomposition",
      "title": "LU Decomposition",
      "category": "numerics",
      "source": "examples/linalg/lu_decomposition.flow",
      "summary": "LU / linear solve via stdlib BLAS (pattern-adoption #168)",
      "status": "failed",
      "error": "emcc: undefined symbol cblas_dcopy"
    },
    {
      "name": "lu_decomposition_pedagogical",
      "title": "LU Decomposition (pedagogical)",
      "category": "numerics",
      "source": "examples/linalg/lu_decomposition_pedagogical.flow",
      "summary": "LU Decomposition (pedagogical) \u2014 hand-written Doolittle / pivoted LU",
      "status": "ok",
      "gfx": false,
      "wasm_bytes": 20111,
      "js_bytes": 11298,
      "total_bytes": 31409,
      "page": "lu_decomposition_pedagogical/index.html"
    },
    {
      "name": "matrix_ops",
      "title": "Matrix Ops",
      "category": "numerics",
      "source": "examples/linalg/matrix_ops.flow",
      "summary": "Basic Matrix Operations",
      "status": "ok",
      "gfx": false,
      "wasm_bytes": 19378,
      "js_bytes": 11280,
      "total_bytes": 30658,
      "page": "matrix_ops/index.html"
    },
    {
      "name": "natural_physics",
      "title": "Natural Physics",
      "category": "numerics",
      "source": "examples/physics/natural_physics.flow",
      "summary": "Natural Physics in Flow",
      "status": "ok",
      "gfx": false,
      "wasm_bytes": 8798,
      "js_bytes": 11285,
      "total_bytes": 20083,
      "page": "natural_physics/index.html"
    },
    {
      "name": "natural_syntax_demo",
      "title": "Natural Syntax Demo",
      "category": "numerics",
      "source": "examples/physics/natural_syntax_demo.flow",
      "summary": "Natural Physics Syntax Demo",
      "status": "ok",
      "gfx": false,
      "wasm_bytes": 17305,
      "js_bytes": 11289,
      "total_bytes": 28594,
      "page": "natural_syntax_demo/index.html"
    },
    {
      "name": "ode_solver",
      "title": "ODE Solver",
      "category": "numerics",
      "source": "examples/numerical/ode_solver.flow",
      "summary": "Ordinary Differential Equation Solvers",
      "status": "ok",
      "gfx": false,
      "wasm_bytes": 23105,
      "js_bytes": 11280,
      "total_bytes": 34385,
      "page": "ode_solver/index.html"
    },
    {
      "name": "optimization",
      "title": "Optimization",
      "category": "numerics",
      "source": "examples/numerical/optimization.flow",
      "summary": "Numerical Optimization",
      "status": "ok",
      "gfx": false,
      "wasm_bytes": 20092,
      "js_bytes": 11282,
      "total_bytes": 31374,
      "page": "optimization/index.html"
    },
    {
      "name": "regression_gd",
      "title": "Regression (GD)",
      "category": "numerics",
      "source": "examples/stats/regression_gd.flow",
      "summary": "Linear regression via plain f32 gradient descent",
      "status": "ok",
      "gfx": false,
      "wasm_bytes": 16895,
      "js_bytes": 11283,
      "total_bytes": 28178,
      "page": "regression_gd/index.html"
    },
    {
      "name": "wfc_demo",
      "title": "WFC Demo",
      "category": "numerics",
      "source": "examples/dynamics/wfc_demo.flow",
      "summary": "Wave Function Collapse on a tiny tile grid",
      "status": "ok",
      "gfx": false,
      "wasm_bytes": 8852,
      "js_bytes": 10825,
      "total_bytes": 19677,
      "page": "wfc_demo/index.html"
    },
    {
      "name": "digits_mlp",
      "title": "Digits MLP",
      "category": "learning",
      "source": "examples/ml/digits_mlp.flow",
      "summary": "Multi-class digits MLP trained from scratch on the CPU",
      "status": "failed",
      "error": "emcc: undefined symbol flow_rt_monotonic_ns"
    },
    {
      "name": "digits_mlp_metal",
      "title": "Digits MLP (Metal)",
      "category": "learning",
      "source": "examples/ml/digits_mlp_metal.flow",
      "summary": "Metal GPU status check for the digits MLP: what runs on the GPU today",
      "status": "failed",
      "error": "emcc: undefined symbol flow_gpu_alloc"
    },
    {
      "name": "digits_mlp_parallel",
      "title": "Digits MLP (parallel)",
      "category": "learning",
      "source": "examples/ml/digits_mlp_parallel.flow",
      "summary": "Data-parallel gradient accumulation for the digits MLP",
      "status": "failed",
      "error": "emcc: undefined symbol flow_rt_monotonic_ns"
    },
    {
      "name": "flowlm_charlm",
      "title": "FlowLM Char-LM",
      "category": "learning",
      "source": "examples/ai/flowlm_charlm.flow",
      "summary": "flowlm \u2014 train a character language model from scratch, in Flow",
      "status": "ok",
      "gfx": false,
      "wasm_bytes": 66462,
      "js_bytes": 11616,
      "total_bytes": 78078,
      "page": "flowlm_charlm/index.html"
    },
    {
      "name": "ga_flappy",
      "title": "GA Flappy",
      "category": "learning",
      "source": "examples/ai/ga_flappy.flow",
      "summary": "GA-FLAPPY - neuroevolution on headless flappy",
      "status": "failed",
      "error": "emcc: undefined symbol fly"
    },
    {
      "name": "mlir_tensor_bench",
      "title": "MLIR Tensor Bench",
      "category": "learning",
      "source": "examples/ml/mlir_tensor_bench.flow",
      "summary": "MLIR-first tensor benchmark \u2014 matmul + activations",
      "status": "ok",
      "gfx": false,
      "wasm_bytes": 17929,
      "js_bytes": 11287,
      "total_bytes": 29216,
      "page": "mlir_tensor_bench/index.html"
    },
    {
      "name": "nn_layers",
      "title": "NN Layers",
      "category": "learning",
      "source": "examples/ml/nn_layers.flow",
      "summary": "Neural Network Layers",
      "status": "ok",
      "gfx": false,
      "wasm_bytes": 19194,
      "js_bytes": 11279,
      "total_bytes": 30473,
      "page": "nn_layers/index.html"
    },
    {
      "name": "optimizers",
      "title": "Optimizers",
      "category": "learning",
      "source": "examples/ml/optimizers.flow",
      "summary": "Neural Network Optimizers",
      "status": "ok",
      "gfx": false,
      "wasm_bytes": 18634,
      "js_bytes": 11280,
      "total_bytes": 29914,
      "page": "optimizers/index.html"
    },
    {
      "name": "policy_pong",
      "title": "Policy Pong",
      "category": "learning",
      "source": "examples/ai/policy_pong.flow",
      "summary": "POLICY-PONG - REINFORCE policy gradient on headless pong",
      "status": "ok",
      "gfx": false,
      "wasm_bytes": 25585,
      "js_bytes": 11614,
      "total_bytes": 37199,
      "page": "policy_pong/index.html"
    },
    {
      "name": "q_snake",
      "title": "Q-Snake",
      "category": "learning",
      "source": "examples/ai/q_snake.flow",
      "summary": "Q-SNAKE - tabular Q-learning on headless snake",
      "status": "ok",
      "gfx": false,
      "wasm_bytes": 20466,
      "js_bytes": 11610,
      "total_bytes": 32076,
      "page": "q_snake/index.html"
    },
    {
      "name": "tape_mul",
      "title": "Tape Mul",
      "category": "learning",
      "source": "examples/ml/tape_mul.flow",
      "summary": "Live reverse-mode Tape via ArrayTape (runtime/flow_tape.c)",
      "status": "failed",
      "error": "emcc: undefined symbol flow_tape_reset"
    },
    {
      "name": "tensor",
      "title": "Tensor",
      "category": "learning",
      "source": "examples/ml/tensor.flow",
      "summary": "Tensor demo \u2014 uses stdlib/tensor.flow",
      "status": "ok",
      "gfx": false,
      "wasm_bytes": 17936,
      "js_bytes": 11276,
      "total_bytes": 29212,
      "page": "tensor/index.html"
    },
    {
      "name": "arena_frame",
      "title": "Arena Frame",
      "category": "systems",
      "source": "examples/systems/arena_frame.flow",
      "summary": "Per-frame arena: bump allocate, then arena_reset each frame",
      "status": "failed",
      "error": "emcc: site/wasm/arena_frame/arena_frame.c:81:9: error: redefinition of 'sizeof_i32'"
    },
    {
      "name": "csv_parser",
      "title": "CSV Parser",
      "category": "systems",
      "source": "examples/data/csv_parser.flow",
      "summary": "Streaming CSV parser demonstrating data processing in Flow",
      "status": "ok",
      "gfx": false,
      "wasm_bytes": 15695,
      "js_bytes": 11613,
      "total_bytes": 27308,
      "page": "csv_parser/index.html"
    },
    {
      "name": "gif_writer",
      "title": "GIF Writer",
      "category": "systems",
      "source": "examples/graphics/gif_writer.flow",
      "summary": "Animated GIF from pure Flow: 24 frames of a square bouncing over a",
      "status": "ok",
      "gfx": false,
      "wasm_bytes": 19073,
      "js_bytes": 59707,
      "total_bytes": 78780,
      "page": "gif_writer/index.html"
    },
    {
      "name": "graphics",
      "title": "Graphics",
      "category": "systems",
      "source": "examples/graphics/graphics.flow",
      "summary": "Graphics Module for FLOW",
      "status": "failed",
      "error": "emcc: undefined symbol main"
    },
    {
      "name": "hash_table",
      "title": "Hash Table",
      "category": "systems",
      "source": "examples/systems/hash_table.flow",
      "summary": "Hash Table Implementation",
      "status": "ok",
      "gfx": false,
      "wasm_bytes": 17385,
      "js_bytes": 11280,
      "total_bytes": 28665,
      "page": "hash_table/index.html"
    },
    {
      "name": "manual_memory",
      "title": "Manual Memory",
      "category": "systems",
      "source": "examples/systems/manual_memory.flow",
      "summary": "Manual heap + arena demo (stdlib/memory.flow)",
      "status": "failed",
      "error": "emcc: site/wasm/manual_memory/manual_memory.c:81:9: error: redefinition of 'sizeof_i32'"
    },
    {
      "name": "memory_pool",
      "title": "Memory Pool",
      "category": "systems",
      "source": "examples/systems/memory_pool.flow",
      "summary": "Memory Pool Allocator",
      "status": "ok",
      "gfx": false,
      "wasm_bytes": 15511,
      "js_bytes": 11281,
      "total_bytes": 26792,
      "page": "memory_pool/index.html"
    },
    {
      "name": "ring_buffer",
      "title": "Ring Buffer",
      "category": "systems",
      "source": "examples/systems/ring_buffer.flow",
      "summary": "Lock-Free Ring Buffer",
      "status": "ok",
      "gfx": false,
      "wasm_bytes": 16181,
      "js_bytes": 11281,
      "total_bytes": 27462,
      "page": "ring_buffer/index.html"
    },
    {
      "name": "runtime_sha256",
      "title": "Runtime SHA-256",
      "category": "systems",
      "source": "examples/crypto/runtime_sha256.flow",
      "summary": "Crypto self-test via always-linked lib/runtime/crypto.flow",
      "status": "failed",
      "error": "emcc: undefined symbol flow_sha256"
    },
    {
      "name": "sha256",
      "title": "SHA-256",
      "category": "systems",
      "source": "examples/crypto/sha256.flow",
      "summary": "SHA-256 Implementation",
      "status": "ok",
      "gfx": false,
      "wasm_bytes": 16190,
      "js_bytes": 11276,
      "total_bytes": 27466,
      "page": "sha256/index.html"
    },
    {
      "name": "shader_demo",
      "title": "Shader Demo",
      "category": "systems",
      "source": "examples/graphics/shader_demo.flow",
      "summary": "FLOW Shader Demo",
      "status": "ok",
      "gfx": false,
      "wasm_bytes": 14062,
      "js_bytes": 11281,
      "total_bytes": 25343,
      "page": "shader_demo/index.html"
    },
    {
      "name": "system_info",
      "title": "System Info",
      "category": "systems",
      "source": "examples/systems/system_info.flow",
      "summary": "System info demo in FLOW (extern-backed)",
      "status": "failed",
      "error": "emcc: undefined symbol os_is_linux"
    },
    {
      "name": "text_demo",
      "title": "Text Demo",
      "category": "systems",
      "source": "examples/graphics/text_demo.flow",
      "summary": "Text rendering: full character set, scales, alignment, numeric helpers",
      "status": "ok",
      "gfx": true,
      "wasm_bytes": 12797,
      "js_bytes": 20333,
      "total_bytes": 33130,
      "page": "text_demo/index.html"
    }
  ]
}
