INNER CODE UNIT · Python

percent

WenyuChiou/awesome-agentic-ai-zh · scripts/build-role-map.py:50

def percent(seconds):
    return f"{seconds / 18 * 100:.4f}%"


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}}")

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…