[{"data":1,"prerenderedAt":411},["ShallowReactive",2],{"msfe-doc:\u002Fen\u002Fguide\u002Fdebugging":3},{"id":4,"title":5,"body":6,"description":395,"extension":396,"keywords":397,"locale":402,"meta":403,"navigation":404,"order":405,"path":406,"section":407,"seo":408,"stem":409,"__hash__":410},"docs\u002Fguide\u002Fdebugging.en.md","Diagnostics and verification",{"type":7,"value":8,"toc":388},"minimark",[9,14,18,21,25,125,129,249,252,259,263,368,372,375,384],[10,11,13],"h2",{"id":12},"start-with-a-reproducible-source-file","Start with a reproducible source file",[15,16,17],"p",{},"Include raw Markdown, installed extensions\u002Foptions, mode, permission, versions and reproduction steps. Rendered HTML alone loses spelling, fence closure and selection details that may determine behavior.",[15,19,20],{},"Preserve unsaved source before reducing the extension set. Source mode helps confirm text integrity. Do not mask a problem by recreating the instance and discarding history.",[10,22,24],{"id":23},"diagnosis-table","Diagnosis table",[26,27,28,41],"table",{},[29,30,31],"thead",{},[32,33,34,38],"tr",{},[35,36,37],"th",{},"Symptom",[35,39,40],{},"First checks",[42,43,44,53,61,69,77,85,93,101,109,117],"tbody",{},[32,45,46,50],{},[47,48,49],"td",{},"Syntax remains source",[47,51,52],{},"Installation, closing delimiter, registered name, pending parse",[32,54,55,58],{},[47,56,57],{},"A node displays but cannot edit",[47,59,60],{},"Validation, implemented patch, permission, stale range",[32,62,63,66],{},[47,64,65],{},"Component never appears",[47,67,68],{},"Correct renderer and Host under the Provider tree",[32,70,71,74],{},[47,72,73],{},"Custom code block shows only a toolbar",[47,75,76],{},"Header NodeView versus whole-block projection",[32,78,79,82],{},[47,80,81],{},"Duplicate components or installation errors",[47,83,84],{},"Original StarterKit owner plus same-name derivative",[32,86,87,90],{},[47,88,89],{},"Language has no highlighting",[47,91,92],{},"Exact registry name\u002Falias and loader outcome",[32,94,95,98],{},[47,96,97],{},"Empty chart",[47,99,100],{},"Container dimensions, validated data, engine status",[32,102,103,106],{},[47,104,105],{},"Cursor jumps during composition",[47,107,108],{},"DOM mutation, focus stealing or instance recreation",[32,110,111,114],{},[47,112,113],{},"Dialog writes to the wrong location",[47,115,116],{},"Missing target or cached numeric offsets",[32,118,119,122],{},[47,120,121],{},"Readonly still offers replacement",[47,123,124],{},"Effective permission and final command result",[10,126,128],{"id":127},"observe-errors-and-semantics","Observe errors and semantics",[130,131,136],"pre",{"className":132,"code":133,"language":134,"meta":135,"style":135},"language-ts shiki shiki-themes github-light github-light github-dark","const options = {\n  onError(error: unknown) { console.error('MSFE integration error', error) },\n}\nconst query = editor.querySource('customContainer')\nconst outcome = editor.lastCommandResult\nconst work = editor.work\n","ts","",[137,138,139,159,193,199,223,236],"code",{"__ignoreMap":135},[140,141,144,148,152,155],"span",{"class":142,"line":143},"line",1,[140,145,147],{"class":146},"sDD9d","const",[140,149,151],{"class":150},"sUNQB"," options",[140,153,154],{"class":146}," =",[140,156,158],{"class":157},"sVPnS"," {\n",[140,160,162,166,169,173,176,179,182,184,186,190],{"class":142,"line":161},2,[140,163,165],{"class":164},"sgQzM","  onError",[140,167,168],{"class":157},"(",[140,170,172],{"class":171},"sde8i","error",[140,174,175],{"class":146},":",[140,177,178],{"class":150}," unknown",[140,180,181],{"class":157},") { console.",[140,183,172],{"class":164},[140,185,168],{"class":157},[140,187,189],{"class":188},"s-HEn","'MSFE integration error'",[140,191,192],{"class":157},", error) },\n",[140,194,196],{"class":142,"line":195},3,[140,197,198],{"class":157},"}\n",[140,200,202,204,207,209,212,215,217,220],{"class":142,"line":201},4,[140,203,147],{"class":146},[140,205,206],{"class":150}," query",[140,208,154],{"class":146},[140,210,211],{"class":157}," editor.",[140,213,214],{"class":164},"querySource",[140,216,168],{"class":157},[140,218,219],{"class":188},"'customContainer'",[140,221,222],{"class":157},")\n",[140,224,226,228,231,233],{"class":142,"line":225},5,[140,227,147],{"class":146},[140,229,230],{"class":150}," outcome",[140,232,154],{"class":146},[140,234,235],{"class":157}," editor.lastCommandResult\n",[140,237,239,241,244,246],{"class":142,"line":238},6,[140,240,147],{"class":146},[140,242,243],{"class":150}," work",[140,245,154],{"class":146},[140,247,248],{"class":157}," editor.work\n",[15,250,251],{},"Connect errors to host development diagnostics and UI boundaries. Do not send document content, credentials or editor objects to external logs. Command rejection is often a handled result, not an exception.",[15,253,254,255,258],{},"Distinguish pending from unsupported queries. Compare work-count deltas for one action; cumulative counters are not timings. Inspect ",[137,256,257],{},"projectionConflicts"," when replacements compete.",[10,260,262],{"id":261},"minimum-verification-matrix","Minimum verification matrix",[26,264,265,278],{},[29,266,267],{},[32,268,269,272,275],{},[35,270,271],{},"Area",[35,273,274],{},"Exercise",[35,276,277],{},"Invariant",[42,279,280,291,302,313,324,335,346,357],{},[32,281,282,285,288],{},[47,283,284],{},"Source",[47,286,287],{},"Load, switch modes, render",[47,289,290],{},"Exact text unchanged without writes",[32,292,293,296,299],{},[47,294,295],{},"Patches",[47,297,298],{},"Edit, undo, redo",[47,300,301],{},"Only intended ranges change; spelling restores",[32,303,304,307,310],{},[47,305,306],{},"Input",[47,308,309],{},"Composition, partial tokens, paste",[47,311,312],{},"Native input retained; incomplete syntax stays source",[32,314,315,318,321],{},[47,316,317],{},"Selection",[47,319,320],{},"Pointer, keyboard, drag, search",[47,322,323],{},"Correct source targeting throughout interaction",[32,325,326,329,332],{},[47,327,328],{},"Permissions",[47,330,331],{},"Readonly source\u002Flive and locked",[47,333,334],{},"Components cannot bypass write protection",[32,336,337,340,343],{},[47,338,339],{},"Lifetime",[47,341,342],{},"Rapid changes, unmount, replacement",[47,344,345],{},"No stale results or leaked resources",[32,347,348,351,354],{},[47,349,350],{},"Visual",[47,352,353],{},"Both themes, narrow layout, enlarged text",[47,355,356],{},"Tokens and accessible controls",[32,358,359,362,365],{},[47,360,361],{},"Performance",[47,363,364],{},"Cursor motion, local edits, long files",[47,366,367],{},"No unrelated full scans or remounts",[10,369,371],{"id":370},"use-the-examples-as-a-starting-point","Use the examples as a starting point",[15,373,374],{},"Interactive examples and displayed source share the same files. Publication validates local dependencies and checks Vue\u002FTypeScript examples. Recipes requiring a server explicitly identify that dependency instead of simulating a successful backend.",[15,376,377,378,383],{},"Run the documented acceptance actions before adding fields and requests. Consult ",[379,380,382],"a",{"href":381},"\u002Fen\u002Fsupport","Support"," rather than disabling source, selection or permission protection to make a screenshot look correct.",[385,386,387],"style",{},"html pre.shiki code .sDD9d, html code.shiki .sDD9d{--shiki-default:#D73A49;--shiki-light:#D73A49;--shiki-dark:#F97583}html pre.shiki code .sUNQB, html code.shiki .sUNQB{--shiki-default:#005CC5;--shiki-light:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .sVPnS, html code.shiki .sVPnS{--shiki-default:#24292E;--shiki-light:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .sgQzM, html code.shiki .sgQzM{--shiki-default:#6F42C1;--shiki-light:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sde8i, html code.shiki .sde8i{--shiki-default:#E36209;--shiki-light:#E36209;--shiki-dark:#FFAB70}html pre.shiki code .s-HEn, html code.shiki .s-HEn{--shiki-default:#032F62;--shiki-light:#032F62;--shiki-dark:#9ECBFF}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":135,"searchDepth":161,"depth":161,"links":389},[390,391,392,393,394],{"id":12,"depth":161,"text":13},{"id":23,"depth":161,"text":24},{"id":127,"depth":161,"text":128},{"id":261,"depth":161,"text":262},{"id":370,"depth":161,"text":371},"Diagnose source fallback, rejected commands, resource leaks and interaction regressions.","md",[398,399,257,400,401],"debug","onError","testing","performance","en",{},true,8,"\u002Fen\u002Fguide\u002Fdebugging","Integration",{"title":5,"description":395},"guide\u002Fdebugging.en","xr3miy2vK9vEQKGJGU3uF_xddozda0XzPBoWCMYmHFU",1793046311993]