Crayon World 3D — Style Prompt

A whole world built in 3D and redrawn in wax crayon, by a child's hand, twelve times a second, while a camera moves through it: real depth and parallax, a flight or a walk in first person, and every frame still a crayon drawing on the same sheet of paper. References (grammar only): first-person walking films and long takes (the camera is someone, their gaze is the cut); children's drawings of a village (houses with a gable front and a slanted side, lollipop trees, five-petal flowers). Copy no film's route or shots and no child's drawing, and never name them in the film.

1. Essence, and what it is not

Not Crayon Picture Book: that style is a flat page drawn while you watch, the camera moving over the paper, a watercolour wash, narration printed as the book's words. Here the camera moves inside a world, the page is only the surface it is drawn on, and there is no wash. Not a toon shader or cel look (no flat fills, no smooth lines, no lighting ramps), not a low-poly render with a paper overlay.

2. Materials & rendering

3. Colour logic

4. Type & subtitles

5. Motion quality

6. Camera grammar

Move What it expresses Can serve
First person, gaze leads We are someone; what they look at is what matters a memory; a visit; a stranger arriving
Gaze follows a moving person with a lag Watching, not tracking longing; shyness; a child watching a parent
A low skim over a surface (wheat, water, roofs) Speed and freedom a journey; a return home; a chase
Rising over a place Leaving, or seeing it whole a farewell; a map of a life; an ending
Riding something that sways (a flower, a boat, a branch) Being small and alive in the wind waking; waiting; a rest
Hard cut to another person's eyes The other side of the same moment a reveal of who the camera was; a reply
Narrow field of view, held Staring at one thing recognition; grief; a decision

Framing: keep the subject of a held shot at least 1/4 of frame height; keep paper free where words will go. Transitions are cuts or camera moves; never a dissolve, never a 3D-looking whip with motion blur.

7. Sound palette

8. Native moves

Our demo opens riding something that sways in the wind, with the camera as someone, uses cut to the other's eyes as its turn and ends on blank paper for words. A new film opens and ends another way: eyes opening, a hand-drawn map that becomes the ground, a fixed window held for the whole film, or an ending where the camera lies down in the grass and the sky takes the frame.

9. Pitfalls of the medium

10. Engine

In demo/engine/: npr.js (region(o) a drawing recipe, mesh(geo, reg) a 3D mesh drawn with it, makeNPR(), snap(N, scene, cam) the analysis render, shapes(S) the traced rings and dark-side rings per region, silhouette(S, regs, cv) a knock-out mask), crayon.js (line, fill with hand scribble and anchor, dab, text, shape helpers; from Crayon Picture Book, extended to multi-ring regions), gl.js (makeComp: begin, knock, crayon, finish; also wash and wet passes the demo doesn't use). demo/film.js shows the frame loop (frame(t): pose, snap, shapes, draw each region by its recipe, composite by group) and the camera helpers (cr time-based Hermite spline, follow lagged direction).

A minimal example the demo never draws (a red kite over a green field, the camera tilting up to it):

const field = region({ col: '#6cb24a', p: .5, ang: .1, gap: 13, w: 13, ow: 0 }), kite = region({ col: '#c8452f', p: .9, ang: .7, gap: 6, w: 8, ow: 7, grp: 'fg' });
scene.add(mesh(new THREE.BoxGeometry(200, .02, 200), field));
const k = mesh(new THREE.OctahedronGeometry(.6), kite); k.scale.set(1, 1.4, .1); scene.add(k);
// in frame(t): k.position.set(0, 6 + Math.sin(t), -12); cam.lookAt(0, lerp(1.5, 6, eio(t / 3)), -12); then snap → shapes → C.fill / C.line per region → comp

11. Variation space

You decide who the camera is (or whether it is anyone), the place, the route, the pacing, the crayon box, the words and whether there are any. All far from our demo:


How our demo was made (story, shots, score, end card, build): DEMO.md. Read it after your treatment exists.