{
"$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"
}