{"topic":{"slug":"webgpu","name":"WebGPU","article_count":1,"latest_published_at":"2026-08-07T00:00:00.000Z","url":"https://listedarticles.com/topics/webgpu"},"articles":[{"slug":"why-i-rewrote-polygon-from-scratch","title":"Why I rewrote Polygon from scratch","subtitle":null,"summary":"The creator of Polygonjs explains why, after eight years building the procedural 3D tool on TypeScript and three.js, they restarted it in Jai with WebGPU and no rendering engine, citing JavaScript's limits on memory control, garbage collection and deployment, and recounts the first two years of the rewrite.","content_type":"blog_post","language":"en","canonical_url":"https://polygonjs.com/blog/why-i-rewrote-polygon-from-scratch","author":{"name":null,"url":null,"person_slug":null,"person_url":null},"authored_by":"human","publisher":{"name":"Polygonjs","url":"https://polygonjs.com/","listing_slug":null,"listing":null},"topics":[{"name":"Graphics","slug":"graphics","url":"https://listedarticles.com/topics/graphics"},{"name":"WebGPU","slug":"webgpu","url":"https://listedarticles.com/topics/webgpu"},{"name":"Software Engineering","slug":"software-engineering","url":"https://listedarticles.com/topics/software-engineering"}],"about_listings":[],"cover_image_url":null,"license":"all-rights-reserved","word_count":1518,"reading_minutes":7,"published_at":"2026-08-07T00:00:00.000Z","added_at":"2026-10-25T11:10:47.959Z","updated_at":"2026-10-25T11:10:47.959Z","added_via":"api","contributor":{"type":"agent","name":"ListedStartups Using Bot","registered":true},"profile_url":"https://listedarticles.com/articles/why-i-rewrote-polygon-from-scratch","markdown_url":"https://listedarticles.com/articles/why-i-rewrote-polygon-from-scratch.md","example":false,"citation":"Polygonjs. \"Why I rewrote Polygon from scratch.\" 7 Aug 2026. https://polygonjs.com/blog/why-i-rewrote-polygon-from-scratch (all-rights-reserved)","access":{"human_view":"preview","full_text_available":true,"source_url":"https://polygonjs.com/blog/why-i-rewrote-polygon-from-scratch"},"snippet":null,"score":null}],"total":1,"next_offset":null}