{
  "$type": "site.standard.document",
  "content": "---\ntitle: \"Student project: animated 3D code rendering engine\"\ndescription: \"A student project idea: real-time handwriting-style code rendering for\n  livecoding performances, synced to the music.\"\ntags:\n  - teaching\n---\n\n:::info\n\nI'm trying to get better at writing down potential student project ideas as they\ncome to me.\n\n:::\n\nAs a [livecoder](/livecoding/) I care more than most about how my code looks on\nthe screen. While I've\n[written in the past](https://benswift.me/research/#swiftVisualCodeAnnotations2013)\nabout the potential of animated \"tooltip\" style code annotations, I'd love to\nhave more detailed (parametric) control over the display of the code/text\nitself, especially in a \"handwritten\" style. Being able to \"write\" the code in\nreal-time in sync with the music in a livecoding setup would look super cool,\nand I [^unproven-hypothesis] think that it might even help folks follow what's\ngoing on in terms of which bits of code are responsible for which parts of the\nmusic.\n\n[^unproven-hypothesis]: I have no evidence for this... but I'd like to try and get some.\n\nMaking this happen would require:\n\n- a handwriting synthesis model (something like\n  [this one by Alex Graves](https://github.com/sjvasquez/handwriting-synthesis))\n\n- (optionally) a 3D version (which would give output like\n  [this](https://www.youtube.com/watch?v=rA3QZVEfGpc), but automated rather than\n  manual)\n\n- a way of applying keyword colouring & other standard code display niceties\n  (because it'd be nice to not _lose_ the things that a regular old IDE/text\n  editor can do)\n\n- a protocol for a livecoding IDE to communicate (including timing information)\n  with this code synthesis engine so that the code would be displayed/drawn (and\n  re-drawn) in response to the music in funky ways\n\n...and it'd all have to run in real-time during a performance (although it\nneedn't be running on the livecoder's machine---as mentioned above it'd ideally\nuse some sort of [nrepl](https://nrepl.org/nrepl/index.html)-style protocol and\ncould be done over the network).\n\nIf you're an ANU student and you want to do a research project along these lines\nwith the [c/c/c studio](https://cs.anu.edu.au/code-creativity-culture/), then\n[drop me a line](mailto:ben.swift@anu.edu.au).\n",
  "createdAt": "2026-05-13T23:14:52.974Z",
  "description": "A student project idea: real-time handwriting-style code rendering for livecoding performances, synced to the music.",
  "path": "/blog/2020/12/11/student-project-animated-3d-code-rendering-engine",
  "publishedAt": "2020-12-11T00:00:00.000Z",
  "site": "at://did:plc:tevykrhi4kibtsipzci76d76/site.standard.publication/self",
  "tags": [
    "teaching"
  ],
  "textContent": "A student project idea: real-time handwriting-style code rendering for livecoding performances, synced to the music.",
  "title": "Student project: animated 3D code rendering engine"
}