Parent
#489
Context
#491 与 PR #495 采用 Rust 实现显式网格重建器。Review 已确认这部分只有约
500 行核心逻辑,算法本身不要求 Rust;继续保留 Rust 会额外引入工具链、PyO3、
跨平台构建和双语言维护成本。因此按导师意见等价迁移到服务端 Python。
本 Issue 替代 #491 中的 Rust 交付方向,后续新 PR 替代 #495。
Outcome
提供一个基于 NumPy/Pillow 的向量化 Python 网格重建器,在算法和 RGBA 输出不变
的前提下,保持现有显式网格契约与可接受的服务端性能。
Scope
- 在
windup_app.server.pixel_perfect 下实现独立 Python 重建模块。
- 保持
PNG/JPEG bytes + cols + rows + colors → 1x PNG 契约。
- 原样保留 60,000 点确定性采样、固定种子 k-means++、15 轮 Lloyd 更新、两阶段结构投票、原色恢复与 alpha 多数票。
- 保留当前透明像素 RGB 的参与规则;任何行为修复另开 Issue,不混入语言迁移。
- 保留输入大小、图片像素、网格参数和 128 MiB 工作集边界;工作集估算包含 Python 色表与向量缓冲。
- 使用 NumPy 向量化与同色点去重,不引入逐像素 Python 双重循环。
- 用相同 fixture 对比当前 Rust 版本的输出、耗时和峰值内存。
Acceptance criteria
Exclusions
Related
Refs #491
Refs #495
Refs #496
Parent
#489
Context
#491 与 PR #495 采用 Rust 实现显式网格重建器。Review 已确认这部分只有约
500 行核心逻辑,算法本身不要求 Rust;继续保留 Rust 会额外引入工具链、PyO3、
跨平台构建和双语言维护成本。因此按导师意见等价迁移到服务端 Python。
本 Issue 替代 #491 中的 Rust 交付方向,后续新 PR 替代 #495。
Outcome
提供一个基于 NumPy/Pillow 的向量化 Python 网格重建器,在算法和 RGBA 输出不变
的前提下,保持现有显式网格契约与可接受的服务端性能。
Scope
windup_app.server.pixel_perfect下实现独立 Python 重建模块。PNG/JPEG bytes + cols + rows + colors → 1x PNG契约。Acceptance criteria
cols × rows,透明度多数票保持一致。git diff --check通过。Exclusions
Related
Refs #491
Refs #495
Refs #496