luckiest-co 1.0.41 → 1.0.42

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (64) hide show
  1. package/.claude-plugin/marketplace.json +1 -1
  2. package/.claude-plugin/plugin.json +1 -1
  3. package/package.json +1 -1
  4. package/skills/video-studio/ATTRIBUTION.md +2 -0
  5. package/skills/video-studio/CHANGELOG.md +9 -0
  6. package/skills/video-studio/LICENSE-huashu-art-motion +21 -0
  7. package/skills/video-studio/LICENSE-mg-styles-15 +21 -0
  8. package/skills/video-studio/SKILL.md +11 -7
  9. package/skills/video-studio/references/interview.md +10 -2
  10. package/skills/video-studio/references/step-2b-storyboard.md +6 -0
  11. package/skills/video-studio/references/step-3-compose.md +13 -0
  12. package/skills/video-studio/references/step-4-deliver.md +5 -0
  13. package/skills/video-studio/references/storyboard.md +1 -0
  14. package/skills/video-studio/references/styles/3d-render.md +39 -0
  15. package/skills/video-studio/references/styles/anime-light.md +55 -0
  16. package/skills/video-studio/references/styles/aurora-glass.md +40 -0
  17. package/skills/video-studio/references/styles/bauhaus.md +46 -0
  18. package/skills/video-studio/references/styles/cel-boil.md +41 -0
  19. package/skills/video-studio/references/styles/chiaroscuro.md +53 -0
  20. package/skills/video-studio/references/styles/collage.md +46 -0
  21. package/skills/video-studio/references/styles/comic-pop.md +49 -0
  22. package/skills/video-studio/references/styles/constructivist.md +54 -0
  23. package/skills/video-studio/references/styles/cubist.md +49 -0
  24. package/skills/video-studio/references/styles/cut-paper.md +57 -0
  25. package/skills/video-studio/references/styles/era-styles.md +29 -0
  26. package/skills/video-studio/references/styles/finance-chart.md +60 -0
  27. package/skills/video-studio/references/styles/flat-vector.md +41 -0
  28. package/skills/video-studio/references/styles/grain-flat-illustration.md +48 -0
  29. package/skills/video-studio/references/styles/hud.md +41 -0
  30. package/skills/video-studio/references/styles/impressionist.md +48 -0
  31. package/skills/video-studio/references/styles/ink-wash.md +49 -0
  32. package/skills/video-studio/references/styles/isometric.md +40 -0
  33. package/skills/video-studio/references/styles/keynote-ui.md +59 -0
  34. package/skills/video-studio/references/styles/kinetic-type.md +58 -0
  35. package/skills/video-studio/references/styles/line-art.md +41 -0
  36. package/skills/video-studio/references/styles/liquid.md +40 -0
  37. package/skills/video-studio/references/styles/math-explainer.md +58 -0
  38. package/skills/video-studio/references/styles/morph.md +39 -0
  39. package/skills/video-studio/references/styles/mosaic.md +52 -0
  40. package/skills/video-studio/references/styles/newsroom-collage.md +60 -0
  41. package/skills/video-studio/references/styles/pixel.md +46 -0
  42. package/skills/video-studio/references/styles/pointillist.md +49 -0
  43. package/skills/video-studio/references/styles/presenter-explainer.md +57 -0
  44. package/skills/video-studio/references/styles/retro-cgi.md +52 -0
  45. package/skills/video-studio/references/styles/science-explainer.md +59 -0
  46. package/skills/video-studio/references/styles/sticker-explainer.md +40 -0
  47. package/skills/video-studio/references/styles/storytime.md +60 -0
  48. package/skills/video-studio/references/styles/swirl-brushwork.md +53 -0
  49. package/skills/video-studio/references/styles/synthwave.md +47 -0
  50. package/skills/video-studio/references/styles/variety-show.md +40 -0
  51. package/skills/video-studio/references/styles/watercolor-anime.md +50 -0
  52. package/skills/video-studio/references/styles/whiteboard.md +60 -0
  53. package/skills/video-studio/references/styles.md +117 -0
  54. package/skills/video-studio/scripts/qa.mjs +40 -0
  55. package/skills/video-studio/scripts/qa.test.mjs +23 -1
  56. package/skills/video-studio/scripts/storyboard.schema.json +2 -0
  57. package/skills/video-studio-art-director/CHANGELOG.md +7 -0
  58. package/skills/video-studio-art-director/SKILL.md +66 -5
  59. package/skills/video-studio-art-director/references/palettes.md +22 -0
  60. package/skills/video-studio-director/CHANGELOG.md +6 -0
  61. package/skills/video-studio-director/SKILL.md +21 -5
  62. package/skills/video-studio-director/references/jury.md +63 -0
  63. package/skills/video-studio-motion/CHANGELOG.md +4 -0
  64. package/skills/video-studio-motion/SKILL.md +34 -5
