INNER CODE UNIT · Python

put_slot_mask_image

GenielabsOpenSource/spine-animation-ai · reskin-app/app/backend/server.py:261

async def put_slot_mask_image(skin_name: str, slot: str, request: Request):
    """Save a binary mask PNG (8-bit greyscale) for a slot, then re-pack."""
    project = _State.require_project()
    body = await request.body()
    if not body:
        raise HTTPException(400, "empty body")
    masks_dir = project.workdir / "skins" / skin_name / "masks"
    masks_dir.mkdir(parents=True, exist_ok=True)
    mask_file = masks_dir / f"{slot}.png"
    mask_file.write_bytes(body)
    logger = _State.logger()
    raw_file = project.workdir / "skins" / skin_name / "extracted_raw" / f"{slot}.png"
    pre = logger.snapshot(raw_file, f"mask_{slot}_raw") if raw_file.exists() else None
    mask_snap = logger.snapshot(mask_file, f"mask_{slot}_mask")
    import time as _time
    t0 = _time.time()
    rebuilt = _rebuild_skin_atlas(project, skin_name)
    repacked_atlas = project.path / rebuilt.get("atlas", "")

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…