# Rendered series inspection

Import from `@pibbl/core/viz/inspection`. Rendering-only applications can omit
this entry. Pass an optional inspection ref to one mounted series:

```tsx
import { signal, type PibblLogicalMouseEvent } from "@pibbl/core";
import {
  PointSeries,
  defineSeries,
  linearInterpolation,
} from "@pibbl/core/viz";
import {
  anchorInsideClips,
  lastSourceObservation,
  nearestRecordedX,
  sampleRecordedX,
  usePointInspection,
  withInspection,
} from "@pibbl/core/viz/inspection";

function InspectedPoints() {
  const series = defineSeries({
    data: [{ time: 0, price: 10 }],
    x: "time",
    y: "price",
  });
  const inspection = usePointInspection(series);
  return (
    <PointSeries
      {...series}
      xScale="time"
      yScale="price"
      inspection={inspection}
    />
  );
}
```

`useNumericInspection(series)` captures numeric line/point observations.
`usePointInspection(series)` also exposes point circle/ring geometry.
`useBarInspection(inputs)` captures value, range and grouped categorical bars.
Descriptors supply datum inference; hooks do not read data, subscribe to signals,
build indexes or run queries. The renderer records values it already evaluated.
Numeric capture requires continuous numeric scales; categorical point/line
inspection is not currently supported. Category/group identity in bars remains
its original string or number.

## Standalone queries

```ts
function QueryNearest() {
  const series = defineSeries({
    data: [{ time: 0, price: 10 }],
    x: "time",
    y: "price",
  });
  const inspection = usePointInspection(series);
  const rendered = inspection.rendered();
  if (rendered) {
    const hit = nearestRecordedX(rendered, { domainX: 8 });
    console.log(hit?.datum, hit?.sourceIndex, hit?.domainY);
  }
  return <PointSeries {...series} xScale="time" yScale="price" inspection={inspection} />;
}
```

`nearestRecordedX` selects by absolute horizontal domain distance, returning
`domainDelta`. `nearestRecordedPoint` accepts `rootPoint` and returns Euclidean
`rootDistance`. Equal distances choose the first source observation. Limits are
inclusive (`maxDomainDelta`, `maxRootDistance`); a missing requested domain x,
empty data or no qualifying row returns undefined. Invalid finite-coordinate or
negative-limit inputs throw actionable errors. These selections are not event
targets and do not require marks to cover the query point.

Results preserve the original typed `datum`, zero-based `sourceIndex`, captured
`domainX`/`domainY`, `anchorLocal` and `anchorRoot`. Domain units follow the scales,
such as UTC milliseconds. Local anchors are series-local logical Canvas units;
root anchors/distances use root-logical Canvas units, not CSS/device pixels.
`rendered.domainXAtRoot(rootPoint)` uses the captured inverse transform and scale.
A singular transform yields undefined for inversion and painted lookup.

No filter means all finite observations accepted by the renderer's `defined`
predicate participate, including offscreen anchors. An optional pure
`filter(candidate)` additionally restricts that request:

```ts
function QueryVisibleNearest() {
  const series = defineSeries({
    data: [{ time: 0, price: 10 }],
    x: "time",
    y: "price",
  });
  const inspection = usePointInspection(series);
  const rendered = inspection.rendered();
  if (rendered)
    nearestRecordedX(rendered, {
      domainX: 8,
      filter: anchorInsideClips,
    });
  return <PointSeries {...series} xScale="time" yScale="price" inspection={inspection} />;
}
```

`anchorInsideClips` tests the observation anchor against every committed clip and
Layer bound. It does not test scene-wide occlusion. Custom filters receive the
original datum/index, captured values/anchors and an `anchorInsideClips()` method;
false removes that row from consideration. Filters cannot restore undefined rows
and do not change what is rendered.

## Explicit interpolation

```ts
function QueryInterpolatedSample() {
  const series = defineSeries({
    data: [{ time: 0, price: 10 }],
    x: "time",
    y: "price",
  });
  const inspection = usePointInspection(series);
  const rendered = inspection.rendered();
  if (rendered)
    sampleRecordedX(rendered, {
      domainX: 8,
      interpolation: linearInterpolation(),
      resolveDuplicate: lastSourceObservation,
    });
  return <PointSeries {...series} xScale="time" yScale="price" inspection={inspection} />;
}
```

`sampleRecordedX` returns `kind: "exact"` with an original record, or
`kind: "interpolated"` with both original observations (including source indices),
fraction, domain values and mapped local/root anchors. An estimate has no invented
datum. Input x must be nondecreasing within each valid run. Missing/excluded rows
and filter rejections split runs; interpolation never bridges them or extrapolates.
`maxDomainGap` rejects larger intervals. Duplicate x rejects by default.
An optional `resolveDuplicate(first, next)` must return one of those supplied
observations; `firstSourceObservation` and `lastSourceObservation` are ordinary
imported resolver functions. Interpolation and resolver callbacks must be pure,
synchronous and return valid values.

## Lazy ordinary handlers

```tsx
function ClickSelection() {
  const series = defineSeries({
    data: [{ time: 0, price: 10 }],
    x: "time",
    y: "price",
  });
  const inspection = usePointInspection(series);
  const selection = signal<{ time: number; price: number } | null>(null);
  const onClick = withInspection<PibblLogicalMouseEvent>((event, context) => {
    const rendered = context.rendered(inspection);
    if (!rendered) return;
    const rootPoint = { x: event.x, y: event.y };
    const hit = context.request(nearestRecordedX, rendered, {
      domainX: rendered.domainXAtRoot(rootPoint),
    });
    selection.set(hit?.datum ?? null);
  });
  return (
    <PointSeries
      {...series}
      xScale="time"
      yScale="price"
      inspection={inspection}
      onClick={onClick}
    />
  );
}
```

The event is unchanged. The second argument expires when the synchronous handler
returns; promise-returning handlers/queries are unsupported. Contexts pin the
selected generation and memoize per logical dispatch, rendered identity, query
function identity and equal argument values, including undefined results.
Plain options and logical points compare by value; filter/interpolation/resolver
functions compare by identity. Reuse callback functions for repeatable requests.
Arguments do not accept arbitrary cyclic/class/array payloads. No query executes
without a request, and caches release at dispatch completion.

For empty-space selection attach the adapter to a plot ancestor and put a
transparent Rectangle behind the marks. Root conversion uses the inspected
series' transform, not the ancestor handler's. Click/tap use ordinary events;
keyboard handlers supply an explicit domain value or root point. They never
invent a pointer. No additional hover subscription or render is necessary.

## Painted discrete marks

`paintedPointAt(rendered, { rootPoint })` selects the last-painted circle/ring
covering the point. It returns the original observation plus local radius and
stroke width; hollow centers and zero-radius marks have no match.
`paintedBarAt(rendered, { rootPoint })` selects the last-painted rectangle and
returns original datum/index, category/group, `valueStart`/`valueEnd` (including
baseline for ordinary bars), and `boundsLocal`.

These linear reverse-order lookups respect actual geometric fill/stroke,
transforms, arbitrary clips and Layer bounds. They do not read pixels, resolve
scene-wide occlusion or change the logical event target. Transparent paint follows
Pibbl's existing geometric targeting convention; filters do not expand lookup
geometry. Explicit inspection can query decorative `pointerEvents="none"` paint.

Line segments, filled areas and interval bands have no universal original datum
at every painted position. Their painted-datum operation is deliberately
unsupported. Custom PlotSeries marks already receive datum/index in `render`;
attach a handler to authored geometry. PieLayout/PieSlice already supply original
datum/index/key, values, angles and radii; close over that slice rather than search
again. Area/band observation queries preserving baseline/both bounds are pending
their dedicated authoring checkpoint.

## Ownership and cost

`rendered()` returns undefined before first successful paint/after unmount or
disposal. A rendered series is borrowed from one committed visual generation;
stale/disposed queries throw. Signal writes schedule a later render and do not
replace captured values during dispatch. Results may be retained: geometry and
calculated values are read-only, while original datum/neighbor references remain
caller-owned and are not deeply frozen. Replace records through signals rather
than mutating them in place to keep original data and painted values aligned.

Optional capture retains O(n) row metadata. Queries use O(n) scans; interpolation
also uses O(n) temporary run storage. There is no sorting, speculative spatial
index, global series registry, per-row event object or additional scheduler.
Existing `closestX`, `closestPoint`, `interpolateX` and HoverData retain their
current-data/local-coordinate contracts; they are not silently converted to
committed-render inspection.

## Current coverage

| Family             | Supported observation contract                                               | Painted identity                                  |
| ------------------ | ---------------------------------------------------------------------------- | ------------------------------------------------- |
| LineSeries         | Finite numeric x/y, original record/index, contiguous runs                   | Unsupported on continuous segments/curves         |
| PointSeries        | Finite numeric x/y; defined gaps and zero-radius observations preserved      | Circle/ring fill and stroke, reverse source order |
| BarSeries          | Original category/group, baseline or range endpoints, local rectangle bounds | Value/range/grouped rectangles, both orientations |
| AreaSeries         | Baseline-preserving inspection pending a dedicated design                    | Unsupported on continuous fill                    |
| IntervalBandSeries | Both-bounds inspection pending a dedicated design                            | Unsupported on continuous fill                    |
| PlotSeries         | Existing render callback supplies original record/index/key                  | Close over the record in an authored mark handler |
| PieLayout/PieSlice | Existing slice supplies record/index/key/value/fraction/angles/radii         | Close over the slice in an authored wedge handler |
| Candles/volume     | Pending financial batch; will share this ownership foundation                | Dedicated geometry contracts pending              |

Every supported captured family uses the same successful-root generation,
transformed/clipped coordinates, dispatch memoization, signal-update and disposal
rules. A clean cached Layer reuses evaluated data while a changed ancestor
transform or clip produces a new borrowed root generation. One ref supports one
live series receiver; a keyed replacement may adopt the same surviving hook.
Failed rendering follows core teardown semantics: the inspection ref releases
its metadata and retained borrowed generations reject queries.

## API details from source

<span id="api-useNumericInspection"></span>

### useNumericInspection

Owns optional numeric capture without reading signals or executing queries.

```ts
useNumericInspection: <D>(_series: HoverSeries<D>) => NumericInspectionRef<D>
```

Related API: [useNumericInspection](/reference/functions/rendered-series-inspection/), [HoverSeries](/reference/functions/define-series/), [NumericInspectionRef](/reference/functions/rendered-series-inspection/).

#### Parameters

- **`_series`** — Typed descriptor used for datum inference; not observed or registered.

#### Returns

A stable mount-owned capture ref; pass it to one numeric series' inspection prop.

