Snail mail van, explained · celworld

Snail mail van

.cel · 31 lines · 27 shapes · 4 joints · seed 1

Snail mail van is 18 shape lines that grow into 27 shapes, with 7 genes the seed draws, 5 motions on 3 joints.

an original delivery van that is half snail: a low rounded body (the foot), a cab with a smile, headlights and a windscreen, eyes on wobbly stalks, a spiral shell for the mail hold with a letter slot and a little flag, and chunky wheels

seed

From the ground to each spot

Each part rides the one before it, so whoever sits at the end feels every motion at once.

Always on

State deliver

L1

Snail mail van

asset
1asset snail_van "Snail mail van" complexity=4

The asset line names the model snail_van, titled Snail mail van. complexity=4 holds it to 70 shapes, 6,000 triangles and 4 draw calls; going past any of them is an error.

tier
c4
shapes cap
70
triangles cap
6,000
seed
1
L5

L

let
5let L = 2.8..3.2

A gene, L: a value drawn between 2.8 and 3.2 for every seed. This seed picked 2.987. Every line that reads L follows it.

this seed
2.987
draws
from the seed
L6

W

let
6let W = 1.4..1.6

A gene, W: a value drawn between 1.4 and 1.6 for every seed. This seed picked 1.509. Every line that reads W follows it.

this seed
1.509
draws
from the seed
L7

WR

let
7let WR = .3..0.36

A gene, WR: a value drawn between 0.3 and 0.36 for every seed. This seed picked 0.327. Every line that reads WR follows it.

this seed
0.327
draws
from the seed
L8

body

let
8let body = teal:2|cherry:2|cobalt|sunflower|mint|coral

A gene, body: a weighted pick from teal (2 in 8), cherry (2 in 8), cobalt, sunflower, mint or coral. This seed picked cherry.

this seed
cherry
draws
from the seed
L9

trim

let
9let trim = cream:3|white

A gene, trim: a weighted pick from cream (3 in 4) or white. This seed picked cream.

this seed
cream
draws
from the seed
L10

shellC

let
10let shellC = terracotta:2|peach|honey|oak|lilac

A gene, shellC: a weighted pick from terracotta (2 in 6), peach, honey, oak or lilac. This seed picked peach.

this seed
peach
draws
from the seed
L11

swirl

let
11let swirl = walnut:2|plum|redwood

A gene, swirl: a weighted pick from walnut (2 in 4), plum or redwood. This seed picked walnut.

this seed
walnut
draws
from the seed
L14

foot

box
14box foot at=(0, WR*.45, 0) size=(W, .5, L) round=.2 bands=[.32:body] color=trim joint

A box, a rounded box standing on the origin (true fillets, crisp colour cuts). It stands at the model's origin. It is a joint, and line 41 hops ±0.015 m: everything on it moves too.

the foot and the cab

size
1.509, 0.5, 2.987
round
0.2
bands
[.32:body]
color
cream
L15

cab

box
15box cab on=foot at=(0, .42, L*.24) size=(W*.94, .85, L*.5) round=.3 color=body

A box, a rounded box standing on the origin (true fillets, crisp colour cuts). It rides foot, at (0, .42, L*.24) in its frame.

size
1.418, 0.85, 1.494
round
0.3
color
cherry
L16

screen

box
16box screen on=cab at=(0, .46, L*.25-.02) size=(W*.74, .3, .06) round=.06 color=glassDark surface=glass

A box, a rounded box standing on the origin (true fillets, crisp colour cuts). It rides cab, at (0, .46, L*.25-.02) in its frame.

size
1.117, 0.3, 0.06
round
0.06
color
glassDark
surface
glass
L17

window

box
17box window on=cab at=(W*.47-.02, .46, .06) mirror size=(.06, .28, L*.3) round=.06 color=glassDark surface=glass

A box, a rounded box standing on the origin (true fillets, crisp colour cuts). It rides cab, at (W*.47-.02, .46, .06) in its frame. 2 copies and a mirrored twin across the parent’s centre line.

copies
2
size
0.06, 0.28, 0.896
round
0.06
color
glassDark
surface
glass
L18

grin

face
18face grin on=cab eyes=none mouth=smile mouthY=-24 mouthW=.55

A face, a house face (unlit, never inked) on the parent surface: eyes, mouth, blush, brows. It rides cab, at its origin.

eyes
none
mouth
smile
mouthY
−24
mouthW
0.55
L19

lamp

