Portcullis · celworld
seed

Portcullis

portcullis v2Agent-madec4
Open in Playground

v2 cost

$1.07est.

Agent-made: its share of a Claude Code session, priced as API-equivalent Opus 5.5.

Output share
3k
Time share
1m 42s
The agent session
All 2 versions$2.14

Budget

c4 · 40 lines
Shapes58 / 70
Triangles4,500 / 6,000
Draw calls1 / 4
States
raise
Used in
Made
1asset portcullis "Portcullis" complexity=4
2// the gate to the throne room: two chunky stone pillars and a heavy lintel with a horned skull
3// keystone, an iron grate of bars with spiked feet sliding in grooves, a winch drum with a chain on
4// one pillar and a pull lever on the other. On raise the lever yanks down, the drum turns and the
5// grate grinds up, hangs, then slams back down. Fits a 3 m passage; it faces +z.
6let stoneC = greystone:2|granite|rockCool
7let ironC = iron:3|inkDark
8let boneC = cream:2|birch
9
10// the frame
11box pillar at=(1.28, 0, 0) mirror size=(.46, 3.3, .66) round=.08 bev=2 bands=[.1:stoneC*.86 .14:stoneC .5:stoneC*.93 .54:stoneC] color=stoneC
12box lintel at=(0, 3.25, 0) size=(3.0, .6, .76) round=.1 bev=2 bands=[.5:stoneC*.9] color=stoneC
13ball keystone on=lintel at=(0, .3, .36) r=(.24, .22, .16) color=boneC segs=14 rings=9
14ball socket on=keystone at=(.08, .03, .12) mirror r=(.06, .065, .04) color=inkDark segs=8 rings=5
15cone khorn on=keystone at=(.18, .12, 0) mirror rot=(0, 0, -60) h=.2 r=.05 bend=-30 color=boneC segs=8
16box groove on=pillar at=(-.26, .05, 0) size=(.08, 3.1, .18) round=.02 color=inkDark
17
18// the grate: a bottom rail, bars with spiked feet, cross bars
19box rail at=(0, .14, 0) size=(2.06, .1, .1) round=.03 color=ironC joint
20rod bar x7 on=rail at=(0, .05, 0) row=(.32, 0, 0) to=(0, 2.85, 0) r=.045 sides=6 color=ironC
21cone spike on=bar at=(0, -.02, 0) rot=(180, 0, 0) h=.16 r=.045 color=ironC*1.4 segs=6
22box cross x3 on=rail at=(0, 1.35, 0) row=(0, .85, 0) size=(2.03, .08, .07) round=.02 color=ironC
23ball rivet x7 on=cross at=(0, .04, .045) row=(.32, 0, 0) r=.03 color=ironC*1.5 segs=6 rings=4
24
25// the winch drum on the lintel front, its chain down to the grate
26cyl drum on=lintel at=(-1.35, .3, .5) rot=(0, 0, -90) h=.9 r=.2 color=walnut stripes=[walnut oak] panels=8 segs=12 joint
27torus drumRim x2 on=drum at=(0, .45, 0) row=(0, .86, 0) R=.2 r=.03 color=ironC segs=16 sides=5
28rod spokeH x2 on=drum at=(-.3+i*.3, .9+i*.012, -i*.3) to=(.6-i*.6, 0, i*.6) r=.03 sides=5 color=walnut
29
30rod chain on=lintel at=(-.9, .12, .52) to=(0, -.55, -.08) r=.03 sides=5 color=ironC
31
32// the pull lever on the right pillar
33box leverPlate at=(-1.28, 1.2, .33) size=(.26, .4, .06) round=.02 color=ironC
34rod lever on=leverPlate at=(0, .2, .04) rot=(25, 0, 0) to=(0, .55, 0) r=.03 sides=6 color=ironC joint
35ball knob on=lever at=end r=.06 color=tomato segs=10 rings=6
36
37// raise: lever down, drum turns, the grate grinds up, hangs, slams down
38anim raise: lever rx keys=[0:0 .15:80 .85:80 1:0] hz=.2
39anim raise: rail py keys=[0:0 .1:0 .4:2.3 .82:2.3 .9:0 .95:.08 1:0] hz=.2
40anim raise: drum ry keys=[0:0 .1:0 .4:-360 .82:-360 .9:0 1:0] hz=.2
41