INNER CODE UNIT · Python
_transforms_path
GenielabsOpenSource/spine-animation-ai · reskin-app/app/backend/server.py:370
def _transforms_path(project: projects.Project, skin: str) -> Path:
"""Where per-skin slot transform deltas live.
Deltas (`{x, y}` in spine-local units) are applied on top of the loaded
JSON's attachment x/y at render time — the source JSON files are never
mutated, so reset always returns to disk-default.
"""
return project.workdir / "transforms" / f"{skin}.json"
def _read_transforms(project: projects.Project, skin: str) -> dict[str, dict]:
p = _transforms_path(project, skin)
if not p.exists():
return {}
try:
v = json.loads(p.read_text())
return v if isinstance(v, dict) else {}
except Exception: