Bring the minimalist section to 50 with 46 new creatures, 500 total

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
2026-10-23 14:52:04 +00:00
co-authored by Claude Opus 5.5
parent f25e39b727
commit 11965fb704
138 changed files with 1295 additions and 0 deletions
+23
View File
@@ -0,0 +1,23 @@
// ghost cat floating: a cat head on a sheet-like body that trails off into a curling tail, it bobs, dangles its droopy paws, the hem ripples and it blinks
const{sin,cos,PI}=Math,T=2*PI
export const frames=24,delay=85,rim=3,rimColor='#111'
export default(c,t)=>{
const s=sin(T*t),bl=t>.3&&t<.36,w=x=>5*sin(x/12-T*t*2)
c.fillStyle=c.strokeStyle='#fff';c.lineWidth=6
c.translate(115,124+9*s);c.rotate(.05*cos(T*t));c.translate(-128,-124)
const shape=g=>{c.beginPath();g();c.fill();c.stroke()}
for(const d of[-1,1])shape(()=>{c.moveTo(128+d*16,74);c.lineTo(128+d*42,38);c.lineTo(128+d*54,84)})
shape(()=>{
c.moveTo(78,100);c.bezierCurveTo(74,58,182,58,178,100)
c.bezierCurveTo(182,140,176,160,196,176+w(10));c.bezierCurveTo(216,190+w(20),236,170,222,152+6*sin(T*t*2+1))
c.bezierCurveTo(240,166,236,210,196,212);c.lineTo(180,212)
for(let x=180;x>82;x-=16)c.quadraticCurveTo(x-8,226+w(x),x-16,212+w(x-16)*.4)
c.bezierCurveTo(76,180,82,136,78,100)})
c.lineWidth=13
for(const d of[-1,1]){const k=6*sin(T*t*2+d)
c.beginPath();c.moveTo(128+d*44,132);c.quadraticCurveTo(128+d*66,118+k*.4,128+d*76,130+k);c.stroke()}
c.fillStyle=c.strokeStyle='#111'
for(const d of[-1,1])if(bl)c.lineWidth=3.5,c.beginPath(),c.arc(128+d*20,92,6.5,.15*PI,.85*PI),c.stroke()
else c.beginPath(),c.arc(128+d*20,95,6.5,0,T),c.fill()
c.lineWidth=3;c.beginPath();c.arc(122,108,6,.1*PI,.9*PI);c.arc(134,108,6,.1*PI,.9*PI);c.stroke()
}