ball
19ball lamp on=cab at=(W*.3, .26, L*.25) mirror r=(.09, .09, .04) color=glow ink=glow segs=10 rings=6

A ball, an ellipsoid centred on the origin. It rides cab, at (W*.3, .26, L*.25) in its frame. 2 copies and a mirrored twin across the parent’s centre line. Its ink is glow: unlit, so it reads as a light.

copies
2
r
0.09, 0.09, 0.04
color
glow
ink
glow
segs
10
rings
6
L20

bumper

box
20box bumper on=foot at=(0, 0, L*.5) size=(W*.86, .14, .14) round=.06 color=silver surface=metal

A box, a rounded box standing on the origin (true fillets, crisp colour cuts). It rides foot, at (0, 0, L*.5) in its frame.

size
1.298, 0.14, 0.14
round
0.06
color
silver
surface
metal
L21

rear

box
21box rear on=foot at=(0, 0, -L*.5) size=(W*.86, .14, .14) round=.06 color=silver surface=metal

A box, a rounded box standing on the origin (true fillets, crisp colour cuts). It rides foot, at (0, 0, -L*.5) in its frame.

size
1.298, 0.14, 0.14
round
0.06
color
silver
surface
metal
L24

stalk

rod
24rod stalk on=cab at=(.2, .8, .2) mirror to=(.1, .5, .12) r=(.05, .04) sides=8 color=body joint

A rod, a straight bar from the origin to to, flat ends: poles, legs, rails, spokes. It rides cab, at (.2, .8, .2) in its frame. 2 copies and a mirrored twin across the parent’s centre line. It is a joint, and line 39 rocks ±7°, line 40 tips ±5° and line 44 keyframes on rx: everything on it moves too.

eyes on stalks

copies
2
to
0.1, 0.5, 0.12
r
0.05, 0.04
sides
8
color
cherry
L25

eye

ball
25ball eye on=stalk at=end r=.11 color=white segs=12 rings=8

A ball, an ellipsoid centred on the origin. It sits at the end of stalk. There is a set on each of the 2 stalk copies, 2 in all.

copies
2
r
0.11, 0.11, 0.11
color
white
segs
12
rings
8
L26

pupil

ball
26ball pupil on=eye surf=(0, 4) decal lift=-.025 r=(.05, .065, .03) color=inkDark ink=none segs=8 rings=5

A ball, an ellipsoid centred on the origin. It sticks to the surface of eye at (0, 4) (azimuth, elevation), lying flat on it. There is a set on each of the 2 eye copies, 2 in all. It draws no outline.

copies
2
lift
-.025
r
0.05, 0.065, 0.03
color
inkDark
ink
none
segs
8
rings
5
L29

shell

cyl
29cyl shell on=foot at=(-W*.4, 1.0, -L*.18) rot=(0, 0, -90) h=W*.8 r=.8 round=.26 cap=shellC color=shellC segs=28

A cyl, a cylinder (or tapered drum) with rounded edges, base at the origin. It rides foot, at (-W*.4, 1.0, -L*.18) in its frame.

the shell: a fat rounded disc with a raised spiral on each side, a letter slot and a flag

rot
(0, 0, -90)
h
1.207
r
0.8
round
0.26
cap
peach
color
peach
segs
28
L30

coil

tube
30tube coil on=foot at=(W*.4+.012, 1.0, -L*.18) mirror pts=[0,.42,.21 0,.26,.37 0,.05,.42 0,-.15,.37 0,-.29,.24 0,-.34,.08 0,-.32,-.09 0,-.22,-.21 0,-.09,-.27 0,.05,-.26 0,.15,-.19 0,.19,-.09 0,.19,.01 0,.14,.09 0,.07,.12 0,0,.12 0,-.04,.08] r=(.055, .035) smooth sides=6 detail=.5 color=swirl

A tube, a round tube along points (in the part frame): handles, strings, tails, pipes. It rides foot, at (W*.4+.012, 1.0, -L*.18) in its frame. 2 copies and a mirrored twin across the parent’s centre line.

copies
2
pts
[0,.42,.21 0,.26,.37 0,.05,.42 0,-.15,.37 0,-.29,.24 0,-.34,.08 0,-.32,-.09 0,-.22,-.21 0,-.09,-.27 0,.05,-.26 0,.15,-.19 0,.19,-.09 0,.19,.01 0,.14,.09 0,.07,.12 0,0,.12 0,-.04,.08]
r
0.055, 0.035
smooth
yes
sides
6
detail
0.5
color
walnut
L31

