[{"data":1,"prerenderedAt":977},["ShallowReactive",2],{"navigation":3,"docs-cloud-4.2-websockets-architecture":498,"nav-cloud42":704,"support-index":909},[4],{"title":5,"path":6,"stem":7,"children":8,"page":40},"Docs","\u002Fdocs","docs",[9,242,320],{"title":10,"path":11,"stem":12,"children":13,"page":40},"Cloud","\u002Fdocs\u002Fcloud","docs\u002Fcloud",[14],{"title":15,"path":16,"stem":17,"children":18,"page":40},"4.5","\u002Fdocs\u002Fcloud\u002F4.5","docs\u002Fcloud\u002F4.5",[19,41,54,79,100,147,172,196,209,234],{"title":20,"path":21,"stem":22,"children":23,"page":40},"Overview","\u002Fdocs\u002Fcloud\u002F4.5\u002Foverview","docs\u002Fcloud\u002F4.5\u002F01.overview",[24,28,32,36],{"title":25,"path":26,"stem":27},"MyScript iink SDK for web-based platform","\u002Fdocs\u002Fcloud\u002F4.5\u002Foverview\u002Fintroduction","docs\u002Fcloud\u002F4.5\u002F01.overview\u002F01.introduction",{"title":29,"path":30,"stem":31},"Choosing between REST or WebSockets","\u002Fdocs\u002Fcloud\u002F4.5\u002Foverview\u002Fhttp-rest-or-websocket","docs\u002Fcloud\u002F4.5\u002F01.overview\u002F02.http-rest-or-websocket",{"title":33,"path":34,"stem":35},"What's new","\u002Fdocs\u002Fcloud\u002F4.5\u002Foverview\u002Fchangelog","docs\u002Fcloud\u002F4.5\u002F01.overview\u002F03.changelog",{"title":37,"path":38,"stem":39},"Migration guide","\u002Fdocs\u002Fcloud\u002F4.5\u002Foverview\u002Fmigration-guide","docs\u002Fcloud\u002F4.5\u002F01.overview\u002F04.migration-guide",false,{"title":42,"path":43,"stem":44,"children":45,"page":40},"Integration","\u002Fdocs\u002Fcloud\u002F4.5\u002Fintegration","docs\u002Fcloud\u002F4.5\u002F02.integration",[46,50],{"title":47,"path":48,"stem":49},"Supported platforms","\u002Fdocs\u002Fcloud\u002F4.5\u002Fintegration\u002Fplatforms","docs\u002Fcloud\u002F4.5\u002F02.integration\u002F01.platforms",{"title":51,"path":52,"stem":53},"Integration levels","\u002Fdocs\u002Fcloud\u002F4.5\u002Fintegration\u002Fintegration-levels","docs\u002Fcloud\u002F4.5\u002F02.integration\u002F02.integration-levels",{"title":55,"path":56,"stem":57,"children":58,"page":40},"Recognition capabilities","\u002Fdocs\u002Fcloud\u002F4.5\u002Frecognition-capabilities","docs\u002Fcloud\u002F4.5\u002F03.recognition-capabilities",[59,63,67,71,75],{"title":60,"path":61,"stem":62},"Recognizers","\u002Fdocs\u002Fcloud\u002F4.5\u002Frecognition-capabilities\u002Frecognizers","docs\u002Fcloud\u002F4.5\u002F03.recognition-capabilities\u002F01.recognizers",{"title":64,"path":65,"stem":66},"Text languages and features","\u002Fdocs\u002Fcloud\u002F4.5\u002Frecognition-capabilities\u002Ftext-languages","docs\u002Fcloud\u002F4.5\u002F03.recognition-capabilities\u002F02.text-languages",{"title":68,"path":69,"stem":70},"Math elements and rules","\u002Fdocs\u002Fcloud\u002F4.5\u002Frecognition-capabilities\u002Fmath-elements-and-rules","docs\u002Fcloud\u002F4.5\u002F03.recognition-capabilities\u002F03.math-elements-and-rules",{"title":72,"path":73,"stem":74},"Shapes and connectors","\u002Fdocs\u002Fcloud\u002F4.5\u002Frecognition-capabilities\u002Fdiagram-features","docs\u002Fcloud\u002F4.5\u002F03.recognition-capabilities\u002F04.diagram-features",{"title":76,"path":77,"stem":78},"Gestures","\u002Fdocs\u002Fcloud\u002F4.5\u002Frecognition-capabilities\u002Fgestures","docs\u002Fcloud\u002F4.5\u002F03.recognition-capabilities\u002F05.gestures",{"title":80,"path":81,"stem":82,"children":83,"page":40},"Interactivity integration","\u002Fdocs\u002Fcloud\u002F4.5\u002Finteractivity-integration","docs\u002Fcloud\u002F4.5\u002F04.interactivity-integration",[84,88,92,96],{"title":85,"path":86,"stem":87},"Content types","\u002Fdocs\u002Fcloud\u002F4.5\u002Finteractivity-integration\u002Fcontent-types","docs\u002Fcloud\u002F4.5\u002F04.interactivity-integration\u002F01.content-types",{"title":89,"path":90,"stem":91},"Interactive features","\u002Fdocs\u002Fcloud\u002F4.5\u002Finteractivity-integration\u002Finteractive-features","docs\u002Fcloud\u002F4.5\u002F04.interactivity-integration\u002F02.interactive-features",{"title":93,"path":94,"stem":95},"Import and export formats","\u002Fdocs\u002Fcloud\u002F4.5\u002Finteractivity-integration\u002Fimport-and-export-formats","docs\u002Fcloud\u002F4.5\u002F04.interactivity-integration\u002F03.import-and-export-formats",{"title":97,"path":98,"stem":99},"Math interactive features","\u002Fdocs\u002Fcloud\u002F4.5\u002Finteractivity-integration\u002Fmath-features","docs\u002Fcloud\u002F4.5\u002F04.interactivity-integration\u002F04.math-features",{"title":101,"path":102,"stem":103,"children":104,"page":40},"iinkTS","\u002Fdocs\u002Fcloud\u002F4.5\u002Fiinkts","docs\u002Fcloud\u002F4.5\u002F05.iinkts",[105,109,113,121,138],{"title":106,"path":107,"stem":108},"Getting started","\u002Fdocs\u002Fcloud\u002F4.5\u002Fiinkts\u002Fget-started","docs\u002Fcloud\u002F4.5\u002F05.iinkts\u002F01.get-started",{"title":110,"path":111,"stem":112},"Canvas","\u002Fdocs\u002Fcloud\u002F4.5\u002Fiinkts\u002Fcanvas","docs\u002Fcloud\u002F4.5\u002F05.iinkts\u002F02.canvas",{"title":114,"path":115,"stem":116,"children":117,"page":40},"Ink Canvas","\u002Fdocs\u002Fcloud\u002F4.5\u002Fiinkts\u002Fink-canvas","docs\u002Fcloud\u002F4.5\u002F05.iinkts\u002F03.ink-canvas",[118],{"title":114,"path":119,"stem":120},"\u002Fdocs\u002Fcloud\u002F4.5\u002Fiinkts\u002Fink-canvas\u002Fink-canvas","docs\u002Fcloud\u002F4.5\u002F05.iinkts\u002F03.ink-canvas\u002F01.ink-canvas",{"title":122,"path":123,"stem":124,"children":125,"page":40},"Interactive Ink Canvas","\u002Fdocs\u002Fcloud\u002F4.5\u002Fiinkts\u002Finteractive-ink-canvas","docs\u002Fcloud\u002F4.5\u002F05.iinkts\u002F04.interactive-ink-canvas",[126,130,134],{"title":127,"path":128,"stem":129},"Interactive ink canvas","\u002Fdocs\u002Fcloud\u002F4.5\u002Fiinkts\u002Finteractive-ink-canvas\u002Finteractive-ink-canvas","docs\u002Fcloud\u002F4.5\u002F05.iinkts\u002F04.interactive-ink-canvas\u002F01.interactive-ink-canvas",{"title":131,"path":132,"stem":133},"Interactive Math","\u002Fdocs\u002Fcloud\u002F4.5\u002Fiinkts\u002Finteractive-ink-canvas\u002Fiicanvas-math","docs\u002Fcloud\u002F4.5\u002F05.iinkts\u002F04.interactive-ink-canvas\u002F02.iicanvas-math",{"title":135,"path":136,"stem":137},"Using a custom rendering","\u002Fdocs\u002Fcloud\u002F4.5\u002Fiinkts\u002Finteractive-ink-canvas\u002Fiicanvas-other-rendering","docs\u002Fcloud\u002F4.5\u002F05.iinkts\u002F04.interactive-ink-canvas\u002F03.iicanvas-other-rendering",{"title":139,"path":140,"stem":141,"children":142,"page":40},"Reference","\u002Fdocs\u002Fcloud\u002F4.5\u002Fiinkts\u002Freference","docs\u002Fcloud\u002F4.5\u002F05.iinkts\u002F05.reference",[143],{"title":144,"path":145,"stem":146},"Configuration","\u002Fdocs\u002Fcloud\u002F4.5\u002Fiinkts\u002Freference\u002Fconfiguration-iinkts","docs\u002Fcloud\u002F4.5\u002F05.iinkts\u002F05.reference\u002F01.configuration-iinkts",{"title":148,"path":149,"stem":150,"children":151,"page":40},"REST","\u002Fdocs\u002Fcloud\u002F4.5\u002Frest","docs\u002Fcloud\u002F4.5\u002F06.rest",[152,156,160,164,168],{"title":153,"path":154,"stem":155},"MyScript iink SDK Web REST Overview","\u002Fdocs\u002Fcloud\u002F4.5\u002Frest\u002Farchitecture","docs\u002Fcloud\u002F4.5\u002F06.rest\u002F01.architecture",{"title":157,"path":158,"stem":159},"MyScript iink SDK Web REST Recognizer API","\u002Fdocs\u002Fcloud\u002F4.5\u002Frest\u002Fnew-api","docs\u002Fcloud\u002F4.5\u002F06.rest\u002F02.new-api",{"title":161,"path":162,"stem":163},"Recognizer configuration","\u002Fdocs\u002Fcloud\u002F4.5\u002Frest\u002Fconfiguration-recognizer-rest","docs\u002Fcloud\u002F4.5\u002F06.rest\u002F03.configuration-recognizer-rest",{"title":165,"path":166,"stem":167},"MyScript iink SDK Web REST Batch API","\u002Fdocs\u002Fcloud\u002F4.5\u002Frest\u002Flegacy-api","docs\u002Fcloud\u002F4.5\u002F06.rest\u002F04.legacy-api",{"title":169,"path":170,"stem":171},"Batch configuration","\u002Fdocs\u002Fcloud\u002F4.5\u002Frest\u002Fconfiguration-rest","docs\u002Fcloud\u002F4.5\u002F06.rest\u002F05.configuration-rest",{"title":173,"path":174,"stem":175,"children":176,"page":40},"WebSockets","\u002Fdocs\u002Fcloud\u002F4.5\u002Fwebsockets","docs\u002Fcloud\u002F4.5\u002F07.websockets",[177,181,185,189,193],{"title":178,"path":179,"stem":180},"MyScript iink SDK WebSockets API architecture","\u002Fdocs\u002Fcloud\u002F4.5\u002Fwebsockets\u002Farchitecture","docs\u002Fcloud\u002F4.5\u002F07.websockets\u002F01.architecture",{"title":182,"path":183,"stem":184},"Offscreen interactivity mode messages","\u002Fdocs\u002Fcloud\u002F4.5\u002Fwebsockets\u002Fmessages-offscreen","docs\u002Fcloud\u002F4.5\u002F07.websockets\u002F02.messages-offscreen",{"title":186,"path":187,"stem":188},"Offscreen interactivity math messages","\u002Fdocs\u002Fcloud\u002F4.5\u002Fwebsockets\u002Fmath-offscreen","docs\u002Fcloud\u002F4.5\u002F07.websockets\u002F03.math-offscreen",{"title":190,"path":191,"stem":192},"Onscreen interactivity mode messages","\u002Fdocs\u002Fcloud\u002F4.5\u002Fwebsockets\u002Fmessages-onscreen","docs\u002Fcloud\u002F4.5\u002F07.websockets\u002F04.messages-onscreen",{"title":144,"path":194,"stem":195},"\u002Fdocs\u002Fcloud\u002F4.5\u002Fwebsockets\u002Fconfiguration-ws","docs\u002Fcloud\u002F4.5\u002F07.websockets\u002F05.configuration-ws",{"title":197,"path":198,"stem":199,"children":200,"page":40},"Specific","\u002Fdocs\u002Fcloud\u002F4.5\u002Fspecific","docs\u002Fcloud\u002F4.5\u002F08.specific",[201,205],{"title":202,"path":203,"stem":204},"Text recognition candidates","\u002Fdocs\u002Fcloud\u002F4.5\u002Fspecific\u002Ftext-recognition-candidates","docs\u002Fcloud\u002F4.5\u002F08.specific\u002F01.text-recognition-candidates",{"title":206,"path":207,"stem":208},"Recognition resources","\u002Fdocs\u002Fcloud\u002F4.5\u002Fspecific\u002Fcustom-recognition","docs\u002Fcloud\u002F4.5\u002F08.specific\u002F02.custom-recognition",{"title":210,"path":211,"stem":212,"children":213,"page":40},"Server","\u002Fdocs\u002Fcloud\u002F4.5\u002Fserver","docs\u002Fcloud\u002F4.5\u002F09.server",[214,218,222,226,230],{"title":215,"path":216,"stem":217},"MyScript Server Installation Preamble and Prerequisites","\u002Fdocs\u002Fcloud\u002F4.5\u002Fserver\u002Fpreamble-prerequisites","docs\u002Fcloud\u002F4.5\u002F09.server\u002F01.preamble-prerequisites",{"title":219,"path":220,"stem":221},"MyScript Server Monoserver Installation Documentation","\u002Fdocs\u002Fcloud\u002F4.5\u002Fserver\u002Fmonoserver-installation","docs\u002Fcloud\u002F4.5\u002F09.server\u002F02.monoserver-installation",{"title":223,"path":224,"stem":225},"MyScript Server Production Installation Documentation","\u002Fdocs\u002Fcloud\u002F4.5\u002Fserver\u002Fproduction-installation","docs\u002Fcloud\u002F4.5\u002F09.server\u002F03.production-installation",{"title":227,"path":228,"stem":229},"MyScript Server Migration Guide","\u002Fdocs\u002Fcloud\u002F4.5\u002Fserver\u002Fserver-migration-guide","docs\u002Fcloud\u002F4.5\u002F09.server\u002F04.server-migration-guide",{"title":231,"path":232,"stem":233},"MyScript Server Administration Guide","\u002Fdocs\u002Fcloud\u002F4.5\u002Fserver\u002Fadministration-guide","docs\u002Fcloud\u002F4.5\u002F09.server\u002F05.administration-guide",{"title":139,"path":235,"stem":236,"children":237,"page":40},"\u002Fdocs\u002Fcloud\u002F4.5\u002Freference","docs\u002Fcloud\u002F4.5\u002F10.reference",[238],{"title":239,"path":240,"stem":241},"JIIX format reference","\u002Fdocs\u002Fcloud\u002F4.5\u002Freference\u002Fjiix","docs\u002Fcloud\u002F4.5\u002F10.reference\u002F01.jiix",{"title":243,"path":244,"stem":245,"children":246,"page":40},"Concepts","\u002Fdocs\u002Fconcepts","docs\u002Fconcepts",[247,250,254],{"title":20,"path":248,"stem":249},"\u002Fdocs\u002Fconcepts\u002Foverview","docs\u002Fconcepts\u002F01.overview",{"title":251,"path":252,"stem":253},"Glossary","\u002Fdocs\u002Fconcepts\u002Fglossary","docs\u002Fconcepts\u002F02.glossary",{"title":255,"path":256,"stem":257,"children":258,"page":40},"Fundamentals","\u002Fdocs\u002Fconcepts\u002Ffundamentals","docs\u002Fconcepts\u002F03.fundamentals",[259,263,292,312],{"title":260,"path":261,"stem":262},"OCR vs digital ink recognition","\u002Fdocs\u002Fconcepts\u002Ffundamentals\u002Fdigital-ink-vs-ocr","docs\u002Fconcepts\u002F03.fundamentals\u002F01.digital-ink-vs-ocr",{"title":264,"path":265,"stem":266,"children":267,"page":40},"Ink interpretation","\u002Fdocs\u002Fconcepts\u002Ffundamentals\u002Fink-interpretation","docs\u002Fconcepts\u002F03.fundamentals\u002F02.ink-interpretation",[268,272,276,280,284,288],{"title":269,"path":270,"stem":271},"Ink processing","\u002Fdocs\u002Fconcepts\u002Ffundamentals\u002Fink-interpretation\u002Fink-interpretation","docs\u002Fconcepts\u002F03.fundamentals\u002F02.ink-interpretation\u002F01.ink-interpretation",{"title":273,"path":274,"stem":275},"Recognition features","\u002Fdocs\u002Fconcepts\u002Ffundamentals\u002Fink-interpretation\u002Fcontent-types","docs\u002Fconcepts\u002F03.fundamentals\u002F02.ink-interpretation\u002F02.content-types",{"title":277,"path":278,"stem":279},"Ink classification","\u002Fdocs\u002Fconcepts\u002Ffundamentals\u002Fink-interpretation\u002Fink-classification","docs\u002Fconcepts\u002F03.fundamentals\u002F02.ink-interpretation\u002F03.ink-classification",{"title":281,"path":282,"stem":283},"What are batch mode and incremental mode?","\u002Fdocs\u002Fconcepts\u002Ffundamentals\u002Fink-interpretation\u002Fbatch-mode","docs\u002Fconcepts\u002F03.fundamentals\u002F02.ink-interpretation\u002F04.batch-mode",{"title":285,"path":286,"stem":287},"Gestures and context","\u002Fdocs\u002Fconcepts\u002Ffundamentals\u002Fink-interpretation\u002Fcontext-gestures","docs\u002Fconcepts\u002F03.fundamentals\u002F02.ink-interpretation\u002F05.context-gestures",{"title":289,"path":290,"stem":291},"What is interactivity","\u002Fdocs\u002Fconcepts\u002Ffundamentals\u002Fink-interpretation\u002Finteractive-ink","docs\u002Fconcepts\u002F03.fundamentals\u002F02.ink-interpretation\u002F06.interactive-ink",{"title":293,"path":294,"stem":295,"children":296,"page":40},"Rendering-driven interactivity","\u002Fdocs\u002Fconcepts\u002Ffundamentals\u002Frendering-driven-interactivity","docs\u002Fconcepts\u002F03.fundamentals\u002F03.rendering-driven-interactivity",[297,301,304,308],{"title":298,"path":299,"stem":300},"Ink capture","\u002Fdocs\u002Fconcepts\u002Ffundamentals\u002Frendering-driven-interactivity\u002Fink-capture","docs\u002Fconcepts\u002F03.fundamentals\u002F03.rendering-driven-interactivity\u002F01.ink-capture",{"title":76,"path":302,"stem":303},"\u002Fdocs\u002Fconcepts\u002Ffundamentals\u002Frendering-driven-interactivity\u002Fediting-gestures","docs\u002Fconcepts\u002F03.fundamentals\u002F03.rendering-driven-interactivity\u002F02.editing-gestures",{"title":305,"path":306,"stem":307},"Smart tools","\u002Fdocs\u002Fconcepts\u002Ffundamentals\u002Frendering-driven-interactivity\u002Fsmart-tools","docs\u002Fconcepts\u002F03.fundamentals\u002F03.rendering-driven-interactivity\u002F03.smart-tools",{"title":309,"path":310,"stem":311},"Responsive and productive","\u002Fdocs\u002Fconcepts\u002Ffundamentals\u002Frendering-driven-interactivity\u002Fresponsive-layout","docs\u002Fconcepts\u002F03.fundamentals\u002F03.rendering-driven-interactivity\u002F04.responsive-layout",{"title":313,"path":314,"stem":315,"children":316,"page":40},"Handwriting generation","\u002Fdocs\u002Fconcepts\u002Ffundamentals\u002Fhandwriting-generation","docs\u002Fconcepts\u002F03.fundamentals\u002F04.handwriting-generation",[317],{"title":313,"path":318,"stem":319},"\u002Fdocs\u002Fconcepts\u002Ffundamentals\u002Fhandwriting-generation\u002Fhandwriting-generation","docs\u002Fconcepts\u002F03.fundamentals\u002F04.handwriting-generation\u002F01.handwriting-generation",{"title":321,"path":322,"stem":323,"children":324,"page":40},"Sdk","\u002Fdocs\u002Fsdk","docs\u002Fsdk",[325],{"title":15,"path":326,"stem":327,"children":328,"page":40},"\u002Fdocs\u002Fsdk\u002F4.5","docs\u002Fsdk\u002F4.5",[329,333,336,339,349,368,381,393,401,417,426,463,467,470,474,477,484],{"title":330,"path":331,"stem":332},"About MyScript iink SDK","\u002Fdocs\u002Fsdk\u002F4.5\u002Fabout","docs\u002Fsdk\u002F4.5\u002F01.about",{"title":33,"path":334,"stem":335},"\u002Fdocs\u002Fsdk\u002F4.5\u002Fchangelog","docs\u002Fsdk\u002F4.5\u002F02.changelog",{"title":37,"path":337,"stem":338},"\u002Fdocs\u002Fsdk\u002F4.5\u002Fmigration-guide","docs\u002Fsdk\u002F4.5\u002F03.migration-guide",{"title":42,"path":340,"stem":341,"children":342,"page":40},"\u002Fdocs\u002Fsdk\u002F4.5\u002Fintegration","docs\u002Fsdk\u002F4.5\u002F04.integration",[343,346],{"title":47,"path":344,"stem":345},"\u002Fdocs\u002Fsdk\u002F4.5\u002Fintegration\u002Fplatforms","docs\u002Fsdk\u002F4.5\u002F04.integration\u002F01.platforms",{"title":51,"path":347,"stem":348},"\u002Fdocs\u002Fsdk\u002F4.5\u002Fintegration\u002Fintegration-levels","docs\u002Fsdk\u002F4.5\u002F04.integration\u002F02.integration-levels",{"title":55,"path":350,"stem":351,"children":352,"page":40},"\u002Fdocs\u002Fsdk\u002F4.5\u002Frecognition-capabilities","docs\u002Fsdk\u002F4.5\u002F05.recognition-capabilities",[353,356,359,362,365],{"title":60,"path":354,"stem":355},"\u002Fdocs\u002Fsdk\u002F4.5\u002Frecognition-capabilities\u002Frecognizers","docs\u002Fsdk\u002F4.5\u002F05.recognition-capabilities\u002F01.recognizers",{"title":64,"path":357,"stem":358},"\u002Fdocs\u002Fsdk\u002F4.5\u002Frecognition-capabilities\u002Ftext-languages","docs\u002Fsdk\u002F4.5\u002F05.recognition-capabilities\u002F02.text-languages",{"title":68,"path":360,"stem":361},"\u002Fdocs\u002Fsdk\u002F4.5\u002Frecognition-capabilities\u002Fmath-elements-and-rules","docs\u002Fsdk\u002F4.5\u002F05.recognition-capabilities\u002F03.math-elements-and-rules",{"title":72,"path":363,"stem":364},"\u002Fdocs\u002Fsdk\u002F4.5\u002Frecognition-capabilities\u002Fdiagram-features","docs\u002Fsdk\u002F4.5\u002F05.recognition-capabilities\u002F04.diagram-features",{"title":76,"path":366,"stem":367},"\u002Fdocs\u002Fsdk\u002F4.5\u002Frecognition-capabilities\u002Fgestures","docs\u002Fsdk\u002F4.5\u002F05.recognition-capabilities\u002F05.gestures",{"title":80,"path":369,"stem":370,"children":371,"page":40},"\u002Fdocs\u002Fsdk\u002F4.5\u002Finteractivity-integration","docs\u002Fsdk\u002F4.5\u002F06.interactivity-integration",[372,375,378],{"title":85,"path":373,"stem":374},"\u002Fdocs\u002Fsdk\u002F4.5\u002Finteractivity-integration\u002Fcontent-types","docs\u002Fsdk\u002F4.5\u002F06.interactivity-integration\u002F01.content-types",{"title":89,"path":376,"stem":377},"\u002Fdocs\u002Fsdk\u002F4.5\u002Finteractivity-integration\u002Finteractive-features","docs\u002Fsdk\u002F4.5\u002F06.interactivity-integration\u002F02.interactive-features",{"title":93,"path":379,"stem":380},"\u002Fdocs\u002Fsdk\u002F4.5\u002Finteractivity-integration\u002Fimport-and-export-formats","docs\u002Fsdk\u002F4.5\u002F06.interactivity-integration\u002F03.import-and-export-formats",{"title":106,"path":382,"stem":383,"children":384,"page":40},"\u002Fdocs\u002Fsdk\u002F4.5\u002Fgetting-started","docs\u002Fsdk\u002F4.5\u002F07.getting-started",[385,389],{"title":386,"path":387,"stem":388},"Setup","\u002Fdocs\u002Fsdk\u002F4.5\u002Fgetting-started\u002Fsetup","docs\u002Fsdk\u002F4.5\u002F07.getting-started\u002F01.setup",{"title":390,"path":391,"stem":392},"Instantiate Engine","\u002Fdocs\u002Fsdk\u002F4.5\u002Fgetting-started\u002Finteractive-ink-runtime","docs\u002Fsdk\u002F4.5\u002F07.getting-started\u002F02.interactive-ink-runtime",{"title":394,"path":395,"stem":396,"children":397,"page":40},"Recognizer","\u002Fdocs\u002Fsdk\u002F4.5\u002Frecognizer","docs\u002Fsdk\u002F4.5\u002F08.recognizer",[398],{"title":60,"path":399,"stem":400},"\u002Fdocs\u002Fsdk\u002F4.5\u002Frecognizer\u002Frecognizers","docs\u002Fsdk\u002F4.5\u002F08.recognizer\u002F01.recognizers",{"title":402,"path":403,"stem":404,"children":405,"page":40},"Interactivity specific","\u002Fdocs\u002Fsdk\u002F4.5\u002Finteractivity","docs\u002Fsdk\u002F4.5\u002F09.interactivity",[406,410,413],{"title":407,"path":408,"stem":409},"Storage","\u002Fdocs\u002Fsdk\u002F4.5\u002Finteractivity\u002Fstorage","docs\u002Fsdk\u002F4.5\u002F09.interactivity\u002F01.storage",{"title":97,"path":411,"stem":412},"\u002Fdocs\u002Fsdk\u002F4.5\u002Finteractivity\u002Fmath-features","docs\u002Fsdk\u002F4.5\u002F09.interactivity\u002F02.math-features",{"title":414,"path":415,"stem":416},"Integrate with the undo\u002Fredo stack of your application","\u002Fdocs\u002Fsdk\u002F4.5\u002Finteractivity\u002Fcombined-undo-redo-stacks","docs\u002Fsdk\u002F4.5\u002F09.interactivity\u002F03.combined-undo-redo-stacks",{"title":418,"path":419,"stem":420,"children":421,"page":40},"OffScreenEditor specific","\u002Fdocs\u002Fsdk\u002F4.5\u002Foffscreen-editor","docs\u002Fsdk\u002F4.5\u002F10.offscreen-editor",[422],{"title":423,"path":424,"stem":425},"OffscreenEditor","\u002Fdocs\u002Fsdk\u002F4.5\u002Foffscreen-editor\u002Foff-screen-usage","docs\u002Fsdk\u002F4.5\u002F10.offscreen-editor\u002F01.off-screen-usage",{"title":427,"path":428,"stem":429,"children":430,"page":40},"Editor specific","\u002Fdocs\u002Fsdk\u002F4.5\u002Feditor","docs\u002Fsdk\u002F4.5\u002F11.editor",[431,435,439,443,447,451,455,459],{"title":432,"path":433,"stem":434},"Rendering","\u002Fdocs\u002Fsdk\u002F4.5\u002Feditor\u002Frendering","docs\u002Fsdk\u002F4.5\u002F11.editor\u002F01.rendering",{"title":436,"path":437,"stem":438},"Editing","\u002Fdocs\u002Fsdk\u002F4.5\u002Feditor\u002Fediting","docs\u002Fsdk\u002F4.5\u002F11.editor\u002F02.editing",{"title":440,"path":441,"stem":442},"Tool controller","\u002Fdocs\u002Fsdk\u002F4.5\u002Feditor\u002Ftool-controller","docs\u002Fsdk\u002F4.5\u002F11.editor\u002F03.tool-controller",{"title":444,"path":445,"stem":446},"Selection and block","\u002Fdocs\u002Fsdk\u002F4.5\u002Feditor\u002Fblock-selection-management","docs\u002Fsdk\u002F4.5\u002F11.editor\u002F04.block-selection-management",{"title":448,"path":449,"stem":450},"Conversion","\u002Fdocs\u002Fsdk\u002F4.5\u002Feditor\u002Fconversion","docs\u002Fsdk\u002F4.5\u002F11.editor\u002F05.conversion",{"title":452,"path":453,"stem":454},"Zooming and scrolling","\u002Fdocs\u002Fsdk\u002F4.5\u002Feditor\u002Fzooming-and-scrolling","docs\u002Fsdk\u002F4.5\u002F11.editor\u002F06.zooming-and-scrolling",{"title":456,"path":457,"stem":458},"Styling","\u002Fdocs\u002Fsdk\u002F4.5\u002Feditor\u002Fstyling","docs\u002Fsdk\u002F4.5\u002F11.editor\u002F07.styling",{"title":460,"path":461,"stem":462},"Custom inking","\u002Fdocs\u002Fsdk\u002F4.5\u002Feditor\u002Fcustom-inking","docs\u002Fsdk\u002F4.5\u002F11.editor\u002F08.custom-inking",{"title":464,"path":465,"stem":466},"Result, import and export","\u002Fdocs\u002Fsdk\u002F4.5\u002Fimport-and-export","docs\u002Fsdk\u002F4.5\u002F12.import-and-export",{"title":202,"path":468,"stem":469},"\u002Fdocs\u002Fsdk\u002F4.5\u002Ftext-recognition-candidates","docs\u002Fsdk\u002F4.5\u002F13.text-recognition-candidates",{"title":471,"path":472,"stem":473},"Error management","\u002Fdocs\u002Fsdk\u002F4.5\u002Ferror-management","docs\u002Fsdk\u002F4.5\u002F14.error-management",{"title":206,"path":475,"stem":476},"\u002Fdocs\u002Fsdk\u002F4.5\u002Fcustom-recognition","docs\u002Fsdk\u002F4.5\u002F15.custom-recognition",{"title":313,"path":478,"stem":479,"children":480,"page":40},"\u002Fdocs\u002Fsdk\u002F4.5\u002Fhandwriting-generation","docs\u002Fsdk\u002F4.5\u002F16.handwriting-generation",[481],{"title":313,"path":482,"stem":483},"\u002Fdocs\u002Fsdk\u002F4.5\u002Fhandwriting-generation\u002Fhandwriting-generation","docs\u002Fsdk\u002F4.5\u002F16.handwriting-generation\u002F01.handwriting-generation",{"title":139,"path":485,"stem":486,"children":487,"page":40},"\u002Fdocs\u002Fsdk\u002F4.5\u002Freference","docs\u002Fsdk\u002F4.5\u002F17.reference",[488,491,494],{"title":144,"path":489,"stem":490},"\u002Fdocs\u002Fsdk\u002F4.5\u002Freference\u002Fconfiguration","docs\u002Fsdk\u002F4.5\u002F17.reference\u002F01.configuration",{"title":239,"path":492,"stem":493},"\u002Fdocs\u002Fsdk\u002F4.5\u002Freference\u002Fjiix","docs\u002Fsdk\u002F4.5\u002F17.reference\u002F02.jiix",{"title":495,"path":496,"stem":497},"Styling reference","\u002Fdocs\u002Fsdk\u002F4.5\u002Freference\u002Fstyling","docs\u002Fsdk\u002F4.5\u002F17.reference\u002F03.styling",{"path":499,"page":500},"\u002Fdocs\u002Fcloud\u002F4.2\u002Fwebsockets\u002Farchitecture",{"id":501,"title":178,"body":502,"canonicalPath":694,"description":695,"extension":696,"icon":694,"meta":697,"navTitle":698,"navigation":699,"path":499,"resolveKey":700,"resolveVersion":694,"seo":701,"stem":702,"__hash__":703},"cloud42\u002Fdocs\u002Fcloud\u002F4.2\u002F07.websockets\u002F01.architecture.md",{"type":503,"value":504,"toc":669},"minimark",[505,509,514,527,530,534,537,544,547,551,554,559,562,566,569,573,576,580,583,587,590,594,597,601,604,611,615,618,621,624,627,630,633,636,639,642,645,649,652,655,657,660,663],[506,507,508],"p",{},"MyScript iink SDK web exposes the WebSockets API, enabling remote access to the Interactive Ink technology.",[510,511,513],"h2",{"id":512},"requirements","Requirements",[515,516,518],"callout",{"color":517},"secondary",[506,519,520,521,526],{},"This guide assumes you are familiar with the ",[522,523,525],"a",{"href":524},"\u002Fdocs\u002Fcloud\u002F4.2\u002Foverview\u002Fintroduction","MyScript technology web concepts",".",[506,528,529],{},"WebSockets API is the lowest level of API available in a client-server mode.\nThis documentation section assumes that you are familiar with interactive ink and WebSocket concepts.\nTo use this API, you will have to capture, render, edit strokes and rich content on the client side with your own piece of software.\nConsider using the client side libraries if you want to integrate handwriting recognition into a web application.",[510,531,533],{"id":532},"overall-architecture","Overall architecture",[506,535,536],{},"The iink WebSocket API is built for modern browsers and good network conditions.\nAs handwriting recognition is very CPU-intensive, we can not deploy it client-side.\nWe have made the choice to use client side only for ink capture and content rendering.\nAll the recognition is done server-side.",[506,538,539,540,543],{},"To ensure a good recognition and an accurate ",[522,541,542],{"href":302},"gesture detection",", the strokes' position client-side and server-side have to be absolutely the same.\nThe following protocol is built assuming that the server knows the exact position of strokes and content-like in the user display.",[506,545,546],{},"Before using the WebSockets API, you have to understand that we offer two different interactivity modes with WebSockets:",[510,548,550],{"id":549},"onscreen-interactivity-mode","Onscreen interactivity mode",[506,552,553],{},"The server maintains an interactive context and performs the rendering too, thanks to WS APIs allowing you to edit the content and get the updated recognition result dynamically.\nThe server computes the rendering updates as well that it notifies with SVG patches that your application\u002FiinkTS use to update their view.\nThere is a single ink model that is on the server side.\nAs the rendering is performed by the server, even if the server sends SVG content and patches, these can not be re-styled client-side with CSS.\nYou have to use JavaScript exclusively to manipulate the content inside the editor.",[555,556,558],"h3",{"id":557},"content-content-package","Content \u002F Content Package",[506,560,561],{},"MyScript iink SDK brings the notion of content package and content part. Currently MATH and TEXT content part can be manipulated by the iink WebSocket onscreen interactivity APIs.\nIn brief, you have to create an editor that creates a content page containing a content part. It is not possible to add several content parts in a web content package.",[555,563,565],{"id":564},"lifecycle-of-recognition","Lifecycle of recognition",[506,567,568],{},"Before using the WebSockets API, you have to understand the lifecycle of onscreen interactivity handwriting recognition.",[555,570,572],{"id":571},"step-1-open-a-connection-with-the-server-and-give-the-context-of-the-recognition","Step 1: Open a connection with the server and give the context of the recognition",[506,574,575],{},"Information like the type of content you want to recognize (TEXT or MATH), the language, the size of your input and other parameters have to be provided.",[555,577,579],{"id":578},"step-2-capture-the-user-input","Step 2: Capture the user input",[506,581,582],{},"User input is what we call a stroke, i.e. a series of points with the timestamp of their capture.\nTo be even more precise, user input is a pending stroke, meaning that it is not already processed by the server recognition engine.\nThe application capturing strokes generally renders the temporary strokes to give an immediate feedback to the user.",[555,584,586],{"id":585},"step-3-send-the-stroke-to-the-server","Step 3: Send the stroke to the server",[506,588,589],{},"This stroke is sent to the server that acknowledges the reception. Then it answers with a SVG patch containing the temporary stroke to display to the user.\nA good practice is to replace your temporary rendering of the stroke with the content of this patch.",[555,591,593],{"id":592},"step-4-detect-gestures-and-recognition","Step 4: Detect gestures and recognition",[506,595,596],{},"Gesture detection is done as soon as the server acknowledges the reception of the stroke. Then it tries to recognize the content.\nA message sharing the state is sent to the client at each step.",[555,598,600],{"id":599},"step-5-share-user-interactions","Step 5: Share user interactions",[506,602,603],{},"While writing, the user may want to undo, redo or clear the input zone. Each of those actions has to be shared by the client with the server.\nIt is also possible to ask for an export. The server will then answer with the last recognized result in the desired format.\nYou can import some content in the format managed by the content part. The user may also want to convert the content from its handwriting form to a digital one,\ncalled typeset. This action is called conversion. The server will answer with a patch containing text and glyph instead of strokes.",[506,605,606,607],{},"➤ For more details, refer to the ",[522,608,610],{"href":609},"\u002Fdocs\u002Fcloud\u002F4.2\u002Fwebsockets\u002Fmessages-onscreen","onscreen interactivity mode messages",[510,612,614],{"id":613},"offscreen-interactivity-mode","Offscreen interactivity mode",[506,616,617],{},"This programmatic interactivity is typically useful when you want to integrate editable content into an existing application with its own rendering.\nIn this case, the application has its own ink stroke model that it needs to keep synchronized with the iink stroke model.\nThe server maintains an interactive context, thanks to WS APIs, allowing you to update the ink content and your application dynamically gets the updated recognition result.\nAll of these features are provided through APIs, and your application controls all of the implemented behaviors.",[506,619,620],{},"The interactivity is based on stroke updates (adding, erasing strokes) that your application sends to the server, which manages ink strokes using their IDs.\nThese stroke IDs can be mapped to strokes in your application's data model.\nBased on the server's gesture recognition notifications and recognition results, the application updates its rendering and strokes model, and also sends corresponding changes to the server.",[555,622,558],{"id":623},"content-content-package-1",[506,625,626],{},"Currently RAW CONTENT content part can be manipulated by the iink WebSocket offscreen interactivity APIs.",[555,628,565],{"id":629},"lifecycle-of-recognition-1",[506,631,632],{},"Before using the WebSockets API, you have to understand the lifecycle of offscreen interactivity handwriting recognition.",[555,634,572],{"id":635},"step-1-open-a-connection-with-the-server-and-give-the-context-of-the-recognition-1",[506,637,638],{},"Information like the type of content you want to recognize (RAW CONTENT), the language, the size of your input and other parameters have to be provided.",[555,640,579],{"id":641},"step-2-capture-the-user-input-1",[506,643,644],{},"User input is what we call a stroke, i.e. a series of points with the timestamp of their capture.\nTo be even more precise, user input is a pending stroke, meaning that it is not already processed by the server recognition engine.\nThe application capturing strokes renders the strokes to give an immediate feedback to the user.",[555,646,648],{"id":647},"step-3-send-the-stroke-update-to-the-server","Step 3: Send the stroke update to the server",[506,650,651],{},"This stroke is sent to the server that acknowledges the reception.",[555,653,593],{"id":654},"step-4-detect-gestures-and-recognition-1",[506,656,596],{},[555,658,600],{"id":659},"step-5-share-user-interactions-1",[506,661,662],{},"While writing, users may want to select, undo, redo or clear the input zone.\nOr, when a gesture is notified, application may apply an action.\nEach of these interactions must be translated by the application into the corresponding stroke updates, which the client communicates to the server by asking to add or delete the corresponding ink strokes.",[506,664,606,665],{},[522,666,668],{"href":667},"\u002Fdocs\u002Fcloud\u002F4.2\u002Fwebsockets\u002Fmessages-offscreen","offscreen interactivity mode messages",{"title":670,"searchDepth":671,"depth":671,"links":672},"",3,[673,675,676,685],{"id":512,"depth":674,"text":513},2,{"id":532,"depth":674,"text":533},{"id":549,"depth":674,"text":550,"children":677},[678,679,680,681,682,683,684],{"id":557,"depth":671,"text":558},{"id":564,"depth":671,"text":565},{"id":571,"depth":671,"text":572},{"id":578,"depth":671,"text":579},{"id":585,"depth":671,"text":586},{"id":592,"depth":671,"text":593},{"id":599,"depth":671,"text":600},{"id":613,"depth":674,"text":614,"children":686},[687,688,689,690,691,692,693],{"id":623,"depth":671,"text":558},{"id":629,"depth":671,"text":565},{"id":635,"depth":671,"text":572},{"id":641,"depth":671,"text":579},{"id":647,"depth":671,"text":648},{"id":654,"depth":671,"text":593},{"id":659,"depth":671,"text":600},null,"MyScript iink SDK WebSockets API Architecture","md",{},"Architecture",true,"5l3bq0",{"title":178,"description":695},"docs\u002Fcloud\u002F4.2\u002F07.websockets\u002F01.architecture","7PrDQ5jIswmGvjBovw0SJs3xidIoZvnSdpd2w8uKreo",[705],{"title":5,"path":6,"stem":7,"children":706,"page":40},[707],{"title":10,"path":11,"stem":12,"children":708,"page":40},[709],{"title":710,"navTitle":694,"icon":694,"path":711,"stem":712,"children":713,"page":40},"4.2","\u002Fdocs\u002Fcloud\u002F4.2","docs\u002Fcloud\u002F4.2",[714,741,754,778,799,829,850,864,876,900],{"title":20,"navTitle":694,"icon":694,"path":715,"stem":716,"children":717,"page":40},"\u002Fdocs\u002Fcloud\u002F4.2\u002Foverview","docs\u002Fcloud\u002F4.2\u002F01.overview",[718,722,728,733,737],{"title":25,"path":524,"stem":719,"navTitle":720,"icon":721},"docs\u002Fcloud\u002F4.2\u002F01.overview\u002F01.introduction","Introduction","i-tabler-info-circle",{"title":723,"path":724,"stem":725,"navTitle":726,"icon":727},"Web concepts","\u002Fdocs\u002Fcloud\u002F4.2\u002Foverview\u002Ftools-and-concepts","docs\u002Fcloud\u002F4.2\u002F01.overview\u002F02.tools-and-concepts","Tools and concepts","i-tabler-package",{"title":29,"path":729,"stem":730,"navTitle":731,"icon":732},"\u002Fdocs\u002Fcloud\u002F4.2\u002Foverview\u002Fhttp-rest-or-websocket","docs\u002Fcloud\u002F4.2\u002F01.overview\u002F03.http-rest-or-websocket","REST\u002FHTTP vs. WebSockets","i-tabler-question-circle",{"title":33,"path":734,"stem":735,"navTitle":33,"icon":736},"\u002Fdocs\u002Fcloud\u002F4.2\u002Foverview\u002Fchangelog","docs\u002Fcloud\u002F4.2\u002F01.overview\u002F04.changelog","i-tabler-bell-ringing",{"title":37,"path":738,"stem":739,"navTitle":37,"icon":740},"\u002Fdocs\u002Fcloud\u002F4.2\u002Foverview\u002Fmigration-guide","docs\u002Fcloud\u002F4.2\u002F01.overview\u002F05.migration-guide","i-tabler-gps",{"title":42,"navTitle":694,"icon":694,"path":742,"stem":743,"children":744,"page":40},"\u002Fdocs\u002Fcloud\u002F4.2\u002Fintegration","docs\u002Fcloud\u002F4.2\u002F02.integration",[745,750],{"title":47,"path":746,"stem":747,"navTitle":748,"icon":749},"\u002Fdocs\u002Fcloud\u002F4.2\u002Fintegration\u002Fplatforms","docs\u002Fcloud\u002F4.2\u002F02.integration\u002F01.platforms","Platforms","i-tabler-device-laptop",{"title":51,"path":751,"stem":752,"navTitle":51,"icon":753},"\u002Fdocs\u002Fcloud\u002F4.2\u002Fintegration\u002Fintegration-levels","docs\u002Fcloud\u002F4.2\u002F02.integration\u002F02.integration-levels","i-tabler-stack-2",{"title":55,"navTitle":694,"icon":694,"path":755,"stem":756,"children":757,"page":40},"\u002Fdocs\u002Fcloud\u002F4.2\u002Frecognition-capabilities","docs\u002Fcloud\u002F4.2\u002F03.recognition-capabilities",[758,762,766,770,774],{"title":60,"path":759,"stem":760,"navTitle":694,"icon":761},"\u002Fdocs\u002Fcloud\u002F4.2\u002Frecognition-capabilities\u002Frecognizers","docs\u002Fcloud\u002F4.2\u002F03.recognition-capabilities\u002F01.recognizers","i-tabler-text-scan-2",{"title":64,"path":763,"stem":764,"navTitle":64,"icon":765},"\u002Fdocs\u002Fcloud\u002F4.2\u002Frecognition-capabilities\u002Ftext-languages","docs\u002Fcloud\u002F4.2\u002F03.recognition-capabilities\u002F02.text-languages","i-tabler-language",{"title":68,"path":767,"stem":768,"navTitle":68,"icon":769},"\u002Fdocs\u002Fcloud\u002F4.2\u002Frecognition-capabilities\u002Fmath-elements-and-rules","docs\u002Fcloud\u002F4.2\u002F03.recognition-capabilities\u002F03.math-elements-and-rules","i-tabler-math",{"title":72,"path":771,"stem":772,"navTitle":72,"icon":773},"\u002Fdocs\u002Fcloud\u002F4.2\u002Frecognition-capabilities\u002Fdiagram-features","docs\u002Fcloud\u002F4.2\u002F03.recognition-capabilities\u002F04.diagram-features","i-tabler-circle-square",{"title":76,"path":775,"stem":776,"navTitle":694,"icon":777},"\u002Fdocs\u002Fcloud\u002F4.2\u002Frecognition-capabilities\u002Fgestures","docs\u002Fcloud\u002F4.2\u002F03.recognition-capabilities\u002F05.gestures","i-tabler-hand-finger",{"title":80,"navTitle":694,"icon":694,"path":779,"stem":780,"children":781,"page":40},"\u002Fdocs\u002Fcloud\u002F4.2\u002Finteractivity-integration","docs\u002Fcloud\u002F4.2\u002F04.interactivity-integration",[782,786,790,795],{"title":85,"path":783,"stem":784,"navTitle":85,"icon":785},"\u002Fdocs\u002Fcloud\u002F4.2\u002Finteractivity-integration\u002Fcontent-types","docs\u002Fcloud\u002F4.2\u002F04.interactivity-integration\u002F01.content-types","i-tabler-eye",{"title":89,"path":787,"stem":788,"navTitle":89,"icon":789},"\u002Fdocs\u002Fcloud\u002F4.2\u002Finteractivity-integration\u002Finteractive-features","docs\u002Fcloud\u002F4.2\u002F04.interactivity-integration\u002F02.interactive-features","i-tabler-bolt",{"title":93,"path":791,"stem":792,"navTitle":793,"icon":794},"\u002Fdocs\u002Fcloud\u002F4.2\u002Finteractivity-integration\u002Fimport-and-export-formats","docs\u002Fcloud\u002F4.2\u002F04.interactivity-integration\u002F03.import-and-export-formats","Import and export","i-tabler-arrows-left-right",{"title":97,"path":796,"stem":797,"navTitle":97,"icon":798},"\u002Fdocs\u002Fcloud\u002F4.2\u002Finteractivity-integration\u002Fmath-features","docs\u002Fcloud\u002F4.2\u002F04.interactivity-integration\u002F04.math-features","i-tabler-calculator",{"title":101,"navTitle":694,"icon":694,"path":800,"stem":801,"children":802,"page":40},"\u002Fdocs\u002Fcloud\u002F4.2\u002Fiinkts","docs\u002Fcloud\u002F4.2\u002F05.iinkts",[803,806,809,812,815,818,822,826],{"title":106,"path":804,"stem":805,"navTitle":694,"icon":694},"\u002Fdocs\u002Fcloud\u002F4.2\u002Fiinkts\u002Fget-started","docs\u002Fcloud\u002F4.2\u002F05.iinkts\u002F01.get-started",{"title":436,"path":807,"stem":808,"navTitle":694,"icon":694},"\u002Fdocs\u002Fcloud\u002F4.2\u002Fiinkts\u002Fediting","docs\u002Fcloud\u002F4.2\u002F05.iinkts\u002F02.editing",{"title":448,"path":810,"stem":811,"navTitle":694,"icon":694},"\u002Fdocs\u002Fcloud\u002F4.2\u002Fiinkts\u002Fconversion","docs\u002Fcloud\u002F4.2\u002F05.iinkts\u002F03.conversion",{"title":793,"path":813,"stem":814,"navTitle":694,"icon":694},"\u002Fdocs\u002Fcloud\u002F4.2\u002Fiinkts\u002Fimport-and-export","docs\u002Fcloud\u002F4.2\u002F05.iinkts\u002F04.import-and-export",{"title":456,"path":816,"stem":817,"navTitle":456,"icon":694},"\u002Fdocs\u002Fcloud\u002F4.2\u002Fiinkts\u002Fstyling","docs\u002Fcloud\u002F4.2\u002F05.iinkts\u002F05.styling",{"title":819,"path":820,"stem":821,"navTitle":694,"icon":694},"Full example","\u002Fdocs\u002Fcloud\u002F4.2\u002Fiinkts\u002Ffull-example","docs\u002Fcloud\u002F4.2\u002F05.iinkts\u002F06.full-example",{"title":823,"path":824,"stem":825,"navTitle":694,"icon":694},"OffScreen interactivity","\u002Fdocs\u002Fcloud\u002F4.2\u002Fiinkts\u002Foffscreen-interactivity","docs\u002Fcloud\u002F4.2\u002F05.iinkts\u002F07.offscreen-interactivity",{"title":144,"path":827,"stem":828,"navTitle":694,"icon":694},"\u002Fdocs\u002Fcloud\u002F4.2\u002Fiinkts\u002Fconfiguration-iinkts","docs\u002Fcloud\u002F4.2\u002F05.iinkts\u002F08.configuration-iinkts",{"title":148,"navTitle":694,"icon":694,"path":830,"stem":831,"children":832,"page":40},"\u002Fdocs\u002Fcloud\u002F4.2\u002Frest","docs\u002Fcloud\u002F4.2\u002F06.rest",[833,836,840,843,847],{"title":153,"path":834,"stem":835,"navTitle":698,"icon":694},"\u002Fdocs\u002Fcloud\u002F4.2\u002Frest\u002Farchitecture","docs\u002Fcloud\u002F4.2\u002F06.rest\u002F01.architecture",{"title":157,"path":837,"stem":838,"navTitle":839,"icon":694},"\u002Fdocs\u002Fcloud\u002F4.2\u002Frest\u002Fnew-api","docs\u002Fcloud\u002F4.2\u002F06.rest\u002F02.new-api","Recognizer API",{"title":161,"path":841,"stem":842,"navTitle":694,"icon":694},"\u002Fdocs\u002Fcloud\u002F4.2\u002Frest\u002Fconfiguration-recognizer-rest","docs\u002Fcloud\u002F4.2\u002F06.rest\u002F03.configuration-recognizer-rest",{"title":165,"path":844,"stem":845,"navTitle":846,"icon":694},"\u002Fdocs\u002Fcloud\u002F4.2\u002Frest\u002Flegacy-api","docs\u002Fcloud\u002F4.2\u002F06.rest\u002F04.legacy-api","Batch API",{"title":169,"path":848,"stem":849,"navTitle":694,"icon":694},"\u002Fdocs\u002Fcloud\u002F4.2\u002Frest\u002Fconfiguration-rest","docs\u002Fcloud\u002F4.2\u002F06.rest\u002F05.configuration-rest",{"title":173,"navTitle":694,"icon":694,"path":851,"stem":852,"children":853,"page":40},"\u002Fdocs\u002Fcloud\u002F4.2\u002Fwebsockets","docs\u002Fcloud\u002F4.2\u002F07.websockets",[854,855,858,861],{"title":178,"path":499,"stem":702,"navTitle":698,"icon":694},{"title":190,"path":609,"stem":856,"navTitle":857,"icon":694},"docs\u002Fcloud\u002F4.2\u002F07.websockets\u002F02.messages-onscreen","Onscreen Messages",{"title":182,"path":667,"stem":859,"navTitle":860,"icon":694},"docs\u002Fcloud\u002F4.2\u002F07.websockets\u002F03.messages-offscreen","Offscreen Messages",{"title":144,"path":862,"stem":863,"navTitle":694,"icon":694},"\u002Fdocs\u002Fcloud\u002F4.2\u002Fwebsockets\u002Fconfiguration-ws","docs\u002Fcloud\u002F4.2\u002F07.websockets\u002F04.configuration-ws",{"title":197,"navTitle":694,"icon":694,"path":865,"stem":866,"children":867,"page":40},"\u002Fdocs\u002Fcloud\u002F4.2\u002Fspecific","docs\u002Fcloud\u002F4.2\u002F08.specific",[868,872],{"title":202,"path":869,"stem":870,"navTitle":694,"icon":871},"\u002Fdocs\u002Fcloud\u002F4.2\u002Fspecific\u002Ftext-recognition-candidates","docs\u002Fcloud\u002F4.2\u002F08.specific\u002F01.text-recognition-candidates","i-tabler-tags",{"title":206,"path":873,"stem":874,"navTitle":694,"icon":875},"\u002Fdocs\u002Fcloud\u002F4.2\u002Fspecific\u002Fcustom-recognition","docs\u002Fcloud\u002F4.2\u002F08.specific\u002F02.custom-recognition","i-tabler-file-code",{"title":210,"navTitle":694,"icon":694,"path":877,"stem":878,"children":879,"page":40},"\u002Fdocs\u002Fcloud\u002F4.2\u002Fserver","docs\u002Fcloud\u002F4.2\u002F09.server",[880,884,888,892,896],{"title":215,"path":881,"stem":882,"navTitle":883,"icon":694},"\u002Fdocs\u002Fcloud\u002F4.2\u002Fserver\u002Fpreamble-prerequisites","docs\u002Fcloud\u002F4.2\u002F09.server\u002F01.preamble-prerequisites","Preamble and prerequisites",{"title":219,"path":885,"stem":886,"navTitle":887,"icon":694},"\u002Fdocs\u002Fcloud\u002F4.2\u002Fserver\u002Fmonoserver-installation","docs\u002Fcloud\u002F4.2\u002F09.server\u002F02.monoserver-installation","Monoserver installation",{"title":223,"path":889,"stem":890,"navTitle":891,"icon":694},"\u002Fdocs\u002Fcloud\u002F4.2\u002Fserver\u002Fproduction-installation","docs\u002Fcloud\u002F4.2\u002F09.server\u002F03.production-installation","Production installation",{"title":227,"path":893,"stem":894,"navTitle":895,"icon":694},"\u002Fdocs\u002Fcloud\u002F4.2\u002Fserver\u002Fserver-migration-guide","docs\u002Fcloud\u002F4.2\u002F09.server\u002F04.server-migration-guide","Server migration guide",{"title":231,"path":897,"stem":898,"navTitle":899,"icon":694},"\u002Fdocs\u002Fcloud\u002F4.2\u002Fserver\u002Fadministration-guide","docs\u002Fcloud\u002F4.2\u002F09.server\u002F05.administration-guide","Administration guide",{"title":139,"navTitle":694,"icon":694,"path":901,"stem":902,"children":903,"page":40},"\u002Fdocs\u002Fcloud\u002F4.2\u002Freference","docs\u002Fcloud\u002F4.2\u002F10.reference",[904],{"title":239,"path":905,"stem":906,"navTitle":907,"icon":908},"\u002Fdocs\u002Fcloud\u002F4.2\u002Freference\u002Fjiix","docs\u002Fcloud\u002F4.2\u002F10.reference\u002F01.jiix","JIIX","i-tabler-braces",{"id":910,"title":911,"body":912,"canonicalPath":694,"description":971,"extension":696,"icon":740,"meta":972,"navTitle":20,"navigation":699,"path":973,"resolveKey":694,"resolveVersion":694,"seo":974,"stem":975,"__hash__":976},"support\u002Fsupport\u002F01.index.md","Support",{"type":503,"value":913,"toc":969},[914,917],[506,915,916],{},"Find answers to common questions about integrating the iink SDK and MyScript Cloud APIs. Browse the topics below or reach out on the community forum.",[918,919,920,928,936,944,952,961],"card-group",{},[921,922,925],"card",{"icon":727,"title":923,"to":924},"Recognition assets","\u002Fsupport\u002Frecognition-assets\u002F",[506,926,927],{},"Download base assets and build custom resources to fine-tune the recognition.",[921,929,933],{"icon":930,"title":931,"to":932},"i-tabler-key","On-device license management","\u002Fsupport\u002Fon-device\u002Fon-device-license-management\u002F",[506,934,935],{},"Manage licenses for applications embedding the on-device iink SDK.",[921,937,941],{"icon":938,"title":939,"to":940},"i-tabler-user-circle","Registering with MyScript Cloud","\u002Fsupport\u002Fcloud\u002Fregistering-myscript-cloud\u002F",[506,942,943],{},"Create a Cloud account and obtain the keys to call our recognition APIs.",[921,945,949],{"icon":946,"title":947,"to":948},"i-tabler-rocket","Being production ready","\u002Fsupport\u002Fcloud\u002Fbeing-production-ready\u002F",[506,950,951],{},"Best practices and quotas to ship your iink Cloud integration to production.",[921,953,958],{"icon":954,"title":955,"to":956,"target":957},"i-tabler-message-circle","Forums","https:\u002F\u002Fdeveloper-support.myscript.com\u002Fsupport\u002Flogin","_blank",[506,959,960],{},"Ask questions and get answers from the MyScript developer community.",[921,962,966],{"icon":963,"title":964,"to":965,"target":957},"i-tabler-mail","Contact us","https:\u002F\u002Fwww.myscript.com\u002Fcontact\u002F",[506,967,968],{},"Can't find what you're looking for? Reach out to our team.",{"title":670,"searchDepth":671,"depth":671,"links":970},[],"MyScript Developer Support hub",{},"\u002Fsupport",{"title":911,"description":971},"support\u002F01.index","jENFmcn55y_8r3_6pH5xxlH1dZJBwoAuq9F7gXQtow8",1792566629793]