{# The body of the Quality Control card (core builds the card and its header). FIVE TOOLS, NOT ONE ANALYSIS. Registration QC (do the DNA channels line up?), Blur QC (which parts are out of focus?), the Artifact Detector (where are the folds, tears, debris and saturated pixels?), Segmentation QC (does the mask hold its nuclei?) and ROI QC (which regions of the tissue are artifacts?) are five workflows that happen to share a card, so each is its own fold: a 26px header -- chevron, glyph, title, what it found in brackets -- "Registration (2%)" -- its Play and its eye -- and a body that opens with its view toggles (`.qc-tool-sub`) and then only its own controls. The toggles are the body's, not the header's, as the image card has a title line and an action line under it: in the header, a 250px line was asked to hold a title, a sentence, five glyphs and a pill, and the title lost ("R.", "Segment…"). The titles drop "QC" for the same reason -- the card is already called Quality Control; tooltips and menus keep the full name. Nothing of one is ever drawn inside another. `data-open` on each `.qc-tool` is the fold (qcSidebarController keeps it per viewer, and keeps one tool open at a time, as the sidebar keeps one card). The eye at the end of each header is the whole tool's: off, nothing the tool draws is on the image, and its rows keep their own eyes for when it comes back on. Registration QC (qcRegistration.js): the pair on screen -- reference and comparison, each with its colour, the settings and the arrows that step the comparison -- and under it three labelled views: Flicker, which stripes the misaligned areas and dense mismatch (F), Heatmap (its scale core's colour bar under the buttons) and Vectors. Run measures every channel against the reference; the scores are in the comparison's picker. Blur QC (qcBlur.js): the channel analysed, then the blurred share of the evaluable tissue with an eye for the thresholded regions; the flame is the continuous blur map. The distribution of scores sits directly over the threshold slider, its axis the slider's own rail, and its line moves with the thumb. Artifact Detector (qcArtifacts.js): one line per category (fold, tear, debris, saturation) with its own threshold slider over the objects' scores, then the channels shown: All channels, or the ones listed with +. A click on an object on the image puts its channel on screen. Segmentation QC (qcSegmentation.js): the mask's row (its name, colour and eye), then the categories it found, each with an eye; the sliders are core's PlexoraSlider adopting the range inputs below. ROI QC: the regions, by category, in the ROI panel's own shape (the tree, qcTree.js) -- because they ARE ROIs. Marking one by hand happens here, never in the ROI panel: the drawing bar (`qc_drawbar`) is up while a category is in hand. `data-mode` on the section (loading / empty / result) says whether there is anything in ROI QC yet. #}