[{"data":1,"prerenderedAt":967},["ShallowReactive",2],{"navigation_docs_en":3,"-en-devtools-overlay":342,"-en-devtools-overlay-surround":962},[4,45,91,137,195,236,257,291,327],{"title":5,"icon":6,"path":7,"stem":8,"children":9,"page":44},"Getting Started","i-lucide-rocket","/en/getting-started","en/01.getting-started",[10,15,20,24,29,34,39],{"title":11,"path":12,"stem":13,"icon":14},"What is Qora?","/en/getting-started/what-is-qora","en/01.getting-started/2.what-is-qora","i-lucide-info",{"title":16,"path":17,"stem":18,"icon":19},"Installation","/en/getting-started/installation","en/01.getting-started/3.installation","i-lucide-download",{"title":21,"path":22,"stem":23,"icon":6},"Quick Start","/en/getting-started/quick-start","en/01.getting-started/4.quick-start",{"title":25,"path":26,"stem":27,"icon":28},"Comparison","/en/getting-started/comparison","en/01.getting-started/5.comparison","i-lucide-scale",{"title":30,"path":31,"stem":32,"icon":33},"Coming from TanStack Query","/en/getting-started/coming-from-tanstack-query","en/01.getting-started/6.coming-from-tanstack-query","i-lucide-arrow-left-right",{"title":35,"path":36,"stem":37,"icon":38},"Migrating from Other Libraries","/en/getting-started/migrating-from-other-libraries","en/01.getting-started/7.migrating-from-other-libraries","i-lucide-arrow-right-left",{"title":40,"path":41,"stem":42,"icon":43},"AI Assistants","/en/getting-started/ai-assistants","en/01.getting-started/8.ai-assistants","i-lucide-sparkles",false,{"title":46,"icon":47,"path":48,"stem":49,"children":50,"page":44},"Core Concepts","i-lucide-book-open","/en/core-concepts","en/02.core-concepts",[51,56,61,66,71,76,81,86],{"title":52,"path":53,"stem":54,"icon":55},"Queries","/en/core-concepts/queries","en/02.core-concepts/1.queries","i-lucide-database",{"title":57,"path":58,"stem":59,"icon":60},"Query Keys","/en/core-concepts/query-keys","en/02.core-concepts/2.query-keys","i-lucide-key-round",{"title":62,"path":63,"stem":64,"icon":65},"Query States","/en/core-concepts/query-states","en/02.core-concepts/3.query-states","i-lucide-activity",{"title":67,"path":68,"stem":69,"icon":70},"Caching","/en/core-concepts/caching","en/02.core-concepts/4.caching","i-lucide-layers-3",{"title":72,"path":73,"stem":74,"icon":75},"Stale-While-Revalidate","/en/core-concepts/stale-while-revalidate","en/02.core-concepts/5.stale-while-revalidate","i-lucide-timer-reset",{"title":77,"path":78,"stem":79,"icon":80},"Deduplication","/en/core-concepts/deduplication","en/02.core-concepts/6.deduplication","i-lucide-copy-minus",{"title":82,"path":83,"stem":84,"icon":85},"Mutations & Invalidation","/en/core-concepts/mutations","en/02.core-concepts/7.mutations","i-lucide-pencil-line",{"title":87,"path":88,"stem":89,"icon":90},"Offline & Network","/en/core-concepts/offline","en/02.core-concepts/8.offline","i-lucide-wifi-off",{"title":92,"icon":93,"path":94,"stem":95,"children":96,"page":44},"Flutter Integration","i-lucide-smartphone","/en/flutter-integration","en/03.flutter-integration",[97,102,107,112,117,122,127,132],{"title":98,"path":99,"stem":100,"icon":101},"Setup","/en/flutter-integration/setup","en/03.flutter-integration/1.setup","i-lucide-wrench",{"title":103,"path":104,"stem":105,"icon":106},"QoraScope","/en/flutter-integration/qora-scope","en/03.flutter-integration/2.qora-scope","i-lucide-share-2",{"title":108,"path":109,"stem":110,"icon":111},"QoraBuilder","/en/flutter-integration/qora-builder","en/03.flutter-integration/3.qora-builder","i-lucide-blocks",{"title":113,"path":114,"stem":115,"icon":116},"QoraMutationBuilder","/en/flutter-integration/qora-mutation-builder","en/03.flutter-integration/4.qora-mutation-builder","i-lucide-pencil",{"title":118,"path":119,"stem":120,"icon":121},"InfiniteQueryBuilder","/en/flutter-integration/infinite-query-builder","en/03.flutter-integration/5.infinite-query-builder","i-lucide-infinity",{"title":123,"path":124,"stem":125,"icon":126},"Hooks (flutter_hooks)","/en/flutter-integration/hooks","en/03.flutter-integration/6.hooks","i-lucide-anchor",{"title":128,"path":129,"stem":130,"icon":131},"Network Status Widgets","/en/flutter-integration/network-status","en/03.flutter-integration/7.network-status","i-lucide-wifi",{"title":133,"path":134,"stem":135,"icon":136},"Best Practices","/en/flutter-integration/best-practices","en/03.flutter-integration/8.best-practices","i-lucide-badge-check",{"title":138,"icon":139,"path":140,"stem":141,"children":142,"page":44},"Recipes","i-lucide-chef-hat","/en/recipes","en/04.recipes",[143,147,152,157,162,166,171,176,181,186,191],{"title":144,"path":145,"stem":146,"icon":85},"Mutations","/en/recipes/mutations","en/04.recipes/02.mutations",{"title":148,"path":149,"stem":150,"icon":151},"Optimistic Updates","/en/recipes/optimistic-updates","en/04.recipes/03.optimistic-updates","i-lucide-zap",{"title":153,"path":154,"stem":155,"icon":156},"Persistence","/en/recipes/persistence","en/04.recipes/04.persistence","i-lucide-hard-drive",{"title":158,"path":159,"stem":160,"icon":161},"Network Aware","/en/recipes/network-aware","en/04.recipes/05.network-aware","i-lucide-signal",{"title":163,"path":164,"stem":165,"icon":121},"Infinite Queries","/en/recipes/infinite-queries","en/04.recipes/06.infinite-queries",{"title":167,"path":168,"stem":169,"icon":170},"Dependent Queries","/en/recipes/dependent-queries","en/04.recipes/07.dependent-queries","i-lucide-link-2",{"title":172,"path":173,"stem":174,"icon":175},"Cancellation","/en/recipes/cancel-token","en/04.recipes/08.cancel-token","i-lucide-circle-slash",{"title":177,"path":178,"stem":179,"icon":180},"SSR Hydration","/en/recipes/ssr-hydration","en/04.recipes/09.ssr-hydration","i-lucide-server",{"title":182,"path":183,"stem":184,"icon":185},"Error Handling","/en/recipes/error-handling","en/04.recipes/10.error-handling","i-lucide-shield-alert",{"title":187,"path":188,"stem":189,"icon":190},"Testing","/en/recipes/testing","en/04.recipes/11.testing","i-lucide-flask-conical",{"title":192,"path":193,"stem":194},"Route-Level Prefetching","/en/recipes/prefetch","en/04.recipes/12.prefetch",{"title":196,"icon":197,"path":198,"stem":199,"children":200,"page":44},"API Reference","i-lucide-file-code","/en/api-reference","en/05.api-reference",[201,206,210,214,219,224,228,232],{"title":202,"path":203,"stem":204,"icon":205},"QoraClient","/en/api-reference/qora-client","en/05.api-reference/1.qora-client","i-lucide-cpu",{"title":207,"path":208,"stem":209,"icon":60},"QoraKey","/en/api-reference/qora-key","en/05.api-reference/2.qora-key",{"title":211,"path":212,"stem":213,"icon":65},"QoraState","/en/api-reference/qora-state","en/05.api-reference/3.qora-state",{"title":215,"path":216,"stem":217,"icon":218},"QoraOptions","/en/api-reference/qora-options","en/05.api-reference/4.qora-options","i-lucide-sliders-horizontal",{"title":220,"path":221,"stem":222,"icon":223},"QoraClientConfig","/en/api-reference/qora-client-config","en/05.api-reference/5.qora-client-config","i-lucide-settings-2",{"title":225,"path":226,"stem":227,"icon":85},"Mutation API","/en/api-reference/qora-mutation","en/05.api-reference/6.qora-mutation",{"title":229,"path":230,"stem":231,"icon":156},"PersistQoraClient","/en/api-reference/persist-qora-client","en/05.api-reference/7.persist-qora-client",{"title":233,"path":234,"stem":235,"icon":121},"Infinite Query","/en/api-reference/infinite-query","en/05.api-reference/8.infinite-query",{"title":237,"icon":238,"path":239,"stem":240,"children":241,"page":44},"DevTools","i-lucide-bug","/en/devtools","en/06.devtools",[242,247,252],{"title":243,"path":244,"stem":245,"icon":246},"Overview","/en/devtools/overview","en/06.devtools/1.overview","i-lucide-layout-dashboard",{"title":248,"path":249,"stem":250,"icon":251},"In-App Overlay","/en/devtools/overlay","en/06.devtools/2.overlay","i-lucide-layers",{"title":253,"path":254,"stem":255,"icon":256},"Data Serialization","/en/devtools/data-display","en/06.devtools/4.data-display","i-lucide-eye",{"title":258,"icon":259,"path":260,"stem":261,"children":262,"page":44},"Third Party","i-lucide-puzzle","/en/third-party","en/07.third-party",[263,268,272,277,282,286],{"title":264,"path":265,"stem":266,"icon":267},"With Provider","/en/third-party/with-provider","en/07.third-party/1.with-provider","i-lucide-plug",{"title":269,"path":270,"stem":271,"icon":111},"With BLoC","/en/third-party/with-bloc","en/07.third-party/2.with-bloc",{"title":273,"path":274,"stem":275,"icon":276},"With Riverpod","/en/third-party/with-riverpod","en/07.third-party/3.with-riverpod","i-lucide-droplets",{"title":278,"path":279,"stem":280,"icon":281},"With RxDart","/en/third-party/with-rxdart","en/07.third-party/4.with-rxdart","i-lucide-git-branch",{"title":283,"path":284,"stem":285},"With Dio","/en/third-party/with-dio","en/07.third-party/5.with-dio",{"title":287,"path":288,"stem":289,"icon":290},"With GraphQL","/en/third-party/with-graphql","en/07.third-party/6.with-graphql","i-lucide-binary",{"title":292,"icon":190,"path":293,"stem":294,"children":295,"page":44},"Examples","/en/examples","en/08.examples",[296,301,305,310,314,318,322],{"title":297,"path":298,"stem":299,"icon":300},"Case Study: User List & Detail","/en/examples/basic-query","en/08.examples/1.basic-query","i-lucide-play-circle",{"title":302,"path":303,"stem":304,"icon":151},"Case Study: Optimistic Mutations & Rollback","/en/examples/mutations-optimistic","en/08.examples/2.mutations-optimistic",{"title":306,"path":307,"stem":308,"icon":309},"Case Study: Infinite Scroll Feed","/en/examples/infinite-scroll","en/08.examples/3.infinite-scroll","i-lucide-scroll",{"title":311,"path":312,"stem":313,"icon":90},"Case Study: Offline-First Todo App","/en/examples/offline-first","en/08.examples/4.offline-first",{"title":315,"path":316,"stem":317,"icon":161},"Case Study: Network Awareness","/en/examples/network-awareness","en/08.examples/5.network-awareness",{"title":319,"path":320,"stem":321,"icon":126},"Case Study: Hooks Integration","/en/examples/hooks-integration","en/08.examples/6.hooks-integration",{"title":323,"path":324,"stem":325,"icon":326},"Case Study: Complete Todo App","/en/examples/complete-todo-app","en/08.examples/7.complete-todo-app","i-lucide-check-square",{"title":328,"icon":329,"path":330,"stem":331,"children":332,"page":44},"Help","i-lucide-life-buoy","/en/help","en/09.help",[333,338],{"title":334,"path":335,"stem":336,"icon":337},"FAQ","/en/help/faq","en/09.help/1.faq","i-lucide-circle-help",{"title":339,"path":340,"stem":341,"icon":101},"Troubleshooting","/en/help/troubleshooting","en/09.help/2.troubleshooting",{"id":343,"title":248,"body":344,"description":955,"extension":956,"links":957,"meta":958,"navigation":959,"path":249,"seo":960,"stem":250,"__hash__":961},"docs_en/en/06.devtools/2.overlay.md",{"type":345,"value":346,"toc":946},"minimark",[347,351,394,403,406,410,440,469,471,474,491,770,777,796,806,808,812,815,831,833,836,839,844,913,918,922,939,942],[348,349,350],"p",{},"The overlay is a panel rendered inside the running app. It provides real-time visibility into queries, mutations, and optimistic updates.",[352,353,356,386],"tabs",{"className":354},[355],"w-full",[357,358,360],"tabs-item",{"icon":93,"label":359},"Mobile view",[361,362,367,374,380],"div",{"className":363},[364,365,366],"grid","grid-cols-3","gap-2",[348,368,369],{},[370,371],"img",{"alt":372,"src":373},"Queries tab","/devtools/overlay-panel-1.png",[348,375,376],{},[370,377],{"alt":378,"src":379},"Mutations tab","/devtools/overlay-panel-2.png",[348,381,382],{},[370,383],{"alt":384,"src":385},"Timeline tab","/devtools/overlay-panel-3.png",[357,387,390],{"icon":388,"label":389},"i-lucide-monitor","Tablette/Desktop view",[370,391],{"alt":392,"src":393},"Qora DevTools Overlay","/devtools/overlay-panel-tablet.png",[395,396,397,398,402],"note",{},"The overlay is ",[399,400,401],"strong",{},"absent from release builds",". The package produces no production bundle impact.",[404,405],"hr",{},[407,408,16],"h2",{"id":409},"installation",[411,412,418],"pre",{"className":413,"code":414,"filename":415,"language":416,"meta":417,"style":417},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","flutter pub add qora_devtools_overlay\n","Terminal","bash","",[419,420,421],"code",{"__ignoreMap":417},[422,423,426,430,434,437],"span",{"class":424,"line":425},"line",1,[422,427,429],{"class":428},"sBMFI","flutter",[422,431,433],{"class":432},"sfazB"," pub",[422,435,436],{"class":432}," add",[422,438,439],{"class":432}," qora_devtools_overlay\n",[348,441,442,443,446,447,450,451,454,455,458,459,462,463,468],{},"Add it to ",[419,444,445],{},"dependencies",", not ",[419,448,449],{},"dev_dependencies",": your ",[419,452,453],{},"main.dart"," imports it, and importing a dev dependency from ",[419,456,457],{},"lib/"," is flagged by the ",[419,460,461],{},"depend_on_referenced_packages"," lint. It does not cost anything in release, as explained in ",[464,465,467],"a",{"href":466},"#production-safety","Production safety",".",[404,470],{},[407,472,98],{"id":473},"setup",[348,475,476,477,480,481,483,484,487,488,490],{},"Create an ",[419,478,479],{},"OverlayTracker"," and pass it to both ",[419,482,202],{}," and ",[419,485,486],{},"QoraInspector",". Pass the client reference to ",[419,489,486],{}," to enable the inspector action buttons.",[411,492,496],{"className":493,"code":494,"filename":453,"language":495,"meta":417,"style":417},"language-dart shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","import 'package:flutter/foundation.dart';\nimport 'package:flutter/material.dart';\nimport 'package:qora_devtools_overlay/qora_devtools_overlay.dart';\nimport 'package:qora_flutter/qora_flutter.dart';\n\nvoid main() {\n  final tracker = OverlayTracker();\n\n  final client = QoraClient(\n    // null in release mode: QoraClient uses NoOpTracker, no events emitted.\n    tracker: kDebugMode ? tracker : null,\n  );\n\n  runApp(\n    QoraInspector(\n      tracker: tracker,\n      // Required for action buttons (Refetch, Invalidate, Remove, etc.)\n      // to operate on the live cache. Omitting this disables the ACTIONS section.\n      client: kDebugMode ? client : null,\n      child: QoraScope.auto(client: client, child: const MyApp()),\n    ),\n  );\n}\n","dart",[419,497,498,511,521,531,541,548,563,583,588,604,611,633,641,646,654,662,676,682,688,706,749,757,764],{"__ignoreMap":417},[422,499,500,504,507],{"class":424,"line":425},[422,501,503],{"class":502},"sbssI","import",[422,505,506],{"class":432}," 'package:flutter/foundation.dart'",[422,508,510],{"class":509},"sMK4o",";\n",[422,512,514,516,519],{"class":424,"line":513},2,[422,515,503],{"class":502},[422,517,518],{"class":432}," 'package:flutter/material.dart'",[422,520,510],{"class":509},[422,522,524,526,529],{"class":424,"line":523},3,[422,525,503],{"class":502},[422,527,528],{"class":432}," 'package:qora_devtools_overlay/qora_devtools_overlay.dart'",[422,530,510],{"class":509},[422,532,534,536,539],{"class":424,"line":533},4,[422,535,503],{"class":502},[422,537,538],{"class":432}," 'package:qora_flutter/qora_flutter.dart'",[422,540,510],{"class":509},[422,542,544],{"class":424,"line":543},5,[422,545,547],{"emptyLinePlaceholder":546},true,"\n",[422,549,551,555,559],{"class":424,"line":550},6,[422,552,554],{"class":553},"spNyl","void",[422,556,558],{"class":557},"s2Zo4"," main",[422,560,562],{"class":561},"sTEyZ","() {\n",[422,564,566,569,572,575,578,581],{"class":424,"line":565},7,[422,567,568],{"class":553},"  final",[422,570,571],{"class":561}," tracker ",[422,573,574],{"class":509},"=",[422,576,577],{"class":428}," OverlayTracker",[422,579,580],{"class":561},"()",[422,582,510],{"class":509},[422,584,586],{"class":424,"line":585},8,[422,587,547],{"emptyLinePlaceholder":546},[422,589,591,593,596,598,601],{"class":424,"line":590},9,[422,592,568],{"class":553},[422,594,595],{"class":561}," client ",[422,597,574],{"class":509},[422,599,600],{"class":428}," QoraClient",[422,602,603],{"class":561},"(\n",[422,605,607],{"class":424,"line":606},10,[422,608,610],{"class":609},"sHwdD","    // null in release mode: QoraClient uses NoOpTracker, no events emitted.\n",[422,612,614,617,620,623,626,628,630],{"class":424,"line":613},11,[422,615,616],{"class":561},"    tracker",[422,618,619],{"class":509},":",[422,621,622],{"class":561}," kDebugMode ",[422,624,625],{"class":509},"?",[422,627,571],{"class":561},[422,629,619],{"class":509},[422,631,632],{"class":509}," null,\n",[422,634,636,639],{"class":424,"line":635},12,[422,637,638],{"class":561},"  )",[422,640,510],{"class":509},[422,642,644],{"class":424,"line":643},13,[422,645,547],{"emptyLinePlaceholder":546},[422,647,649,652],{"class":424,"line":648},14,[422,650,651],{"class":557},"  runApp",[422,653,603],{"class":561},[422,655,657,660],{"class":424,"line":656},15,[422,658,659],{"class":428},"    QoraInspector",[422,661,603],{"class":561},[422,663,665,668,670,673],{"class":424,"line":664},16,[422,666,667],{"class":561},"      tracker",[422,669,619],{"class":509},[422,671,672],{"class":561}," tracker",[422,674,675],{"class":509},",\n",[422,677,679],{"class":424,"line":678},17,[422,680,681],{"class":609},"      // Required for action buttons (Refetch, Invalidate, Remove, etc.)\n",[422,683,685],{"class":424,"line":684},18,[422,686,687],{"class":609},"      // to operate on the live cache. Omitting this disables the ACTIONS section.\n",[422,689,691,694,696,698,700,702,704],{"class":424,"line":690},19,[422,692,693],{"class":561},"      client",[422,695,619],{"class":509},[422,697,622],{"class":561},[422,699,625],{"class":509},[422,701,595],{"class":561},[422,703,619],{"class":509},[422,705,632],{"class":509},[422,707,709,712,714,717,719,722,725,727,730,733,736,738,741,744,747],{"class":424,"line":708},20,[422,710,711],{"class":561},"      child",[422,713,619],{"class":509},[422,715,716],{"class":428}," QoraScope",[422,718,468],{"class":509},[422,720,721],{"class":557},"auto",[422,723,724],{"class":561},"(client",[422,726,619],{"class":509},[422,728,729],{"class":561}," client",[422,731,732],{"class":509},",",[422,734,735],{"class":561}," child",[422,737,619],{"class":509},[422,739,740],{"class":553}," const",[422,742,743],{"class":428}," MyApp",[422,745,746],{"class":561},"())",[422,748,675],{"class":509},[422,750,752,755],{"class":424,"line":751},21,[422,753,754],{"class":561},"    )",[422,756,675],{"class":509},[422,758,760,762],{"class":424,"line":759},22,[422,761,638],{"class":561},[422,763,510],{"class":509},[422,765,767],{"class":424,"line":766},23,[422,768,769],{"class":561},"}\n",[348,771,772,773,776],{},"In debug mode, a ",[399,774,775],{},"Q"," button is rendered in the bottom-right corner of the screen. Tapping it opens the panel.",[778,779,781,782,785,786,788,789,791,792,795],"callout",{"type":780},"warning","The ",[419,783,784],{},"client"," parameter is optional. ",[419,787,486],{}," operates as a read-only observer when ",[419,790,784],{}," is not provided. The ",[399,793,794],{},"ACTIONS"," section is not rendered in that case.",[778,797,799,801,802,805],{"type":798},"info",[419,800,486],{}," renders nothing in release builds. The guard is applied at widget level: the overlay subtree is not constructed when ",[419,803,804],{},"kDebugMode"," is false.",[404,807],{},[407,809,811],{"id":810},"responsive-behavior","Responsive behavior",[348,813,814],{},"The overlay layout adapts to the available screen width.",[816,817,818,825],"ul",{},[819,820,821,824],"li",{},[399,822,823],{},"600 px and above"," (tablet, desktop): three-column layout with all panels visible simultaneously.",[819,826,827,830],{},[399,828,829],{},"Below 600 px"," (phone): single-column navigation with forward navigation into inspector and timeline views.",[404,832],{},[407,834,467],{"id":835},"production-safety",[348,837,838],{},"Two independent mechanisms keep the overlay out of production:",[840,841,843],"h3",{"id":842},"_1-compile-time-guard","1. Compile-time guard",[411,845,847],{"className":493,"code":846,"language":495,"meta":417,"style":417},"@override\nWidget build(BuildContext context) {\n  if (!kDebugMode) return child; // nothing is built in release\n  return _buildOverlay();\n}\n",[419,848,849,854,871,897,909],{"__ignoreMap":417},[422,850,851],{"class":424,"line":425},[422,852,853],{"class":553},"@override\n",[422,855,856,859,862,865,868],{"class":424,"line":513},[422,857,858],{"class":428},"Widget",[422,860,861],{"class":557}," build",[422,863,864],{"class":561},"(",[422,866,867],{"class":428},"BuildContext",[422,869,870],{"class":561}," context) {\n",[422,872,873,877,880,883,886,889,891,894],{"class":424,"line":523},[422,874,876],{"class":875},"s7zQu","  if",[422,878,879],{"class":561}," (",[422,881,882],{"class":509},"!",[422,884,885],{"class":561},"kDebugMode) ",[422,887,888],{"class":875},"return",[422,890,735],{"class":561},[422,892,893],{"class":509},";",[422,895,896],{"class":609}," // nothing is built in release\n",[422,898,899,902,905,907],{"class":424,"line":533},[422,900,901],{"class":875},"  return",[422,903,904],{"class":557}," _buildOverlay",[422,906,580],{"class":561},[422,908,510],{"class":509},[422,910,911],{"class":424,"line":543},[422,912,769],{"class":561},[348,914,915,917],{},[419,916,804],{}," is a compile-time constant. In a release build the overlay branch is unreachable, and tree shaking removes the panel's code.",[840,919,921],{"id":920},"_2-nooptracker-in-release","2. NoOpTracker in release",[348,923,924,926,927,930,931,934,935,938],{},[419,925,202],{}," is constructed with ",[419,928,929],{},"tracker: kDebugMode ? tracker : null",". In release mode, ",[419,932,933],{},"null"," activates ",[419,936,937],{},"NoOpTracker",". Its methods are no-ops and no tracking events are emitted.",[348,940,941],{},"Result: no runtime impact from the overlay tracker path in production.",[943,944,945],"style",{},"html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .sHwdD, html code.shiki .sHwdD{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic}html pre.shiki code .s7zQu, html code.shiki .s7zQu{--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#89DDFF;--shiki-default-font-style:italic;--shiki-dark:#89DDFF;--shiki-dark-font-style:italic}",{"title":417,"searchDepth":513,"depth":513,"links":947},[948,949,950,951],{"id":409,"depth":513,"text":16},{"id":473,"depth":513,"text":98},{"id":810,"depth":513,"text":811},{"id":835,"depth":513,"text":467,"children":952},[953,954],{"id":842,"depth":523,"text":843},{"id":920,"depth":523,"text":921},"A floating debug panel rendered inside the Flutter app. Inspect queries, mutations, and optimistic updates without an external tool.","md",null,{},{"icon":251},{"title":248,"description":955},"OLCHUg6ZlWhKr45bZn4zC475KBWbpW1nwM3AiPqWzEk",[963,965],{"title":243,"path":244,"stem":245,"description":964,"icon":246,"children":-1},"See every query, mutation and cache entry of the running app, and act on them, from a panel inside the app.",{"title":253,"path":254,"stem":255,"description":966,"icon":256,"children":-1},"How cached query data is turned into the JSON tree shown in the overlay, and how to make custom model types readable.",1794040401237]