{"id":"runtime--buffer.Resize","name":"buffer.Resize","owner":"yeho","package":"runtime","kind":"runtime","signature":"buffer.Resize","description":"Set a scalar buffer's logical element count, preserving existing elements and zero-filling growth.","context":"CPU and GPU data processing with explicit ownership and completion.","parameters":[],"returns":"","members":[],"tags":["compute","cpu","gameplay","gpu","yeho"],"updated":"2026-09-09","source":{"repository":"yeho","path":"docs/runtime/execution-boundaries.md; docs/runtime/metal-compute-v1.md"},"status":"experimental","notes":[],"examples":[{"id":"gpu","title":"GPU · [gpu]","description":"Double a batch of reward values on native Metal. The [gpu] tag requires an accelerator backend; CPU oracle cannot silently satisfy it.","code":"[gpu]\ncompute DoubleRewards(buffer of int rewards, int multiplier)\n{\n    int index = compute.index\n    if index >= rewards.count { return }\n    rewards[index] = rewards[index] * multiplier\n}\n\nbuffer of int rewards\nrewards.Resize(3)\nrewards[0] = 100\nrewards[1] = 80\nrewards[2] = 60\ncomputeTask job = dispatch DoubleRewards(rewards, 2)\nwait job\nif job.failed { Console.Error(job.error.message) Process.Exit(1) }\nfor index from 0 < rewards.count { Console.Log(Text.From(rewards[index])) }\n","tags":["gpu","compute","gameplay"],"run":"metal","expected":"200\n160\n120","verifyRun":true,"manifest":"manifestVersion = \"2\"\npackage = \"api.example.runtime__buffer_resize\"\nversion = \"0.1.0\"\nlanguageEdition = \"yeho-core-2026.1\"\n\n[app]\nkind = \"headless\"\n","verification":"executed","sha256":"8be31582cac463261aad61dc1b37b8c02b7bbd512e2c546ed43603d1b927b3ed","checked":"2026-09-09","diagnostic":"","observedOutput":"200\n160\n120","checkedBackend":"metal"}],"searchTerms":[],"url":"https://demonhunterlabs.com/academy/api?item=runtime--buffer.Resize","json":"https://demonhunterlabs.com/reference/items/runtime--buffer.Resize.json","markdown":"https://demonhunterlabs.com/reference/text/runtime--buffer.Resize.md"}