#### See also

[NumericInspectionRef](/reference/functions/rendered-series-inspection/)

[View source — packages/core/src/features/viz/inspection/capture.ts:56](/source/packages/core/src/features/viz/inspection/capture-ts/#L56)

<span id="api-usePointInspection"></span>

### usePointInspection

Owns optional circle/ring capture for one PointSeries; O(n) retained geometry when enabled.

```ts
usePointInspection: <D>(_series: HoverSeries<D>) => PointInspectionRef<D>
```

Related API: [usePointInspection](/reference/functions/rendered-series-inspection/), [HoverSeries](/reference/functions/define-series/), [PointInspectionRef](/reference/functions/rendered-series-inspection/).

#### Parameters

- **`_series`** — Typed descriptor used for datum inference; not observed or registered.

#### Returns

A stable point inspection ref. Rendered records are borrowed until replacement/disposal.

#### See also

[PointInspectionRef](/reference/functions/rendered-series-inspection/)

[View source — packages/core/src/features/viz/inspection/capture.ts:68](/source/packages/core/src/features/viz/inspection/capture-ts/#L68)

<span id="api-withInspection"></span>

### withInspection

Adapts an ordinary handler to lazy typed inspection without changing its event.

```ts
withInspection: <E extends PibblEvent>(handler: (event: E, context: InspectionContext) => void) => (event: E) => void
```

Related API: [withInspection](/reference/functions/rendered-series-inspection/), [PibblEvent](/reference/types/events/#pibblevent), [InspectionContext](/reference/functions/rendered-series-inspection/).

#### Parameters

- **`handler`** — Synchronous callback receiving the unchanged event and an expiring context.

#### Returns

An ordinary event handler. Searches occur only on request; memo state releases at dispatch end.

#### See also

[InspectionContext](/reference/functions/rendered-series-inspection/)

[View source — packages/core/src/features/viz/inspection/handler.ts:87](/source/packages/core/src/features/viz/inspection/handler-ts/#L87)

<span id="api-paintedPointAt"></span>

### paintedPointAt

Selects the last-painted circle/ring covering a root-logical position in this series.
This is geometric fill/stroke coverage, not alpha readback or a Pibbl event target.

```ts
paintedPointAt: <D>(rendered: PointRenderedSeries<D>, options: { rootPoint: Readonly<RenderedSeriesPoint>; }) => PaintedPointHit<D> | undefined
```

Related API: [paintedPointAt](/reference/functions/rendered-series-inspection/), [PointRenderedSeries](/reference/functions/rendered-series-inspection/), [RenderedSeriesPoint](/reference/functions/rendered-series-inspection/), [PaintedPointHit](/reference/functions/rendered-series-inspection/).

#### Parameters

- **`rendered`** — Borrowed point geometry from the last successful paint.

- **`options`** — Explicit root-logical query point; CSS/device pixels are unsupported.

#### Returns

Original datum/index and captured geometry, or undefined for clips, holes, omissions or singular transforms.

#### See also

[PaintedPointHit](/reference/functions/rendered-series-inspection/)

[View source — packages/core/src/features/viz/inspection/painted-point.ts:22](/source/packages/core/src/features/viz/inspection/painted-point-ts/#L22)

<span id="api-useBarInspection"></span>

### useBarInspection

Owns opt-in capture for ordinary, range or grouped categorical bars.

```ts
useBarInspection: <D>(_inputs: Pick<BarSeriesProps<D>, "data" | "category">) => BarInspectionRef<D>
```

Related API: [useBarInspection](/reference/functions/rendered-series-inspection/), [BarSeriesProps](/reference/components/bar-series/), [BarInspectionRef](/reference/functions/rendered-series-inspection/).

#### Parameters

- **`_inputs`** — Bar inputs used for datum inference; no data is read or subscribed here.

#### Returns

A stable ref to pass to one BarSeries inspection prop; captured endpoints share one fixed contract.

#### See also

[BarInspectionRef](/reference/functions/rendered-series-inspection/)

[View source — packages/core/src/features/viz/inspection/bar.ts:74](/source/packages/core/src/features/viz/inspection/bar-ts/#L74)

<span id="api-paintedBarAt"></span>

### paintedBarAt

Finds the last-painted bar covering a root-logical point in this explicit series.

```ts
paintedBarAt: <D>(rendered: BarRenderedSeries<D>, options: { rootPoint: Readonly<RenderedSeriesPoint>; }) => PaintedBarHit<D> | undefined
```

Related API: [paintedBarAt](/reference/functions/rendered-series-inspection/), [BarRenderedSeries](/reference/functions/rendered-series-inspection/), [RenderedSeriesPoint](/reference/functions/rendered-series-inspection/), [PaintedBarHit](/reference/functions/rendered-series-inspection/).

#### Parameters

- **`rendered`** — Borrowed committed categorical bar values and rectangle geometry.

- **`options`** — Root-logical query point; respects every clip, fill/stroke and source order.

#### Returns

Original record, category/group, endpoints and local bounds, or undefined for gaps and singular transforms.

#### See also

[PaintedBarHit](/reference/functions/rendered-series-inspection/)

[View source — packages/core/src/features/viz/inspection/bar.ts:96](/source/packages/core/src/features/viz/inspection/bar-ts/#L96)

<span id="api-BarInspectionRef"></span>

### BarInspectionRef

Mount-owned optional categorical-bar capture.

```ts
interface BarInspectionRef<D>
```

Related API: [BarInspectionRef](/reference/functions/rendered-series-inspection/).

#### See also

[BarRenderedSeries](/reference/functions/rendered-series-inspection/)

[View source — packages/core/src/features/viz/inspection/bar.ts:57](/source/packages/core/src/features/viz/inspection/bar-ts/#L57)

#### Properties and methods

<span id="api-BarInspectionRef-rendered"></span>
<details>
<summary>rendered</summary>


```ts
rendered: () => BarRenderedSeries<D> | undefined
```

Related API: [BarRenderedSeries](/reference/functions/rendered-series-inspection/).

Returns the last successful generation.

##### Returns

Borrowed bar geometry or undefined before paint/after disposal.

[View source — packages/core/src/features/viz/inspection/bar.ts:61](/source/packages/core/src/features/viz/inspection/bar-ts/#L61)

</details>

<span id="api-BarInspectionRef-capture"></span>
<details>
<summary>capture</summary>


```ts
capture: (input: readonly CapturedBarMark<D>[]) => void
```



##### Parameters

- **`input`** — Source-ordered captured rectangle marks.

[View source — packages/core/src/features/viz/inspection/bar.ts:65](/source/packages/core/src/features/viz/inspection/bar-ts/#L65)

</details>

<span id="api-BarRenderedSeries"></span>

### BarRenderedSeries

A borrowed committed categorical bar generation; contains no numeric category mapping.

```ts
interface BarRenderedSeries<D>
```

Related API: [BarRenderedSeries](/reference/functions/rendered-series-inspection/).

#### See also

[PaintedBarHit](/reference/functions/rendered-series-inspection/)

[View source — packages/core/src/features/viz/inspection/bar.ts:36](/source/packages/core/src/features/viz/inspection/bar-ts/#L36)

#### Properties and methods

<span id="api-BarRenderedSeries-marks"></span>
<details>
<summary>marks</summary>


```ts
readonly marks: readonly CapturedBarMark<D>[]
```

Original records and geometry in source paint order.

[View source — packages/core/src/features/viz/inspection/bar.ts:38](/source/packages/core/src/features/viz/inspection/bar-ts/#L38)

</details>

<span id="api-BarRenderedSeries-assertLive"></span>
<details>
<summary>assertLive</summary>


```ts
assertLive: () => void
```

Throws after replacement or disposal.

[View source — packages/core/src/features/viz/inspection/bar.ts:40](/source/packages/core/src/features/viz/inspection/bar-ts/#L40)

</details>

<span id="api-BarRenderedSeries-localAtRoot"></span>
<details>
<summary>localAtRoot</summary>


```ts
localAtRoot: (point: Readonly<RenderedSeriesPoint>) => Readonly<RenderedSeriesPoint> | undefined
```

Related API: [RenderedSeriesPoint](/reference/functions/rendered-series-inspection/).

Converts root logical units into this generation's local geometry.

##### Parameters

- **`point`** — Root-logical Canvas point.

##### Returns

Local point or undefined for a singular transform.

[View source — packages/core/src/features/viz/inspection/bar.ts:45](/source/packages/core/src/features/viz/inspection/bar-ts/#L45)

</details>

<span id="api-BarRenderedSeries-anchorInsideClips"></span>
<details>
<summary>anchorInsideClips</summary>


```ts
anchorInsideClips: (point: Readonly<RenderedSeriesPoint>) => boolean
```

Related API: [anchorInsideClips](/reference/functions/rendered-series-inspection/), [RenderedSeriesPoint](/reference/functions/rendered-series-inspection/).

Tests a local point against every committed clip/layer bound.

##### Parameters

- **`point`** — Local-logical Canvas point.

##### Returns

Whether the point is inside every clip and layer bound.

[View source — packages/core/src/features/viz/inspection/bar.ts:52](/source/packages/core/src/features/viz/inspection/bar-ts/#L52)

</details>

<span id="api-PaintedBarHit"></span>

### PaintedBarHit

Original range/value/grouped bar with its captured endpoints and local paint bounds.

```ts
interface PaintedBarHit<D>
```

Related API: [PaintedBarHit](/reference/functions/rendered-series-inspection/).

#### See also

[BarRenderedSeries](/reference/functions/rendered-series-inspection/)

[View source — packages/core/src/features/viz/inspection/bar.ts:10](/source/packages/core/src/features/viz/inspection/bar-ts/#L10)

#### Properties and methods

<span id="api-PaintedBarHit-datum"></span>
<details>
<summary>datum</summary>


```ts
readonly datum: D
```

Caller-owned original record.

[View source — packages/core/src/features/viz/inspection/bar.ts:12](/source/packages/core/src/features/viz/inspection/bar-ts/#L12)

</details>

<span id="api-PaintedBarHit-sourceIndex"></span>
<details>
<summary>sourceIndex</summary>


```ts
readonly sourceIndex: number
```

Original zero-based source position.

[View source — packages/core/src/features/viz/inspection/bar.ts:14](/source/packages/core/src/features/viz/inspection/bar-ts/#L14)

</details>

<span id="api-PaintedBarHit-category"></span>
<details>
<summary>category</summary>


```ts
readonly category: BandCategory
```

Related API: [BandCategory](/reference/components/scale/).

Original discrete category, without numeric coercion.

[View source — packages/core/src/features/viz/inspection/bar.ts:16](/source/packages/core/src/features/viz/inspection/bar-ts/#L16)

</details>

<span id="api-PaintedBarHit-group"></span>
<details>
<summary>group</summary>


```ts
readonly group: BandCategory | undefined
```

Related API: [BandCategory](/reference/components/scale/).

Original subgroup when grouping is enabled.

[View source — packages/core/src/features/viz/inspection/bar.ts:18](/source/packages/core/src/features/viz/inspection/bar-ts/#L18)

</details>

<span id="api-PaintedBarHit-valueStart"></span>
<details>
<summary>valueStart</summary>


```ts
readonly valueStart: number
```

Data-space starting endpoint, including an ordinary bar's baseline.

[View source — packages/core/src/features/viz/inspection/bar.ts:20](/source/packages/core/src/features/viz/inspection/bar-ts/#L20)

</details>

<span id="api-PaintedBarHit-valueEnd"></span>
<details>
<summary>valueEnd</summary>


```ts
readonly valueEnd: number
```

Data-space ending endpoint.

[View source — packages/core/src/features/viz/inspection/bar.ts:22](/source/packages/core/src/features/viz/inspection/bar-ts/#L22)

</details>

<span id="api-PaintedBarHit-boundsLocal"></span>
<details>
<summary>boundsLocal</summary>


```ts
readonly boundsLocal: Readonly<LayoutBox>
```

Related API: [LayoutBox](/reference/types/layout/#layoutbox).

Logical rectangle bounds before world transforms.

[View source — packages/core/src/features/viz/inspection/bar.ts:24](/source/packages/core/src/features/viz/inspection/bar-ts/#L24)

</details>

<span id="api-PaintedPointHit"></span>

### PaintedPointHit

The original record and local geometry of a discrete circle/ring covering a query point.

```ts
interface PaintedPointHit<D> extends RecordedNumericHit<D>
```

Related API: [PaintedPointHit](/reference/functions/rendered-series-inspection/), [RecordedNumericHit](/reference/functions/rendered-series-inspection/).

#### See also

[RecordedNumericHit](/reference/functions/rendered-series-inspection/)

[View source — packages/core/src/features/viz/inspection/painted-point.ts:7](/source/packages/core/src/features/viz/inspection/painted-point-ts/#L7)

#### Properties and methods

<span id="api-PaintedPointHit-radiusLocal"></span>
<details>
<summary>radiusLocal</summary>


```ts
readonly radiusLocal: number
```

Circle radius before world transforms, in local logical units.

[View source — packages/core/src/features/viz/inspection/painted-point.ts:9](/source/packages/core/src/features/viz/inspection/painted-point-ts/#L9)

</details>

<span id="api-PaintedPointHit-strokeWidthLocal"></span>
<details>
<summary>strokeWidthLocal</summary>


```ts
readonly strokeWidthLocal: number
```

Painted stroke width before world transforms, in local logical units.

[View source — packages/core/src/features/viz/inspection/painted-point.ts:11](/source/packages/core/src/features/viz/inspection/painted-point-ts/#L11)

</details>

<span id="api-PaintedPointHit-datum"></span>
<details>
<summary>datum</summary>


```ts
readonly datum: D
```

Caller-owned original record.

[View source — packages/core/src/features/viz/inspection/query-types.ts:24](/source/packages/core/src/features/viz/inspection/query-types-ts/#L24)

</details>

<span id="api-PaintedPointHit-sourceIndex"></span>
<details>
<summary>sourceIndex</summary>


```ts
readonly sourceIndex: number
```

Original zero-based index in the caller's source array.

[View source — packages/core/src/features/viz/inspection/query-types.ts:26](/source/packages/core/src/features/viz/inspection/query-types-ts/#L26)

</details>

<span id="api-PaintedPointHit-domainX"></span>
<details>
<summary>domainX</summary>


```ts
readonly domainX: number
```

Evaluated horizontal value in the series' numeric domain.

[View source — packages/core/src/features/viz/inspection/query-types.ts:28](/source/packages/core/src/features/viz/inspection/query-types-ts/#L28)

</details>

<span id="api-PaintedPointHit-domainY"></span>
<details>
<summary>domainY</summary>


```ts
readonly domainY: number
```

Evaluated vertical value in the series' numeric domain.

[View source — packages/core/src/features/viz/inspection/query-types.ts:30](/source/packages/core/src/features/viz/inspection/query-types-ts/#L30)

</details>

<span id="api-PaintedPointHit-anchorLocal"></span>
<details>
<summary>anchorLocal</summary>


```ts
readonly anchorLocal: Readonly<RenderedSeriesPoint>
```

Related API: [RenderedSeriesPoint](/reference/functions/rendered-series-inspection/).

The observation anchor in series-local logical coordinates.

[View source — packages/core/src/features/viz/inspection/query-types.ts:32](/source/packages/core/src/features/viz/inspection/query-types-ts/#L32)

</details>

<span id="api-PaintedPointHit-anchorRoot"></span>
<details>
<summary>anchorRoot</summary>


```ts
readonly anchorRoot: Readonly<RenderedSeriesPoint>
```

Related API: [RenderedSeriesPoint](/reference/functions/rendered-series-inspection/).

The observation anchor in root-logical coordinates.

[View source — packages/core/src/features/viz/inspection/query-types.ts:34](/source/packages/core/src/features/viz/inspection/query-types-ts/#L34)

</details>

<span id="api-PaintedPointHit-run"></span>
<details>
<summary>run</summary>


```ts
readonly run: number
```

Identifier of the contiguous rendered run containing this observation.

[View source — packages/core/src/features/viz/inspection/query-types.ts:36](/source/packages/core/src/features/viz/inspection/query-types-ts/#L36)

</details>

<span id="api-InspectionContext"></span>

### InspectionContext

Lazy synchronous inspection; expires when its handler returns.

```ts
interface InspectionContext
```

Related API: [InspectionContext](/reference/functions/rendered-series-inspection/).

#### See also

[InspectionRef](/reference/functions/rendered-series-inspection/)

[View source — packages/core/src/features/viz/inspection/handler.ts:20](/source/packages/core/src/features/viz/inspection/handler-ts/#L20)

#### Properties and methods

<span id="api-InspectionContext-rendered"></span>
<details>
<summary>rendered</summary>


```ts
rendered: <S>(ref: InspectionRef<S>) => S | undefined
```

Related API: [InspectionRef](/reference/functions/rendered-series-inspection/).

Pins one receiver's committed generation for this logical dispatch.

##### Parameters

- **`ref`** — Explicit ref identifying the mounted receiver.

##### Returns

Borrowed generation or undefined before paint/after disposal.

[View source — packages/core/src/features/viz/inspection/handler.ts:25](/source/packages/core/src/features/viz/inspection/handler-ts/#L25)

</details>

<span id="api-InspectionContext-request"></span>
<details>
<summary>request</summary>


```ts
request: <S, A, R>(query: (rendered: S, options: A) => R, rendered: S, options: A) => R
```

Executes only on demand and memoizes equal requests, including no result.
Options contain plain scalar fields, function identities and logical points.

##### Parameters

- **`query`** — Pure synchronous query with a stable result contract.

- **`rendered`** — Committed generation pinned for this request.

- **`options`** — Named query parameters; functions compare by identity.

##### Returns

Query result, including undefined, reused for equal requests in dispatch.

[View source — packages/core/src/features/viz/inspection/handler.ts:34](/source/packages/core/src/features/viz/inspection/handler-ts/#L34)

</details>

<span id="api-InspectionRef"></span>

### InspectionRef

A mount-owned source of borrowed committed render records.

```ts
interface InspectionRef<S>
```

Related API: [InspectionRef](/reference/functions/rendered-series-inspection/).

#### See also

[InspectionContext](/reference/functions/rendered-series-inspection/)

[View source — packages/core/src/features/viz/inspection/handler.ts:10](/source/packages/core/src/features/viz/inspection/handler-ts/#L10)

#### Properties and methods

<span id="api-InspectionRef-rendered"></span>
<details>
<summary>rendered</summary>


```ts
rendered: () => S | undefined
```

Returns the current committed record.

##### Returns

Borrowed record or undefined before paint/after disposal.

[View source — packages/core/src/features/viz/inspection/handler.ts:14](/source/packages/core/src/features/viz/inspection/handler-ts/#L14)

</details>

<span id="api-NumericInspectionRef"></span>

### NumericInspectionRef

Optional renderer sink and mount-owned access to the last successful paint.

```ts
interface NumericInspectionRef<D>
```

Related API: [NumericInspectionRef](/reference/functions/rendered-series-inspection/).

#### See also

[NumericRenderedSeries](/reference/functions/rendered-series-inspection/)

[View source — packages/core/src/features/viz/inspection/capture-types.ts:41](/source/packages/core/src/features/viz/inspection/capture-types-ts/#L41)

#### Properties and methods

<span id="api-NumericInspectionRef-rendered"></span>
<details>
<summary>rendered</summary>


```ts
rendered: () => NumericRenderedSeries<D> | undefined
```

Related API: [NumericRenderedSeries](/reference/functions/rendered-series-inspection/).

Returns borrowed rendered values.

##### Returns

Current committed generation, or undefined before paint/after disposal.

[View source — packages/core/src/features/viz/inspection/capture-types.ts:45](/source/packages/core/src/features/viz/inspection/capture-types-ts/#L45)

</details>

<span id="api-NumericInspectionRef-capture"></span>
<details>
<summary>capture</summary>


```ts
capture: (input: NumericSeriesCapture<D>) => void
```



##### Parameters

- **`input`** — Values evaluated by the receiver in source order.

[View source — packages/core/src/features/viz/inspection/capture-types.ts:49](/source/packages/core/src/features/viz/inspection/capture-types-ts/#L49)

</details>

<span id="api-PointInspectionRef"></span>

### PointInspectionRef

Mount-owned point capture; queries are imported independently.

```ts
interface PointInspectionRef<D> extends NumericInspectionRef<D>
```

Related API: [PointInspectionRef](/reference/functions/rendered-series-inspection/), [NumericInspectionRef](/reference/functions/rendered-series-inspection/).

#### See also

[PointRenderedSeries](/reference/functions/rendered-series-inspection/)

[View source — packages/core/src/features/viz/inspection/capture-types.ts:70](/source/packages/core/src/features/viz/inspection/capture-types-ts/#L70)

#### Properties and methods

<span id="api-PointInspectionRef-rendered"></span>
<details>
<summary>rendered</summary>


```ts
rendered: () => PointRenderedSeries<D> | undefined
```

Related API: [PointRenderedSeries](/reference/functions/rendered-series-inspection/).

Returns borrowed point geometry.

##### Returns

Current point generation, or undefined before paint/after disposal.

[View source — packages/core/src/features/viz/inspection/capture-types.ts:74](/source/packages/core/src/features/viz/inspection/capture-types-ts/#L74)

</details>

<span id="api-PointInspectionRef-capture"></span>
<details>
<summary>capture</summary>


```ts
capture: (input: NumericSeriesCapture<D>) => void
```



##### Parameters

- **`input`** — Values evaluated by the receiver in source order.

[View source — packages/core/src/features/viz/inspection/capture-types.ts:49](/source/packages/core/src/features/viz/inspection/capture-types-ts/#L49)

</details>

<span id="api-PointRenderedSeries"></span>

### PointRenderedSeries

Rendered numeric points with committed circle/ring geometry.

```ts
interface PointRenderedSeries<D> extends NumericRenderedSeries<D>
```

Related API: [PointRenderedSeries](/reference/functions/rendered-series-inspection/), [NumericRenderedSeries](/reference/functions/rendered-series-inspection/).

#### See also

[NumericRenderedSeries](/reference/functions/rendered-series-inspection/)

[View source — packages/core/src/features/viz/inspection/capture-types.ts:55](/source/packages/core/src/features/viz/inspection/capture-types-ts/#L55)

#### Properties and methods

<span id="api-PointRenderedSeries-observations"></span>
<details>
<summary>observations</summary>


```ts
readonly observations: readonly NumericRenderedObservation<D>[]
```

Related API: [NumericRenderedObservation](/reference/functions/rendered-series-inspection/).

Evaluated observations in source order for this committed generation.

[View source — packages/core/src/features/viz/inspection/query-types.ts:63](/source/packages/core/src/features/viz/inspection/query-types-ts/#L63)

</details>

<span id="api-PointRenderedSeries-assertLive"></span>
<details>
<summary>assertLive</summary>


```ts
assertLive: () => void
```

Asserts that this generation can still be inspected synchronously.

[View source — packages/core/src/features/viz/inspection/query-types.ts:65](/source/packages/core/src/features/viz/inspection/query-types-ts/#L65)

</details>

<span id="api-PointRenderedSeries-marks"></span>
<details>
<summary>marks</summary>


```ts
readonly marks: readonly CapturedNumericObservation<D>[]
```



[View source — packages/core/src/features/viz/inspection/capture-types.ts:57](/source/packages/core/src/features/viz/inspection/capture-types-ts/#L57)

</details>

<span id="api-PointRenderedSeries-localAtRoot"></span>
<details>
<summary>localAtRoot</summary>


```ts
localAtRoot: (point: Readonly<RenderedSeriesPoint>) => Readonly<RenderedSeriesPoint> | undefined
```

Related API: [RenderedSeriesPoint](/reference/functions/rendered-series-inspection/).



##### Parameters

- **`point`** — Root-logical Canvas coordinates.

##### Returns

Local coordinates, or undefined for a singular transform.

[View source — packages/core/src/features/viz/inspection/capture-types.ts:62](/source/packages/core/src/features/viz/inspection/capture-types-ts/#L62)

</details>

<span id="api-PointRenderedSeries-domainXAtRoot"></span>
<details>
<summary>domainXAtRoot</summary>


```ts
domainXAtRoot: (point: Readonly<RenderedSeriesPoint>) => number | undefined
```

Related API: [RenderedSeriesPoint](/reference/functions/rendered-series-inspection/).

Converts a root-logical point to a numeric horizontal domain value, or
reports that the committed transform cannot invert that point.

##### Parameters

- **`point`** — Root-logical position to invert.

##### Returns

The numeric horizontal domain value, or undefined when unavailable.

[View source — packages/core/src/features/viz/inspection/query-types.ts:72](/source/packages/core/src/features/viz/inspection/query-types-ts/#L72)

</details>

<span id="api-PointRenderedSeries-anchorAtDomain"></span>
<details>
<summary>anchorAtDomain</summary>


```ts
anchorAtDomain: (point: Readonly<{ domainX: number; domainY: number; }>) => NumericRenderedAnchors
```

Related API: [NumericRenderedAnchors](/reference/functions/rendered-series-inspection/).

Maps numeric domain values to the committed local and root-logical anchors.

##### Parameters

- **`point`** — Numeric domain values to map.

- **`point.domainX`** — Horizontal numeric domain value.

- **`point.domainY`** — Vertical numeric domain value.

##### Returns

Both committed logical anchors for the requested domain point.

[View source — packages/core/src/features/viz/inspection/query-types.ts:80](/source/packages/core/src/features/viz/inspection/query-types-ts/#L80)

</details>

<span id="api-PointRenderedSeries-anchorInsideClips"></span>
<details>
<summary>anchorInsideClips</summary>


```ts
anchorInsideClips: (pointLocal: Readonly<RenderedSeriesPoint>) => boolean
```

Related API: [anchorInsideClips](/reference/functions/rendered-series-inspection/), [RenderedSeriesPoint](/reference/functions/rendered-series-inspection/).

Returns whether a local point lies within the committed clip stack.

##### Parameters

- **`pointLocal`** — Series-local logical position to test.

##### Returns

Whether every committed clip contains the point.

[View source — packages/core/src/features/viz/inspection/query-types.ts:93](/source/packages/core/src/features/viz/inspection/query-types-ts/#L93)

</details>

<span id="api-nearestRecordedX"></span>

### nearestRecordedX

Finds the recorded observation nearest to a numeric horizontal domain value in O(n) time.

Ties retain source order. Distance is measured in domain units, while both
returned anchors retain their explicitly named local and root-logical units.

```ts
nearestRecordedX: <D>(rendered: NumericRenderedSeries<D>, options: NearestRecordedXOptions<D>) => NearestRecordedXHit<D> | undefined
```

Related API: [nearestRecordedX](/reference/functions/rendered-series-inspection/), [NumericRenderedSeries](/reference/functions/rendered-series-inspection/), [NearestRecordedXOptions](/reference/functions/rendered-series-inspection/), [NearestRecordedXHit](/reference/functions/rendered-series-inspection/).

#### Parameters

- **`rendered`** — Committed rendered-series generation to inspect synchronously.

- **`options`** — Domain position, optional limit, and observation filter.

#### Returns

The selected recorded observation, or undefined when none qualifies.

#### See also

[NearestRecordedXOptions](/reference/functions/rendered-series-inspection/)

[View source — packages/core/src/features/viz/inspection/queries.ts:123](/source/packages/core/src/features/viz/inspection/queries-ts/#L123)

<span id="api-nearestRecordedPoint"></span>

### nearestRecordedPoint

Finds the recorded observation nearest to a root-logical point in O(n) time.

Ties retain source order. This query measures distance in root-logical units
so it remains meaningful under nonuniform series transforms.

```ts
nearestRecordedPoint: <D>(rendered: NumericRenderedSeries<D>, options: NearestRecordedPointOptions<D>) => NearestRecordedPointHit<D> | undefined
```

Related API: [nearestRecordedPoint](/reference/functions/rendered-series-inspection/), [NumericRenderedSeries](/reference/functions/rendered-series-inspection/), [NearestRecordedPointOptions](/reference/functions/rendered-series-inspection/), [NearestRecordedPointHit](/reference/functions/rendered-series-inspection/).

#### Parameters

- **`rendered`** — Committed rendered-series generation to inspect synchronously.

- **`options`** — Root position, optional limit, and observation filter.

#### Returns

The selected recorded observation, or undefined when none qualifies.

#### See also

[NearestRecordedPointOptions](/reference/functions/rendered-series-inspection/)

[View source — packages/core/src/features/viz/inspection/queries.ts:173](/source/packages/core/src/features/viz/inspection/queries-ts/#L173)

<span id="api-sampleRecordedX"></span>

### sampleRecordedX

Returns an exact recorded observation or a caller-defined interpolation between records.

It never bridges separate rendered runs, filtered observations, or an interval larger
than `maxDomainGap`. Duplicate x values reject by default and require an explicit
`resolveDuplicate` function. Estimated results retain their two source observations and
map explicit local/root anchors through the committed generation. This is O(n) in captured
observations and the result is borrowed until the rendered generation is replaced or disposed.

```ts
sampleRecordedX: <D>(rendered: NumericRenderedSeries<D>, options: SampleRecordedXOptions<D>) => RecordedXSample<D> | undefined
```

Related API: [sampleRecordedX](/reference/functions/rendered-series-inspection/), [NumericRenderedSeries](/reference/functions/rendered-series-inspection/), [SampleRecordedXOptions](/reference/functions/rendered-series-inspection/), [RecordedXSample](/reference/functions/rendered-series-inspection/).

#### Parameters

- **`rendered`** — Committed rendered-series generation to inspect synchronously.

- **`options`** — Domain position, interpolation, duplicate policy, and filter.

#### Returns

An exact record, an explicitly interpolated estimate, or undefined.

#### See also

[SampleRecordedXOptions](/reference/functions/rendered-series-inspection/)

[View source — packages/core/src/features/viz/inspection/queries.ts:295](/source/packages/core/src/features/viz/inspection/queries-ts/#L295)

<span id="api-firstSourceObservation"></span>

### firstSourceObservation

Retains the first source observation at a duplicate domain coordinate.

```ts
firstSourceObservation: <D>(first: NumericRenderedObservation<D>, _next: NumericRenderedObservation<D>) => NumericRenderedObservation<D>
```

Related API: [firstSourceObservation](/reference/functions/rendered-series-inspection/), [NumericRenderedObservation](/reference/functions/rendered-series-inspection/).

#### Parameters

- **`first`** — First selected observation at this domain coordinate.

- **`_next`** — Later observation at the same domain coordinate.

#### Returns

The earliest source observation.

#### See also

[NumericDuplicateResolver](/reference/functions/rendered-series-inspection/)

[View source — packages/core/src/features/viz/inspection/queries.ts:64](/source/packages/core/src/features/viz/inspection/queries-ts/#L64)

<span id="api-lastSourceObservation"></span>

### lastSourceObservation

Replaces a source observation with the next one at a duplicate domain coordinate.

```ts
lastSourceObservation: <D>(_first: NumericRenderedObservation<D>, next: NumericRenderedObservation<D>) => NumericRenderedObservation<D>
```

Related API: [lastSourceObservation](/reference/functions/rendered-series-inspection/), [NumericRenderedObservation](/reference/functions/rendered-series-inspection/).

#### Parameters

- **`_first`** — Earlier selected observation at this domain coordinate.

- **`next`** — Later observation at the same domain coordinate.

#### Returns

The latest source observation.

#### See also

[NumericDuplicateResolver](/reference/functions/rendered-series-inspection/)

[View source — packages/core/src/features/viz/inspection/queries.ts:79](/source/packages/core/src/features/viz/inspection/queries-ts/#L79)

<span id="api-anchorInsideClips"></span>

### anchorInsideClips

Returns whether a filter candidate's anchor lies inside the committed clip stack.

Pass this function as a query filter when visibility at the anchor is required.
Queries otherwise examine all eligible rendered observations.

```ts
anchorInsideClips: <D>(candidate: InspectionCandidate<D>) => boolean
```

Related API: [anchorInsideClips](/reference/functions/rendered-series-inspection/), [InspectionCandidate](/reference/functions/rendered-series-inspection/).

#### Parameters

- **`candidate`** — Candidate whose committed local anchor should be clip-tested.

#### Returns

Whether the candidate anchor lies within every committed clip.

#### See also

[NumericRenderedFilter](/reference/functions/rendered-series-inspection/)

[View source — packages/core/src/features/viz/inspection/queries.ts:96](/source/packages/core/src/features/viz/inspection/queries-ts/#L96)

<span id="api-NumericRenderedSeries"></span>

### NumericRenderedSeries

A committed numeric rendering available for synchronous inspection.

Instances are supplied by the matching inspection ref; applications do not
create them. They are valid only for the synchronous inspection context that
supplied them. `assertLive` throws after that context, after a replacement
generation, or after disposal.

```ts
interface NumericRenderedSeries<D>
```

Related API: [NumericRenderedSeries](/reference/functions/rendered-series-inspection/).

#### See also

[NumericRenderedObservation](/reference/functions/rendered-series-inspection/)

[View source — packages/core/src/features/viz/inspection/query-types.ts:61](/source/packages/core/src/features/viz/inspection/query-types-ts/#L61)

#### Properties and methods

<span id="api-NumericRenderedSeries-observations"></span>
<details>
<summary>observations</summary>


```ts
readonly observations: readonly NumericRenderedObservation<D>[]
```

Related API: [NumericRenderedObservation](/reference/functions/rendered-series-inspection/).

Evaluated observations in source order for this committed generation.

[View source — packages/core/src/features/viz/inspection/query-types.ts:63](/source/packages/core/src/features/viz/inspection/query-types-ts/#L63)

</details>

<span id="api-NumericRenderedSeries-assertLive"></span>
<details>
<summary>assertLive</summary>


```ts
assertLive: () => void
```

Asserts that this generation can still be inspected synchronously.

[View source — packages/core/src/features/viz/inspection/query-types.ts:65](/source/packages/core/src/features/viz/inspection/query-types-ts/#L65)

</details>

<span id="api-NumericRenderedSeries-domainXAtRoot"></span>
<details>
<summary>domainXAtRoot</summary>


```ts
domainXAtRoot: (point: Readonly<RenderedSeriesPoint>) => number | undefined
```

Related API: [RenderedSeriesPoint](/reference/functions/rendered-series-inspection/).

Converts a root-logical point to a numeric horizontal domain value, or
reports that the committed transform cannot invert that point.

##### Parameters

- **`point`** — Root-logical position to invert.

##### Returns

The numeric horizontal domain value, or undefined when unavailable.

[View source — packages/core/src/features/viz/inspection/query-types.ts:72](/source/packages/core/src/features/viz/inspection/query-types-ts/#L72)

</details>

<span id="api-NumericRenderedSeries-anchorAtDomain"></span>
<details>
<summary>anchorAtDomain</summary>


```ts
anchorAtDomain: (point: Readonly<{ domainX: number; domainY: number; }>) => NumericRenderedAnchors
```

Related API: [NumericRenderedAnchors](/reference/functions/rendered-series-inspection/).

Maps numeric domain values to the committed local and root-logical anchors.

##### Parameters

- **`point`** — Numeric domain values to map.

- **`point.domainX`** — Horizontal numeric domain value.

- **`point.domainY`** — Vertical numeric domain value.

##### Returns

Both committed logical anchors for the requested domain point.

[View source — packages/core/src/features/viz/inspection/query-types.ts:80](/source/packages/core/src/features/viz/inspection/query-types-ts/#L80)

</details>

<span id="api-NumericRenderedSeries-anchorInsideClips"></span>
<details>
<summary>anchorInsideClips</summary>


```ts
anchorInsideClips: (pointLocal: Readonly<RenderedSeriesPoint>) => boolean
```

Related API: [anchorInsideClips](/reference/functions/rendered-series-inspection/), [RenderedSeriesPoint](/reference/functions/rendered-series-inspection/).

Returns whether a local point lies within the committed clip stack.

##### Parameters

- **`pointLocal`** — Series-local logical position to test.

##### Returns

Whether every committed clip contains the point.

[View source — packages/core/src/features/viz/inspection/query-types.ts:93](/source/packages/core/src/features/viz/inspection/query-types-ts/#L93)

</details>

<span id="api-NumericRenderedObservation"></span>

### NumericRenderedObservation

One numeric observation evaluated for a committed rendered-series generation.

`anchorLocal` belongs to the series' local logical coordinate system and
`anchorRoot` belongs to the root-logical coordinate system used by Pibbl
events. `run` separates observations that the rendered mark does not join.

```ts
interface NumericRenderedObservation<D>
```

Related API: [NumericRenderedObservation](/reference/functions/rendered-series-inspection/).

#### See also

[NumericRenderedSeries](/reference/functions/rendered-series-inspection/)

[View source — packages/core/src/features/viz/inspection/query-types.ts:22](/source/packages/core/src/features/viz/inspection/query-types-ts/#L22)

#### Properties and methods

<span id="api-NumericRenderedObservation-datum"></span>
<details>
<summary>datum</summary>


```ts
readonly datum: D
```

Caller-owned original record.

[View source — packages/core/src/features/viz/inspection/query-types.ts:24](/source/packages/core/src/features/viz/inspection/query-types-ts/#L24)

</details>

<span id="api-NumericRenderedObservation-sourceIndex"></span>
<details>
<summary>sourceIndex</summary>


```ts
readonly sourceIndex: number
```

Original zero-based index in the caller's source array.

[View source — packages/core/src/features/viz/inspection/query-types.ts:26](/source/packages/core/src/features/viz/inspection/query-types-ts/#L26)

</details>

<span id="api-NumericRenderedObservation-domainX"></span>
<details>
<summary>domainX</summary>


```ts
readonly domainX: number
```

Evaluated horizontal value in the series' numeric domain.

[View source — packages/core/src/features/viz/inspection/query-types.ts:28](/source/packages/core/src/features/viz/inspection/query-types-ts/#L28)

</details>

<span id="api-NumericRenderedObservation-domainY"></span>
<details>
<summary>domainY</summary>


```ts
readonly domainY: number
```

Evaluated vertical value in the series' numeric domain.

[View source — packages/core/src/features/viz/inspection/query-types.ts:30](/source/packages/core/src/features/viz/inspection/query-types-ts/#L30)

</details>

<span id="api-NumericRenderedObservation-anchorLocal"></span>
<details>
<summary>anchorLocal</summary>


```ts
readonly anchorLocal: Readonly<RenderedSeriesPoint>
```

Related API: [RenderedSeriesPoint](/reference/functions/rendered-series-inspection/).

The observation anchor in series-local logical coordinates.

[View source — packages/core/src/features/viz/inspection/query-types.ts:32](/source/packages/core/src/features/viz/inspection/query-types-ts/#L32)

</details>

<span id="api-NumericRenderedObservation-anchorRoot"></span>
<details>
<summary>anchorRoot</summary>


```ts
readonly anchorRoot: Readonly<RenderedSeriesPoint>
```

Related API: [RenderedSeriesPoint](/reference/functions/rendered-series-inspection/).

The observation anchor in root-logical coordinates.

[View source — packages/core/src/features/viz/inspection/query-types.ts:34](/source/packages/core/src/features/viz/inspection/query-types-ts/#L34)

</details>

<span id="api-NumericRenderedObservation-run"></span>
<details>
<summary>run</summary>


```ts
readonly run: number
```

Identifier of the contiguous rendered run containing this observation.

[View source — packages/core/src/features/viz/inspection/query-types.ts:36](/source/packages/core/src/features/viz/inspection/query-types-ts/#L36)

</details>

<span id="api-RecordedNumericHit"></span>

### RecordedNumericHit

A recorded observation selected by a numeric inspection query.

```ts
interface RecordedNumericHit<D> extends NumericRenderedObservation<D>
```

Related API: [RecordedNumericHit](/reference/functions/rendered-series-inspection/), [NumericRenderedObservation](/reference/functions/rendered-series-inspection/).

#### See also

[NumericRenderedObservation](/reference/functions/rendered-series-inspection/)

[View source — packages/core/src/features/viz/inspection/query-types.ts:122](/source/packages/core/src/features/viz/inspection/query-types-ts/#L122)

#### Properties and methods

<span id="api-RecordedNumericHit-datum"></span>
<details>
<summary>datum</summary>


```ts
readonly datum: D
```

Caller-owned original record.

[View source — packages/core/src/features/viz/inspection/query-types.ts:24](/source/packages/core/src/features/viz/inspection/query-types-ts/#L24)

</details>

<span id="api-RecordedNumericHit-sourceIndex"></span>
<details>
<summary>sourceIndex</summary>


```ts
readonly sourceIndex: number
```

Original zero-based index in the caller's source array.

[View source — packages/core/src/features/viz/inspection/query-types.ts:26](/source/packages/core/src/features/viz/inspection/query-types-ts/#L26)

</details>

<span id="api-RecordedNumericHit-domainX"></span>
<details>
<summary>domainX</summary>


```ts
readonly domainX: number
```

Evaluated horizontal value in the series' numeric domain.

[View source — packages/core/src/features/viz/inspection/query-types.ts:28](/source/packages/core/src/features/viz/inspection/query-types-ts/#L28)

</details>

<span id="api-RecordedNumericHit-domainY"></span>
<details>
<summary>domainY</summary>


```ts
readonly domainY: number
```

Evaluated vertical value in the series' numeric domain.

[View source — packages/core/src/features/viz/inspection/query-types.ts:30](/source/packages/core/src/features/viz/inspection/query-types-ts/#L30)

</details>

<span id="api-RecordedNumericHit-anchorLocal"></span>
<details>
<summary>anchorLocal</summary>


```ts
readonly anchorLocal: Readonly<RenderedSeriesPoint>
```

Related API: [RenderedSeriesPoint](/reference/functions/rendered-series-inspection/).

The observation anchor in series-local logical coordinates.

[View source — packages/core/src/features/viz/inspection/query-types.ts:32](/source/packages/core/src/features/viz/inspection/query-types-ts/#L32)

</details>

<span id="api-RecordedNumericHit-anchorRoot"></span>
<details>
<summary>anchorRoot</summary>


```ts
readonly anchorRoot: Readonly<RenderedSeriesPoint>
```

Related API: [RenderedSeriesPoint](/reference/functions/rendered-series-inspection/).

The observation anchor in root-logical coordinates.

[View source — packages/core/src/features/viz/inspection/query-types.ts:34](/source/packages/core/src/features/viz/inspection/query-types-ts/#L34)

</details>

<span id="api-RecordedNumericHit-run"></span>
<details>
<summary>run</summary>


```ts
readonly run: number
```

Identifier of the contiguous rendered run containing this observation.

[View source — packages/core/src/features/viz/inspection/query-types.ts:36](/source/packages/core/src/features/viz/inspection/query-types-ts/#L36)

</details>

<span id="api-NearestRecordedXHit"></span>

### NearestRecordedXHit

A recorded observation selected by horizontal-domain proximity.

```ts
interface NearestRecordedXHit<D> extends RecordedNumericHit<D>
```

Related API: [NearestRecordedXHit](/reference/functions/rendered-series-inspection/), [RecordedNumericHit](/reference/functions/rendered-series-inspection/).

#### See also

[NearestRecordedXHit](/reference/functions/rendered-series-inspection/)

[View source — packages/core/src/features/viz/inspection/query-types.ts:129](/source/packages/core/src/features/viz/inspection/query-types-ts/#L129)

#### Properties and methods

<span id="api-NearestRecordedXHit-domainDelta"></span>
<details>
<summary>domainDelta</summary>


```ts
readonly domainDelta: number
```

Absolute difference from the requested horizontal domain value.

[View source — packages/core/src/features/viz/inspection/query-types.ts:131](/source/packages/core/src/features/viz/inspection/query-types-ts/#L131)

</details>

<span id="api-NearestRecordedXHit-datum"></span>
<details>
<summary>datum</summary>


```ts
readonly datum: D
```

Caller-owned original record.

[View source — packages/core/src/features/viz/inspection/query-types.ts:24](/source/packages/core/src/features/viz/inspection/query-types-ts/#L24)

</details>

<span id="api-NearestRecordedXHit-sourceIndex"></span>
<details>
<summary>sourceIndex</summary>


```ts
readonly sourceIndex: number
```

Original zero-based index in the caller's source array.

[View source — packages/core/src/features/viz/inspection/query-types.ts:26](/source/packages/core/src/features/viz/inspection/query-types-ts/#L26)

</details>

<span id="api-NearestRecordedXHit-domainX"></span>
<details>
<summary>domainX</summary>


```ts
readonly domainX: number
```

Evaluated horizontal value in the series' numeric domain.

[View source — packages/core/src/features/viz/inspection/query-types.ts:28](/source/packages/core/src/features/viz/inspection/query-types-ts/#L28)

</details>

<span id="api-NearestRecordedXHit-domainY"></span>
<details>
<summary>domainY</summary>


```ts
readonly domainY: number
```

Evaluated vertical value in the series' numeric domain.

[View source — packages/core/src/features/viz/inspection/query-types.ts:30](/source/packages/core/src/features/viz/inspection/query-types-ts/#L30)

</details>

<span id="api-NearestRecordedXHit-anchorLocal"></span>
<details>
<summary>anchorLocal</summary>


```ts
readonly anchorLocal: Readonly<RenderedSeriesPoint>
```

Related API: [RenderedSeriesPoint](/reference/functions/rendered-series-inspection/).

The observation anchor in series-local logical coordinates.

[View source — packages/core/src/features/viz/inspection/query-types.ts:32](/source/packages/core/src/features/viz/inspection/query-types-ts/#L32)

</details>

<span id="api-NearestRecordedXHit-anchorRoot"></span>
<details>
<summary>anchorRoot</summary>


```ts
readonly anchorRoot: Readonly<RenderedSeriesPoint>
```

Related API: [RenderedSeriesPoint](/reference/functions/rendered-series-inspection/).

The observation anchor in root-logical coordinates.

[View source — packages/core/src/features/viz/inspection/query-types.ts:34](/source/packages/core/src/features/viz/inspection/query-types-ts/#L34)

</details>

<span id="api-NearestRecordedXHit-run"></span>
<details>
<summary>run</summary>


```ts
readonly run: number
```

Identifier of the contiguous rendered run containing this observation.

[View source — packages/core/src/features/viz/inspection/query-types.ts:36](/source/packages/core/src/features/viz/inspection/query-types-ts/#L36)

</details>

<span id="api-NearestRecordedPointHit"></span>

### NearestRecordedPointHit

A recorded observation selected by root-logical geometric proximity.

```ts
interface NearestRecordedPointHit<D> extends RecordedNumericHit<D>
```

Related API: [NearestRecordedPointHit](/reference/functions/rendered-series-inspection/), [RecordedNumericHit](/reference/functions/rendered-series-inspection/).

#### See also

[NearestRecordedPointHit](/reference/functions/rendered-series-inspection/)

[View source — packages/core/src/features/viz/inspection/query-types.ts:139](/source/packages/core/src/features/viz/inspection/query-types-ts/#L139)

#### Properties and methods

<span id="api-NearestRecordedPointHit-rootDistance"></span>
<details>
<summary>rootDistance</summary>


```ts
readonly rootDistance: number
```

Euclidean distance from the requested root-logical point.

[View source — packages/core/src/features/viz/inspection/query-types.ts:141](/source/packages/core/src/features/viz/inspection/query-types-ts/#L141)

</details>

<span id="api-NearestRecordedPointHit-datum"></span>
<details>
<summary>datum</summary>


```ts
readonly datum: D
```

Caller-owned original record.

[View source — packages/core/src/features/viz/inspection/query-types.ts:24](/source/packages/core/src/features/viz/inspection/query-types-ts/#L24)

</details>

<span id="api-NearestRecordedPointHit-sourceIndex"></span>
<details>
<summary>sourceIndex</summary>


```ts
readonly sourceIndex: number
```

Original zero-based index in the caller's source array.

[View source — packages/core/src/features/viz/inspection/query-types.ts:26](/source/packages/core/src/features/viz/inspection/query-types-ts/#L26)

</details>

<span id="api-NearestRecordedPointHit-domainX"></span>
<details>
<summary>domainX</summary>


```ts
readonly domainX: number
```

Evaluated horizontal value in the series' numeric domain.

[View source — packages/core/src/features/viz/inspection/query-types.ts:28](/source/packages/core/src/features/viz/inspection/query-types-ts/#L28)

</details>

<span id="api-NearestRecordedPointHit-domainY"></span>
<details>
<summary>domainY</summary>


```ts
readonly domainY: number
```

Evaluated vertical value in the series' numeric domain.

[View source — packages/core/src/features/viz/inspection/query-types.ts:30](/source/packages/core/src/features/viz/inspection/query-types-ts/#L30)

</details>

<span id="api-NearestRecordedPointHit-anchorLocal"></span>
<details>
<summary>anchorLocal</summary>


```ts
readonly anchorLocal: Readonly<RenderedSeriesPoint>
```

Related API: [RenderedSeriesPoint](/reference/functions/rendered-series-inspection/).

The observation anchor in series-local logical coordinates.

[View source — packages/core/src/features/viz/inspection/query-types.ts:32](/source/packages/core/src/features/viz/inspection/query-types-ts/#L32)

</details>

<span id="api-NearestRecordedPointHit-anchorRoot"></span>
<details>
<summary>anchorRoot</summary>


```ts
readonly anchorRoot: Readonly<RenderedSeriesPoint>
```

Related API: [RenderedSeriesPoint](/reference/functions/rendered-series-inspection/).

The observation anchor in root-logical coordinates.

[View source — packages/core/src/features/viz/inspection/query-types.ts:34](/source/packages/core/src/features/viz/inspection/query-types-ts/#L34)

</details>

<span id="api-NearestRecordedPointHit-run"></span>
<details>
<summary>run</summary>


```ts
readonly run: number
```

Identifier of the contiguous rendered run containing this observation.

[View source — packages/core/src/features/viz/inspection/query-types.ts:36](/source/packages/core/src/features/viz/inspection/query-types-ts/#L36)

</details>

<span id="api-RecordedXSample"></span>

### RecordedXSample

An exact recorded sample or an explicit estimate between recorded observations.

<details>
<summary>Full type declaration</summary>

```ts
type RecordedXSample<D> = | (RecordedNumericHit<D> & {
      /** Identifies a value selected directly from one recorded observation. */
      readonly kind: "exact";
    })
  | Readonly<{
      /** Identifies a value computed between two recorded observations. */
      kind: "interpolated";
      /** Requested horizontal numeric domain value. */
      domainX: number;
      /** Numeric domain value returned by the caller's interpolation function. */
      domainY: number;
      /** Interpolated anchor in committed series-local logical coordinates. */
      anchorLocal: Readonly<RenderedSeriesPoint>;
      /** Interpolated anchor in committed root-logical coordinates. */
      anchorRoot: Readonly<RenderedSeriesPoint>;
      /** Observation immediately before the sampled position in its rendered run. */
      before: NumericRenderedObservation<D>;
      /** Observation immediately after the sampled position in its rendered run. */
      after: NumericRenderedObservation<D>;
      /** Fraction of the interval from `before` through `after`. */
      fraction: number;
    }>
```

</details>

Related API: [RecordedXSample](/reference/functions/rendered-series-inspection/), [RecordedNumericHit](/reference/functions/rendered-series-inspection/), [computed](/reference/functions/computed/), [RenderedSeriesPoint](/reference/functions/rendered-series-inspection/), [NumericRenderedObservation](/reference/functions/rendered-series-inspection/).

#### See also

[NumericDomainInterpolation](/reference/functions/rendered-series-inspection/)

[View source — packages/core/src/features/viz/inspection/query-types.ts:178](/source/packages/core/src/features/viz/inspection/query-types-ts/#L178)

#### Properties and methods

<span id="api-RecordedXSample-kind"></span>
<details>
<summary>kind</summary>


```ts
kind: "exact" | "interpolated"
```

Identifies a value computed between two recorded observations.
Identifies a value selected directly from one recorded observation.

[View source — packages/core/src/features/viz/inspection/query-types.ts:185](/source/packages/core/src/features/viz/inspection/query-types-ts/#L185)

</details>

<span id="api-RecordedXSample-domainX"></span>
<details>
<summary>domainX</summary>


```ts
domainX: number
```

Requested horizontal numeric domain value.
Evaluated horizontal value in the series' numeric domain.

[View source — packages/core/src/features/viz/inspection/query-types.ts:187](/source/packages/core/src/features/viz/inspection/query-types-ts/#L187)

</details>

<span id="api-RecordedXSample-domainY"></span>
<details>
<summary>domainY</summary>


```ts
domainY: number
```

Numeric domain value returned by the caller's interpolation function.
Evaluated vertical value in the series' numeric domain.

[View source — packages/core/src/features/viz/inspection/query-types.ts:189](/source/packages/core/src/features/viz/inspection/query-types-ts/#L189)

</details>

<span id="api-RecordedXSample-anchorLocal"></span>
<details>
<summary>anchorLocal</summary>


```ts
anchorLocal: Readonly<RenderedSeriesPoint>
```

Related API: [RenderedSeriesPoint](/reference/functions/rendered-series-inspection/).

Interpolated anchor in committed series-local logical coordinates.
The observation anchor in series-local logical coordinates.

[View source — packages/core/src/features/viz/inspection/query-types.ts:191](/source/packages/core/src/features/viz/inspection/query-types-ts/#L191)

</details>

<span id="api-RecordedXSample-anchorRoot"></span>
<details>
<summary>anchorRoot</summary>


```ts
anchorRoot: Readonly<RenderedSeriesPoint>
```

Related API: [RenderedSeriesPoint](/reference/functions/rendered-series-inspection/).

Interpolated anchor in committed root-logical coordinates.
The observation anchor in root-logical coordinates.

[View source — packages/core/src/features/viz/inspection/query-types.ts:193](/source/packages/core/src/features/viz/inspection/query-types-ts/#L193)

</details>

<span id="api-NumericRenderedFilter"></span>

### NumericRenderedFilter

Selects observations eligible for one inspection request.

```ts
type NumericRenderedFilter<D> = (
  observation: InspectionCandidate<D>,
) => boolean
```

Related API: [NumericRenderedFilter](/reference/functions/rendered-series-inspection/), [InspectionCandidate](/reference/functions/rendered-series-inspection/).

#### Parameters

- **`observation`** — Candidate containing the original observation and optional clip test.

#### Returns

Whether the candidate participates in this request.

#### See also

[InspectionCandidate](/reference/functions/rendered-series-inspection/)

[View source — packages/core/src/features/viz/inspection/query-types.ts:113](/source/packages/core/src/features/viz/inspection/query-types-ts/#L113)

<span id="api-NumericDuplicateResolver"></span>

### NumericDuplicateResolver

Chooses one source observation when several observations in one rendered run
have the same horizontal domain value.

```ts
type NumericDuplicateResolver<D> = (
  first: NumericRenderedObservation<D>,
  next: NumericRenderedObservation<D>,
) => NumericRenderedObservation<D>
```

Related API: [NumericDuplicateResolver](/reference/functions/rendered-series-inspection/), [NumericRenderedObservation](/reference/functions/rendered-series-inspection/).

#### Parameters

- **`first`** — Observation selected so far at this domain value.

- **`next`** — Later source observation at the same domain value.

#### Returns

Either `first` or `next`.

#### See also

[NumericRenderedObservation](/reference/functions/rendered-series-inspection/)

[View source — packages/core/src/features/viz/inspection/query-types.ts:153](/source/packages/core/src/features/viz/inspection/query-types-ts/#L153)

<span id="api-NumericDomainInterpolation"></span>

### NumericDomainInterpolation

Computes a numeric vertical sample between two recorded domain values.

```ts
type NumericDomainInterpolation = (
  beforeDomainY: number,
  afterDomainY: number,
  fraction: number,
) => number
```

Related API: [NumericDomainInterpolation](/reference/functions/rendered-series-inspection/).

#### Parameters

- **`beforeDomainY`** — Numeric vertical value before the sample.

- **`afterDomainY`** — Numeric vertical value after the sample.

- **`fraction`** — Distance from before to after, from zero through one.

#### Returns

The estimated numeric vertical domain value.

#### See also

[RecordedXSample](/reference/functions/rendered-series-inspection/)

[View source — packages/core/src/features/viz/inspection/query-types.ts:167](/source/packages/core/src/features/viz/inspection/query-types-ts/#L167)

<span id="api-RenderedSeriesPoint"></span>

### RenderedSeriesPoint

A point in a named logical coordinate system.

```ts
interface RenderedSeriesPoint
```

Related API: [RenderedSeriesPoint](/reference/functions/rendered-series-inspection/).

#### See also

[NumericRenderedObservation](/reference/functions/rendered-series-inspection/)

[View source — packages/core/src/features/viz/inspection/query-types.ts:6](/source/packages/core/src/features/viz/inspection/query-types-ts/#L6)

#### Properties and methods

<span id="api-RenderedSeriesPoint-x"></span>
<details>
<summary>x</summary>


```ts
readonly x: number
```

Horizontal logical coordinate.

[View source — packages/core/src/features/viz/inspection/query-types.ts:8](/source/packages/core/src/features/viz/inspection/query-types-ts/#L8)

</details>

<span id="api-RenderedSeriesPoint-y"></span>
<details>
<summary>y</summary>


```ts
readonly y: number
```

Vertical logical coordinate.

[View source — packages/core/src/features/viz/inspection/query-types.ts:10](/source/packages/core/src/features/viz/inspection/query-types-ts/#L10)

</details>

<span id="api-RenderedSeries"></span>

### RenderedSeries

A committed numeric rendering available for synchronous inspection.

Instances are supplied by the matching inspection ref; applications do not
create them. They are valid only for the synchronous inspection context that
supplied them. `assertLive` throws after that context, after a replacement
generation, or after disposal.

```ts
interface RenderedSeries<D>
```

Related API: [RenderedSeries](/reference/functions/rendered-series-inspection/).

#### See also

[NumericRenderedObservation](/reference/functions/rendered-series-inspection/)

[View source — packages/core/src/features/viz/inspection/query-types.ts:61](/source/packages/core/src/features/viz/inspection/query-types-ts/#L61)

#### Properties and methods

<span id="api-RenderedSeries-observations"></span>
<details>
<summary>observations</summary>


```ts
readonly observations: readonly NumericRenderedObservation<D>[]
```

Related API: [NumericRenderedObservation](/reference/functions/rendered-series-inspection/).

Evaluated observations in source order for this committed generation.

[View source — packages/core/src/features/viz/inspection/query-types.ts:63](/source/packages/core/src/features/viz/inspection/query-types-ts/#L63)

</details>

<span id="api-RenderedSeries-assertLive"></span>
<details>
<summary>assertLive</summary>


```ts
assertLive: () => void
```

Asserts that this generation can still be inspected synchronously.

[View source — packages/core/src/features/viz/inspection/query-types.ts:65](/source/packages/core/src/features/viz/inspection/query-types-ts/#L65)

</details>

<span id="api-RenderedSeries-domainXAtRoot"></span>
<details>
<summary>domainXAtRoot</summary>


```ts
domainXAtRoot: (point: Readonly<RenderedSeriesPoint>) => number | undefined
```

Related API: [RenderedSeriesPoint](/reference/functions/rendered-series-inspection/).

Converts a root-logical point to a numeric horizontal domain value, or
reports that the committed transform cannot invert that point.

##### Parameters

- **`point`** — Root-logical position to invert.

##### Returns

The numeric horizontal domain value, or undefined when unavailable.

[View source — packages/core/src/features/viz/inspection/query-types.ts:72](/source/packages/core/src/features/viz/inspection/query-types-ts/#L72)

</details>

<span id="api-RenderedSeries-anchorAtDomain"></span>
<details>
<summary>anchorAtDomain</summary>


```ts
anchorAtDomain: (point: Readonly<{ domainX: number; domainY: number; }>) => NumericRenderedAnchors
```

Related API: [NumericRenderedAnchors](/reference/functions/rendered-series-inspection/).

Maps numeric domain values to the committed local and root-logical anchors.

##### Parameters

- **`point`** — Numeric domain values to map.

- **`point.domainX`** — Horizontal numeric domain value.

- **`point.domainY`** — Vertical numeric domain value.

##### Returns

Both committed logical anchors for the requested domain point.

[View source — packages/core/src/features/viz/inspection/query-types.ts:80](/source/packages/core/src/features/viz/inspection/query-types-ts/#L80)

</details>

<span id="api-RenderedSeries-anchorInsideClips"></span>
<details>
<summary>anchorInsideClips</summary>


```ts
anchorInsideClips: (pointLocal: Readonly<RenderedSeriesPoint>) => boolean
```

Related API: [anchorInsideClips](/reference/functions/rendered-series-inspection/), [RenderedSeriesPoint](/reference/functions/rendered-series-inspection/).

Returns whether a local point lies within the committed clip stack.

##### Parameters

- **`pointLocal`** — Series-local logical position to test.

##### Returns

Whether every committed clip contains the point.

[View source — packages/core/src/features/viz/inspection/query-types.ts:93](/source/packages/core/src/features/viz/inspection/query-types-ts/#L93)

</details>

<span id="api-InspectionCandidate"></span>

### InspectionCandidate

An observation that can be explicitly filtered by committed clipping.

```ts
interface InspectionCandidate<D> extends NumericRenderedObservation<D>
```

Related API: [InspectionCandidate](/reference/functions/rendered-series-inspection/), [NumericRenderedObservation](/reference/functions/rendered-series-inspection/).

#### See also

[NumericRenderedFilter](/reference/functions/rendered-series-inspection/)

[View source — packages/core/src/features/viz/inspection/query-types.ts:101](/source/packages/core/src/features/viz/inspection/query-types-ts/#L101)

#### Properties and methods

<span id="api-InspectionCandidate-anchorInsideClips"></span>
<details>
<summary>anchorInsideClips</summary>


```ts
anchorInsideClips: () => boolean
```

Related API: [anchorInsideClips](/reference/functions/rendered-series-inspection/).



##### Returns

Whether this observation's anchor lies within the committed clips.

[View source — packages/core/src/features/viz/inspection/query-types.ts:103](/source/packages/core/src/features/viz/inspection/query-types-ts/#L103)

</details>

<span id="api-InspectionCandidate-datum"></span>
<details>
<summary>datum</summary>


```ts
readonly datum: D
```

Caller-owned original record.

[View source — packages/core/src/features/viz/inspection/query-types.ts:24](/source/packages/core/src/features/viz/inspection/query-types-ts/#L24)

</details>

<span id="api-InspectionCandidate-sourceIndex"></span>
<details>
<summary>sourceIndex</summary>


```ts
readonly sourceIndex: number
```

Original zero-based index in the caller's source array.

[View source — packages/core/src/features/viz/inspection/query-types.ts:26](/source/packages/core/src/features/viz/inspection/query-types-ts/#L26)

</details>

<span id="api-InspectionCandidate-domainX"></span>
<details>
<summary>domainX</summary>


```ts
readonly domainX: number
```

Evaluated horizontal value in the series' numeric domain.

[View source — packages/core/src/features/viz/inspection/query-types.ts:28](/source/packages/core/src/features/viz/inspection/query-types-ts/#L28)

</details>

<span id="api-InspectionCandidate-domainY"></span>
<details>
<summary>domainY</summary>


```ts
readonly domainY: number
```

Evaluated vertical value in the series' numeric domain.

[View source — packages/core/src/features/viz/inspection/query-types.ts:30](/source/packages/core/src/features/viz/inspection/query-types-ts/#L30)

</details>

<span id="api-InspectionCandidate-anchorLocal"></span>
<details>
<summary>anchorLocal</summary>


```ts
readonly anchorLocal: Readonly<RenderedSeriesPoint>
```

Related API: [RenderedSeriesPoint](/reference/functions/rendered-series-inspection/).

The observation anchor in series-local logical coordinates.

[View source — packages/core/src/features/viz/inspection/query-types.ts:32](/source/packages/core/src/features/viz/inspection/query-types-ts/#L32)

</details>

<span id="api-InspectionCandidate-anchorRoot"></span>
<details>
<summary>anchorRoot</summary>


```ts
readonly anchorRoot: Readonly<RenderedSeriesPoint>
```

Related API: [RenderedSeriesPoint](/reference/functions/rendered-series-inspection/).

The observation anchor in root-logical coordinates.

[View source — packages/core/src/features/viz/inspection/query-types.ts:34](/source/packages/core/src/features/viz/inspection/query-types-ts/#L34)

</details>

<span id="api-InspectionCandidate-run"></span>
<details>
<summary>run</summary>


```ts
readonly run: number
```

Identifier of the contiguous rendered run containing this observation.

[View source — packages/core/src/features/viz/inspection/query-types.ts:36](/source/packages/core/src/features/viz/inspection/query-types-ts/#L36)

</details>

<span id="api-NumericRenderedAnchors"></span>

### NumericRenderedAnchors

The two logical anchors of a numeric domain position.

```ts
interface NumericRenderedAnchors
```

Related API: [NumericRenderedAnchors](/reference/functions/rendered-series-inspection/).

#### See also

[NumericRenderedSeries](/reference/functions/rendered-series-inspection/)

[View source — packages/core/src/features/viz/inspection/query-types.ts:44](/source/packages/core/src/features/viz/inspection/query-types-ts/#L44)

#### Properties and methods

<span id="api-NumericRenderedAnchors-anchorLocal"></span>
<details>
<summary>anchorLocal</summary>


```ts
readonly anchorLocal: Readonly<RenderedSeriesPoint>
```

Related API: [RenderedSeriesPoint](/reference/functions/rendered-series-inspection/).

Anchor in the series-local logical coordinate system.

[View source — packages/core/src/features/viz/inspection/query-types.ts:46](/source/packages/core/src/features/viz/inspection/query-types-ts/#L46)

</details>

<span id="api-NumericRenderedAnchors-anchorRoot"></span>
<details>
<summary>anchorRoot</summary>


```ts
readonly anchorRoot: Readonly<RenderedSeriesPoint>
```

Related API: [RenderedSeriesPoint](/reference/functions/rendered-series-inspection/).

Anchor in the root-logical coordinate system.

[View source — packages/core/src/features/viz/inspection/query-types.ts:48](/source/packages/core/src/features/viz/inspection/query-types-ts/#L48)

</details>

<span id="api-NearestRecordedXOptions"></span>

### NearestRecordedXOptions

Options for nearestRecordedX.

```ts
interface NearestRecordedXOptions<D>
```

Related API: [NearestRecordedXOptions](/reference/functions/rendered-series-inspection/).

[View source — packages/core/src/features/viz/inspection/queries.ts:103](/source/packages/core/src/features/viz/inspection/queries-ts/#L103)

#### Properties and methods

<span id="api-NearestRecordedXOptions-domainX"></span>
<details>
<summary>domainX</summary>


```ts
readonly domainX: number | undefined
```

Numeric horizontal domain value to inspect, or undefined for no request.

[View source — packages/core/src/features/viz/inspection/queries.ts:105](/source/packages/core/src/features/viz/inspection/queries-ts/#L105)

</details>

<span id="api-NearestRecordedXOptions-maxDomainDelta"></span>
<details>
<summary>maxDomainDelta (optional)</summary>


```ts
readonly maxDomainDelta?: number | undefined
```

Maximum accepted absolute horizontal-domain delta.

[View source — packages/core/src/features/viz/inspection/queries.ts:107](/source/packages/core/src/features/viz/inspection/queries-ts/#L107)

</details>

<span id="api-NearestRecordedXOptions-filter"></span>
<details>
<summary>filter (optional)</summary>


```ts
readonly filter?: NumericRenderedFilter<D> | undefined
```

Related API: [NumericRenderedFilter](/reference/functions/rendered-series-inspection/).

Further restricts committed observations for this request.

[View source — packages/core/src/features/viz/inspection/queries.ts:109](/source/packages/core/src/features/viz/inspection/queries-ts/#L109)

</details>

<span id="api-NearestRecordedPointOptions"></span>

### NearestRecordedPointOptions

Options for nearestRecordedPoint.

```ts
interface NearestRecordedPointOptions<D>
```

Related API: [NearestRecordedPointOptions](/reference/functions/rendered-series-inspection/).

[View source — packages/core/src/features/viz/inspection/queries.ts:153](/source/packages/core/src/features/viz/inspection/queries-ts/#L153)

#### Properties and methods

<span id="api-NearestRecordedPointOptions-rootPoint"></span>
<details>
<summary>rootPoint</summary>


```ts
readonly rootPoint: Readonly<RenderedSeriesPoint> | undefined
```

Related API: [RenderedSeriesPoint](/reference/functions/rendered-series-inspection/).

Root-logical point to inspect, or undefined for no request.

[View source — packages/core/src/features/viz/inspection/queries.ts:155](/source/packages/core/src/features/viz/inspection/queries-ts/#L155)

</details>

<span id="api-NearestRecordedPointOptions-maxRootDistance"></span>
<details>
<summary>maxRootDistance (optional)</summary>


```ts
readonly maxRootDistance?: number | undefined
```

Maximum accepted Euclidean root-logical distance.

[View source — packages/core/src/features/viz/inspection/queries.ts:157](/source/packages/core/src/features/viz/inspection/queries-ts/#L157)

</details>

<span id="api-NearestRecordedPointOptions-filter"></span>
<details>
<summary>filter (optional)</summary>


```ts
readonly filter?: NumericRenderedFilter<D> | undefined
```

Related API: [NumericRenderedFilter](/reference/functions/rendered-series-inspection/).

Further restricts committed observations for this request.

[View source — packages/core/src/features/viz/inspection/queries.ts:159](/source/packages/core/src/features/viz/inspection/queries-ts/#L159)

</details>

<span id="api-SampleRecordedXOptions"></span>

### SampleRecordedXOptions

Options for sampleRecordedX.

```ts
interface SampleRecordedXOptions<D>
```

Related API: [SampleRecordedXOptions](/reference/functions/rendered-series-inspection/).

[View source — packages/core/src/features/viz/inspection/queries.ts:206](/source/packages/core/src/features/viz/inspection/queries-ts/#L206)

#### Properties and methods

<span id="api-SampleRecordedXOptions-domainX"></span>
<details>
<summary>domainX</summary>


```ts
readonly domainX: number | undefined
```

Numeric horizontal domain value to sample, or undefined for no request.

[View source — packages/core/src/features/viz/inspection/queries.ts:208](/source/packages/core/src/features/viz/inspection/queries-ts/#L208)

</details>

<span id="api-SampleRecordedXOptions-interpolation"></span>
<details>
<summary>interpolation</summary>


```ts
readonly interpolation: NumericDomainInterpolation
```

Related API: [NumericDomainInterpolation](/reference/functions/rendered-series-inspection/).

Computes the estimated numeric domain value between two recorded values.

[View source — packages/core/src/features/viz/inspection/queries.ts:210](/source/packages/core/src/features/viz/inspection/queries-ts/#L210)

</details>

<span id="api-SampleRecordedXOptions-resolveDuplicate"></span>
<details>
<summary>resolveDuplicate (optional)</summary>


```ts
readonly resolveDuplicate?: NumericDuplicateResolver<D> | undefined
```

Related API: [NumericDuplicateResolver](/reference/functions/rendered-series-inspection/).

Explicitly chooses one observation from each duplicate-domain group.

[View source — packages/core/src/features/viz/inspection/queries.ts:212](/source/packages/core/src/features/viz/inspection/queries-ts/#L212)

</details>

<span id="api-SampleRecordedXOptions-maxDomainGap"></span>
<details>
<summary>maxDomainGap (optional)</summary>


```ts
readonly maxDomainGap?: number | undefined
```

Maximum domain interval that may be interpolated across.

[View source — packages/core/src/features/viz/inspection/queries.ts:214](/source/packages/core/src/features/viz/inspection/queries-ts/#L214)

</details>

<span id="api-SampleRecordedXOptions-filter"></span>
<details>
<summary>filter (optional)</summary>


```ts
readonly filter?: NumericRenderedFilter<D> | undefined
```

Related API: [NumericRenderedFilter](/reference/functions/rendered-series-inspection/).

Further restricts committed observations for this request.

[View source — packages/core/src/features/viz/inspection/queries.ts:216](/source/packages/core/src/features/viz/inspection/queries-ts/#L216)

</details>

## Implementation guidance for agents

Read the [Data visualization companion](/agents/topics/visualization/) for ownership, adaptation, failure modes, and verification. [Agent start](/agents/) provides the version-selection workflow.

## Complete minimal examples

- [Recorded numeric inspection](/minimal-examples/viz/inspection-recorded/): Query the committed observations from numeric and point series with explicit units and interpolation. [Plain source](/minimal/viz/inspection-recorded.tsx)
- [Painted mark lookup](/minimal-examples/viz/inspection-painted/): Keep painted point and bar hit testing separate from nearest recorded-data selection. [Plain source](/minimal/viz/inspection-painted.tsx)
- [Lazy event inspection](/minimal-examples/viz/inspection-lazy/): Request a typed query only inside an ordinary event handler and reuse an equal request within its dispatch. [Plain source](/minimal/viz/inspection-lazy.tsx)
## Documentation version

Documentation built with @pibbl/core 0.0.2, revision dd39ce2. ALPHA — NOT FOR PRODUCTION USE.
