SuperAPI AI Directory

googly-eye-loop

Design & creation

View repository

Updated 10-16 05:49

About this skill

googly-eye-loop

Purpose

Animate two googly-style eyes whose pupils wander on a periodic path inside their scleras. The key detail: each pupil moves independently with a small asymmetric offset, so the eyes don't look like a stamp.

Params

{
  "sclera_color": "#FFFFFF",
  "pupil_color": "#0F0F0F",
  "eye_radius_px": 200,
  "pupil_radius_px": 80,
  "spacing_px": 60,                      // horizontal gap between the two eyes

"cycle_frames": 75, // ~2.5s at 30fps for a full pupil tour "asymmetric_pupil_offset_px": 4, // 2nd eye's pupil is offset by N px from 1st "easing": "ease-out-cubic" }


## Behaviour

1. Render two circles (scleras) side by side at `spacing_px` apart.
2. For each sclera, render a smaller pupil that moves along a periodic path:
   - center → left → right → down → center
   - Each leg takes `cycle_frames / 4` frames
3. Pupil 2 has a constant offset applied to break symmetry.

The asymmetry is the whole point. Two pupils moving in lock-step look mechanical / dead. Tiny decorrelation = alive.

## Style pack overrides

- **SP-A (marshmallow)** — sclera white, pupils ink, spacing 60, cycle 75 frames.
- Other packs: rare, occasional in SP-G as illustration mascot.

## Quality Checks

- Two eyes visible side-by-side.
- Pupils move in a periodic loop with full traversal.
- Asymmetric offset ≥ 2 (without it, eyes look like a doll's).
- Pupils don't exit their sclera bounds (clip inside).

## Failure Modes

- **Eyes look like a stamp.** No asymmetric offset; pupils move in lockstep. Set `asymmetric_pupil_offset_px ≥ 2`.
- **Pupil escapes sclera.** Path range too wide. Reduce so `pupil_pos + pupil_radius < eye_radius`.
- **Eyes feel nervous.** Cycle too fast. Bump to 75+ frames.
- **Eyes feel dead.** Cycle too slow (150+ frames). Reduce.