@@ -0,0 +1,49 @@
1
+ # Comic Pop (Ben-Day dots)
2
+
3
+ - id: `comic-pop`
4
+ - Source: huashu-art-motion `13_pop.md` (MIT)
5
+ - Best for: sale and promo spots, social shorts, youth brands, product comparisons, reaction clips
6
+ - Not for: luxury, calm wellness, serious finance
7
+ - Triggers: pop art, lichtenstein, warhol, comic book, ben-day dots, halftone, speech bubble, onomatopoeia, four-panel
8
+ - Tone cell: kinetic-sharp
9
+ - Clock: on twos (color swaps about every 5.5 frames, shake locked to 30 fps)
10
+
11
+ ## Look
12
+ Flat primaries with thick black outline (5 px) and no gradients.
13
+ - Black `#141414`, paper `#f3eedb`, blue `#2f5cc8`, yellow `#f7d52c`, red `#d8232a` / `#a8161c`, white `#fbf8ee`.
14
+ - Skin tone is `#fae0cc` with red dots (`#e2483c`). Four swap palettes for panels: `#9ccf3a #e0359a #2fc0b0 #f08a2a`.
15
+ Dots: blue background pitch 24, radius 5.6, 45 degree grid (diagonal spacing about 17 px); skin pitch 13, radius 3.3; a faint yellow print dot pitch 14, radius 2.2, alpha 0.18. Shadows are black diagonal hatching (10 px spacing, 3.5 px wide). Lettering is a bold comic face (Bangers) with 12 px black outline and a 4 px drop shadow. Compose in a panel with a heavy 6 px black frame.
16
+
17
+ ## Motion
18
+ - Four-panel color swap: `step = floor(lt*11)`, panel i uses palette `(i+step)%4`, with a slightly misregistered black shadow plate for screen-print error.
19
+ - Thinking dots: three dots in sequence, dot k is lit when `((f-2k) mod 12) < 4`, radius 20 vs 12, 6 px jump.
20
+ - Sound-effect burst shakes: hash jitter +/-8 px, +/-6 px, +/-0.03 rad at 30 fps; 10 black action lines pulse `0.85+0.25*sin(40t+2i)`.
21
+ - Subject squash and wiggle at 6 Hz, weight by distance from the pivot.
22
+ - Transition family: a lightning-bolt flash that turns the old frame into dots, then reveals the new panel.
23
+
24
+ ## Signature features (judged against these)
25
+ - Dots are screen-aligned (a pattern fill), they do not swim with moving subjects.
26
+ - Thick black outline plus flat fill on everything.
27
+ - Hatching for shadow, white short strokes for highlight.
28
+ - Burst shape with two layers (white outer, yellow inner) and lettered effect text.
29
+ - Color-swapped repeat panels with a black misregistration shadow.
30
+ - Hair or large shapes built from a union outline (stroke all black first, then fill all).
31
+
32
+ ## 10-second beat seed
33
+ - 0-1.2s: panel slams in with a burst and effect word.
34
+ - 1.2-4s: thinking dots, subject wiggle.
35
+ - 4-7s (hero): four-panel color swap at 11 Hz with the key message.
36
+ - 8.8-10s: freeze on one panel, burst keeps shaking.
37
+
38
+ ## Sound
39
+ Brass stabs and a snare, 120-140 BPM. Comic "pop" SFX per swap, whoosh on the bolt transition.
40
+
41
+ ## Build it in HyperFrames
42
+ Canvas 2D `createPattern` for dots: a small tile with 5 circles (four corners plus center) gives a 45 degree grid at near-zero cost, much faster than per-dot pixel sampling.
43
+ - Cache the static panel layer; draw with one `ink(path, fill, lw)` helper for all outlined shapes.
44
+ - Union outlines: stroke all sub-shapes at double width in black, then fill them all.
45
+
46
+ ## Watch out
47
+ - In the source this style scored top marks with no weak spot logged (index shows none).
48
+ - A large shape filled with one flat color reads like a cloth. Add the interior curl lines and black arcs for the sculpted comic look.
49
+ - A subject drawn in its resting position can float above a crouched pose. Move the head down into the body when squashing.
@@ -0,0 +1,54 @@
1
+ # Constructivist Poster
2
+
3
+ - id: `constructivist`
4
+ - Source: huashu-art-motion `22_constructivism.md` (MIT)
5
+ - Best for: bold announcements, campaign slogans, manifestos, rallies, protest or movement style, tech-ops "state of" posts (narrow use)
6
+ - Not for: soft lifestyle, luxury, children's, long reading
7
+ - Triggers: constructivism, rodchenko, lissitzky, soviet poster, red and black, propaganda poster, agitprop, photomontage, slogan
8
+ - Tone cell: kinetic-sharp
9
+ - Clock: smooth 30/60 fps
10
+
11
+ ## Look
12
+ Aged paper (`#e9dfc4`, dark `#d9c9a4`) with diagonal black bars, a red square, thin slanted lines, a big black circle behind the focal subject and a slanted red floor (12 px black top edge).
13
+ - Red `#c8231c / #8f1711`, black `#151311`, cream `#f4ecd6`, accent gold `#e3b03e`.
14
+ - Photos are grayscale halftone: variable-diameter dots at 45 degrees (cell 4.6 for faces, 7 for scenery, gain 0.74-0.8), set on cream with a 7 px cream cut-out border like a clipped photograph. Hand-drawn clean black lines (a tower, lettering) sit on top of the halftone for a photo plus drawing collage.
15
+ - Clothes are flat cut paper with 3 px black lines; shadows are dot patterns.
16
+ - Lettering is geometric, drawn from rectangles and polygons on a 5x7 module grid (Cyrillic-style blocks), vertical lettering allowed. Each part is filled separately.
17
+
18
+ ## Motion
19
+ - A red wedge stabs into the black circle: apex moves along a 0.34 rad axis, `70*(0.5-0.5*cos(2*pi*1.6*t))`.
20
+ - Dashed red ring around the circle: dash [46,22], `lineDashOffset = -260*t`.
21
+ - Radio-wave arcs from the tower top: `r = 18 + ((1.4t + k/4) mod 1)*230`, alpha and width fade.
22
+ - Slogan stamps letter by letter (0.045 s apart, 1.5x to 1x in 0.12 s) then a wave `-10*max(0, sin(11t-0.8k))`; every fourth letter black.
23
+ - Headwear tails sway `sin(9t)*6`; steam is three black polylines going up.
24
+ - Transition family: not specified in the source (the style opened its sample film).
25
+
26
+ ## Signature features (judged against these)
27
+ - Diagonals, circle, wedge and block shapes in red, black and cream only.
28
+ - Halftone photograph with a clipped cream border.
29
+ - Geometric block lettering with the letters drawn as paths.
30
+ - Slogan text overlaps the figure (poster lettering sits on top).
31
+ - Red wedge into black circle.
32
+ - Heavy text bars and line rules.
33
+ - Aged paper noise.
34
+
35
+ ## 10-second beat seed
36
+ - 0-1.2s: slogan blocks slam in with stamp sound.
37
+ - 1.2-5s: wedge stabs the circle, rings and radio waves pulse.
38
+ - 5-7s (hero): the slogan bounce wave.
39
+ - 8.8-10s: hold, wedge keeps moving.
40
+
41
+ ## Sound
42
+ Marching snare and brass stabs, 110-128 BPM, a stamp hit per letter. Distorted radio crackle.
43
+
44
+ ## Build it in HyperFrames
45
+ Canvas 2D, base layer cached.
46
+ - `halftone(src, cell, gain, angle)`: sample a rotated grid, dot diameter `cell*gain*sqrt(1-L)`, only where alpha > 128, all dots in one path filled once (about 3,000 dots for a face, under 2 ms).
47
+ - Letters: each part one fill; letters that overlap in one path cancel under nonzero fill (an A read as a B).
48
+ - Place text by glyph center, not baseline, to avoid cut-off descenders.
49
+
50
+ ## Watch out
51
+ - Current weak spot: missing the horn-shaped text cone (megaphone shape) typical of the style; consider red and black wedge text radiating from the subject.
52
+ - Breve and diacritic marks drawn above the letter cell get covered by neighbors. Draw the whole glyph inside its 7 cells.
53
+ - Shadows under the cheeks looked like a beard after halftone. Use about half the flat alpha in the gray source.
54
+ - Narrow use: it looks forced on warm or playful subjects.
@@ -0,0 +1,49 @@
1
+ # Cubist Facets
2
+
3
+ - id: `cubist`
4
+ - Source: huashu-art-motion `11_cubism.md` (MIT)
5
+ - Best for: art-forward brand films, music, multi-perspective stories ("many sides of..."), fashion, newspaper and collage looks
6
+ - Not for: friendly softness, children's content, clean UI
7
+ - Triggers: cubism, picasso, braque, analytic cubism, faceted, fragmented, collage, newsprint, multiple viewpoints
8
+ - Tone cell: kinetic-sharp
9
+ - Clock: on twos (stencil text steps at 12 fps, facet boil 8 fps)
10
+
11
+ ## Look
12
+ Transparent overlapping planes in a brown, ochre and gray-blue range: paper `#d6c8ac`, cream `#ece3cf`, ochre `#b8975f`, brown `#6e5538`, dark brown `#3a2c1e`, gray `#a8a395`, blue-gray `#8e9eab`, deep gray `#5a5852`. Window views `#c9d3da #8fa3b3 #e4e6e2 #6f8597`. Planes are polygons with a three-stop linear gradient (cream-mixed 25%, base, dark-mixed 40%), alpha 0.18-0.7, with 46 thin straight passage lines (1.3 px) running through all of them. A fine short-dash sand texture (9,000 dashes, 3-8 x 1.5 px) gives a gritty surface. Faux wood grain and woven chair patterns appear as textures. Compose for the subject but overlap shapes the same way.
13
+
14
+ ## Motion
15
+ - The same background view is shown in several panes, each offset by `dx = sin(9t+1.7i)*18` (plus 10 fps jitter +/-3) so it reads as multiple viewpoints.
16
+ - Stencil lettering swaps order at 12 fps, each letter jumps +/-13 px and tilts +/-0.11 rad.
17
+ - Newspaper block trembles at 8 fps (+/-0.0125 rad), corner flips on `sin(20t)`.
18
+ - Subject facets re-jitter at 8 fps (vertices +/-8% of cell, 16-35% of triangles flicker +/-12% light).
19
+ - Transition family: geometric shards slide and reassemble into the next picture.
20
+
21
+ ## Signature features (judged against these)
22
+ - Triangles are not clipped to the silhouette, so planes overflow the outline.
23
+ - Large facet cells (about 58 px) for the body, finer cells (26 px) for hair or small things. 34 px reads as low-poly 3D.
24
+ - Straight-line outlines with ends sticking out 10-16 px.
25
+ - Face with a profile plus a front-view eye (two viewpoints at once).
26
+ - Stencil text with cut gaps that show the planes below.
27
+ - 5 translucent planes (alpha 0.2) overlap the subject so it sits inside the space.
28
+ - Dark brown masses balance the light planes.
29
+
30
+ ## 10-second beat seed
31
+ - 0-1.2s: planes slide in, stencil word lands.
32
+ - 1.2-6s: panes show shifting viewpoints, subject facets boil.
33
+ - 6-7.5s (hero): planes lock into a clean facing view with the title.
34
+ - 8.8-10s: hold with small boil.
35
+
36
+ ## Sound
37
+ Muted jazz piano and upright bass, 90-110 BPM, paper-rustle hits on shard moves.
38
+
39
+ ## Build it in HyperFrames
40
+ Canvas 2D.
41
+ - Facetize: fill the subject flat offscreen, read pixels back, jitter a triangle grid (random diagonal per cell), color each triangle from the centroid with brightness `*(0.8+0.38*rand)` and a light-to-dark gradient, draw without clipping, skip triangles whose centroid alpha is below 120.
42
+ - Cache the plane background; animate only the panes, text, newspaper and subject.
43
+ - Use `getContext('2d',{willReadFrequently:true})` and call `g.reset()` at the start of every frame.
44
+
45
+ ## Watch out
46
+ - Current weak spot: image runs bright; the style wants more large deep-brown masses and stronger light-dark contrast.
47
+ - Frame 0 can differ from later frames: offscreen GPU readback and leftover context state (lineJoin, lineCap) change antialiasing and colors. Fix with `g.reset()`, not `clearRect`.
48
+ - A hair-only second pass with a circular clip colors half the face gold. Filter by color instead.
49
+ - Sleeves need to be darker than the body color or they vanish into the facets.
@@ -0,0 +1,57 @@
1
+ # Cut Paper Collage
2
+
3
+ - id: `cut-paper`
4
+ - Source: huashu-art-motion `30_matisse.md` (MIT)
5
+ - Best for: playful brand films, children's and education, kitchen and craft, festival promos, bold simple shapes
6
+ - Not for: realism, fine data, dark moody pieces
7
+ - Triggers: matisse, cut-outs, paper collage, papier decoupe, gouache paper, jazz book, scissors, paper shapes
8
+ - Tone cell: kinetic-soft
9
+ - Clock: smooth 30/60 fps
10
+
11
+ ## Look
12
+ Saturated flat shapes with scissor-cut edges, pinned to a wall.
13
+ - Double blue checker `#1d4fb8 / #4f95dc` (cells about 240 x 236), emerald `#1f9a5a`, black, yellow, red, pink, white.
14
+ - Edges: sample the outline every 14-24 px, add +/-2-2.5 px seeded jitter, join with straight lines. Never perfectly smooth curves.
15
+ - Paper shadow: offset (5,6), blur 4, `rgba(10,20,40,0.3)`, so shapes look pinned.
16
+ - Gouache brush texture on top: 2,600 long streaks (60-300 px, 6-22 px wide, alpha 0.04-0.13, tilt -0.25 rad), black and white half each, overlay.
17
+ - Characters are built only from paper pieces: black almond eyes, red lip triangle, pink cheek circle, curled hair shapes.
18
+
19
+ ## Motion
20
+ - Seaweed-like leaf shapes sway about their root: `sin(2.8t+phase)*0.13` with edge curl breathing scaleX 0.93-1.0.
21
+ - Stars rotate and flicker: scale `0.82+0.22*sin(7t+1.9k)`, a black figure bobs, a red heart beats `1+0.18*max(0,sin 9t)`.
22
+ - Birds flap with scaleY `0.55+0.45*cos(13t)`; a pink paper flips and falls (scaleX = cos 6t).
23
+ - Steam is two small white paper strips.
24
+ - Transition family: a blue paper sheet with pinned shapes (seaweed, stars, red discs, each with shadow) sweeps across, revealing the next scene.
25
+
26
+ ## Signature features (judged against these)
27
+ - Edges are straight segments with jitter, never smooth bezier.
28
+ - Union fill for lobed shapes: one tapered stem plus 2 x lobes capsule fingers (angle `+/-(1.05-0.55u)`, length `w*(1-0.45u)`, width `w*(0.34-0.12u)`) added into one Path2D.
29
+ - Soft drop shadows only under paper pieces.
30
+ - Saturated flat colors, no gradients.
31
+ - Gouache streak overlay.
32
+ - Character features are separate cut pieces.
33
+ - Motion is rigid paper rotation, flip and scale, not bending.
34
+
35
+ ## 10-second beat seed
36
+ - 0-1.2s: paper pieces drop in with a pinned shadow.
37
+ - 1.2-6s: leaf sway, star flicker, one flying sheet.
38
+ - 6-7.5s (hero): sweeping paper transition lands on the key message.
39
+ - 8.8-10s: hold, small sway continues.
40
+
41
+ ## Sound
42
+ Bright ukulele or clarinet and hand claps, 100-120 BPM. A paper "flick" SFX on each swap.
43
+
44
+ ## Build it in HyperFrames
45
+ Canvas 2D or SVG.
46
+ - `cut(points)` helper for scissor edges applied to every generated shape.
47
+ - For photographic or rendered inputs, apply a static pixel displacement field `fbm(0.028x,0.028y,2)*9` to fake cut edges (about 15 ms).
48
+ - Build compound shapes with `addPath` into one Path2D so the shadow is computed once.
49
+
50
+ ## Watch out
51
+ - Current weak spot: the gouache brush streaks run slightly heavy.
52
+ - "Modulating width along a spine" for lobed shapes yields caterpillars and zigzags. Use the capsule-finger method.
53
+ - Falling paper that crosses the subject's face is distracting. Route it along a wall.
54
+ - Black text on blue paper needs a white paper patch behind it.
55
+
56
+ ## Related
57
+ For torn-edge, stop-motion paper (rather than smooth pinned cutouts), use `collage`, which reuses the showreel paper-cut look and the `01-paper-collage` cards pack.
@@ -0,0 +1,29 @@
1
+ # Era Styles (history speedruns, time travel, tributes)
2
+
3
+ - id: `era-styles`
4
+ - Source: huashu-art-motion `INDEX.md` era table and recipes (MIT)
5
+
6
+ These 18 looks are tied to one period or one artist and read as a costume on other topics. Use them for art-history speedruns (the style changes, the scene stays), time-travel montages, "a brief history of X", and tributes. For any other subject use a material-layer card instead (impressionist, cut-paper, ink-wash, comic-pop and the rest). Each era runs 0.25-1.4 s inside a speedrun, so the motif motion must read inside that window. Aging marks (peeling, stains, scratches) go on the background only, never on the subject. Compose each film for its own subject; the source samples all share one fixed room layout, which is a property of that film and not of the styles.
7
+
8
+ Quality ratings come from the source (3 stars = recognizable on sight, 2 = recognizable with a visible gap, 1 = redo).
9
+
10
+ | id | name (generic) | triggers | renderer + brushwork | motif motion | signature transition | watch out |
11
+ |---|---|---|---|---|---|---|
12
+ | `cave-painting` | Cave wall painting | cave art, lascaux, 40000 bc, prehistoric, charcoal, ochre | noise relief rock wall lit from the upper left, charcoal dot-fuzz outlines, ochre pigment sunk into the rock; negative handprints sprayed with dots | two-pose galloping animals swapping every 7 frames, firelight flicker (overlay, not additive), drifting embers | none (opening look) | human figures too cartoonish, not primitive enough; heavy mid-frequency relief turns into camouflage |
13
+ | `egyptian-mural` | Tomb mural | egypt, hieroglyph, pharaoh, tomb painting, papyrus | profile body with front-view eye, flat fill with thin outlines, 24 hand-drawn hieroglyphs | scarab pushing a sun disc, sun-ray hands opening and closing, glyphs re-drawn stroke by stroke | tapestry strips drop in with a bounce | elbow when lifting a cup is stiff |
14
+ | `greek-vase` | Black-figure pottery | greek vase, attic, black-figure, amphora, meander | black silhouettes with incised clay-color lines, purple-red bands with white dots | meander border scrolling in reverse, ship bobbing with leaping dolphins, lyre swinging | vase rotates like a cylinder to the next face | skirts read too thick |
15
+ | `illuminated-manuscript` | Gilded manuscript | gothic, medieval, illuminated manuscript, gold leaf, book of hours | per-pixel gold leaf (brushed streaks, embossed 1 px bright lines), gold-hue mask for highlights, parchment | diagonal gold glint sweeps, vines sway, snail crawls, mouse runs in the margin | parchment page turn | blond hair reads like a hood |
16
+ | `renaissance-sfumato` | Sfumato oil painting | renaissance, da vinci, mona lisa, sfumato, old master | whole layer lightly blurred plus a high-opacity sharp layer, craquelure, canvas weave, yellow varnish | flying-machine glides past, river glints, floating dust | god-ray through a window | subjects too cartoonish, overall too still |
17
+ | `art-nouveau` | Art nouveau poster | art nouveau, mucha, belle epoque, ornamental halo | variable-width path lines (thick outside, thin inside), offset silhouette underlay | sun rising, halo ring rotates, flowers sway, S-curve steam, hair waves | gold-edged organic shape grows over the frame | pose stiff |
18
+ | `gold-ornamental` | Gold-period ornament | klimt, the kiss, gold ornamental, byzantine gold, viennese secession | gold leaf reused, spiral and eye-shaped patterns on flat robes against a realistically shaded face; sparse metal-leaf specks | eye motifs blink in turn, gold dust floats up (26 px/s), flakes flip as they fall, light streak sweeps at 520 px wide | gold leaf blocks spiral outward from the subject (72 px tiles, spiral key) | hand not connected to the sleeve; spirals on the face look like a rash |
19
+ | `expressionist-scream` | Expressionist distortion | munch, the scream, expressionism, anxiety, wavy sky | long curved flow-line strokes (200-300 px, width 9-13) plus a per-row sine warp of the whole world | entire picture writhes, blood-red sky flows | scream color bands (`#b82a1e #e2541c #f08a24 #f4c03a`) press down from the top, old frame warped by rows | walls were read as the swirl-brushwork style; lengthen strokes and lower opacity to separate them |
20
+ | `temple-mural` | Cave-temple mural | dunhuang, buddhist mural, silk road, apsara, flying figures | earth-red ground with mineral colors, flaking patches only on the background, desaturation | flying figures' ribbons float, ceiling drifts, lamp flame flickers | ribbons sweep across, old picture peels and falls off in chips | figure drawing is crude; flaking on a back reads like clothing holes |
21
+ | `polka-infinity` | Polka-dot infinity | kusama, polka dots, pumpkin, infinity mirror room | hand-drawn irregular circles, hex grid wrapped at the true pattern period | dots swell and shrink in rings from a point, pumpkins, mirror-room repeat | dots grow, each clipping a window onto the new picture (58 px grid) | subject and wall in the same color depend on silhouette |
22
+ | `surreal-melt` | Surreal melting | dali, surrealism, melting clock, persistence of memory, long shadows | soft-clock warps, long sheared shadows | clocks sag, long-legged elephants walk, ants circle a watch, shadows lengthen | new picture drips down with round-headed droplets (26 drips, 0.36 s) | subject reads as vector clip art |
23
+ | `hard-light-realism` | Hard-light realism | hopper, american realism, nighthawks, sunlight shaft | two lit versions of the scene clipped by hard-edged sun blocks (bright and dark) | sun patch slides across a face, a shadow figure mirrors the action | hard-edged sunbeam sweeps across (0.34 s) | subject stuck in shadow for the whole shot |
24
+ | `space-comic` | Silver-age space comic | kirby, marvel, jack kirby, krackle, space comic | four-color halftone, color-plate misregistration, feathered black-shadow hatching, krackle energy dots | big sound-effect text, close-up panels, energy dots | none (opening look) | closer to pop art than to the real thing; lacks perspective and blocky hands |
25
+ | `water-lily` | Water-lily pond | monet, water lilies, japanese bridge, reflections | short horizontal strokes for water, reflected light shimmering | lilies drift, willow shadows sway, ripples spread | ripples from a point, old picture shifted by sine rows; new one revealed by 3,600 short horizontal strokes | wall-as-pond and floor-as-wood is a spatial clash |
26
+ | `street-line-art` | Bold line figures | keith haring, graffiti, radiant baby, dancing figures | thick black monoline, radiating action lines | dancing figures cut at 8 fps, everything bounces on the beat | a dancing figure scales up with the new picture inside its body (scale `0.15*320^easeInOut(p)`) | subject not stylized enough |
27
+ | `rubber-hose` | 1930s rubber-hose cartoon | rubber hose, steamboat, cuphead, vintage cartoon, 1930s, betty boop | pie-cut eyes, noodle limbs, white gloves, 12 fps stepped, film scratch and flicker | everything bounces on the beat | old film iris: sepia and contrast build, black circle closes then pops open with outBack | most of the motion is film noise, not animation |
28
+ | `shadow-puppet` | Chinese shadow puppet | shadow puppet, pi ying, leather puppet, paper theater, backlit screen | translucent hide cut-outs, rivet joints, 10 fps stepped, lamp behind the screen | rod-driven stiff joints, wrists flick | lamp lights behind the screen (old frame dims with multiply, new one revealed by a radial mask) | overlaps multiply to black; 121 ms per frame is slow |
29
+ | `blue-period` | Blue-period monochrome | picasso blue, blue period, melancholy, monochrome blue | single blue tone, wide brush strokes, Prussian-blue outlines, elongated bodies | slow breathing | color is drawn out to blue, then a wide dry brush sweeps (6 slanted strokes, bristle lines in the wake) | shapes are not melancholy enough |
@@ -0,0 +1,60 @@
1
+ # Editorial Data Chart
2
+
3
+ - id: `finance-chart`
4
+ - Source: huashu-art-motion `references/动画语法/t3_finance_chart.md` (MIT)
5
+ - Best for: revenue, profit, user counts, price trends, market share, regional comparisons, before and after an event. Segments where viewers will screenshot and check numbers. 2.5-6s per chart, 30-90s total.
6
+ - Not for: a single number (use a big-number reveal), unreliable or unsourced data, explaining a mechanism.
7
+ - Triggers: economist chart, financial times chart, ft chart, bloomberg, data journalism, revenue chart, bar chart race, candlestick, stock chart animation, finance explainer, earnings growth
8
+ - Tone cell: calm-sharp
9
+ - Clock: smooth 30/60 fps
10
+
11
+ ## Look
12
+ - Base: white `#FFFFFF`, warm salmon `#FFF1E5`, or dark `#0E1116` with light text and a teal main bar. The chart base matches the surrounding video's color family. A white report page dropped into a dark film reads as disconnected.
13
+ - Layout: thin red top rule (8px), small red tag at top left (96x22), bold headline stating the one conclusion, subtitle with metric and unit, source line bottom left.
14
+ - Palette: red `#E3120B`, blue `#006BA2`, cyan `#3EBCD2`, green `#379A8B`, yellow `#EBB434`, grey `#758D99`, black `#0C0C0C`.
15
+ - Emphasis: one color tells the story, everything else drops to light grey (`#C6D2D8`).
16
+ - Grid: horizontal lines only, thin grey (alpha 0.13, 1.5px). Only the zero baseline is solid black (3px). Tick values sit on the right above their lines.
17
+ - Type: condensed sans for numbers, bold headline 700, regular subtitle 400. Axis text smallest, source smallest and lightest.
18
+ - Up and down colors: state them on the chart. Red-up/green-down in East Asian markets, green-up/red-down in Western ones. A colorblind-safe option is blue/orange with up and down triangles.
19
+ - Line width 5px for the main line, 4px averages, 2px callout leaders. Fictional data carries a "sample data" badge on every shot, real data never does.
20
+
21
+ ## Motion
22
+ - Order: layout 0-0.5s, grid lines draw left to right (lag 0.12s, ease-out-quint), x labels fade up, then data, then color emphasis, then the annotation. Each stage 0.5-1.3s.
23
+ - Bars grow from the zero baseline with ease-out-quint, staggered 0.22s, value label rides the bar top and counts in sync.
24
+ - Lines draw by x (time), not arc length, so steep sections draw fast. Head dot 9px with a following price label, area fill alpha 0.14 to 0.
25
+ - Annotation fires the moment the line head passes the event: dot pops (spring 0.45s, bounce 0.25) with a pulse ring, leader draws 0.12s later, text fades 0.3s later. One annotation per shot.
26
+ - Candles appear one by one (lag 0.06s), body then wick, volume in sync.
27
+ - Counts use ease-out-expo over 0.9-1.3s with tabular digits. Hold at least 0.5s after a number lands.
28
+ - Camera stays still. A slow 1s push to a data point or 0.7s glide to the next group, with a fast 0.28s push for the single most important number.
29
+
30
+ ## Signature features (judged against these)
31
+ - Headline is a single conclusion and the multiples in it can be recomputed from the chart (a / b shown in the annotation).
32
+ - Bars start at zero. A line axis that does not start at zero says so in the subtitle.
33
+ - Axes and grid appear before the data.
34
+ - Each data point lands on the spoken number.
35
+ - One highlight color, everything else grey, red/green meaning labeled.
36
+ - One annotation per chart shot.
37
+ - No bouncing bars, 3D bars, or rotating pies.
38
+ - Unit and source are written on the chart.
39
+
40
+ ## Beat pattern (30-60s)
41
+ - 0-4s: chart frame (rule, tag, headline, empty axes). Headline states the conclusion.
42
+ - 4-20s: one chart per one or two voiceover sentences. Bars or line grow when named.
43
+ - 50-70%: pivot to the key figure. Push in to the final bar or the event point, annotation pops with the ratio (for example "130.5 / 16.7").
44
+ - Optional swap: change layout (bar to line) only for the same metric, move first then reshape. Never morph between different metrics.
45
+ - Last 4-6s: one clean frame with the conclusion, source visible, hold 0.8s or more.
46
+
47
+ ## Sound
48
+ Light low-key pulse or soft pad, no big beat. Small tick as each bar lands, clean tone on the final number. Voice sits on top.
49
+
50
+ ## Build it in HyperFrames
51
+ - SVG or Canvas 2D with seeded data. Scales have an inverse so you can compute `tHit = start + duration * smooth^-1(x fraction)` for the annotation trigger.
52
+ - Tick generator uses 1, 2, 2.5, 5 times 10^k, and pads one tick above and below the data range so bars never leave the axes.
53
+ - Panel push transition: new panel slides in from the right with a thin red bar leading, 0.5s on `cubic-bezier(.7,0,.2,1)`, and starts building its layout during the slide.
54
+ - Zoom into a local area: camera redraws vector content, never scales a bitmap.
55
+
56
+ ## Watch out
57
+ - Truncated bar axes, too many colors, every series highlighted.
58
+ - "Rose to 8.7x" is not "rose by 8.7x". Check the wording against the numbers.
59
+ - Animation so busy the value cannot be read.
60
+ - Three identical chart layouts in a row. Insert a push to a detail, a big number, or real footage.
@@ -0,0 +1,41 @@
1
+ # Flat Vector Explainer
2
+
3
+ - id: `flat-vector`
4
+ - Source: mg-styles-15 `prompts/01-flat-vector.md` (MIT, Vincentwei1021)
5
+ - Best for: SaaS explainer, product launch, annual report, science explainer, brand film in one continuous shot
6
+ - Not for: photoreal products, moody or cinematic tone, anything needing gradients or texture
7
+ - Triggers: flat design, vector, explainer, 2D motion graphics, corporate explainer, Material design, shape wipe, bouncy, brand film, Buck, Motion Ocean, Google explainer
8
+ - Tone cell: kinetic-soft
9
+ - Clock: smooth 30 fps
10
+
11
+ ## Look
12
+ Solid color blocks only, no gradients, no or minimal stroke. Bold 5-6 color palette: ultramarine #2B2BFF, coral #FF5A4E, sunflower #FFC62B, mint #2EE6A8, cream #FFF6E9, ink #151433. Geometric characters (circles, rounded rects, limbs as capsules). Clean negative space. Rounded heavy sans for titles. All elements are vector shapes. Shape wipes use full palette colors, never white flashes.
13
+
14
+ ## Motion
15
+ Elastic overshoot is the soul: cubic-bezier(0.34,1.56,0.64,1), or a bezier with 70-85% influence handles. Every entrance is anticipation, burst out, rebound. Stagger entrances 2-4 frames, each element with its own mini overshoot. Squash and stretch about 10% on moves. Only one hero moves at a time. Secondary action and follow-through on limbs, birds, clouds. Transitions are element-driven: a shape expands to fill the frame (shape wipe), or an object flies out and carries the cut. One continuous shot: push into a window, into a phone, into a bubble.
16
+
17
+ ## Signature features (judged against these)
18
+ - Zero gradients, 5-6 flat palette colors only.
19
+ - Entrances use anticipation then overshoot (about 1.1x scale) then settle.
20
+ - Building or icon stagger of 2-4 frames.
21
+ - 10% squash and stretch on moving shapes.
22
+ - Limb rig with anchor-point rotations, head bob, blink.
23
+ - At least one shape-wipe or element-carried transition, no crossfades.
24
+ - One hero moves at a time.
25
+ - Logo lockup assembled by elements flying in, held 1s with micro-motion.
26
+
27
+ ## 10-second beat seed
28
+ - 0-1.2s: empty color field, one saturated circle drops in, stretch, squash, overshoot, settle.
29
+ - 1.2-3s: circle becomes a sun, flat city pops up building by building, clouds slide, birds flap.
30
+ - 3-5.5s: camera pushes into one window, geometric character at a desk reacts, phone pings.
31
+ - 5.5-8s (hero at 60-75%): notification bubble expands as a shape wipe, icons burst in on rhythm (bars grow, check draws, heart pops, coin flips).
32
+ - 8-10s: everything collapses into an invented brand lockup plus tagline, elastic settle, hold 1s with micro-motion.
33
+
34
+ ## Sound
35
+ Upbeat future-bass or pop, about 120 BPM. Pop, boing and whoosh on every entry, synced to the frame.
36
+
37
+ ## Build it in HyperFrames
38
+ SVG composition driven by GSAP with a paused timeline seeked per frame. Put the overshoot curve in a CustomEase or the bezier above. Use nested groups with transform-origin set to joints for limb rigs. Shape wipes are a scaled circle or rect in a palette color. For motion blur on fast moves, render sub-frames (about 4) and average, or skip blur and keep moves short.
39
+
40
+ ## Watch out
41
+ Template look is the main failure: same icon-burst grid, no idea. Avoid more than one hero moving. Keep every color from the palette. Do not let gradients sneak in through shadows. Check kerning on the lockup.
@@ -0,0 +1,48 @@
1
+ # Grain Flat Illustration
2
+
3
+ - id: `grain-flat-illustration`
4
+ - Source: huashu-art-motion `16_2026.md` (MIT)
5
+ - Best for: SaaS explainers, app launches, character-driven stories with a joke payoff, social shorts, onboarding
6
+ - Not for: photoreal products, heavy texture styles, dense data tables
7
+ - Triggers: flat illustration, dribbble, grain texture, stipple shading, vector character, modern 2d, noise gradient, editorial illustration
8
+ - Tone cell: kinetic-soft
9
+ - Clock: smooth 30/60 fps (limited-animation snaps allowed on hits)
10
+
11
+ ## Look
12
+ Pure color blocks with no outlines. Volume comes from a slightly deeper shade of the same hue (for example a lit sweater block `#f08b7d`, a leg shape with one darker arc `#f3ad4c`). Grain is the finish: 2 px square stipple dots whose density is a function of position, for example a pink disc `0.12 + 0.75*clamp((y-cy+120)/420)` (denser toward the bottom), lavender blocks and a sun denser toward lower right. Static grain is baked into a cache. Characters get a second static grain texture composited with source-atop (5% dark dots alpha 70, 3.5% light dots alpha 90) so grain lands only on them. Light cones are 26,000 stipple dots, width growing 56 to 150 with y, fading with distance. Compose with a big-head character ratio (head scaled about 1.2x around the neck).
13
+
14
+ ## Motion
15
+ - Performance first: anticipation, squash, snap, overshoot, settle. Examples: crouch (sy 1 to 0.86, sx to 1.07), stretch on launch (sy 1.12), squash on landing (sy 0.86 to 0.70, sx 1.18) with the feet pinned to the surface.
16
+ - Facing flips on the flattest frame (a snap, cleaner than a paper-turn).
17
+ - Repeated hits: prep 7 frames, strike 4, hold 4, recover 8; lean amount grows with reach.
18
+ - Falling object: gravity about 1.75 px/frame^2 at 60 fps, rotation `-0.12 - 2.3*q^1.3`, impact lines 8 frames, debris on parabolas, spill that widens then holds, two ripples.
19
+ - Secondary motion by damped oscillators: `damped(F, start, amp, period, decay)`, for a hanging lamp (0.055 rad, period 26 frames) and plants.
20
+ - Transition family: three-color concentric ring iris.
21
+
22
+ ## Signature features (judged against these)
23
+ - No outlines anywhere.
24
+ - Grain density varies with position (falls off toward light).
25
+ - Character grain only on the character, not on the whole frame.
26
+ - Deliberate squash and stretch with feet pinned.
27
+ - Overshoot on arrivals, damped motion on environment.
28
+ - Three-act gag: set-up, escalation, payoff, then a signature or logo stamp.
29
+ - Background decorations boil at 4 fps (+/-1.5 px, +/-0.09 rad).
30
+
31
+ ## 10-second beat seed
32
+ - 0-1.2s: character already doing something, title implied.
33
+ - 1.2-5s: escalation, three repeated attempts that get bigger.
34
+ - 5-7s (hero): the break or payoff with impact lines and debris.
35
+ - 8.8-10s: smug or relieved pose held, signature writes on with a clip reveal.
36
+
37
+ ## Sound
38
+ Light funk or lo-fi pop, 100-116 BPM. Foley hits on every squash and hit, a cartoon crash, a final soft bell.
39
+
40
+ ## Build it in HyperFrames
41
+ Canvas 2D with a pose library. Pose = local key points; `mixPose` lerps numbers between poses.
42
+ - Transform order: translate to center, rotate about feet or center, scale (squash about feet so they do not leave the ground).
43
+ - When aiming a limb after applying a lean transform, convert the target with `c.getTransform().invertSelf().transformPoint(...)`.
44
+ - Signature wipe: clip the text with the writing front moving over frames; underline in 24 segments tapering 3.4 to 1.4 px.
45
+
46
+ ## Watch out
47
+ - No weak spot logged in the source. The main risk is a lifeless cut-and-paste character: keep secondary motion on everything.
48
+ - Measured frame numbers are written at 60 fps; scale them if you render at 30.
@@ -0,0 +1,41 @@
1
+ # Cyberpunk HUD (FUI)
2
+
3
+ - id: `hud`
4
+ - Source: mg-styles-15 `prompts/22-hud.md` (MIT, Vincentwei1021)
5
+ - Best for: tech reviews, AI product demos, game edits, sci-fi and aerospace explainers, film-UI style intros
6
+ - Not for: warm, organic, calm editorial, or hand-made looks
7
+ - Triggers: HUD, FUI, cyberpunk, sci-fi interface, targeting, radar, hologram, tech UI, terminal, scanlines, Territory Studio, Cyberpunk 2077, Evangelion
8
+ - Tone cell: kinetic-sharp
9
+ - Clock: smooth 30 fps
10
+
11
+ ## Look
12
+ Deep teal-black. Cyan #00E5FF linework with orange/red #FF6A00 as the alert state. Hex grid, concentric rotating rings with ticks, conic radar sweep with blips, columns of monospace numbers, typewriter status lines with a cursor, sparkline graphs. Central wireframe hologram (globe or drone) with scanlines. Global glow, slight chromatic aberration, scanlines, restrained micro-glitches. Film-UI density with restraint. Coordinates and labels in monospace, for example "N31°14′ E121°29′".
13
+
14
+ ## Motion
15
+ Layered build-up: lines draw on in hierarchical staggered order, then data comes alive, then a target is found. Rings rotate at different speeds. Numbers jump randomly for 3-5 frames then settle on the real value. Typewriter text with blinking cursor. Lock brackets shrink in from the corners, scale 1.4 to 1.0 with fast-out slow-in, snapping onto the target. Then the whole UI flips to alert orange with "TARGET LOCKED". Micro-glitches kept sparse.
16
+
17
+ ## Signature features (judged against these)
18
+ - Cyan and orange neon linework on teal-black.
19
+ - Wireframes draw on with dashoffset in staggered hierarchy.
20
+ - Radar sweep (conic) with blinking blips.
21
+ - Number columns roll 3-5 frames then settle.
22
+ - Lock brackets 1.4 to 1.0 fast-out slow-in.
23
+ - Hue flip from cyan to orange on lock.
24
+ - Global glow, chromatic aberration, scanlines.
25
+ - Monospace typewriter text with cursor.
26
+
27
+ ## 10-second beat seed
28
+ - 0-1.2s: hex grid and first rings draw on.
29
+ - 1.2-5s: data columns, radar, hologram, status lines come alive.
30
+ - 5-7s: a blip is found, lock brackets close in.
31
+ - 7-8.5s (hero at 70-85%): palette flips to orange, "TARGET LOCKED", alarm.
32
+ - 8.5-10s: held with ongoing rings and scan.
33
+
34
+ ## Sound
35
+ Darksynth pulse with HUD beeps, scan sweeps, an ascending lock-on tone, and an alarm on lock.
36
+
37
+ ## Build it in HyperFrames
38
+ SVG layers for rings and ticks, conic-gradient or canvas for the radar sweep (angle = t * speed), Three.js wireframe hologram with scanline overlay for the center. All data seeded: number at step k = seededRandom(k) until settle time, then final value. Glow with an SVG blur or a bloom pass, RGB offset by a post shader or duplicated layers with mix-blend-mode: screen.
39
+
40
+ ## Watch out
41
+ Too dense and unreadable: keep hierarchy, leave negative space. Unseeded random numbers break determinism. Keep glitches rare. Do not use real military or brand insignia.
@@ -0,0 +1,48 @@
1
+ # Impressionist Dabs
2
+
3
+ - id: `impressionist`
4
+ - Source: huashu-art-motion `08_impressionism.md` (MIT)
5
+ - Best for: lifestyle, travel, wellness, food, spring and summer campaigns, soft nostalgic reels
6
+ - Not for: faces and hands in close-up, text-heavy slides, technical product shots
7
+ - Triggers: impressionism, monet, renoir, pastel brushstrokes, sunlit, garden, plein air, dappled light
8
+ - Tone cell: calm-soft
9
+ - Clock: smooth 30/60 fps (brush positions fixed, light and wind animated)
10
+
11
+ ## Look
12
+ Pastel region palettes, 7-9 colors each: lilac-pink walls (`#d8bede #f0c8cc #f2c4d4`), a warm yellow sun zone (cream yellow set), rose-orange-violet floors, plus separate sets for sky, grass, curtains and cloth. Canvas base `#f2e6ee` shows through the gaps between strokes. Strokes are short and fat: main pass cell 11, length 20, width 7, no outline, color jitter 26. A second finer pass (cell 6, length 11, width 4.5) for far views and small framed images. White or near-white elements must be detected (color above about 240,236,225) and mixed back to white, otherwise they get painted the wall color. Signal colors like poppy red stay as authored.
13
+
14
+ ## Motion
15
+ - Dappled sun patches: 26 patches, intensity `0.5+0.5*sin(t*sp+ph)*sin(t*sp*0.53+2ph)`, clamped, so the on/off rhythm is irregular. Each drifts +/-10 to 44 px. Each patch is about 40 bright short strokes.
16
+ - Poppy-like flowers sway: head offset `sin(t*3.2+ph+x*0.02)*(6+r*0.6)`, amplitude 10 or more.
17
+ - Clouds travel about 45 px/s, foliage sways `sin(t*1.9)*8`, ribbons and curtains flutter.
18
+ - Wind rotates distant grass strokes by +/-0.22 rad.
19
+ - Transition family: strokes of color dots flood the frame, then clear into the next scene.
20
+
21
+ ## Signature features (judged against these)
22
+ - Short visible dabs everywhere, no outlines.
23
+ - Light-colored gaps between strokes show the pale base.
24
+ - Sun patches that blink irregularly and drift.
25
+ - Pastel region palettes, no pure black.
26
+ - Fine dabs for distant detail, larger dabs for near surfaces.
27
+ - Whites preserved as whites.
28
+ - Surface does not reshuffle between frames.
29
+
30
+ ## 10-second beat seed
31
+ - 0-1.2s: sunlit scene with light patches already moving.
32
+ - 1.2-6s: wind passes through flowers and cloth, slow pan of 20-40 px.
33
+ - 6-7s (hero): sun patch crosses the subject or title.
34
+ - 8.8-10s: hold with patches still drifting.
35
+
36
+ ## Sound
37
+ Light acoustic guitar or harp, 80-96 BPM, bird ambience. Soft shimmer on each patch flare.
38
+
39
+ ## Build it in HyperFrames
40
+ Canvas 2D flat base redrawn each frame (things move), then 2 full-frame stroke passes.
41
+ - Wrap the palette function so each cell consumes exactly one random number and never returns null. Otherwise one moving object reshuffles every later stroke.
42
+ - Use `hash(i,j)` per cell for subject-layer strokes instead of an alpha mask.
43
+ - Light patches use source-over at high alpha; additive blending disappears on pastel grounds.
44
+
45
+ ## Watch out
46
+ - Current weak spot: faces and hands get shattered by the strokes. Keep them small or paint them in a calmer pass.
47
+ - Reseeding the whole screen every 7-8 frames reads as flicker (measured frame diff 4.1 against 0.57 after the fix). Fix stroke positions, animate light and wind instead.
48
+ - A single coarse pass erases small distant things. Use two passes.
@@ -0,0 +1,49 @@
1
+ # Ink Wash (sumi-e)
2
+
3
+ - id: `ink-wash`
4
+ - Source: huashu-art-motion `17_ink.md` (MIT)
5
+ - Best for: tea, wellness, craft, East Asian brands, poetic intros, minimal luxury, philosophy content
6
+ - Not for: loud kinetic ads, high-saturation product shots, busy UI
7
+ - Triggers: ink wash, sumi-e, chinese painting, calligraphy, brush, shuimo, qi baishi, bada shanren, zen, rice paper
8
+ - Tone cell: calm-sharp
9
+ - Clock: smooth 30/60 fps
10
+
11
+ ## Look
12
+ Paper is the base and ink is only added. Rice paper `#efe6d0` with noise grain and about 2,600 short fibers, a vignette up to alpha 0.22 at the edges. Ink is one near-black `[16,14,12]` used in five tones: scorched 0.9, thick 0.8, heavy 0.6, light 0.35, clear 0.15. Accent pigments used sparingly: ochre `#c47a3c`, blue-gray `#6f8aa0`, yellow `#e2aa34`, a single red for the seal `#c4281e` and tiny vermilion touches (`#d8553f`). Lots of empty space. Whites are carved out of washes with `destination-out`, not painted white.
13
+
14
+ ## Motion
15
+ - Opening: the picture writes itself stroke by stroke over about 0.45 s (`reveal = smoothstep(d, d+l, lt/0.45)`), offset so frame 0 already has ink.
16
+ - Ink bleed: halo blur grows over time, so wash edges keep spreading.
17
+ - Branches sway `sin(2.9t)*0.11`, leaves flip `sin(7t+g)*0.2`, mist bands (paper-colored blurred ellipses) slide 150-270 px/s.
18
+ - A bird crosses at 420 px/s, wings 8 beats per second.
19
+ - Seal stamps down from 1.5x to 1x with multiply.
20
+ - Transition family: strokes write in, ink blooms across the paper.
21
+
22
+ ## Signature features (judged against these)
23
+ - Brush strokes with pressure taper and dry-brush gaps (flying white).
24
+ - Washes with soft spreading edges.
25
+ - Five ink tones, not flat black.
26
+ - Large negative space.
27
+ - A red seal in the corner.
28
+ - Whites by carving, not by paint.
29
+ - Only 2-3 spots of color.
30
+
31
+ ## 10-second beat seed
32
+ - 0-1.2s: strokes write in.
33
+ - 1.2-6s: wash blooms spread, branch sways, mist slides.
34
+ - 6-7s (hero): single bold stroke or bird crossing, seal lands.
35
+ - 8.8-10s: hold with mist moving slowly.
36
+
37
+ ## Sound
38
+ Guzheng or sparse bamboo flute, 60-72 BPM, occasional low drum. One plucked note per stroke.
39
+
40
+ ## Build it in HyperFrames
41
+ Canvas 2D, cache the static strokes after they finish writing.
42
+ - Resample brush paths to 4 px arc length (so dry-brush noise frequency is constant). Pressure profile `smoothstep(0,head,q)*(1-0.7*smoothstep(1-tail,1,q))`.
43
+ - Each bristle is one continuous polyline with butt caps, broken where `noise(k*1.9, i*0.09)` is below `dry*q^1.2*0.95+0.05`. Segment-by-segment strokes leave knots.
44
+ - Washes: draw shape on scratch canvas, multiply twice (outer halo blur, inner body blur), grow 0 to 1 over lt.
45
+
46
+ ## Watch out
47
+ - Current weak spot: figures are not loose enough (review 6/10). Use few strokes and let the wash do the form.
48
+ - Multiply washes are transparent, so lines show through the shapes. Underpaint paper color inside each silhouette first.
49
+ - A pure white first frame fails as a cover. Start with some ink already down.
@@ -0,0 +1,40 @@
1
+ # Isometric Miniature World
2
+
3
+ - id: `isometric`
4
+ - Source: mg-styles-15 `prompts/03-isometric.md` (MIT, Vincentwei1021)
5
+ - Best for: tech architecture animation, app feature demos, data campus, smart-city or cloud infrastructure explainers
6
+ - Not for: character drama, organic subjects, anything needing perspective depth
7
+ - Triggers: isometric, 2.5D, iso, miniature city, low poly diorama, architecture diagram animation, tech campus, Dribbble hero, School of Motion
8
+ - Tone cell: kinetic-soft
9
+ - Clock: smooth 30 fps
10
+
11
+ ## Look
12
+ True isometric projection: orthographic, 35.264 degree elevation, 45 degree azimuth, no vanishing point, lines everywhere to scale. Pastel studio palette: lavender ground, mint, peach, sky blue, white. Soft shadows and ambient occlusion so it reads as a premium hero render. Title text lies ON the iso plane, skewed into iso space. Floating island in a pastel void for the end.
13
+
14
+ ## Motion
15
+ Ground tiles flip or drop in as a wave from the centre, tiny bounce each. Buildings grow: base lands, walls scaleY from 0 with overshoot, roof cap 2-3 frames later. Trees pop, windows light in sequence. Life layer: cars loop roads, a train, drones carrying packets, glowing data streams pulse between buildings, a wind turbine spins. Camera is a parallel slide only, no rotation, with 1 : 0.8 : 0.6 parallax between foreground, middle, back layers. Pull-back to reveal the whole island.
16
+
17
+ ## Signature features (judged against these)
18
+ - Orthographic 30 degree iso angle, no perspective convergence.
19
+ - Miniature scene with many small readable objects.
20
+ - Building growth: base first, walls scaleY with overshoot, roof 2-3 frames late.
21
+ - Tiles arrive as a radial wave from the centre.
22
+ - Camera moves by parallel translation only, parallax 1 : 0.8 : 0.6.
23
+ - Pastel palette, soft shadow and AO.
24
+ - Moving objects stay on the iso grid at 2:1 pixel slope.
25
+ - Title set in iso space.
26
+
27
+ ## 10-second beat seed
28
+ - 0-2s: tile wave from centre; hook is the first ripple at frame 0.
29
+ - 2-5s: buildings grow, trees pop, windows light.
30
+ - 5-8s (hero at 60-75%): cars, train, drones, data streams, turbine; parallel camera slide.
31
+ - 8-10s: pull back to the floating island, title on the plane, hold with idling motion.
32
+
33
+ ## Sound
34
+ Bright plucky tech melody (FM marimba or pluck). Soft click or pop on each tile and building landing. Airy whoosh on the pull-back.
35
+
36
+ ## Build it in HyperFrames
37
+ Three.js with OrthographicCamera at the true iso angle, soft shadows and a cheap AO (baked or SSAO), stepped per frame from t. Alternative: SVG faces built with the SSR matrix (scale Y 86.6%, skew 30 degrees, rotate 30 degrees) for top, left and right faces, z-ordered by screen y. Text as a CSS-transformed element or a plane in the scene.
38
+
39
+ ## Watch out
40
+ Any perspective camera breaks the style. Z-sorting errors in the SVG route. Do not rotate the camera. Keep object count high enough to feel dense but each one readable.