id: ml_chip
name: Chip Raster for ML Inference
description: >
  Cut a raster into fixed-size patches suitable for foundation model input.
  Handles edge padding for non-divisible extents and configurable overlap
  for seamless reassembly.
version: 1.0.0
category: prepare
type: raster-to-raster
default_implementation: native

inputs:
  - name: raster
    type: raster
    format: [cog, tif]
    description: Input raster to chip
    required: true

# Structural op — operates on any raster regardless of concept or bands.
requires: {}

outputs:
  - name: chips
    type: raster
    format: tif
    description: Directory of chip GeoTIFFs

params:
  chip_size:
    type: integer
    default: 224
    description: Output patch size in pixels (square)
  overlap:
    type: integer
    default: 0
    description: Overlap in pixels between adjacent chips

execution:
  realtime_max_km2: 1000
  memory_profile: low

# backends: audited 2026-08-14 (defect 50). NOTHING dispatches this op: no arm in folia-engine
# `dispatch_op`, no `registerOp`/OP_TABLE entry in packages/compute, no `_BUILTIN_OP_MAP`
# key in folia/compute.py, no backend manifest. Declared EMPTY on purpose — an absent
# block would be indistinguishable from one nobody ever wrote.
backends: {}
