sprite-gen
Copyright 2026 Alex Kim

This project is inspired by the Apache-2.0 licensed hatch-pet component-row
workflow. sprite-gen targets generic game sprite atlases and does not include
Codex pet assets, pet packages, or hatch-pet visual assets.

The `align_x: "alpha-centroid"` frame alignment (sprite_gen/extract.py) is a
port of the alpha-weighted mass-centroid alignment from perfectpixel-studio
(https://github.com/gykim80/perfectpixel-studio, internal/sprite/extract.go),
Copyright Andrew Kim (gykim80), MIT License.

The `segmentation: "projection"` frame separation (sprite_gen/segment.py) is a
port of the projection-profile + DP optimal-cut segmentation from
perfectpixel-studio (https://github.com/gykim80/perfectpixel-studio,
internal/sprite/segment.go), Copyright Andrew Kim (gykim80), MIT License.

The opt-in `chroma.mode: "ycbcr"` background matting (sprite_gen/extract.py) is
a port of the chrominance-plane matting — CbCr border-mode key detection,
Hermite soft matte, key-direction despill, border flood fill and the pure-key
rematte self-diagnostic — from perfectpixel-studio
(https://github.com/gykim80/perfectpixel-studio, internal/sprite/chroma.go),
Copyright Andrew Kim (gykim80), MIT License.

The estimation-only `estimate_pixel_grid_runlen` pitch estimator
(sprite_gen/extract.py) is a port of the unfake same-color run-length mode
block-size estimation from perfectpixel-studio
(https://github.com/gykim80/perfectpixel-studio, internal/sprite/pixelize.go),
Copyright Andrew Kim (gykim80), MIT License.

RIFE's torch backend (sprite_gen/video/rife_torch.py) writes again the IFNet of
rife-v4.6 — its structure and parameter names, and its warp — from Practical-RIFE
(https://github.com/hzwer/Practical-RIFE, commit f6b5132, train_log/IFNet_HDv3.py
and model/warplayer.py), Copyright (c) 2021 hzwer, MIT License.

Its test-time augmentation — the pair turned eight ways and run both ways in time,
the flows averaged at every level — follows rife-ncnn-vulkan 20221029
(https://github.com/nihui/rife-ncnn-vulkan, src/rife.cpp RIFE::process_v4 and its
rife_*_tta shaders), Copyright (c) 2020 nihui, MIT License. It reads its weights
from that release's rife-v4.6 model, which sprite-gen does not ship.
