[{"data":1,"prerenderedAt":275},["ShallowReactive",2],{"navigation_docs":3,"-development-overview":127,"-development-overview-surround":270},[4,23,91,109],{"title":5,"icon":6,"path":7,"stem":8,"children":9,"page":22},"Getting Started","i-lucide-rocket","\u002Fgetting-started","1.getting-started",[10,14,18],{"title":11,"path":12,"stem":13},"Introduction","\u002Fgetting-started\u002Fintroduction","1.getting-started\u002F1.introduction",{"title":15,"path":16,"stem":17},"Download","\u002Fgetting-started\u002Fdownload","1.getting-started\u002F2.download",{"title":19,"path":20,"stem":21},"Roadmap","\u002Fgetting-started\u002Froadmap","1.getting-started\u002F3.roadmap",false,{"title":24,"icon":25,"path":26,"stem":27,"children":28,"page":22},"User Guide","i-lucide-book-open","\u002Fuser-guide","2.user-guide",[29,75,79,83,87],{"title":30,"icon":31,"path":32,"stem":33,"children":34,"page":22},"Tools","i-lucide-wrench","\u002Fuser-guide\u002Ftools","2.user-guide\u002F1.tools",[35,39,43,47,51,55,59,63,67,71],{"title":36,"path":37,"stem":38},"Brush","\u002Fuser-guide\u002Ftools\u002Fbrush","2.user-guide\u002F1.tools\u002F1.brush",{"title":40,"path":41,"stem":42},"Crop","\u002Fuser-guide\u002Ftools\u002Fcrop","2.user-guide\u002F1.tools\u002F10.crop",{"title":44,"path":45,"stem":46},"Eraser","\u002Fuser-guide\u002Ftools\u002Feraser","2.user-guide\u002F1.tools\u002F2.eraser",{"title":48,"path":49,"stem":50},"Shapes","\u002Fuser-guide\u002Ftools\u002Fshapes","2.user-guide\u002F1.tools\u002F3.shapes",{"title":52,"path":53,"stem":54},"Selection","\u002Fuser-guide\u002Ftools\u002Fselection","2.user-guide\u002F1.tools\u002F4.selection",{"title":56,"path":57,"stem":58},"Fill","\u002Fuser-guide\u002Ftools\u002Ffill","2.user-guide\u002F1.tools\u002F5.fill",{"title":60,"path":61,"stem":62},"Gradient","\u002Fuser-guide\u002Ftools\u002Fgradient","2.user-guide\u002F1.tools\u002F6.gradient",{"title":64,"path":65,"stem":66},"Color Picker","\u002Fuser-guide\u002Ftools\u002Fcolor-picker","2.user-guide\u002F1.tools\u002F7.color-picker",{"title":68,"path":69,"stem":70},"Text","\u002Fuser-guide\u002Ftools\u002Ftext","2.user-guide\u002F1.tools\u002F8.text",{"title":72,"path":73,"stem":74},"Transform","\u002Fuser-guide\u002Ftools\u002Ftransform","2.user-guide\u002F1.tools\u002F9.transform",{"title":76,"path":77,"stem":78},"Layers & Compositing","\u002Fuser-guide\u002Flayers-and-compositing","2.user-guide\u002F2.layers-and-compositing",{"title":80,"path":81,"stem":82},"Canvas Workflow","\u002Fuser-guide\u002Fcanvas-workflow","2.user-guide\u002F3.canvas-workflow",{"title":84,"path":85,"stem":86},"Documents","\u002Fuser-guide\u002Fdocuments","2.user-guide\u002F4.documents",{"title":88,"path":89,"stem":90},"Troubleshooting","\u002Fuser-guide\u002Ftroubleshooting","2.user-guide\u002F5.troubleshooting",{"title":92,"icon":93,"path":94,"stem":95,"children":96,"page":22},"Tips & Tricks","i-lucide-lightbulb","\u002Ftips-and-tricks","3.tips-and-tricks",[97,101,105],{"title":98,"path":99,"stem":100},"Canvas & Gestures","\u002Ftips-and-tricks\u002Fcanvas-and-gestures","3.tips-and-tricks\u002F1.canvas-and-gestures",{"title":102,"path":103,"stem":104},"Brushes & Strokes","\u002Ftips-and-tricks\u002Fbrushes-and-strokes","3.tips-and-tricks\u002F2.brushes-and-strokes",{"title":106,"path":107,"stem":108},"Color & Selections","\u002Ftips-and-tricks\u002Fcolor-and-selections","3.tips-and-tricks\u002F3.color-and-selections",{"title":110,"icon":111,"path":112,"stem":113,"children":114,"page":22},"Development","i-lucide-code","\u002Fdevelopment","4.development",[115,119,123],{"title":116,"path":117,"stem":118},"Development Overview","\u002Fdevelopment\u002Foverview","4.development\u002F1.overview",{"title":120,"path":121,"stem":122},"AI & LLM Usage","\u002Fdevelopment\u002Fai-and-llm-usage","4.development\u002F2.ai-and-llm-usage",{"title":124,"path":125,"stem":126},"Changelog","\u002Fdevelopment\u002Fchangelog","4.development\u002F3.changelog",{"id":128,"title":116,"body":129,"description":263,"extension":264,"links":265,"meta":266,"navigation":267,"path":117,"seo":268,"stem":118,"__hash__":269},"docs\u002F4.development\u002F1.overview.md",{"type":130,"value":131,"toc":259},"minimark",[132,136,140,163,166,171,224,228,231,255],[133,134,116],"h1",{"id":135},"development-overview",[137,138,139],"p",{},"OxieDraw is a Rust + GTK4\u002Flibadwaita + Vulkan app, organised as a Cargo\nworkspace:",[141,142,143,151,157],"ul",{},[144,145,146,150],"li",{},[147,148,149],"code",{},"oxiedraw-core"," - core drawing\u002Fdocument model",[144,152,153,156],{},[147,154,155],{},"oxiedraw-ui"," - GTK\u002Frelm4 UI layer",[144,158,159,162],{},[147,160,161],{},"oxiedraw-utils"," - shared helpers",[137,164,165],{},"This page is the jumping-off point for working on it.",[167,168,170],"h2",{"id":169},"building-locally","Building locally",[172,173,178],"pre",{"className":174,"code":175,"language":176,"meta":177,"style":177},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","git clone https:\u002F\u002Fgithub.com\u002Fyokarion\u002Foxiedraw.git\ncd oxiedraw\ncargo build --release\n.\u002Ftarget\u002Frelease\u002Foxiedraw\n","bash","",[147,179,180,196,206,218],{"__ignoreMap":177},[181,182,185,189,193],"span",{"class":183,"line":184},"line",1,[181,186,188],{"class":187},"sBMFI","git",[181,190,192],{"class":191},"sfazB"," clone",[181,194,195],{"class":191}," https:\u002F\u002Fgithub.com\u002Fyokarion\u002Foxiedraw.git\n",[181,197,199,203],{"class":183,"line":198},2,[181,200,202],{"class":201},"s2Zo4","cd",[181,204,205],{"class":191}," oxiedraw\n",[181,207,209,212,215],{"class":183,"line":208},3,[181,210,211],{"class":187},"cargo",[181,213,214],{"class":191}," build",[181,216,217],{"class":191}," --release\n",[181,219,221],{"class":183,"line":220},4,[181,222,223],{"class":187},".\u002Ftarget\u002Frelease\u002Foxiedraw\n",[167,225,227],{"id":226},"api-documentation","API documentation",[137,229,230],{},"Generate the Rust API docs locally with rustdoc:",[172,232,234],{"className":174,"code":233,"language":176,"meta":177,"style":177},"cargo doc --no-deps --workspace\n# then open target\u002Fdoc\u002Foxiedraw_core\u002Findex.html\n",[147,235,236,249],{"__ignoreMap":177},[181,237,238,240,243,246],{"class":183,"line":184},[181,239,211],{"class":187},[181,241,242],{"class":191}," doc",[181,244,245],{"class":191}," --no-deps",[181,247,248],{"class":191}," --workspace\n",[181,250,251],{"class":183,"line":198},[181,252,254],{"class":253},"sHwdD","# then open target\u002Fdoc\u002Foxiedraw_core\u002Findex.html\n",[256,257,258],"style",{},"html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sHwdD, html code.shiki .sHwdD{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic}",{"title":177,"searchDepth":198,"depth":198,"links":260},[261,262],{"id":169,"depth":198,"text":170},{"id":226,"depth":198,"text":227},"Contributor-facing overview - source and building locally.","md",null,{},true,{"title":116,"description":263},"cGZ9yUYSyKnTqLMqbm3DDuVmzfLgAWKFOwKgTUvboxk",[271,273],{"title":106,"path":107,"stem":108,"description":272,"children":-1},"Work non-destructively with color and selections.",{"title":120,"path":121,"stem":122,"description":274,"children":-1},"The policy for using LLMs and AI when contributing to OxieDraw.",1788292909729]