Capabilities
What each chart family supports, per capability, and where the limits are.
@workspace/active-charts 6.0.0Status unknowncontent differs from the recorded release 6.0.0baseline ce081dc3
This page is the package's docs/, included unchanged from the
package as it is in Foundation. Links to the package's internal design
documents keep their text.
// apps/docs/examples/charts/families.tsx'use client';
import {useState, type ReactNode} from 'react';import { BEFORE_AFTER, DAILY_PRICES, DELIVERY_DAYS, DELIVERY_SPREAD, FLOW_LINKS, FLOW_NODES, FUNNEL, MILESTONES, MONTHLY_SALES, ORGANISATION, PRICE_VS_RATING, PRODUCT_TREE, PROFIT_BRIDGE, SALES_SERIES, SHARE_BY_REGION, SKILL_SERIES, SKILLS, TEMPERATURE_BAND, WEEKDAY_ORDERS,} from '@/lib/examples/chart-data';
import { AreaChart, BarChart, BoxPlotChart, BulletChart, CandlestickChart, ChartDefaults, DumbbellChart, englishChartTranslator, FunnelChart, GaugeChart, HeatmapChart, Histogram, LinearGauge, LineChart, LollipopChart, NightingaleChart, OhlcChart, OrgChart, PieChart, RadarChart, RadialBarChart, RangeAreaChart, RangeBarChart, SankeyChart, ScatterChart, Sparkline, SunburstChart, TimelineChart, TreemapChart, WaterfallChart,} from '@workspace/active-charts';import { Field, FieldLabel,} from '@workspace/active-ui/components/primitives/field';import { NativeSelect, NativeSelectOptGroup, NativeSelectOption,} from '@workspace/active-ui/components/primitives/native-select';
const H = 280;const PRICE = {kind: 'price', currency: 'EUR', decimals: 2} as const;
/** Every public chart family, grouped by the archetype that shapes its props. */const FAMILIES: Record<string, Record<string, () => ReactNode>> = { Cartesian: { Line: () => ( <LineChart data={MONTHLY_SALES} xKey="month" xAxis="category" series={SALES_SERIES} legend height={H} /> ), Area: () => ( <AreaChart data={MONTHLY_SALES} xKey="month" xAxis="category" series={SALES_SERIES} stacked legend height={H} /> ), Bar: () => ( <BarChart data={MONTHLY_SALES} xKey="month" xAxis="category" series={SALES_SERIES} legend height={H} /> ), Histogram: () => ( <Histogram data={DELIVERY_DAYS} xKey="days" name="Orders" binCount={8} height={H} /> ), Scatter: () => ( <ScatterChart data={PRICE_VS_RATING} xKey="price" xAxis={{type: 'number', title: 'Price'}} yKey="rating" name="Products" yAxis={{title: 'Rating'}} height={H} /> ), Candlestick: () => ( <CandlestickChart data={DAILY_PRICES} xKey="date" xAxis={{temporalSemantic: 'calendarDate'}} openKey="open" highKey="high" lowKey="low" closeKey="close" name="Price" yAxis={{valueSemantics: PRICE}} height={H} /> ), OHLC: () => ( <OhlcChart data={DAILY_PRICES} xKey="date" xAxis={{temporalSemantic: 'calendarDate'}} openKey="open" highKey="high" lowKey="low" closeKey="close" name="Price" yAxis={{valueSemantics: PRICE}} height={H} /> ), 'Range area': () => ( <RangeAreaChart data={TEMPERATURE_BAND} xKey="month" xAxis="category" yLowKey="low" yHighKey="high" name="Temperature" height={H} /> ), 'Range bar': () => ( <RangeBarChart data={TEMPERATURE_BAND} xKey="month" xAxis="category" yLowKey="low" yHighKey="high" name="Temperature" height={H} /> ), 'Box plot': () => ( <BoxPlotChart data={DELIVERY_SPREAD} xKey="carrier" xAxis="category" minKey="min" q1Key="q1" medianKey="median" q3Key="q3" maxKey="max" outliersKey="out" name="Delivery days" height={H} /> ), Dumbbell: () => ( <DumbbellChart data={BEFORE_AFTER} xKey="team" xAxis="category" yLowKey="before" yHighKey="after" lowName="2025" highName="2026" height={H} /> ), Lollipop: () => ( <LollipopChart data={MONTHLY_SALES} xKey="month" xAxis="category" yKey="online" name="Online" height={H} /> ), Waterfall: () => ( <WaterfallChart data={PROFIT_BRIDGE} xKey="step" yKey="amount" kindKey="kind" name="Profit" height={H} /> ), Heatmap: () => ( <HeatmapChart data={WEEKDAY_ORDERS} xKey="day" yKey="part" colorKey="orders" name="Orders" label={{enabled: true}} height={H} /> ), }, Categorical: { Pie: () => ( <PieChart data={SHARE_BY_REGION} valueKey="value" categoryKey="region" name="Share" legend height={H} /> ), Funnel: () => ( <FunnelChart data={FUNNEL} valueKey="count" categoryKey="stage" name="Visitors" height={H} /> ), 'Radial bar': () => ( <RadialBarChart data={SHARE_BY_REGION} valueKey="value" categoryKey="region" name="Share" height={H} /> ), Nightingale: () => ( <NightingaleChart data={SHARE_BY_REGION} valueKey="value" categoryKey="region" name="Share" legend height={H} /> ), Radar: () => ( <RadarChart data={SKILLS} categoryKey="skill" series={SKILL_SERIES} min={0} max={10} legend height={H} /> ), }, 'Hierarchy and flow': { Treemap: () => <TreemapChart data={PRODUCT_TREE} height={H} />, Sunburst: () => <SunburstChart data={PRODUCT_TREE} height={H} />, Sankey: () => ( <SankeyChart nodes={FLOW_NODES} links={FLOW_LINKS} height={H} /> ), 'Organisation chart': () => ( <OrgChart data={ORGANISATION} direction="horizontal" height={320} /> ), Timeline: () => <TimelineChart data={MILESTONES} height={220} />, }, Scalar: { Gauge: () => ( <GaugeChart value={72} min={0} max={100} zones={[ {from: 0, to: 40, color: 'var(--chart-negative)', label: 'low'}, {from: 40, to: 75, color: 'var(--chart-caution)', label: 'fair'}, {from: 75, to: 100, color: 'var(--chart-positive)', label: 'good'}, ]} label="Satisfaction" height={220} /> ), 'Linear gauge': () => ( <LinearGauge value={68} min={0} max={100} target={75} label="Budget used (%)" height={120} /> ), Bullet: () => ( <BulletChart value={82} min={0} max={120} target={100} label="Orders vs target" height={90} /> ), Sparkline: () => ( <Sparkline data={MONTHLY_SALES.map((row) => row.online)} width={220} height={48} type="area" showLastPoint /> ), },};
const ALL = Object.entries(FAMILIES).flatMap(([group, members]) => Object.keys(members).map((name) => ({group, name})),);
/** The public chart families, each with small fixed data; pick one to draw it. */export default function ChartFamilies() { const [choice, setChoice] = useState('Cartesian/Line'); const [group, name] = choice.split('/') as [string, string]; const render = FAMILIES[group]![name]!; return ( <div className="flex w-full flex-col gap-4"> <Field className="max-w-xs"> <FieldLabel htmlFor="chart-family">Chart family</FieldLabel> <NativeSelect id="chart-family" className="w-full" value={choice} onChange={(event) => setChoice(event.target.value)} > {Object.keys(FAMILIES).map((g) => ( <NativeSelectOptGroup key={g} label={g}> {ALL.filter((entry) => entry.group === g).map((entry) => ( <NativeSelectOption key={entry.name} value={`${g}/${entry.name}`} > {entry.name} </NativeSelectOption> ))} </NativeSelectOptGroup> ))} </NativeSelect> </Field> <ChartDefaults locale="en-GB" t={englishChartTranslator}> <div key={choice} data-chart-family={choice}> {render()} </div> </ChartDefaults> </div> );}Peildatum: 2026-10-07. Dit is de ene gedateerde autoriteit voor wat
@workspace/ ondersteunt, met welk bewijs en met welke bekende
beperking. Een claim elders in de documentatie die hier niet staat, is geen
claim. Het document doet geen uitspraak over andere bibliotheken; de
vergelijking staat in COMPETITIVE-.
Hoe een optie precies heet en welke voorrang zij heeft, staat in
API.; hier staat wat er werkt en waarop dat rust.
Level 1 is de enterprise-algemene basis: wat een chartbibliotheek voor
bedrijfsdashboards en rapporten binnen de beoogde scope van dit pakket moet
kunnen, elk met reproduceerbaar bewijs (ADR-040). Level 2
is de geautoriseerde uitbreiding daarop: selectie, gekoppelde weergaven en de
compound-navigator (ADR-041 scope,
ADR-042 contracten). De thema's daarna beschrijven de
configureerbaarheid en de familiedekking die binnen dezelfde contracten zijn
toegevoegd. De presentatiebudgetten (ADR-037,
ADR-038) staan in QUALITY-;
de prestatiebudgetten en de trigger voor een andere renderer of incrementele
updates in PERFORMANCE. ยง Budgetten.
Drie dingen worden uit elkaar gehouden:
Implementatie: gebouwd en in het publieke contract.
Geautomatiseerd bewijs: tests die in deze repository opnieuw draaien.
Menselijk AT-bewijs: opgenomen runs met een echte schermlezer.
Menselijk AT-bewijs ontbreekt nog. De runs op de W6-matrix (NVDA met Chrome of Edge, VoiceOver met Safari) zijn niet uitgevoerd (ROADMAP AC-V4). Alle toegankelijkheidsregels hieronder rusten op geautomatiseerd bewijs: rollen, namen, tabellen, toetsenbord en aankondigingen in een echte browser. Er wordt niets geclaimd over hoe een schermlezer het voorleest. Dat geldt voor elk thema in dit document.
Bewijssoorten#
Elke code is hier รฉรฉn keer gedefinieerd en betekent overal hetzelfde. Een naam van een bouwstap (BC2, T5, P8A) is nooit een bewijscode; waar zo'n naam nog voorkomt, is het herkomst.
| Code | Wat |
|---|---|
| Unit | Vitest in jsdom: pure logica, gerenderde componenten en interactie, typecontracten (*.): pnpm --filter @workspace/ |
| Browser | Echte browser via Playwright, zonder retries: Chromium volledig, Firefox op de @cross--subset (test:browser: gedrag, consumentencorpus, screenshotmatrix, metingen) |
| Bench | Benchmark met budgetten, Chromium, geen retries: benchmark:browser (PERFORMANCE.) |
| Mutatie | Mutatieproef: een bewuste breuk van de invariant laat een test falen; de gedode en equivalente mutanten staan per afsluiting in DONE. |
| Contract | Bron- of registercontract in Vitest, waar een runtimeproef onpraktisch is |
| Gate | Repositorygate in pnpm check (packages/), met eigen gedragsproef |
| Doc | Uitvoerbare documentatie: elk TypeScript-voorbeeld van README, API, recepten en ACCESSIBILITY wordt tegen de publieke API getypecheckt (src/__) |
Status zegt alleen wat vandaag geldt: ondersteund (in het publieke
contract en bewezen), gedeeltelijk, gemeten (een meting zonder belofte),
bewijs, geen belofte of niet aanwezig. Elk thema sluit af met de bekende
beperkingen die niet bij รฉรฉn rij horen: wat bewust niet of nog niet bestaat.
Level 1: de enterprise-algemene basis#
| Capaciteit | Status | Bewijs | Bekende beperking |
|---|---|---|---|
| Lijn, spline, area, staaf/kolom, scatter/bubble, taart/donut, combinatie | ondersteund | Unit, Browser, Mutatie | โ |
| Stapelen met gemengde tekens; verborgen serie herstapelt (W2) | ondersteund | Unit, Browser, Mutatie | โ |
| Percentagestapels uit ruwe waarden, staaf en area (W9); het aandeel hoort alleen bij het lid (ADR-048) | ondersteund | Unit, Browser, Bench, Mutatie | de navigator toont de ruwe waarden, niet de aandelen (bewust, ADR-042); ruw tegenover getoond per pad: ARCHITECTURE ยง 8.7 |
| Ingezoomde waterval behoudt het lopende totaal van de bronrijen, ook naast een percentagestapel (PH3-02, ADR-048) | ondersteund | Unit, Browser, Mutatie | โ |
| Categorie-, tijd-, ordinal-time-, log-, sqrt- en omgekeerde assen | ondersteund | Unit, Browser | โ |
| Twee y-assen: รฉรฉn binding voor domein, tekening, hit, tooltip, tabel, referentielijn | ondersteund | Unit, Browser, Bench, Mutatie | meer dan twee assen en onafhankelijke x-assen: buiten scope (ADR-041); wrappers geven beide y-assen รฉรฉn y; het label van een referentielijn staat boven de series (PH6-01) |
| Waarheidsgetrouwe reductie en groepering (W3, W4) | ondersteund | Unit, Browser, Bench | Canvas en incrementele updates bestaan niet; de trigger staat in PERFORMANCE ยง Budgetten |
| Tooltip (single, shared, split, pin), ook op compound-glyphs | ondersteund | Unit, Browser | bereikvlak, bereikstaaf, boxplot en histogram nemen alleen single (ADR-085, API ยง 3.1); de gedeelde tooltip snapt binnen zijn afstand (bewust) |
| Legenda: toggle, isoleren, dynamische series, dichte legenda | ondersteund | Unit, Browser, Mutatie | โ |
Headless legenda (ADR-105): use en legend op elke familie met een discrete legenda; entries op identiteit met sleutel zoals getekend en beschikbare acties; รฉรฉn legendaroute, ook voor de host; on op identiteit | ondersteund | Unit, Browser, Mutatie | alleen discrete sleutels (een kwantitatieve sleutel blijft in de chart); geen gecontroleerde zichtbaarheid |
| Toetsenbord per archetype, compound als รฉรฉn stop | ondersteund | Unit, Browser | menselijke AT-runs ontbreken |
| Datavervanger (schermlezertabel) voor elke ondersteunde familie | ondersteund | Unit, Browser, Mutatie | sparkline decoratief (W6); menselijke AT-runs ontbreken |
| Aankondigingen (legenda, zoom, stappen, compound, gegroepeerd, contextmenu); de recentste bron spreekt (ADR-052) | ondersteund | Unit, Browser, Mutatie | menselijke AT-runs ontbreken; de standalone families kondigen hun contextmenu niet aan |
| Eรฉn contextmenu in elke familie behalve de Sparkline, op Base UI zoals de grid (ADR-087): toetsenbord, aanwijzer, lange druk en een optionele menuknop; hostitems eerst met รฉรฉn bevroren context (element, legenda-item of chart); kopiรซren, reset zoom, reeksen (verbergen, alleen dit, alles), export; scalairen alleen export; 44 px onder een grove aanwijzer | ondersteund | Unit, Browser, Mutatie | โ |
Export SVG/PNG/PDF met voltooiing en falen, stil beeld, rapporttekst (W11); legenda en rapporttekst leesbaar in PDF onder oklch()-tokens (FAM-V2-T6) | ondersteund | Unit, Browser, Mutatie | PDF-tekst: zie de rij PDF-tekst en exportfonts; zonder exportfontset: PNG-hostfont alleen bij same-origin @font- met url() (met een set: de rij SVG- en PNG-exportfonts); export draait in de browser; materialisatiegrens: API ยง 4 |
Exportresultaat (ADR-105): elke export geeft haar ene bestand (Chart), gedownload of met download: false alleen teruggegeven; on; font-; de formaten van het exportsubmenu per chart (context) | ondersteund | Unit, Browser, Mutatie | โ |
| Export over een datawijziging: รฉรฉn moment; legenda en tekening uit dezelfde commit (ADR-053) | ondersteund | Unit, Browser, Mutatie | CSV schrijft de rijen van de laatste commit bij de aanroep; wat na het capture-moment verandert, staat niet in het bestand |
| Niet-Latijns schrift (Cyrillisch, Grieks, Arabisch, Japans, Koreaans) in SVG en PNG; PDF: zie de rij PDF-tekst en exportfonts | bewijs, geen belofte | Browser (Chromium; SVG ook Firefox) | PNG zonder exportfontset: tekens buiten het ingebedde webfont tekenen in het standaardfont van de browser, niet in een local()-terugval van de pagina (CH-6 in de inherit-modus; met een set deterministisch); PDF weigert Arabisch |
PDF-tekst en exportfonts (ADR-058): รฉรฉn exportfontmodel (Chart: bytes of een lazy hostloader, gewichten en stijlen, families in terugvalvolgorde); Chart, een expliciete aanroep wint, 'inherit' slaat over, ook in het contextmenu; per tekstelement de eerste familie die het volledig dekt; zonder fonts Helvetica met alleen WinAnsi; getypeerde weigering (Chart) van complexe schriften, combinerende tekens, joiners en selectors, emoji en het supplementaire vlak | ondersteund | Unit, Bench (Chromium; @cross- Firefox) | alleen TrueType (geen WOFF, WOFF2, CFF of collectie; geen variabele assen); geen terugval per teken binnen รฉรฉn element; geen vormgeving: gevormde PDF is hostbezit (L3b); een exportfont met een andere metriek dan het live font kan tekst verschuiven (geen herlay-out) |
SVG- en PNG-exportfonts (ADR-059): dezelfde Chart en dezelfde voorrang, ook in beide contextmenu's; SVG noemt de families vรณรณr de live stack en bedt met embed elke face in als @font--data-URL; PNG bedt elke face van elke familie in en valt per glyph terug over de families van de host vรณรณr een systeemfont; TrueType, OpenType CFF, WOFF en WOFF2; geen netwerk, loaders vรณรณr het capture-moment | ondersteund | Unit, Bench (Chromium; @cross- Firefox) | zonder set blijft PNG best effort (CH-6 in de inherit-modus); geen herlay-out; de browser kiest per glyph en vormt, het pakket niet; ingebedde faces in SVG gelden in browsers, andere kijkers mogen ze negeren; collecties en onbekende bytes geweigerd; bewezen in Chromium en Firefox, niet in Safari |
| Exportgarantietrappen (ADR-060): L0 CSV (elk schrift, logisch, zonder richtingstekens); L1 live (browser); L2 SVG en PNG; L3a PDF (ingebedde TrueType, Latijn, Grieks, Cyrillisch, Armeens, Georgisch, Han, Kana, Hangul; de rest geweigerd met een code); L3b-raster en L3b-print als hostrecepten; per schrift en route in EXPORT-GUARANTEES.md | ondersteund | Contract (export- tegen charts en grid), Bench (e2e/, Chromium en @cross- Firefox) | L3b is geen pakketfunctie; L3b-print is eenmaal in een onderzoeksharnas geverifieerd (Chromium 153, Windows) en blijft een hostclaim; een PDF met Arabisch, Hebreeuws, Indisch schrift of emoji is een hostroute |
| CSV ruw, ook voor hiรซrarchie, stroom, organigram, tijdlijn, scalair, sparkline (W4, W11) | ondersteund | Unit, Browser, Mutatie | โ |
Richting en bidi (ADR-056): dir expliciet of geรซrfd, nooit uit de locale; contextmenu, tooltip en schermlezertabel dragen de richting; namen en waarden geรฏsoleerd; export behoudt direction/unicode-; CSV zonder bidi-tekens | ondersteund | Unit, Bench (Chromium, Firefox) | โ |
| RTL-chrome (ADR-057): gespiegelde legenda en legendapijlen, tooltip aan de inline-eindzijde, contextmenu en submenu met gespiegelde toetsen, richtingsbewuste ankers, referentielabel aan het inline-einde, rapporttekst en legenda in de export; assen, datavolgorde, navigator en plottoetsen onveranderd | ondersteund binnen de geteste reikwijdte | Unit, Bench (Chromium; @cross- Firefox) | geautomatiseerd browserbewijs, geen menselijke AT-sessie en geen fysiek apparaat; Playwright-WebKit is niet geclaimd |
| Tekstmeting en segmentatie (ADR-057): labels gemeten in het geschilderde font (gewicht, stijl, richting, letterafstand, kerning), opnieuw na een fontlading; graphemeveilig afkappen; rapportafbreking met CJK-breekpunten en zonder breuk bij NBSP/NNBSP | ondersteund | Unit, Bench (Chromium, Firefox) | meting is die van de renderende browser; geen variabele-fontassen, geen regelbreekmotor |
| Afnemer buiten deze repository (ADR-061): uit een verpakt artefact in een schone Vite + React-app zonder werkruimte, Next, active-ui, Tailwind of hoststylesheet: rendering, legenda, tooltip, contextmenu, schermlezertabel, rtl-chrome, twaalf schriften, locales met inheemse cijfers, en de exporttrappen van ADR-060 | bewijs, geen belofte | Browser (Chromium, Firefox, WebKit, in een tijdelijke afnemer) | eenmalige proef, geen staande suite; de artefactbouw zelf is geen product; menselijke AT en moedertaallezer niet gedaan (AC-V4, PORT-V1) |
| Lege toestand en niet-beschikbare toestand bij contractschendende invoer (W12) | ondersteund | Unit, Browser, Mutatie | alleen de genoemde contracten worden getoetst (ADR-040); onverwachte fouten gaan naar de error boundary van de host |
Woorden van de host, geen Engelse terugval (W13); Engels alleen als bewust meegegeven english | ondersteund | Unit, Mutatie | een host die een verkeerde vertaler meegeeft wordt niet gezien (ADR-028, ADR-051) |
| Leesbaarheid op smalle breedte: tekstvloer, degradatie, randlabels (W8, PH5-01) | ondersteund | Browser, Mutatie | โ |
| Categorisch palet, donkere modus, onderscheid, on-fill; stabiel onder accentthema's (W7, W18) | ondersteund | Browser, Mutatie | โ |
| Geforceerde kleuren en verminderde beweging over elke familie: lijnen met streeppatroon, staven, bins en watervalstappen in systeemkleuren met passende legendasleutels (CH-26), heatmapklassen als naam (CH-27), kaarsen hol op en gevuld neer, bereikstaven per reeks (CH-28), foutstaven, de losse families | ondersteund | Browser, Mutatie | area-vullingen zijn omtrekken; vanaf de zesde staafreeks herhalen de systeemkleuren; alleen Chromium- en Firefox-emulatie, geen Windows Hoog contrast (AC-V6) |
| Opruimen na unmount: observers, timers, frames, listeners, ontkoppelde DOM, heap; ook een dicht dashboard met exports (FAM-V2-T6) | ondersteund | Browser, Bench, Mutatie | heapmeting alleen Chromium, als trend binnen een tolerantie (cleanupsuite 2 MB over drie cycli; dichtheidsbench 12 cycli) |
| Dicht dashboard (24 charts, ~14.800 getekende markeringen) binnen het compositiebudget; gesimuleerd zwakker profiel (4x, 6x) gemeten | gemeten | Bench | CPU-throttling in Chromium, geen fysiek toestel; geen budget voor het gesimuleerde profiel (PERFORMANCE.) |
| Gedocumenteerde prestatiebudgetten voor de aanvaarde workloads | ondersteund | Bench | รฉรฉn machine; een ander toestel is een andere meting |
| Touch en smalle breedte: scrollen tegen slepen, pinch, pan, lange druk, navigator-brush, draaien; 390 en 320 px | bewijs, geen belofte | Browser (geรซmuleerd in Chromium), Mutatie | geen fysiek toestel; geen ondersteuningsbelofte; bewijsrecord in accessibility/ |
| Uitvoerbare documentatievoorbeelden | ondersteund | Doc | lijsten en fragmenten zijn gemarkeerd en worden niet gecompileerd |
| Menselijk schermlezerbewijs (NVDA, VoiceOver) | niet aanwezig | โ | AC-V4: uitvoering door een mens (accessibility/ ยง Human handoff) |
Level 2: selectie, gekoppelde weergaven en navigator#
Scope ADR-041, contracten ADR-042. De selectie op de losse families staat onder ยง Activering en selectie.
| Capaciteit | Status | Bewijs | Bekende beperking |
|---|---|---|---|
| Selectie van items, gecontroleerd en ongecontroleerd, op logische identiteit | ondersteund | Unit, Browser, Bench, Mutatie | <Chart>, de dertien Cartesische wrappers en de negen losse families van ยง Activering en selectie; organigram, tijdlijn, scalairen en sparkline niet |
Eรฉn series per serie: een gedeclareerde id botst nooit met een afgeleide of positionele identiteit (ADR-049) | ondersteund | Unit, Browser, Mutatie | een herhaalde identiteit heet naar haar volgorde (#2); een serie zonder waardesleutel naar haar positie |
| Selectie en activering met aanwijzer en toetsenbord; focus is geen selectie | ondersteund | Unit, Browser, Mutatie | menselijke AT-runs ontbreken |
| Geselecteerde toestand niet-visueel: tabel, aankondiging, beschrijving; geforceerde kleuren | ondersteund | Unit, Browser, Mutatie | menselijke AT-runs ontbreken |
| Gegroepeerde bucket als item met interval; verborgen, weggezoomd of hergroepeerd is inactief | ondersteund | Unit, Browser, Mutatie | โ |
Events on en on, geen eventbus | ondersteund | Unit, Browser | โ |
Gecontroleerde waarheid en invoerbron (ADR-105): requested op selectie en inklappen, de hostprop is de waarheid; pointer, touch en keyboard als bron | ondersteund | Unit, Browser, Mutatie | โ |
Gekoppelde positie en x-bereik op waarde in een Sync, ook met andere rijen en maten | ondersteund | Unit, Browser, Bench, Mutatie | selectie wordt niet gekoppeld; alleen categorie, getal en tijd van dezelfde semantiek |
| Geen terugkoppeling; een lid dat verdwijnt laat niets achter; niet-leden onberoerd | ondersteund | Unit, Browser, Mutatie | โ |
| Navigator tekent compound-series met hun omvang, verborgen series niet, gaten en pieken behouden | ondersteund | Unit, Browser, Bench, Mutatie | โ (de brush leest zijn pixels door de schaal, valt ook bij onregelmatige rijen op de lijn en volgt reversed; CH-7) |
| Navigatorbereik, groepering, tooltip, tabel, toetsenbord en koppeling lezen hetzelfde venster | ondersteund | Browser, Mutatie | โ |
Waardebetekenis en labels#
Besluiten: ADR-089 (waardebetekenis, wrapperpariteit), ADR-091 (labelrollen, terugloop), ADR-103 (staafplaatsing, trechtercontext). Detail: API ยง 10.
| Capaciteit | Status | Bewijs | Bekende beperking |
|---|---|---|---|
value (Chart) op de twaalf numerieke losse families: labels, schalen, uitlezing, tooltip, tabel en aankondiging in รฉรฉn declaratie; rolformatter en tooltip. winnen; een aandeel blijft procent; CSV en Copy value ruw | ondersteund | Unit, Browser, Mutatie | naam van tegel, boog en knoop krijgt geen waarde erbij |
Cartesische datalabels (staaf, waterval, lijn, scatter, histogram) zonder formatter lezen de waardesemantiek van serie of y-as, anders het kale getal (CH-21); het aandeel in de taart- en trechtertooltip is altijd procent, ook zonder declaratie en naast tooltip. (CH-22) | ondersteund | Unit, Mutatie | een percentagestapel houdt zijn aandeellabels |
Wrapperpariteit: puntlabels op lijn, scatter en histogram; visible en show op elke wrapperserieconfig; annotations op elke Cartesische wrapper, op de vier liggende families alleen rechtop | ondersteund | Unit, Browser, Mutatie | een wrapper met รฉรฉn serie neemt geen visible; een vlak, bereik, box, dumbbell, lollipop of financieel glyph tekent geen waardelabel |
Labelrollen: vlak en lollipop (label), bereikstaaf, bereikvlak en dumbbell (label., rol in de formattercontext), rollen vast onder een omgekeerde as en liggend, met asruimte; de vlakwaarden van alle reeksen en de stapeltotalen van een plot nemen รฉรฉn botsingsbeslissing (NEW-01) | ondersteund | Unit, Browser, Mutatie | รฉรฉn plaats per label, geen binnenplaatsing; lollipop, bereik en dumbbell beslissen per reeks; een buitenlabel kan op het merk van een andere familie vallen (CH-25) |
Terugloop van categorielabels (wrap): heel teruggelopen, dan draaien, dan de laatste regel afgekapt; volle naam in <title>; rtl en CJK; lay-out reserveert de regels; tijd- en getalassen ongewijzigd | ondersteund | Unit, Browser, Mutatie | geen afbreekstreepjes; de definitieve ronde loopt niet verder terug dan de voorlopige reserveerde |
Staaf: 'inside- en 'inside- op semantische einden voor beide tekens, beide oriรซntaties, een omgekeerde as, stapel- en procentstapelsegmenten; zonder ruimte naar buiten (auto) of verborgen; geen kleiner font | ondersteund | Unit, Browser, Mutatie | niet op de waterval (bewust, ADR-103) |
Staaf: label per reeks in Bar vervangt het chartlabel als heel object; wrapper en <Chart> plaatsen gelijk | ondersteund | Unit, Browser, Mutatie | โ |
Trechter: data met rij, bronindex, share en share over de zichtbare stappen; รฉรฉn tekst in label, tabel en aankondiging; tooltip en CSV ongewijzigd | ondersteund | Unit, Browser, Mutatie | geen ingebouwde modus "aandeel van de vorige": de context draagt het getal (bewust) |
Identiteit, markers en legenda#
Besluiten: ADR-090 (markervormen, legenda), ADR-091 (exportlegenda), ADR-093 (renderpariteit, toegankelijke naam). Detail: API ยง 10.7.
| Capaciteit | Status | Bewijs | Bekende beperking |
|---|---|---|---|
Markervormen (Marker: cirkel, vierkant, ruit, driehoek, omgekeerde driehoek) op lijn- en vlakmarkers, scatter en bubbel, lollipop, dumbbell, radarhoekpunten en tijdlijn; elke vorm heeft het oppervlak van de cirkel; legendasleutel, tooltipsleutel, aandachtsknoop, toetsenbordcue, export en geforceerde kleuren volgen de vorm | ondersteund | Unit, Browser, Mutatie | geen vorm per datum, geen beeld of pad; de aanwijzer treft het dichtstbijzijnde punt, niet de getekende omtrek |
| Automatische markervorm alleen waar kleur niet volstaat: vanaf het zevende standaardpaletslot of waar een hostpalet zich herhaalt (de trigger van het streeppatroon, ADR-038); expliciet wint; een kleur krijgt binnen vier herhalingen nooit twee keer dezelfde vorm | ondersteund | Unit, Browser, Mutatie | dumbbell, radar en tijdlijn alleen expliciet |
legend. (start, center, end) langs elke zijde, logisch onder rtl, ook in de export | ondersteund | Unit, Browser, Mutatie | geen offsets of zwevende legenda (beleid) |
| Stapelvolgorde als leesvolgorde: legenda en gedeelde tooltip van een gestapelde staaf of vlak lezen de stapel zoals het oog hem ziet, ook bij negatieve, gemengde en procentstapels, liggend en onder rtl | ondersteund | Unit, Browser, Mutatie | de legenda leest รฉรฉn volgorde voor alle categorieรซn; een lid met beide tekens leest aan de positieve kant |
| Smalle terugval van een zijlegenda: onder de chart waar ernaast minder dan 240 px overblijft, terug zodra er ruimte is, zonder heen-en-weer; export volgt de tekening; een kolom wordt niet smaller dan haar breedste naam (CH-16) | ondersteund | Unit, Browser, Mutatie | de drempel is รฉรฉn vaste ondergrens voor elke familie, geen meting van de plot per familie |
| Exportlegenda met het streeppatroon van een lijn (expliciet of automatisch), ook met een markervorm, in SVG, PNG en PDF (CH-23) | ondersteund | Unit, Browser, Mutatie | โ |
| Legenda-renderpariteit van OHLC, boxplot, bereikvlak en bereikstaaf (QR-2) | ondersteund | Browser | โ |
| Toegankelijke naam en identiteit: scalaire naam met bereik, ontbrekend categorisch is "(no value)", hiรซrarchie-id's los van het label, lege naam is geen naam, de sparkline benoembaar (CH-10) | ondersteund | Unit, Browser, Mutatie | โ |
Assen, zoom en dradenkruis#
Besluiten: ADR-093; zachte grenzen staan onder ยง Overlays, foutstaven en zones.
| Capaciteit | Status | Bewijs | Bekende beperking |
|---|---|---|---|
| Zoom (slepen, wiel, pannen, knijpen, navigator) volgt omgekeerde, logaritmische en ongelijk verdeelde schalen; een vastgepinde tooltip blijft op zijn rij (CH-7, CH-8) | ondersteund | Unit, Browser, Mutatie | โ |
| Een losse asgrens voorbij de data keert de as niet om (genegeerd en gemeld); een niet-eindige grens is ongeldig (CH-12) | ondersteund | Unit, Browser, Mutatie | โ |
| Dradenkruis: hulplijn en aflezing noemen dezelfde grootheid, per oriรซntatie (LAB-AT4); een gestapeld segment en een watervalstap lezen de aswaarde aan hun einde (CH-29) | ondersteund | Unit, Browser, Mutatie | โ |
Stapels#
Besluiten: ADR-091, ADR-093. Mengtekens en percentagestapels: ยง Level 1. Detail: API ยง 10.8.
| Capaciteit | Status | Bewijs | Bekende beperking |
|---|---|---|---|
stack op staaf- en vlakreeksen: staafgroepen naast elkaar in de categorie, elk met eigen basislijn, procentbasis, tooltiptotaal en stapeltotaal; vlakgroepen elk vanaf de eigen basislijn | ondersteund | Unit, Browser, Mutatie | geen geneste groepen; vlakgroepen tekenen over dezelfde x |
Staafkolommen zonder stack: een stapel naast ongestapelde staven krijgt eigen kolommen; een totaal of vlakwaarde wijkt voor een vreemde staaf (CH-24, CH-25) | ondersteund | Unit, Browser, Mutatie | de labellagen per reeks (lollipop, bereik, dumbbell) toetsen geen vreemde merken |
stack: รฉรฉn netto totaal per stapel en categorie, voorbij het einde waar het teken heen wijst, in de tabel en de aankondiging, met asruimte aan het domeineinde; niet op een procentstapel | ondersteund | Unit, Browser, Mutatie | รฉรฉn plaats: botst of past het niet, dan verdwijnt het; geen totaal op een vlakstapel |
Kleur, verf per datum en kwantitatieve schalen#
Besluiten: ADR-092 (kleurstops, klassen, verf per datum),
ADR-094 (verf op de overige natuurlijke merken),
ADR-098 (gedeelde kleurschaal, kleur naar maat, belgrootte,
heatmapassen). Detail: API ยง 10.9 en ยง 10.13. Bewijs onder meer in
__ en e2e/.
| Capaciteit | Status | Bewijs | Bekende beperking |
|---|---|---|---|
Eรฉn publieke Quantitative (lineair met eigen colors, stops, klassen), gedeeld door heatmap, treemap en sunburst; de heatmap tekent haar standaardkleuren als voorheen | ondersteund | Unit, Mutatie | โ |
Kleurstops ('stops'): N kleuren op waarden, onregelmatig, de eerste en laatste stop zijn de uiteinden met โค/โฅ; twee en drie stops verven exact als sequentieel en divergerend; de gradiรซnt tekent elke stop | ondersteund | Unit, Browser, Mutatie | โ |
Benoemde klassen ('classes', [from, to)): klasselegenda onder of naast de matrix, de klasse in tooltip, tabel, aankondiging en beschrijving; een waarde buiten elke klasse neutraal en benoemd, ontbrekend blijft leeg; overlap en gaten gemeld | ondersteund | Unit, Browser, Mutatie | de klasselegenda staat alleen onder of rechts; geen klasse in CSV (ruwe waarden) |
Kleur naar maat op treemap en sunburst: color + color, domein over de hele boom, eigen waarde per datamerk, neutraal "no value", sleutel met onderschrift | ondersteund | Unit, Browser, Mutatie | โ |
| Labels op de werkelijke maatvulling (4,5:1 gemeten); drillen herschaalt niets; tooltip, tabel, aankondiging en CSV noemen de maat; export SVG, PNG en PDF zoals het scherm | ondersteund | Browser, Mutatie | โ |
Heatmapassen: x/y met titel, formatter, datumnotatie, order, reversed; รฉรฉn weergegeven volgorde voor alle lezers; gemeten goten (1440 tot 320 px, rtl, CJK) | ondersteund | Unit, Browser, Mutatie | geen scrollen of virtualisatie |
Belgrootte over de volledige data: zoom, pan en hergroepering veranderen geen straal; size klemt met ware waarden; ontbrekende grootte op markergrootte; een groottekolom in de datatabel, "(no value)" bij een ontbrekende grootte | ondersteund | Unit, Browser, Mutatie | alleen de wortelafbeelding (bewust) |
Groottesleutel (size, opt-in): door de straalfunctie van de merken, na de reekslegenda, in de export; weggelaten als dubbelzinnig bij verschillende schalen | ondersteund | Unit, Browser, Mutatie | geen sleutel per reeks (bewust, ADR-098) |
Veilige verf per datum (paint) op staaf- en scatterreeksen, lijn- en vlakmarkers (marker.) en taartpunten: รฉรฉn lezing per item voor merk, binnenlabelcontrast, tooltipsleutel en export; geforceerde kleuren overschrijven haar; de reekslegenda blijft de reekskleur, een taartsleutel volgt haar punt | ondersteund | Unit, Browser, Mutatie | "alleen verf" is runtime afgedwongen, niet in het type; alleen vulling, geen rand (W-FV-1) |
Verf per datum op lollipop (kop; de steel volgt), bereikstaaf (interval) en dumbbell (per einde, role), en per item op trechter, radiale staaf en nightingale: merk, legendasleutel, tooltip, export en labelcontrast volgen | ondersteund | Unit, Browser, Mutatie | de dumbbellconnector blijft de reekslijn |
Eรฉn resolveraanroep per item, ook over vele aanwijzerbewegingen (5.000 scatterpunten, 2.000 lollipopkoppen); scatter- met en zonder verf binnen de ruis | ondersteund | Browser, Mutatie | gemeten op een drukke machine; PF-V2 staat hier los van |
Geforceerde kleuren: gradiรซntbalk, klassestalen en maatvullingen klappen in tot Canvas met rand; groottesleutel in Canvas | ondersteund | Browser, Mutatie | alleen Chromium- en Firefox-emulatie, geen echte HCM |
Bekende beperkingen:
Geen logaritmische kleurschaal (uitgesteld, ADR-098).
Geen labels op gedeclareerde stops of tickintervallen op de gradiรซntbalk.
Geen generieke
colorover families, geen legenda voor meerdere schalen en geen kleurschaal per hiรซrarchieniveau.Axis Geen kleur naar maat op scatter; geen bivariate kleur; geen
size.By Absolute Value Geen verf per datum op boxplot en bereikvlak; kaars, OHLC en waterval verven naar rol (ADR-085). Verf is alleen vulling, nooit een rand (W-FV-1); geen drempelzones op staaf of scatter (zones: ยง Overlays, foutstaven en zones).
Radiale hoeken#
Besluiten: ADR-095 (hoekconventie), ADR-093 (radar). Detail: API ยง 10.10.
| Capaciteit | Status | Bewijs | Bekende beperking |
|---|---|---|---|
Eรฉn radiale klok: graden met de klok mee vanaf 12 uur, start + end, op radiale staaf en gauge; start op taart en nightingale | ondersteund | Unit, Browser, Mutatie | geen gedeeltelijke taart of roos (end), geen starthoek op sunburst en radar (uitgesteld) |
| Volle cirkel uit het ruwe verschil (0 โ 360, 90 โ 450, -90 โ 270); omgekeerd, leeg of niet-eindig: รฉรฉn diagnose en de familiestandaard; meer dan รฉรฉn slag: de volle cirkel | ondersteund | Unit, Browser, Mutatie | de gauge kent geen volle cirkel (bewust) |
| Standaardtekening van radiale staaf, gauge, taart, nightingale, sunburst en radar ongewijzigd door de conventie | ondersteund | Unit, Browser | โ |
| Taart: รฉรฉn snijhoekmodel voor snijden, sectorlabels, callouts, toetsenbordtick en tooltipanker; draaien verandert geen legenda-, toetsenbord-, tabel- of aankondigingsvolgorde | ondersteund | Unit, Browser, Mutatie | โ |
pad in graden op taart en nightingale | ondersteund | Unit, Mutatie | het type blijft number: een oude radiaalwaarde valt niet op bij het compileren |
| RTL en donker laten de radiale geometrie ongewijzigd; SVG-, PNG- en PDF-export dragen de schermgeometrie | ondersteund | Unit, Browser | de straal van een taart met callouts volgt de tekstmeting (minder dan 1 px verschil tussen LTR en RTL) |
| Veeg: start op de opgeloste start, het eigen aandeel van een slag over de hele duur, om het draaipunt (SVG-masker, Chromium en Firefox); in rust geen masker; gereduceerde beweging tekent meteen de rusttoestand | ondersteund | Unit, Browser, Mutatie | โ |
Radar: ontbrekend is een gat, de schaal volgt de zichtbare data, een expliciete grens wordt geopenbaard; de legenda telt op bij height (CH-20) | ondersteund | Unit, Browser, Mutatie | geen optie om over een gat te verbinden |
Overlays, foutstaven en zones#
Besluit: ADR-096. Detail: API ยง 10.11.
| Capaciteit | Status | Bewijs | Bekende beperking |
|---|---|---|---|
Foutstaven op lijn, scatter (ook x op een numerieke x-as) en staaf, staand en liggend, en <Chart>: error, neutrale inkt, kappen op getoonde grenzen, open einde aan de plotrand bij een expliciete grens of โค 0 op log | ondersteund | Unit, Browser, Mutatie | niet op stapels of vlakken (bewust) |
| De foutgrenzen in het automatische domein, de tooltip (enkel, gedeeld, gesplitst), de tabel, de aankondiging, CSV en kopiรซren als tabel; een buitenlabel voorbij de snorhaar | ondersteund | Unit, Browser, Mutatie | โ |
| Een reeks met foutstaven wordt niet gereduceerd en niet gegroepeerd (diagnose) | ondersteund | Unit, Mutatie | een dichte scatter met foutstaven kost verf per aanwijzerbeweging (PF-V3) |
soft/soft op numerieke assen: verbreden, nooit versmallen; volgorde bijdragen โ zacht โ expliciet โ labelruimte โ nice โ zoom; ongeldig genegeerd met een diagnose | ondersteund | Unit, Mutatie | โ |
Zones op lijn en vlak (zones: {axis?, ranges}), [from, to): de verf wisselt waar het getekende pad de grens kruist, op elke curve, omgekeerde en log-as, x op number, time en ordinal-time | ondersteund | Unit, Browser, Mutatie | geen x-zones op een categorie-as |
| Vlakzones: vulling en lijn per gebied (y naar hoogte, x naar positie); gestapeld vlak alleen x | ondersteund | Unit, Browser, Mutatie | y-zones op een stapel genegeerd (bewust) |
| Markers volgen de zone van hun waarde; benoemde zones in tooltip, tabel en aankondiging; geforceerde kleuren: systeemkleur van de reeks, de streep blijft; SVG, PNG en PDF tekenen dezelfde banden | ondersteund | Unit, Browser, Mutatie | โ |
Zonder error, soft/soft en zones tekent elke chart als voorheen | ondersteund | Unit, Browser | โ |
Bekende beperkingen:
Geen x-foutstaaf op een lijn; geen foutstaven op lollipop, dumbbell of de bereikfamilies.
Geen zones op staven of scatterpunten; geen vlakvulling tot een drempel; geen zonesleutel in de legenda.
Geen stijlknoppen voor foutstaven of zones (kaplengte, breedte, dekking, hoverstijl): neutrale inkt is beleid.
Een zachte grens op een tijd-, ordinal-time- of categorie-as wordt genegeerd met een diagnose (bewust).
Samengestelde reeksen en oriรซntatie#
Besluit: ADR-101. Detail: API ยง 10.15. Bewijs onder meer in
__, het typecontract
__ en e2e/.
| Capaciteit | Status | Bewijs | Bekende beperking |
|---|---|---|---|
Meerdere reeksen op Range, Range, Box en Dumbbell (series), uit de enkelvoudige sleutels รณf uit series | ondersteund | Unit, Browser, Mutatie | โ |
| Bereikstaven, boxen en halters van รฉรฉn familie, oriรซntatie en as automatisch naast elkaar in reeksvolgorde, binnen hun categorie; een verborgen reeks geeft haar vak terug; families groeperen niet met elkaar | ondersteund | Unit, Browser, Mutatie | geen groeperingsoptie, geen vakbreedte of -opvulling (bewust) |
| Bereikvlakken over elkaar in reeksvolgorde, de latere boven, elk met eigen dekking en randen; gaten per reeks | ondersteund | Unit, Browser, Mutatie | geen liggend bereikvlak (bewust) |
Liggende boxplot (horizontal): dezelfde vijf statistieken, rollen en woorden; liggend geen navigator en geen annotaties | ondersteund | Unit, Browser, Mutatie | โ |
| De aanwijzer vindt het gegroepeerde glyph dat hij ziet; het toetsenbord stapt categorie, reeks, dan laag voor hoog; een verborgen reeks is geen stap | ondersteund | Unit, Browser, Mutatie | โ |
| Meerdere halters: รฉรฉn legenda-item per reeks met een gepaarde sleutel van haar twee eindkleuren (scherm en export); tooltip, aankondiging en tabel noemen de reeks eerst | ondersteund | Unit, Browser, Mutatie | โ |
| Eindpuntlabels van bereikstaaf, bereikvlak en halter in de ene botsingsbeslissing van de plot; elk label bij zijn eigen glyph; geen kleiner font | ondersteund | Unit, Browser, Mutatie | โ |
| Dichte groepen: geen reeksgrens en geen "geen ruimte"-staat; glyphs blijven in hun categorie op 1200, 768, 390 en 320 px; labels wijken eerst | ondersteund | Browser, Mutatie | zeer smalle glyphs op de telefoon (bewust) |
| Omgekeerde as: de doos tussen Q1 en Q3 in beide oriรซntaties; eindpuntlabels houden hun rol | ondersteund | Unit, Browser, Mutatie | โ |
| Geforceerde kleuren: gegroepeerde bereikstaven in hun systeemkleuren per reeks (CH-28) en hun plaats; boxen, haltermarkers, randen en beide sleutels van een gepaard item zichtbaar | ondersteund | Browser | vanaf de zesde reeks herhalen de systeemkleuren; plaats en naam blijven |
| Export: SVG, PNG en PDF tekenen gegroepeerde en liggende geometrie zoals het scherm, met de gepaarde sleutel; CSV de ruwe rijen | ondersteund | Browser, Mutatie | โ |
Bekende beperkingen:
Geen update-animatie van de waarden op dumbbell, lollipop, boxplot, bereikstaaf en bereikvlak: zij hertekenen (LAB-AT10); hun gegroepeerde vakken schuiven wel bij verbergen en tonen (ADR-104).
Geen gedeelde of gesplitste tooltip op bereikvlak, bereikstaaf en boxplot (ADR-085); geen legenda-item per rol bij meerdere reeksen.
Bereikstaaf: geen binnenlabels, geen
min.Point Length Boxplot: geen kapverhouding, geen gemiddelde, geen inkeping (notch), geen verf per datum.
Bereikvlak: geen eigen randlijnen per zijde, geen markers, geen
connect.Missing Data Geen violin, jitter of swarm en geen statistische generatie: de host levert de vijf statistieken.
Hiรซrarchie en stroom#
Besluiten: ADR-099, ADR-093 (paden in rtl).
Detail: API ยง 10.14. Bewijs onder meer in
__ en e2e/.
| Capaciteit | Status | Bewijs | Bekende beperking |
|---|---|---|---|
Eรฉn labelbeleid voor treemap en sunburst: label. ('share', 'value' in value, 'none'), heel of niet; treemap alleen bladtegels | ondersteund | Unit, Browser, Mutatie | geen hostveld of formatter als tweede regel (bewust) |
label.: zichtbaarheid per niveau, geteld vanaf de getoonde wortel (drilldown herbasiseert); lezers houden elke naam en waarde | ondersteund | Unit, Browser, Mutatie | geen stijl per niveau (bewust) |
| Sunburst: tweede regel alleen waar de ring haar heel draagt, binnen de boog gemeten | ondersteund | Unit, Browser, Mutatie | op dunne buitenringen meestal afwezig (geometrie) |
| Een kop voor elke interne treemapknoop, een kopband alleen waar een kop staat (ook niet op de getoonde wortel); elke geneste groep een eigen toetsenbordelement (N3, CH-34) | ondersteund | Unit, Browser, Mutatie | โ |
| Het drillpad op identiteit; een vervangen boom tekent uit zijn huidige knopen, een verdwenen pad landt op het diepste overgebleven niveau (N2) | ondersteund | Unit, Mutatie | โ |
| Hiรซrarchiepaden lezen in ltr en rtl, met de kruimel naar het inline einde (CH-11) | ondersteund | Unit, Browser, Mutatie | โ |
Sankey node (justify, source, sink, center); labels, hover en menu volgen de knoop; geometrie spiegelt niet in rtl | ondersteund | Unit, Browser, Mutatie | geen expliciete kolom per knoop |
Sankey link (source, target, gradient); de eigen color van een link wint; gradiรซnt als gevulde band in SVG, PNG en PDF (axiale shading) | ondersteund | Unit, Browser, Mutatie | geforceerde kleuren houden de geschreven tinten, zoals elke identiteitsvulling (bevestigd) |
Sankey node (auto, input); de tabel houdt de volgorde van links | ondersteund | Unit, Browser, Mutatie | geen waardesortering (bewust) |
Het sankeytoetsenbord stapt per getekende kolom (layer), van boven naar beneden (N1) | ondersteund | Unit, Browser, Mutatie | โ |
Organigram collapsible, gecontroleerd en ongecontroleerd, op host-id; dubbele id ongeldig; zichtbare boom in layout, lijnen en pasgrenzen | ondersteund | Unit, Browser, Mutatie | een kaart zonder id kan niet inklappen |
| Eรฉn schakelgrammatica: badge met aantal, Enter en Spatie, menu (Collapse, Expand, Expand all below); de kaart schakelt nooit; focus naar de dichtstbijzijnde zichtbare voorouder | ondersteund | Unit, Browser, Mutatie | geen animatie van een deelboom (bewust) |
Organigram card (ten hoogste drie, op sleutel), van onderen weggelaten, nooit kleiner font; tooltip, tabel en CSV houden elk veld; 1200 tot 320 px binnen de kaart | ondersteund | Unit, Browser, Mutatie | geen automatische kaarthoogte, geen afbeelding |
| Export organigram: zichtbare boom, onderschrift over het ingeklapte deel; CSV en tabel de hele organisatie | ondersteund | Browser, Mutatie | โ |
Bekende beperkingen:
Geen totaal in het midden van een sunburst: het centrum houdt de naam van de gedrilde knoop.
Geen styler of dekkingsknop per sankeylink (bewust: de aandachtsgrammatica bezit de dekking).
Geen alternatieve organigramlayouts (hangend, gestapeld); geen eigen knoop- of kaartrenderers.
Scalairen: schaal, doel en replay#
Besluit: ADR-100. Detail: API ยง 3.5. Bewijs onder meer in
__ en e2e/.
| Capaciteit | Status | Bewijs | Bekende beperking |
|---|---|---|---|
Eรฉn schaal op meter, lineaire meter en bullet: scale (true: ronde waarden naar de lengte van boog of baan, nooit fijner dan de waardesemantiek; {ticks: [...]}: precies deze waarden, buiten het bereik niet getekend en gemeld); zonder scale ongewijzigd | ondersteund | Unit, Browser, Mutatie | โ |
| Schaalwoorden: uiteinden en doelwoord altijd, een tussenlabel wijkt (eerst om de andere), zijn streepje blijft; nooit een kleiner font; 1200, 768, 390 en 320 px zonder overlap en binnen de chart | ondersteund | Unit, Browser, Mutatie | โ |
Eรฉn doel: target als getal of {value, label} op meter, lineaire meter en bullet; het label vervangt het woord "Doel", het getal blijft; CSV houdt het getal | ondersteund | Unit, Browser, Mutatie | โ |
| Doel buiten de schaal: het merk stopt aan het uiteinde, woord, naam en tabel houden het ware getal (naam en tabel: "boven/onder de schaal"); een niet-eindig doel wordt niet getekend of genoemd (diagnose); doel 0 overal genoemd | ondersteund | Unit, Browser, Mutatie | geen eigen merk buiten de schaal (bewust) |
| Waarde buiten de schaal: de naam noemt de ware waarde "boven/onder het bereik", zonder afgeklemd aandeel; het aandeel van het doel alleen waar het iets betekent | ondersteund | Unit, Mutatie | โ |
Meter indicator: 'needle' | 'bar' (exclusief): de balk smaller dan de band, van start naar de waarde, in de on-fill-tint; zones, doel en uitlezing blijven; het doel boven naald en balk | ondersteund | Unit, Browser, Mutatie | โ |
Meter replay: een onzichtbaar trefgebied om de spil (geen cursor), en Replay animation in het menu waar de host het houdt (features.); terug naar het begin, dan de intrede naar de huidige waarde; genegeerd zolang de meter beweegt; niets onder verminderde beweging; context laat de spil werken | ondersteund | Unit, Browser, Mutatie | zonder menu-item alleen aanwijzer en aanraking (bewust: het is geen essentiรซle functie) |
| Export: schaal, doel en balk in SVG, PNG en PDF zoals het scherm; een export tijdens een replay schrijft de rustwaarde; het trefgebied gaat nooit mee | ondersteund | Browser, Mutatie | โ |
Geforceerde kleuren: naald, balk, markeringen en doelen Canvas, streepjes Gray, teksten Canvas; de zones houden hun tinten | ondersteund | Browser | alleen emulatie |
Bekende beperkingen:
Eรฉn doel per scalair; geen tweede vergelijkend merk.
Geen tickaantal of -interval, geen kleine streepjes, geen tickformatter en geen stijl per streepje of doel.
Geen zichtbare namen van meterzones of bulletbanden (de lezers noemen ze wel).
Geen naald en balk tegelijk, geen gesegmenteerde boog, geen stijl voor radiale voortgang; de lineaire meter vult niet naar zone.
Geen logaritmische scalaire schaal; geen multi-bullet op een gedeelde as.
Geen gebeurtenis bij het einde van een replay en geen generieke replay-API (
onvuurt niet opnieuw).Animation Complete
Activering en selectie#
Besluiten: ADR-042 (betekenis, Cartesisch: ยง Level 2),
ADR-102 (de losse families). Detail: API ยง 2.1 en ยง 2.1.1.
Bewijs onder meer in __ en
e2e/.
| Capaciteit | Status | Bewijs | Bekende beperking |
|---|---|---|---|
selection, selected, default, on en on op taart, trechter, radiale staaf, nightingale, radar, heatmap, treemap, sunburst en sankey, met de betekenis van ADR-042 | ondersteund | Unit, Browser, Mutatie | organigram, tijdlijn, scalairen en sparkline niet (bewust) |
Eรฉn Chart in vier vormen: item van een reeks, cel, knoop, link; รฉรฉn vergelijking, nooit een positie of label | ondersteund | Unit, Browser, Mutatie | een host die een verwijzing als reeksitem leest, vernauwt ('series, kind) |
| Een klik of tik selecteert en activeert daarna; Spatie selecteert, Enter activeert; activering zonder selectie en selectie zonder handler; zonder de props verandert er niets | ondersteund | Unit, Browser, Mutatie | โ |
| Radar: het hoekpunt als item; het toetsenbord met PageUp en PageDown op รฉรฉn hoekpunt | ondersteund | Unit, Browser, Mutatie | alleen met selectie of activering aan; anders blijft het toetsenbord op de variabele |
| Heatmap: een cel met een rij; een lege kruising is geen item; identiteit op de waarden, ongevoelig voor asvolgorde | ondersteund | Unit, Browser, Mutatie | โ |
Treemap en sunburst: alleen bladeren op hun host-id; een ouder blijft drillen; een uitgedrild blad is inactief | ondersteund | Unit, Browser, Mutatie | een blad zonder id is alleen te activeren |
Sankey: knopen en links; Link, anders bron en doel; parallelle links zonder id รฉรฉn item met รฉรฉn melding; Spatie selecteert, Enter doorloopt, Shift+Enter activeert; aandacht van een link op dezelfde identiteit | ondersteund | Unit, Browser, Mutatie | โ |
Gecontroleerd en ongecontroleerd; niet getekend is inactief, niet verwijderd; alleen ongecontroleerd snoeit, รฉรฉn keer met update | ondersteund | Unit, Mutatie | โ |
Het driehoekje op het item, zonder andere vulling, maat of plaats; geforceerde kleuren Highlight; 390 en 320 px binnen de chart, de pagina groeit niet | ondersteund | Unit, Browser, Mutatie | โ |
Naam, aankondiging, tabel en selected noemen de geselecteerde getekende items; geen aria- op role="img" | ondersteund | Unit, Browser | een sankeyknoop heeft geen tabelrij |
| Export en print in rust: geen driehoekje in SVG, PNG, PDF of print; CSV ruw | ondersteund | Unit, Browser, Mutatie | โ |
| Op omvang (2.500 cellen, 2.000 bladeren, 500 links) een selectiewijziging binnen de kosten van een gewone hover op dezelfde chart, niet groeiend met het aantal geselecteerde | gemeten | Browser | een interactie hertekent de hele familie (ook een hover; ROADMAP PF-V4) |
Bekende beperkingen:
Geen ouder- of groepsselectie op treemap en sunburst; geen automatische selectie van voorouders of afstammelingen.
Geen ingebouwde menu-items Selecteren en Deselecteren in het contextmenu.
Geen selectie op reeksniveau en geen bereik-, lasso-, brush- of sleepselectie.
Dubbelklikken heeft geen betekenis.
Geen stijlopties voor de selectie; geen zin met het aantal geselecteerde items in de beschrijving; geen selectiekolom in CSV.
Geen generiek selectiemodel voor grafen buiten de sankey.
Familie-enkelingen#
Besluiten: ADR-103 (histogram, tijdlijn, kaars, sparkline),
ADR-097 (watervalsoorten). Staafplaatsing en
trechtercontext: ยง Waardebetekenis en labels. Detail: API ยง 10.12 en ยง 10.16.
Bewijs onder meer in __,
t9-, t9-,
e2e/ en e2e/.
| Capaciteit | Status | Bewijs | Bekende beperking |
|---|---|---|---|
Histogram: รฉรฉn binregel (bin, bin of bins); een onbruikbare regel geeft een diagnose en de standaardtelling (API ยง 10.16) | ondersteund | Unit, Browser, Mutatie | โ |
Histogram: area bij telling en som tekent ongelijke bins naar oppervlak; label, tooltipwaarde, aankondiging en tabel houden de hoeveelheid (API ยง 10.16) | ondersteund | Unit, Browser, Mutatie | niet bij een gemiddelde; de y-astitel is van de host |
Tijdlijn: ordinaal blijft de standaard; time met machine-time per event plaatst op tijd, gelijke tijden op รฉรฉn x, markers nooit verschoven; toetsenbord, tabel en aankondiging in tijdvolgorde, gelijke tijden in hostvolgorde; CSV in hostvolgorde met time; รฉรฉn event zonder tijd: de hele chart ordinaal met รฉรฉn diagnose | ondersteund | Unit, Browser, Mutatie | samenvallende markers zijn voor de aanwijzer รฉรฉn doel (toetsenbord en tabel bereiken elk event) |
Candlestick: body (standaard 1, 0 mag) in de richtingskleur, de lont ongewijzigd; geforceerde kleuren houden een rand van 1 px op een randloos lichaam, hol tegenover gevuld blijft | ondersteund | Unit, Browser, Mutatie | โ |
Sparkline: domain exact (geen opvulling, geen nul) op lijn, vlak en staaf; gedeeld domein tekent gelijke waarden op gelijke hoogte; buiten het domein tot de rand, punten buiten niet getekend, CSV ruw; ongeldig: diagnose en automatisch | ondersteund | Unit, Browser, Mutatie | โ |
| Sparkline: een staaf leest vanaf nul; het automatische domein van een staafsparkline reikt tot nul, dat van lijn en vlak niet; een hostdomein wordt nooit verbreed | ondersteund | Unit, Browser, Mutatie | โ |
| Export van deze opties: SVG schrijft de schermgeometrie van elk geval; PNG en PDF dragen de lichaamsrand; CSV ruw | ondersteund | Browser, Mutatie | โ |
Waterval: รฉรฉn rolveld kind met change, subtotal, total | ondersteund | Unit, Mutatie | geen totalen op positie zonder datarij (bewust) |
| Waterval: zwevend subtotaal (nettobeweging sinds het vorige subtotaal of totaal), totaal vanaf nul; beide waar ook, herhaald, gevolgd door mutaties; het saldo verandert niet | ondersteund | Unit, Browser, Mutatie | โ |
| Waterval: afgeleid bedrag; een afwijkende eigen waarde, een onbekende soort en een niet-eindige mutatie geven een ontwikkeldiagnose; een ontbrekende mutatie tekent niets | ondersteund | Unit, Mutatie | โ |
| Waterval: label, tooltip, tabel (soortkolom), aankondiging, dradenkruis en kopieer-waarde lezen dezelfde soort en hetzelfde bedrag; zoom hernoemt niets | ondersteund | Unit, Browser, Mutatie | โ |
Waterval: subtotaal in de verf van het totaal; geforceerde kleuren Gray; bruggen alleen op saldi; omgekeerde as; SVG, PNG en PDF zoals het scherm; CSV ruw met de soortkolom | ondersteund | Unit, Browser, Mutatie | geen eigen subtotaalverf (bewust) |
Bekende beperkingen:
Histogram: geen binoorsprong en geen benoemde binregels; geen KDE of normaalcurve (hostsamenstelling), geen cumulatief histogram, geen bins op tijdwaarden.
Trechter: geen ingebouwde modus "aandeel van de vorige" (de context draagt het getal); geen piramide en geen liggende trechter.
Tijdlijn: geen Gantt, geen periode-events, geen verticale oriรซntatie; geen tijdas met streepjes; geen aanwijzing voor samenvallende markers.
Candlestick: geen breedte per richting; geen holle variant in gewone weergave.
Sparkline: geen eenzijdige of zachte grenzen; geen tooltip, referentielijn of negatieve kleur.
Waterval: geen liggende of gestapelde waterval; geen annotaties; geen breedte of streep voor de bruggen; geen stijlknoppen voor het subtotaal; geen binnenlabels.
Beweging: profiel en klassen#
Besluit: ADR-104 met zijn aanvullingen. Detail: API ยง 2.4, ARCHITECTURE ยง 7.10. Metrieken: QUALITY-BUDGETS ยง 7.
| Capaciteit | Status | Bewijs | Bekende beperking |
|---|---|---|---|
animation als profiel (calm, responsive) plus de klassen entrance, update, exit, tooltip, attention, replay; serialiseerbaar, benoemde curves | ondersteund | Unit, Type, Mutatie | โ |
Voorrang profiel โ Chart โ grafiek โ serie (entrance, exit) โ gereduceerde beweging, klasse voor klasse samengevoegd; ook een plain <Chart> | ondersteund | Unit, Browser, Mutatie | โ |
animation: false en gereduceerde beweging: elke interpolatie ogenblikkelijk (ook herschikking, replay en discrete zoom), alle interactie en elk resultaat blijft | ondersteund | Unit, Browser, Mutatie | โ |
| Validatie: niet-eindig of negatief valt terug op het profiel; tooltip en aandacht โค 600 ms, geometrie โค 3.000 ms; รฉรฉn ontwikkeldiagnose | ondersteund | Unit, Mutatie | โ |
| Tooltip: inhoud in het eerste frame, invagen en uitvagen op de tooltipduur, glijden tussen merken binnen รฉรฉn zijde, direct bij een zijdewissel of bij volgen, terugkeer zonder knipper | ondersteund | Unit, Browser, Mutatie | de gesplitste tooltip glijdt niet (elk vak hangt aan een steel) |
| Locators (crosshair, knopen, cues, heatmaprugmarkeringen) direct op hun plaats; vertrek samen met de tooltip | ondersteund | Browser, Mutatie | โ |
| Aandacht: wissel en vrijgave (1,8 ร de wissel), ook bij een legendavoorbeeld; alleen dekking | ondersteund | Browser, Mutatie | organigram en tijdlijn kennen geen aandachtsovergang |
| Kleursleutelmarkering van de heatmap reist naar de nieuwe waarde; de waarde staat meteen in de tooltip | ondersteund | Browser, Mutatie | โ |
| Update standaard aan op elke updatefamilie, vanaf de getekende stand, met de curve van de klasse | ondersteund | Unit, Browser, Mutatie | geen eerlijk paar voor een gewijzigd aantal punten: dan geldt d3- |
| Gegroepeerde vakken (staaf, bereikstaaf, boxplot, halter): exit in het eigen vak, daarna schuiven de buren; hitgebied en labels bewegen mee | ondersteund | Unit, Browser, Mutatie | een teruggekeerde reeks staat meteen in haar eindvak |
| Replay van de meter: 35 % terug, 65 % omhoog op de replayklasse; waarde en toegankelijke naam blijven de rustwaarde | ondersteund | Unit, Browser, Mutatie | een verzoek tijdens een lopende beweging wordt genegeerd |
| Oriรซntatiewijziging: direct in de nieuwe ligging, geen beweging ertussen | ondersteund | Unit, Mutatie | โ |
| Export tijdens een beweging (entrance, update, herschikking, replay, discrete zoom) wacht tot rust; geen tooltip, locator, aandacht of markering in de export, SVG, PNG en PDF | ondersteund | Unit, Browser, Mutatie | โ |
| Aanraking: een tik toont de kaart en zij blijft; een glijdende vinger draagt een aanwijzergebonden kaart direct; een tweede vinger is geen hover | ondersteund | Unit, Browser | geรซmuleerd in Chromium; een echt toestel is AC-V5 |
Geen
none-profiel, geen presets, geen vrije cubic-bezier, geen easing per interactieklasse, geen override van gereduceerde beweging en geen aparte knop voor de herschikking of de replayverdeling (ADR-104).
Theming: het CSS-tokencontract en zijn grenzen#
Besluiten: ADR-043 (tokencontract, pakketdefaults, zelfgeladen stylesheet), ADR-044 (kleurbeslissingen in het levende element, capture-transactie), ADR-045 (geen visuele thema-API), ADR-046 (hostpalet is hostbezit), ADR-047 (paletkopieรซn, privรฉ-eigendom), ADR-050 (stylesheetactivering, tekstmeting in de scope). Detail: API ยง 13.
| Capaciteit | Status | Bewijs | Bekende beperking |
|---|---|---|---|
Eรฉn tokencontract: publieke token over privรฉ-pakketdefault; geen --color--alias gelezen | ondersteund | Unit, Contract, Browser, Mutatie | de aliasveeg ziet alleen wat de scenario's renderen |
| Volledige pakketdefaults licht en donker, zonder host-stylesheet, binnen de budgetten | ondersteund | Contract, Browser, Mutatie | gemeten op de eigen oppervlakken van het package; hostwaarden meet de host |
| Eรฉn geaggregeerd stylesheet, door de entry geladen; geen Tailwind-scan of designsysteemimport nodig | ondersteund | Contract, Browser, Mutatie | geen publiek stylesheet-subpad (publicatiewerk) |
| Centrale hostoverride bereikt Cartesische en losse charts, in elke stylesheetvolgorde | ondersteund | Browser, Mutatie | โ |
Geen visuele thema-API: geen theme, geen Chart, geen kleur op <Chart (ADR-045) | ondersteund | Unit, Mutatie | โ |
Chartlokale colors en expliciete serie-, datum- en annotatiekleuren, ook in SVG- en PNG-export (ADR-045) | ondersteund | Unit, Browser, Mutatie | โ |
| Gescoopte CSS-override bereikt Cartesische en losse charts, alleen binnen haar scope (ADR-045) | ondersteund | Browser, Mutatie | โ |
| Bullet: waardebalk als contrasterende markering over banden en track, zonder eigen rol (ADR-045) | ondersteund | Unit, Mutatie | ongemeten (server, eerste render) het donkere on-fill-token |
| Afnemers dragen geen eigen palet en geen UI-intentiekleur als categorie (ADR-045) | ondersteund | Gate, Mutatie | een kleur die via een variabele uit een ander bestand komt, ziet de gate niet |
| Afnemers declareren geen paletkopie in een stylesheet of stijlobject; รฉรฉn slot of een semantische rol blijft een gescoopte override (ADR-047) | ondersteund | Gate, Mutatie | een palet via set of een berekende sleutel ziet de gate niet |
Wat het package declareert of schrijft, staat onder --ac-; de publieke --chart--namen zijn van de host (ADR-047) | ondersteund | Contract, Mutatie | โ |
| Een hostpalet wijzigt niets in het package: de pakketdefaults blijven merkneutraal en letterlijk (ADR-046) | ondersteund | Contract, Browser, Mutatie | wat het palet van de host is, beslist en meet de host |
| On-fill-beslissingen lossen op in het chartelement: een gescoopte override telt mee (ADR-044) | ondersteund | Unit, Browser, Mutatie | โ |
| Moduswissel, accentwissel, centrale tokenwijziging en gescoopte override zonder remount (ADR-044) | ondersteund | Unit, Browser, Mutatie | een CSSOM-wijziging vraagt invalidate; de paint volgt wel vanzelf |
| Heatmapcellen en gradiรซntlegenda tonen รฉรฉn schaal, in licht en donker | ondersteund | Unit, Browser, Mutatie | โ |
| SVG-, PNG- en PDF-export tonen de weergave van het moment waarop zij oplossen, ook na een wissel; een stijlwissel vรณรณr of tijdens de capture geeft รฉรฉn generatie (ADR-044) | ondersteund | Unit, Browser, Mutatie | stijl die alleen uit een stylesheetregel komt (focusring, print) gaat niet mee; drie pogingen, dan een fout |
| Server-render en hydratatie zonder stijllezing tijdens de render; een niet-gemounte chart schat zijn labels (ADR-050) | ondersteund | Unit, Mutatie | โ |
Stylesheetactivering (media, disabled, rel, type, href, title in <head>; een <link> die laadt of niet laadt) invalideert vanzelf, ook tijdens een export (ADR-050) | ondersteund | Unit, Browser, Mutatie | stylesheets buiten <head>, CSSOM-vlaggen en andere mediavoorwaarden vragen invalidate (API ยง 13) |
| Tick- en datalabels gemeten in het font van de eigen scope: fontvariabele, geรซrfde familie en gewicht; zustercharts verschillen (ADR-050) | ondersteund | Unit, Browser, Mutatie | taart, gauge, funnel, nightingale, radial bar, bullet, labelachtergrond en heatmapcellabel schatten heuristisch |
Buiten scope#
Niet geautoriseerd en geparkeerd (ADR-041): meer dan twee
assen, willekeurige assen aan รฉรฉn kant, onafhankelijke x-assen, generieke
drilldown, rijkere of bewerkbare annotaties, extra indicatoren, brede generics
voor callbackcontexten en een publiek plugin-ecosysteem
(ROADMAP. ยง 5.4 en ยง 5.5). Een andere renderer en live data
wachten op de trigger in PERFORMANCE. ยง Budgetten en
besluit A2. Specialistische families en tools vallen buiten de beoogde scope
(ROADMAP ยง 5.1 en ยง 6); maps en geografische charts voorlopig ook
(ADR-062).