INNER CODE UNIT · Python
animation_css
WenyuChiou/awesome-agentic-ai-zh · scripts/build-role-map.py:54
def animation_css():
parts = [".role-layer{opacity:0;pointer-events:none}.role-motion{transform-origin:0 0}"]
for index, (role, poses) in enumerate(zip(ROLES, POSES, strict=True)):
start, end = 1 + index * 3, 3 + index * 3
parts += [
f".role-{role}{{animation:show-{role} 18s linear infinite}}",
f".move-{role}{{animation:move-{role} 18s cubic-bezier(.25,1,.5,1) infinite}}",
f"@keyframes show-{role}{{0%,{percent(start-.002)}{{opacity:0}}{percent(start)},"
f"{percent(end)}{{opacity:1}}{percent(end+.002)},100%{{opacity:0}}}}",
f"@keyframes move-{role}{{0%,100%{{transform:none}}" + "".join(
f"{percent(start + (end-start)*p)}{{transform:{pose}}}" for p, pose in poses
) + "}",
]
parts.append("@media(prefers-reduced-motion:reduce){.role-layer,.role-motion{animation:none!important}.role-layer{opacity:0!important}}")
return "\n".join(parts)
def asset_path(locale, extension):