From e7fad3a9209642dcee9d44a91f1fe810444e72a8 Mon Sep 17 00:00:00 2001 From: TMHSDigital <154358121+TMHSDigital@users.noreply.github.com> Date: Sun, 13 Sep 2026 17:19:41 -0400 Subject: [PATCH] fix: restage campfire and stall showcase stills The shipped campfire clipped the floor under a 10-degree tilt; the stall was an empty frame with Lego goods. Sit the fire-ring flat and rebuild the stall as slatted timber so they read as props next to the well and crate. Signed-off-by: TMHSDigital <154358121+TMHSDigital@users.noreply.github.com> Co-authored-by: Cursor --- README.md | 4 +- ROADMAP.md | 4 +- docs/gallery/assets/campfire-hero.webp | Bin 33862 -> 26922 bytes docs/gallery/assets/market-stall-hero.webp | Bin 29232 -> 33548 bytes docs/gallery/campfire/index.html | 298 +++++++++++---------- docs/gallery/index.html | 4 +- docs/gallery/market-stall/index.html | 119 +++++--- showcase/campfire/README.md | 20 +- showcase/campfire/campfire.py | 292 ++++++++++---------- showcase/campfire/preview.webp | Bin 31906 -> 17670 bytes showcase/gallery.json | 4 +- showcase/market-stall/README.md | 19 +- showcase/market-stall/market_stall.py | 113 ++++++-- showcase/market-stall/preview.webp | Bin 27318 -> 20854 bytes 14 files changed, 514 insertions(+), 363 deletions(-) diff --git a/README.md b/README.md index 4b93baa..4da406b 100644 --- a/README.md +++ b/README.md @@ -78,8 +78,8 @@ Budget-conformance props. Not examples. Conventions: [`showcase/README.md`](show Shipping crate: a wooden slat crate with iron corner brackets on a dark studio floor, warm wedge on the back wall Stone well: a round brick well with a shingled pyramid roof on posts, rope and bucket, on a dark studio floor Wooden barrel: a staved barrel with iron hoops on a dark studio floor, warm wedge on the back wall -Campfire: a stone ring, crossed logs, and ash mound on a dark studio floor, warm wedge on the back wall -Market stall: a timber frame with a striped awning and counter on a dark studio floor, warm wedge on the back wall +Campfire: a two-course stone fire ring with a tripod of logs on a dark studio floor, warm wedge on the back wall +Market stall: a timber frame with post feet, slatted counter, rafters, and a striped awning on a dark studio floor, warm wedge on the back wall [`shipping-crate`](showcase/shipping-crate/) — procedural crate through UVs, bake, LOD, collider, and Unity glTF, asserting recomputed budgets. Falsifier `--skip-decimate` exits 9. diff --git a/ROADMAP.md b/ROADMAP.md index f6b0d95..814d086 100644 --- a/ROADMAP.md +++ b/ROADMAP.md @@ -109,8 +109,8 @@ Not committed; target list for the next content version. (v0.3.0 shipped the smo - ~~Showcase sibling tree + shipping-crate pilot~~ **SHIPPED** as `showcase/shipping-crate/` — budget-conformance crate composing bake, LOD, collider, Unity glTF; `--skip-decimate` exits 9 on the LOD1 ratio band; DECIMATE COLLAPSE ratios diverge on 5.2 vs 4.5/5.1 - ~~Round stone well showcase~~ **SHIPPED** as `showcase/stone-well/` — running-bond brick well, shingled pyramid roof, windlass/rope/bucket; `--skip-decimate` exits 9 on the LOD1 ratio band - ~~Wooden barrel showcase~~ **SHIPPED** as `showcase/wooden-barrel/` — bulged staves, four iron hoops, lid heads; `--skip-decimate` exits 9 on the LOD1 ratio band -- ~~Campfire showcase~~ **SHIPPED** as `showcase/campfire/` — cobble ring, ash mound, crossed logs; `--skip-decimate` exits 9 on the LOD1 ratio band -- ~~Market stall showcase~~ **SHIPPED** as `showcase/market-stall/` — timber frame, striped awning, counter; `--skip-decimate` exits 9 on the LOD1 ratio band +- ~~Campfire showcase~~ **SHIPPED** as `showcase/campfire/` — two-course fire ring, log tripod; `--skip-decimate` exits 9 on the LOD1 ratio band +- ~~Market stall showcase~~ **SHIPPED** as `showcase/market-stall/` — timber frame, slatted counter, striped awning; `--skip-decimate` exits 9 on the LOD1 ratio band - Procedural terrain or landscape showcase using Geometry Nodes scatter - Hero prop with a more complex silhouette (lantern or treasure chest) as a second showcase piece - Small modular kit showcase on recognizable geometry (`modular-kit-snap` contract) diff --git a/docs/gallery/assets/campfire-hero.webp b/docs/gallery/assets/campfire-hero.webp index b25c3b91a97195a638083b1e63092da71cf59535..3cf3e733981bff3fbd612f426ac8016168f823c0 100644 GIT binary patch literal 26922 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 Bsd@ka literal 33862 zcmV)sK$yQ$Nk&FKga80nMM6+kP&gnmga7~#bpxFNDgXu00zNSqibJ9yp&=$zn6N+w z32AQs$>|@@&cTpXm4dSX|2z6IikUVo`^tc=;TB z`}LMae^_}p`Csur`hU%P2>vnrxBQ3q&)y&Me-po(;-|L%&-5wx3+=!8f6V)R&pY-F zL4VWwbKtE&U)BDxKk#{t`!m=>`TzKCy+e%;FFdRO5<-{&B!w^lNeW;9ohhoYxpo-y zJ<02(f-r}k7XIg(YrFWE9>q7Jb2V9Z63vDGQ;mw{FaSvkU}W#x4c?$*0>M72bgYuY z(;g3=+Se`_WP3=Ci2_c600fYx00|$B> zCdvoLb+ut0!UK?KdJ6fhJu^v^nxTb2fej<0a&Bsd0Kk7 ze^8J&cl0Az>l+eN-(Pjn%FpG%e{k%~KV8QD@UvrcI3;{iCs8?wHu7kxhYhD{!-ow> zX<|=Q+_O;Ggg?V0$}bc&+UXgFFczuz4!j)}>#9EA@fa4^935OuJX14V99PRJWOnFf ztb1j_W(u4U)c?er6=$%$0)@GN>06{QAKXZ-{f%TMJm0(_&4tP>XgH7Ae~C5@;&V?o z-jr!i?L6wh=@4p_zFY_Q4$R#toyOG?1n>2lo#Lq!GbxU;vUH1dP_={CugNa-~Py zJ2P~qcql5fH%ezJDzi6AXDTYQHNJNnpMpqJ00fgf?l;N?lVZMdqN_6;zXX`&_$1g| zz;vzB7!GVuQ0&p?4$RoEoySf{&4tVT_Tkx^2z1L%1Q8Q97?j{sk~3i<1mD+j(~>iE zrgo*5TXM3+3#&0U@}Ctjw@6?=xOQg6eC{{*K}cI`k(&r{K}2_l zoJg(t3eOXBNrJs5%Lk)}ltfZaS;mwirK(fp%5)e?usS`pN&LQFJr{5If`1h=*~J9X zqXyvj5qdZDhKemnGoZE?AEV%@XEUb%SsAdofC5`XvoXA^wB{whvN4R!o!sY-- z_ACHJ|EJGrS1N6Ilm*d#f2yTVW=5Ftlpm0Y$~3DtvXKq4f26D z6h%g>js3&3H%e!Mf~+2k(-X5FOU0ycI{=b2-lCycUk>?gkm**6Kcc3N-3GDx{AoI5 z+bH@0QC}HFfY=Yc`ZA(TEjbExmohr!ce3A}^gc1}byacF4Tia(ocnR zlFZPgVqG-eOL)(%*4JKin2i70vj=T2ACo9Tmna8Z`D4fk|M+hfKg*lbBN)3%2~aqE z@O=34YJREW+HS!Ed$n+PPf5Z?qB`<8h5_I45phfwkDEG40|ft8Rof)jp>jL?KrPYF zHnA6?r8jcbS7qZexbRxj`t#LYb^3BKRG3(VA4{BgT_J$};n}0k9uG)Hpxu}R%T^n3 z>MKHT?2f{U26$ReHYUiFRJI#mWF+yO;1O<+?A4ayyw0(9Y;$ac9cz`59<&1e()T!Fc z|1NOs(dQ1#*j*ui;#XpY#G}X7#+&<{`Y;s?p&$_44w*;qrEFJQYXY`?znP~yN;Lc+ zh9hCam{2C{>>%uGOtyH`$Z~uw@`(5>qatL-Vw`OOk6wFV% zRjf$c*Z<&gll!OZ_N#yXSGQt+=8zy@vv2>>MI-X$Zb{2u8z}3$wdyqp6cVsDw&11C z#1(EBlyzaWhw0U3O@E{b*1pqasxNC=& zqJ#Kg8pRpZ&`hf+Ah}+iKWtNb*n8GNN#E%0zmgZ?zq*NhZTD*$NyEhy3Vu_|=JNTo zY=U%3v%p|7n^ay$TP^ghZ+`bV4c~?e@!l?XE@M!CaNQ{8|Mo)d=c^+1fKXbwvr_X> zkbr;C4U+XmBOf#SSWJ7`dp6?~s4nEGoAGG~OL{2+M}iuRGPF`Qd)iO(FkrbStUR3E z;r!RvxvN0{1)XE;c@SFP=;?r28&-qu~p@k8Rt*>SDWTRPIq+nD_G ze8cZzzM=N4r$!+E_FtSincv=@^@Tt`+hD6kD09w#`cwW>*PAsZkCdv1-isT*5v$rc zdi?t6$n&t_8^WOVEXvER`kev{2g-g_OOQQozBl(Cw|u_m@!`w$A!&d0jBhT^L1ei0z^04G~F?&@0|EOw3RODSDW$Ies<_>&7#&$_nT*BX!U|(m?$z5 zbPRM{C}02dwdZnc8B;E6&DJ3C`k;;MruuQV9T$5T)5rhx`*xjw{!)EPtN-ACAlJ5U z|J|McOY=nULI3|Bj;3#N34geRA^)b=i&y;Jsxs%pNWBx!9{aN1$UXrWF}0^Za2p#a zc-YEsD<%jE#fAc@g2sl_Rpj|-J@qxt08XxP1Rx$f?kO#5qc!m@9P3&E|Mf5m>#J|O z@{)Ev)pBQ0k|)^TJI2-{ z-HO`_%j~7!f~_dv3G4WW5gI9-vtmrxVo~aAUdKI|gGOI{TD%>b6>kh#+&uJjXQf&6 zp|kHO?M-T>b>BY(fWjbw4Mh2o{dmM&=uHO}rG{29Lpc6_{Zbd9a-i(-)}|=Mz@YtU zw1YqFtwH-9Z2x+04^}!an@`9e^v)Ss|LzlepZ{<>R{>e`Gn-HEH}_C;Jui&%;G5@i zd2tN*z68f-ML@4&ZYkj=!{I{#IG5l34|;MBf)h85&ff4OD`uvri@9ULTvwT(d3T-> zL7AM747bMQSb~~+4=9l(eNZWsQ;9my-d8J?6Tlq#!YNp=E=+a=h}r9=K421}M=U~E zlbN)Kvwh+~6!H?PzGCr|g(El^3z9`86npK%li%%k9WjmG-Riizg}IGE{m@Q-TI7!9 z?T~xIFYm45yj)fhL%5We_<1T@E|OR1-)OdS9f4R!F#{e06hUZ$wz4L{+H1FIVt(JP z*-52az+^skN&ogZCKxS?!IlMyYpzAS)=zhBkpmeWOCpC;@Z0Z|MP}1 zmhl&x%dg{(!hwt0*YQ(=Pvz|;y^8nRN4Ne#cHC#}UIYUtsg*=Wwg%v@xaF;c9k#r$ zRVNfgufszo!Fv4Paj`42+&!BxI5Xc3U~PpPfSq~l9R0Ci3Qk!n$tG8J^z^IH$0-S5 z{qXFqaHlPS`SNUI`w~CS5!1uaQ7d#P@UJ?W&g+{GI^%%ZYa@4a9q!xkCK}b#ekta} zI?8=ch;w`K#%Ll?2~9{{O`F<7i=!y#9EKeMvkBcEc)oT2-%XmOzs{6k0G80z;@gEw z4Pm3^iQbB-#^%H=vy&&Q&5YXsl=x}&%BkY-du5`$ucrBdH~Um=8muh5TjVRh7_>VU zn|lIsikS+4tW`~=WzP!>tMz0d?%iJh{KOBx+n^ykUAXqn`V7%{Wdj*5$vC4X|G%e} zh99S+C&fqS#P?@~NU!_C{`J?Dru~Zl|CvT;=M+Pk)JO2VT!p3J~P4dn}Eb^mf|cGTj?V%fs65Y)b0z-Z z{ck%Iw{iEoAiC$B!3IbdPuQ;u*sHj1F7W7O_K?hJtxa&mh>&ZzxTXAk`N#a$g@+to znR73U9gUO#?WU4s^_qkgP!jk!13Mmh7A}ofH%94wyv(^=uw1}Dx7;}7(hvW)Apc)9 z24Bvb5mk4|^X&wcvKYH(L_;BNxj`-KrJ+y!Ht(=NO$83>RO$ZC6>!76*Jam^S%=Oy z=(omGK>V^GcAng_HOzi=bv2?e*XVRK4RdziKga*+u;2X$|EvG%6m(?3lCFDyh&18P z^MS4t4Dy5j;GGR7_RhDBNoK&zE8$DJsy{=JnKFh`?g<+4%5&|fjZ-!uN<>_H1f0u) zsZp`^WCt?{xln{NJr$m6eoz{u<3b0=`WV9vnR@$zo&K&|y_}3{8h{Qbq1DaUBu$+J zZl+<*DSu%9AJBSEL~Z+AE9E~qEAk2df};0IXyuCQ-|2nBvo;uxw8f`ur3*7`AnZPp zG;VrYR=b0?yV)d*SO3LeNvH3kbYGsWP=n3)b~qVdMMF)$!QY>!56&iPUR6ees#?Ois`751m~O1t0chQ-4GM$pR*uihs~_6(Nk65%v1Q zatxQA_RFYw|M#1)geXGs!tT=PK1{^8L4$stKXHPEa~E`N29@fK5TfTv5KIqBJQ>sB zSwE1ooed?bb!l-lOe^AF9xHqME)+&}ECv;5Xns)@&X_Fqf9{QMmTcUn!wK-(qu&IN z8Zg`el)wQbG+gatAPEWXEQ&Eo83&+V`@8Cg{X zui-v~K=~G=gTpCuX&y3}lID*jynfyX0l1v%vKmwaYY@NSOFl?k?{BBqc>nB%LKPDD zy$H!E@N)WHc4U|&MPh<~*pJ6w{MV+_+7zA#M`Y*8+8l`CdG z%xfz5muyjBIt#HQ_CF8^U^vPz@6!tP!M7#CNuz$4E#q~fHWOwxpa4e`1ZE-R^@RN% z%wF3e4(D=sl;Bf6KLCG&(dDE(nn@S-vVwGR;W(&i+&bB(PauU>i%Uj!#udAc8qR=> zc?2UR(j9$Hha!8Jl*CpoMN})kPoJ>pv2tYVXS_js)5~7ppTgIskNabm^T+?q7^~^X zVPO*Zjw-@(BGw*Y_!Ze(H9Bhna%2EP=d)M-R9li_&B)>WmtAM+O{?2+=`7TEQpy}p z6T7Tz_o+F+FdMG9gTs`&bV;X_S{hcQKp>fo14ymccnw^5>>Pi4L1=EaiXPgGNz>(Q zczqrnJqiNE=0%NiUEfxH2tzFhs=ItD=^vqBkDI|9hClEdwhs<)vdFOKCS!K+AEcpjY_q4SmCqFG?4h*1Qc#)mnG?_w~nbBXPv|aIr zV187%rxPqfbU5+!GBa2XW1V219B2;KwOUc9OD4t)B2kj57L>1x*{KflKpV3se`BI! z-n6=%Vs5;wJPmS#=GCsuOd7bS-TfMJ?=u5o(#fXzJeVnDg5N^3ZT#h)(zCwAG;WH! zlXGG{jx@zlbR5lNJWaFCM}pc|N_;)&nm!U89dFor{)=Q^q``;hx*Bx%8UTlNZ)sKE zT}+7$5U+Un`&a2Oh7_rRn6ENsP~+VH*|*&-_pqA&t`2Q;3pw@rtp8jpv_m;-aLE6OC6O|cx(040xv(8-DY0EQbAj4N{e;F zvYT91E(s$F1_f}Tn^UvW3^>q3Hm8tJEx!UW_M$A#IopdP%`0#vaFz)=DV<+p*oTBFTr-tWI4?Z@9YRg^!gc zZFqiom1%?Z1jT=Iu+Zx5bQ}ylngBFjnFcb!6`khw`jy6u(uSAu*VknSEcK7H@tj2%S)>UrhpDi%0&FpKYF0r#VApW)dNgmi7|^}U?7Z12^Z`toTw{m| zE<90YInbeEj!W+lRJU-%hvA9N z%f3|x=Nc$qL>Um`y-;4%M-nOZotcSalEy3%q<-zer?v;$CkM_JulM)~AkYJ@`QY%v zG?&&THK2~UZ(#95FP+PZtFcEidbgQXA{HaHD%@6fhS^BRCo1UNM{v$-vi37ux(-Lx z{>JpszmNLN-=nbOC2=f0x{xW5v)tes$sC95fi=@i2W86avc@Q9AoMlK>|w?IvwHV{ zz?8bJi$G%%`xytR6>yXWri)rAUtSxg^=3$zKg^zpe5(c`lp|FC4puH9^|=d)L{z`1 zesjX;%0t{Z2(VyG3}wM_dKIBiVM<69P=M)MlE7XO@&CrMF5SaI)WQVU%L9v<4c*lh znQ#C|D?Ru8t;$aFFZ|jwU;EIU_xU-h>u2~C)gK~gopg0!QS>RW0lMy9bOxBJf@UK= zMw6qsWI=^G$7X(YzL@XJ$1#qU>+>fx#?xpZWJIZ}uv2|n#+mLRQ48&9^{f-3a+wtP zG}zk8BJ{%QHUjhxCpnLaC$nwRR(>IQ#yh8<21x`B6ai3YM4@%(;k)+)FB$iu@kYP(kie8uYUQ^>EeE?nuW zB>Qo{xBW`41ukR#^)*s`_6UzScs(H+d<2j>7jkl2mH+DSCTH!WZMMo?yhaxWYW3GN zlN5KQhO31cCFww4)s*FvPXnEJ3V+A{(#dZ@*%!{|$fLW>YxX>)r3eDuA!Oz#43>$( z&o)W0sP(su*M@ANk6f-c78#=;fu0Dev$hm3mr3?YLq}X z45rutwq%;p(4_C#rfd@ZPZ5HNJtN`9Y^Dfwow70-|3my+Dd}wQ{eoG4Ll$+#xB_IU zHZXbg!7t}pdGY&t)zA%9W&Hu^{S`*DW!$eN0X0-$rs=?^BxdPM=)O_1QXFz)#2=j5 z`?VF}6p7s5m^0!zV3p_R+lEULf4f496+vB@sw-I~e2^ZLX5`oAV1OV-LsC%;*ST8ViqA zv+n~p{Z*opl^9chaO};6%m+%`zyT!BJC_w%n+Ent_%u@3m~qL+V)X0Mj8P_rFR9F1 zEUX6{rU~RVhE}-8@2Et3+T|VY;xzlS?)-gA)s!g*UXqaL%Z^^M-=X02ga8skq%a@c zI`01fB!w^lNeW*{6(r?9;!JK5Rbvj%gX#@S8Zyi@6(Pp4BA~{c8#4bn->JBEX6a1s zH}?`Ne{>X((wqn)CTuQ{zthNr)<@WDWBEcFFfy^Q?(j+%a?*$R>%iOnFLz=DajlW} zv^Ea^bTx391B_biPpn3g6uw}w_YTb1VpD+xM9tEf+_cPQkr!DmKi38JHOak+^(3TDXgiUFyLo}LPxXI zIaBg;B99gIM~$b@6Q}@yRg4(kZNGPXG4<{Dfgj|hS!7?0OtkZYGJGOoWGmkf1RlsnGF{jid_;+}>)YO$^2ZH_Y>qgoDeq z8ovbMMGI%lLfPJnqrdwD?+_Ua(*OZSA>)jZ?+W(2Xn>g2WeFm)fWMcwvUK%xk&2$?WgRj8p zBIxq2UIAJ8Rd_EUunlfBr^@0qkrtg#v`WMEs|aD-5I(V>>ZvfmIoHSpaQG3Fn714u zG~j-mI4VMSC$hz>$y<~XVKbmaCx^~N;0s|%w3PUYnn<_xh5Q%1up+Gb<1X5%RkTOh zcJVj>2o9<;!hitXV$)%)fCnGbHg0%=n}0p9%I1Tlw0?~lqMmuVy`u9$ zKBxRL@6n)kas%Qf4AAh9=&T?B000TaLlUAE0!!O4==^ZdYNiwRX#CWqKEyI3#>XY_ z0)~JpR-hcr00}ezW55Hqt=OT+0000uunpD}bS#Jf002th000009Si^f0sDXe0001? zpa4l$W}9ksFPP8zKe`6o7qZ)-hPrf;3Ra*?9^|OVW|Qr+n8U3$U#sA(LQRMmrm4b3 zd>|Br(-3L49)QzD1t<=hxCMxQJ z#b&NjaI#?DB>jGjaktys4NDuDiTR;kpz zn>Jr|pPq6?^_1oa>@p(c^&oCk7=~?12BamW$i^9$JqkPc=j!E^beBP%}nG+XwDYEC|zLYo53nDGCSQs zf+%eYcYyOX`Xbh}@GhL_xzgT5V^vB4N=2(ZjIA1!eTxyrBJ0}%c zJ#tH5KVWT;cjRO!CHolyZo8T2bBznX=6#ec{lEj zMC8p`b)h&MuaKA7I(2$ZCSLR3fU^P^=%s@pO1R&Dy@UQf>e#E^#>96>hPFN}^u;cQh^O^i(TPPh7(^uLqCRuM_e6WQ`JHO-@D|z0a719I9 zIxIei5(*F&VG#gS{d#(KMAtLqTYgMqoTvwf@=#4BZxLC1L7 zue@rT*dg;fxyu5kV%<$W5jd3f^7WO6qEA)5ku;k}s>O0Ltbmjr@_;67&ygRl(fCfL z$?H6n307s+*QgB((9)TN>b7M+qT5O!0$Ue+ekMSDy+r(wu!o8wa@vlURU5cXAs7iA z8$5RW7g^0xMH;*a?K-++PuuM=qJukH z89_b)fpy-9rooBUXy^g;&HDE$3efT++cMHi#NHvg%?s49(J|D zb;8!;$AphxZyfxW%vA02yY5jQGcBbXWF`J#W}d9o-m25i2O&fum3+?+1Idy4-Mz?l!3@1C!_+^>Paim^$nN3Jiwx))bz6G{(1ZJVG_aK^GEzv8B`;8qGuYDx{%t! z<9rh6ytg@l;$_5@A$!JWJ%(x9I~Bxf&10%5yQkJgB`1;o1I|9gy12HeSNuS+EUbf| zO3MNoK8cJEPhuiADkYYF9ub;snW{h{<9k8yH z2T^}U$Kew7C%H5EMpO}=P2Zu_%0Uw7fIh>tKx8jDh;x&i$iy@P9DsU)t1!NvIWp?g z=T~&$Yv&0bxHA?z-{;mZ38^}dUQUfAn(NEpz)*eIb&!=XWFY@INi;8jU||22U1yx+ zF$Z)Hf0}%0Ufm)yNRV7VWs?_o|1irBt3u{5H8ZuTEOu zZ}64O+a80dR&euA}kMy3_lJl=UG_91H*?g+#xut{(^XK0|V#w;_1 zlpXNBRehVC38)YJDy;FZ6Rp5GC$=06@qM`1-97>KNsW@Hp73-J@S2^$uMbzBho!N~ z9DBlDLkLXopYzaq0e*OB0J^P1Rg500Wl%}Ts4E%g(1O&HFgjZtS+`8Q4wIDr-%{^m zoG|h0LD#aK`sy0sPE?QJlOG$i8@J?-rPH-5FQOoNB$L_8WfA%Y?ROC4Q93k*#jWU! zkvxvtB&b$v)jgxdH4e2>ip`F|K8~c@=DF6KCqFFxGF)O%>D`xza7eF);yNr{ zheW>4SnI=`7uS~Yp6sI_A`k7#1pC|DXT!L1*-#ah18)oKqtE+2i(l*kHz2Rc^zLPt zTa>i`l4_q&L!gh(K!|2%Fxs7s$QhYDCMRfP;n5sIXmXXSs3s^k^r=z0x($bLn`-f7 zJiAH4*SI2jC&NGI%s2SueZo%<{os_CI3p%DZ6J{w7*xXRr%AIM5aHO`g_@25e@D#U zDE~n5UrB(hKS0w6%9e-Ez|Nh4{dx5G%7I%oe;gGeA!K9+ka95j>y!gXR!FYbi_nDe z)Kjg8Bd{}Pgo)({(y?PaWvOptvQw5WN)*(08tkInE=>kx?<(fGRx{i;$sR=G&7W1G6)?p;Nl@B}8x3ZQD4clV$FDFcL6H`1CHT5#ilG1&!O(aHoVngr%I z3lPdUGR63o^t=;(Ng@2hoF#S{A5S$cK!7*PCMD`f000f={b|6*`%cT6Ogibr{21a8 z*y?-9O#u|pAg{*+D-d!3{MV)q8cv3H#;L|!RSvgu=>Nb1CVU_$^Pt7hOuDzl0iilO zPliwXnit=P#7_D|UNBL}P$%uxoZVN)pMD;9$zu_VZ-Ih>tv-U|ncbt2z-!Iug=h@M!mJd#r$J3 z1xgQ&skxLEeKgroC5^q^1}50BGu4B65f+uKB5onVL4NPeFl(NQUtQc%(5_=(c@pP0 zlV2}?dFdbgTtT(i60))aK>&91@m3pkjDd`nT|*hRe^a4DtSA9KvK_HON!#4JW?F|S1G-4!e!FsQOH}Kk>pZd zm5i2xlLC8ifDhu0&ZrI)ii0jJjP?YF9mXHW^p7a-z~kY#v{{x{h` zzT{GMEDBMBOIc~#P9q8fkfHpzmk@qa+sAIn@70pN>x zVzKLUyJ_Tc{b>?Z({6`xX?JM60hu9yKM-MVrFv2xtx&cgtJP?xH1cbRybJ*yvUN`R z9n=`byw~6-UvWu7;c}1KFjt4<0diYzHdY|o#@sT!y10pajFSqze5q8(*%CJto`X42 z>Sk;XaVn@TtClDL+gNW-nohuakKMw$`5_8tIrn(*^uDU$x`9Mip80lHIo@kiGFCiJ z8!-@x3&XNhG@gNsu{|G)1zCex30_^Lb!v~+k2>^8RFFo0BGNGq4{dfD^g!|)mxZq& z4ZA6K?#=+T-G;ORdHz)OGCE*3)m$qb%yJ2Ecc9R|v2jNl+J@k&FwedkQ2;S{4pi)& zZKRmy4E;^c_tHje9}Prlgqew2{!K#bc3e)L?>^T;e>Ye4driCA#cBN_k-}1->Uv0Q zjaXTgD@a(AB~dY;_32B!xQivc_n`sorH=c;fKY|XhKaAu04VX13jN|U{GyH@(sWD7 z5O8T6tDz{s9YJTsbYD;Wx3}-~BX8`DOlu5!*!Bvvg9XCGtt3QI-;_U?G}1bAnc~}(usan?`Dr0)3f3hdKF@nCcm?^>nWo))XoW(d^RkFh znQE|O$r8B=1NWca6D?472_wL4ccJ^>g!n3Y&t+hP>~MkxP=AXPDm^=}gRat}O%rU)K6OLJ)vMIByKem`_R6j>Fl$eMClMZX!xQZ^c8r<4B< zMN@PF{+3WBIBGMR_tI4ot7bC^E8NEE3D3Q}_JhP!Z_p3t?*wpgFqgLk7e;oO!N_oo zh_v1+5zp68EuJErB*s$zIlyV9a4fEio?DvFq%fGJ6B2Sr_+7Q~$ac7)k8`=+CDPXD zim7__|ElT((aK`F+ZAov5kZt4;Xgp246^l@b9J!d%UFjG$!}oChxHdVug8h~-O5jA ziy-g-00)PWEcDP(>q-;PPBz{(q4KiQe5;xcfLpnLC{vP^U~zFLJY@Kpg+1TXUm7v4 zWCJjRko>w-tN-Om6WZ5~$x9fUO}ZmAZeJAY>GYNU{wr|LWN@^srzkHq9`g&$>yDJv z13IdHfHKU(4&F9L59r+6763PI#0Jr%GAO0dUY{^h7t?CZ2z5O9s@buhB=((3@kk6b zsAk*OrC$O1;vl77eL8j*iK~UWQ!ym$%Y-wqZMm&aNtN34UU{}Stb_32oX&KYLe22i z$Vitx+t`$cmoF20vRyK1M7P&`Rry@;NDp%dI?yU``;0s;fy%hAp~1iEtLJm<{bbVJ zcq+YR>TEhzYC5gTaIPbe|;DjnffSOfDs8K>?2R2tT09lDdrujC-_K zm^VWiVXqUryoJCB3+7K4{FHj9N3n`c~VqTVH$N@bn zumo#}<|z2ZI~DfE`AIl}941_0?KH931QC00hodnrxZE2adNZOct?)0F{XUM;2Ebao zLtq0aTny3*zq9n-o-!>0NVg>Ba+L6miLE)7wy=D6A^|Ld%PyMqIE4_GDr#Qt5m!rl zF8evVc!?_k(*B$SqgV*My@YFAuVGZA5upa2;aqK5nZ0IqNrO!udlx(PW;rfJLM_OVBuDmfxz8B?f{AYzQ^i-6fn?U^Sv_g?kkKQ|fKixorJZB1 zqW(b$V?zunT!#xHm@LKQ!0?7TnLWl~m+9gQSC)69Mzy&w)J~-NgV3TjN(4`d++_|WZ<4Q)v^8s{td?r3uilg9AbW!3o zd4dzc+Os0~P$<-2lzw#Cu_wqLmg5J4lPS?0P?U4fY3gLi1VyH;&Q$olINQ4rhp+kD z@!q%^N@e-}jJ=FWNugadCH#cDvL>#a6289=5bm_^&-mR+FHW3cV57U9f!9}9|mFt zz>C`ohK#*zHT}smy^Qw$&%uIJcMIt!*DU{JW<&853jgA}%m)zf{`sBcLB7HE8ddoS zHzi+IblW{K=hUD^r*c!tZ=0-{Dj>lRQNSg_4_9nNjGZ7oMuZkPe*&2S(xecXUiKzC zko=%ZGT4xS|HCtD)gq1w6xM(MFBzrTBkP$9v5eg($u|3-z(-7e9q(JZq5|F9)`dv{ z{|@^pF5{%%-L_&Kt>Rh=G#6&U4QdEvUO}kffK(O^h4WXLiR_}&bg|dhDZ-W``)aLu z$cO8SYcyOyLS>OHt)q9!dnTlL9Fk7-i>qjT5GU+c4h9z6nNmQD+qo7uB;5-q#>+$k zI_xY{KmP9IWH-U9aM-7c#tR63=U%|etnd1u zuis2#P!1Ek@#{f$`%uh49|6~L#-QHEY3if(o>k-e=s2V%`(bT~Gw7T`lkXb{x&QF;0=}1tk_FyidW$YE#lbwsfasKooeH3H@Mt@Vss45(S{)k!b?G*{j)gq8X-Gt;`lcIdw zy*IJeS3kqGe`GFBn3GZ*8h!P#VDKqsm}C*fzyCbU2Ab;OZ5^8yR?3wIzWQ!oFv%(? zBKRk$6Ivw>dz%?Kg}ahQi){{f>L|>+igGX>UAp+%>TM@KKkV@jY>cGm>)vBz-fj~JXlu4eqMd)H=An~XqmFCtPd3F1aDCM~sT>caqAu(iy2%T&VCU8?) z06nY{^Rwqpw^xw*oiL0|3SR+GIB@yLq!u~)l=^;*^;H>sGcPEocp#5wu0s0oR zp!9=?h#~6gU49bBX)7lFiVJx#K7ph zfHLOO=g}_wM?6scr_Z*d74(Vw@AK+Tq41I%kv$ zty71DDRYWAh)D=Z)E?CKutnO8JMm;I^nr7pDIDZ<6vid7-Jfv|xnMR%B>LV{>=YqUWfH#O(74hYAw%# z%zABgXBD-nj+MAb#kVgEBN&4B$Ol!s@1m(U1U_!bBGk!Lh?bxmpfLEUVFh?mvZcs2v^>0W%sOJ}B4^tWQB%>Rlt=Z{~a(-?0$%zyJnlZ8=+5DJ}`+b@Z6m9ixH1 zhNZqwxz|%c9wOko9fK;NQW6$Z@Eb9X4I4C~*QTQAhQVuyN-dwl_*WAkpel_5mTZy7 zRZF2Py5 z7b)M`wqU|kTNH2Wc4T*%A!*|na1@m28>3b`kW2IXIs4h1^vSF}@B8@0A16cNZ7>EO8Rgz4; z)K~UVFXUPpn;&(Ok-B@knB1E8X6p=hQ=2mqPxgFqYSjo<=-LQzZbszQF(XFu%I7Fk zv%*WfW*D#9ia~dPXr_Yaih!;Vgo@QJdws;108?)O*9t~H-)Iy@-(%40?}@}90?SbD zr9exKAYdWufIV>OmZRcS^pmM``dNSzMl*hi=QBc_dH}l-T~G-}q@$zJyUyO4vhA15 zVP%&oG)ARVg>H%psa6F*;dCZ*CuS=S@qgdKR1+HTJuKYCc0joh&u&EyOYkWi@GTQi zc8FY^0IlrHMZHIl=s(-z!NE_@1gSd!$<+fF4__T&4;&`i7i$~A)4o?Uj6mB{`%;1B zjzxC!&2Sd~cfnc$wSO+~(bd7vgGQ8LON#KaS$?uQZ|D6CBv7_T-`BVTguI1iJU}O$ zvbfqM>-7wD6J%I^Qydg*tUA0}LUc^E`1VChFU9sd61a+x5m(xGJc7Al4SS%(rnYx# z(_sh3lMF-N9(ReeJ>c>s+ve-^TVIt;!ptShppy%7kHQy&M@fh;rDa5f>zYGmH!tow z-%Hq?Zpj1YM)~TtAW)`+^Ptph8r|AAXGH>wN=9eyX6K<+25!n)5tql(Sy4+{=)Rw}o#SD{3Ay$@gTt%m5gBsHfpw4v8$vxt#Cr(m!6FYdRKYAU~tm|d|+ zX>>zRm%K;LY=j?~s2KIN_|LQ?b)04BEZ;gL$N5wS9jyReVkd$Yz{`p>&e>z1M^l}qUrCq;At2c6g&$`vVZ%1R;I zmof(;0Ia*VtjU^6)g?wW32s>P`~U(Ld2$=pw2nDy?Pj{I18vT$tb+}H5>CI3a0PdD z<-QtyrOU6?D;{bL{aog9*N~7Lh_@{Vtra%ETlI|M>BEvukIzP}2yEg)c}-MmHD_wW zPWC0XK-uJqVx71LJozN{k^rC3?FU9s00LcaZxF-FIkU3Yweal_-6j8CIuT-ib?g+F zxvfa)vi%S+=P45pNUpmvL_kxB%-`N%ZW{q%MQ?cvV~bprLzAsoEq^=ulw1v7qAQL? zKAjobd`-aQ>{A|!JN}|{a%>lV9)|CuE!AectF>u5c3Qb`+AG+X7Ufy)o@ZDzB4s~p zt;1?06}y;fdmnNZ2l#1%TV)i~i`xF3`fTeYVI zRa^-OY)ZdEybB)HkaSCtoK<%~^Fxgn396cZ(cqr`n!SF{K#`+SZG1mctYaD0Mf~HO z&ZmGf9GLG*VxI)N``l6eI|{a*n_xE~Uk^o&Ba%HgPN_RT@wCEly-UC-WqakaE6=A74cxH30c60}^Yc$2=5`M};LlQ9@rssFgdw84>)-mpi3KI! zV>R}|B(E{s&peDHQ743FUFtcWCh32olkl^$0z00KZe8wBML%gGT&U|ujNbrkC?1{+ zeklO5RE2+_L3M&-GzHgrQ_Pk!EUCH&Kd-sRQ5a3tN*pP#$!r!c6ULmjdX z+4|OBVG${D#yd=>Wb`Zgu_T00y2aGv5WWSqWqNm&89*Y$FGCaF;cvefoEBKoIWB20 z`A=!?RDqg%wG6?%K}(?}s~jp_t#TttKGRb=BRt&688=#AhlI9+Qgi$-4_lNr^ufrs z7Qf~vLERGgMO^?rK*GP7+oB)HD1*ghTYD{SczE1t4aO3a;Y~}TXr(2%!g}XB@PASB z!W?TUR10W2HzW31C_)1S?T>Um<&MU@~;rd zX)9Q5KMSCN``l#D>M?n+c3_|u@S>u<5r~FG4~MKf%IG>j=WhsN*Oc;EbE-++yWg3l zO${V!xZUo954lp9qm3e&`oz)_W|4EU!xDX?ePgUHg~};9*2?1?c+(VHpK)JYHLI3v z^ZrTmhB`S5;@wo5>PtBQq1HX6fd^P)ApPPEH*n{zGKmx1p2=)2$lWbqL~^!^$t4GL zL-rbNpBE|y^?Z@WDlZ~QdMcp#!pHa(M*wLJ2t-v@(DI8j@9bg|H zX|XGTJi0X%4|!`~W~P@q4K*6&Lo4N21#69j{bsS#VtC%Y)3)AfkOBQHqRlkzGqKCm+!w&m|OqWGyD0cvAL5-*k!m zX6MjJhhHz#srT4ji@+DU7{9&mS%AYgtmK)N+8q$ik92ux;`?3&3Bi=F8wcy;4&V+@ zh=|ey-4xKG*L3n!i-uln+6^Om+}EGYn9N>}$nb)9q5h9z8RX3&WQ=`N!H>lLPy7f5NBGoIQJ@>b%Yf8!v|dH>$)QKzPqD?;Fz@xIxd>~>p%!2u14f3)e- z^42sbZoXZ*tE`2FJ_=TW7u_?hLuvMKL(D(BI@v33v(7QkS=_2B zW(O;?zLE463UZvXot{kb9%y_xpgVq4j59f?oy$8&+84S4+h!Ue zR{sRZ(r&?t*tjf5@_c|RADdU{g%*8#1RoDGtiU31KJ)|n^qNg$Hvtz6HQ-=3l<<)B zm7B8E%xCt_x&{Tu?7Xs$wp&>TvLk)LFS|RxRA^@;-w{8nvZ@$s;GQg|p{{{pCBnIU zozfJWp(>(XP{^A6%kwl9;AJifZkQZ7U{b}X~*2th8oesl(=A6nktIHBwayXBXo=yb? zt_~4cWp_U2wE()VhWMr@eZ8^7b>zY#sYQzszz3qWVTTgHL;2q22B?GdmrKXhijxl& z`54cF_iC*mz>)^4q#6*bS zderB5L`;jhIFH4q)a4iWb_*~h$_IG{Eo^`#WPH&Q4=Y2UCn#whhovn3&)GY?bF7L! zjdA8%VxRKBqcrf*-BPlqv`>J|vMw+8Zes@#x)71t6Sl{dx{&5&{P%QJf;~t7fC8&+ zW{Me~H*?{EYR<`&vFKyp`z%6}9|RNexxIdchn6TNyX}j3F!o=)L?RJL4j)Ug7$-(70Na&}2U;cYZ5dCQYMh>JKkgikL| zoFv=KGYcurTKkKm53^YEv5J~jg1xR(7A(CR>Uf226bjp0UC(1aem(hJVdsAD-ryM0 zXiwPUESilZT

WXOI_{c0Q~rA9m=^j0Kc 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 diff --git a/docs/gallery/assets/market-stall-hero.webp b/docs/gallery/assets/market-stall-hero.webp index 46d7fad0f765fc016e72677d13d4196d45335c94..4ab4f3d02323f79a603eadfac4049161ee7fe540 100644 GIT binary patch literal 33548 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

xCdbvTN>f?_KT7aL{zreR7kbO@c% zG3zu-2sICBItcF^pml6zw9BzFTsQ)Ylnr>riW~eZBE)C1flntMqzJuI$A_?Z?c1L~ z>QziAzr>wankwGF#Vd6w{oPNh4S9Gq;(XG4x!eJo0%iTgbI_uIXhC1P8S@Puy-~F- zxw@6^+vf#@c4mClDqQ|6_rj_xQtKevKqbHc4;}=i6aqUy3r;B}mN-Zg;K?9R5uMDD z&7Qz8ejRl&=#_)qVk{4(5Nb)e z=$BT0IAVHHNw(%<G z>4@p`%J|cr6<@uAO4B4L z;LxA{smFf_KApL)cxnD+iO#+aHK9ztX(ijdGU1IH>yOk}1BPmbuB4t6t3v*VLY?3M z0XG8cghhY@cL_)wX+!QzT)`E!+;rUj_-C6kp%~kL^%b8eFm8kl&` z9c}<6E#?)u4!wZwf9>0E??3`2YX_ literal 29232 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 XFaT!(*Tf;>a>ha7@9jcampfire campfire render

    Rendered headless by the example itself — click to zoom.

    -
    witnesses Recomputed: 7528 tris, three materials with 116 wood and 18 ash faces, UVs in 0..1 with zero AABB overlap, outer AABB 0.964×0.950×0.252 m, LOD ratios in band, convex collider 105 tris, non-empty glTF. --skip-decimate exits 9 on the LOD1 ratio budget.
    +
    witnesses Recomputed: 3616 tris, three materials with 100 wood and 48 ash faces, UVs in 0..1 with zero AABB overlap, outer AABB 0.789×0.789×0.410 m, LOD ratios in band, convex collider 254 tris, non-empty glTF. --skip-decimate exits 9 on the LOD1 ratio budget.
    blender --background --python showcase/campfire/campfire.py --
    -

    A showcase piece, not an example. Procedural campfire (flattened cobble ring, inner stones, ash mound, crossed logs, sticks, charcoal) then the shipped pipeline: unique-cell UVs, Cycles high-to-low normal bake, LOD chain, convex collider, Unity glTF export.

    +

    A showcase piece, not an example. Procedural campfire (two-course running-bond stone ring, pit-floor cobbles, ash, a log tripod, and charcoal) then the shipped pipeline: unique-cell UVs, Cycles high-to-low normal bake, LOD chain, convex collider, Unity glTF export.

    It asserts budget conformance of the generated result. It does not witness an API contract. "It rendered without error" is not a check.

    Composes skills mesh-editing-and-bmesh, bake-high-to-low, depsgraph-and-evaluated-data, engine-export-presets, and snippets bake_normal_high_to_low.py, setup_bake_target_image.py, lod_chain.py / decimate_to_budget.py, convex_hull_collider.py, export_preset_unity.py (helpers copied, not imported as a package).

    Budgets

    Declared as named constants; every gate recomputes from the mesh, materials, UVs, evaluated LOD, collider, or export file.

    -

    | Axis | Declared | Measured (4.5.11 / 5.1.2 / 5.2.1) | | --- | --- | --- | | Base triangles | 7400–7650 | 7528 / 7528 / 7528 | | LOD1 ratio | 0.32–0.62 of base | 0.5000 / 0.5000 / 0.5000 | | LOD2 ratio | 0.10–0.35 of base | 0.2200 / 0.2200 / 0.2200 | | Materials | exactly 3 distinct, ≥24 wood faces, ≥8 ash faces | 3 slots, 116 wood, 18 ash | | UVs | in 0..1, AABB overlap ≤ 1e-5 | in range, overlap 0 | | Outer AABB | (0.964, 0.950, 0.252) m ± 0.01 | (0.9641, 0.9495, 0.2521), zmin 0 | | Collider tris | ≤ 160 | 105 | | Export | written, size > 0 | 548944 / 548944 / 548936 bytes |

    +

    | Axis | Declared | Measured (4.5.11 / 5.1.2 / 5.2.1) | | --- | --- | --- | | Base triangles | 3500–3750 | 3616 / 3616 / 3616 | | LOD1 ratio | 0.32–0.62 of base | 0.5000 / 0.5000 / 0.5000 | | LOD2 ratio | 0.10–0.35 of base | 0.2196 / 0.2196 / 0.2196 | | Materials | exactly 3 distinct, ≥24 wood faces, ≥8 ash faces | 3 slots, 100 wood, 48 ash | | UVs | in 0..1, AABB overlap ≤ 1e-5 | in range, overlap 0 | | Outer AABB | (0.789, 0.789, 0.410) m ± 0.01 | (0.7891, 0.7891, 0.4099), zmin 0 | | Collider tris | ≤ 320 | 254 | | Export | written, size > 0 | 273604 / 273604 / 273596 bytes |

    DECIMATE COLLAPSE triangle counts are not guaranteed identical across series — the gate is a ratio band, not an exact count. This mesh happened to match on 4.5.11 / 5.1.2 / 5.2.1. Bake pixels are stochastic; the gate is has_data plus operator FINISHED, not byte-identity. Construction uses no RNG. glTF byte size differs by a few bytes across series.

    --skip-decimate skips the LOD DECIMATE stage so LOD1 ratio is 1.0 and exit 9 fires. That is the named budget the falsifier violates.

    Run

    @@ -321,25 +321,28 @@

    Source

    sys.dont_write_bytecode = True import gallery_framing # noqa: E402 -N_RING = 12 -RING_R = 0.40 -N_INNER = 7 -INNER_R = 0.22 -ASH_R = 0.26 -ASH_H = 0.055 -N_LOGS = 4 -LOG_LEN = 0.50 -LOG_R = 0.040 +N_AROUND = 12 +N_ROWS = 2 +R_INNER = 0.28 +STONE_D = 0.11 +R_OUTER = R_INNER + STONE_D +R_MID = (R_INNER + R_OUTER) / 2.0 +WALL_H = 0.155 +STONE_H = WALL_H / N_ROWS +N_FLOOR = 6 +N_ASH = 7 +N_LOGS = 2 +LOG_LEN = 0.34 +LOG_R = 0.032 N_STICKS = 3 -STICK_LEN = 0.38 -STICK_R = 0.016 +STICK_R = 0.030 N_COALS = 5 BBOX_TOL = 0.01 # Fitted to the generated AABB after locking geometry. Recomputed from bound_box. -OUTER_SIZE = (0.964, 0.950, 0.252) +OUTER_SIZE = (0.789, 0.789, 0.410) -BASE_TRIS_MIN = 7400 -BASE_TRIS_MAX = 7650 +BASE_TRIS_MIN = 3500 +BASE_TRIS_MAX = 3750 LOD1_RATIO_MIN = 0.32 LOD1_RATIO_MAX = 0.62 LOD2_RATIO_MIN = 0.10 @@ -349,7 +352,7 @@

    Source

    MATERIAL_COUNT = 3 UV_EPS = 1e-4 UV_OVERLAP_MAX = 1e-5 -COLLIDER_TRIS_MAX = 160 +COLLIDER_TRIS_MAX = 320 BAKE_RES = 256 CAGE_EXTRUSION = 0.06 @@ -398,21 +401,26 @@

    Source

    return verts -def add_cobble(bm, loc, scale, mat_idx, euler=(0.0, 0.0, 0.0), lump=0.22): - geo = bmesh.ops.create_icosphere(bm, subdivisions=1, radius=0.5) - verts = list(geo["verts"]) - rot = Euler(euler).to_matrix() +def add_rock(bm, loc, scale, mat_idx, euler=(0.0, 0.0, 0.0), lump=0.0): + # Bevelled boxes, same language as stone-well masonry — not icospheres. + # Subdiv-1 icos read as d20s at thumbnail regardless of smooth shading. + verts = add_box(bm, loc, scale, mat_idx, euler) + if lump <= 0.0: + return verts origin = Vector(loc) + rot = Euler(euler).to_matrix() + inv = rot.inverted() for v in verts: - p = Vector((v.co.x * scale[0], v.co.y * scale[1], v.co.z * scale[2])) - h = math.sin(p.x * 19.7 + p.y * 13.3) * math.cos(p.z * 17.1 + p.x * 7.9) - h += 0.40 * math.sin(p.y * 31.0 + p.z * 23.0) - h = max(-0.80, min(0.80, h)) - p = p * (1.0 + lump * h) - v.co = rot @ p + origin - faces = {f for v in verts for f in v.link_faces} - for f in faces: - f.material_index = mat_idx + local = inv @ (v.co - origin) + h = math.sin(local.x * 15.7 + local.y * 11.3 + local.z * 9.1) + h += 0.35 * math.cos(local.y * 21.0 + local.x * 8.0) + h = max(-0.85, min(0.85, h)) + local = Vector(( + local.x * (1.0 + lump * h), + local.y * (1.0 + lump * 0.65 * math.sin(local.z * 13.0 + 1.2)), + local.z * (1.0 + lump * 0.40 * h), + )) + v.co = rot @ local + origin return verts @@ -484,151 +492,159 @@

    Source

    ) -def _stone_size(i, base_xy, base_z, k): - sx = base_xy[0] + 0.035 * abs(math.sin(i * 2.17 + k)) - sy = base_xy[1] + 0.028 * abs(math.cos(i * 1.73 + k * 0.7)) - sz = base_z + 0.038 * abs(math.sin(i * 1.11 + k * 1.3)) - return sx, sy, sz - - def build_campfire_mesh(name, bevel_offset, bevel_segments): bm = bmesh.new() - bevel_verts = [] - ash_faces = set() - wood_faces = set() try: - for i in range(N_RING): - ang = 2.0 * math.pi * i / N_RING - sx, sy, sz = _stone_size(i, (0.175, 0.138), 0.070, 0.2) - r = RING_R + 0.028 * math.sin(i * 1.9) - loc = (r * math.cos(ang), r * math.sin(ang), sz / 2.0) - tilt = ( - math.radians(18.0 * math.sin(i * 0.7)), - math.radians(14.0 * math.cos(i * 1.3)), - ang + math.radians(22.0 * math.sin(i * 1.1)), - ) - bevel_verts.extend( - add_cobble(bm, loc, (sx, sy, sz), STONE_IDX, euler=tilt, lump=0.24) + # Two-course running-bond ring — same masonry as stone-well, not a + # circle of cubes or icos. Bevel stone edges only; logs go on after. + stone_verts = [] + stone_w = 2.0 * R_MID * math.tan(math.pi / N_AROUND) * 0.88 + actual_h = STONE_H * 0.90 + for row in range(N_ROWS): + z = actual_h / 2.0 + row * STONE_H + rot_off = (row % 2) * (math.pi / N_AROUND) + for i in range(N_AROUND): + ang = 2.0 * math.pi * i / N_AROUND + rot_off + loc = (R_MID * math.cos(ang), R_MID * math.sin(ang), z) + stone_verts.extend( + add_box( + bm, + loc, + (STONE_D, stone_w, actual_h), + STONE_IDX, + euler=(0.0, 0.0, ang), + ) + ) + + for i in range(N_FLOOR): + ang = 2.0 * math.pi * i / N_FLOOR + 0.22 + r = 0.11 + 0.02 * (i % 2) + sz = 0.032 + 0.008 * (i % 3) + loc = (r * math.cos(ang), r * math.sin(ang), sz * 0.50) + stone_verts.extend( + add_box( + bm, + loc, + (0.078, 0.058, sz), + STONE_IDX, + euler=(0.0, 0.0, ang), + ) ) - for i in range(N_INNER): - ang = 2.0 * math.pi * i / N_INNER + 0.31 - sx, sy, sz = _stone_size(i, (0.100, 0.082), 0.048, 1.4) - r = INNER_R + 0.018 * math.cos(i * 1.4) - loc = (r * math.cos(ang), r * math.sin(ang), sz / 2.0) - tilt = ( - math.radians(12.0 * math.cos(i * 0.9)), - math.radians(10.0 * math.sin(i * 1.5)), - ang + 0.4, - ) - bevel_verts.extend( - add_cobble(bm, loc, (sx, sy, sz), STONE_IDX, euler=tilt, lump=0.20) + if bevel_offset > 0.0: + edges = list({e for v in stone_verts for e in v.link_edges}) + bmesh.ops.bevel( + bm, + geom=edges, + offset=bevel_offset, + segments=bevel_segments, + profile=0.5, + affect="EDGES", + clamp_overlap=True, ) - before = set(bm.faces) - add_cone( + add_rock( bm, - (0.0, 0.0, ASH_H / 2.0), - ASH_R, - 0.055, - ASH_H, - 16, + (0.0, 0.0, 0.014), + (0.10, 0.09, 0.024), ASH_IDX, + lump=0.14, ) - ash_faces.update(set(bm.faces) - before) + for i in range(N_ASH): + ang = 2.0 * math.pi * i / N_ASH + 0.18 + r = 0.022 + 0.040 * ((i % 4) / 3.0) + sz = 0.016 + 0.010 * abs(math.sin(i * 1.7)) + loc = (r * math.cos(ang), r * math.sin(ang), sz * 0.50) + add_rock( + bm, + loc, + (0.032 + 0.006 * (i % 3), 0.026, sz), + ASH_IDX, + euler=(0.0, 0.0, ang), + lump=0.16, + ) for i in range(N_LOGS): yaw = i * (math.pi / 2.0) + math.radians(18.0) loc = ( - 0.045 * math.cos(yaw + math.pi / 4.0), - 0.045 * math.sin(yaw + math.pi / 4.0), - LOG_R + 0.020 + 0.012 * (i % 2), + 0.04 * math.cos(yaw + math.pi / 2.0), + 0.04 * math.sin(yaw + math.pi / 2.0), + LOG_R + 0.018 + 0.012 * i, ) - before = set(bm.faces) - verts = add_cylinder( + add_cone( bm, loc, - LOG_R * (1.0 - 0.08 * (i % 2)), + LOG_R * (1.0 - 0.04 * i), + LOG_R * 0.88, LOG_LEN, 12, WOOD_IDX, euler=(math.pi / 2.0, 0.0, yaw), ) - bevel_verts.extend(verts) - wood_faces.update(set(bm.faces) - before) + # Teepee aimed at a shared apex so the sticks read as one fire, not + # four independent posts. Cone local +Z tracks base -> apex. + z_apex = WALL_H + 0.24 + z_base = 0.040 + r_base = R_INNER - 0.05 for i in range(N_STICKS): - yaw = i * (2.0 * math.pi / N_STICKS) + 0.55 - pitch = math.radians(32.0 + 6.0 * math.sin(i * 1.7)) - loc = ( - 0.07 * math.cos(yaw), - 0.07 * math.sin(yaw), - 0.055 + STICK_R, - ) - before = set(bm.faces) - verts = add_cylinder( + yaw = i * (2.0 * math.pi / N_STICKS) + math.pi / 2.0 + base = Vector(( + r_base * math.cos(yaw), + r_base * math.sin(yaw), + z_base, + )) + apex = Vector((0.0, 0.0, z_apex)) + delta = apex - base + mid = (base + apex) * 0.5 + rot = delta.to_track_quat("Z", "Y").to_euler() + add_cone( bm, - loc, + (mid.x, mid.y, mid.z), STICK_R, - STICK_LEN, - 8, + STICK_R * 0.88, + delta.length, + 12, WOOD_IDX, - euler=(math.pi / 2.0 - pitch, 0.0, yaw), + euler=(rot.x, rot.y, rot.z), ) - bevel_verts.extend(verts) - wood_faces.update(set(bm.faces) - before) for i in range(N_COALS): - ang = 2.0 * math.pi * i / N_COALS + 0.2 - r = 0.07 + 0.025 * (i % 2) - sz = 0.028 + 0.010 * abs(math.sin(i * 2.2)) - loc = (r * math.cos(ang), r * math.sin(ang), ASH_H * 0.55 + sz / 2.0) - before = set(bm.faces) - verts = add_box( + ang = 2.0 * math.pi * i / N_COALS + 0.11 + r = 0.030 + 0.022 * (i % 3) + sz = 0.014 + 0.008 * abs(math.sin(i * 2.2)) + loc = (r * math.cos(ang), r * math.sin(ang), 0.022 + sz / 2.0) + add_rock( bm, loc, - (0.040, 0.028, sz), + (0.026, 0.020, sz), WOOD_IDX, euler=(0.0, 0.0, ang), - ) - bevel_verts.extend(verts) - wood_faces.update(set(bm.faces) - before) - - if bevel_offset > 0.0: - edges = list({e for v in bevel_verts for e in v.link_edges}) - bmesh.ops.bevel( - bm, - geom=edges, - offset=bevel_offset, - segments=bevel_segments, - profile=0.5, - affect="EDGES", - clamp_overlap=True, + lump=0.18, ) - zmin = min(v.co.z for v in bm.verts) - if zmin != 0.0: - for v in bm.verts: - v.co.z -= zmin + for v in bm.verts: + if v.co.z < 0.0: + v.co.z = 0.0 pack_uvs(bm) bmesh.ops.recalc_face_normals(bm, faces=list(bm.faces)) for face in bm.faces: - face.smooth = True + face.smooth = face.material_index == WOOD_IDX for edge in bm.edges: - edge.smooth = True - if edge.is_manifold and len(edge.link_faces) == 2: - if edge.calc_face_angle() > math.radians(35.0): - edge.smooth = False - for f in ash_faces: - if f.is_valid: - f.material_index = ASH_IDX - for f in wood_faces: - if f.is_valid: - f.material_index = WOOD_IDX + mats = {f.material_index for f in edge.link_faces} + if WOOD_IDX in mats and STONE_IDX not in mats and ASH_IDX not in mats: + edge.smooth = True + if edge.is_manifold and len(edge.link_faces) == 2: + if edge.calc_face_angle() > math.radians(38.0): + edge.smooth = False + else: + edge.smooth = False me = bpy.data.meshes.new(name) bm.to_mesh(me) me.update() + for poly in me.polygons: + poly.use_smooth = poly.material_index == WOOD_IDX finally: bm.free() obj = bpy.data.objects.new(name, me) @@ -785,11 +801,11 @@

    Source

    def check(skip_decimate): bpy.ops.wm.read_factory_settings(use_empty=True) - low = build_campfire_mesh("CampfireLow", bevel_offset=0.006, bevel_segments=2) - high = build_campfire_mesh("CampfireHigh", bevel_offset=0.006, bevel_segments=4) - stone = principled("CampfireStone", (0.46, 0.40, 0.34, 1.0), 0.0, 0.72) - wood = principled("CampfireWood", (0.14, 0.075, 0.040, 1.0), 0.0, 0.78) - ash = principled("CampfireAsh", (0.28, 0.26, 0.24, 1.0), 0.0, 0.90) + low = build_campfire_mesh("CampfireLow", bevel_offset=0.010, bevel_segments=2) + high = build_campfire_mesh("CampfireHigh", bevel_offset=0.010, bevel_segments=4) + stone = principled("CampfireStone", (0.40, 0.42, 0.46, 1.0), 0.0, 0.84) + wood = principled("CampfireWood", (0.48, 0.22, 0.07, 1.0), 0.0, 0.50) + ash = principled("CampfireAsh", (0.12, 0.11, 0.10, 1.0), 0.0, 0.94) assign_slots(low, stone, wood, ash) assign_slots(high, stone, wood, ash) @@ -942,8 +958,8 @@

    Source

    ob.hide_render = True ob.hide_viewport = True - low.rotation_euler.z = math.radians(-36.0) - low.rotation_euler.x = math.radians(4.0) + low.rotation_euler.z = math.radians(-28.0) + low.rotation_euler.x = math.radians(0.0) floor_me = bpy.data.meshes.new("Floor") bm = bmesh.new() @@ -989,10 +1005,10 @@

    Source

    cam_data = bpy.data.cameras.new("Cam") cam_data.lens = 50.0 cam = bpy.data.objects.new("Cam", cam_data) - cam.location = (0.96, -1.33, 0.69) + cam.location = (0.99, -1.42, 0.93) scene.collection.objects.link(cam) aim = bpy.data.objects.new("Aim", None) - aim.location = (0.0, 0.0, 0.10) + aim.location = (0.0, 0.0, 0.16) scene.collection.objects.link(aim) con = cam.constraints.new("TRACK_TO") con.target = aim diff --git a/docs/gallery/index.html b/docs/gallery/index.html index 4c44b92..92694c5 100644 --- a/docs/gallery/index.html +++ b/docs/gallery/index.html @@ -925,7 +925,7 @@

    wooden-barrel

    campfire

    A procedural campfire through UVs, bake, LOD, collider, and Unity glTF, asserting recomputed budgets rather than an API contract.

    -

    witnesses Recomputed: 7528 tris, three materials with 116 wood and 18 ash faces, UVs in 0..1 with zero AABB overlap, outer AABB 0.964×0.950×0.252 m, LOD ratios in band, convex collider 105 tris, non-empty glTF. --skip-decimate exits 9 on the LOD1 ratio budget.

    +

    witnesses Recomputed: 3616 tris, three materials with 100 wood and 48 ash faces, UVs in 0..1 with zero AABB overlap, outer AABB 0.789×0.789×0.410 m, LOD ratios in band, convex collider 254 tris, non-empty glTF. --skip-decimate exits 9 on the LOD1 ratio budget.

    View example
    @@ -936,7 +936,7 @@

    campfire

    market-stall

    A procedural timber market stall through UVs, bake, LOD, collider, and Unity glTF, asserting recomputed budgets rather than an API contract.

    -

    witnesses Recomputed: 2244 tris, three materials with 48 faces per awning stripe slot, UVs in 0..1 with zero AABB overlap, outer AABB 1.360×0.964×1.743 m, LOD ratios in band, convex collider 28 tris, non-empty glTF. --skip-decimate exits 9 on the LOD1 ratio budget.

    +

    witnesses Recomputed: 4404 tris, three materials with 48 faces per awning stripe slot, UVs in 0..1 with zero AABB overlap, outer AABB 1.392×0.966×1.743 m, LOD ratios in band, convex collider 46 tris, non-empty glTF. --skip-decimate exits 9 on the LOD1 ratio budget.

    View example
    diff --git a/docs/gallery/market-stall/index.html b/docs/gallery/market-stall/index.html index 0d54ced..b7bcce6 100644 --- a/docs/gallery/market-stall/index.html +++ b/docs/gallery/market-stall/index.html @@ -253,18 +253,18 @@

    market-stall

    market-stall render

    Rendered headless by the example itself — click to zoom.

    -
    witnesses Recomputed: 2244 tris, three materials with 48 faces per awning stripe slot, UVs in 0..1 with zero AABB overlap, outer AABB 1.360×0.964×1.743 m, LOD ratios in band, convex collider 28 tris, non-empty glTF. --skip-decimate exits 9 on the LOD1 ratio budget.
    +
    witnesses Recomputed: 4404 tris, three materials with 48 faces per awning stripe slot, UVs in 0..1 with zero AABB overlap, outer AABB 1.392×0.966×1.743 m, LOD ratios in band, convex collider 46 tris, non-empty glTF. --skip-decimate exits 9 on the LOD1 ratio budget.
    blender --background --python showcase/market-stall/market_stall.py --
    -

    A showcase piece, not an example. Procedural timber stall (posts, slanted side plates, counter with apron and shelf, backboard, striped awning and valance) then the shipped pipeline: unique-cell UVs, Cycles high-to-low normal bake, LOD chain, convex collider, Unity glTF export.

    +

    A showcase piece, not an example. Procedural timber stall (posts with feet, slanted rafters, slatted counter and shelf, back-wall planks, eave fascia, striped awning and valance) then the shipped pipeline: unique-cell UVs, Cycles high-to-low normal bake, LOD chain, convex collider, Unity glTF export.

    It asserts budget conformance of the generated result. It does not witness an API contract. "It rendered without error" is not a check.

    Composes skills mesh-editing-and-bmesh, bake-high-to-low, depsgraph-and-evaluated-data, engine-export-presets, and snippets bake_normal_high_to_low.py, setup_bake_target_image.py, lod_chain.py / decimate_to_budget.py, convex_hull_collider.py, export_preset_unity.py (helpers copied, not imported as a package).

    Budgets

    Declared as named constants; every gate recomputes from the mesh, materials, UVs, evaluated LOD, collider, or export file.

    -

    | Axis | Declared | Measured (4.5.11 / 5.1.2 / 5.2.1) | | --- | --- | --- | | Base triangles | 2140–2350 | 2244 / 2244 / 2244 | | LOD1 ratio | 0.32–0.62 of base | 0.5000 / 0.5000 / 0.5000 | | LOD2 ratio | 0.10–0.35 of base | 0.2193 / 0.2193 / 0.2193 | | Materials | exactly 3 distinct, ≥16 faces per stripe slot | 3 slots, 48 / 48 stripe faces | | UVs | in 0..1, AABB overlap ≤ 1e-5 | in range, overlap 0 | | Outer AABB | (1.360, 0.964, 1.743) m ± 0.01 | (1.3600, 0.9639, 1.7430), zmin 0 | | Collider tris | ≤ 80 | 28 | | Export | written, size > 0 | 163992 / 163992 / 163968 bytes |

    +

    | Axis | Declared | Measured (4.5.11 / 5.1.2 / 5.2.1) | | --- | --- | --- | | Base triangles | 4280–4550 | 4404 / 4404 / 4404 | | LOD1 ratio | 0.32–0.62 of base | 0.5000 / 0.5000 / 0.5000 | | LOD2 ratio | 0.10–0.35 of base | 0.2198 / 0.2198 / 0.2198 | | Materials | exactly 3 distinct, ≥16 faces per stripe slot | 3 slots, 48 / 48 stripe faces | | UVs | in 0..1, AABB overlap ≤ 1e-5 | in range, overlap 0 | | Outer AABB | (1.392, 0.966, 1.743) m ± 0.01 | (1.3915, 0.9659, 1.7430), zmin 0 | | Collider tris | ≤ 80 | 46 | | Export | written, size > 0 | 316748 / 316748 / 316724 bytes |

    DECIMATE COLLAPSE triangle counts are not guaranteed identical across series — the gate is a ratio band, not an exact count. This mesh happened to match on 4.5.11 / 5.1.2 / 5.2.1. Bake pixels are stochastic; the gate is has_data plus operator FINISHED, not byte-identity. Construction uses no RNG. glTF byte size differs by a few bytes across series.

    --skip-decimate skips the LOD DECIMATE stage so LOD1 ratio is 1.0 and exit 9 fires. That is the named budget the falsifier violates.

    Run

    @@ -334,10 +334,10 @@

    Source

    BRACE = 0.036 BBOX_TOL = 0.01 # Fitted to the generated AABB after locking geometry. Recomputed from bound_box. -OUTER_SIZE = (1.360, 0.964, 1.743) +OUTER_SIZE = (1.392, 0.966, 1.743) -BASE_TRIS_MIN = 2140 -BASE_TRIS_MAX = 2350 +BASE_TRIS_MIN = 4280 +BASE_TRIS_MAX = 4550 LOD1_RATIO_MIN = 0.32 LOD1_RATIO_MAX = 0.62 LOD2_RATIO_MIN = 0.10 @@ -396,6 +396,27 @@

    Source

    return verts +def add_cone(bm, loc, radius1, radius2, depth, segments, mat_idx, euler=(0.0, 0.0, 0.0)): + geo = bmesh.ops.create_cone( + bm, + cap_ends=True, + cap_tris=False, + segments=segments, + radius1=radius1, + radius2=radius2, + depth=depth, + ) + verts = geo["verts"] + rot = Euler(euler).to_matrix() + origin = Vector(loc) + for v in verts: + v.co = rot @ v.co + origin + faces = {f for v in verts for f in v.link_faces} + for f in faces: + f.material_index = mat_idx + return verts + + def pack_uvs(bm, margin=0.08): uv = bm.loops.layers.uv.new("UVMap") faces = list(bm.faces) @@ -456,6 +477,9 @@

    Source

    ) for x, y, z, h in posts: wood_verts.extend(add_box(bm, (x, y, z), (POST, POST, h), WOOD_IDX)) + wood_verts.extend( + add_box(bm, (x, y, 0.018), (POST * 1.45, POST * 1.45, 0.036), WOOD_IDX) + ) # Front and back header beams (along X). wood_verts.extend( @@ -488,6 +512,18 @@

    Source

    euler=(pitch, 0.0, 0.0), ) ) + # Inner rafters under the awning — the empty underside was a slab of air. + for i in range(3): + rx = -hx + POST * 2.0 + (i + 1) * (WIDTH - 4.0 * POST) / 4.0 + wood_verts.extend( + add_box( + bm, + (rx, 0.0, (FRONT_H + BACK_H) / 2.0 - POST * 0.42), + (POST * 0.42, slant_len * 0.96, POST * 0.42), + WOOD_IDX, + euler=(pitch, 0.0, 0.0), + ) + ) # Mid rail on the back wall and two diagonal braces at the sides. wood_verts.extend( @@ -515,33 +551,44 @@

    Source

    ) ) - # Counter top, apron, and four legs. + # Slatted counter — crate-lid language, not one fat slab. cy = -hy + COUNTER_D / 2.0 + 0.04 - wood_verts.extend( - add_box( - bm, - (0.0, cy, COUNTER_Z), - (WIDTH - 0.04, COUNTER_D, COUNTER_T), - WOOD_IDX, + n_slats = 6 + slat_gap = 0.010 + slat_d = (COUNTER_D - 0.02 - (n_slats - 1) * slat_gap) / n_slats + y0 = cy - COUNTER_D / 2.0 + 0.01 + slat_d / 2.0 + for i in range(n_slats): + wood_verts.extend( + add_box( + bm, + (0.0, y0 + i * (slat_d + slat_gap), COUNTER_Z), + (WIDTH - 0.06, slat_d, COUNTER_T * 0.72), + WOOD_IDX, + ) ) - ) wood_verts.extend( add_box( bm, - (0.0, cy - COUNTER_D / 2.0 + COUNTER_T / 2.0, COUNTER_Z - 0.09), - (WIDTH - 0.08, COUNTER_T * 0.7, 0.16), + (0.0, cy - COUNTER_D / 2.0 + 0.018, COUNTER_Z - 0.09), + (WIDTH - 0.08, 0.036, 0.16), WOOD_IDX, ) ) under_shelf_z = 0.38 - wood_verts.extend( - add_box( - bm, - (0.0, cy, under_shelf_z), - (WIDTH - 0.16, COUNTER_D * 0.78, 0.028), - WOOD_IDX, + n_shelf = 4 + shelf_d = COUNTER_D * 0.78 + shelf_gap = 0.010 + shelf_slat = (shelf_d - (n_shelf - 1) * shelf_gap) / n_shelf + sy0 = cy - shelf_d / 2.0 + shelf_slat / 2.0 + for i in range(n_shelf): + wood_verts.extend( + add_box( + bm, + (0.0, sy0 + i * (shelf_slat + shelf_gap), under_shelf_z), + (WIDTH - 0.16, shelf_slat, 0.024), + WOOD_IDX, + ) ) - ) for lx in (-hx + 0.16, hx - 0.16): for ly in (cy - COUNTER_D * 0.32, cy + COUNTER_D * 0.32): wood_verts.extend( @@ -553,12 +600,24 @@

    Source

    ) ) - # Backboard behind the counter. + # Back wall: horizontal planks with gaps, not a felt slab. + for i in range(5): + z = 0.36 + i * 0.155 + wood_verts.extend( + add_box( + bm, + (0.0, hy - inset - 0.014, z), + (WIDTH - 2.35 * POST, 0.028, 0.122), + WOOD_IDX, + ) + ) + + # Front eave fascia under the valance. wood_verts.extend( add_box( bm, - (0.0, hy - inset - 0.012, 0.95), - (WIDTH - 2.2 * POST, 0.022, 0.55), + (0.0, -hy - 0.008, FRONT_H - 0.028), + (WIDTH - POST * 0.4, 0.032, 0.048), WOOD_IDX, ) ) @@ -947,8 +1006,8 @@

    Source

    ob.hide_render = True ob.hide_viewport = True - low.rotation_euler.z = math.radians(-26.0) - low.rotation_euler.x = math.radians(3.0) + low.rotation_euler.z = math.radians(-18.0) + low.rotation_euler.x = math.radians(2.0) floor_me = bpy.data.meshes.new("Floor") bm = bmesh.new() @@ -994,10 +1053,10 @@

    Source

    cam_data = bpy.data.cameras.new("Cam") cam_data.lens = 50.0 cam = bpy.data.objects.new("Cam", cam_data) - cam.location = (3.51, -5.00, 2.42) + cam.location = (3.11, -5.10, 1.60) scene.collection.objects.link(cam) aim = bpy.data.objects.new("Aim", None) - aim.location = (0.0, 0.0, 0.88) + aim.location = (0.0, -0.10, 0.92) scene.collection.objects.link(aim) con = cam.constraints.new("TRACK_TO") con.target = aim diff --git a/showcase/campfire/README.md b/showcase/campfire/README.md index a92161a..67e304f 100644 --- a/showcase/campfire/README.md +++ b/showcase/campfire/README.md @@ -1,9 +1,9 @@ # Campfire -A showcase piece, not an example. Procedural campfire (flattened cobble -ring, inner stones, ash mound, crossed logs, sticks, charcoal) then the -shipped pipeline: unique-cell UVs, Cycles high-to-low normal bake, LOD -chain, convex collider, Unity glTF export. +A showcase piece, not an example. Procedural campfire (two-course +running-bond stone ring, pit-floor cobbles, ash, a log tripod, and +charcoal) then the shipped pipeline: unique-cell UVs, Cycles +high-to-low normal bake, LOD chain, convex collider, Unity glTF export. It asserts **budget conformance** of the generated result. It does not witness an API contract. "It rendered without error" is not a check. @@ -21,14 +21,14 @@ materials, UVs, evaluated LOD, collider, or export file. | Axis | Declared | Measured (4.5.11 / 5.1.2 / 5.2.1) | | --- | --- | --- | -| Base triangles | 7400–7650 | 7528 / 7528 / 7528 | +| Base triangles | 3500–3750 | 3616 / 3616 / 3616 | | LOD1 ratio | 0.32–0.62 of base | 0.5000 / 0.5000 / 0.5000 | -| LOD2 ratio | 0.10–0.35 of base | 0.2200 / 0.2200 / 0.2200 | -| Materials | exactly 3 distinct, ≥24 wood faces, ≥8 ash faces | 3 slots, 116 wood, 18 ash | +| LOD2 ratio | 0.10–0.35 of base | 0.2196 / 0.2196 / 0.2196 | +| Materials | exactly 3 distinct, ≥24 wood faces, ≥8 ash faces | 3 slots, 100 wood, 48 ash | | UVs | in `0..1`, AABB overlap ≤ 1e-5 | in range, overlap 0 | -| Outer AABB | (0.964, 0.950, 0.252) m ± 0.01 | (0.9641, 0.9495, 0.2521), zmin 0 | -| Collider tris | ≤ 160 | 105 | -| Export | written, size > 0 | 548944 / 548944 / 548936 bytes | +| Outer AABB | (0.789, 0.789, 0.410) m ± 0.01 | (0.7891, 0.7891, 0.4094), zmin 0 | +| Collider tris | ≤ 320 | 254 | +| Export | written, size > 0 | 273604 / 273604 / 273596 bytes | DECIMATE COLLAPSE triangle counts are **not** guaranteed identical across series — the gate is a ratio band, not an exact count. This mesh happened diff --git a/showcase/campfire/campfire.py b/showcase/campfire/campfire.py index d8f2a82..d332045 100644 --- a/showcase/campfire/campfire.py +++ b/showcase/campfire/campfire.py @@ -37,25 +37,28 @@ sys.dont_write_bytecode = True import gallery_framing # noqa: E402 -N_RING = 12 -RING_R = 0.40 -N_INNER = 7 -INNER_R = 0.22 -ASH_R = 0.26 -ASH_H = 0.055 -N_LOGS = 4 -LOG_LEN = 0.50 -LOG_R = 0.040 +N_AROUND = 12 +N_ROWS = 2 +R_INNER = 0.28 +STONE_D = 0.11 +R_OUTER = R_INNER + STONE_D +R_MID = (R_INNER + R_OUTER) / 2.0 +WALL_H = 0.155 +STONE_H = WALL_H / N_ROWS +N_FLOOR = 6 +N_ASH = 7 +N_LOGS = 2 +LOG_LEN = 0.34 +LOG_R = 0.032 N_STICKS = 3 -STICK_LEN = 0.38 -STICK_R = 0.016 +STICK_R = 0.030 N_COALS = 5 BBOX_TOL = 0.01 # Fitted to the generated AABB after locking geometry. Recomputed from bound_box. -OUTER_SIZE = (0.964, 0.950, 0.252) +OUTER_SIZE = (0.789, 0.789, 0.410) -BASE_TRIS_MIN = 7400 -BASE_TRIS_MAX = 7650 +BASE_TRIS_MIN = 3500 +BASE_TRIS_MAX = 3750 LOD1_RATIO_MIN = 0.32 LOD1_RATIO_MAX = 0.62 LOD2_RATIO_MIN = 0.10 @@ -65,7 +68,7 @@ MATERIAL_COUNT = 3 UV_EPS = 1e-4 UV_OVERLAP_MAX = 1e-5 -COLLIDER_TRIS_MAX = 160 +COLLIDER_TRIS_MAX = 320 BAKE_RES = 256 CAGE_EXTRUSION = 0.06 @@ -114,21 +117,26 @@ def add_box(bm, loc, scale, mat_idx, euler=(0.0, 0.0, 0.0)): return verts -def add_cobble(bm, loc, scale, mat_idx, euler=(0.0, 0.0, 0.0), lump=0.22): - geo = bmesh.ops.create_icosphere(bm, subdivisions=1, radius=0.5) - verts = list(geo["verts"]) - rot = Euler(euler).to_matrix() +def add_rock(bm, loc, scale, mat_idx, euler=(0.0, 0.0, 0.0), lump=0.0): + # Bevelled boxes, same language as stone-well masonry — not icospheres. + # Subdiv-1 icos read as d20s at thumbnail regardless of smooth shading. + verts = add_box(bm, loc, scale, mat_idx, euler) + if lump <= 0.0: + return verts origin = Vector(loc) + rot = Euler(euler).to_matrix() + inv = rot.inverted() for v in verts: - p = Vector((v.co.x * scale[0], v.co.y * scale[1], v.co.z * scale[2])) - h = math.sin(p.x * 19.7 + p.y * 13.3) * math.cos(p.z * 17.1 + p.x * 7.9) - h += 0.40 * math.sin(p.y * 31.0 + p.z * 23.0) - h = max(-0.80, min(0.80, h)) - p = p * (1.0 + lump * h) - v.co = rot @ p + origin - faces = {f for v in verts for f in v.link_faces} - for f in faces: - f.material_index = mat_idx + local = inv @ (v.co - origin) + h = math.sin(local.x * 15.7 + local.y * 11.3 + local.z * 9.1) + h += 0.35 * math.cos(local.y * 21.0 + local.x * 8.0) + h = max(-0.85, min(0.85, h)) + local = Vector(( + local.x * (1.0 + lump * h), + local.y * (1.0 + lump * 0.65 * math.sin(local.z * 13.0 + 1.2)), + local.z * (1.0 + lump * 0.40 * h), + )) + v.co = rot @ local + origin return verts @@ -200,151 +208,159 @@ def pack_uvs(bm, margin=0.08): ) -def _stone_size(i, base_xy, base_z, k): - sx = base_xy[0] + 0.035 * abs(math.sin(i * 2.17 + k)) - sy = base_xy[1] + 0.028 * abs(math.cos(i * 1.73 + k * 0.7)) - sz = base_z + 0.038 * abs(math.sin(i * 1.11 + k * 1.3)) - return sx, sy, sz - - def build_campfire_mesh(name, bevel_offset, bevel_segments): bm = bmesh.new() - bevel_verts = [] - ash_faces = set() - wood_faces = set() try: - for i in range(N_RING): - ang = 2.0 * math.pi * i / N_RING - sx, sy, sz = _stone_size(i, (0.175, 0.138), 0.070, 0.2) - r = RING_R + 0.028 * math.sin(i * 1.9) - loc = (r * math.cos(ang), r * math.sin(ang), sz / 2.0) - tilt = ( - math.radians(18.0 * math.sin(i * 0.7)), - math.radians(14.0 * math.cos(i * 1.3)), - ang + math.radians(22.0 * math.sin(i * 1.1)), - ) - bevel_verts.extend( - add_cobble(bm, loc, (sx, sy, sz), STONE_IDX, euler=tilt, lump=0.24) + # Two-course running-bond ring — same masonry as stone-well, not a + # circle of cubes or icos. Bevel stone edges only; logs go on after. + stone_verts = [] + stone_w = 2.0 * R_MID * math.tan(math.pi / N_AROUND) * 0.88 + actual_h = STONE_H * 0.90 + for row in range(N_ROWS): + z = actual_h / 2.0 + row * STONE_H + rot_off = (row % 2) * (math.pi / N_AROUND) + for i in range(N_AROUND): + ang = 2.0 * math.pi * i / N_AROUND + rot_off + loc = (R_MID * math.cos(ang), R_MID * math.sin(ang), z) + stone_verts.extend( + add_box( + bm, + loc, + (STONE_D, stone_w, actual_h), + STONE_IDX, + euler=(0.0, 0.0, ang), + ) + ) + + for i in range(N_FLOOR): + ang = 2.0 * math.pi * i / N_FLOOR + 0.22 + r = 0.11 + 0.02 * (i % 2) + sz = 0.032 + 0.008 * (i % 3) + loc = (r * math.cos(ang), r * math.sin(ang), sz * 0.50) + stone_verts.extend( + add_box( + bm, + loc, + (0.078, 0.058, sz), + STONE_IDX, + euler=(0.0, 0.0, ang), + ) ) - for i in range(N_INNER): - ang = 2.0 * math.pi * i / N_INNER + 0.31 - sx, sy, sz = _stone_size(i, (0.100, 0.082), 0.048, 1.4) - r = INNER_R + 0.018 * math.cos(i * 1.4) - loc = (r * math.cos(ang), r * math.sin(ang), sz / 2.0) - tilt = ( - math.radians(12.0 * math.cos(i * 0.9)), - math.radians(10.0 * math.sin(i * 1.5)), - ang + 0.4, - ) - bevel_verts.extend( - add_cobble(bm, loc, (sx, sy, sz), STONE_IDX, euler=tilt, lump=0.20) + if bevel_offset > 0.0: + edges = list({e for v in stone_verts for e in v.link_edges}) + bmesh.ops.bevel( + bm, + geom=edges, + offset=bevel_offset, + segments=bevel_segments, + profile=0.5, + affect="EDGES", + clamp_overlap=True, ) - before = set(bm.faces) - add_cone( + add_rock( bm, - (0.0, 0.0, ASH_H / 2.0), - ASH_R, - 0.055, - ASH_H, - 16, + (0.0, 0.0, 0.014), + (0.10, 0.09, 0.024), ASH_IDX, + lump=0.14, ) - ash_faces.update(set(bm.faces) - before) + for i in range(N_ASH): + ang = 2.0 * math.pi * i / N_ASH + 0.18 + r = 0.022 + 0.040 * ((i % 4) / 3.0) + sz = 0.016 + 0.010 * abs(math.sin(i * 1.7)) + loc = (r * math.cos(ang), r * math.sin(ang), sz * 0.50) + add_rock( + bm, + loc, + (0.032 + 0.006 * (i % 3), 0.026, sz), + ASH_IDX, + euler=(0.0, 0.0, ang), + lump=0.16, + ) for i in range(N_LOGS): yaw = i * (math.pi / 2.0) + math.radians(18.0) loc = ( - 0.045 * math.cos(yaw + math.pi / 4.0), - 0.045 * math.sin(yaw + math.pi / 4.0), - LOG_R + 0.020 + 0.012 * (i % 2), + 0.04 * math.cos(yaw + math.pi / 2.0), + 0.04 * math.sin(yaw + math.pi / 2.0), + LOG_R + 0.018 + 0.012 * i, ) - before = set(bm.faces) - verts = add_cylinder( + add_cone( bm, loc, - LOG_R * (1.0 - 0.08 * (i % 2)), + LOG_R * (1.0 - 0.04 * i), + LOG_R * 0.88, LOG_LEN, 12, WOOD_IDX, euler=(math.pi / 2.0, 0.0, yaw), ) - bevel_verts.extend(verts) - wood_faces.update(set(bm.faces) - before) + # Teepee aimed at a shared apex so the sticks read as one fire, not + # four independent posts. Cone local +Z tracks base -> apex. + z_apex = WALL_H + 0.24 + z_base = 0.040 + r_base = R_INNER - 0.05 for i in range(N_STICKS): - yaw = i * (2.0 * math.pi / N_STICKS) + 0.55 - pitch = math.radians(32.0 + 6.0 * math.sin(i * 1.7)) - loc = ( - 0.07 * math.cos(yaw), - 0.07 * math.sin(yaw), - 0.055 + STICK_R, - ) - before = set(bm.faces) - verts = add_cylinder( + yaw = i * (2.0 * math.pi / N_STICKS) + math.pi / 2.0 + base = Vector(( + r_base * math.cos(yaw), + r_base * math.sin(yaw), + z_base, + )) + apex = Vector((0.0, 0.0, z_apex)) + delta = apex - base + mid = (base + apex) * 0.5 + rot = delta.to_track_quat("Z", "Y").to_euler() + add_cone( bm, - loc, + (mid.x, mid.y, mid.z), STICK_R, - STICK_LEN, - 8, + STICK_R * 0.88, + delta.length, + 12, WOOD_IDX, - euler=(math.pi / 2.0 - pitch, 0.0, yaw), + euler=(rot.x, rot.y, rot.z), ) - bevel_verts.extend(verts) - wood_faces.update(set(bm.faces) - before) for i in range(N_COALS): - ang = 2.0 * math.pi * i / N_COALS + 0.2 - r = 0.07 + 0.025 * (i % 2) - sz = 0.028 + 0.010 * abs(math.sin(i * 2.2)) - loc = (r * math.cos(ang), r * math.sin(ang), ASH_H * 0.55 + sz / 2.0) - before = set(bm.faces) - verts = add_box( + ang = 2.0 * math.pi * i / N_COALS + 0.11 + r = 0.030 + 0.022 * (i % 3) + sz = 0.014 + 0.008 * abs(math.sin(i * 2.2)) + loc = (r * math.cos(ang), r * math.sin(ang), 0.022 + sz / 2.0) + add_rock( bm, loc, - (0.040, 0.028, sz), + (0.026, 0.020, sz), WOOD_IDX, euler=(0.0, 0.0, ang), - ) - bevel_verts.extend(verts) - wood_faces.update(set(bm.faces) - before) - - if bevel_offset > 0.0: - edges = list({e for v in bevel_verts for e in v.link_edges}) - bmesh.ops.bevel( - bm, - geom=edges, - offset=bevel_offset, - segments=bevel_segments, - profile=0.5, - affect="EDGES", - clamp_overlap=True, + lump=0.18, ) - zmin = min(v.co.z for v in bm.verts) - if zmin != 0.0: - for v in bm.verts: - v.co.z -= zmin + for v in bm.verts: + if v.co.z < 0.0: + v.co.z = 0.0 pack_uvs(bm) bmesh.ops.recalc_face_normals(bm, faces=list(bm.faces)) for face in bm.faces: - face.smooth = True + face.smooth = face.material_index == WOOD_IDX for edge in bm.edges: - edge.smooth = True - if edge.is_manifold and len(edge.link_faces) == 2: - if edge.calc_face_angle() > math.radians(35.0): - edge.smooth = False - for f in ash_faces: - if f.is_valid: - f.material_index = ASH_IDX - for f in wood_faces: - if f.is_valid: - f.material_index = WOOD_IDX + mats = {f.material_index for f in edge.link_faces} + if WOOD_IDX in mats and STONE_IDX not in mats and ASH_IDX not in mats: + edge.smooth = True + if edge.is_manifold and len(edge.link_faces) == 2: + if edge.calc_face_angle() > math.radians(38.0): + edge.smooth = False + else: + edge.smooth = False me = bpy.data.meshes.new(name) bm.to_mesh(me) me.update() + for poly in me.polygons: + poly.use_smooth = poly.material_index == WOOD_IDX finally: bm.free() obj = bpy.data.objects.new(name, me) @@ -501,11 +517,11 @@ def export_unity(path, objects): def check(skip_decimate): bpy.ops.wm.read_factory_settings(use_empty=True) - low = build_campfire_mesh("CampfireLow", bevel_offset=0.006, bevel_segments=2) - high = build_campfire_mesh("CampfireHigh", bevel_offset=0.006, bevel_segments=4) - stone = principled("CampfireStone", (0.46, 0.40, 0.34, 1.0), 0.0, 0.72) - wood = principled("CampfireWood", (0.14, 0.075, 0.040, 1.0), 0.0, 0.78) - ash = principled("CampfireAsh", (0.28, 0.26, 0.24, 1.0), 0.0, 0.90) + low = build_campfire_mesh("CampfireLow", bevel_offset=0.010, bevel_segments=2) + high = build_campfire_mesh("CampfireHigh", bevel_offset=0.010, bevel_segments=4) + stone = principled("CampfireStone", (0.40, 0.42, 0.46, 1.0), 0.0, 0.84) + wood = principled("CampfireWood", (0.48, 0.22, 0.07, 1.0), 0.0, 0.50) + ash = principled("CampfireAsh", (0.12, 0.11, 0.10, 1.0), 0.0, 0.94) assign_slots(low, stone, wood, ash) assign_slots(high, stone, wood, ash) @@ -658,8 +674,8 @@ def render_still(low, stone, tex, path, engine): ob.hide_render = True ob.hide_viewport = True - low.rotation_euler.z = math.radians(-36.0) - low.rotation_euler.x = math.radians(4.0) + low.rotation_euler.z = math.radians(-28.0) + low.rotation_euler.x = math.radians(0.0) floor_me = bpy.data.meshes.new("Floor") bm = bmesh.new() @@ -705,10 +721,10 @@ def light(name, loc, energy, size, col, rot): cam_data = bpy.data.cameras.new("Cam") cam_data.lens = 50.0 cam = bpy.data.objects.new("Cam", cam_data) - cam.location = (0.96, -1.33, 0.69) + cam.location = (0.99, -1.42, 0.93) scene.collection.objects.link(cam) aim = bpy.data.objects.new("Aim", None) - aim.location = (0.0, 0.0, 0.10) + aim.location = (0.0, 0.0, 0.16) scene.collection.objects.link(aim) con = cam.constraints.new("TRACK_TO") con.target = aim diff --git a/showcase/campfire/preview.webp b/showcase/campfire/preview.webp index 22249ea6bc2af4b98e8263cbd65ad7ea1ca17d92..90e420127d91f79f8e5ed673aa9daa05bcd5b2d3 100644 GIT binary patch literal 17670 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 F0046+Q@a2F literal 31906 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 diff --git a/showcase/gallery.json b/showcase/gallery.json index 9a1b572..98fdc4a 100644 --- a/showcase/gallery.json +++ b/showcase/gallery.json @@ -45,7 +45,7 @@ "name": "campfire", "dir": "showcase/campfire", "teaches": "A procedural campfire through UVs, bake, LOD, collider, and Unity glTF, asserting recomputed budgets rather than an API contract.", - "witnessesFix": "Recomputed: 7528 tris, three materials with 116 wood and 18 ash faces, UVs in 0..1 with zero AABB overlap, outer AABB 0.964×0.950×0.252 m, LOD ratios in band, convex collider 105 tris, non-empty glTF. --skip-decimate exits 9 on the LOD1 ratio budget.", + "witnessesFix": "Recomputed: 3616 tris, three materials with 100 wood and 48 ash faces, UVs in 0..1 with zero AABB overlap, outer AABB 0.789×0.789×0.410 m, LOD ratios in band, convex collider 254 tris, non-empty glTF. --skip-decimate exits 9 on the LOD1 ratio budget.", "hero": "docs/gallery/assets/campfire-hero.webp", "preview": "showcase/campfire/preview.webp", "tags": [ @@ -57,7 +57,7 @@ "name": "market-stall", "dir": "showcase/market-stall", "teaches": "A procedural timber market stall through UVs, bake, LOD, collider, and Unity glTF, asserting recomputed budgets rather than an API contract.", - "witnessesFix": "Recomputed: 2244 tris, three materials with 48 faces per awning stripe slot, UVs in 0..1 with zero AABB overlap, outer AABB 1.360×0.964×1.743 m, LOD ratios in band, convex collider 28 tris, non-empty glTF. --skip-decimate exits 9 on the LOD1 ratio budget.", + "witnessesFix": "Recomputed: 4404 tris, three materials with 48 faces per awning stripe slot, UVs in 0..1 with zero AABB overlap, outer AABB 1.392×0.966×1.743 m, LOD ratios in band, convex collider 46 tris, non-empty glTF. --skip-decimate exits 9 on the LOD1 ratio budget.", "hero": "docs/gallery/assets/market-stall-hero.webp", "preview": "showcase/market-stall/preview.webp", "tags": [ diff --git a/showcase/market-stall/README.md b/showcase/market-stall/README.md index 823383c..7288aec 100644 --- a/showcase/market-stall/README.md +++ b/showcase/market-stall/README.md @@ -1,9 +1,10 @@ # Market stall -A showcase piece, not an example. Procedural timber stall (posts, slanted -side plates, counter with apron and shelf, backboard, striped awning and -valance) then the shipped pipeline: unique-cell UVs, Cycles high-to-low -normal bake, LOD chain, convex collider, Unity glTF export. +A showcase piece, not an example. Procedural timber stall (posts with feet, +slanted rafters, slatted counter and shelf, back-wall planks, eave fascia, +striped awning and valance) then the shipped pipeline: unique-cell UVs, +Cycles high-to-low normal bake, LOD chain, convex collider, Unity glTF +export. It asserts **budget conformance** of the generated result. It does not witness an API contract. "It rendered without error" is not a check. @@ -21,14 +22,14 @@ materials, UVs, evaluated LOD, collider, or export file. | Axis | Declared | Measured (4.5.11 / 5.1.2 / 5.2.1) | | --- | --- | --- | -| Base triangles | 2140–2350 | 2244 / 2244 / 2244 | +| Base triangles | 4280–4550 | 4404 / 4404 / 4404 | | LOD1 ratio | 0.32–0.62 of base | 0.5000 / 0.5000 / 0.5000 | -| LOD2 ratio | 0.10–0.35 of base | 0.2193 / 0.2193 / 0.2193 | +| LOD2 ratio | 0.10–0.35 of base | 0.2198 / 0.2198 / 0.2198 | | Materials | exactly 3 distinct, ≥16 faces per stripe slot | 3 slots, 48 / 48 stripe faces | | UVs | in `0..1`, AABB overlap ≤ 1e-5 | in range, overlap 0 | -| Outer AABB | (1.360, 0.964, 1.743) m ± 0.01 | (1.3600, 0.9639, 1.7430), zmin 0 | -| Collider tris | ≤ 80 | 28 | -| Export | written, size > 0 | 163992 / 163992 / 163968 bytes | +| Outer AABB | (1.392, 0.966, 1.743) m ± 0.01 | (1.3915, 0.9659, 1.7430), zmin 0 | +| Collider tris | ≤ 80 | 46 | +| Export | written, size > 0 | 316748 / 316748 / 316724 bytes | DECIMATE COLLAPSE triangle counts are **not** guaranteed identical across series — the gate is a ratio band, not an exact count. This mesh happened diff --git a/showcase/market-stall/market_stall.py b/showcase/market-stall/market_stall.py index 27cc074..01ed396 100644 --- a/showcase/market-stall/market_stall.py +++ b/showcase/market-stall/market_stall.py @@ -50,10 +50,10 @@ BRACE = 0.036 BBOX_TOL = 0.01 # Fitted to the generated AABB after locking geometry. Recomputed from bound_box. -OUTER_SIZE = (1.360, 0.964, 1.743) +OUTER_SIZE = (1.392, 0.966, 1.743) -BASE_TRIS_MIN = 2140 -BASE_TRIS_MAX = 2350 +BASE_TRIS_MIN = 4280 +BASE_TRIS_MAX = 4550 LOD1_RATIO_MIN = 0.32 LOD1_RATIO_MAX = 0.62 LOD2_RATIO_MIN = 0.10 @@ -112,6 +112,27 @@ def add_box(bm, loc, scale, mat_idx, euler=(0.0, 0.0, 0.0)): return verts +def add_cone(bm, loc, radius1, radius2, depth, segments, mat_idx, euler=(0.0, 0.0, 0.0)): + geo = bmesh.ops.create_cone( + bm, + cap_ends=True, + cap_tris=False, + segments=segments, + radius1=radius1, + radius2=radius2, + depth=depth, + ) + verts = geo["verts"] + rot = Euler(euler).to_matrix() + origin = Vector(loc) + for v in verts: + v.co = rot @ v.co + origin + faces = {f for v in verts for f in v.link_faces} + for f in faces: + f.material_index = mat_idx + return verts + + def pack_uvs(bm, margin=0.08): uv = bm.loops.layers.uv.new("UVMap") faces = list(bm.faces) @@ -172,6 +193,9 @@ def build_stall_mesh(name, bevel_offset, bevel_segments): ) for x, y, z, h in posts: wood_verts.extend(add_box(bm, (x, y, z), (POST, POST, h), WOOD_IDX)) + wood_verts.extend( + add_box(bm, (x, y, 0.018), (POST * 1.45, POST * 1.45, 0.036), WOOD_IDX) + ) # Front and back header beams (along X). wood_verts.extend( @@ -204,6 +228,18 @@ def build_stall_mesh(name, bevel_offset, bevel_segments): euler=(pitch, 0.0, 0.0), ) ) + # Inner rafters under the awning — the empty underside was a slab of air. + for i in range(3): + rx = -hx + POST * 2.0 + (i + 1) * (WIDTH - 4.0 * POST) / 4.0 + wood_verts.extend( + add_box( + bm, + (rx, 0.0, (FRONT_H + BACK_H) / 2.0 - POST * 0.42), + (POST * 0.42, slant_len * 0.96, POST * 0.42), + WOOD_IDX, + euler=(pitch, 0.0, 0.0), + ) + ) # Mid rail on the back wall and two diagonal braces at the sides. wood_verts.extend( @@ -231,33 +267,44 @@ def build_stall_mesh(name, bevel_offset, bevel_segments): ) ) - # Counter top, apron, and four legs. + # Slatted counter — crate-lid language, not one fat slab. cy = -hy + COUNTER_D / 2.0 + 0.04 - wood_verts.extend( - add_box( - bm, - (0.0, cy, COUNTER_Z), - (WIDTH - 0.04, COUNTER_D, COUNTER_T), - WOOD_IDX, + n_slats = 6 + slat_gap = 0.010 + slat_d = (COUNTER_D - 0.02 - (n_slats - 1) * slat_gap) / n_slats + y0 = cy - COUNTER_D / 2.0 + 0.01 + slat_d / 2.0 + for i in range(n_slats): + wood_verts.extend( + add_box( + bm, + (0.0, y0 + i * (slat_d + slat_gap), COUNTER_Z), + (WIDTH - 0.06, slat_d, COUNTER_T * 0.72), + WOOD_IDX, + ) ) - ) wood_verts.extend( add_box( bm, - (0.0, cy - COUNTER_D / 2.0 + COUNTER_T / 2.0, COUNTER_Z - 0.09), - (WIDTH - 0.08, COUNTER_T * 0.7, 0.16), + (0.0, cy - COUNTER_D / 2.0 + 0.018, COUNTER_Z - 0.09), + (WIDTH - 0.08, 0.036, 0.16), WOOD_IDX, ) ) under_shelf_z = 0.38 - wood_verts.extend( - add_box( - bm, - (0.0, cy, under_shelf_z), - (WIDTH - 0.16, COUNTER_D * 0.78, 0.028), - WOOD_IDX, + n_shelf = 4 + shelf_d = COUNTER_D * 0.78 + shelf_gap = 0.010 + shelf_slat = (shelf_d - (n_shelf - 1) * shelf_gap) / n_shelf + sy0 = cy - shelf_d / 2.0 + shelf_slat / 2.0 + for i in range(n_shelf): + wood_verts.extend( + add_box( + bm, + (0.0, sy0 + i * (shelf_slat + shelf_gap), under_shelf_z), + (WIDTH - 0.16, shelf_slat, 0.024), + WOOD_IDX, + ) ) - ) for lx in (-hx + 0.16, hx - 0.16): for ly in (cy - COUNTER_D * 0.32, cy + COUNTER_D * 0.32): wood_verts.extend( @@ -269,12 +316,24 @@ def build_stall_mesh(name, bevel_offset, bevel_segments): ) ) - # Backboard behind the counter. + # Back wall: horizontal planks with gaps, not a felt slab. + for i in range(5): + z = 0.36 + i * 0.155 + wood_verts.extend( + add_box( + bm, + (0.0, hy - inset - 0.014, z), + (WIDTH - 2.35 * POST, 0.028, 0.122), + WOOD_IDX, + ) + ) + + # Front eave fascia under the valance. wood_verts.extend( add_box( bm, - (0.0, hy - inset - 0.012, 0.95), - (WIDTH - 2.2 * POST, 0.022, 0.55), + (0.0, -hy - 0.008, FRONT_H - 0.028), + (WIDTH - POST * 0.4, 0.032, 0.048), WOOD_IDX, ) ) @@ -663,8 +722,8 @@ def render_still(low, wood, tex, path, engine): ob.hide_render = True ob.hide_viewport = True - low.rotation_euler.z = math.radians(-26.0) - low.rotation_euler.x = math.radians(3.0) + low.rotation_euler.z = math.radians(-18.0) + low.rotation_euler.x = math.radians(2.0) floor_me = bpy.data.meshes.new("Floor") bm = bmesh.new() @@ -710,10 +769,10 @@ def light(name, loc, energy, size, col, rot): cam_data = bpy.data.cameras.new("Cam") cam_data.lens = 50.0 cam = bpy.data.objects.new("Cam", cam_data) - cam.location = (3.51, -5.00, 2.42) + cam.location = (3.11, -5.10, 1.60) scene.collection.objects.link(cam) aim = bpy.data.objects.new("Aim", None) - aim.location = (0.0, 0.0, 0.88) + aim.location = (0.0, -0.10, 0.92) scene.collection.objects.link(aim) con = cam.constraints.new("TRACK_TO") con.target = aim diff --git a/showcase/market-stall/preview.webp b/showcase/market-stall/preview.webp index 3ede55dd29706da743e4cf55ec5c2a49aded314b..c507a27ab1efe24745b278528df179408ffc3e67 100644 GIT binary patch literal 20854 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

    P3Ex^=|q+CrX)FUsUKfxJ}}z2xNUHnaa~bN8c<~ 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