[{"data":1,"prerenderedAt":3074},["ShallowReactive",2],{"docs-navigation:en":3,"content-page:docs:dYl3pPmWKNjeXVlVXi6jyF0oeCrsoqRPWJSjQeYDmwA":303,"content-page-surround:docs:dYl3pPmWKNjeXVlVXi6jyF0oeCrsoqRPWJSjQeYDmwA":3064,"i-logos:typescript-icon":3067,"i-lucide:clipboard":3071},[4,28,54,100,176,215,278,298],{"title":5,"page":6,"canonicalKey":7,"locale":8,"id":9,"draft":6,"icon":10,"sidebar":11,"children":12},"Learn",false,"1","en","content:docs:1.evaluate:.navigation.yml","i-lucide-compass","section",[13,18,23],{"title":14,"id":15,"canonicalKey":16,"locale":8,"draft":6,"path":17},"Why Nuxt Board","content:docs:1.evaluate:1.why-nuxt-board.md","1\u002F1","\u002Fdocs\u002Fevaluate\u002Fwhy-nuxt-board",{"title":19,"id":20,"canonicalKey":21,"locale":8,"draft":6,"path":22},"How Nuxt Board works","content:docs:1.evaluate:2.how-nuxt-board-works.md","1\u002F2","\u002Fdocs\u002Fevaluate\u002Fhow-nuxt-board-works",{"title":24,"id":25,"canonicalKey":26,"locale":8,"draft":6,"path":27},"Design decisions","content:docs:1.evaluate:4.design-decisions.md","1\u002F4","\u002Fdocs\u002Fevaluate\u002Fdesign-decisions",{"title":29,"page":6,"canonicalKey":30,"locale":8,"id":31,"draft":6,"icon":32,"children":33},"Start building","2","content:docs:2.start-building:.navigation.yml","i-lucide-rocket",[34,39,44,49],{"title":35,"id":36,"canonicalKey":37,"locale":8,"draft":6,"path":38},"Installation","content:docs:2.start-building:1.installation.md","2\u002F1","\u002Fdocs\u002Fstart-building\u002Finstallation",{"title":40,"id":41,"canonicalKey":42,"locale":8,"draft":6,"path":43},"Your first board","content:docs:2.start-building:2.your-first-board.md","2\u002F2","\u002Fdocs\u002Fstart-building\u002Fyour-first-board",{"title":45,"id":46,"canonicalKey":47,"locale":8,"draft":6,"path":48},"Customize your first node","content:docs:2.start-building:3.customize-your-first-node.md","2\u002F3","\u002Fdocs\u002Fstart-building\u002Fcustomize-your-first-node",{"title":50,"id":51,"canonicalKey":52,"locale":8,"draft":6,"path":53},"Add connections and history","content:docs:2.start-building:4.add-connections-and-history.md","2\u002F4","\u002Fdocs\u002Fstart-building\u002Fadd-connections-and-history",{"title":55,"page":6,"canonicalKey":56,"locale":8,"id":57,"draft":6,"icon":58,"children":59},"Understand the system","3","content:docs:3.understand-the-system:.navigation.yml","i-lucide-workflow",[60,65,70,75,80,85,90,95],{"title":61,"id":62,"canonicalKey":63,"locale":8,"draft":6,"path":64},"The engine","content:docs:3.understand-the-system:1.the-engine.md","3\u002F1","\u002Fdocs\u002Funderstand-the-system\u002Fthe-engine",{"title":66,"id":67,"canonicalKey":68,"locale":8,"draft":6,"path":69},"Document and session state","content:docs:3.understand-the-system:2.document-and-session-state.md","3\u002F2","\u002Fdocs\u002Funderstand-the-system\u002Fdocument-and-session-state",{"title":71,"id":72,"canonicalKey":73,"locale":8,"draft":6,"path":74},"Commands and transactions","content:docs:3.understand-the-system:3.commands-and-transactions.md","3\u002F3","\u002Fdocs\u002Funderstand-the-system\u002Fcommands-and-transactions",{"title":76,"id":77,"canonicalKey":78,"locale":8,"draft":6,"path":79},"Nodes and hierarchy","content:docs:3.understand-the-system:4.nodes-and-hierarchy.md","3\u002F4","\u002Fdocs\u002Funderstand-the-system\u002Fnodes-and-hierarchy",{"title":81,"id":82,"canonicalKey":83,"locale":8,"draft":6,"path":84},"Camera and coordinates","content:docs:3.understand-the-system:5.camera-and-coordinates.md","3\u002F5","\u002Fdocs\u002Funderstand-the-system\u002Fcamera-and-coordinates",{"title":86,"id":87,"canonicalKey":88,"locale":8,"draft":6,"path":89},"Rendering and interaction","content:docs:3.understand-the-system:6.rendering-and-interaction.md","3\u002F6","\u002Fdocs\u002Funderstand-the-system\u002Frendering-and-interaction",{"title":91,"id":92,"canonicalKey":93,"locale":8,"draft":6,"path":94},"Packages and plugins","content:docs:3.understand-the-system:7.packages-and-plugins.md","3\u002F7","\u002Fdocs\u002Funderstand-the-system\u002Fpackages-and-plugins",{"title":96,"id":97,"canonicalKey":98,"locale":8,"draft":6,"path":99},"Persistence and JSON Canvas","content:docs:3.understand-the-system:8.persistence-and-json-canvas.md","3\u002F8","\u002Fdocs\u002Funderstand-the-system\u002Fpersistence-and-json-canvas",{"title":101,"page":6,"canonicalKey":102,"locale":8,"id":103,"draft":6,"icon":104,"sidebar":11,"children":105},"Build","4","content:docs:4.build-features:.navigation.yml","i-lucide-blocks",[106,113,120,127,134,141,148,155,162,169],{"title":107,"id":108,"canonicalKey":109,"locale":8,"draft":6,"navigation":110,"icon":111,"path":112},"Custom renderers","content:docs:4.build-features:1.custom-node-renderers.md","4\u002F1",{"icon":111},"i-lucide-layout-template","\u002Fdocs\u002Fbuild-features\u002Fcustom-node-renderers",{"title":114,"id":115,"canonicalKey":116,"locale":8,"draft":6,"navigation":117,"icon":118,"path":119},"Connections","content:docs:4.build-features:2.connections.md","4\u002F2",{"icon":118},"i-lucide-cable","\u002Fdocs\u002Fbuild-features\u002Fconnections",{"title":121,"id":122,"canonicalKey":123,"locale":8,"draft":6,"navigation":124,"icon":125,"path":126},"Group nodes","content:docs:4.build-features:3.groups-and-nesting.md","4\u002F3",{"icon":125},"i-lucide-group","\u002Fdocs\u002Fbuild-features\u002Fgroups-and-nesting",{"title":128,"id":129,"canonicalKey":130,"locale":8,"draft":6,"navigation":131,"icon":132,"path":133},"History","content:docs:4.build-features:4.undo-and-redo.md","4\u002F4",{"icon":132},"i-lucide-history","\u002Fdocs\u002Fbuild-features\u002Fundo-and-redo",{"title":135,"id":136,"canonicalKey":137,"locale":8,"draft":6,"navigation":138,"icon":139,"path":140},"Selection and interaction","content:docs:4.build-features:5.selection-and-keyboard.md","4\u002F5",{"icon":139},"i-lucide-mouse-pointer","\u002Fdocs\u002Fbuild-features\u002Fselection-and-keyboard",{"title":142,"id":143,"canonicalKey":144,"locale":8,"draft":6,"navigation":145,"icon":146,"path":147},"First-party features and command guards","content:docs:4.build-features:6.read-only-and-command-guards.md","4\u002F6",{"icon":146},"i-lucide-puzzle","\u002Fdocs\u002Fbuild-features\u002Fread-only-and-command-guards",{"title":149,"id":150,"canonicalKey":151,"locale":8,"draft":6,"navigation":152,"icon":153,"path":154},"Serialization","content:docs:4.build-features:7.save-and-load.md","4\u002F7",{"icon":153},"i-lucide-file-json","\u002Fdocs\u002Fbuild-features\u002Fsave-and-load",{"title":156,"id":157,"canonicalKey":158,"locale":8,"draft":6,"navigation":159,"icon":160,"path":161},"Theming","content:docs:4.build-features:8.theming.md","4\u002F8",{"icon":160},"i-lucide-palette","\u002Fdocs\u002Fbuild-features\u002Ftheming",{"title":163,"id":164,"canonicalKey":165,"locale":8,"draft":6,"navigation":166,"icon":167,"path":168},"Performance","content:docs:4.build-features:9.performance.md","4\u002F9",{"icon":167},"i-lucide-zap","\u002Fdocs\u002Fbuild-features\u002Fperformance",{"title":170,"id":171,"canonicalKey":172,"locale":8,"draft":6,"navigation":173,"icon":174,"path":175},"SSR deterministic scene","content:docs:4.build-features:10.ssr-and-deterministic-state.md","4\u002F10",{"icon":174},"i-lucide-server","\u002Fdocs\u002Fbuild-features\u002Fssr-and-deterministic-state",{"title":177,"page":6,"canonicalKey":178,"locale":8,"id":179,"draft":6,"icon":111,"children":180},"Solutions","5","content:docs:5.solutions:.navigation.yml",[181,187,194,201,208],{"title":182,"id":183,"canonicalKey":184,"locale":8,"draft":6,"navigation":185,"icon":58,"path":186},"Workflow renderer demo","content:docs:5.solutions:1.workflow-builder.md","5\u002F1",{"icon":58},"\u002Fdocs\u002Fsolutions\u002Fworkflow-builder",{"title":188,"id":189,"canonicalKey":190,"locale":8,"draft":6,"navigation":191,"icon":192,"path":193},"Mind map","content:docs:5.solutions:2.mind-map.md","5\u002F2",{"icon":192},"i-lucide-brain","\u002Fdocs\u002Fsolutions\u002Fmind-map",{"title":195,"id":196,"canonicalKey":197,"locale":8,"draft":6,"navigation":198,"icon":199,"path":200},"Planning board","content:docs:5.solutions:3.planning-board.md","5\u002F3",{"icon":199},"i-lucide-square","\u002Fdocs\u002Fsolutions\u002Fplanning-board",{"title":202,"id":203,"canonicalKey":204,"locale":8,"draft":6,"navigation":205,"icon":206,"path":207},"Read-only viewer","content:docs:5.solutions:4.read-only-viewer.md","5\u002F4",{"icon":206},"i-lucide-eye","\u002Fdocs\u002Fsolutions\u002Fread-only-viewer",{"title":209,"id":210,"canonicalKey":211,"locale":8,"draft":6,"navigation":212,"icon":213,"path":214},"Nuxt auto-imports","content:docs:5.solutions:5.nuxt-application.md","5\u002F5",{"icon":213},"i-lucide-sparkles","\u002Fdocs\u002Fsolutions\u002Fnuxt-application",{"title":216,"page":6,"canonicalKey":217,"locale":8,"id":218,"draft":6,"icon":219,"children":220},"Reference","6","content:docs:6.reference:.navigation.yml","i-lucide-braces",[221,226,231,236,241,246,251,256,261,266,273],{"title":222,"id":223,"canonicalKey":224,"locale":8,"draft":6,"path":225},"Package overview","content:docs:6.reference:1.package-overview.md","6\u002F1","\u002Fdocs\u002Freference\u002Fpackage-overview",{"title":227,"id":228,"canonicalKey":229,"locale":8,"draft":6,"path":230},"@lupinum\u002Fboard-core","content:docs:6.reference:2.board-core.md","6\u002F2","\u002Fdocs\u002Freference\u002Fboard-core",{"title":232,"id":233,"canonicalKey":234,"locale":8,"draft":6,"path":235},"@lupinum\u002Fboard-core types","content:docs:6.reference:3.board-core-types.md","6\u002F3","\u002Fdocs\u002Freference\u002Fboard-core-types",{"title":237,"id":238,"canonicalKey":239,"locale":8,"draft":6,"path":240},"@lupinum\u002Fvue-board","content:docs:6.reference:4.vue-board.md","6\u002F4","\u002Fdocs\u002Freference\u002Fvue-board",{"title":242,"id":243,"canonicalKey":244,"locale":8,"draft":6,"path":245},"Vue composables","content:docs:6.reference:5.vue-composables.md","6\u002F5","\u002Fdocs\u002Freference\u002Fvue-composables",{"title":247,"id":248,"canonicalKey":249,"locale":8,"draft":6,"path":250},"@lupinum\u002Fboard-connections","content:docs:6.reference:6.connections.md","6\u002F6","\u002Fdocs\u002Freference\u002Fconnections",{"title":252,"id":253,"canonicalKey":254,"locale":8,"draft":6,"path":255},"@lupinum\u002Fboard-history","content:docs:6.reference:7.history.md","6\u002F7","\u002Fdocs\u002Freference\u002Fhistory",{"title":257,"id":258,"canonicalKey":259,"locale":8,"draft":6,"path":260},"@lupinum\u002Fvue-board\u002Fminimap","content:docs:6.reference:8.minimap.md","6\u002F8","\u002Fdocs\u002Freference\u002Fminimap",{"title":262,"id":263,"canonicalKey":264,"locale":8,"draft":6,"path":265},"@lupinum\u002Fnuxt-board","content:docs:6.reference:9.nuxt-board.md","6\u002F9","\u002Fdocs\u002Freference\u002Fnuxt-board",{"title":267,"id":268,"canonicalKey":269,"locale":8,"draft":6,"navigation":270,"icon":271,"path":272},"Events and subscriptions","content:docs:6.reference:10.events-and-errors.md","6\u002F10",{"icon":271},"i-lucide-bell","\u002Fdocs\u002Freference\u002Fevents-and-errors",{"title":274,"id":275,"canonicalKey":276,"locale":8,"draft":6,"path":277},"Glossary","content:docs:6.reference:11.glossary.md","6\u002F11","\u002Fdocs\u002Freference\u002Fglossary",{"title":279,"page":6,"canonicalKey":280,"locale":8,"id":281,"draft":6,"icon":282,"children":283},"Project","7","content:docs:7.project:.navigation.yml","i-lucide-git-branch",[284,291],{"title":285,"id":286,"canonicalKey":287,"locale":8,"draft":6,"navigation":288,"icon":289,"path":290},"Contributing","content:docs:7.project:1.contributing.md","7\u002F1",{"icon":289},"i-lucide-git-pull-request","\u002Fdocs\u002Fproject\u002Fcontributing",{"title":292,"id":293,"canonicalKey":294,"locale":8,"draft":6,"navigation":295,"icon":296,"path":297},"Support and security","content:docs:7.project:2.support-and-security.md","7\u002F2",{"icon":296},"i-lucide-shield","\u002Fdocs\u002Fproject\u002Fsupport-and-security",{"title":299,"id":300,"canonicalKey":301,"locale":8,"draft":6,"path":302},"Nuxt Board documentation","content:docs:index.md","\u002F","\u002Fdocs",{"audience":304,"intent":305,"packages":306,"title":227,"description":307,"body":308,"type":3052,"id":228,"canonicalKey":229,"draft":6,"partial":6,"locale":8,"collection":3053,"navigationFile":6,"file":3054,"route":3059,"resolution":3061},"application-developer","reference",[227],"The supported public API for the headless board engine.",{"type":309,"children":310,"toc":3025},"root",[311,324,329,366,373,583,629,639,710,722,728,733,876,923,929,947,1033,1044,1050,1055,1062,1335,1341,1592,1605,1611,1775,1781,2070,2076,2208,2213,2219,2224,2336,2342,2347,2418,2424,2438,2456,2462,2468,2473,2548,2640,2646,2652,2664,2720,2726,2737,2791,2886,2892,2897,2970],{"type":312,"tag":313,"props":314,"children":315},"element","p",{},[316,322],{"type":312,"tag":317,"props":318,"children":319},"code",{},[320],{"type":321,"value":227},"text",{"type":321,"value":323}," exports the engine factory, public board types, JSON Canvas\ndocument types, color helpers, and selection helpers.",{"type":312,"tag":313,"props":325,"children":326},{},[327],{"type":321,"value":328},"It does not expose transaction roots, plugin persistence hooks, or history\ninternals as stable consumer API.",{"type":312,"tag":313,"props":330,"children":331},{},[332,334,339,341,345,347,351,353,357,359,364],{"type":321,"value":333},"The package also publishes ",{"type":312,"tag":317,"props":335,"children":336},{},[337],{"type":321,"value":338},"@lupinum\u002Fboard-core\u002Finternal",{"type":321,"value":340}," so first-party\npackages such as ",{"type":312,"tag":317,"props":342,"children":343},{},[344],{"type":321,"value":252},{"type":321,"value":346}," and ",{"type":312,"tag":317,"props":348,"children":349},{},[350],{"type":321,"value":247},{"type":321,"value":352}," can\ncompose with the core engine after they are installed from npm. That subpath is\nthe first-party feature ABI, not an application plugin API; app code should use\nthe top-level ",{"type":312,"tag":317,"props":354,"children":355},{},[356],{"type":321,"value":227},{"type":321,"value":358}," entrypoint and install supported features\nthrough ",{"type":312,"tag":317,"props":360,"children":361},{},[362],{"type":321,"value":363},"plugins",{"type":321,"value":365},".",{"type":312,"tag":367,"props":368,"children":370},"h2",{"id":369},"createboardengine",[371],{"type":321,"value":372},"createBoardEngine",{"type":312,"tag":374,"props":375,"children":378},"pre",{"language":376,"class":377},"ts","shiki shiki-themes light-plus dark-plus dark:dark-plus",[379],{"type":312,"tag":317,"props":380,"children":382},{"class":381},"language-ts",[383,422,424,427,428,458,459,502,503,535,536,565,566,574,575],{"type":312,"tag":384,"props":385,"children":388},"span",{"class":386,"style":387},"line","display: inline",[389,395,401,406,411,416],{"type":312,"tag":384,"props":390,"children":392},{"style":391},"color:#AF00DB;--shiki-dark:#C586C0",[393],{"type":321,"value":394},"import",{"type":312,"tag":384,"props":396,"children":398},{"style":397},"color:#000000;--shiki-dark:#D4D4D4",[399],{"type":321,"value":400}," { ",{"type":312,"tag":384,"props":402,"children":404},{"style":403},"color:#001080;--shiki-dark:#9CDCFE",[405],{"type":321,"value":372},{"type":312,"tag":384,"props":407,"children":408},{"style":397},[409],{"type":321,"value":410}," } ",{"type":312,"tag":384,"props":412,"children":413},{"style":391},[414],{"type":321,"value":415},"from",{"type":312,"tag":384,"props":417,"children":419},{"style":418},"color:#A31515;--shiki-dark:#CE9178",[420],{"type":321,"value":421}," '@lupinum\u002Fboard-core'",{"type":321,"value":423},"\n",{"type":312,"tag":384,"props":425,"children":426},{"class":386,"style":387},[],{"type":321,"value":423},{"type":312,"tag":384,"props":429,"children":430},{"class":386,"style":387},[431,437,443,448,453],{"type":312,"tag":384,"props":432,"children":434},{"style":433},"color:#0000FF;--shiki-dark:#569CD6",[435],{"type":321,"value":436},"const",{"type":312,"tag":384,"props":438,"children":440},{"style":439},"color:#0070C1;--shiki-dark:#4FC1FF",[441],{"type":321,"value":442}," engine",{"type":312,"tag":384,"props":444,"children":445},{"style":397},[446],{"type":321,"value":447}," = ",{"type":312,"tag":384,"props":449,"children":451},{"style":450},"color:#795E26;--shiki-dark:#DCDCAA",[452],{"type":321,"value":372},{"type":312,"tag":384,"props":454,"children":455},{"style":397},[456],{"type":321,"value":457},"({",{"type":321,"value":423},{"type":312,"tag":384,"props":460,"children":461},{"class":386,"style":387},[462,467,471,476,482,487,492,497],{"type":312,"tag":384,"props":463,"children":464},{"style":403},[465],{"type":321,"value":466},"  grid:",{"type":312,"tag":384,"props":468,"children":469},{"style":397},[470],{"type":321,"value":400},{"type":312,"tag":384,"props":472,"children":473},{"style":403},[474],{"type":321,"value":475},"size:",{"type":312,"tag":384,"props":477,"children":479},{"style":478},"color:#098658;--shiki-dark:#B5CEA8",[480],{"type":321,"value":481}," 24",{"type":312,"tag":384,"props":483,"children":484},{"style":397},[485],{"type":321,"value":486},", ",{"type":312,"tag":384,"props":488,"children":489},{"style":403},[490],{"type":321,"value":491},"snap:",{"type":312,"tag":384,"props":493,"children":494},{"style":433},[495],{"type":321,"value":496}," true",{"type":312,"tag":384,"props":498,"children":499},{"style":397},[500],{"type":321,"value":501}," },",{"type":321,"value":423},{"type":312,"tag":384,"props":504,"children":505},{"class":386,"style":387},[506,511,516,521,525,530],{"type":312,"tag":384,"props":507,"children":508},{"style":450},[509],{"type":321,"value":510},"  onUnhandledError",{"type":312,"tag":384,"props":512,"children":513},{"style":397},[514],{"type":321,"value":515},"(",{"type":312,"tag":384,"props":517,"children":518},{"style":403},[519],{"type":321,"value":520},"error",{"type":312,"tag":384,"props":522,"children":523},{"style":397},[524],{"type":321,"value":486},{"type":312,"tag":384,"props":526,"children":527},{"style":403},[528],{"type":321,"value":529},"context",{"type":312,"tag":384,"props":531,"children":532},{"style":397},[533],{"type":321,"value":534},") {",{"type":321,"value":423},{"type":312,"tag":384,"props":537,"children":538},{"class":386,"style":387},[539,544,548,552,556,560],{"type":312,"tag":384,"props":540,"children":541},{"style":450},[542],{"type":321,"value":543},"    reportError",{"type":312,"tag":384,"props":545,"children":546},{"style":397},[547],{"type":321,"value":515},{"type":312,"tag":384,"props":549,"children":550},{"style":403},[551],{"type":321,"value":520},{"type":312,"tag":384,"props":553,"children":554},{"style":397},[555],{"type":321,"value":486},{"type":312,"tag":384,"props":557,"children":558},{"style":403},[559],{"type":321,"value":529},{"type":312,"tag":384,"props":561,"children":562},{"style":397},[563],{"type":321,"value":564},")",{"type":321,"value":423},{"type":312,"tag":384,"props":567,"children":568},{"class":386,"style":387},[569],{"type":312,"tag":384,"props":570,"children":571},{"style":397},[572],{"type":321,"value":573},"  },",{"type":321,"value":423},{"type":312,"tag":384,"props":576,"children":577},{"class":386,"style":387},[578],{"type":312,"tag":384,"props":579,"children":580},{"style":397},[581],{"type":321,"value":582},"})",{"type":312,"tag":313,"props":584,"children":585},{},[586,588,593,595,600,602,607,609,614,616,621,623,628],{"type":321,"value":587},"Listener, reactive subscriber, and finalized plugin commit-effect failures are\nreported through ",{"type":312,"tag":317,"props":589,"children":590},{},[591],{"type":321,"value":592},"onUnhandledError",{"type":321,"value":594}," after a commit; they cannot roll committed\nstate back. Inspect ",{"type":312,"tag":317,"props":596,"children":597},{},[598],{"type":321,"value":599},"context.source",{"type":321,"value":601}," to distinguish ",{"type":312,"tag":317,"props":603,"children":604},{},[605],{"type":321,"value":606},"event-listener",{"type":321,"value":608},",\n",{"type":312,"tag":317,"props":610,"children":611},{},[612],{"type":321,"value":613},"subscriber",{"type":321,"value":615},", and ",{"type":312,"tag":317,"props":617,"children":618},{},[619],{"type":321,"value":620},"commit-effect",{"type":321,"value":622}," failures. Without a hook, the engine falls\nback to ",{"type":312,"tag":317,"props":624,"children":625},{},[626],{"type":321,"value":627},"console.error",{"type":321,"value":365},{"type":312,"tag":313,"props":630,"children":631},{},[632,634,638],{"type":321,"value":633},"Install first-party packages with ",{"type":312,"tag":317,"props":635,"children":636},{},[637],{"type":321,"value":363},{"type":321,"value":365},{"type":312,"tag":374,"props":640,"children":641},{"language":376,"class":377},[642],{"type":312,"tag":317,"props":643,"children":644},{"class":381},[645,668,669,702,703],{"type":312,"tag":384,"props":646,"children":647},{"class":386,"style":387},[648,652,656,660,664],{"type":312,"tag":384,"props":649,"children":650},{"style":433},[651],{"type":321,"value":436},{"type":312,"tag":384,"props":653,"children":654},{"style":439},[655],{"type":321,"value":442},{"type":312,"tag":384,"props":657,"children":658},{"style":397},[659],{"type":321,"value":447},{"type":312,"tag":384,"props":661,"children":662},{"style":450},[663],{"type":321,"value":372},{"type":312,"tag":384,"props":665,"children":666},{"style":397},[667],{"type":321,"value":457},{"type":321,"value":423},{"type":312,"tag":384,"props":670,"children":671},{"class":386,"style":387},[672,677,682,687,692,697],{"type":312,"tag":384,"props":673,"children":674},{"style":403},[675],{"type":321,"value":676},"  plugins:",{"type":312,"tag":384,"props":678,"children":679},{"style":397},[680],{"type":321,"value":681}," [",{"type":312,"tag":384,"props":683,"children":684},{"style":450},[685],{"type":321,"value":686},"historyPlugin",{"type":312,"tag":384,"props":688,"children":689},{"style":397},[690],{"type":321,"value":691},"(), ",{"type":312,"tag":384,"props":693,"children":694},{"style":450},[695],{"type":321,"value":696},"connectionsPlugin",{"type":312,"tag":384,"props":698,"children":699},{"style":397},[700],{"type":321,"value":701},"()],",{"type":321,"value":423},{"type":312,"tag":384,"props":704,"children":705},{"class":386,"style":387},[706],{"type":312,"tag":384,"props":707,"children":708},{"style":397},[709],{"type":321,"value":582},{"type":312,"tag":313,"props":711,"children":712},{},[713,715,720],{"type":321,"value":714},"Plugin names must be unique. Construction throws ",{"type":312,"tag":317,"props":716,"children":717},{},[718],{"type":321,"value":719},"BoardConflictError",{"type":321,"value":721}," before\nany plugin installs when the tuple contains a duplicate name.",{"type":312,"tag":367,"props":723,"children":725},{"id":724},"nodes",[726],{"type":321,"value":727},"Nodes",{"type":312,"tag":313,"props":729,"children":730},{},[731],{"type":321,"value":732},"Nodes use JSON Canvas fields directly.",{"type":312,"tag":374,"props":734,"children":735},{"language":376,"class":377},[736],{"type":312,"tag":317,"props":737,"children":738},{"class":381},[739,760,761,779,780,797,798,815,816,833,834,850,851,868,869],{"type":312,"tag":384,"props":740,"children":741},{"class":386,"style":387},[742,747,751,756],{"type":312,"tag":384,"props":743,"children":744},{"style":403},[745],{"type":321,"value":746},"engine",{"type":312,"tag":384,"props":748,"children":749},{"style":397},[750],{"type":321,"value":365},{"type":312,"tag":384,"props":752,"children":753},{"style":450},[754],{"type":321,"value":755},"createNode",{"type":312,"tag":384,"props":757,"children":758},{"style":397},[759],{"type":321,"value":457},{"type":321,"value":423},{"type":312,"tag":384,"props":762,"children":763},{"class":386,"style":387},[764,769,774],{"type":312,"tag":384,"props":765,"children":766},{"style":403},[767],{"type":321,"value":768},"  type:",{"type":312,"tag":384,"props":770,"children":771},{"style":418},[772],{"type":321,"value":773}," 'text'",{"type":312,"tag":384,"props":775,"children":776},{"style":397},[777],{"type":321,"value":778},",",{"type":321,"value":423},{"type":312,"tag":384,"props":781,"children":782},{"class":386,"style":387},[783,788,793],{"type":312,"tag":384,"props":784,"children":785},{"style":403},[786],{"type":321,"value":787},"  x:",{"type":312,"tag":384,"props":789,"children":790},{"style":478},[791],{"type":321,"value":792}," 120",{"type":312,"tag":384,"props":794,"children":795},{"style":397},[796],{"type":321,"value":778},{"type":321,"value":423},{"type":312,"tag":384,"props":799,"children":800},{"class":386,"style":387},[801,806,811],{"type":312,"tag":384,"props":802,"children":803},{"style":403},[804],{"type":321,"value":805},"  y:",{"type":312,"tag":384,"props":807,"children":808},{"style":478},[809],{"type":321,"value":810}," 80",{"type":312,"tag":384,"props":812,"children":813},{"style":397},[814],{"type":321,"value":778},{"type":321,"value":423},{"type":312,"tag":384,"props":817,"children":818},{"class":386,"style":387},[819,824,829],{"type":312,"tag":384,"props":820,"children":821},{"style":403},[822],{"type":321,"value":823},"  width:",{"type":312,"tag":384,"props":825,"children":826},{"style":478},[827],{"type":321,"value":828}," 240",{"type":312,"tag":384,"props":830,"children":831},{"style":397},[832],{"type":321,"value":778},{"type":321,"value":423},{"type":312,"tag":384,"props":835,"children":836},{"class":386,"style":387},[837,842,846],{"type":312,"tag":384,"props":838,"children":839},{"style":403},[840],{"type":321,"value":841},"  height:",{"type":312,"tag":384,"props":843,"children":844},{"style":478},[845],{"type":321,"value":792},{"type":312,"tag":384,"props":847,"children":848},{"style":397},[849],{"type":321,"value":778},{"type":321,"value":423},{"type":312,"tag":384,"props":852,"children":853},{"class":386,"style":387},[854,859,864],{"type":312,"tag":384,"props":855,"children":856},{"style":403},[857],{"type":321,"value":858},"  text:",{"type":312,"tag":384,"props":860,"children":861},{"style":418},[862],{"type":321,"value":863}," 'Release plan'",{"type":312,"tag":384,"props":865,"children":866},{"style":397},[867],{"type":321,"value":778},{"type":321,"value":423},{"type":312,"tag":384,"props":870,"children":871},{"class":386,"style":387},[872],{"type":312,"tag":384,"props":873,"children":874},{"style":397},[875],{"type":321,"value":582},{"type":312,"tag":313,"props":877,"children":878},{},[879,881,885,886,891,892,897,898,903,904,909,910,915,916,921],{"type":321,"value":880},"Supported node fields are ",{"type":312,"tag":317,"props":882,"children":883},{},[884],{"type":321,"value":321},{"type":321,"value":486},{"type":312,"tag":317,"props":887,"children":888},{},[889],{"type":321,"value":890},"file",{"type":321,"value":486},{"type":312,"tag":317,"props":893,"children":894},{},[895],{"type":321,"value":896},"subpath",{"type":321,"value":486},{"type":312,"tag":317,"props":899,"children":900},{},[901],{"type":321,"value":902},"url",{"type":321,"value":486},{"type":312,"tag":317,"props":905,"children":906},{},[907],{"type":321,"value":908},"label",{"type":321,"value":608},{"type":312,"tag":317,"props":911,"children":912},{},[913],{"type":321,"value":914},"background",{"type":321,"value":615},{"type":312,"tag":317,"props":917,"children":918},{},[919],{"type":321,"value":920},"backgroundStyle",{"type":321,"value":922},". There is no legacy data compatibility layer.",{"type":312,"tag":367,"props":924,"children":926},{"id":925},"persistence",[927],{"type":321,"value":928},"Persistence",{"type":312,"tag":313,"props":930,"children":931},{},[932,934,939,940,945],{"type":321,"value":933},"Use ",{"type":312,"tag":317,"props":935,"children":936},{},[937],{"type":321,"value":938},"exportDocument()",{"type":321,"value":346},{"type":312,"tag":317,"props":941,"children":942},{},[943],{"type":321,"value":944},"loadDocument()",{"type":321,"value":946}," for persisted documents.",{"type":312,"tag":374,"props":948,"children":949},{"language":376,"class":377},[950],{"type":312,"tag":317,"props":951,"children":952},{"class":381},[953,987,988],{"type":312,"tag":384,"props":954,"children":955},{"class":386,"style":387},[956,960,965,969,973,977,982],{"type":312,"tag":384,"props":957,"children":958},{"style":433},[959],{"type":321,"value":436},{"type":312,"tag":384,"props":961,"children":962},{"style":439},[963],{"type":321,"value":964}," document",{"type":312,"tag":384,"props":966,"children":967},{"style":397},[968],{"type":321,"value":447},{"type":312,"tag":384,"props":970,"children":971},{"style":403},[972],{"type":321,"value":746},{"type":312,"tag":384,"props":974,"children":975},{"style":397},[976],{"type":321,"value":365},{"type":312,"tag":384,"props":978,"children":979},{"style":450},[980],{"type":321,"value":981},"exportDocument",{"type":312,"tag":384,"props":983,"children":984},{"style":397},[985],{"type":321,"value":986},"()",{"type":321,"value":423},{"type":312,"tag":384,"props":989,"children":990},{"class":386,"style":387},[991,995,999,1004,1008,1013,1018,1023,1028],{"type":312,"tag":384,"props":992,"children":993},{"style":403},[994],{"type":321,"value":746},{"type":312,"tag":384,"props":996,"children":997},{"style":397},[998],{"type":321,"value":365},{"type":312,"tag":384,"props":1000,"children":1001},{"style":450},[1002],{"type":321,"value":1003},"loadDocument",{"type":312,"tag":384,"props":1005,"children":1006},{"style":397},[1007],{"type":321,"value":515},{"type":312,"tag":384,"props":1009,"children":1010},{"style":403},[1011],{"type":321,"value":1012},"document",{"type":312,"tag":384,"props":1014,"children":1015},{"style":397},[1016],{"type":321,"value":1017},", { ",{"type":312,"tag":384,"props":1019,"children":1020},{"style":403},[1021],{"type":321,"value":1022},"mode:",{"type":312,"tag":384,"props":1024,"children":1025},{"style":418},[1026],{"type":321,"value":1027}," 'replace'",{"type":312,"tag":384,"props":1029,"children":1030},{"style":397},[1031],{"type":321,"value":1032}," })",{"type":312,"tag":313,"props":1034,"children":1035},{},[1036,1038,1042],{"type":321,"value":1037},"Core persists nodes and board metadata. Edges belong to\n",{"type":312,"tag":317,"props":1039,"children":1040},{},[1041],{"type":321,"value":247},{"type":321,"value":1043},"; importing a document with edges without that\nconnections package installed fails instead of dropping edge data.",{"type":312,"tag":367,"props":1045,"children":1047},{"id":1046},"engine-reference",[1048],{"type":321,"value":1049},"Engine reference",{"type":312,"tag":313,"props":1051,"children":1052},{},[1053],{"type":321,"value":1054},"The engine is the public mutation boundary. App code should use these methods\ninstead of editing node maps, selection sets, or camera objects directly.",{"type":312,"tag":1056,"props":1057,"children":1059},"h3",{"id":1058},"engine-reference-state-and-lifecycle",[1060],{"type":321,"value":1061},"State and lifecycle",{"type":312,"tag":1063,"props":1064,"children":1065},"table",{},[1066,1085],{"type":312,"tag":1067,"props":1068,"children":1069},"thead",{},[1070],{"type":312,"tag":1071,"props":1072,"children":1073},"tr",{},[1074,1080],{"type":312,"tag":1075,"props":1076,"children":1077},"th",{},[1078],{"type":321,"value":1079},"API",{"type":312,"tag":1075,"props":1081,"children":1082},{},[1083],{"type":321,"value":1084},"Purpose",{"type":312,"tag":1086,"props":1087,"children":1088},"tbody",{},[1089,1111,1127,1143,1159,1175,1191,1207,1223,1239,1255,1271,1287,1303,1319],{"type":312,"tag":1071,"props":1090,"children":1091},{},[1092,1101],{"type":312,"tag":1093,"props":1094,"children":1095},"td",{},[1096],{"type":312,"tag":317,"props":1097,"children":1098},{},[1099],{"type":321,"value":1100},"engine.plugins",{"type":312,"tag":1093,"props":1102,"children":1103},{},[1104,1106,1110],{"type":321,"value":1105},"Feature APIs installed through ",{"type":312,"tag":317,"props":1107,"children":1108},{},[1109],{"type":321,"value":363},{"type":321,"value":365},{"type":312,"tag":1071,"props":1112,"children":1113},{},[1114,1122],{"type":312,"tag":1093,"props":1115,"children":1116},{},[1117],{"type":312,"tag":317,"props":1118,"children":1119},{},[1120],{"type":321,"value":1121},"engine.$camera",{"type":312,"tag":1093,"props":1123,"children":1124},{},[1125],{"type":321,"value":1126},"Subscribable camera state.",{"type":312,"tag":1071,"props":1128,"children":1129},{},[1130,1138],{"type":312,"tag":1093,"props":1131,"children":1132},{},[1133],{"type":312,"tag":317,"props":1134,"children":1135},{},[1136],{"type":321,"value":1137},"engine.$nodes",{"type":312,"tag":1093,"props":1139,"children":1140},{},[1141],{"type":321,"value":1142},"Subscribable read-only map of nodes.",{"type":312,"tag":1071,"props":1144,"children":1145},{},[1146,1154],{"type":312,"tag":1093,"props":1147,"children":1148},{},[1149],{"type":312,"tag":317,"props":1150,"children":1151},{},[1152],{"type":321,"value":1153},"engine.$selection",{"type":312,"tag":1093,"props":1155,"children":1156},{},[1157],{"type":321,"value":1158},"Subscribable read-only set of selected node IDs.",{"type":312,"tag":1071,"props":1160,"children":1161},{},[1162,1170],{"type":312,"tag":1093,"props":1163,"children":1164},{},[1165],{"type":312,"tag":317,"props":1166,"children":1167},{},[1168],{"type":321,"value":1169},"engine.$interaction",{"type":312,"tag":1093,"props":1171,"children":1172},{},[1173],{"type":321,"value":1174},"Subscribable current pointer\u002Fediting interaction state.",{"type":312,"tag":1071,"props":1176,"children":1177},{},[1178,1186],{"type":312,"tag":1093,"props":1179,"children":1180},{},[1181],{"type":312,"tag":317,"props":1182,"children":1183},{},[1184],{"type":321,"value":1185},"engine.$snapGuides",{"type":312,"tag":1093,"props":1187,"children":1188},{},[1189],{"type":321,"value":1190},"Subscribable active snap guides.",{"type":312,"tag":1071,"props":1192,"children":1193},{},[1194,1202],{"type":312,"tag":1093,"props":1195,"children":1196},{},[1197],{"type":312,"tag":317,"props":1198,"children":1199},{},[1200],{"type":321,"value":1201},"destroy()",{"type":312,"tag":1093,"props":1203,"children":1204},{},[1205],{"type":321,"value":1206},"Tear down engine subscriptions and resources.",{"type":312,"tag":1071,"props":1208,"children":1209},{},[1210,1218],{"type":312,"tag":1093,"props":1211,"children":1212},{},[1213],{"type":312,"tag":317,"props":1214,"children":1215},{},[1216],{"type":321,"value":1217},"batch(fn)",{"type":312,"tag":1093,"props":1219,"children":1220},{},[1221],{"type":321,"value":1222},"Run multiple commands while deferring subscribable notifications.",{"type":312,"tag":1071,"props":1224,"children":1225},{},[1226,1234],{"type":312,"tag":1093,"props":1227,"children":1228},{},[1229],{"type":312,"tag":317,"props":1230,"children":1231},{},[1232],{"type":321,"value":1233},"getState()",{"type":312,"tag":1093,"props":1235,"children":1236},{},[1237],{"type":321,"value":1238},"Read the current board state.",{"type":312,"tag":1071,"props":1240,"children":1241},{},[1242,1250],{"type":312,"tag":1093,"props":1243,"children":1244},{},[1245],{"type":312,"tag":317,"props":1246,"children":1247},{},[1248],{"type":321,"value":1249},"getGridSettings()",{"type":312,"tag":1093,"props":1251,"children":1252},{},[1253],{"type":321,"value":1254},"Read resolved grid settings.",{"type":312,"tag":1071,"props":1256,"children":1257},{},[1258,1266],{"type":312,"tag":1093,"props":1259,"children":1260},{},[1261],{"type":312,"tag":317,"props":1262,"children":1263},{},[1264],{"type":321,"value":1265},"updateGridSettings(patch)",{"type":312,"tag":1093,"props":1267,"children":1268},{},[1269],{"type":321,"value":1270},"Update grid settings and return the resolved settings.",{"type":312,"tag":1071,"props":1272,"children":1273},{},[1274,1282],{"type":312,"tag":1093,"props":1275,"children":1276},{},[1277],{"type":312,"tag":317,"props":1278,"children":1279},{},[1280],{"type":321,"value":1281},"getViewportSize()",{"type":312,"tag":1093,"props":1283,"children":1284},{},[1285],{"type":321,"value":1286},"Read the last viewport size reported by the renderer.",{"type":312,"tag":1071,"props":1288,"children":1289},{},[1290,1298],{"type":312,"tag":1093,"props":1291,"children":1292},{},[1293],{"type":312,"tag":317,"props":1294,"children":1295},{},[1296],{"type":321,"value":1297},"setViewportSize(size)",{"type":312,"tag":1093,"props":1299,"children":1300},{},[1301],{"type":321,"value":1302},"Update viewport size. Renderers call this from resize observation.",{"type":312,"tag":1071,"props":1304,"children":1305},{},[1306,1314],{"type":312,"tag":1093,"props":1307,"children":1308},{},[1309],{"type":312,"tag":317,"props":1310,"children":1311},{},[1312],{"type":321,"value":1313},"exportTrace()",{"type":312,"tag":1093,"props":1315,"children":1316},{},[1317],{"type":321,"value":1318},"Read command trace entries.",{"type":312,"tag":1071,"props":1320,"children":1321},{},[1322,1330],{"type":312,"tag":1093,"props":1323,"children":1324},{},[1325],{"type":312,"tag":317,"props":1326,"children":1327},{},[1328],{"type":321,"value":1329},"addCommandGuard(fn)",{"type":312,"tag":1093,"props":1331,"children":1332},{},[1333],{"type":321,"value":1334},"Register a synchronous command guard for concrete product policy.",{"type":312,"tag":1056,"props":1336,"children":1338},{"id":1337},"engine-reference-events",[1339],{"type":321,"value":1340},"Events",{"type":312,"tag":374,"props":1342,"children":1343},{"language":376,"class":377},[1344],{"type":312,"tag":317,"props":1345,"children":1346},{"class":381},[1347,1410,1411,1449,1450,1457,1458,1461,1462,1500,1501,1529,1530,1537,1538,1541,1542,1579,1580],{"type":312,"tag":384,"props":1348,"children":1349},{"class":386,"style":387},[1350,1354,1359,1363,1367,1371,1376,1380,1385,1390,1395,1400,1405],{"type":312,"tag":384,"props":1351,"children":1352},{"style":433},[1353],{"type":321,"value":436},{"type":312,"tag":384,"props":1355,"children":1356},{"style":439},[1357],{"type":321,"value":1358}," unsubscribe",{"type":312,"tag":384,"props":1360,"children":1361},{"style":397},[1362],{"type":321,"value":447},{"type":312,"tag":384,"props":1364,"children":1365},{"style":403},[1366],{"type":321,"value":746},{"type":312,"tag":384,"props":1368,"children":1369},{"style":397},[1370],{"type":321,"value":365},{"type":312,"tag":384,"props":1372,"children":1373},{"style":450},[1374],{"type":321,"value":1375},"on",{"type":312,"tag":384,"props":1377,"children":1378},{"style":397},[1379],{"type":321,"value":515},{"type":312,"tag":384,"props":1381,"children":1382},{"style":418},[1383],{"type":321,"value":1384},"'node:created'",{"type":312,"tag":384,"props":1386,"children":1387},{"style":397},[1388],{"type":321,"value":1389},", (",{"type":312,"tag":384,"props":1391,"children":1392},{"style":403},[1393],{"type":321,"value":1394},"node",{"type":312,"tag":384,"props":1396,"children":1397},{"style":397},[1398],{"type":321,"value":1399},") ",{"type":312,"tag":384,"props":1401,"children":1402},{"style":433},[1403],{"type":321,"value":1404},"=>",{"type":312,"tag":384,"props":1406,"children":1407},{"style":397},[1408],{"type":321,"value":1409}," {",{"type":321,"value":423},{"type":312,"tag":384,"props":1412,"children":1413},{"class":386,"style":387},[1414,1419,1423,1428,1432,1436,1440,1445],{"type":312,"tag":384,"props":1415,"children":1416},{"style":403},[1417],{"type":321,"value":1418},"  console",{"type":312,"tag":384,"props":1420,"children":1421},{"style":397},[1422],{"type":321,"value":365},{"type":312,"tag":384,"props":1424,"children":1425},{"style":450},[1426],{"type":321,"value":1427},"log",{"type":312,"tag":384,"props":1429,"children":1430},{"style":397},[1431],{"type":321,"value":515},{"type":312,"tag":384,"props":1433,"children":1434},{"style":403},[1435],{"type":321,"value":1394},{"type":312,"tag":384,"props":1437,"children":1438},{"style":397},[1439],{"type":321,"value":365},{"type":312,"tag":384,"props":1441,"children":1442},{"style":403},[1443],{"type":321,"value":1444},"id",{"type":312,"tag":384,"props":1446,"children":1447},{"style":397},[1448],{"type":321,"value":564},{"type":321,"value":423},{"type":312,"tag":384,"props":1451,"children":1452},{"class":386,"style":387},[1453],{"type":312,"tag":384,"props":1454,"children":1455},{"style":397},[1456],{"type":321,"value":582},{"type":321,"value":423},{"type":312,"tag":384,"props":1459,"children":1460},{"class":386,"style":387},[],{"type":321,"value":423},{"type":312,"tag":384,"props":1463,"children":1464},{"class":386,"style":387},[1465,1469,1473,1478,1482,1487,1492,1496],{"type":312,"tag":384,"props":1466,"children":1467},{"style":403},[1468],{"type":321,"value":746},{"type":312,"tag":384,"props":1470,"children":1471},{"style":397},[1472],{"type":321,"value":365},{"type":312,"tag":384,"props":1474,"children":1475},{"style":450},[1476],{"type":321,"value":1477},"once",{"type":312,"tag":384,"props":1479,"children":1480},{"style":397},[1481],{"type":321,"value":515},{"type":312,"tag":384,"props":1483,"children":1484},{"style":418},[1485],{"type":321,"value":1486},"'destroy'",{"type":312,"tag":384,"props":1488,"children":1489},{"style":397},[1490],{"type":321,"value":1491},", () ",{"type":312,"tag":384,"props":1493,"children":1494},{"style":433},[1495],{"type":321,"value":1404},{"type":312,"tag":384,"props":1497,"children":1498},{"style":397},[1499],{"type":321,"value":1409},{"type":321,"value":423},{"type":312,"tag":384,"props":1502,"children":1503},{"class":386,"style":387},[1504,1508,1512,1516,1520,1525],{"type":312,"tag":384,"props":1505,"children":1506},{"style":403},[1507],{"type":321,"value":1418},{"type":312,"tag":384,"props":1509,"children":1510},{"style":397},[1511],{"type":321,"value":365},{"type":312,"tag":384,"props":1513,"children":1514},{"style":450},[1515],{"type":321,"value":1427},{"type":312,"tag":384,"props":1517,"children":1518},{"style":397},[1519],{"type":321,"value":515},{"type":312,"tag":384,"props":1521,"children":1522},{"style":418},[1523],{"type":321,"value":1524},"'engine destroyed'",{"type":312,"tag":384,"props":1526,"children":1527},{"style":397},[1528],{"type":321,"value":564},{"type":321,"value":423},{"type":312,"tag":384,"props":1531,"children":1532},{"class":386,"style":387},[1533],{"type":312,"tag":384,"props":1534,"children":1535},{"style":397},[1536],{"type":321,"value":582},{"type":321,"value":423},{"type":312,"tag":384,"props":1539,"children":1540},{"class":386,"style":387},[],{"type":321,"value":423},{"type":312,"tag":384,"props":1543,"children":1544},{"class":386,"style":387},[1545,1549,1553,1558,1562,1566,1570,1575],{"type":312,"tag":384,"props":1546,"children":1547},{"style":403},[1548],{"type":321,"value":746},{"type":312,"tag":384,"props":1550,"children":1551},{"style":397},[1552],{"type":321,"value":365},{"type":312,"tag":384,"props":1554,"children":1555},{"style":450},[1556],{"type":321,"value":1557},"off",{"type":312,"tag":384,"props":1559,"children":1560},{"style":397},[1561],{"type":321,"value":515},{"type":312,"tag":384,"props":1563,"children":1564},{"style":418},[1565],{"type":321,"value":1384},{"type":312,"tag":384,"props":1567,"children":1568},{"style":397},[1569],{"type":321,"value":486},{"type":312,"tag":384,"props":1571,"children":1572},{"style":403},[1573],{"type":321,"value":1574},"handler",{"type":312,"tag":384,"props":1576,"children":1577},{"style":397},[1578],{"type":321,"value":564},{"type":321,"value":423},{"type":312,"tag":384,"props":1581,"children":1582},{"class":386,"style":387},[1583,1588],{"type":312,"tag":384,"props":1584,"children":1585},{"style":450},[1586],{"type":321,"value":1587},"unsubscribe",{"type":312,"tag":384,"props":1589,"children":1590},{"style":397},[1591],{"type":321,"value":986},{"type":312,"tag":313,"props":1593,"children":1594},{},[1595,1597,1603],{"type":321,"value":1596},"See ",{"type":312,"tag":1598,"props":1599,"children":1600},"a",{"href":272},[1601],{"type":321,"value":1602},"events and subscriptions",{"type":321,"value":1604}," for the full\nevent catalog and payloads.",{"type":312,"tag":1056,"props":1606,"children":1608},{"id":1607},"engine-reference-coordinate-and-camera-methods",[1609],{"type":321,"value":1610},"Coordinate and camera methods",{"type":312,"tag":1063,"props":1612,"children":1613},{},[1614,1628],{"type":312,"tag":1067,"props":1615,"children":1616},{},[1617],{"type":312,"tag":1071,"props":1618,"children":1619},{},[1620,1624],{"type":312,"tag":1075,"props":1621,"children":1622},{},[1623],{"type":321,"value":1079},{"type":312,"tag":1075,"props":1625,"children":1626},{},[1627],{"type":321,"value":1084},{"type":312,"tag":1086,"props":1629,"children":1630},{},[1631,1647,1663,1679,1695,1711,1727,1743,1759],{"type":312,"tag":1071,"props":1632,"children":1633},{},[1634,1642],{"type":312,"tag":1093,"props":1635,"children":1636},{},[1637],{"type":312,"tag":317,"props":1638,"children":1639},{},[1640],{"type":321,"value":1641},"screenToWorld(point)",{"type":312,"tag":1093,"props":1643,"children":1644},{},[1645],{"type":321,"value":1646},"Convert a screen-space point to world coordinates.",{"type":312,"tag":1071,"props":1648,"children":1649},{},[1650,1658],{"type":312,"tag":1093,"props":1651,"children":1652},{},[1653],{"type":312,"tag":317,"props":1654,"children":1655},{},[1656],{"type":321,"value":1657},"worldToScreen(point)",{"type":312,"tag":1093,"props":1659,"children":1660},{},[1661],{"type":321,"value":1662},"Convert a world-space point to screen coordinates.",{"type":312,"tag":1071,"props":1664,"children":1665},{},[1666,1674],{"type":312,"tag":1093,"props":1667,"children":1668},{},[1669],{"type":312,"tag":317,"props":1670,"children":1671},{},[1672],{"type":321,"value":1673},"getVisibleBounds(width, height)",{"type":312,"tag":1093,"props":1675,"children":1676},{},[1677],{"type":321,"value":1678},"Compute visible world bounds for a viewport size.",{"type":312,"tag":1071,"props":1680,"children":1681},{},[1682,1690],{"type":312,"tag":1093,"props":1683,"children":1684},{},[1685],{"type":312,"tag":317,"props":1686,"children":1687},{},[1688],{"type":321,"value":1689},"panBy(dx, dy)",{"type":312,"tag":1093,"props":1691,"children":1692},{},[1693],{"type":321,"value":1694},"Move the camera by a world-space delta.",{"type":312,"tag":1071,"props":1696,"children":1697},{},[1698,1706],{"type":312,"tag":1093,"props":1699,"children":1700},{},[1701],{"type":312,"tag":317,"props":1702,"children":1703},{},[1704],{"type":321,"value":1705},"panTo(worldPoint, animated?)",{"type":312,"tag":1093,"props":1707,"children":1708},{},[1709],{"type":321,"value":1710},"Pan to a world point, optionally animated.",{"type":312,"tag":1071,"props":1712,"children":1713},{},[1714,1722],{"type":312,"tag":1093,"props":1715,"children":1716},{},[1717],{"type":312,"tag":317,"props":1718,"children":1719},{},[1720],{"type":321,"value":1721},"zoomAt(screenPoint, delta)",{"type":312,"tag":1093,"props":1723,"children":1724},{},[1725],{"type":321,"value":1726},"Zoom around a screen-space point.",{"type":312,"tag":1071,"props":1728,"children":1729},{},[1730,1738],{"type":312,"tag":1093,"props":1731,"children":1732},{},[1733],{"type":312,"tag":317,"props":1734,"children":1735},{},[1736],{"type":321,"value":1737},"zoomTo(level, animated?)",{"type":312,"tag":1093,"props":1739,"children":1740},{},[1741],{"type":321,"value":1742},"Zoom to an absolute level, clamped by zoom settings.",{"type":312,"tag":1071,"props":1744,"children":1745},{},[1746,1754],{"type":312,"tag":1093,"props":1747,"children":1748},{},[1749],{"type":312,"tag":317,"props":1750,"children":1751},{},[1752],{"type":321,"value":1753},"zoomToFit(padding?, animated?)",{"type":312,"tag":1093,"props":1755,"children":1756},{},[1757],{"type":321,"value":1758},"Fit all visible nodes into the viewport.",{"type":312,"tag":1071,"props":1760,"children":1761},{},[1762,1770],{"type":312,"tag":1093,"props":1763,"children":1764},{},[1765],{"type":312,"tag":317,"props":1766,"children":1767},{},[1768],{"type":321,"value":1769},"zoomToNodes(ids, padding?, animated?)",{"type":312,"tag":1093,"props":1771,"children":1772},{},[1773],{"type":321,"value":1774},"Fit specific nodes into the viewport.",{"type":312,"tag":1056,"props":1776,"children":1778},{"id":1777},"engine-reference-node-methods",[1779],{"type":321,"value":1780},"Node methods",{"type":312,"tag":1063,"props":1782,"children":1783},{},[1784,1798],{"type":312,"tag":1067,"props":1785,"children":1786},{},[1787],{"type":312,"tag":1071,"props":1788,"children":1789},{},[1790,1794],{"type":312,"tag":1075,"props":1791,"children":1792},{},[1793],{"type":321,"value":1079},{"type":312,"tag":1075,"props":1795,"children":1796},{},[1797],{"type":321,"value":1084},{"type":312,"tag":1086,"props":1799,"children":1800},{},[1801,1817,1839,1855,1871,1887,1910,1926,1942,1958,1974,1990,2006,2022,2038,2054],{"type":312,"tag":1071,"props":1802,"children":1803},{},[1804,1812],{"type":312,"tag":1093,"props":1805,"children":1806},{},[1807],{"type":312,"tag":317,"props":1808,"children":1809},{},[1810],{"type":321,"value":1811},"getNode(id)",{"type":312,"tag":1093,"props":1813,"children":1814},{},[1815],{"type":321,"value":1816},"Return a node or throw if it does not exist.",{"type":312,"tag":1071,"props":1818,"children":1819},{},[1820,1828],{"type":312,"tag":1093,"props":1821,"children":1822},{},[1823],{"type":312,"tag":317,"props":1824,"children":1825},{},[1826],{"type":321,"value":1827},"findNode(id)",{"type":312,"tag":1093,"props":1829,"children":1830},{},[1831,1833,1838],{"type":321,"value":1832},"Return a node or ",{"type":312,"tag":317,"props":1834,"children":1835},{},[1836],{"type":321,"value":1837},"null",{"type":321,"value":365},{"type":312,"tag":1071,"props":1840,"children":1841},{},[1842,1850],{"type":312,"tag":1093,"props":1843,"children":1844},{},[1845],{"type":312,"tag":317,"props":1846,"children":1847},{},[1848],{"type":321,"value":1849},"hasNode(id)",{"type":312,"tag":1093,"props":1851,"children":1852},{},[1853],{"type":321,"value":1854},"Check whether a node exists.",{"type":312,"tag":1071,"props":1856,"children":1857},{},[1858,1866],{"type":312,"tag":1093,"props":1859,"children":1860},{},[1861],{"type":312,"tag":317,"props":1862,"children":1863},{},[1864],{"type":321,"value":1865},"getNodeAt(worldPoint)",{"type":312,"tag":1093,"props":1867,"children":1868},{},[1869],{"type":321,"value":1870},"Return the topmost visible node at a world point.",{"type":312,"tag":1071,"props":1872,"children":1873},{},[1874,1882],{"type":312,"tag":1093,"props":1875,"children":1876},{},[1877],{"type":312,"tag":317,"props":1878,"children":1879},{},[1880],{"type":321,"value":1881},"getNodesInBounds(bounds)",{"type":312,"tag":1093,"props":1883,"children":1884},{},[1885],{"type":321,"value":1886},"Return visible nodes intersecting the bounds.",{"type":312,"tag":1071,"props":1888,"children":1889},{},[1890,1898],{"type":312,"tag":1093,"props":1891,"children":1892},{},[1893],{"type":312,"tag":317,"props":1894,"children":1895},{},[1896],{"type":321,"value":1897},"createNode(input)",{"type":312,"tag":1093,"props":1899,"children":1900},{},[1901,1903,1908],{"type":321,"value":1902},"Create a node and select it unless ",{"type":312,"tag":317,"props":1904,"children":1905},{},[1906],{"type":321,"value":1907},"select: false",{"type":321,"value":1909}," is passed.",{"type":312,"tag":1071,"props":1911,"children":1912},{},[1913,1921],{"type":312,"tag":1093,"props":1914,"children":1915},{},[1916],{"type":312,"tag":317,"props":1917,"children":1918},{},[1919],{"type":321,"value":1920},"updateNode(id, patch)",{"type":312,"tag":1093,"props":1922,"children":1923},{},[1924],{"type":321,"value":1925},"Update node fields.",{"type":312,"tag":1071,"props":1927,"children":1928},{},[1929,1937],{"type":312,"tag":1093,"props":1930,"children":1931},{},[1932],{"type":312,"tag":317,"props":1933,"children":1934},{},[1935],{"type":321,"value":1936},"deleteNode(id)",{"type":312,"tag":1093,"props":1938,"children":1939},{},[1940],{"type":321,"value":1941},"Delete a node. Deleting a group also deletes descendants.",{"type":312,"tag":1071,"props":1943,"children":1944},{},[1945,1953],{"type":312,"tag":1093,"props":1946,"children":1947},{},[1948],{"type":312,"tag":317,"props":1949,"children":1950},{},[1951],{"type":321,"value":1952},"moveNode(id, dx, dy)",{"type":312,"tag":1093,"props":1954,"children":1955},{},[1956],{"type":321,"value":1957},"Move one node by a world-space delta.",{"type":312,"tag":1071,"props":1959,"children":1960},{},[1961,1969],{"type":312,"tag":1093,"props":1962,"children":1963},{},[1964],{"type":312,"tag":317,"props":1965,"children":1966},{},[1967],{"type":321,"value":1968},"translateSelectedNodes(dx, dy)",{"type":312,"tag":1093,"props":1970,"children":1971},{},[1972],{"type":321,"value":1973},"Move the current selection, respecting group hierarchy.",{"type":312,"tag":1071,"props":1975,"children":1976},{},[1977,1985],{"type":312,"tag":1093,"props":1978,"children":1979},{},[1980],{"type":312,"tag":317,"props":1981,"children":1982},{},[1983],{"type":321,"value":1984},"resizeNode(id, handle, dx, dy)",{"type":312,"tag":1093,"props":1986,"children":1987},{},[1988],{"type":321,"value":1989},"Resize one node from a compass handle.",{"type":312,"tag":1071,"props":1991,"children":1992},{},[1993,2001],{"type":312,"tag":1093,"props":1994,"children":1995},{},[1996],{"type":312,"tag":317,"props":1997,"children":1998},{},[1999],{"type":321,"value":2000},"bringToFront(id)",{"type":312,"tag":1093,"props":2002,"children":2003},{},[2004],{"type":321,"value":2005},"Move a node above other nodes.",{"type":312,"tag":1071,"props":2007,"children":2008},{},[2009,2017],{"type":312,"tag":1093,"props":2010,"children":2011},{},[2012],{"type":312,"tag":317,"props":2013,"children":2014},{},[2015],{"type":321,"value":2016},"sendToBack(id)",{"type":312,"tag":1093,"props":2018,"children":2019},{},[2020],{"type":321,"value":2021},"Move a node behind other nodes.",{"type":312,"tag":1071,"props":2023,"children":2024},{},[2025,2033],{"type":312,"tag":1093,"props":2026,"children":2027},{},[2028],{"type":312,"tag":317,"props":2029,"children":2030},{},[2031],{"type":321,"value":2032},"lockNode(id)",{"type":312,"tag":1093,"props":2034,"children":2035},{},[2036],{"type":321,"value":2037},"Prevent interactive move, resize, and delete.",{"type":312,"tag":1071,"props":2039,"children":2040},{},[2041,2049],{"type":312,"tag":1093,"props":2042,"children":2043},{},[2044],{"type":312,"tag":317,"props":2045,"children":2046},{},[2047],{"type":321,"value":2048},"unlockNode(id)",{"type":312,"tag":1093,"props":2050,"children":2051},{},[2052],{"type":321,"value":2053},"Re-enable interactive changes.",{"type":312,"tag":1071,"props":2055,"children":2056},{},[2057,2065],{"type":312,"tag":1093,"props":2058,"children":2059},{},[2060],{"type":312,"tag":317,"props":2061,"children":2062},{},[2063],{"type":321,"value":2064},"duplicateNodes(ids, offset?)",{"type":312,"tag":1093,"props":2066,"children":2067},{},[2068],{"type":321,"value":2069},"Duplicate nodes and preserve supported hierarchy between copies.",{"type":312,"tag":1056,"props":2071,"children":2073},{"id":2072},"engine-reference-selection-and-clipboard-methods",[2074],{"type":321,"value":2075},"Selection and clipboard methods",{"type":312,"tag":1063,"props":2077,"children":2078},{},[2079,2093],{"type":312,"tag":1067,"props":2080,"children":2081},{},[2082],{"type":312,"tag":1071,"props":2083,"children":2084},{},[2085,2089],{"type":312,"tag":1075,"props":2086,"children":2087},{},[2088],{"type":321,"value":1079},{"type":312,"tag":1075,"props":2090,"children":2091},{},[2092],{"type":321,"value":1084},{"type":312,"tag":1086,"props":2094,"children":2095},{},[2096,2112,2128,2144,2160,2176,2192],{"type":312,"tag":1071,"props":2097,"children":2098},{},[2099,2107],{"type":312,"tag":1093,"props":2100,"children":2101},{},[2102],{"type":312,"tag":317,"props":2103,"children":2104},{},[2105],{"type":321,"value":2106},"select(ids, mode?)",{"type":312,"tag":1093,"props":2108,"children":2109},{},[2110],{"type":321,"value":2111},"Replace, add, remove, or toggle selected node IDs.",{"type":312,"tag":1071,"props":2113,"children":2114},{},[2115,2123],{"type":312,"tag":1093,"props":2116,"children":2117},{},[2118],{"type":312,"tag":317,"props":2119,"children":2120},{},[2121],{"type":321,"value":2122},"selectAll()",{"type":312,"tag":1093,"props":2124,"children":2125},{},[2126],{"type":321,"value":2127},"Select all visible nodes.",{"type":312,"tag":1071,"props":2129,"children":2130},{},[2131,2139],{"type":312,"tag":1093,"props":2132,"children":2133},{},[2134],{"type":312,"tag":317,"props":2135,"children":2136},{},[2137],{"type":321,"value":2138},"clearSelection()",{"type":312,"tag":1093,"props":2140,"children":2141},{},[2142],{"type":321,"value":2143},"Clear the selection.",{"type":312,"tag":1071,"props":2145,"children":2146},{},[2147,2155],{"type":312,"tag":1093,"props":2148,"children":2149},{},[2150],{"type":312,"tag":317,"props":2151,"children":2152},{},[2153],{"type":321,"value":2154},"deleteSelected()",{"type":312,"tag":1093,"props":2156,"children":2157},{},[2158],{"type":321,"value":2159},"Delete unlocked selected nodes and group descendants.",{"type":312,"tag":1071,"props":2161,"children":2162},{},[2163,2171],{"type":312,"tag":1093,"props":2164,"children":2165},{},[2166],{"type":312,"tag":317,"props":2167,"children":2168},{},[2169],{"type":321,"value":2170},"getSelection()",{"type":312,"tag":1093,"props":2172,"children":2173},{},[2174],{"type":321,"value":2175},"Return selected node IDs as an array.",{"type":312,"tag":1071,"props":2177,"children":2178},{},[2179,2187],{"type":312,"tag":1093,"props":2180,"children":2181},{},[2182],{"type":312,"tag":317,"props":2183,"children":2184},{},[2185],{"type":321,"value":2186},"copySelected()",{"type":312,"tag":1093,"props":2188,"children":2189},{},[2190],{"type":321,"value":2191},"Copy selected nodes into the engine clipboard.",{"type":312,"tag":1071,"props":2193,"children":2194},{},[2195,2203],{"type":312,"tag":1093,"props":2196,"children":2197},{},[2198],{"type":312,"tag":317,"props":2199,"children":2200},{},[2201],{"type":321,"value":2202},"pasteClipboard(offset?)",{"type":312,"tag":1093,"props":2204,"children":2205},{},[2206],{"type":321,"value":2207},"Paste nodes from the engine clipboard.",{"type":312,"tag":313,"props":2209,"children":2210},{},[2211],{"type":321,"value":2212},"The engine clipboard is internal to the engine. It does not read from or write\nto the system clipboard.",{"type":312,"tag":1056,"props":2214,"children":2216},{"id":2215},"engine-reference-text-editing-and-document-methods",[2217],{"type":321,"value":2218},"Text editing and document methods",{"type":312,"tag":313,"props":2220,"children":2221},{},[2222],{"type":321,"value":2223},"Pointer interactions are intentionally framework-internal. Text editing remains\npublic so custom renderers can provide their own editors.",{"type":312,"tag":1063,"props":2225,"children":2226},{},[2227,2241],{"type":312,"tag":1067,"props":2228,"children":2229},{},[2230],{"type":312,"tag":1071,"props":2231,"children":2232},{},[2233,2237],{"type":312,"tag":1075,"props":2234,"children":2235},{},[2236],{"type":321,"value":1079},{"type":312,"tag":1075,"props":2238,"children":2239},{},[2240],{"type":321,"value":1084},{"type":312,"tag":1086,"props":2242,"children":2243},{},[2244,2260,2276,2292,2307],{"type":312,"tag":1071,"props":2245,"children":2246},{},[2247,2255],{"type":312,"tag":1093,"props":2248,"children":2249},{},[2250],{"type":312,"tag":317,"props":2251,"children":2252},{},[2253],{"type":321,"value":2254},"beginTextEdit(id)",{"type":312,"tag":1093,"props":2256,"children":2257},{},[2258],{"type":321,"value":2259},"Enter text-editing mode for a text node.",{"type":312,"tag":1071,"props":2261,"children":2262},{},[2263,2271],{"type":312,"tag":1093,"props":2264,"children":2265},{},[2266],{"type":312,"tag":317,"props":2267,"children":2268},{},[2269],{"type":321,"value":2270},"commitTextEdit(id, text?)",{"type":312,"tag":1093,"props":2272,"children":2273},{},[2274],{"type":321,"value":2275},"Commit text editing and update the text node.",{"type":312,"tag":1071,"props":2277,"children":2278},{},[2279,2287],{"type":312,"tag":1093,"props":2280,"children":2281},{},[2282],{"type":312,"tag":317,"props":2283,"children":2284},{},[2285],{"type":321,"value":2286},"cancelTextEdit()",{"type":312,"tag":1093,"props":2288,"children":2289},{},[2290],{"type":321,"value":2291},"Leave text editing without changing content.",{"type":312,"tag":1071,"props":2293,"children":2294},{},[2295,2302],{"type":312,"tag":1093,"props":2296,"children":2297},{},[2298],{"type":312,"tag":317,"props":2299,"children":2300},{},[2301],{"type":321,"value":938},{"type":312,"tag":1093,"props":2303,"children":2304},{},[2305],{"type":321,"value":2306},"Return a typed JSON Canvas document.",{"type":312,"tag":1071,"props":2308,"children":2309},{},[2310,2318],{"type":312,"tag":1093,"props":2311,"children":2312},{},[2313],{"type":312,"tag":317,"props":2314,"children":2315},{},[2316],{"type":321,"value":2317},"loadDocument(document, options?)",{"type":312,"tag":1093,"props":2319,"children":2320},{},[2321,2323,2328,2330,2335],{"type":321,"value":2322},"Validate and atomically load with ",{"type":312,"tag":317,"props":2324,"children":2325},{},[2326],{"type":321,"value":2327},"replace",{"type":321,"value":2329}," or ",{"type":312,"tag":317,"props":2331,"children":2332},{},[2333],{"type":321,"value":2334},"merge",{"type":321,"value":365},{"type":312,"tag":367,"props":2337,"children":2339},{"id":2338},"public-helpers",[2340],{"type":321,"value":2341},"Public helpers",{"type":312,"tag":313,"props":2343,"children":2344},{},[2345],{"type":321,"value":2346},"The public helpers are the helpers consumers need to build boards:",{"type":312,"tag":2348,"props":2349,"children":2350},"ul",{},[2351,2375,2391,2413],{"type":312,"tag":2352,"props":2353,"children":2354},"li",{},[2355,2357,2362,2363,2368,2370],{"type":321,"value":2356},"color helpers such as ",{"type":312,"tag":317,"props":2358,"children":2359},{},[2360],{"type":321,"value":2361},"BOARD_COLOR_PRESETS",{"type":321,"value":486},{"type":312,"tag":317,"props":2364,"children":2365},{},[2366],{"type":321,"value":2367},"colorForPreset",{"type":321,"value":2369},", and\n",{"type":312,"tag":317,"props":2371,"children":2372},{},[2373],{"type":321,"value":2374},"isBoardColorPreset",{"type":312,"tag":2352,"props":2376,"children":2377},{},[2378,2380,2385,2386],{"type":321,"value":2379},"id helpers such as ",{"type":312,"tag":317,"props":2381,"children":2382},{},[2383],{"type":321,"value":2384},"asNodeId",{"type":321,"value":346},{"type":312,"tag":317,"props":2387,"children":2388},{},[2389],{"type":321,"value":2390},"asEdgeId",{"type":312,"tag":2352,"props":2392,"children":2393},{},[2394,2396,2401,2402,2407,2408],{"type":321,"value":2395},"selection helpers such as ",{"type":312,"tag":317,"props":2397,"children":2398},{},[2399],{"type":321,"value":2400},"getSelectionNodes",{"type":321,"value":486},{"type":312,"tag":317,"props":2403,"children":2404},{},[2405],{"type":321,"value":2406},"getSelectionBounds",{"type":321,"value":2369},{"type":312,"tag":317,"props":2409,"children":2410},{},[2411],{"type":321,"value":2412},"toggleIds",{"type":312,"tag":2352,"props":2414,"children":2415},{},[2416],{"type":321,"value":2417},"geometry helpers used by renderers and overlays",{"type":312,"tag":367,"props":2419,"children":2421},{"id":2420},"math-helpers",[2422],{"type":321,"value":2423},"Math helpers",{"type":312,"tag":2348,"props":2425,"children":2426},{},[2427],{"type":312,"tag":2352,"props":2428,"children":2429},{},[2430,2432,2436],{"type":321,"value":2431},"These utility functions are exported from ",{"type":312,"tag":317,"props":2433,"children":2434},{},[2435],{"type":321,"value":227},{"type":321,"value":2437},". They are pure functions and can be used outside the engine for custom calculations.",{"type":312,"tag":313,"props":2439,"children":2440},{},[2441,2443,2448,2449,2454],{"type":321,"value":2442},"The engine also exposes instance methods such as ",{"type":312,"tag":317,"props":2444,"children":2445},{},[2446],{"type":321,"value":2447},"engine.screenToWorld()",{"type":321,"value":346},{"type":312,"tag":317,"props":2450,"children":2451},{},[2452],{"type":321,"value":2453},"engine.worldToScreen()",{"type":321,"value":2455}," when the calculation depends on the current board camera.",{"type":312,"tag":367,"props":2457,"children":2459},{"id":2458},"general-math",[2460],{"type":321,"value":2461},"General math",{"type":312,"tag":1056,"props":2463,"children":2465},{"id":2464},"general-math-clamp",[2466],{"type":321,"value":2467},"clamp",{"type":312,"tag":313,"props":2469,"children":2470},{},[2471],{"type":321,"value":2472},"Constrains a value to a range.",{"type":312,"tag":374,"props":2474,"children":2475},{"language":376,"class":377},[2476],{"type":312,"tag":317,"props":2477,"children":2478},{"class":381},[2479],{"type":312,"tag":384,"props":2480,"children":2481},{"class":386,"style":387},[2482,2486,2490,2495,2500,2505,2509,2514,2518,2522,2526,2531,2535,2539,2544],{"type":312,"tag":384,"props":2483,"children":2484},{"style":450},[2485],{"type":321,"value":2467},{"type":312,"tag":384,"props":2487,"children":2488},{"style":397},[2489],{"type":321,"value":515},{"type":312,"tag":384,"props":2491,"children":2492},{"style":403},[2493],{"type":321,"value":2494},"value",{"type":312,"tag":384,"props":2496,"children":2497},{"style":397},[2498],{"type":321,"value":2499},": ",{"type":312,"tag":384,"props":2501,"children":2502},{"style":403},[2503],{"type":321,"value":2504},"number",{"type":312,"tag":384,"props":2506,"children":2507},{"style":397},[2508],{"type":321,"value":486},{"type":312,"tag":384,"props":2510,"children":2511},{"style":403},[2512],{"type":321,"value":2513},"min",{"type":312,"tag":384,"props":2515,"children":2516},{"style":397},[2517],{"type":321,"value":2499},{"type":312,"tag":384,"props":2519,"children":2520},{"style":403},[2521],{"type":321,"value":2504},{"type":312,"tag":384,"props":2523,"children":2524},{"style":397},[2525],{"type":321,"value":486},{"type":312,"tag":384,"props":2527,"children":2528},{"style":403},[2529],{"type":321,"value":2530},"max",{"type":312,"tag":384,"props":2532,"children":2533},{"style":397},[2534],{"type":321,"value":2499},{"type":312,"tag":384,"props":2536,"children":2537},{"style":403},[2538],{"type":321,"value":2504},{"type":312,"tag":384,"props":2540,"children":2541},{"style":397},[2542],{"type":321,"value":2543},"): ",{"type":312,"tag":384,"props":2545,"children":2546},{"style":403},[2547],{"type":321,"value":2504},{"type":312,"tag":374,"props":2549,"children":2550},{"language":376,"class":377},[2551],{"type":312,"tag":317,"props":2552,"children":2553},{"class":381},[2554,2598,2599],{"type":312,"tag":384,"props":2555,"children":2556},{"class":386,"style":387},[2557,2561,2565,2570,2574,2579,2583,2588,2592],{"type":312,"tag":384,"props":2558,"children":2559},{"style":450},[2560],{"type":321,"value":2467},{"type":312,"tag":384,"props":2562,"children":2563},{"style":397},[2564],{"type":321,"value":515},{"type":312,"tag":384,"props":2566,"children":2567},{"style":478},[2568],{"type":321,"value":2569},"15",{"type":312,"tag":384,"props":2571,"children":2572},{"style":397},[2573],{"type":321,"value":486},{"type":312,"tag":384,"props":2575,"children":2576},{"style":478},[2577],{"type":321,"value":2578},"0",{"type":312,"tag":384,"props":2580,"children":2581},{"style":397},[2582],{"type":321,"value":486},{"type":312,"tag":384,"props":2584,"children":2585},{"style":478},[2586],{"type":321,"value":2587},"10",{"type":312,"tag":384,"props":2589,"children":2590},{"style":397},[2591],{"type":321,"value":1399},{"type":312,"tag":384,"props":2593,"children":2595},{"style":2594},"color:#008000;--shiki-dark:#6A9955",[2596],{"type":321,"value":2597},"\u002F\u002F 10",{"type":321,"value":423},{"type":312,"tag":384,"props":2600,"children":2601},{"class":386,"style":387},[2602,2606,2611,2615,2619,2623,2627,2631,2635],{"type":312,"tag":384,"props":2603,"children":2604},{"style":450},[2605],{"type":321,"value":2467},{"type":312,"tag":384,"props":2607,"children":2608},{"style":397},[2609],{"type":321,"value":2610},"(-",{"type":312,"tag":384,"props":2612,"children":2613},{"style":478},[2614],{"type":321,"value":178},{"type":312,"tag":384,"props":2616,"children":2617},{"style":397},[2618],{"type":321,"value":486},{"type":312,"tag":384,"props":2620,"children":2621},{"style":478},[2622],{"type":321,"value":2578},{"type":312,"tag":384,"props":2624,"children":2625},{"style":397},[2626],{"type":321,"value":486},{"type":312,"tag":384,"props":2628,"children":2629},{"style":478},[2630],{"type":321,"value":2587},{"type":312,"tag":384,"props":2632,"children":2633},{"style":397},[2634],{"type":321,"value":1399},{"type":312,"tag":384,"props":2636,"children":2637},{"style":2594},[2638],{"type":321,"value":2639},"\u002F\u002F 0",{"type":312,"tag":367,"props":2641,"children":2643},{"id":2642},"bounds-logic",[2644],{"type":321,"value":2645},"Bounds logic",{"type":312,"tag":1056,"props":2647,"children":2649},{"id":2648},"bounds-logic-boundsintersect",[2650],{"type":321,"value":2651},"boundsIntersect",{"type":312,"tag":313,"props":2653,"children":2654},{},[2655,2657,2662],{"type":321,"value":2656},"Returns ",{"type":312,"tag":317,"props":2658,"children":2659},{},[2660],{"type":321,"value":2661},"true",{"type":321,"value":2663}," if two bounds overlap.",{"type":312,"tag":374,"props":2665,"children":2666},{"language":376,"class":377},[2667],{"type":312,"tag":317,"props":2668,"children":2669},{"class":381},[2670],{"type":312,"tag":384,"props":2671,"children":2672},{"class":386,"style":387},[2673,2677,2681,2685,2689,2694,2698,2703,2707,2711,2715],{"type":312,"tag":384,"props":2674,"children":2675},{"style":450},[2676],{"type":321,"value":2651},{"type":312,"tag":384,"props":2678,"children":2679},{"style":397},[2680],{"type":321,"value":515},{"type":312,"tag":384,"props":2682,"children":2683},{"style":403},[2684],{"type":321,"value":1598},{"type":312,"tag":384,"props":2686,"children":2687},{"style":397},[2688],{"type":321,"value":2499},{"type":312,"tag":384,"props":2690,"children":2691},{"style":403},[2692],{"type":321,"value":2693},"Bounds",{"type":312,"tag":384,"props":2695,"children":2696},{"style":397},[2697],{"type":321,"value":486},{"type":312,"tag":384,"props":2699,"children":2700},{"style":403},[2701],{"type":321,"value":2702},"b",{"type":312,"tag":384,"props":2704,"children":2705},{"style":397},[2706],{"type":321,"value":2499},{"type":312,"tag":384,"props":2708,"children":2709},{"style":403},[2710],{"type":321,"value":2693},{"type":312,"tag":384,"props":2712,"children":2713},{"style":397},[2714],{"type":321,"value":2543},{"type":312,"tag":384,"props":2716,"children":2717},{"style":403},[2718],{"type":321,"value":2719},"boolean",{"type":312,"tag":1056,"props":2721,"children":2723},{"id":2722},"bounds-logic-getboundsfrompoints",[2724],{"type":321,"value":2725},"getBoundsFromPoints",{"type":312,"tag":313,"props":2727,"children":2728},{},[2729,2731,2735],{"type":321,"value":2730},"Creates a ",{"type":312,"tag":317,"props":2732,"children":2733},{},[2734],{"type":321,"value":2693},{"type":321,"value":2736}," from two arbitrary points. Minimum and maximum corners are computed automatically.",{"type":312,"tag":374,"props":2738,"children":2739},{"language":376,"class":377},[2740],{"type":312,"tag":317,"props":2741,"children":2742},{"class":381},[2743],{"type":312,"tag":384,"props":2744,"children":2745},{"class":386,"style":387},[2746,2750,2754,2758,2762,2767,2771,2775,2779,2783,2787],{"type":312,"tag":384,"props":2747,"children":2748},{"style":450},[2749],{"type":321,"value":2725},{"type":312,"tag":384,"props":2751,"children":2752},{"style":397},[2753],{"type":321,"value":515},{"type":312,"tag":384,"props":2755,"children":2756},{"style":403},[2757],{"type":321,"value":1598},{"type":312,"tag":384,"props":2759,"children":2760},{"style":397},[2761],{"type":321,"value":2499},{"type":312,"tag":384,"props":2763,"children":2764},{"style":403},[2765],{"type":321,"value":2766},"Point",{"type":312,"tag":384,"props":2768,"children":2769},{"style":397},[2770],{"type":321,"value":486},{"type":312,"tag":384,"props":2772,"children":2773},{"style":403},[2774],{"type":321,"value":2702},{"type":312,"tag":384,"props":2776,"children":2777},{"style":397},[2778],{"type":321,"value":2499},{"type":312,"tag":384,"props":2780,"children":2781},{"style":403},[2782],{"type":321,"value":2766},{"type":312,"tag":384,"props":2784,"children":2785},{"style":397},[2786],{"type":321,"value":2543},{"type":312,"tag":384,"props":2788,"children":2789},{"style":403},[2790],{"type":321,"value":2693},{"type":312,"tag":374,"props":2792,"children":2793},{"language":376,"class":377},[2794],{"type":312,"tag":317,"props":2795,"children":2796},{"class":381},[2797,2877,2878],{"type":312,"tag":384,"props":2798,"children":2799},{"class":386,"style":387},[2800,2804,2809,2813,2817,2822,2827,2832,2836,2841,2846,2851,2855,2860,2864,2868,2873],{"type":312,"tag":384,"props":2801,"children":2802},{"style":433},[2803],{"type":321,"value":436},{"type":312,"tag":384,"props":2805,"children":2806},{"style":439},[2807],{"type":321,"value":2808}," bounds",{"type":312,"tag":384,"props":2810,"children":2811},{"style":397},[2812],{"type":321,"value":447},{"type":312,"tag":384,"props":2814,"children":2815},{"style":450},[2816],{"type":321,"value":2725},{"type":312,"tag":384,"props":2818,"children":2819},{"style":397},[2820],{"type":321,"value":2821},"({ ",{"type":312,"tag":384,"props":2823,"children":2824},{"style":403},[2825],{"type":321,"value":2826},"x:",{"type":312,"tag":384,"props":2828,"children":2829},{"style":478},[2830],{"type":321,"value":2831}," 10",{"type":312,"tag":384,"props":2833,"children":2834},{"style":397},[2835],{"type":321,"value":486},{"type":312,"tag":384,"props":2837,"children":2838},{"style":403},[2839],{"type":321,"value":2840},"y:",{"type":312,"tag":384,"props":2842,"children":2843},{"style":478},[2844],{"type":321,"value":2845}," 20",{"type":312,"tag":384,"props":2847,"children":2848},{"style":397},[2849],{"type":321,"value":2850}," }, { ",{"type":312,"tag":384,"props":2852,"children":2853},{"style":403},[2854],{"type":321,"value":2826},{"type":312,"tag":384,"props":2856,"children":2857},{"style":478},[2858],{"type":321,"value":2859}," 50",{"type":312,"tag":384,"props":2861,"children":2862},{"style":397},[2863],{"type":321,"value":486},{"type":312,"tag":384,"props":2865,"children":2866},{"style":403},[2867],{"type":321,"value":2840},{"type":312,"tag":384,"props":2869,"children":2870},{"style":478},[2871],{"type":321,"value":2872}," 5",{"type":312,"tag":384,"props":2874,"children":2875},{"style":397},[2876],{"type":321,"value":1032},{"type":321,"value":423},{"type":312,"tag":384,"props":2879,"children":2880},{"class":386,"style":387},[2881],{"type":312,"tag":384,"props":2882,"children":2883},{"style":2594},[2884],{"type":321,"value":2885},"\u002F\u002F { minX: 10, minY: 5, maxX: 50, maxY: 20 }",{"type":312,"tag":1056,"props":2887,"children":2889},{"id":2888},"bounds-logic-getvisiblebounds",[2890],{"type":321,"value":2891},"getVisibleBounds",{"type":312,"tag":313,"props":2893,"children":2894},{},[2895],{"type":321,"value":2896},"Returns the world-space bounds visible within a viewport for the given camera.",{"type":312,"tag":374,"props":2898,"children":2899},{"language":376,"class":377},[2900],{"type":312,"tag":317,"props":2901,"children":2902},{"class":381},[2903],{"type":312,"tag":384,"props":2904,"children":2905},{"class":386,"style":387},[2906,2910,2914,2919,2923,2927,2931,2936,2940,2944,2948,2953,2957,2962,2966],{"type":312,"tag":384,"props":2907,"children":2908},{"style":450},[2909],{"type":321,"value":2891},{"type":312,"tag":384,"props":2911,"children":2912},{"style":397},[2913],{"type":321,"value":515},{"type":312,"tag":384,"props":2915,"children":2916},{"style":403},[2917],{"type":321,"value":2918},"width",{"type":312,"tag":384,"props":2920,"children":2921},{"style":397},[2922],{"type":321,"value":2499},{"type":312,"tag":384,"props":2924,"children":2925},{"style":403},[2926],{"type":321,"value":2504},{"type":312,"tag":384,"props":2928,"children":2929},{"style":397},[2930],{"type":321,"value":486},{"type":312,"tag":384,"props":2932,"children":2933},{"style":403},[2934],{"type":321,"value":2935},"height",{"type":312,"tag":384,"props":2937,"children":2938},{"style":397},[2939],{"type":321,"value":2499},{"type":312,"tag":384,"props":2941,"children":2942},{"style":403},[2943],{"type":321,"value":2504},{"type":312,"tag":384,"props":2945,"children":2946},{"style":397},[2947],{"type":321,"value":486},{"type":312,"tag":384,"props":2949,"children":2950},{"style":403},[2951],{"type":321,"value":2952},"camera",{"type":312,"tag":384,"props":2954,"children":2955},{"style":397},[2956],{"type":321,"value":2499},{"type":312,"tag":384,"props":2958,"children":2959},{"style":403},[2960],{"type":321,"value":2961},"Camera",{"type":312,"tag":384,"props":2963,"children":2964},{"style":397},[2965],{"type":321,"value":2543},{"type":312,"tag":384,"props":2967,"children":2968},{"style":403},[2969],{"type":321,"value":2693},{"type":312,"tag":374,"props":2971,"children":2972},{"language":376,"class":377},[2973],{"type":312,"tag":317,"props":2974,"children":2975},{"class":381},[2976],{"type":312,"tag":384,"props":2977,"children":2978},{"class":386,"style":387},[2979,2983,2987,2991,2995,2999,3004,3008,3013,3017,3021],{"type":312,"tag":384,"props":2980,"children":2981},{"style":433},[2982],{"type":321,"value":436},{"type":312,"tag":384,"props":2984,"children":2985},{"style":439},[2986],{"type":321,"value":2808},{"type":312,"tag":384,"props":2988,"children":2989},{"style":397},[2990],{"type":321,"value":447},{"type":312,"tag":384,"props":2992,"children":2993},{"style":450},[2994],{"type":321,"value":2891},{"type":312,"tag":384,"props":2996,"children":2997},{"style":397},[2998],{"type":321,"value":515},{"type":312,"tag":384,"props":3000,"children":3001},{"style":478},[3002],{"type":321,"value":3003},"1280",{"type":312,"tag":384,"props":3005,"children":3006},{"style":397},[3007],{"type":321,"value":486},{"type":312,"tag":384,"props":3009,"children":3010},{"style":478},[3011],{"type":321,"value":3012},"720",{"type":312,"tag":384,"props":3014,"children":3015},{"style":397},[3016],{"type":321,"value":486},{"type":312,"tag":384,"props":3018,"children":3019},{"style":403},[3020],{"type":321,"value":2952},{"type":312,"tag":384,"props":3022,"children":3023},{"style":397},[3024],{"type":321,"value":564},{"title":3026,"searchDepth":3027,"depth":3027,"links":3028},"",4,[3029,3031,3032,3033,3042,3043,3044,3047],{"id":369,"depth":3030,"text":372},2,{"id":724,"depth":3030,"text":727},{"id":925,"depth":3030,"text":928},{"id":1046,"depth":3030,"text":1049,"children":3034},[3035,3037,3038,3039,3040,3041],{"id":1058,"depth":3036,"text":1061},3,{"id":1337,"depth":3036,"text":1340},{"id":1607,"depth":3036,"text":1610},{"id":1777,"depth":3036,"text":1780},{"id":2072,"depth":3036,"text":2075},{"id":2215,"depth":3036,"text":2218},{"id":2338,"depth":3030,"text":2341},{"id":2420,"depth":3030,"text":2423},{"id":2458,"depth":3030,"text":2461,"children":3045},[3046],{"id":2464,"depth":3036,"text":2467},{"id":2642,"depth":3030,"text":2645,"children":3048},[3049,3050,3051],{"id":2648,"depth":3036,"text":2651},{"id":2722,"depth":3036,"text":2725},{"id":2888,"depth":3036,"text":2891},"markdown","docs",{"source":3055,"path":3056,"stem":3057,"dir":305,"extension":3058},"content","docs\u002F6.reference\u002F2.board-core.md","docs\u002F6.reference\u002F2.board-core","md",{"requestedPath":230,"resolvedPath":230,"alternates":3060},[],{"requested":3062,"resolved":3063,"usedFallback":6},{},{"locale":8},{"previous":3065,"next":3066},{"title":222,"id":223,"canonicalKey":224,"locale":8,"draft":6,"path":225},{"title":232,"id":233,"canonicalKey":234,"locale":8,"draft":6,"path":235},{"left":3068,"top":3068,"width":3069,"height":3069,"rotate":3068,"vFlip":6,"hFlip":6,"body":3070},0,256,"\u003Cpath fill=\"#3178c6\" d=\"M20 0h216c11.046 0 20 8.954 20 20v216c0 11.046-8.954 20-20 20H20c-11.046 0-20-8.954-20-20V20C0 8.954 8.954 0 20 0\"\u002F>\u003Cpath fill=\"#fff\" d=\"M150.518 200.475v27.62q6.738 3.453 15.938 5.179T185.849 235q9.934 0 18.874-1.899t15.678-6.257q6.738-4.359 10.669-11.394q3.93-7.033 3.93-17.391q0-7.51-2.246-13.163a30.8 30.8 0 0 0-6.479-10.055q-4.232-4.402-10.149-7.898t-13.347-6.602q-5.442-2.245-9.761-4.359t-7.342-4.316q-3.024-2.2-4.665-4.661t-1.641-5.567q0-2.848 1.468-5.135q1.469-2.288 4.147-3.927t6.565-2.547q3.887-.906 8.638-.906q3.456 0 7.299.518q3.844.517 7.732 1.597a54 54 0 0 1 7.558 2.719a41.7 41.7 0 0 1 6.781 3.797v-25.807q-6.306-2.417-13.778-3.582T198.633 107q-9.847 0-18.658 2.115q-8.811 2.114-15.506 6.602q-6.694 4.49-10.582 11.437Q150 134.102 150 143.769q0 12.342 7.127 21.06t21.638 14.759a292 292 0 0 1 10.625 4.575q4.924 2.244 8.509 4.66t5.658 5.265t2.073 6.474a9.9 9.9 0 0 1-1.296 4.963q-1.295 2.287-3.93 3.97t-6.565 2.632t-9.2.95q-8.983 0-17.794-3.151t-16.327-9.451m-46.036-68.733H140V109H41v22.742h35.345V233h28.137z\"\u002F>",{"left":3068,"top":3068,"width":3072,"height":3072,"rotate":3068,"vFlip":6,"hFlip":6,"body":3073},24,"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Crect width=\"8\" height=\"4\" x=\"8\" y=\"2\" rx=\"1\" ry=\"1\"\u002F>\u003Cpath d=\"M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2\"\u002F>\u003C\u002Fg>",1786637507339]