Skip to content

Commit

Permalink
Add resize Kernel into bundled config.
Browse files Browse the repository at this point in the history
  • Loading branch information
Wentao-Kuang committed Dec 5, 2024
1 parent c3c795b commit a7cb281
Show file tree
Hide file tree
Showing 4 changed files with 7 additions and 3 deletions.
1 change: 1 addition & 0 deletions packages/config-loader/src/json/json.config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -247,6 +247,7 @@ export class ConfigJson {
if (tileSet.type === TileSetType.Raster) {
if (ts.outputs) tileSet.outputs = ts.outputs;
if (ts.background) tileSet.background = ts.background;
if (ts.resizeKernel) tileSet.resizeKernel = ts.resizeKernel;
}

if (ts.format) {
Expand Down
5 changes: 4 additions & 1 deletion packages/config-loader/src/json/parse.tile.set.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { ConfigTileSetOutputParser, parseRgba, TileSetType } from '@basemaps/config';
import { ConfigTileSetOutputParser, parseRgba, TileResizeKernel, TileSetType } from '@basemaps/config';
import { z } from 'zod';

export function validateColor(str: string): boolean {
Expand Down Expand Up @@ -57,6 +57,8 @@ const zLayerConfig = z
},
);

const TileResizeKernel = z.enum(['nearest', 'mitchell', 'lanczos3', 'lanczos2']);

export const zTileSetConfig = z.object({
type: z.nativeEnum(TileSetType),
id: z.string(),
Expand All @@ -68,6 +70,7 @@ export const zTileSetConfig = z.object({
minZoom: zZoom.optional(),
maxZoom: zZoom.optional(),
format: z.string().optional(),
resizeKernel: z.object({ in: TileResizeKernel, out: TileResizeKernel }).optional(),
outputs: z.array(ConfigTileSetOutputParser).optional(),
});

Expand Down
2 changes: 1 addition & 1 deletion packages/config/src/config/tile.set.ts
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ export interface ConfigLayer extends Partial<Record<EpsgCode, string>> {
maxZoom?: number;
}

export type TileResizeKernel = 'nearest' | 'lanczos3' | 'lanczos2';
export type TileResizeKernel = 'nearest' | 'mitchell' | 'lanczos3' | 'lanczos2';

export interface ConfigTileSetBase extends ConfigBase {
/** Human friendly display name for the tileset */
Expand Down
2 changes: 1 addition & 1 deletion packages/tiler/src/raster.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ export interface TileMaker {
compose(ctx: TileMakerContext): Promise<{ buffer: Buffer; metrics: Metrics }>;
}

export type ResizeKernelType = 'nearest' | 'lanczos3' | 'lanczos2';
export type ResizeKernelType = 'nearest' | 'mitchell' | 'lanczos3' | 'lanczos2';
export type TileMakerResizeKernel = { in: ResizeKernelType; out: ResizeKernelType };

export interface TileMakerContext {
Expand Down

0 comments on commit a7cb281

Please sign in to comment.