[{"data":1,"prerenderedAt":1085},["ShallowReactive",2],{"page-\u002Frender\u002Fguides\u002Finteraction":3,"navigation":702},{"collection":4,"page":5},"docs_en",{"id":6,"title":7,"body":8,"description":694,"extension":695,"meta":696,"navigation":278,"path":697,"rawbody":698,"seo":699,"stem":700,"__hash__":701},"docs_en\u002Frender\u002F2.guides\u002F6.interaction.md","Zoom, pan and highlights",{"type":9,"value":10,"toc":687},"minimark",[11,16,33,111,114,118,135,384,405,409,415,582,639,643,665,669,683],[12,13,15],"h2",{"id":14},"zoom-and-pan","Zoom and pan",[17,18,19,20,24,25,28,29,32],"p",{},"With ",[21,22,23],"code",{},"zoom"," and ",[21,26,27],{},"pan"," on (as in ",[21,30,31],{},"INTERACTIVE_RENDER_CONFIG","), the mouse wheel zooms and dragging pans each panel. Turn them off where they would get in the way, for example on a page that scrolls:",[34,35,40],"pre",{"className":36,"code":37,"language":38,"meta":39,"style":39},"language-ts shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","renderConfig: { ...applyRenderLocale(INTERACTIVE_RENDER_CONFIG, 'en'), zoom: false, pan: false }\n","ts","",[21,41,42],{"__ignoreMap":39},[43,44,47,51,55,58,61,65,69,72,75,78,82,85,88,90,93,95,99,101,104,106,108],"span",{"class":45,"line":46},"line",1,[43,48,50],{"class":49},"sBMFI","renderConfig",[43,52,54],{"class":53},"sMK4o",":",[43,56,57],{"class":53}," {",[43,59,60],{"class":53}," ...",[43,62,64],{"class":63},"s2Zo4","applyRenderLocale",[43,66,68],{"class":67},"swJcz","(",[43,70,31],{"class":71},"sTEyZ",[43,73,74],{"class":53},",",[43,76,77],{"class":53}," '",[43,79,81],{"class":80},"sfazB","en",[43,83,84],{"class":53},"'",[43,86,87],{"class":67},")",[43,89,74],{"class":53},[43,91,92],{"class":49}," zoom",[43,94,54],{"class":53},[43,96,98],{"class":97},"sfNiH"," false",[43,100,74],{"class":53},[43,102,103],{"class":49}," pan",[43,105,54],{"class":53},[43,107,98],{"class":97},[43,109,110],{"class":53}," }\n",[17,112,113],{},"The live previews on this site do exactly that, so the wheel scrolls the page.",[12,115,117],{"id":116},"your-own-zoom-buttons","Your own zoom buttons",[17,119,120,123,124,24,127,130,131,134],{},[21,121,122],{},"zoomBy",", ",[21,125,126],{},"resetZoom",[21,128,129],{},"getZoomScale"," drive the same zoom behavior as the mouse, so a toolbar and the wheel stay in sync. ",[21,132,133],{},"onZoom"," reports the scale after every change, from either source:",[34,136,138],{"className":36,"code":137,"language":38,"meta":39,"style":39},"const renderer = new WellRenderer(svgs, {\n  renderConfig: { ...INTERACTIVE_RENDER_CONFIG, zoom: true, pan: true },\n  onZoom: scale => (scaleLabel.textContent = `${Math.round(scale * 100)} %`),\n});\n\nzoomInButton.onclick = () => renderer.zoomBy(1.25);\nzoomOutButton.onclick = () => renderer.zoomBy(1 \u002F 1.25);\nfitButton.onclick = () => renderer.resetZoom(); \u002F\u002F back to renderConfig.zoomLevel (1 = fit)\n",[21,139,140,166,200,263,273,280,315,352],{"__ignoreMap":39},[43,141,142,146,149,152,155,158,161,163],{"class":45,"line":46},[43,143,145],{"class":144},"spNyl","const",[43,147,148],{"class":71}," renderer ",[43,150,151],{"class":53},"=",[43,153,154],{"class":53}," new",[43,156,157],{"class":63}," WellRenderer",[43,159,160],{"class":71},"(svgs",[43,162,74],{"class":53},[43,164,165],{"class":53}," {\n",[43,167,169,172,174,176,178,180,182,184,186,189,191,193,195,197],{"class":45,"line":168},2,[43,170,171],{"class":67},"  renderConfig",[43,173,54],{"class":53},[43,175,57],{"class":53},[43,177,60],{"class":53},[43,179,31],{"class":71},[43,181,74],{"class":53},[43,183,92],{"class":67},[43,185,54],{"class":53},[43,187,188],{"class":97}," true",[43,190,74],{"class":53},[43,192,103],{"class":67},[43,194,54],{"class":53},[43,196,188],{"class":97},[43,198,199],{"class":53}," },\n",[43,201,203,206,208,212,215,218,221,224,226,229,232,234,237,240,243,247,249,252,255,258,260],{"class":45,"line":202},3,[43,204,205],{"class":63},"  onZoom",[43,207,54],{"class":53},[43,209,211],{"class":210},"sHdIc"," scale",[43,213,214],{"class":144}," =>",[43,216,217],{"class":71}," (scaleLabel",[43,219,220],{"class":53},".",[43,222,223],{"class":71},"textContent ",[43,225,151],{"class":53},[43,227,228],{"class":53}," `${",[43,230,231],{"class":71},"Math",[43,233,220],{"class":53},[43,235,236],{"class":63},"round",[43,238,239],{"class":71},"(scale ",[43,241,242],{"class":53},"*",[43,244,246],{"class":245},"sbssI"," 100",[43,248,87],{"class":71},[43,250,251],{"class":53},"}",[43,253,254],{"class":80}," %",[43,256,257],{"class":53},"`",[43,259,87],{"class":71},[43,261,262],{"class":53},",\n",[43,264,266,268,270],{"class":45,"line":265},4,[43,267,251],{"class":53},[43,269,87],{"class":71},[43,271,272],{"class":53},";\n",[43,274,276],{"class":45,"line":275},5,[43,277,279],{"emptyLinePlaceholder":278},true,"\n",[43,281,283,286,288,291,294,297,299,302,304,306,308,311,313],{"class":45,"line":282},6,[43,284,285],{"class":71},"zoomInButton",[43,287,220],{"class":53},[43,289,290],{"class":63},"onclick",[43,292,293],{"class":53}," =",[43,295,296],{"class":53}," ()",[43,298,214],{"class":144},[43,300,301],{"class":71}," renderer",[43,303,220],{"class":53},[43,305,122],{"class":63},[43,307,68],{"class":71},[43,309,310],{"class":245},"1.25",[43,312,87],{"class":71},[43,314,272],{"class":53},[43,316,318,321,323,325,327,329,331,333,335,337,339,342,345,348,350],{"class":45,"line":317},7,[43,319,320],{"class":71},"zoomOutButton",[43,322,220],{"class":53},[43,324,290],{"class":63},[43,326,293],{"class":53},[43,328,296],{"class":53},[43,330,214],{"class":144},[43,332,301],{"class":71},[43,334,220],{"class":53},[43,336,122],{"class":63},[43,338,68],{"class":71},[43,340,341],{"class":245},"1",[43,343,344],{"class":53}," \u002F",[43,346,347],{"class":245}," 1.25",[43,349,87],{"class":71},[43,351,272],{"class":53},[43,353,355,358,360,362,364,366,368,370,372,374,377,380],{"class":45,"line":354},8,[43,356,357],{"class":71},"fitButton",[43,359,220],{"class":53},[43,361,290],{"class":63},[43,363,293],{"class":53},[43,365,296],{"class":53},[43,367,214],{"class":144},[43,369,301],{"class":71},[43,371,220],{"class":53},[43,373,126],{"class":63},[43,375,376],{"class":71},"()",[43,378,379],{"class":53},";",[43,381,383],{"class":382},"sHwdD"," \u002F\u002F back to renderConfig.zoomLevel (1 = fit)\n",[17,385,386,387,389,390,24,393,396,397,24,399,401,402,404],{},"A scale of ",[21,388,341],{}," is the initial fit. ",[21,391,392],{},"renderConfig.minZoomScale",[21,394,395],{},"maxZoomScale"," (default 0 and 150) bound the wheel, drag, ",[21,398,122],{},[21,400,126],{}," alike. ",[21,403,122],{}," does nothing when both zoom and pan are off.",[12,406,408],{"id":407},"highlights","Highlights",[17,410,411,412,54],{},"Highlights draw an outline and an optional label over parts of the profile, for example the row a user hovers in a table, or the interval a validation message points at. Pass them to ",[21,413,414],{},"draw",[34,416,418],{"className":36,"code":417,"language":38,"meta":39,"style":39},"renderer.draw(well, {\n  highlights: {\n    well_screen: [{ from: 36, to: 54, label: 'Screen 1' }],\n    lithology: [{ from: 8, to: 30 }],\n    fractures: [{ depth: 67, label: 'Water entry' }],\n  },\n});\n",[21,419,420,436,445,498,531,569,574],{"__ignoreMap":39},[43,421,422,425,427,429,432,434],{"class":45,"line":46},[43,423,424],{"class":71},"renderer",[43,426,220],{"class":53},[43,428,414],{"class":63},[43,430,431],{"class":71},"(well",[43,433,74],{"class":53},[43,435,165],{"class":53},[43,437,438,441,443],{"class":45,"line":168},[43,439,440],{"class":67},"  highlights",[43,442,54],{"class":53},[43,444,165],{"class":53},[43,446,447,450,452,455,458,461,463,466,468,471,473,476,478,481,483,485,488,490,493,496],{"class":45,"line":202},[43,448,449],{"class":67},"    well_screen",[43,451,54],{"class":53},[43,453,454],{"class":71}," [",[43,456,457],{"class":53},"{",[43,459,460],{"class":67}," from",[43,462,54],{"class":53},[43,464,465],{"class":245}," 36",[43,467,74],{"class":53},[43,469,470],{"class":67}," to",[43,472,54],{"class":53},[43,474,475],{"class":245}," 54",[43,477,74],{"class":53},[43,479,480],{"class":67}," label",[43,482,54],{"class":53},[43,484,77],{"class":53},[43,486,487],{"class":80},"Screen 1",[43,489,84],{"class":53},[43,491,492],{"class":53}," }",[43,494,495],{"class":71},"]",[43,497,262],{"class":53},[43,499,500,503,505,507,509,511,513,516,518,520,522,525,527,529],{"class":45,"line":265},[43,501,502],{"class":67},"    lithology",[43,504,54],{"class":53},[43,506,454],{"class":71},[43,508,457],{"class":53},[43,510,460],{"class":67},[43,512,54],{"class":53},[43,514,515],{"class":245}," 8",[43,517,74],{"class":53},[43,519,470],{"class":67},[43,521,54],{"class":53},[43,523,524],{"class":245}," 30",[43,526,492],{"class":53},[43,528,495],{"class":71},[43,530,262],{"class":53},[43,532,533,536,538,540,542,545,547,550,552,554,556,558,561,563,565,567],{"class":45,"line":275},[43,534,535],{"class":67},"    fractures",[43,537,54],{"class":53},[43,539,454],{"class":71},[43,541,457],{"class":53},[43,543,544],{"class":67}," depth",[43,546,54],{"class":53},[43,548,549],{"class":245}," 67",[43,551,74],{"class":53},[43,553,480],{"class":67},[43,555,54],{"class":53},[43,557,77],{"class":53},[43,559,560],{"class":80},"Water entry",[43,562,84],{"class":53},[43,564,492],{"class":53},[43,566,495],{"class":71},[43,568,262],{"class":53},[43,570,571],{"class":45,"line":282},[43,572,573],{"class":53},"  },\n",[43,575,576,578,580],{"class":45,"line":317},[43,577,251],{"class":53},[43,579,87],{"class":71},[43,581,272],{"class":53},[17,583,584,585,123,588,123,591,123,594,123,597,123,600,123,603,123,606,123,609,612,613,616,617,123,620,623,624,627,628,631,632,635,636,638],{},"Each key targets one component (",[21,586,587],{},"lithology",[21,589,590],{},"caves",[21,592,593],{},"fractures",[21,595,596],{},"bore_hole",[21,598,599],{},"surface_case",[21,601,602],{},"hole_fill",[21,604,605],{},"well_case",[21,607,608],{},"well_screen",[21,610,611],{},"reduction",", and ",[21,614,615],{},"cement_pad"," with a single item). An item gives the interval (",[21,618,619],{},"from",[21,621,622],{},"to",") or point (",[21,625,626],{},"depth",") to mark, an optional ",[21,629,630],{},"diameter",", and an optional ",[21,633,634],{},"label",". Draw again without ",[21,637,407],{}," to clear them.",[12,640,642],{"id":641},"tooltips","Tooltips",[17,644,645,646,649,650,655,656,659,660,664],{},"Hovering a layer shows a tooltip with its data. Limit or turn them off with ",[21,647,648],{},"renderConfig.tooltips"," (",[651,652,654],"a",{"href":653},"\u002Frender\u002Fguides\u002Flayers-and-labels#tooltips","Layers and labels","), and restyle them with the ",[21,657,658],{},"tooltip"," class names (",[651,661,663],{"href":662},"\u002Frender\u002Fguides\u002Ftheming#class-names","Theming",").",[12,666,668],{"id":667},"stable-updates-while-editing","Stable updates while editing",[17,670,671,672,674,675,678,679,682],{},"When the user edits the well, ",[21,673,414],{}," animates from the old drawing to the new one. D3 matches old and new items by key; give each array item a stable ",[21,676,677],{},"key"," (the ",[21,680,681],{},"RenderableWell"," type allows it) so an inserted layer does not make every layer below it animate. Keys are runtime only: remove them before serializing the file, since the format does not define them.",[684,685,686],"style",{},"html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html pre.shiki code .swJcz, html code.shiki .swJcz{--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .sfNiH, html code.shiki .sfNiH{--shiki-light:#FF5370;--shiki-default:#FF9CAC;--shiki-dark:#FF9CAC}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 .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .sHdIc, html code.shiki .sHdIc{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#EEFFFF;--shiki-default-font-style:italic;--shiki-dark:#BABED8;--shiki-dark-font-style:italic}html pre.shiki code .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}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}",{"title":39,"searchDepth":168,"depth":168,"links":688},[689,690,691,692,693],{"id":14,"depth":168,"text":15},{"id":116,"depth":168,"text":117},{"id":407,"depth":168,"text":408},{"id":641,"depth":168,"text":642},{"id":667,"depth":168,"text":668},"Control zoom and pan, build zoom buttons that stay in sync with the mouse, and highlight intervals or items of the profile from your own UI.","md",{},"\u002Frender\u002Fguides\u002Finteraction","---\ntitle: Zoom, pan and highlights\ndescription: Control zoom and pan, build zoom buttons that stay in sync with the mouse, and highlight intervals or items of the profile from your own UI.\n---\n\n## Zoom and pan\n\nWith `zoom` and `pan` on (as in `INTERACTIVE_RENDER_CONFIG`), the mouse wheel zooms and dragging pans each panel. Turn them off where they would get in the way, for example on a page that scrolls:\n\n```ts\nrenderConfig: { ...applyRenderLocale(INTERACTIVE_RENDER_CONFIG, 'en'), zoom: false, pan: false }\n```\n\nThe live previews on this site do exactly that, so the wheel scrolls the page.\n\n## Your own zoom buttons\n\n`zoomBy`, `resetZoom` and `getZoomScale` drive the same zoom behavior as the mouse, so a toolbar and the wheel stay in sync. `onZoom` reports the scale after every change, from either source:\n\n```ts\nconst renderer = new WellRenderer(svgs, {\n  renderConfig: { ...INTERACTIVE_RENDER_CONFIG, zoom: true, pan: true },\n  onZoom: scale => (scaleLabel.textContent = `${Math.round(scale * 100)} %`),\n});\n\nzoomInButton.onclick = () => renderer.zoomBy(1.25);\nzoomOutButton.onclick = () => renderer.zoomBy(1 \u002F 1.25);\nfitButton.onclick = () => renderer.resetZoom(); \u002F\u002F back to renderConfig.zoomLevel (1 = fit)\n```\n\nA scale of `1` is the initial fit. `renderConfig.minZoomScale` and `maxZoomScale` (default 0 and 150) bound the wheel, drag, `zoomBy` and `resetZoom` alike. `zoomBy` does nothing when both zoom and pan are off.\n\n## Highlights\n\nHighlights draw an outline and an optional label over parts of the profile, for example the row a user hovers in a table, or the interval a validation message points at. Pass them to `draw`:\n\n```ts\nrenderer.draw(well, {\n  highlights: {\n    well_screen: [{ from: 36, to: 54, label: 'Screen 1' }],\n    lithology: [{ from: 8, to: 30 }],\n    fractures: [{ depth: 67, label: 'Water entry' }],\n  },\n});\n```\n\nEach key targets one component (`lithology`, `caves`, `fractures`, `bore_hole`, `surface_case`, `hole_fill`, `well_case`, `well_screen`, `reduction`, and `cement_pad` with a single item). An item gives the interval (`from`, `to`) or point (`depth`) to mark, an optional `diameter`, and an optional `label`. Draw again without `highlights` to clear them.\n\n## Tooltips\n\nHovering a layer shows a tooltip with its data. Limit or turn them off with `renderConfig.tooltips` ([Layers and labels](\u002Frender\u002Fguides\u002Flayers-and-labels#tooltips)), and restyle them with the `tooltip` class names ([Theming](\u002Frender\u002Fguides\u002Ftheming#class-names)).\n\n## Stable updates while editing\n\nWhen the user edits the well, `draw` animates from the old drawing to the new one. D3 matches old and new items by key; give each array item a stable `key` (the `RenderableWell` type allows it) so an inserted layer does not make every layer below it animate. Keys are runtime only: remove them before serializing the file, since the format does not define them.\n",{"title":7,"description":694},"render\u002F2.guides\u002F6.interaction","eoR3j_9VwwU04zx3kiGB4xURM1boVfK43BL-JQAIKPY",{"docs_en":703,"spec":1016,"changelogs":1066},[704,724,743,799,909,958],{"title":705,"path":706,"stem":707,"children":708},"Ai","\u002Fai","ai",[709,712,716,720],{"title":710,"path":706,"stem":711},"Introduction","ai\u002Findex",{"title":713,"path":714,"stem":715},"Converting reports with an assistant","\u002Fai\u002Fconversion-skill","ai\u002Fconversion-skill",{"title":717,"path":718,"stem":719},"llms.txt and Markdown pages","\u002Fai\u002Fllms","ai\u002Fllms",{"title":721,"path":722,"stem":723},"MCP server","\u002Fai\u002Fmcp","ai\u002Fmcp",{"title":725,"path":726,"stem":727,"children":728},"Contributing","\u002Fcontributing","contributing",[729,731,735,739],{"title":710,"path":726,"stem":730},"contributing\u002Findex",{"title":732,"path":733,"stem":734},"Writing docs","\u002Fcontributing\u002Fwriting-docs","contributing\u002F1.writing-docs",{"title":736,"path":737,"stem":738},"Update rules","\u002Fcontributing\u002Fupdate-rules","contributing\u002F2.update-rules",{"title":740,"path":741,"stem":742},"Content components","\u002Fcontributing\u002Fcomponents","contributing\u002Fcomponents",{"title":744,"path":745,"stem":746,"children":747},"Core","\u002Fcore","core",[748,750,764,793],{"title":710,"path":745,"stem":749},"core\u002Findex",{"title":751,"path":752,"stem":753,"children":754,"page":763},"Getting Started","\u002Fcore\u002Fgetting-started","core\u002F1.getting-started",[755,759],{"title":756,"path":757,"stem":758},"Installation","\u002Fcore\u002Fgetting-started\u002Finstallation","core\u002F1.getting-started\u002F1.installation",{"title":760,"path":761,"stem":762},"First use","\u002Fcore\u002Fgetting-started\u002Ffirst-use","core\u002F1.getting-started\u002F2.first-use",false,{"title":765,"path":766,"stem":767,"children":768,"page":763},"Guides","\u002Fcore\u002Fguides","core\u002F2.guides",[769,773,777,781,785,789],{"title":770,"path":771,"stem":772},"Parsing and validating","\u002Fcore\u002Fguides\u002Fparsing-and-validating","core\u002F2.guides\u002F1.parsing-and-validating",{"title":774,"path":775,"stem":776},"Serializing and sharing","\u002Fcore\u002Fguides\u002Fserializing-and-sharing","core\u002F2.guides\u002F2.serializing-and-sharing",{"title":778,"path":779,"stem":780},"Unit conversion","\u002Fcore\u002Fguides\u002Funit-conversion","core\u002F2.guides\u002F3.unit-conversion",{"title":782,"path":783,"stem":784},"Vocabularies and textures","\u002Fcore\u002Fguides\u002Fvocabularies-and-textures","core\u002F2.guides\u002F4.vocabularies-and-textures",{"title":786,"path":787,"stem":788},"Water quality vocabulary","\u002Fcore\u002Fguides\u002Fwater-quality-vocabulary","core\u002F2.guides\u002F5.water-quality-vocabulary",{"title":790,"path":791,"stem":792},"Versions and time zones","\u002Fcore\u002Fguides\u002Fversions-and-time-zones","core\u002F2.guides\u002F6.versions-and-time-zones",{"title":794,"path":795,"stem":796,"children":797},"API reference","\u002Fcore\u002Fapi","core\u002Fapi\u002Findex",[798],{"title":794,"path":795,"stem":796},{"title":800,"path":801,"stem":802,"children":803},"Format","\u002Fformat","format",[804,806,826,855,879,899,905],{"title":710,"path":801,"stem":805},"format\u002Findex",{"title":751,"path":807,"stem":808,"children":809,"page":763},"\u002Fformat\u002Fgetting-started","format\u002F1.getting-started",[810,814,818,822],{"title":811,"path":812,"stem":813},"What is .well?","\u002Fformat\u002Fgetting-started\u002Fwhat-is-well","format\u002F1.getting-started\u002F1.what-is-well",{"title":815,"path":816,"stem":817},"For geologists","\u002Fformat\u002Fgetting-started\u002Ffor-geologists","format\u002F1.getting-started\u002F2.for-geologists",{"title":819,"path":820,"stem":821},"For developers","\u002Fformat\u002Fgetting-started\u002Ffor-developers","format\u002F1.getting-started\u002F3.for-developers",{"title":823,"path":824,"stem":825},"Your first .well file","\u002Fformat\u002Fgetting-started\u002Ffirst-well-file","format\u002F1.getting-started\u002F4.first-well-file",{"title":827,"path":828,"stem":829,"children":830,"page":763},"Concepts","\u002Fformat\u002Fconcepts","format\u002F2.concepts",[831,835,839,843,847,851],{"title":832,"path":833,"stem":834},"Depths and intervals","\u002Fformat\u002Fconcepts\u002Fdepths-and-intervals","format\u002F2.concepts\u002F1.depths-and-intervals",{"title":836,"path":837,"stem":838},"Units and precision","\u002Fformat\u002Fconcepts\u002Funits-and-precision","format\u002F2.concepts\u002F2.units-and-precision",{"title":840,"path":841,"stem":842},"Vocabularies","\u002Fformat\u002Fconcepts\u002Fvocabularies","format\u002F2.concepts\u002F3.vocabularies",{"title":844,"path":845,"stem":846},"Profiles","\u002Fformat\u002Fconcepts\u002Fprofiles","format\u002F2.concepts\u002F4.profiles",{"title":848,"path":849,"stem":850},"Versions and deprecation","\u002Fformat\u002Fconcepts\u002Fversions-and-deprecation","format\u002F2.concepts\u002F5.versions-and-deprecation",{"title":852,"path":853,"stem":854},"Extensibility","\u002Fformat\u002Fconcepts\u002Fextensibility","format\u002F2.concepts\u002F6.extensibility",{"title":765,"path":856,"stem":857,"children":858,"page":763},"\u002Fformat\u002Fguides","format\u002F3.guides",[859,863,867,871,875],{"title":860,"path":861,"stem":862},"Writing a .well by hand","\u002Fformat\u002Fguides\u002Fwriting-by-hand","format\u002F3.guides\u002F1.writing-by-hand",{"title":864,"path":865,"stem":866},"Converting a report","\u002Fformat\u002Fguides\u002Fconverting-a-report","format\u002F3.guides\u002F2.converting-a-report",{"title":868,"path":869,"stem":870},"Validating","\u002Fformat\u002Fguides\u002Fvalidating","format\u002F3.guides\u002F3.validating",{"title":872,"path":873,"stem":874},"Extending for your own needs","\u002Fformat\u002Fguides\u002Fextending","format\u002F3.guides\u002F4.extending",{"title":876,"path":877,"stem":878},"Building an editor or database on .well","\u002Fformat\u002Fguides\u002Fbuilding-on-well","format\u002F3.guides\u002F5.building-on-well",{"title":880,"path":881,"stem":882,"children":883},"Overview","\u002Fformat\u002Freference","format\u002F4.reference\u002Findex",[884,885,889,893],{"title":880,"path":881,"stem":882},{"title":886,"path":887,"stem":888},"JSON Schema","\u002Fformat\u002Freference\u002Fjson-schema","format\u002F4.reference\u002F1.json-schema",{"title":890,"path":891,"stem":892},"Example wells","\u002Fformat\u002Freference\u002Fexamples","format\u002F4.reference\u002F2.examples",{"title":894,"path":895,"stem":896,"children":897},"Object reference","\u002Fformat\u002Freference\u002Fobjects","format\u002Freference\u002Fobjects\u002Findex",[898],{"title":894,"path":895,"stem":896},{"title":900,"path":901,"stem":902,"children":903},"About the spec","\u002Fformat\u002Fspec","format\u002F5.spec\u002Findex",[904],{"title":900,"path":901,"stem":902},{"title":906,"path":907,"stem":908},"Changelog","\u002Fformat\u002Fchangelog","format\u002F6.changelog",{"title":910,"path":911,"stem":912,"children":913},"Render","\u002Frender","render",[914,916,926,953],{"title":710,"path":911,"stem":915},"render\u002Findex",{"title":751,"path":917,"stem":918,"children":919,"page":763},"\u002Frender\u002Fgetting-started","render\u002F1.getting-started",[920,923],{"title":756,"path":921,"stem":922},"\u002Frender\u002Fgetting-started\u002Finstallation","render\u002F1.getting-started\u002F1.installation",{"title":760,"path":924,"stem":925},"\u002Frender\u002Fgetting-started\u002Ffirst-use","render\u002F1.getting-started\u002F2.first-use",{"title":765,"path":927,"stem":928,"children":929,"page":763},"\u002Frender\u002Fguides","render\u002F2.guides",[930,934,937,940,944,948,949],{"title":931,"path":932,"stem":933},"Panels and layout","\u002Frender\u002Fguides\u002Fpanels-and-layout","render\u002F2.guides\u002F1.panels-and-layout",{"title":654,"path":935,"stem":936},"\u002Frender\u002Fguides\u002Flayers-and-labels","render\u002F2.guides\u002F2.layers-and-labels",{"title":663,"path":938,"stem":939},"\u002Frender\u002Fguides\u002Ftheming","render\u002F2.guides\u002F3.theming",{"title":941,"path":942,"stem":943},"Locale and units","\u002Frender\u002Fguides\u002Flocale-and-units","render\u002F2.guides\u002F4.locale-and-units",{"title":945,"path":946,"stem":947},"Legends","\u002Frender\u002Fguides\u002Flegends","render\u002F2.guides\u002F5.legends",{"title":7,"path":697,"stem":700},{"title":950,"path":951,"stem":952},"Using it in a framework","\u002Frender\u002Fguides\u002Fframeworks","render\u002F2.guides\u002F7.frameworks",{"title":794,"path":954,"stem":955,"children":956},"\u002Frender\u002Fapi","render\u002Fapi\u002Findex",[957],{"title":794,"path":954,"stem":955},{"title":959,"path":960,"stem":961,"children":962},"Utils","\u002Futils","utils",[963,965,975,1011],{"title":710,"path":960,"stem":964},"utils\u002Findex",{"title":751,"path":966,"stem":967,"children":968,"page":763},"\u002Futils\u002Fgetting-started","utils\u002F1.getting-started",[969,972],{"title":756,"path":970,"stem":971},"\u002Futils\u002Fgetting-started\u002Finstallation","utils\u002F1.getting-started\u002F1.installation",{"title":760,"path":973,"stem":974},"\u002Futils\u002Fgetting-started\u002Ffirst-use","utils\u002F1.getting-started\u002F2.first-use",{"title":765,"path":976,"stem":977,"children":978,"page":763},"\u002Futils\u002Fguides","utils\u002F2.guides",[979,983,987,991,995,999,1003,1007],{"title":980,"path":981,"stem":982},"Geometry and volumes","\u002Futils\u002Fguides\u002Fgeometry-and-volumes","utils\u002F2.guides\u002F1.geometry-and-volumes",{"title":984,"path":985,"stem":986},"Water levels and pumping tests","\u002Futils\u002Fguides\u002Fpumping-tests","utils\u002F2.guides\u002F2.pumping-tests",{"title":988,"path":989,"stem":990},"Permits","\u002Futils\u002Fguides\u002Fpermits","utils\u002F2.guides\u002F3.permits",{"title":992,"path":993,"stem":994},"Operation and production","\u002Futils\u002Fguides\u002Foperation","utils\u002F2.guides\u002F4.operation",{"title":996,"path":997,"stem":998},"Water quality","\u002Futils\u002Fguides\u002Fwater-quality","utils\u002F2.guides\u002F5.water-quality",{"title":1000,"path":1001,"stem":1002},"Logger import","\u002Futils\u002Fguides\u002Flogger-import","utils\u002F2.guides\u002F6.logger-import",{"title":1004,"path":1005,"stem":1006},"SIAGAS import","\u002Futils\u002Fguides\u002Fsiagas-import","utils\u002F2.guides\u002F7.siagas-import",{"title":1008,"path":1009,"stem":1010},"Formatting","\u002Futils\u002Fguides\u002Fformatting","utils\u002F2.guides\u002F8.formatting",{"title":794,"path":1012,"stem":1013,"children":1014},"\u002Futils\u002Fapi","utils\u002Fapi\u002Findex",[1015],{"title":794,"path":1012,"stem":1013},[1017],{"title":800,"path":801,"stem":802,"children":1018,"page":763},[1019],{"title":1020,"path":901,"stem":1021,"children":1022,"page":763},"Spec","format\u002Fspec",[1023,1032,1041],{"title":1024,"path":1025,"stem":1026,"children":1027,"page":763},"Reference","\u002Fformat\u002Fspec\u002Freference","format\u002Fspec\u002Freference",[1028],{"title":1029,"path":1030,"stem":1031},"FGDC Texture Patterns Reference","\u002Fformat\u002Fspec\u002Freference\u002Ffgdc-textures","format\u002Fspec\u002Freference\u002Ffgdc-textures",{"title":1033,"path":1034,"stem":1035,"children":1036,"page":763},"V1","\u002Fformat\u002Fspec\u002Fv1","format\u002Fspec\u002Fv1",[1037],{"title":1038,"path":1039,"stem":1040},".well File Format Specification","\u002Fformat\u002Fspec\u002Fv1\u002Fwell-format","format\u002Fspec\u002Fv1\u002Fwell-format",{"title":1042,"path":1043,"stem":1044,"children":1045,"page":763},"V2","\u002Fformat\u002Fspec\u002Fv2","format\u002Fspec\u002Fv2",[1046,1050,1054,1058,1062],{"title":1047,"path":1048,"stem":1049},".well File Format Specification — Version 2.4: Format Reference","\u002Fformat\u002Fspec\u002Fv2\u002Fformat-reference","format\u002Fspec\u002Fv2\u002Fformat-reference",{"title":1051,"path":1052,"stem":1053},".well File Format Specification — Version 2.4: Interoperability","\u002Fformat\u002Fspec\u002Fv2\u002Finteroperability","format\u002Fspec\u002Fv2\u002Finteroperability",{"title":1055,"path":1056,"stem":1057},".well File Format Specification — Version 2.4: Object Schemas","\u002Fformat\u002Fspec\u002Fv2\u002Fobject-schemas","format\u002Fspec\u002Fv2\u002Fobject-schemas",{"title":1059,"path":1060,"stem":1061},".well File Format Specification — Version 2.4: Overview","\u002Fformat\u002Fspec\u002Fv2\u002Foverview","format\u002Fspec\u002Fv2\u002Foverview",{"title":1063,"path":1064,"stem":1065},".well File Format Specification — Version 2.4: Water Quality","\u002Fformat\u002Fspec\u002Fv2\u002Fwater-quality","format\u002Fspec\u002Fv2\u002Fwater-quality",[1067,1073,1079],{"title":744,"path":745,"stem":746,"children":1068,"page":763},[1069],{"title":1070,"path":1071,"stem":1072},"@welldot\u002Fcore","\u002Fcore\u002Fchangelog","core\u002FCHANGELOG",{"title":910,"path":911,"stem":912,"children":1074,"page":763},[1075],{"title":1076,"path":1077,"stem":1078},"@welldot\u002Frender","\u002Frender\u002Fchangelog","render\u002FCHANGELOG",{"title":959,"path":960,"stem":961,"children":1080,"page":763},[1081],{"title":1082,"path":1083,"stem":1084},"@welldot\u002Futils","\u002Futils\u002Fchangelog","utils\u002FCHANGELOG",1793050494850]