slot

box
31box slot on=shell surf=(215, 0) decal at=(0, -.21, 0) lift=-.03 size=(.1, .42, .07) round=.03 color=inkDark

A box, a rounded box standing on the origin (true fillets, crisp colour cuts). It sticks to the surface of shell at (215, 0) (azimuth, elevation), lying flat on it.

lift
-.03
size
0.1, 0.42, 0.07
round
0.03
color
inkDark
L32

letter

slab
32slab letter on=slot at=(0, .21, .03) rot=(0, -90, 0) pts=[0,-.15 .2,-.15 .2,.15 0,.15] t=.015 color=white edge=cherry|cobalt

A slab, a flat outline (x,y points) with thickness in z and rounded rims: signs, sails, wings, fins, leaves. It rides slot, at (0, .21, .03) in its frame.

rot
(0, -90, 0)
pts
[0,-.15 .2,-.15 .2,.15 0,.15]
t
0.015
color
white
edge
cobalt
L33

flagpole

rod
33rod flagpole on=foot at=(W*.44, .45, -L*.18-.5) to=(0, .9, 0) r=.022 sides=6 color=silver joint surface=metal

A rod, a straight bar from the origin to to, flat ends: poles, legs, rails, spokes. It rides foot, at (W*.44, .45, -L*.18-.5) in its frame. It is a joint, and line 43 keyframes on rx: everything on it moves too.

to
0, 0.9, 0
r
0.022, 0.022
sides
6
color
silver
surface
metal
L34

flag

box
34box flag on=flagpole at=(0, .64, -.17) rot=(0, 90, 0) size=(.34, .2, .03) round=.012 color=cherry surface=fabric

A box, a rounded box standing on the origin (true fillets, crisp colour cuts). It rides flagpole, at (0, .64, -.17) in its frame.

rot
(0, 90, 0)
size
0.34, 0.2, 0.03
round
0.012
color
cherry
surface
fabric
L37

wheel

wheel
37wheel wheel x2 on=foot row=(0, 0, L*.62) at=(W*.47, WR*.55, 0) mirror r=WR w=.24 hub=trim

A wheel, a chunky wheel on an X axle, centred: tyre, hub and cap. It rides foot, at (W*.47, WR*.55, 0) in its frame. 4 copies in a centred row, (0, 0, L*.62) apart and a mirrored twin across the parent’s centre line.

wheels

copies
4
r
0.327
w
0.24
hub
cream
color
blossomWhite (default)
L39

stalk rocks ±7°

anim
39anim stalk rz sin amp=7 hz=.6 twin=.5

stalk (all 2 copies) rocks left and right by ±7°, once every 1.7 s (.6 Hz). The mirrored twin runs 0.5 of a cycle apart, so the pair alternate. Everything on stalk goes with it.

channel
rz
wave
sin
rate
.6 Hz
amount
±7°
L40

stalk tips ±5°

anim
40anim stalk rx sin amp=5 hz=.4 phase=.2

stalk (all 2 copies) tips forward and back by ±5°, once every 2.5 s (.4 Hz). It starts 0.2 of a cycle in. Everything on stalk goes with it.

channel
rx
wave
sin
rate
.4 Hz
amount
±5°
L41

foot hops ±0.015 m

anim
41anim foot py bounce amp=.015 hz=1.1

Hops foot by ±0.015 m, touching down 1.1 times a second. Everything on foot goes with it.

channel
py
wave
bounce
rate
1.1 Hz
amount
±0.015 m
L43

flagpole keyframes on rx

anim
43anim deliver: flagpole rx keys=[0:0 .6:88 .8:80 1:84] hz=1.2 once

Plays flagpole through keyframes on rx: [0:0 .6:88 .8:80 1:84], one cycle 1.2 times a second. It plays only while the model is in the deliver state, once, then holds its last pose. Everything on flagpole goes with it.

deliver: a state a game triggers; the flag swings down, the eyes glance back

channel
rx
wave
keys
rate
1.2 Hz
state
deliver
L44

stalk keyframes on rx

anim
44anim deliver: stalk rx keys=[0:0 .3:-22 .7:-22 1:0] hz=.8 once

Plays stalk (all 2 copies) through keyframes on rx: [0:0 .3:-22 .7:-22 1:0], one cycle once every 1.3 s. It plays only while the model is in the deliver state, once, then holds its last pose. Everything on stalk goes with it.

channel
rx
wave
keys
rate
.8 Hz
state
deliver