import { DataFieldTypeValue } from '@retikz/data'; import { AnyScaleDefinition, ChannelResolveContext, ChannelScaleResolution, PositionScale } from '../../contract'; import { IRPlotMarkOperation, IRPlotScale, IRPlotScaleOperation } from '../../schemas'; /** * 内置 scale definition 列表(position 9 + channel 6 = 15)。 * @description 按 family 分族登记(position 产坐标 / channel 产颜色,对齐 contract 的 family 判别);与自定义 scale 共享同一 registry 分派流程 */ export declare const BUILTIN_SCALES: ReadonlyArray; /** * 解析 scale registry。 * @description 内置 scale 总是先注册;用户自定义 definition 不能覆盖内置 type,也不能彼此重复 */ export declare const resolveScaleRegistry: (custom?: ReadonlyArray) => Map; /** * 据 scale operation 建对应 PositionScale(registry 分派,family='position')。 * @description channel scale 作位置通道 → fail-loud(color scale 只绑 color 通道) */ export declare const resolvePositionScale: (operation: IRPlotScaleOperation, values: Array, fallbackRange: readonly [number, number], registry: ReadonlyMap) => PositionScale; /** * 据 scale operation 建 channel 解析(registry 分派,family='channel')。 * @description position scale 作 color 通道 → fail-loud。fieldType 不兼容 → fail-loud(连续字段须连续 / 离散化色阶,分类字段须 ordinal)。 */ export declare const resolveChannelScale: (operation: IRPlotScaleOperation, values: Array, ctx: ChannelResolveContext, registry: ReadonlyMap, options?: { checkFieldCompatible?: boolean; }) => ChannelScaleResolution; /** * 类型 ↔ scale 兼容校验(fail-loud,不强转):position 族经 registry 的 isFieldCompatible 谓词判定。 * @description 仅对 position 族 scale 生效;channel scale 作位置通道由 resolvePositionScale fail-loud。 */ export declare const assertScaleFieldCompatible: (role: string, scaleType: string, fieldType: DataFieldTypeValue, scaleName: string, registry: ReadonlyMap) => void; /** * 值轴 baseline 兼容校验(fail-loud):position 族 allowsBaseline=false 的 scale 不能作 interval / area 值轴。 * @description 柱 / 面积 baseline 含 0,与 log/pow/sqrt 结构冲突(log(0)=-∞);仅查值轴(cartesian=y、polar=radius)。 */ export declare const assertBaselineScaleCompatible: (valueScaleType: string, marks: ReadonlyArray, registry: ReadonlyMap) => void; /** * 按字段类型派生默认位置 scale 定义(type-driven 选型) * @description continuous→linear、temporal→time、categorical→band; * undefined(无字段绑定,如全常量通道)→ linear 兜底。仅在 coordinate 省略 scale 绑定时调用。 */ export declare const deriveScale: (fieldType: DataFieldTypeValue | undefined, name: string) => IRPlotScale; //# sourceMappingURL=registry.d.ts.map