[{"data":1,"prerenderedAt":293},["ShallowReactive",2],{"site-chrome":3,"i-lucide:sparkles":70,"i-lucide:pencil-ruler":74,"cms-page:\u002Fdocs":76,"i-lucide:combine":264,"i-lucide:spline":266,"i-lucide:pen-tool":268,"i-lucide:brush":270,"i-lucide:blocks":272,"i-lucide:bone":274,"i-lucide:file-code-2":276,"i-lucide:image":279,"i-lucide:layers":281,"i-lucide:keyboard":283,"i-lucide:hard-drive":285,"i-lucide:check":287,"i-lucide:arrow-right":289,"i-lucide:printer":291},{"nav":4,"footer":25},{"id":5,"brand":6,"links":7},1,"CubbyCAD",[8,13,17,22],{"id":5,"sort":5,"label":9,"href":10,"external":11,"visibility":12},"Home","\u002F",0,"always",{"id":14,"sort":14,"label":15,"href":16,"external":11,"visibility":12},2,"Explore","\u002Fexplore",{"id":18,"sort":19,"label":20,"href":21,"external":11,"visibility":12},5,4,"Docs","\u002Fdocs",{"id":19,"sort":18,"label":23,"href":24,"external":11,"visibility":12},"Enhanced Plan","\u002Fpricing",{"id":5,"tagline":26,"version_label":27,"links":28},"A browser-based 3D modeler for designing parts you can actually print.","v0.1",[29,34,37,40,43,47,52,59,65],{"id":5,"sort":30,"group":31,"label":32,"href":33,"external":5,"visibility":12},10,"Use","Open the editor","\u002Feditor\u002F",{"id":14,"sort":35,"group":31,"label":36,"href":16,"external":11,"visibility":12},11,"Explore parts & workspaces",{"id":38,"sort":39,"group":31,"label":20,"href":21,"external":11,"visibility":12},3,12,{"id":19,"sort":41,"group":31,"label":42,"href":24,"external":11,"visibility":12},13,"Pricing",{"id":18,"sort":44,"group":31,"label":45,"href":46,"external":5,"visibility":12},14,"Slicer","\u002Fslicer\u002F",{"id":48,"sort":49,"group":31,"label":50,"href":51,"external":11,"visibility":12},6,15,"Credits","\u002Fcredits",{"id":53,"sort":54,"group":55,"label":56,"href":57,"external":11,"visibility":58},7,20,"Account","Your workspaces","\u002Faccount","signed-in",{"id":60,"sort":61,"group":55,"label":62,"href":63,"external":11,"visibility":64},8,21,"Sign in","\u002Flogin","signed-out",{"id":66,"sort":67,"group":55,"label":68,"href":69,"external":11,"visibility":64},9,22,"Make an account","\u002Fsignup",{"left":11,"top":11,"width":71,"height":71,"rotate":11,"vFlip":72,"hFlip":72,"body":73},24,false,"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Cpath d=\"M11.017 2.814a1 1 0 0 1 1.966 0l1.051 5.558a2 2 0 0 0 1.594 1.594l5.558 1.051a1 1 0 0 1 0 1.966l-5.558 1.051a2 2 0 0 0-1.594 1.594l-1.051 5.558a1 1 0 0 1-1.966 0l-1.051-5.558a2 2 0 0 0-1.594-1.594l-5.558-1.051a1 1 0 0 1 0-1.966l5.558-1.051a2 2 0 0 0 1.594-1.594zM20 2v4m2-2h-4\"\u002F>\u003Ccircle cx=\"4\" cy=\"20\" r=\"2\"\u002F>\u003C\u002Fg>",{"left":11,"top":11,"width":71,"height":71,"rotate":11,"vFlip":72,"hFlip":72,"body":75},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M13 7L8.7 2.7a2.41 2.41 0 0 0-3.4 0L2.7 5.3a2.41 2.41 0 0 0 0 3.4L7 13m1-7l2-2m8 12l2-2m-3-3l4.3 4.3c.94.94.94 2.46 0 3.4l-2.6 2.6c-.94.94-2.46.94-3.4 0L11 17M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497zM15 5l4 4\"\u002F>",{"id":77,"title":78,"permalink":21,"status":79,"meta_title":80,"meta_description":81,"og_image":82,"blocks":83},16,"Documentation","published","Documentation · CubbyCAD","How-to guides for every CubbyCAD feature: modeling, smooth blends, the 3D sketcher, sculpting, voxels, rigging, script parts, import, modifiers, export, and storage.",null,[84,93,103,244,251],{"id":85,"sort":14,"collection":86,"item":87},75,"block_hero",{"id":77,"eyebrow":78,"headline":88,"subhead":89,"figure":90,"note":82,"tone":91,"buttons":92},"How to use CubbyCAD","Step-by-step guides for every part of the editor — modeling, sculpting, voxels, rigging, scripting, import, export, and more.","","butter",[],{"id":94,"sort":38,"collection":95,"item":96},102,"block_media",{"id":97,"image":98,"image_path":82,"alt":99,"caption":100,"heading":82,"body":82,"layout":101,"tone":102,"video":82,"video_path":82},29,"61d8e61a-65ca-4345-bbd6-0d19c1931b0f","The CubbyCAD editor","**The editor.** The main modeling workspace where every guide takes place.","full","default",{"id":104,"sort":19,"collection":105,"item":106},76,"block_features",{"id":14,"eyebrow":107,"heading":108,"intro":109,"columns":14,"style":110,"tone":102,"items":111},"Guides","Pick a feature","Each guide walks through the feature in the editor, step by step.","detailed",[112,123,134,145,156,168,180,191,202,212,222,234],{"id":41,"block_features":14,"sort":82,"icon":113,"title":114,"eyebrow":115,"body":116,"points":117,"link":122},"i-lucide-combine","Shape building","the core","Drop primitives onto the grid, mark them add or subtract, and group them. Manifold computes the boolean so the result stays solid and printable.",[118,119,120,121],"Primitives: box, sphere, cylinder, cone, and more","Add, subtract, and group with live booleans","Direct modeling, no constraint solver to fight","Multicolour groups bake per-part colours into the union","\u002Fdocs\u002Fshape-building",{"id":44,"block_features":14,"sort":82,"icon":124,"title":125,"eyebrow":126,"body":127,"points":128,"link":133},"i-lucide-spline","Smooth blends","smooth joins","Switch a group from sharp to smooth and an SDF field merges its parts with a rounded fillet instead of a hard edge. A blend-width slider sets how soft the joins are.",[129,130,131,132],"Per-group blend width, set in millimetres","Works with primitives and imported meshes","Falls back to sharp CSG when a part can't be blended","Coarser live preview, full resolution on export","\u002Fdocs\u002Fsmooth-blends",{"id":49,"block_features":14,"sort":82,"icon":135,"title":136,"eyebrow":137,"body":138,"points":139,"link":144},"i-lucide-pen-tool","3D sketcher","sketching","Sketch on any face or the ground plane with the pen and rectangle tools, then extrude or revolve a closed contour into a solid. It all happens in 3D, with no separate flat editor.",[140,141,142,143],"Pen and rectangle tools, snap-aware","Extrude or revolve a closed contour","Sketch on a picked face or the ground plane","Import an SVG to turn vector art into contours","\u002Fdocs\u002F3d-sketcher",{"id":77,"block_features":14,"sort":82,"icon":146,"title":147,"eyebrow":148,"body":149,"points":150,"link":155},"i-lucide-brush","Sculpt with layers","organic","Convert a shape to an SDF sculpt and push its surface with a brush. Edits sit in a layer over the base, so you can undo a stroke or clear the whole layer to get the original back.",[151,152,153,154],"Ten-plus brush tools: draw, carve, smooth, flatten, pinch, grab, paint, and more","Non-destructive: strokes layer over the base","Several brush shapes; adjustable size, strength, and blend","Mirror sculpting across X, Y, or Z","\u002Fdocs\u002Fsculpt-with-layers",{"id":157,"block_features":14,"sort":82,"icon":158,"title":159,"eyebrow":160,"body":161,"points":162,"link":167},17,"i-lucide-blocks","Voxels","blocky","Build from blocks on a voxel octree that supports varying detail levels and sloped edges, so it's fine where it matters and coarse elsewhere. Surface-nets and plain-voxel meshing are available too.",[163,164,165,166],"Voxel octree with variable depth and sloped edges","Surface-nets and plain-voxel meshing as well","Per-cell colour","Walk through what you built in first person","\u002Fdocs\u002Fvoxels",{"id":169,"block_features":14,"sort":82,"icon":170,"title":171,"eyebrow":172,"body":173,"points":174,"link":179},18,"i-lucide-bone","Rig & pose","rigging","Add a humanoid or quadruped skeleton, or build a custom rig bone by bone. Bind geometry to the bones, then pose with forward or inverse kinematics. Save named poses to reuse later.",[175,176,177,178],"Humanoid and quadruped presets, or a single-bone start","Bind parts to bones by overlap or by hand","Pose with forward (FK) or inverse (IK) kinematics","Save and reapply named poses; mirror a pose across X","\u002Fdocs\u002Frig-and-pose",{"id":181,"block_features":14,"sort":82,"icon":182,"title":183,"eyebrow":184,"body":185,"points":186,"link":190},19,"i-lucide-file-code-2","Script parts","parametric","Write real parameters when you need them. Script parts run in the browser with no server round-trip, and their settings show up as editable controls.",[187,188,189],"ManifoldCAD JavaScript \u002F TypeScript modules","Parameters become editable controls in the editor","Public parts are embeddable and downloadable","\u002Fdocs\u002Fscript-parts",{"id":54,"block_features":14,"sort":82,"icon":192,"title":193,"eyebrow":194,"body":195,"points":196,"link":201},"i-lucide-image","Bring stuff in","import & reference","Import meshes you already have, or instance other models and voxel parts. You can also drop in a photo or blueprint as a reference plane to model against.",[197,198,199,200],"Mesh import: STL, OBJ, GLB (Draco and meshopt)","Instance other models and voxel parts","Reference images (PNG, JPEG) as adjustable planes with opacity","Non-manifold detection with one-click auto-repair","\u002Fdocs\u002Fbring-stuff-in",{"id":61,"block_features":14,"sort":82,"icon":203,"title":204,"eyebrow":205,"body":206,"points":207,"link":211},"i-lucide-layers","Modifier stack","post-processing","Stack modifiers on any part. They run after the boolean, in order, and you can reorder or remove them.",[208,209,210],"Subdivision to smooth out faceting","Remesh to symmetrise the boolean output","Decimate to reduce triangle count","\u002Fdocs\u002Fmodifier-stack",{"id":67,"block_features":14,"sort":82,"icon":213,"title":214,"eyebrow":215,"body":216,"points":217,"link":221},"i-lucide-printer","Slice & export","3D printing","Every model is a watertight Manifold solid, so it slices cleanly. The built-in slicer preps parts for 3D printing, with exporters for the common formats.",[218,219,220],"Experimental integrated slicer","Export STL, STEP, glTF, and PLY","Vertex colours carried through glTF and PLY","\u002Fdocs\u002Fslice-and-export",{"id":223,"block_features":14,"sort":82,"icon":224,"title":225,"eyebrow":226,"body":227,"points":228,"link":233},23,"i-lucide-keyboard","Editor & help","editor","A command palette covers every action. There's a guided tour on first launch, an optional AI assistant, and touch-friendly controls.",[229,230,231,232],"Command palette, around 75 commands (Space or Ctrl·K)","Optional in-editor AI assistant (your own OpenRouter key)","First-run tour, replayable from Help","Touch support, including first-person navigation","\u002Fdocs\u002Feditor-and-help",{"id":71,"block_features":14,"sort":82,"icon":235,"title":236,"eyebrow":237,"body":238,"points":239,"link":243},"i-lucide-hard-drive","Storage","storage","Work locally by default, or sign in for cloud sync. The same .cubby document moves between all three.",[240,241,242],"Browser storage (IndexedDB), no account needed","A folder on disk via the File System Access API","Cloud sync when signed in","\u002Fdocs\u002Fstorage",{"id":30,"sort":18,"collection":245,"item":246},"block_richtext",{"id":5,"eyebrow":82,"heading":247,"body":248,"align":249,"variant":250,"tone":102},"Direct modeling, not parametric CAD","\u003Cp>There's no constraint solver, no feature timeline, and no assemblies. You move shapes and they update right away. When you need real parameters, you write a script part. For most projects this is quicker to learn and faster to work in.\u003C\u002Fp>","left","card",{"id":252,"sort":48,"collection":253,"item":254},77,"block_cta",{"id":49,"heading":255,"body":256,"note":82,"align":257,"tone":258,"buttons":259},"Ready to build something?","Open CubbyCAD in your browser and start with any guide above.","center","lilac",[260],{"id":261,"sort":5,"block_cta":49,"block_hero":82,"label":32,"href":33,"icon":262,"trailing":5,"external":11,"variant":263},33,"i-lucide-arrow-right","primary",{"left":11,"top":11,"width":71,"height":71,"rotate":11,"vFlip":72,"hFlip":72,"body":265},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Cpath d=\"M14 3a1 1 0 0 1 1 1v5a1 1 0 0 1-1 1m5-7a1 1 0 0 1 1 1v5a1 1 0 0 1-1 1M7 15l3 3m-3 3l3-3H5a2 2 0 0 1-2-2v-2\"\u002F>\u003Crect width=\"7\" height=\"7\" x=\"14\" y=\"14\" rx=\"1\"\u002F>\u003Crect width=\"7\" height=\"7\" x=\"3\" y=\"3\" rx=\"1\"\u002F>\u003C\u002Fg>",{"left":11,"top":11,"width":71,"height":71,"rotate":11,"vFlip":72,"hFlip":72,"body":267},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Ccircle cx=\"19\" cy=\"5\" r=\"2\"\u002F>\u003Ccircle cx=\"5\" cy=\"19\" r=\"2\"\u002F>\u003Cpath d=\"M5 17A12 12 0 0 1 17 5\"\u002F>\u003C\u002Fg>",{"left":11,"top":11,"width":71,"height":71,"rotate":11,"vFlip":72,"hFlip":72,"body":269},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Cpath d=\"M15.707 21.293a1 1 0 0 1-1.414 0l-1.586-1.586a1 1 0 0 1 0-1.414l5.586-5.586a1 1 0 0 1 1.414 0l1.586 1.586a1 1 0 0 1 0 1.414z\"\u002F>\u003Cpath d=\"m18 13l-1.375-6.874a1 1 0 0 0-.746-.776L3.235 2.028a1 1 0 0 0-1.207 1.207L5.35 15.879a1 1 0 0 0 .776.746L13 18M2.3 2.3l7.286 7.286\"\u002F>\u003Ccircle cx=\"11\" cy=\"11\" r=\"2\"\u002F>\u003C\u002Fg>",{"left":11,"top":11,"width":71,"height":71,"rotate":11,"vFlip":72,"hFlip":72,"body":271},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Cpath d=\"m11 10l3 3m-7.5 8A3.5 3.5 0 1 0 3 17.5a2.62 2.62 0 0 1-.708 1.792A1 1 0 0 0 3 21z\"\u002F>\u003Cpath d=\"M9.969 17.031L21.378 5.624a1 1 0 0 0-3.002-3.002L6.967 14.031\"\u002F>\u003C\u002Fg>",{"left":11,"top":11,"width":71,"height":71,"rotate":11,"vFlip":72,"hFlip":72,"body":273},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Cpath d=\"M10 22V7a1 1 0 0 0-1-1H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-5a1 1 0 0 0-1-1H2\"\u002F>\u003Crect width=\"8\" height=\"8\" x=\"14\" y=\"2\" rx=\"1\"\u002F>\u003C\u002Fg>",{"left":11,"top":11,"width":71,"height":71,"rotate":11,"vFlip":72,"hFlip":72,"body":275},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M17 10c.7-.7 1.69 0 2.5 0a2.5 2.5 0 1 0 0-5a.5.5 0 0 1-.5-.5a2.5 2.5 0 1 0-5 0c0 .81.7 1.8 0 2.5l-7 7c-.7.7-1.69 0-2.5 0a2.5 2.5 0 0 0 0 5c.28 0 .5.22.5.5a2.5 2.5 0 1 0 5 0c0-.81-.7-1.8 0-2.5Z\"\u002F>",{"left":11,"top":11,"width":71,"height":71,"rotate":11,"vFlip":72,"hFlip":72,"body":277,"hidden":278},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Cpath d=\"M4 22h14a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v4\"\u002F>\u003Cpath d=\"M14 2v4a2 2 0 0 0 2 2h4M5 12l-3 3l3 3m4 0l3-3l-3-3\"\u002F>\u003C\u002Fg>",true,{"left":11,"top":11,"width":71,"height":71,"rotate":11,"vFlip":72,"hFlip":72,"body":280},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Crect width=\"18\" height=\"18\" x=\"3\" y=\"3\" rx=\"2\" ry=\"2\"\u002F>\u003Ccircle cx=\"9\" cy=\"9\" r=\"2\"\u002F>\u003Cpath d=\"m21 15l-3.086-3.086a2 2 0 0 0-2.828 0L6 21\"\u002F>\u003C\u002Fg>",{"left":11,"top":11,"width":71,"height":71,"rotate":11,"vFlip":72,"hFlip":72,"body":282},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Cpath d=\"M12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83z\"\u002F>\u003Cpath d=\"M2 12a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 12\"\u002F>\u003Cpath d=\"M2 17a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 17\"\u002F>\u003C\u002Fg>",{"left":11,"top":11,"width":71,"height":71,"rotate":11,"vFlip":72,"hFlip":72,"body":284},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Cpath d=\"M10 8h.01M12 12h.01M14 8h.01M16 12h.01M18 8h.01M6 8h.01M7 16h10m-9-4h.01\"\u002F>\u003Crect width=\"20\" height=\"16\" x=\"2\" y=\"4\" rx=\"2\"\u002F>\u003C\u002Fg>",{"left":11,"top":11,"width":71,"height":71,"rotate":11,"vFlip":72,"hFlip":72,"body":286},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M10 16h.01m-7.798-4.423a2 2 0 0 0-.212.896V18a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-5.527a2 2 0 0 0-.212-.896L18.55 5.11A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11zm19.734.436H2.054M6 16h.01\"\u002F>",{"left":11,"top":11,"width":71,"height":71,"rotate":11,"vFlip":72,"hFlip":72,"body":288},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M20 6L9 17l-5-5\"\u002F>",{"left":11,"top":11,"width":71,"height":71,"rotate":11,"vFlip":72,"hFlip":72,"body":290},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M5 12h14m-7-7l7 7l-7 7\"\u002F>",{"left":11,"top":11,"width":71,"height":71,"rotate":11,"vFlip":72,"hFlip":72,"body":292},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Cpath d=\"M6 18H4a2 2 0 0 1-2-2v-5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v5a2 2 0 0 1-2 2h-2M6 9V3a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v6\"\u002F>\u003Crect width=\"12\" height=\"8\" x=\"6\" y=\"14\" rx=\"1\"\u002F>\u003C\u002Fg>",1782830974024]