{"id":"frontend.yui--yuiPersistentCanvasFrameV1","name":"yuiPersistentCanvasFrameV1","owner":"yeho","package":"frontend.yui","kind":"thing","signature":"external thing yuiPersistentCanvasFrameV1","description":"A yui persistent canvas frame v1 record carrying fullRedraw, damage, backgroundRed, backgroundGreen, backgroundBlue, and related state.","context":"Turn YUI models into a working frontend and its rendering/input adapters.","parameters":[],"returns":"void","members":[{"name":"fullRedraw","kind":"field","type":"bool","description":"Stores full redraw as bool.","signature":"bool fullRedraw","tags":["thing","field","frontend.yui"],"updated":"2026-09-09"},{"name":"damage","kind":"field","type":"list of yuiPersistentCanvasDamageRegionV1","description":"Stores damage as list of yuiPersistentCanvasDamageRegionV1.","signature":"list of yuiPersistentCanvasDamageRegionV1 damage","tags":["thing","field","frontend.yui"],"updated":"2026-09-09"},{"name":"backgroundRed","kind":"field","type":"int","description":"Stores background red as int.","signature":"int backgroundRed","tags":["thing","field","frontend.yui"],"updated":"2026-09-09"},{"name":"backgroundGreen","kind":"field","type":"int","description":"Stores background green as int.","signature":"int backgroundGreen","tags":["thing","field","frontend.yui"],"updated":"2026-09-09"},{"name":"backgroundBlue","kind":"field","type":"int","description":"Stores background blue as int.","signature":"int backgroundBlue","tags":["thing","field","frontend.yui"],"updated":"2026-09-09"},{"name":"retainedReplay","kind":"field","type":"bool","description":"Stores retained replay as bool.","signature":"bool retainedReplay","tags":["thing","field","frontend.yui"],"updated":"2026-09-09"},{"name":"expectedSurfaceId","kind":"field","type":"text","description":"Stores expected surface id as text.","signature":"text expectedSurfaceId","tags":["thing","field","frontend.yui"],"updated":"2026-09-09"},{"name":"diagnostic","kind":"field","type":"text","description":"Stores diagnostic as text.","signature":"text diagnostic","tags":["thing","field","frontend.yui"],"updated":"2026-09-09"},{"name":"source","kind":"field","type":"text","description":"Stores source as text.","signature":"text source","tags":["thing","field","frontend.yui"],"updated":"2026-09-09"},{"name":"yuiPersistentCanvasFrameV1","kind":"constructor","parameters":[{"name":"fullRedraw","type":"bool","description":"Full redraw."},{"name":"backgroundRed","type":"int","description":"Background red."},{"name":"backgroundGreen","type":"int","description":"Background green."},{"name":"backgroundBlue","type":"int","description":"Background blue."},{"name":"source","type":"text","description":"Source."}],"returns":"void","signature":"yuiPersistentCanvasFrameV1(bool fullRedraw, int backgroundRed, int backgroundGreen, int backgroundBlue, text source)","description":"Yui persistent canvas frame v1.","tags":["thing","constructor","frontend.yui"],"updated":"2026-09-09"},{"name":"AddDamage","kind":"method","parameters":[{"name":"bounds","type":"yuiRenderBounds","description":"Bounds."},{"name":"source","type":"text","description":"Source."}],"returns":"void","signature":"AddDamage(yuiRenderBounds bounds, text source)","description":"Add damage.","tags":["thing","method","frontend.yui"],"exampleId":"method-AddDamage-10","updated":"2026-09-09"}],"tags":["cpu","frontend","frontend.yui","method","source-example","thing","yeho","yui"],"updated":"2026-09-09","source":{"repository":"yeho","path":"packages/frontend/yui/render-persistent_canvas.yh","line":25,"sha256":"48720d049f91a22c3c1fa07040750e6ba8b45c47c77e91274bedd57ef6b73eb3"},"status":"source-declared","notes":["Package presence and a declaration do not establish support on every host. Host services need their platform and lifecycle setup."],"examples":[{"id":"usage","title":"Use yuiPersistentCanvasFrameV1","description":"A complete small caller. Values are illustrative; check the returned result and package requirements before connecting live resources.","code":"using frontend.yui\n\n// Turn YUI models into a working frontend and its rendering/input adapters.\nyuiPersistentCanvasFrameV1 sample = yuiPersistentCanvasFrameV1(true, 1, 1, 1, \"example\")\nConsole.Log(Text.From(sample.fullRedraw))\n","manifest":"manifestVersion = \"2\"\npackage = \"api.example.frontend_yui__yuipersistentcanvasframev1\"\nversion = \"0.1.0\"\nlanguageEdition = \"yeho-core-2026.1\"\n\n[app]\nkind = \"headless\"\n\n[[dependencies]]\npackage = \"frontend.yui\"\nversion = \"0.2.0\"\npath = \"../../../yeho/packages/frontend/yui\"\n\n[[dependencies]]\npackage = \"graphics.canvas\"\nversion = \"0.1.0\"\npath = \"../../../yeho/packages/graphics/canvas\"\n\n[[dependencies]]\npackage = \"graphics.image\"\nversion = \"0.1.0\"\npath = \"../../../yeho/packages/graphics/image\"\n\n[[dependencies]]\npackage = \"graphics.image.processing\"\nversion = \"0.1.0\"\npath = \"../../../yeho/packages/graphics/image/processing\"\n\n[[dependencies]]\npackage = \"graphics.text\"\nversion = \"0.1.0\"\npath = \"../../../yeho/packages/graphics/text\"\n\n[[dependencies]]\npackage = \"host.ui_services\"\nversion = \"0.1.0\"\npath = \"../../../yeho/packages/host/ui_services\"\n\n[[dependencies]]\npackage = \"input.text\"\nversion = \"0.1.0\"\npath = \"../../../yeho/packages/input/text\"\n\n[[dependencies]]\npackage = \"ui\"\nversion = \"0.2.0\"\npath = \"../../../yeho/packages/ui\"\n","tags":["cpu","source-example"],"verification":"type checked","run":"cpu-oracle","sha256":"2bbd5e309f9b1ff0a3f7d97290755bd6980a64d59fc0493327beb9dea1675b61","checked":"2026-09-09","diagnostic":"","observedOutput":null,"checkedBackend":null},{"id":"method-AddDamage-10","title":"yuiPersistentCanvasFrameV1.AddDamage","description":"A complete caller for this public method. Sample inputs are illustrative; native resources require their owning lifecycle.","code":"using frontend.yui\n\n// Add damage.\nyuiPersistentCanvasFrameV1 instance = yuiPersistentCanvasFrameV1(true, 1, 1, 1, \"example\")\nyuiRenderBounds argument_bounds = yuiRenderBounds(1, 1, 1, 1)\ntext argument_source = \"argument source\"\ninstance.AddDamage(argument_bounds, argument_source)\nConsole.Log(\"AddDamage completed\")\n","manifest":"manifestVersion = \"2\"\npackage = \"api.example.frontend_yui__yuipersistentcanvasframev1\"\nversion = \"0.1.0\"\nlanguageEdition = \"yeho-core-2026.1\"\n\n[app]\nkind = \"headless\"\n\n[[dependencies]]\npackage = \"frontend.yui\"\nversion = \"0.2.0\"\npath = \"../../../yeho/packages/frontend/yui\"\n\n[[dependencies]]\npackage = \"graphics.canvas\"\nversion = \"0.1.0\"\npath = \"../../../yeho/packages/graphics/canvas\"\n\n[[dependencies]]\npackage = \"graphics.image\"\nversion = \"0.1.0\"\npath = \"../../../yeho/packages/graphics/image\"\n\n[[dependencies]]\npackage = \"graphics.image.processing\"\nversion = \"0.1.0\"\npath = \"../../../yeho/packages/graphics/image/processing\"\n\n[[dependencies]]\npackage = \"graphics.text\"\nversion = \"0.1.0\"\npath = \"../../../yeho/packages/graphics/text\"\n\n[[dependencies]]\npackage = \"host.ui_services\"\nversion = \"0.1.0\"\npath = \"../../../yeho/packages/host/ui_services\"\n\n[[dependencies]]\npackage = \"input.text\"\nversion = \"0.1.0\"\npath = \"../../../yeho/packages/input/text\"\n\n[[dependencies]]\npackage = \"ui\"\nversion = \"0.2.0\"\npath = \"../../../yeho/packages/ui\"\n","tags":["cpu","method","source-example"],"run":"cpu-oracle","verification":"type checked","sha256":"f81a44a087c051c7c863d71ad5c22aca163b0f194d4cb25f2dcc1c2f91626f4e","checked":"2026-09-09","diagnostic":"","observedOutput":null,"checkedBackend":null}],"searchTerms":["fullRedraw","damage","backgroundRed","backgroundGreen","backgroundBlue","retainedReplay","expectedSurfaceId","diagnostic","source","yuiPersistentCanvasFrameV1","AddDamage"],"url":"https://demonhunterlabs.com/academy/api?item=frontend.yui--yuiPersistentCanvasFrameV1","json":"https://demonhunterlabs.com/reference/items/frontend.yui--yuiPersistentCanvasFrameV1.json","markdown":"https://demonhunterlabs.com/reference/text/frontend.yui--yuiPersistentCanvasFrameV1.md"}
