localharness 0.78.0

Agents that own themselves: one Rust crate that's both an agent SDK (streaming, tools, hooks, policies, triggers, MCP) and a wallet-owning, self-sovereign agent that runs in the browser.
Documentation
1
2
3
4
5
6
7
8
9
10
{
  "id": "079",
  "prompt": "A loading spinner like a native OS one: 16 dots arranged in a circle (positions from a 16-entry integer sine table, cos = index+4), where the \"lead\" dot index advances with t/3 and each dot's gray level fades with its distance behind the lead — computed with wrap-around masking, not branches. Center it and put LOADING underneath.",
  "solution_rl": "fn frame(t: i32) {\n    let tab = [0, 49, 90, 117, 127, 117, 90, 49, 0, -49, -90, -117, -127, -117, -90, -49];\n    let w: i32 = host::display::width();\n    let h: i32 = host::display::height();\n    let cx: i32 = w / 2;\n    let cy: i32 = h / 2 - 10;\n    let r: i32 = if w < h { w / 4 } else { h / 4 };\n    host::display::clear(0x000000);\n    let lead: i32 = (t / 3) & 15;\n    let mut k: i32 = 0;\n    while k < 16 {\n        let d: i32 = (lead - k + 16) & 15;\n        let g: i32 = 255 - d * 15;\n        let x: i32 = cx + tab[k] * r / 127;\n        let y: i32 = cy + tab[(k + 4) & 15] * r / 127;\n        host::display::fill_rect(x - 3, y - 3, 6, 6, g * 65536 + g * 256 + g);\n        k = k + 1;\n    }\n    host::display::draw_string(cx - 28, cy + r + 16, \"LOADING\", 0x808080, 1);\n    host::display::present();\n}\n",
  "tags": [
    "trig-table",
    "animation",
    "ui"
  ]
}