From d66ca8bd8fc29622c29231e8e39f80eb2c11cccd Mon Sep 17 00:00:00 2001 From: Steve Brown Date: Fri, 25 Sep 2026 22:53:19 -0400 Subject: [PATCH] Replace skull prototypes with shaded three-quarter art and jaw animation --- examples/avatar-prototype/README.md | 5 + examples/avatar-prototype/skull-outline.pxl | 397 ---------- .../skull-outline_skull_outline_v23.png | Bin 1082 -> 0 bytes .../skull-outline_skull_outline_v24.png | Bin 1153 -> 0 bytes examples/avatar-prototype/skull.png | Bin 1137 -> 0 bytes examples/avatar-prototype/skull.pxl | 720 ------------------ examples/avatar-prototype/skull_4x.png | Bin 1911 -> 0 bytes .../avatar-prototype/skull_talk_closed.png | Bin 1152 -> 0 bytes .../avatar-prototype/skull_talk_small.png | Bin 1269 -> 0 bytes examples/avatar-prototype/skull_talk_wide.png | Bin 1168 -> 0 bytes examples/avatar-prototype/skull_talking.gif | Bin 4740 -> 0 bytes .../avatar-prototype/skull_talking_4x.gif | Bin 23549 -> 0 bytes examples/avatar-prototype/skull_v0.png | Bin 1416 -> 0 bytes examples/avatar-prototype/skull_v0_4x.png | Bin 2214 -> 0 bytes examples/avatar-prototype/skull_v1a_4x.png | Bin 2257 -> 0 bytes examples/avatar-prototype/skull_v1b_4x.png | Bin 2109 -> 0 bytes examples/skull/README.md | 73 ++ examples/skull/comparison.png | Bin 0 -> 70567 bytes examples/skull/skull.png | Bin 0 -> 2112 bytes examples/skull/skull.pxl | 164 ++++ examples/skull/skull_4x.png | Bin 0 -> 3447 bytes examples/skull/skull_8x.png | Bin 0 -> 6030 bytes examples/skull/skull_poses.png | Bin 0 -> 12381 bytes examples/skull/skull_talking.gif | Bin 0 -> 10168 bytes examples/skull/skull_talking.pxl | 326 ++++++++ 25 files changed, 568 insertions(+), 1117 deletions(-) create mode 100644 examples/avatar-prototype/README.md delete mode 100644 examples/avatar-prototype/skull-outline.pxl delete mode 100644 examples/avatar-prototype/skull-outline_skull_outline_v23.png delete mode 100644 examples/avatar-prototype/skull-outline_skull_outline_v24.png delete mode 100644 examples/avatar-prototype/skull.png delete mode 100644 examples/avatar-prototype/skull.pxl delete mode 100644 examples/avatar-prototype/skull_4x.png delete mode 100644 examples/avatar-prototype/skull_talk_closed.png delete mode 100644 examples/avatar-prototype/skull_talk_small.png delete mode 100644 examples/avatar-prototype/skull_talk_wide.png delete mode 100644 examples/avatar-prototype/skull_talking.gif delete mode 100644 examples/avatar-prototype/skull_talking_4x.gif delete mode 100644 examples/avatar-prototype/skull_v0.png delete mode 100644 examples/avatar-prototype/skull_v0_4x.png delete mode 100644 examples/avatar-prototype/skull_v1a_4x.png delete mode 100644 examples/avatar-prototype/skull_v1b_4x.png create mode 100644 examples/skull/README.md create mode 100644 examples/skull/comparison.png create mode 100644 examples/skull/skull.png create mode 100644 examples/skull/skull.pxl create mode 100644 examples/skull/skull_4x.png create mode 100644 examples/skull/skull_8x.png create mode 100644 examples/skull/skull_poses.png create mode 100644 examples/skull/skull_talking.gif create mode 100644 examples/skull/skull_talking.pxl diff --git a/examples/avatar-prototype/README.md b/examples/avatar-prototype/README.md new file mode 100644 index 00000000..dccd183f --- /dev/null +++ b/examples/avatar-prototype/README.md @@ -0,0 +1,5 @@ +# Skull reference + +`reference-skull.jpg` is the reference for the shaded, three-quarter skull. +The replacement native sources, rendered stills, talking animation, and +side-by-side comparison live in [`../skull/`](../skull/). diff --git a/examples/avatar-prototype/skull-outline.pxl b/examples/avatar-prototype/skull-outline.pxl deleted file mode 100644 index 96afd2d8..00000000 --- a/examples/avatar-prototype/skull-outline.pxl +++ /dev/null @@ -1,397 +0,0 @@ -// ============================================================================ -// SKULL OUTLINE - 3/4 View Silhouette Study -// ============================================================================ -// Reference: reference-skull.jpg -// Goal: Nail the silhouette before adding internal detail -// Canvas: 32x40 -// ============================================================================ - -{ - "type": "palette", - "name": "outline_pal", - "colors": { - "_": "transparent", - "outline": "#302828", - "fill": "#e8e0d8", - "fill2": "#e8e0d8", - "fill3": "#e8e0d8", - "fill4": "#e8e0d8", - "fill5": "#e8e0d8", - "fill6": "#e8e0d8" - } -} - -// V1: Build from simple shapes -{ - "type": "sprite", - "name": "skull_outline_v1", - "size": [32, 40], - "palette": "outline_pal", - "regions": { - "fill": { - "union": [ - { "ellipse": [14, 12, 13, 11] }, - { "rect": [5, 18, 22, 20] } - ], - "z": 0 - } - } -} - -// V2: Capture 3/4 view asymmetry -{ - "type": "sprite", - "name": "skull_outline_v2", - "size": [32, 40], - "palette": "outline_pal", - "regions": { - "fill": { - "union": [ - { "ellipse": [13, 11, 12, 10] }, - { "ellipse": [6, 13, 5, 8] }, - { "ellipse": [24, 20, 5, 6] }, - { "rect": [6, 18, 20, 8] }, - { "rect": [8, 26, 16, 8] }, - { "ellipse": [10, 34, 4, 5] }, - { "ellipse": [22, 34, 4, 5] } - ], - "z": 0 - } - } -} - -// V3: Refined proportions (has gap bug) -{ - "type": "sprite", - "name": "skull_outline_v3", - "size": [32, 40], - "palette": "outline_pal", - "regions": { - "fill": { - "union": [ - { "ellipse": [14, 10, 13, 10] }, - { "ellipse": [5, 12, 4, 6] }, - { "rect": [5, 16, 22, 10] }, - { "ellipse": [25, 22, 4, 4] }, - { "ellipse": [15, 32, 9, 7] } - ], - "z": 0 - } - } -} - -// V4: Simpler approach - just 3 main shapes with guaranteed overlap -{ - "type": "sprite", - "name": "skull_outline_v4", - "size": [32, 40], - "palette": "outline_pal", - "regions": { - // Cranium - "fill": { "ellipse": [14, 11, 13, 11], "z": 0 }, - // Mid-face + jaw as one tall rect (will trim later) - "fill2": { "rect": [6, 18, 20, 20], "z": 0 } - } -} - -// V5: Separate regions - same z (has overlap bug) -{ - "type": "sprite", - "name": "skull_outline_v5", - "size": [32, 40], - "palette": "outline_pal", - "regions": { - "fill": { "ellipse": [14, 11, 13, 11], "z": 0 }, - "fill3": { "ellipse": [6, 14, 5, 7], "z": 0 }, - "fill4": { "rect": [6, 18, 21, 12], "z": 0 }, - "fill5": { "ellipse": [25, 23, 4, 5], "z": 0 }, - "fill6": { "ellipse": [16, 34, 8, 5], "z": 0 } - } -} - -// V6: Different z-levels (still has bug) -{ - "type": "sprite", - "name": "skull_outline_v6", - "size": [32, 40], - "palette": "outline_pal", - "regions": { - "fill": { "ellipse": [14, 11, 13, 11], "z": 0 }, - "fill2": { "ellipse": [6, 14, 5, 7], "z": 1 }, - "fill3": { "rect": [6, 18, 21, 12], "z": 2 }, - "fill4": { "ellipse": [25, 23, 4, 5], "z": 3 }, - "fill5": { "ellipse": [16, 34, 8, 5], "z": 4 } - } -} - -// V7: 3 shapes - works -{ - "type": "sprite", - "name": "skull_outline_v7", - "size": [32, 40], - "palette": "outline_pal", - "regions": { - "fill": { "ellipse": [14, 11, 13, 11], "z": 0 }, - "fill2": { "rect": [6, 18, 20, 20], "z": 0 }, - "fill3": { "ellipse": [25, 23, 4, 5], "z": 0 } - } -} - -// V8: 4 shapes - works -{ - "type": "sprite", - "name": "skull_outline_v8", - "size": [32, 40], - "palette": "outline_pal", - "regions": { - "fill": { "ellipse": [14, 11, 13, 11], "z": 0 }, - "fill2": { "rect": [6, 18, 20, 20], "z": 0 }, - "fill3": { "ellipse": [25, 23, 4, 5], "z": 0 }, - "fill4": { "ellipse": [5, 14, 4, 6], "z": 0 } - } -} - -// V9: 5 shapes - has bug (5 region limit) -{ - "type": "sprite", - "name": "skull_outline_v9", - "size": [32, 40], - "palette": "outline_pal", - "regions": { - "fill": { "ellipse": [14, 11, 13, 11], "z": 0 }, - "fill2": { "rect": [6, 18, 20, 10], "z": 0 }, - "fill3": { "ellipse": [25, 23, 4, 5], "z": 0 }, - "fill4": { "ellipse": [5, 14, 4, 6], "z": 0 }, - "fill5": { "ellipse": [16, 34, 8, 6], "z": 0 } - } -} - -// V10: 4 regions using union (has bug - 5 total shapes) -{ - "type": "sprite", - "name": "skull_outline_v10", - "size": [32, 40], - "palette": "outline_pal", - "regions": { - "fill": { "ellipse": [14, 11, 13, 11], "z": 0 }, - "fill2": { - "union": [ - { "rect": [6, 18, 20, 10] }, - { "ellipse": [16, 34, 8, 6] } - ], - "z": 0 - }, - "fill3": { "ellipse": [25, 23, 4, 5], "z": 0 }, - "fill4": { "ellipse": [5, 14, 4, 6], "z": 0 } - } -} - -// V11: 4 shapes - has gap between cranium and jaw -{ - "type": "sprite", - "name": "skull_outline_v11", - "size": [32, 40], - "palette": "outline_pal", - "regions": { - "fill": { "ellipse": [14, 10, 13, 10], "z": 0 }, - "fill2": { "ellipse": [15, 28, 11, 12], "z": 0 }, - "fill3": { "ellipse": [26, 22, 4, 5], "z": 0 }, - "fill4": { "ellipse": [4, 13, 4, 7], "z": 0 } - } -} - -// V12: Overlaps well but jaw too long -{ - "type": "sprite", - "name": "skull_outline_v12", - "size": [32, 40], - "palette": "outline_pal", - "regions": { - "fill": { "ellipse": [14, 11, 14, 12], "z": 0 }, - "fill2": { "ellipse": [15, 26, 11, 14], "z": 0 }, - "fill3": { "ellipse": [26, 22, 4, 6], "z": 0 }, - "fill4": { "ellipse": [4, 14, 4, 7], "z": 0 } - } -} - -// V13: Better proportions - has gap -{ - "type": "sprite", - "name": "skull_outline_v13", - "size": [32, 40], - "palette": "outline_pal", - "regions": { - "fill": { "ellipse": [14, 12, 14, 12], "z": 0 }, - "fill2": { "ellipse": [15, 28, 10, 10], "z": 0 }, - "fill3": { "ellipse": [25, 24, 4, 5], "z": 0 }, - "fill4": { "ellipse": [4, 14, 3, 6], "z": 0 } - } -} - -// V14: Good baseline -{ - "type": "sprite", - "name": "skull_outline_v14", - "size": [32, 40], - "palette": "outline_pal", - "regions": { - "fill": { "ellipse": [14, 12, 14, 12], "z": 0 }, - "fill2": { "ellipse": [15, 26, 10, 12], "z": 0 }, - "fill3": { "ellipse": [26, 23, 4, 5], "z": 0 }, - "fill4": { "ellipse": [4, 14, 3, 6], "z": 0 } - } -} - -// V15: Has gap - shapes taper at overlap zone -{ - "type": "sprite", - "name": "skull_outline_v15", - "size": [32, 40], - "palette": "outline_pal", - "regions": { - "fill": { "ellipse": [14, 11, 13, 11], "z": 0 }, - "fill2": { "ellipse": [15, 27, 9, 11], "z": 0 }, - "fill3": { "ellipse": [26, 21, 4, 6], "z": 0 }, - "fill4": { "ellipse": [4, 13, 3, 6], "z": 0 } - } -} - -// V16: 4 ellipses - works but overly complex -{ - "type": "sprite", - "name": "skull_outline_v16", - "size": [32, 40], - "palette": "outline_pal", - "regions": { - "fill": { "ellipse": [14, 13, 13, 13], "z": 0 }, - "fill2": { "ellipse": [15, 29, 10, 10], "z": 0 }, - "fill3": { "ellipse": [26, 22, 4, 6], "z": 0 }, - "fill4": { "ellipse": [4, 14, 3, 7], "z": 0 } - } -} - -// ============================================================================ -// SIMPLE APPROACH: Circle + Rect + Triangle (mushroom shape) -// ============================================================================ - -// V17: Simple mushroom - symmetric front view -{ - "type": "sprite", - "name": "skull_outline_v17", - "size": [32, 40], - "palette": "outline_pal", - "regions": { - "fill": { "circle": [16, 12, 12], "z": 0 }, - "fill2": { "rect": [6, 18, 20, 10], "z": 0 }, - "fill3": { "polygon": [[6, 28], [26, 28], [16, 38]], "z": 0 } - } -} - -// V18: 3/4 view - shapes shifted left -{ - "type": "sprite", - "name": "skull_outline_v18", - "size": [32, 40], - "palette": "outline_pal", - "regions": { - "fill": { "circle": [14, 12, 12], "z": 0 }, - "fill2": { "rect": [4, 18, 22, 10], "z": 0 }, - "fill3": { "polygon": [[4, 28], [26, 28], [14, 38]], "z": 0 } - } -} - -// V19: Has gap - triangle not connected -{ - "type": "sprite", - "name": "skull_outline_v19", - "size": [32, 40], - "palette": "outline_pal", - "regions": { - "fill": { "circle": [14, 12, 12], "z": 0 }, - "fill2": { "rect": [8, 18, 20, 10], "z": 0 }, - "fill3": { "polygon": [[8, 28], [8, 38], [26, 33]], "z": 0 } - } -} - -// V20: Triangle too narrow -{ - "type": "sprite", - "name": "skull_outline_v20", - "size": [32, 40], - "palette": "outline_pal", - "regions": { - "fill": { "circle": [14, 12, 12], "z": 0 }, - "fill2": { "rect": [6, 18, 20, 10], "z": 0 }, - "fill3": { "polygon": [[6, 28], [6, 38], [28, 33]], "z": 0 } - } -} - -// V21: Sharp triangle chin -{ - "type": "sprite", - "name": "skull_outline_v21", - "size": [32, 40], - "palette": "outline_pal", - "regions": { - "fill": { "circle": [14, 12, 12], "z": 0 }, - "fill2": { "rect": [6, 18, 20, 10], "z": 0 }, - "fill3": { "polygon": [[6, 28], [26, 28], [28, 36]], "z": 0 } - } -} - -// V22: 6-vertex polygon has fill bug -{ - "type": "sprite", - "name": "skull_outline_v22", - "size": [32, 40], - "palette": "outline_pal", - "regions": { - "fill": { "circle": [14, 12, 12], "z": 0 }, - "fill2": { "rect": [6, 18, 20, 10], "z": 0 }, - "fill3": { - "polygon": [ - [6, 28], [26, 28], [20, 32], [24, 36], [20, 38], [6, 38] - ], - "z": 0 - } - } -} - -// V23: 4-vertex trapezoid - works but straight hypotenuse -{ - "type": "sprite", - "name": "skull_outline_v23", - "size": [32, 40], - "palette": "outline_pal", - "regions": { - "fill": { "circle": [14, 12, 12], "z": 0 }, - "fill2": { "rect": [6, 18, 20, 10], "z": 0 }, - "fill3": { - "polygon": [[6, 28], [26, 28], [24, 38], [6, 38]], - "z": 0 - } - } -} - -// V24: 5-vertex polygon - bowed hypotenuse -{ - "type": "sprite", - "name": "skull_outline_v24", - "size": [32, 40], - "palette": "outline_pal", - "regions": { - "fill": { "circle": [14, 12, 12], "z": 0 }, - "fill2": { "rect": [6, 18, 20, 10], "z": 0 }, - // 5 vertices: add midpoint on hypotenuse that bows inward - "fill3": { - "polygon": [ - [6, 28], // top-left - [26, 28], // top-right - [20, 33], // midpoint bows inward (was ~25,33 on straight line) - [24, 38], // chin right - [6, 38] // chin left - ], - "z": 0 - } - } -} diff --git a/examples/avatar-prototype/skull-outline_skull_outline_v23.png b/examples/avatar-prototype/skull-outline_skull_outline_v23.png deleted file mode 100644 index ae043ea39b2dc60fdae3423e88f520717b577f26..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1082 zcmeAS@N?(olHy`uVBq!ia0vp^4M4nrgAGU?nUwOEfq{k5)5S5Qg7NJE<^?K|(~f=o zU;eK5#F^zq-pT87Z*PO5%$|AEyw=Y%GFE!`vut}-)v|W$?5pcP?LT9?-R|HY@m=o@ z_KW>558V0czp+;M-+H&FtNx!C_<#6L@oV8T|CO%W{QCvf4<_s$#+4TL(fB{7obTuL!|XLy_Wlv@$r5;NE6)t zwjbrYo?la+vHIWPnC}nVyZ>9k4F;<@vi}mu?wGIf&vvofNBw!e5Y2Sf?{|K&6kq)> z0d~4Q-_+Ir>=(n-@O+GUxAQCKvsM31*HwR5e00Aosx-u9|I@)%i=#?{JqLFuIGn(t zfnoyn6cKXjNBtd;a5}yN9EF9bj_IghTAf$hwDZ;eGo}1>TYj8(21P7F&8PJxpvaSZ zFfV$3!n$AgyHH}m?dkoOpy0JR0152NM@zbe$e9eB4*v;OJGskD T*Y39fmI(}=u6{1-oD!M<6-ADv diff --git a/examples/avatar-prototype/skull-outline_skull_outline_v24.png b/examples/avatar-prototype/skull-outline_skull_outline_v24.png deleted file mode 100644 index 4207a084861fccb0ed0e00ef745276b359c766fb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1153 zcmeAS@N?(olHy`uVBq!ia0vp^4M4nrgAGU?nUwOEfq})t)5S5Qg7NJE<^?K|(~f=o zU;eK5#F^zq-pT87Z*PO5%$|AEyw=Y%GFE!`vut}-)v|W$?5pcP?LT9?-R|HY@m=o@ z_KW>558V0czp+;M-+H&FtNx!C_<#6L@oV8T|CO%W{QCvf4<_s$#+4TL(fB{7obTuL!|XLy_Wlv@$r5;NE6)t zwjbrYo?la+vHIWPnC}nVyZ>9k4F;<@vi}mu?wGIf&vvofNBw!e5Y2Sf?{|K&6kq)> z0d~4Q-_+Ir>=(n-@O+GUxAQCKvsM31*HwR5e00Aosx-u9|I@)%i=#?{JqLFuIGn(t zfnoyn6cKXjNBtd;a5}yN9EF9bj_IghTAf$hwDZ;eGo}1>TYj8(21P7F&8PJxpvaSZ zFfV$3!n$AgyHH}m?dkoOpy0JR0152wMQ;|xw|%#b9$6T>L~QY7y@$1rgJ6;QO;8~}UjJzC5bU9DdYiu%e1a1_O( i<*yyc869l#e~u!B2>YEk7q|h776wmOKbLh*2~7Z`i?(S1 diff --git a/examples/avatar-prototype/skull.png b/examples/avatar-prototype/skull.png deleted file mode 100644 index 563198bdb871567543623333e83b5407eeb2e0fa..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1137 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 diff --git a/examples/avatar-prototype/skull_talk_small.png b/examples/avatar-prototype/skull_talk_small.png deleted file mode 100644 index 9489343f277dffcba005389a722f6eec4208afac..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1269 zcmYk6eM}o=9LKM~VDge9G4qdYw2Up8LgJaRx#$Wv9TO2<)hv*StYkRnz}X0HZGqh( zxD10^W0sA#rClHb2||5?+O+JbW1`sFAc4I=>21|3h@36gj=o&)yyrk;a?joKyPWnYodT=k#a#Yp)pfdvder@HtaeUGK#M)icIbck3i^>v1lkbENnd z+pv><Cm5&XY7ABizYz1^#hW<*^Pditpkl5tI@F8o9-ggIoUrNrFsWy=| z7<&f(hz)&6n=F=J;`1V3D38f^kGGPK;jsy-amHZ0`i!2A&0IVS z9P%%7Ho9Ep*|6A(^)9p-xFsd^F>Urrhb;8-(DCT7va3urdezANiBLUg z~8v=|oY!#f3Mx$AXIs|4wpc_~XKG4nSg14O%bL}(%rcNMpZkO5AlivT94 z)9;zkVj!DNp?U*lPPanF*nOh|7;-yDgJr}%@f@Enmx&vIszBb9j+)Y8dv#c#C%k0f zPEyQsO!&H>l4-aT-GcPnra9I_q&sFFSp_0KFM8|>klxPap}$gK%8j++zWGtZEu7* zQb%jAgt_-_hP#N)=y_ifzSqqs40B$C6*=&;${ql{eLl&N152mS&m+w2Cm#4PZ|90Zg-anP4l jC(LfDsOQE_oKL6pp|AaRrNS=!&Y+^hM+$~stZ4cNb8_&Q diff --git a/examples/avatar-prototype/skull_talk_wide.png b/examples/avatar-prototype/skull_talk_wide.png deleted file mode 100644 index 6bfc6028e77f1acffaf2ea136a11490a465069f2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1168 zcmYjR4NMzl7(P}ukRNMe49Ny9S(Z$h@!Uujm15N~8IBA!1e_gokr-q+J6BmL;9Uim zp*V<|t#pvij5tV0sXC=;4!p7->pED23u8)4JIH$0+FSpif7d&|?~2Ki`}yv^_nzl@ zpZ9(5i#HEd=I3n9K@cRr>OjTY;9d;Qr?a&0hcIt0nAuc~;pwmrjd5q!7f@cG|@ zoQgjC`|Rk+gH031mnJukmap{Z-!SU;ly0Zvr%cB>E}toDT`-1ReKzvilWbyOE;sPE z7JEO4?qhb9-#2piBo>2d+14Xwjw1bH>1~>R&hDQ_Q?`}(zNub)U=jaNkEYk^=%_nOI!IBm;3`rm{j`Xn==&H! z5E4Fi+YFhGmA9x=+GG(3u-3?}DV{`s)_pqWF|zN45z}(Vu4reVM?9N*1v0@vAr>1^ z2d;_d_#B?fL@jWUA6Oz&ONgVxXJ9HjuFAO|Gp>h&pOb78x31v!3L{WXvOG2;^z2`A zpOIdmCOc`-DU~W?OrqV%tci!H5DejV)QWg%TVj3}dz|fiLUM;E!oOY}HLmKiSpfq9 zxz~G}c^dU)7wdOjK-`p#XLoDj1}C zY&crN*KnKkYDrehN?-*0owN{Up z+WiEX98zOgVidmsz)I73+))7Q!wwPS&I&tzO^lO+)Fdb(x#?WNJZv-pUyb;S81n*` zQ`@Ln#QcjM&|eRvHW|4l696A?@etLSc55rS-m3H&Orci>u*iryG9sQE5vM+Yl)8A= z?XH)paWXNavs1jHaC~^-*o|gzyk!b?Y5uh{hQ_? zjVGLKi$QVT2C&@y)s=3>2lM4z)KLGlwupqkjTz8L`T??xM}J0c$__(;!v*4^>ROcC`CHT2HHJ diff --git a/examples/avatar-prototype/skull_talking.gif b/examples/avatar-prototype/skull_talking.gif deleted file mode 100644 index 39df6433f4c3f6d907fc737577aac19685f6fa1a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4740 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 X%0Yp0(0^JvC}2_pCiVXVlUnItfXQ(t diff --git a/examples/avatar-prototype/skull_v0.png b/examples/avatar-prototype/skull_v0.png deleted file mode 100644 index 1b7d7f3491f45569fd1a65c01949c21b09c8b092..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1416 zcmYjRe@qis96u4Lb8%>vrHk2$vL!lQcH4|@&V!=CFh^pYF%sOG`_sT(7U&QU3ssx5=Ia+>(Sqz z7kT~Y>ZuB^d1`SmjeOJYxRor4>n_oKfvyrt<%Hwgjq!-*;s$k%2X!ulJerqASp{Guzyir{Z!I(X=I=_(ui?0 zdUub{V3Sol9LN1Do<{QHRYwf-5{~9`{o$jE7$Xa1Tc<0w$B)`Qh=r@ z5g`35nvV7>o8;9@57a^;7^H6{+A94$^(_1JcfT`QD{&v3!;l~>I`|PRHj6hYn`FKI zUhgf|P+1OvrH`yWUgr30s??r|Sr&UpPVuZJ`ZL~|u-7de z3zdP`k*n;|9j$PWcNxVZC!nhDaS6Tasl4)WReV_$n$QXpQ;Y2s-%fa~WJzabz%p4V zs_p?;@9Z$zBMWx%#L^_6qSZI*Xrf`s;5TYlSO_9kaJBwMpirDGk_3!&G4R8%~ z3uU&83o19B?b^Tmr!h7bD*;(G$wxFfcx(tCr6-E1$6G>Z+foMquSz^E?sSKCqe(jX z>}4naP56J1fGE@~Q}Q>$LwIZ)gDX^=wYUfMIkhv5T+Z`0&|C)*FyY6f+*MiZ z{?E%dlaY4n0hSK$GO-sLB-9OhgVe=Jzg@x$K@Wmgw1KVTZElgCatMUaZT)%jFX4!HVS*c105DQu>W9A=e|PSe}NfJ2LJ#7 diff --git a/examples/avatar-prototype/skull_v0_4x.png b/examples/avatar-prototype/skull_v0_4x.png deleted file mode 100644 index 04f297e7b6c18f05e6cf15b2a965e308cdb4c427..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2214 zcma)83rrJd9LJHYKBl+CY;0uqhI1p4Z5SAsOzJT~D>JdW=o-hgE;=7W?eNtC(ocp? z4Z3C$lng_w%&|zI^EK3hCnzwnm4{IrSj)2%aRu5!d*$xF-F-(wuG3^mA8EgQzwiJ5 zJ^tSvTeVU?b9(snkdTm>Da(_;;Jy!XZ{yTgxz9T%H!~q2Q+K8$f3`+D<)2%j#(C>b z)sH}p>%?D{(%maIRqX8ebKb6wQ_%I`9NJF+P4p=tL+xOGiM03L5# z3k|EUKZCLJl?+(ccL6s2{`Dw)yP%9EO5DIQn+@o#;H;eVM&-fk$t8aOQP@>H+y-{A zScZ26dC70c6@mTe#~srE)8HVQ%PXHYhRXakm_ya$AL&VGcDX)=KTDZb(}(Q%D$(h$ z!#V+U&aUdwFWERL-6`?l1Kch;?YYb49vX3;)_pr-I1+T0V(bvfZt^U7k~vtO(433Y z8`(G>LF%l*bPHgClpdCQ5-S(?O{3G^A#`UX?KWHAVWDt+lBn+_T9Q?(f)^>}wb4hZ zlutXHi(9~X2|>5eSwrMq(|{0a5z<6T>w|?%5I#kHTE>< zJ*ITpyRT}2*=(*_pzse8@z^kGIS0sywEpZbTB^X`E=~+ew@+iHx z1!wNk^1y%rZkKNJJ(1C2=O%mMoOu>i2@@-yW=6qq74y)}31MQNMLTjP#l-{|WxzGW zZeip0Yc!O`_)?f?p#49IP<^1XEns`=wInjlqf@;sMuTm?yD8kN4;Br6|RvL=@jcl##W3D9C!m z$548c%r~6awq7#_N^zzIw}fVoDnTri`kw5;u)Vf@Z6iY?HalY#LSRZ1@tQ=>K$h8X zl=mFaa|Ed!WUEjJPaWp%ln{lIfK$(IW}~uw8Xg)M5xJ;Iockm?3N@W@i!TxUir@$V zu6B}#4TXBvsc;aj8sOt3-Ogn~l8Nk86Er74sfr!I{||O-wtTl@K_uT36+K3Fvge8<=i5cOt5x*C{uI;s>r7CH^B9!n$RVK~WjkXGS`Qr58#(_Qgb24^%s+oJ>*DS_At z##KFLa=eH#^xlvVU(pR`MHXC50S9mT3?pI6Q;ImG?k2l;RN%5u!0D2sJqF>(a?((!DQity|h1_ zja~2Sl;^<&aj5TrOGq$m7;(f6lSuk%M#N2j9{GzT(5qm#Nu7D5zbwP3V0-nBod313 zZLxt9`bE@4u=$Kz0so*hT5kz%gD>z?|{?dxbs zpwp*QdqV8A&Hj>tQR-wCYD}O!Z2sdPp_=eIhp;T;!$r4=mm~i3WKd7MQuk?&vX!~|0r&h7lCpGVa>bI3Kl}^j#9tZ! diff --git a/examples/avatar-prototype/skull_v1a_4x.png b/examples/avatar-prototype/skull_v1a_4x.png deleted file mode 100644 index 4c930056efd2bd28098463e8320b7391582404e2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2257 zcmb7GeM}Q)7>70P9L$`FnPhJEbS@#0MVMdHQ9b5Yb#7Lt8!^lkryFignO|Tj_GE}? z7&dN0acpf(qbw4rxDO^(Pe5d1v8VxtQVLXR5$FePrLA}O?(QuU?#%vJ(vLTJ?|Gl+ z`F*_49bLOdIw5LGR76C?gjFk-eZc-7WWT!c&$GYRzS~MiM2s(9wd|b@`y&Uhigd4U zJaOFvGM$BgnM!xB-cqsS{vRWsFTT~Bc-NqrJ?AxNFr(_rth4!v+gl8~TR_@|iV*m= z@k5|pckvOJGc%bcR`i|&=3hScgO`iS7+gO@c1&VI>LxHvt?Emj43ukm4^9Mil5PX| zn?kDnttko}f(L4-?XTjhpOAYNOD}#$FAo*f6Bz&G9yoag+ zdWFuiXV_gk;B*cdJdTs9&ph&cL3wyMR@9NzUrtH0+_{*ED7BRuYX2 zW@es5vV5z_3jy^~UPntQL|H2bm5S**FZ(}Y7Ky1Y#B1%VL5aEGREF77CmLjv*GfWX zg?ad?oI>9Zxs*ESCy0#*K*r$6-eNMlQx| zW8wxi#{8Ji*=l3#Fm{}tPfIWc;v3G0`Z%NrbxQi>BJlps1C5gcZ3|S?0`xbd@g~{e zu{E&xSvH9sFA#KtJyJ~HF}$HEva53$IVu*2k!u;^SbHFev z3|JdR@?#}L9@j4dnI^AG316%?Nlv%OO(F{`0ZDT%Mx`=yM%QA89uIvV zbopB3bp04H=IMBcuM1{!nhmxE9BL+YB*+{NO3&b`nIvEzIskPaBAG2-t3#u7cIQ+W zoo|armrU%%hZ^O6U4Mn~7*hRo304SvX6}V#M?%#w(VH?Y`y|bahCAv++>(-ISoXDf zl7>6>py*z1Y3+m0w+rDPH&W6~oUXH5yIWJzSp!t}SJ3^>8)U#I^J3uxpHUl{(O+IQrcY~^+j3bf>dC2saIhz=q60oDF&hmNj|s0o+!U4oyrkhO0S{+JT5SfB_{51m*`4avayVDg_&Z8f6rd10Km zOEqsHXZgM6a#;e1g2)gv__g%l?eV~emVhOw%AFfDKySru8t#%7fCc=-*NF3SrVpEs zy053xw|eB=t+CYais@GZ1>}!N=z)ycCUz8%fii_o#yn87{{7z@cJD%Pyh7>L3mJIP zqa8R&gz}rnT0KT@W8zE94=HK2vqn7`Wbmt;3F@*vF~mHe&3>Fl%m#%*Bjg9UQo~1} zOL*6>eh4?k5T0Z&xRFLYj`doP2-Haw!`8rsVD>FAO_;d8Gf-~bNF`>wm1LFTU^?S; zO-9`{F1phmc_nBhQzTara#&fys?f#k^h97(r)!6}tAu=FWCb4%GBX40)wlS`uVgV2 z8ZdK8{|_=MAsOH(6ob5vbpn;fah?;_mQ6T)n^eJ4f}OtMF?hz-p!T{dp+({F)bfYt z;Q(eIK^&?&UI8bhfj=Qxz&gU)O1SOfZ!dlNZZPV^XI>xz(iwAitxv36Z(?6nB33P5 Lv#erC>No!Yd|+=B diff --git a/examples/avatar-prototype/skull_v1b_4x.png b/examples/avatar-prototype/skull_v1b_4x.png deleted file mode 100644 index 8875d9403d191ba5b1a5da221b49ee8dfc626677..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2109 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 literal 0 HcmV?d00001 diff --git a/examples/skull/skull.pxl b/examples/skull/skull.pxl new file mode 100644 index 00000000..237bf36f --- /dev/null +++ b/examples/skull/skull.pxl @@ -0,0 +1,164 @@ +// 48x48, facing right. Geometry is authored here; PNGs are pxl output. +// Light comes from above/right. The jaw is a separate transparent layer. +{ + "type": "palette", + "name": "skull_bone", + "colors": { + "_": "transparent", + "cranium_outline": "#77746c", + "cranium_side": "#b8ae9d", + "temple_plane": "#e3dac9", + "dome_light": "#f9f5e2", + "brow_plane": "#e3dac9", + "near_socket_rim": "#f9f5e2", + "near_socket": "#514e45", + "near_socket_inner": "#79796f", + "far_socket": "#514e45", + "far_socket_inner": "#79796f", + "temple_seam": "#77746c", + "cheek_shadow": "#948875", + "cheek_plane": "#e3dac9", + "cheek_light": "#f9f5e2", + "face_plane": "#e3dac9", + "face_light": "#f9f5e2", + "nose_notch": "#514e45", + "nose_rim": "#c9bfac", + "far_cheek_rim": "#c9bfac", + "maxilla_shadow": "#c9bfac", + "upper_tooth_0": "#f9f5e2", + "upper_tooth_1": "#f9f5e2", + "upper_tooth_2": "#f9f5e2", + "upper_tooth_3": "#f9f5e2", + "upper_tooth_4": "#f9f5e2", + "upper_tooth_5": "#f9f5e2", + "jaw_outline": "#77746c", + "jaw_shadow": "#b8ae9d", + "jaw_side": "#e3dac9", + "chin_plane": "#e3dac9", + "chin_light": "#f9f5e2", + "jaw_rim": "#f9f5e2", + "lower_gum": "#c9bfac", + "lower_tooth_0": "#f9f5e2", + "lower_tooth_1": "#f9f5e2", + "lower_tooth_2": "#f9f5e2", + "lower_tooth_3": "#f9f5e2", + "lower_tooth_4": "#f9f5e2", + "lower_tooth_5": "#f9f5e2", + "upper_tooth_gaps": "#948875", + "lower_tooth_gaps": "#948875", + "mouth_cavity": "#514e45" + } +} + +{ + "type": "sprite", + "name": "skull_cranium", + "size": [ + 48, + 48 + ], + "palette": "skull_bone", + "regions": { + "cranium_outline": {"polygon": [[4, 13], [5, 10], [8, 7], [12, 4], [17, 2], [23, 2], [28, 3], [32, 3], [36, 6], [39, 10], [40, 14], [41, 17], [40, 22], [38, 25], [37, 31], [26, 31], [22, 29], [17, 29], [13, 26], [10, 27], [6, 26], [4, 22]], "z": 0}, + "cranium_side": {"polygon": [[5, 13], [7, 10], [10, 7], [15, 4], [20, 3], [27, 4], [32, 4], [36, 7], [39, 11], [39, 17], [36, 21], [30, 23], [23, 23], [18, 25], [12, 26], [7, 25], [5, 21]], "z": 1}, + "temple_plane": {"polygon": [[7, 16], [10, 10], [15, 6], [20, 4], [29, 4], [35, 7], [38, 11], [36, 16], [29, 19], [21, 20], [17, 24], [11, 25], [8, 22]], "z": 2}, + "dome_light": {"polygon": [[14, 10], [17, 7], [21, 5], [28, 5], [33, 6], [36, 9], [38, 12], [38, 14], [34, 15], [31, 17], [28, 15], [24, 13], [20, 12], [18, 10]], "z": 3}, + "brow_plane": {"polygon": [[20, 12], [24, 12], [28, 14], [31, 16], [34, 14], [39, 13], [39, 17], [36, 20], [33, 21], [30, 19], [27, 16], [22, 15], [18, 20], [17, 19]], "z": 4}, + "near_socket_rim": {"polygon": [[20, 13], [25, 13], [28, 16], [30, 18], [29, 22], [27, 25], [22, 25], [18, 22], [18, 17]], "z": 5}, + "near_socket": {"polygon": [[21, 14], [25, 14], [27, 16], [29, 18], [28, 22], [26, 24], [22, 24], [19, 21], [19, 18]], "z": 6}, + "near_socket_inner": {"polygon": [[21, 17], [23, 17], [24, 19], [26, 19], [27, 21], [26, 23], [22, 23], [20, 21], [20, 19]], "z": 9}, + "far_socket": {"polygon": [[35, 16], [38, 14], [40, 14], [40, 20], [38, 23], [35, 22], [34, 19]], "z": 7}, + "far_socket_inner": {"polygon": [[37, 17], [38, 17], [38, 19], [39, 19], [38, 22], [36, 21], [36, 19], [35, 19]], "z": 10}, + "temple_seam": {"line": [[19, 14], [18, 17], [17, 21], [15, 23], [12, 24]], "z": 8}, + "cheek_shadow": {"polygon": [[14, 23], [19, 23], [21, 25], [27, 25], [26, 29], [23, 31], [17, 30], [12, 27]], "z": 11}, + "cheek_plane": {"polygon": [[14, 23], [18, 22], [21, 24], [26, 24], [25, 27], [24, 29], [18, 29], [14, 27], [12, 25]], "z": 13}, + "cheek_light": {"polygon": [[13, 24], [15, 23], [17, 23], [15, 24], [14, 26], [17, 28], [15, 27]], "z": 16}, + "face_plane": {"polygon": [[30, 19], [33, 19], [35, 22], [37, 24], [37, 32], [34, 33], [27, 32], [25, 30], [27, 26], [28, 23]], "z": 12}, + "face_light": {"polygon": [[31, 20], [33, 21], [34, 24], [36, 25], [36, 30], [33, 31], [31, 29], [29, 30], [28, 28], [29, 25]], "z": 14}, + "nose_notch": {"polygon": [[31, 22], [32, 23], [33, 22], [33, 25], [34, 27], [32, 28], [32, 26], [31, 28], [30, 27], [30, 24]], "z": 17}, + "nose_rim": {"line": [[34, 23], [35, 26], [34, 28]], "z": 19}, + "far_cheek_rim": {"line": [[39, 22], [39, 24], [37, 26]], "z": 15}, + "maxilla_shadow": {"polygon": [[25, 29], [28, 30], [31, 30], [34, 31], [37, 30], [37, 33], [27, 33], [25, 32]], "z": 18}, + "upper_tooth_0": {"rect": [26, 30, 1, 3], "z": 20}, + "upper_tooth_1": {"rect": [28, 31, 2, 3], "z": 21}, + "upper_tooth_2": {"rect": [30, 31, 2, 3], "z": 22}, + "upper_tooth_3": {"rect": [32, 31, 2, 3], "z": 23}, + "upper_tooth_4": {"rect": [34, 31, 2, 3], "z": 24}, + "upper_tooth_5": {"rect": [36, 30, 2, 4], "z": 25}, + "upper_tooth_gaps": {"points": [[29, 32], [29, 33], [31, 32], [31, 33], [33, 32], [33, 33], [35, 32], [35, 33]], "z": 26} + } +} + +{ + "type": "sprite", + "name": "skull_jaw", + "size": [ + 48, + 48 + ], + "palette": "skull_bone", + "regions": { + "jaw_outline": {"polygon": [[11, 26], [13, 28], [16, 31], [20, 33], [25, 33], [28, 34], [37, 33], [37, 40], [35, 43], [29, 43], [25, 41], [21, 40], [15, 40], [12, 38], [11, 35]], "z": 0}, + "jaw_shadow": {"polygon": [[12, 28], [14, 30], [17, 33], [21, 35], [26, 34], [36, 34], [36, 40], [34, 42], [29, 42], [25, 40], [21, 39], [16, 39], [13, 37], [12, 34]], "z": 1}, + "jaw_side": {"polygon": [[12, 29], [15, 32], [19, 35], [24, 36], [26, 39], [22, 38], [17, 38], [14, 36], [13, 33]], "z": 2}, + "chin_plane": {"polygon": [[26, 35], [30, 36], [36, 35], [36, 40], [34, 42], [30, 42], [28, 40]], "z": 3}, + "chin_light": {"polygon": [[30, 36], [34, 36], [35, 38], [34, 40], [32, 42], [30, 40]], "z": 4}, + "jaw_rim": {"line": [[12, 28], [14, 31], [17, 33], [21, 35], [24, 35]], "z": 5}, + "lower_gum": {"line": [[25, 34], [28, 35], [36, 35]], "z": 6}, + "lower_tooth_0": {"rect": [26, 34, 1, 2], "z": 7}, + "lower_tooth_1": {"rect": [28, 35, 2, 2], "z": 8}, + "lower_tooth_2": {"rect": [30, 35, 2, 2], "z": 9}, + "lower_tooth_3": {"rect": [32, 35, 2, 2], "z": 10}, + "lower_tooth_4": {"rect": [34, 35, 2, 2], "z": 11}, + "lower_tooth_5": {"rect": [36, 34, 1, 2], "z": 12}, + "lower_tooth_gaps": {"points": [[29, 35], [29, 36], [31, 35], [31, 36], [33, 35], [33, 36], [35, 35], [35, 36]], "z": 13} + } +} + +{ + "type": "sprite", + "name": "skull_mouth_0", + "size": [ + 48, + 48 + ], + "palette": "skull_bone", + "regions": { + "mouth_cavity": {"polygon": [[12, 27], [20, 30], [27, 31], [36, 31], [36, 35], [27, 36], [21, 34], [15, 31]], "z": 0} + } +} + +{ + "type": "composition", + "name": "skull", + "size": [ + 48, + 48 + ], + "cell_size": [ + 48, + 48 + ], + "sprites": { + "H": "skull_cranium", + "M": "skull_mouth_0", + "J": "skull_jaw" + }, + "layers": [ + { + "map": [ + "M" + ] + }, + { + "map": [ + "J" + ] + }, + { + "map": [ + "H" + ] + } + ] +} diff --git a/examples/skull/skull_4x.png b/examples/skull/skull_4x.png new file mode 100644 index 0000000000000000000000000000000000000000..cdc0bdc38d5088622d00b7e505e32ff537ad800b GIT binary patch literal 3447 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 literal 0 HcmV?d00001 diff --git a/examples/skull/skull_poses.png b/examples/skull/skull_poses.png new file mode 100644 index 0000000000000000000000000000000000000000..61c4a077c43b625a0d1a63b0b6e2a627f3f70e83 GIT binary patch literal 12381 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 literal 0 HcmV?d00001 diff --git a/examples/skull/skull_talking.pxl b/examples/skull/skull_talking.pxl new file mode 100644 index 00000000..df2b524a --- /dev/null +++ b/examples/skull/skull_talking.pxl @@ -0,0 +1,326 @@ +// 48x48, facing right. Geometry is authored here; PNGs are pxl output. +// Light comes from above/right. The jaw is a separate transparent layer. +{ + "type": "palette", + "name": "skull_bone", + "colors": { + "_": "transparent", + "cranium_outline": "#77746c", + "cranium_side": "#b8ae9d", + "temple_plane": "#e3dac9", + "dome_light": "#f9f5e2", + "brow_plane": "#e3dac9", + "near_socket_rim": "#f9f5e2", + "near_socket": "#514e45", + "near_socket_inner": "#79796f", + "far_socket": "#514e45", + "far_socket_inner": "#79796f", + "temple_seam": "#77746c", + "cheek_shadow": "#948875", + "cheek_plane": "#e3dac9", + "cheek_light": "#f9f5e2", + "face_plane": "#e3dac9", + "face_light": "#f9f5e2", + "nose_notch": "#514e45", + "nose_rim": "#c9bfac", + "far_cheek_rim": "#c9bfac", + "maxilla_shadow": "#c9bfac", + "upper_tooth_0": "#f9f5e2", + "upper_tooth_1": "#f9f5e2", + "upper_tooth_2": "#f9f5e2", + "upper_tooth_3": "#f9f5e2", + "upper_tooth_4": "#f9f5e2", + "upper_tooth_5": "#f9f5e2", + "jaw_outline": "#77746c", + "jaw_shadow": "#b8ae9d", + "jaw_side": "#e3dac9", + "chin_plane": "#e3dac9", + "chin_light": "#f9f5e2", + "jaw_rim": "#f9f5e2", + "lower_gum": "#c9bfac", + "lower_tooth_0": "#f9f5e2", + "lower_tooth_1": "#f9f5e2", + "lower_tooth_2": "#f9f5e2", + "lower_tooth_3": "#f9f5e2", + "lower_tooth_4": "#f9f5e2", + "lower_tooth_5": "#f9f5e2", + "upper_tooth_gaps": "#948875", + "lower_tooth_gaps": "#948875", + "mouth_cavity": "#514e45" + } +} + +{ + "type": "sprite", + "name": "skull_cranium", + "size": [ + 48, + 48 + ], + "palette": "skull_bone", + "regions": { + "cranium_outline": {"polygon": [[4, 13], [5, 10], [8, 7], [12, 4], [17, 2], [23, 2], [28, 3], [32, 3], [36, 6], [39, 10], [40, 14], [41, 17], [40, 22], [38, 25], [37, 31], [26, 31], [22, 29], [17, 29], [13, 26], [10, 27], [6, 26], [4, 22]], "z": 0}, + "cranium_side": {"polygon": [[5, 13], [7, 10], [10, 7], [15, 4], [20, 3], [27, 4], [32, 4], [36, 7], [39, 11], [39, 17], [36, 21], [30, 23], [23, 23], [18, 25], [12, 26], [7, 25], [5, 21]], "z": 1}, + "temple_plane": {"polygon": [[7, 16], [10, 10], [15, 6], [20, 4], [29, 4], [35, 7], [38, 11], [36, 16], [29, 19], [21, 20], [17, 24], [11, 25], [8, 22]], "z": 2}, + "dome_light": {"polygon": [[14, 10], [17, 7], [21, 5], [28, 5], [33, 6], [36, 9], [38, 12], [38, 14], [34, 15], [31, 17], [28, 15], [24, 13], [20, 12], [18, 10]], "z": 3}, + "brow_plane": {"polygon": [[20, 12], [24, 12], [28, 14], [31, 16], [34, 14], [39, 13], [39, 17], [36, 20], [33, 21], [30, 19], [27, 16], [22, 15], [18, 20], [17, 19]], "z": 4}, + "near_socket_rim": {"polygon": [[20, 13], [25, 13], [28, 16], [30, 18], [29, 22], [27, 25], [22, 25], [18, 22], [18, 17]], "z": 5}, + "near_socket": {"polygon": [[21, 14], [25, 14], [27, 16], [29, 18], [28, 22], [26, 24], [22, 24], [19, 21], [19, 18]], "z": 6}, + "near_socket_inner": {"polygon": [[21, 17], [23, 17], [24, 19], [26, 19], [27, 21], [26, 23], [22, 23], [20, 21], [20, 19]], "z": 9}, + "far_socket": {"polygon": [[35, 16], [38, 14], [40, 14], [40, 20], [38, 23], [35, 22], [34, 19]], "z": 7}, + "far_socket_inner": {"polygon": [[37, 17], [38, 17], [38, 19], [39, 19], [38, 22], [36, 21], [36, 19], [35, 19]], "z": 10}, + "temple_seam": {"line": [[19, 14], [18, 17], [17, 21], [15, 23], [12, 24]], "z": 8}, + "cheek_shadow": {"polygon": [[14, 23], [19, 23], [21, 25], [27, 25], [26, 29], [23, 31], [17, 30], [12, 27]], "z": 11}, + "cheek_plane": {"polygon": [[14, 23], [18, 22], [21, 24], [26, 24], [25, 27], [24, 29], [18, 29], [14, 27], [12, 25]], "z": 13}, + "cheek_light": {"polygon": [[13, 24], [15, 23], [17, 23], [15, 24], [14, 26], [17, 28], [15, 27]], "z": 16}, + "face_plane": {"polygon": [[30, 19], [33, 19], [35, 22], [37, 24], [37, 32], [34, 33], [27, 32], [25, 30], [27, 26], [28, 23]], "z": 12}, + "face_light": {"polygon": [[31, 20], [33, 21], [34, 24], [36, 25], [36, 30], [33, 31], [31, 29], [29, 30], [28, 28], [29, 25]], "z": 14}, + "nose_notch": {"polygon": [[31, 22], [32, 23], [33, 22], [33, 25], [34, 27], [32, 28], [32, 26], [31, 28], [30, 27], [30, 24]], "z": 17}, + "nose_rim": {"line": [[34, 23], [35, 26], [34, 28]], "z": 19}, + "far_cheek_rim": {"line": [[39, 22], [39, 24], [37, 26]], "z": 15}, + "maxilla_shadow": {"polygon": [[25, 29], [28, 30], [31, 30], [34, 31], [37, 30], [37, 33], [27, 33], [25, 32]], "z": 18}, + "upper_tooth_0": {"rect": [26, 30, 1, 3], "z": 20}, + "upper_tooth_1": {"rect": [28, 31, 2, 3], "z": 21}, + "upper_tooth_2": {"rect": [30, 31, 2, 3], "z": 22}, + "upper_tooth_3": {"rect": [32, 31, 2, 3], "z": 23}, + "upper_tooth_4": {"rect": [34, 31, 2, 3], "z": 24}, + "upper_tooth_5": {"rect": [36, 30, 2, 4], "z": 25}, + "upper_tooth_gaps": {"points": [[29, 32], [29, 33], [31, 32], [31, 33], [33, 32], [33, 33], [35, 32], [35, 33]], "z": 26} + } +} + +{ + "type": "sprite", + "name": "skull_jaw", + "size": [ + 48, + 48 + ], + "palette": "skull_bone", + "regions": { + "jaw_outline": {"polygon": [[11, 26], [13, 28], [16, 31], [20, 33], [25, 33], [28, 34], [37, 33], [37, 40], [35, 43], [29, 43], [25, 41], [21, 40], [15, 40], [12, 38], [11, 35]], "z": 0}, + "jaw_shadow": {"polygon": [[12, 28], [14, 30], [17, 33], [21, 35], [26, 34], [36, 34], [36, 40], [34, 42], [29, 42], [25, 40], [21, 39], [16, 39], [13, 37], [12, 34]], "z": 1}, + "jaw_side": {"polygon": [[12, 29], [15, 32], [19, 35], [24, 36], [26, 39], [22, 38], [17, 38], [14, 36], [13, 33]], "z": 2}, + "chin_plane": {"polygon": [[26, 35], [30, 36], [36, 35], [36, 40], [34, 42], [30, 42], [28, 40]], "z": 3}, + "chin_light": {"polygon": [[30, 36], [34, 36], [35, 38], [34, 40], [32, 42], [30, 40]], "z": 4}, + "jaw_rim": {"line": [[12, 28], [14, 31], [17, 33], [21, 35], [24, 35]], "z": 5}, + "lower_gum": {"line": [[25, 34], [28, 35], [36, 35]], "z": 6}, + "lower_tooth_0": {"rect": [26, 34, 1, 2], "z": 7}, + "lower_tooth_1": {"rect": [28, 35, 2, 2], "z": 8}, + "lower_tooth_2": {"rect": [30, 35, 2, 2], "z": 9}, + "lower_tooth_3": {"rect": [32, 35, 2, 2], "z": 10}, + "lower_tooth_4": {"rect": [34, 35, 2, 2], "z": 11}, + "lower_tooth_5": {"rect": [36, 34, 1, 2], "z": 12}, + "lower_tooth_gaps": {"points": [[29, 35], [29, 36], [31, 35], [31, 36], [33, 35], [33, 36], [35, 35], [35, 36]], "z": 13} + } +} + +{ + "type": "sprite", + "name": "skull_mouth_0", + "size": [ + 48, + 48 + ], + "palette": "skull_bone", + "regions": { + "mouth_cavity": {"polygon": [[12, 27], [20, 30], [27, 31], [36, 31], [36, 35], [27, 36], [21, 34], [15, 31]], "z": 0} + } +} + +{ + "type": "composition", + "name": "skull", + "size": [ + 48, + 48 + ], + "cell_size": [ + 48, + 48 + ], + "sprites": { + "H": "skull_cranium", + "M": "skull_mouth_0", + "J": "skull_jaw" + }, + "layers": [ + { + "map": [ + "M" + ] + }, + { + "map": [ + "J" + ] + }, + { + "map": [ + "H" + ] + } + ] +} + +// The head stays fixed; only the mandible moves. +{ + "type": "sprite", + "name": "skull_jaw_drop_1", + "size": [ + 48, + 48 + ], + "palette": "skull_bone", + "regions": { + "jaw_outline": {"polygon": [[11, 27], [13, 29], [16, 32], [20, 34], [25, 34], [28, 35], [37, 34], [37, 41], [35, 44], [29, 44], [25, 42], [21, 41], [15, 41], [12, 39], [11, 36]], "z": 0}, + "jaw_shadow": {"polygon": [[12, 29], [14, 31], [17, 34], [21, 36], [26, 35], [36, 35], [36, 41], [34, 43], [29, 43], [25, 41], [21, 40], [16, 40], [13, 38], [12, 35]], "z": 1}, + "jaw_side": {"polygon": [[12, 30], [15, 33], [19, 36], [24, 37], [26, 40], [22, 39], [17, 39], [14, 37], [13, 34]], "z": 2}, + "chin_plane": {"polygon": [[26, 36], [30, 37], [36, 36], [36, 41], [34, 43], [30, 43], [28, 41]], "z": 3}, + "chin_light": {"polygon": [[30, 37], [34, 37], [35, 39], [34, 41], [32, 43], [30, 41]], "z": 4}, + "jaw_rim": {"line": [[12, 29], [14, 32], [17, 34], [21, 36], [24, 36]], "z": 5}, + "lower_gum": {"line": [[25, 35], [28, 36], [36, 36]], "z": 6}, + "lower_tooth_0": {"rect": [26, 35, 1, 2], "z": 7}, + "lower_tooth_1": {"rect": [28, 36, 2, 2], "z": 8}, + "lower_tooth_2": {"rect": [30, 36, 2, 2], "z": 9}, + "lower_tooth_3": {"rect": [32, 36, 2, 2], "z": 10}, + "lower_tooth_4": {"rect": [34, 36, 2, 2], "z": 11}, + "lower_tooth_5": {"rect": [36, 35, 1, 2], "z": 12}, + "lower_tooth_gaps": {"points": [[29, 36], [29, 37], [31, 36], [31, 37], [33, 36], [33, 37], [35, 36], [35, 37]], "z": 13} + } +} + +{ + "type": "sprite", + "name": "skull_jaw_drop_3", + "size": [ + 48, + 48 + ], + "palette": "skull_bone", + "regions": { + "jaw_outline": {"polygon": [[11, 29], [13, 31], [16, 34], [20, 36], [25, 36], [28, 37], [37, 36], [37, 43], [35, 46], [29, 46], [25, 44], [21, 43], [15, 43], [12, 41], [11, 38]], "z": 0}, + "jaw_shadow": {"polygon": [[12, 31], [14, 33], [17, 36], [21, 38], [26, 37], [36, 37], [36, 43], [34, 45], [29, 45], [25, 43], [21, 42], [16, 42], [13, 40], [12, 37]], "z": 1}, + "jaw_side": {"polygon": [[12, 32], [15, 35], [19, 38], [24, 39], [26, 42], [22, 41], [17, 41], [14, 39], [13, 36]], "z": 2}, + "chin_plane": {"polygon": [[26, 38], [30, 39], [36, 38], [36, 43], [34, 45], [30, 45], [28, 43]], "z": 3}, + "chin_light": {"polygon": [[30, 39], [34, 39], [35, 41], [34, 43], [32, 45], [30, 43]], "z": 4}, + "jaw_rim": {"line": [[12, 31], [14, 34], [17, 36], [21, 38], [24, 38]], "z": 5}, + "lower_gum": {"line": [[25, 37], [28, 38], [36, 38]], "z": 6}, + "lower_tooth_0": {"rect": [26, 37, 1, 2], "z": 7}, + "lower_tooth_1": {"rect": [28, 38, 2, 2], "z": 8}, + "lower_tooth_2": {"rect": [30, 38, 2, 2], "z": 9}, + "lower_tooth_3": {"rect": [32, 38, 2, 2], "z": 10}, + "lower_tooth_4": {"rect": [34, 38, 2, 2], "z": 11}, + "lower_tooth_5": {"rect": [36, 37, 1, 2], "z": 12}, + "lower_tooth_gaps": {"points": [[29, 38], [29, 39], [31, 38], [31, 39], [33, 38], [33, 39], [35, 38], [35, 39]], "z": 13} + } +} + +{ + "type": "sprite", + "name": "skull_mouth_1", + "size": [ + 48, + 48 + ], + "palette": "skull_bone", + "regions": { + "mouth_cavity": {"polygon": [[12, 27], [20, 30], [27, 31], [36, 31], [36, 36], [27, 37], [21, 35], [15, 32]], "z": 0} + } +} + +{ + "type": "sprite", + "name": "skull_mouth_3", + "size": [ + 48, + 48 + ], + "palette": "skull_bone", + "regions": { + "mouth_cavity": {"polygon": [[12, 27], [20, 30], [27, 31], [36, 31], [36, 38], [27, 39], [21, 37], [15, 34]], "z": 0} + } +} + +{ + "type": "composition", + "name": "skull_talk_small", + "size": [ + 48, + 48 + ], + "cell_size": [ + 48, + 48 + ], + "sprites": { + "H": "skull_cranium", + "M": "skull_mouth_1", + "J": "skull_jaw_drop_1" + }, + "layers": [ + { + "map": [ + "M" + ] + }, + { + "map": [ + "J" + ] + }, + { + "map": [ + "H" + ] + } + ] +} + +{ + "type": "composition", + "name": "skull_talk_wide", + "size": [ + 48, + 48 + ], + "cell_size": [ + 48, + 48 + ], + "sprites": { + "H": "skull_cranium", + "M": "skull_mouth_3", + "J": "skull_jaw_drop_3" + }, + "layers": [ + { + "map": [ + "M" + ] + }, + { + "map": [ + "J" + ] + }, + { + "map": [ + "H" + ] + } + ] +} + +{ + "type": "animation", + "name": "skull_talking", + "frames": [ + "skull", + "skull_talk_small", + "skull_talk_wide", + "skull_talk_small" + ], + "duration": 120, + "loop": true +}