From 10b71eec85f6e0573bd162ba2b4fc8c2305b3b4b Mon Sep 17 00:00:00 2001 From: Xus Badia Date: Thu, 8 Oct 2026 15:12:32 +0200 Subject: [PATCH] macOS DMG: branded window background and icon layout The DMG opened as a plain Finder window. It now shows the app icon's figure on the FilmCraft colour, with FilmCraft.app and the Applications link side by side. Same approach as PhotoCraft's and VectorCraft's (storytold/photocraft#1201, storytold/vectorcraft#493). - packaging/macos/dmg/: background.svg (source; text outlined, no paper grain, the figure an of assets/app-icon), background.tiff (1x + 2x HiDPI, 16-colour palette, Deflate, sRGB; ~106 KB) and dmg-layout.DS_Store (Finder view settings: window, icon size 128, positions, background). - generate.py writes the TIFF and the layout on any OS, byte-for-byte reproducible, with nothing from the machine that ran it (no paths, users, disk names or volume UUIDs). - package.sh copies them into the staging folder; the image is still built with hdiutil makehybrid. Nothing extra runs in the signing job. - The volume name drops the version: the layout finds the background through an alias that includes the volume name. The DMG file name keeps the version. Co-Authored-By: Claude Opus 5.5 --- ATTRIBUTION.md | 2 + docs/releasing.md | 3 + packaging/macos/dmg/README.md | 44 +++++ packaging/macos/dmg/background.svg | 31 ++++ .../macos/dmg/background.svg.attribution | 8 + packaging/macos/dmg/background.tiff | Bin 0 -> 108544 bytes .../macos/dmg/background.tiff.attribution | 8 + packaging/macos/dmg/dmg-layout.DS_Store | Bin 0 -> 16388 bytes packaging/macos/dmg/generate.py | 158 ++++++++++++++++++ packaging/macos/package.sh | 7 +- 10 files changed, 260 insertions(+), 1 deletion(-) create mode 100644 packaging/macos/dmg/README.md create mode 100644 packaging/macos/dmg/background.svg create mode 100644 packaging/macos/dmg/background.svg.attribution create mode 100644 packaging/macos/dmg/background.tiff create mode 100644 packaging/macos/dmg/background.tiff.attribution create mode 100644 packaging/macos/dmg/dmg-layout.DS_Store create mode 100644 packaging/macos/dmg/generate.py diff --git a/ATTRIBUTION.md b/ATTRIBUTION.md index 4b28b9539..83dfef264 100644 --- a/ATTRIBUTION.md +++ b/ATTRIBUTION.md @@ -26,6 +26,8 @@ iconography, images or other Adobe assets; open licences only; every asset attri | `docs/images/filmcraft-effects.png` | FilmCraft contributors | Original work: FilmCraft screenshot crop; NASA Earth Views (US Government work, public domain) | MIT OR Apache-2.0; footage public domain | | `docs/images/filmcraft-timeline.png` | FilmCraft contributors | Original work: FilmCraft UI crop; thumbnails from Night of the Living Dead (1968) and Carnival of Souls (1962), CC0 Chopin waveform | MIT OR Apache-2.0; film frames public domain | | `assets/app-icon/filmcraft.svg` | Brandon Thomas (FilmCraft owner) | Original work: FilmCraft app icon (owl with ear tufts), drawn by the owner in ArtCraft and vectorised; canonical vector | MIT OR Apache-2.0 (`assets/app-icon/LICENSE.txt`) | +| `packaging/macos/dmg/background.svg` | @XusBadia | Original work: FilmCraft macOS DMG window background, derived from the FilmCraft app icon (`assets/app-icon/filmcraft.svg`); rendered to `background.tiff` by `packaging/macos/dmg/generate.py` | MIT OR Apache-2.0 (`LICENSE-MIT`, `LICENSE-APACHE`) | +| `packaging/macos/dmg/background.tiff` | @XusBadia | Rendered from `packaging/macos/dmg/background.svg` by `packaging/macos/dmg/generate.py` | MIT OR Apache-2.0 (`LICENSE-MIT`, `LICENSE-APACHE`) | | `assets/app-icon/filmcraft-small.svg` | Brandon Thomas (FilmCraft owner) | Original work: FilmCraft app icon (owl with ear tufts), drawn by the owner in ArtCraft and vectorised; lighter vector | MIT OR Apache-2.0 (`assets/app-icon/LICENSE.txt`) | | `assets/app-icon/filmcraft-1024.png` | Brandon Thomas (FilmCraft owner) | Original work: FilmCraft app icon (owl with ear tufts), drawn by the owner in ArtCraft and vectorised; 1024 px render | MIT OR Apache-2.0 (`assets/app-icon/LICENSE.txt`) | | `assets/app-icon/filmcraft-macos-512.png` | Brandon Thomas (FilmCraft owner) | Original work: FilmCraft app icon (owl with ear tufts), drawn by the owner in ArtCraft and vectorised; macOS runtime Dock icon (512 px) | MIT OR Apache-2.0 (`assets/app-icon/LICENSE.txt`) | diff --git a/docs/releasing.md b/docs/releasing.md index 04e59e73c..100290060 100644 --- a/docs/releasing.md +++ b/docs/releasing.md @@ -77,6 +77,9 @@ deliberately, in every job at once. - **Notarization:** the app is sent with `xcrun notarytool submit`, then the ticket is stapled and checked with `stapler validate`. The app goes on a DMG (`hdiutil makehybrid`), which is signed and notarized too. The universal `filmcraft-cli` is signed the same way, zipped, and the zip is notarized. + Its Finder window (background, icon size and positions) comes from + [`packaging/macos/dmg/`](../packaging/macos/dmg/README.md), and its volume is named `FilmCraft` + without the version, which the window's background needs; the DMG file name keeps the version. Locally, without certificates, the script signs ad hoc and skips notarization, which is enough to check the bundle and the DMG on your own Mac (`packaging/macos/package.sh`). diff --git a/packaging/macos/dmg/README.md b/packaging/macos/dmg/README.md new file mode 100644 index 000000000..941880a2b --- /dev/null +++ b/packaging/macos/dmg/README.md @@ -0,0 +1,44 @@ +# macOS DMG window + +What Finder shows when the DMG opens: a 660 × 400 pt background with the app icon and the +`Applications` link side by side. `package.sh` copies these files into the image; nothing here is +generated at build time, so the DMG still builds with `hdiutil makehybrid` (no mounted device, no +Finder scripting on CI, nothing extra installed in the signing job). + +| File | What | +|---|---| +| `background.svg` | Source of the background: the app icon (`assets/app-icon/filmcraft.svg`, linked, not copied) cropped as a cover on the FilmCraft colour field (`#8b5cf6`), Ink and Paper. Its text (Inter, JetBrains Mono) is outlined, so rendering it needs no fonts. No paper grain: noise doesn't compress, and this keeps `background.tiff` small. | +| `background.tiff` | The background at 1x (660 × 400 px, 72 dpi) and 2x (1320 × 800 px, 144 dpi) in one HiDPI TIFF (16-colour palette, Deflate, sRGB). Goes to `.background/background.tiff`. | +| `dmg-layout.DS_Store` | Finder's view settings for the volume: window size, icon size 128, FilmCraft.app at (326, 205), `Applications` at (574, 205), and the background. Goes to `.DS_Store` in the image; named so it isn't mistaken for (or ignored like) a Finder-generated `.DS_Store`. | +| `generate.py` | Writes `background.tiff` and `dmg-layout.DS_Store` from the SVG and the layout above. | + +## The volume name has no version + +The mounted volume is called `FilmCraft`, not `FilmCraft `. The layout points at the background +through an alias that includes the volume name, and Finder resolves it by that name: with a +versioned name the window keeps its size and icon positions but shows no background (tested). +The DMG file name (`filmcraft--macos-.dmg`) still carries the version. + +## Rules + +- **Finder draws the icon labels in black in light and dark mode** when a window has a background, + so the area under both icons stays light (Paper). +- **Nothing goes inside the icon boxes:** artwork keeps 10 pt clear of each 128 pt icon box and of + the label strip under it. + +## Regenerate + +Edit `background.svg` (or the layout constants in `generate.py`), then run, on any OS: + +```sh +pip install 'pillow>=12' ds_store==1.3.3 mac_alias==2.2.3 +python3 packaging/macos/dmg/generate.py # needs resvg on PATH +``` + +Both outputs are byte-for-byte reproducible and carry nothing from the machine that ran it: the +SVG renders without any fonts, and `dmg-layout.DS_Store` is written from scratch, its background +alias holding only the volume name and `/.background/background.tiff`. If you add text to the SVG, +outline it (`usvg` from resvg converts text to paths). The window is 660 × 432 with Finder's 32 pt +title bar; the content area is 660 × 400. + +This follows VectorCraft's `packaging/macos/dmg/` (storytold/vectorcraft#493). diff --git a/packaging/macos/dmg/background.svg b/packaging/macos/dmg/background.svg new file mode 100644 index 000000000..abe090858 --- /dev/null +++ b/packaging/macos/dmg/background.svg @@ -0,0 +1,31 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packaging/macos/dmg/background.svg.attribution b/packaging/macos/dmg/background.svg.attribution new file mode 100644 index 000000000..0b3f939a5 --- /dev/null +++ b/packaging/macos/dmg/background.svg.attribution @@ -0,0 +1,8 @@ +asset: background.svg +title: FilmCraft macOS DMG window background +author: @XusBadia +source: original work +license: MIT OR Apache-2.0 +license-file: LICENSE-MIT, LICENSE-APACHE +added: 2026-10-08 by @XusBadia +notes: Original work for this repository, derived from the FilmCraft app icon (assets/app-icon/filmcraft.svg, referenced via , not copied). Text is outlined Inter / JetBrains Mono glyph paths. Used for the Finder window of the macOS DMG; packaging/macos/dmg/generate.py renders it to background.tiff. See packaging/macos/dmg/README.md. diff --git a/packaging/macos/dmg/background.tiff b/packaging/macos/dmg/background.tiff new file mode 100644 index 0000000000000000000000000000000000000000..75d261ad2dfb88fdd1f94c9d099c44591cdc259e GIT binary patch literal 108544 zcmV)^K!CqVNh$zlX#fCtob6qSa^tuT6d|%o&ZM&c|F^HYaS)V`cxIAaGmqHWII$(! zmRdL)U@4TkZQCZLl~OPJzDqgE{-dPe`{7G2d3jMtmeTk~6{+&R?;=Hj&7UI+lk;Jc zno>lhv=3lXE|+8fL9#G8AtsA#TPw9zC`zeYksoEf7bfSCu-r`qiV|Lz>_^+=<0AXd zk%h^5q$^2CH52|`w;!e`7bfSCu-uADg0m5$h;#NIBMX!Bhy^%Bs-}bRvzAhT%%7wv z7ba(nafnHZlmcuPk)NX|7ba)Kq^2k#wUjE`R+}2{fA$|B3zJh~k})^bWP^s}i(1s# ze}F7ZPKikbI=FNV#hk_fyq05Oa>>6e1Y!pzBOU5U20KkY_Txu*l}k^~BShlKrKFBD z@3I_6DL=reT$r5HcH_dGM9O=C0Y4_MelJYUBiWmD+YRv`ycTRSf26Z8Ijf$eOSuhH z!-68?;h_B3CzXZCi7~0k^HR0+4XKp{9SLC0C<~MG=7Ka)32txqE-NCPeJ3#A_c>)@ zavsUvWT|i;t7gxuI9Z61&T;G_`$lCsqby9$BcqB0rI+Py(kQ7YX~8Q?-{sh*%~dW; z&Lg2E&2H0~#Dml=g79rCP2^3=KSlPpDOKgdRg^7AmE)EbJvxVMbH?5alat0cYQNozdq0Gi8-;z1+Z*DX>FoEySc6FgYzI^Pd}BOW11% zrPM-9zKI;OP03i8oJa1eNq`d8Te=k|ChI1@7ABW`qud0eYfFF;m^3?%z*~fV<#c3> zr6=c+(Of$wn}}}28_`O1Vim>=SlPpZmBd1{d6n|F?4l05NiU5-pgEAD8^RUks zCg%|{dGC6Z=oYI*QkU%p+ONpF5RUU?gcc^}k^6Y0p2UER@FrorH~N?&0`}T54|8o{ zavpgINz6!vs^peBH5IVj@EkIf3zJK}L14KnNEf$FxQ5+oyGa>hTLgk{kwdBHbI8(@ z6G?5T&fGQOWK)&~R9fqIV3NW2EK$zF2r#PyQ4&X`N%t zQu>&Tj>-BqO*!YXF!^&bl-fF`bwyj*$@i=BHbEZ*6?s{Dayr|650?zJ`=gGh+s23Fj4EwF2Y(Y~)S843ZK z)r;Qv!R1O`PYyZc9U~Gzl7G^6%OF-GX5&7eRjvOw0)?oSNt?p_ytZV; zZDOju&{$aHF0wJkIplJAr6uU)-JJ}4#L7zObC~S5J5~yM3N>bH+#UZMl-MqQS(rQv zLQ@|Hl=G4K#vhb`c6logW6%#5{QqD2m&%<(bmL2+*~7D#y!U*4CP?g?f9@v6MhlZS zgts>0mSnqcQrKLFvhuBq&#Q;&G!ECSmy0d4e3;hw*I=s7t*JS1~4{c-GXVG%g0J z?JP%S-w?i-hTV>$?e8%el#~HWC;Mx9x;x?n3Ku3n5uf9y)obcK6`1& z2D`DB?Y<*sdHoD3GOx?uW6*Qb97%7ucj@+u*YsvJomb>Qg8TR~)BVnfyAhN6_4pCK z2$Q}Bf#xdQb9{hFz29Sl>t9xkb4OZj(378+y@@T&+mYbbi;=M}w#W;EhbNVk<%nPv zb2$G(M0OOowa!G^v1aw5^?x@%S#M)9HdJ=hrVxrNE+YOjw03AdA=^unTg zqGpzQX@Zxco&m{$Y`7FYb;DG%|7i~v2mL`H1kStc@@CmqtKYbD_eGertZdeQk1=`c zJr*V(3#JFeEP-3o2l{i4G6c0sxsNivH zavu~~ zu!ctM+uS;Ayc=tJ`dNMlljVS}J%D_EFEijv zbW~}!MGs&}Uk_{?U>4%&s}DPN&*Nb_XnzNj;>moXkx0=nA&Eo7?8vv&+OikAhe^f^=+fIUo-($=iuA^fjhLF{#II-;2rHwZ*Xn z-hW$|d@K>3sx+X2|E|OoSx=EGt~4iPv(`BLd|(plu4dnB#ZFOg8?){BD{zmWJ-F&= z>PMKYARXKH&>WMev%fAsc@L9bu8H6Ci}}d0-O`hHg#n8x7YJk2Jdct%Y`WC*zD_^bY;gE!mAM`Z<9)+#9;G_+3oGhYT-QIq~R0_r1RtlV%8*gwVV2 z3X{F0G-7hJ`%5(LR-32&wCW70zo*Wgjr9u!Fz8NioNy99Y6>_9w$58Zl{mE?!WGWq{1@a_Ej?KtMIqLHOtD$9GfF|^Da8?3kQ}w- z=!1BdWmoFojmd#!k!qUhNO7-?m>dX3OTw6##pz&TJgr*NueJJ3J~*hK|Az2JforjL z2jvhg5jWZTXZu~5&m_4WD^0MOrobSN0PhiefRaP10!vMU_@IaQe&3JDs5r>|{G_=Q z_F_1{3zLHo50PQC>qnoj0b$8Qibx}`&HPBV)vhMajVzE&+aZGGlBI|O^u$Kn#lPQ^AI@jeeLlAXr> zGJjU2HRLMI&MR~H@$NxbdaB_iLQq&J(;TF!*WE}rF!+W`@lmfR5>8874{OHWQCW);F%S3C7$2JZoTy9j0y5OQtMfYYtr);iTBB5I)G3=57I%`kX)FY zN0foXz(Rd8%d6zn&q+1v03y+(Wr)Oj;t>Kid8}r;7GnGTSL2#%}=?({>1U0 zigEVuILAwVPn2Wm72OeT2t;hg?ZXj?njA-7+|gnw?MTEVE~Ni(chHn&=r;83=%a=- zHv|r&+Heipy@j7ENnK6h;44pJa^Dvy|9k0*Zg`p%oER~AFMDn;!+uiPo%7^y4~=#0 z&-9l4*viluL*2ZscF@4FwdI~vy>hZ-q~}pc8uhX5%1`(NCV%bw{_Ahg=#sw`t9fXQ zqC)RdN1Ny-pHcgoS6>otOgqur3oZ~{Q46ec2Ghtgp22D7QV>6tDNjtx)U_YeePo*r z-h!5Y!j3==4>wc5>e-^CxFN}BXitGf#Vg;pg$t7v=l_=dLbKiJmp0H@Wg+O z06GXqO<9H{a4NQq#jb1)_L%8j)|=QBZF<|2j(q}?Mt=L6^Sb1Z#fluM!6{)<{Y`k4 z5oq5QBeFSHd_ztsqs|zDX0^{Th`FH-Rcb+&d$g6n$n3~8`SIX#YI#!^74HdAKgN~W z{~VLB+>m9x|6?%d6H+c=mm?1M3O6Hk^9+X_HMogeA|H}%Yv*ROr6=bR zVv-~1JuRt>SilseW}PUYGr@;sI%Gh->AQih9<5Kt6y|XgeDFl{hiM{bYapBTZ2LfF zQ?LbD68DcX)V%>mmos(7`tRw<m{JLUfc~{B@$; z>Q7r^)BrOue&8i!0JGYtO0ug;D^hBvQ{T;QjXqXFv*qy)*YYgSe1$kKAzI-GL3M?X zY{wzJ$5NHX&0zh{a!99MK_0FfOEcJP)Y06ddasU?-dWR;Q*8h>?YwVicLk}$F|VGt zNFR=1n$<^8jMEIB#^lORzJw(1uBky9!p6wQFv*4jLZjtq#}-8D5_3a!+_^!@VS%ZD zodFaZWaQ+a2$mc>@I$5kKYliSyX;1$>ESwGCLj1&Os+c4OGwg^Zkm}tCt;hmn=K9G ze+8BDK?L6GFgIf1t);e{ju;ydJW|ZeX8UoYmgL?5#Rep3kB{$odoZCB6WW8%qI~Y6kuep27Zn9NHg#zL^>ur6i%+B%h2y-VGZrRK@9wFtNFS1iaMkb zE`6MelEo8&Sl`#Rw9be!`UqJVP?lHh3!kOHkwy!XlZbUZ*dNxePt`_DvY~+9ATgQ3 z^P7FVRtSGPoQ9+_hwXix^Ul1SNAmEa_-+^PH75M}blM!sIl9 zD~~nmh%yd1CNJYMH{Ua!~dcwzV9!;U+( zvbFr@6Su0ul9Pq+NuAz2KMKo zIQ;RJH~oHeo_JK(D?aM^URMLAfXQ}VMCt1UZirl96R^CV)-$k<*5UcOjteMC2x`x9 zVx4lBw|)!B<7#}tw+P<>0`uf8#mZg~sE;=rlPghsoec~!J_AfAnaU+hUgve-KiDP^ z1BUv#j`L`Q=d@ZfLhxBZ;&l<8*b-<=PAZODw-CVMecuu>sdxN`?-nrLK?v?HzRQbl zKDiFHV39#$I>aQ!H86>XPCy-i5jGvEWkk zW^gQNkAlb5f_o+|g?4gLa$4SzR(iZ$C<5e*e9N18@mSn377JZAv3Xq$hirXv5vtGK zjOn@{y-z;bi+Usm8U)a z*)IA$zIeiP8_##BA3xW;mnUEmHVkZUd2$HKz~ljq^15jIz|46Nug_ph8z+q7QH1jV ztV>jW|92K9DZ#NydFtSrx>dlQTBJEOzDqyHd;&|xL(2R~7ie|t0aZyxP%OhkvC2$qok2lwej#0Tr@ojrn0ura$kdy&jY!cr7CYo!#byjYvw^~@}b)DDy&Q+_PK*RCW z1+IDw^FF-9O*~>VFaHbMK&KZA3Hghz0F-SBo@I>DdY9P2F^x=q{vhxMYd5< z8LzHY0`|h|$D3phJ>$Ifm^`lRD&eZv2+y{1GwU>F7^9W8zepB%3oPX&@x07yP& z|0hl)cD?a^T_^NCNmOC-fx}zrJRdOmczk>xF6xT|+R6nC@jo7uQ2zl7yf9!*JZ9u& z(hbQ{0VCZLPN_w(>K63;veDH@S;v-Ij_&M@%Xx_9PU1tuxN@ZOnfNMlg63 ze>@+xIyD0lVGsosdoYCN&1^@XW78goisC+?(aZ1)oZ>HpF z(g441;uMO|BZ5Vl#q-SrgV%{G+oMiQX7~{<_Y1iqI#`$_2vafmO)&Wf^0a@1y5UB* zBosD1)Q+Q*o}2ib`8F~sAW0}Y%ZlQD;;A@$z;r4E5s;=d`u-j*0*y)H5*K8$8rU>+ zTnBTA)(DF##?DN+-vN`Geu-qXiszg(UI-*{LMBbpo*8TsJZ^AOTD0(UOD8wU)ktor z*OESl5Kw-mp4a1<-`%8qFyzY_T{)=FQtv>{B$GMhGLTu5rj`t>jmc$5mZ`W2+>&~b z&8$)Tg{@-kkSz_EoZMuxbe$Dkgg$)bu;S_d3HJ3fvP)0OYw^6iV3R3agA0;(hEj}x zQ+VZnAKAU>m&ld@ZDab%`6S^{X-DIKA47?ljFMKZVvUVv4s&{P)h?mK3q2Jbah6ZVS8*Ws2jy5J2Bl%7md_95^fCzn!xs%r7 z9J>?0qj2Vtz~mICPS>M!JNqrW+%CE$w9(JNq;n2nm+~sUD!&R{K)$X_8oI`v$U&h_ z?9<7zF}WZ~ZEUhyx#2V@ZJFz+3>?xlcbHnwy*P3T;v_ebQ09E|DUVENh0}e!rHXTK z@yI^FO2%B=JaLCq3v8lNL35pVYA5XGlZ#LW2~dE8j9cnw-)deFheZJDKDh`%n`;9E(=9y`56TKwm+J&3nN#VCg`1r-jUf7W z299FYk*~=JqEdY5Y3DAnNis=rReGt+9qna@=ad)Sm|TpMW2m=BD~_F>)Yyw1d?+pT z;DxHf>S*ryv@?|*qYnCfW3ptR48Z25viNGM4%b~Hgd+=x3?BfcZlLq&Euyi%F}WH! z!<(sL8C`ZPT+TlM4M_mcwhY8EPSB|plD8~hhjA>sXJSfauw16bsjiI4X=Ic1Lm_)f zsc3}TdEzR9DQnqe56P)%jBfwrVkCnD%r6tH_;^D&R=$^D>Qy&PwHT@ylP5yeGz_&& zgt#k1js=x5&iD*3kJ=hXmYm$lZ1`7$Gm3$5JH?d{miM2Rf*)%@(6vR=t2G`eaOs+)aCvti#X(HhwIXLpj8I{Q@nTgTmx~sq%ixVv{zHGy z6o`=C*>;F#`cTWAn5?JXD09|S{RQNyot7Yuz^6SuzBiRX$VnPSjOr}oH*8?AF}W0x zg-6l=v@KBhG$Bhvgdp!e5V>iGSnVCuUvie$+d_<7+5pP zZO}HVleSaXw2Zd3A9uoQD4tb*W1KH;N_{S}C$m`mL2#?)9x#+shrV%{=$Vx64sQx6 zDgTEFb`ark4w-X$#b_51KJ@LMT*xh{x6wNy$;ppu*Vn}`in6-Bf&+7BF>**MKhSyh zk;{l0F)3xXv7T22yKMS1*7PVyE>P=U}$wEJFFM1>^Y$JPeV{#p849+;rjSyaO zm^)oU7Q~&htUrQ`s;$YTr}$z(^nqK^kJyw|;Z_8L{wc+wg!v0T~|6MVsjjNBzpnx%#w@Gy{|^Ge4=@aVvm_%o?anm96Lt3^~t5^k_<;z(jXZ) zY|fjac?x~o1j*(ZPN^j#)T$xT8MkueBylylt3vCj z-2$CrzVpl%BlM7PZn;ZTds8S^a`j+$bjp~ds#@e4NSL!Ff)!9@x+342=J!_yzL8Gj+h`ha4_ULh&Rc<=%=m(#v)V&w`@{bd@cr| zW`u;FQoS#@yA5f(9pz@m<>o>n+u-Vvp~`)2M0Gw-S62Ko82>&D*V};e#9KNExXquHrI!x zi}_645NuAvaSERsAQM5q5cOoRMz|y1+?twST+eax9_w-F@t)Cc<2r9OT|V@*N3||z z_RNsac5OS}y%Kc=t`y>kqRM9CbDuC7miN#&UfWpb6S-#E!EAC^(YZ3~XL?H)8ABJOlC7&jXF;F%p+&Za7U(> z^`N;5X>MNih~UWgJ*1$iYlm}06qTfmE~!nWSbgi03sTi3Wn3#d5-kEg3Gdt*Mvi9} zdzA{^(t3?;r(;Bpy^_^T@3+C4?HqQalevgG>U%zTD7CbH%I~4?+3wA<93gc5wO82M1$12iVe5b`Ko@RRNKs zVD}4JjUctzBuKuOUb|hoMpk#w;2O*{jEqwQlI~kjg?vv4ne8wp$(l42)aiC4VR%WrE5f)i^q_{M3Ay7z3qnH#3t4V@>jWV{$c;OGeqfQBq*p?U5oM zMteF5S1llekq#?|Fiz18O#!`q6XB5DH%NB(k^2BEq>1Q0 zK$@y6HlJLGLPFjG&A*DtFnqEUq71jnfnnnnqvVV`$7Vzk4U)p>eUpSv?Z zQ$w&@EA1V1L)bYO3y~Y$vqf2RG|v9XDr6tPC|^twv?X|wb8@QtI@~z9rWoCMG zmwP&j%G1h1E`x~nf-&<`-w9N|m1}NHE<{e^)&$sY)5XqViL?T`>9@8KTBm*%gswyH$9X z+gG$_{Uv>^6@Of?|#e0vXccK|Tfc$o-T z4}20-uET~cwM|gmx!U_P87?<+%OJhAciY{|kRKm)vK%RrVEG1<(A!w|)iZ#|a3kp~ zIbXS!xLQvDQrXY#5}F*=`J@Fjoa-eSJ}A89F=BLxkw)(D#^h?$+XtAM>!xr1><-BQ zP4*lZA}9${b;0+l3Mwl4qd7cclhb9=X{mNDfyoFnb+>#}Nw9(Hz#P*lrCQvL$tCkA z)x@GON&@a9qm0t;UeP+P8AT1lpO@*AwUA4fl@F5**^0e}x)^YJ*x! z^lnTpMG^GK3>#O18CKawZDy01a)sGWIHBG-l&YP43?Ea^vM04Xs!g>u63 zW(86jfyyM^m8wRj<*ue5J92%(E(d`XvrU#Z zw;|7BT7MjVVoXNk7dJRECcB1dnr(1I%Qq&Mq8$2=eR@MYX1U7~a4cL4ctde?@|gQt zRZudwyw~7#)BMJT#|BtMcIPEJMG+8tyXtiw*S9gb6iFI3_PZEoaEDHZYQ`IA{NfQw zgEq;O-n6Yf=){d!IEo||p}+ExPtF%B`s8%;3F6!aMm$*EY9+X3_cA0;BGb&r@`8-9 z(B(XWBuXMwl8}+Va&qzI#5P+eods6tehW!TXxmG-)F36>O&h28+h@KYDbYLzc@`3Q zkSJTwGbFera`++Cy()ft5L^H@Z&a<3oLgSyui;b9EN?u z73$M^;_zI3cFPOWH)msVF_QL$gxGk**>fVhq>Lyj1vv6`*X30Gs(GS3rn4{Q0Z%UT zpIO~%-Ft5_c^!?xO8G@8z#YSxvei7~`=9(1Zu*~6nzGJ6L;_h&7mrNYjK4_K7wSvl z2fcxvpAHnA$&*nQ*nP()osl+5XB7bVo`5VGza_2d);A`XqDW_mh~D&AYqfNY5sQND zOfK)4>I_DvdKfXCxReSM1T{Gh19u;}r1s;A<(}dvo558^9Mhg7;;p3fjmhPRj1SP% zTw;#%8jlzorb1a{8@6P4nXW_sWAEiVB(GZu=p1**{`t%%2? z`Q(}e=10ah>XfDJW2CMX2u&>|F%7JgmgU}DsMP8Bn%|4=?ma5yI9f?R$D)l7zt_g( zY7~WsCj!P!#psO#k{)UoyOoX*V;L*rV7P-UG?mn}MIK8DZzK^<5Wii3>2Lwz+nh!= zo=i}xwJUd(Ix(9^+s0XOlo+iYO%%I0>UA8m&H1hxs>mnKDaBOfl-G#%7S6$~d=96w z*SL#svZ$-Hz!;iZR!dwmI~Ix*i*nn7VRxzK0G>D|P4jM&h}p@ImCEO@sb;>*tG3fZIR0 z97T5?cqpSQ6uo|!+(a)m8&TE-}qDNtpb!i)u_Rya1FT#Xv1;vjq&y`rcDqLm~aL~4wN&Q=aLQtk8y_H{--sV7e7 z=9WU!H14~6>_c*9T;3|j3o-R~V3HQ&ot>AWq3ttYj*#b=jd&RnAta?`f?OxfsYzsc ziWVXnm`?USuU00EI*q%-DX$P!w~*;+ceiI}kpEz9mT7ybuYqXkhqHBWg8Rk?+ zHYQi4;D^k3fS6>Vc!$eGhg4Wh!eq9hx?wVl zdZetzeP+ov`L6~*Xp}?*bRv4g&zny!Nb#_#K~i%(+u7K0oO-3|r7b8u+1(Nkn^MhD$&ttzeLdyQ@TXru+MY1~Fhk{pukC{L6 z{;1(7OT$J>mmbInV=D^O+e))*sE7B#4K+oAEZqplR5++l5w6Ypv9@J!4 z4UoK*JgB6BOqNRFBi-nAUig)RDIV4x%?6ZR zp|mtG!X8usGX%C%OuH#%=%T8%tvV%7o253wH|VBLE%-SXDERI6nXgCndDD;;Bw^wN zTG-Y!@)(B%2bmU{U>x?jEB_O8Mf;S3cfy>{-Qsk$-lrf^=E`)(;Ew{Ml9`@NZhceI zhrjvcN_2ag2qA|ZtAHX3#2}rK8#}npZ5Ty2tKzk0jL*`!B(o74OdTp+dE>;p-R)fT z36pS!ax`++ABpG(cIoSHOs+(o2ldJs#_$xqX&g7gIfgQQ6yWw5n(}_d_~bHhXK21l zZGhsQzHABIR%1S)p$@Q&e)*$eBPSJS=1drrqdZ4WaHy!$F0tDw2BstwHPvi#3^HL~I4b$g}^5|J`pX`w-=V=`EVCS$WhO_22 zCRZZpj4jO^LlSmP6iI8;E7?*}JWHV#i*X3QXy7B!oiz@?W(NJ@vVlo|Vr$9gdB`J^ zq=L(DjUr5uAL5R#)kmdfg;5#w7wMBfjX;j83R_0C4yx0N z-l(oJ11L*M+8mbV4EbcOS-Wl49QnhesvG7GzA!PG42pvH>bsB-PEVGcT7MHJfBfrM zn#PGU0GQuJ!!+}^-h?L;eR5unnW93GS2@NW>$vD!j&LEch&U7LW@{K{R4(Sy%D)MdKNd#i&>kGM3nM>c z?hc=Dt*j|HQZE5{rIn@5V76*(ikv?Jv@+jZ!n-p9jn^tg_8^`l+K(ay8sObEWU>x3Mq zzF+OUa6vCm-Wo1C+lANX#sgnPjul0J%Gr;0bi8xrk8k`_ulfI@TnSXRc3iCkf(`H?5(p3e zU_=lVxS*n@oei+$ix4gsp73#VonXXK+@emC;I-$!;~LKoK;!e!emEw-ejUpR-fjwY z5|vp9&_bZSc`q9dv=h%ErO0c96d{3%(4gScSd+%n3zDrLP_`Y|hEk(!*|e*bbw`M@F6TaU-jcG1vUONKz5o()QDJQJYKL+~i61KZJ{6i@l77j>{e zA9p&rk934z{z>UgcEA25hvN95nEd+s`&dW}66wnMP=}NFLLUVtVTz&I+97?|ZJ&F_ z7XeGeN{vokHQs_Q%{~5)5dl##H)zunh*LZRRjtz}*W%qDM3+M^ACRwGt{} z9^V~O*z!ReLBaKgsM?_o?JG^U9x5>o@ihhYR;R!!qiaP?P?U5D4aXAHF#eBE1V2pA zWPpzFwQasPCN0N0@>+W!FC^pqNvM5ViE-j_fudqUG4l;X2yuu>=tARPQ4RE_9M<_Z z)9J-$LFuCTufZ$LXw;|Tr|ZeDg)r#=;wfh@8tN&q(Dp(FzD&_Tzu}Q;IdQZ<^_oKS z3m$14RCGgqdtQ1KJuTvMfihL)%iHThWWZ9c?#ATb$NG@OflrEss6pa}DV>2ysye`N zQdVy=N+)uN2;iaI{JhLq%EiR@)DQwC{(X+PMM1{lwXCmVnMQM2Alc55x|uPF%YhlxYl!m;*-rQkXKx*u%G+ln zZtdYp`e6s_MJ}XEe=a6}9cu~-h$R5YV#-@p$!sFiK_>(6(34J6mh2=-+Gi`-#0q^C z#*t0x$e7bvq~0V>4ZpXM{|k^&LzmaKmi)Px{By{&(><1l}ZYd0v4@^h!{jkT@;Lq~5B$XwW=NI?)K6oruU0EAS%CT62k#h#_6rTZ~$4HL==LeqK-#_=1t0{G^Ev=EzKWcvl-i5Faojz zOJVXK$l{J9wadT%Zn1G9pm%htC-%HWoB=J0JdfIWU%X6*qD09YTJF)+`v#RSAC~5f zS9P>+E52ME=O4-9h;*Esq4poXZ7{h^G153H8%UiO{pAXI-7o(7DPXjjp^TC z(Uvsi<_SddKBJlvXZaseg6ZY&k#eCx8O#@-O!MM5{+-))FC(l|OSiZx`~<|a^%1I&fjYk#it%0DlPp+LONmwBqxt6eEb*lY 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%0D&rtdHcUw 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

Mdi(fk*aa@%^g#)4j(^vV63GbVjTvAB6a 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 MdAi zMM_5jX=x}Z`BX>|H7yNoS~^5QK|>47-kxK}0tq2eAZ9J^%>Y z5g-CYfCvx)B0vO)01+Sp|04nQ-G0j4@M@+lOhoY7tl5_5r_*~(>*(w{bXc~?sve&d zj&E2FcMEsLM!_m^({LAC^yNVJ4ZrSX!tzp^!&*t~oh^@|tAx3(h3Mz7>%R@Q8FTUc24gYLH5guht8qG8G^u7??P z^fWT~phv?TBHc%Ndi#z>^;j&{KM;=}J3cr#G(56kxUS(;c=rCPK42QfwTdg_niRHh zvv!?h)@`#lT+W?Uy}xaGhL;Z5=Bq}9PuP~>tu!rX@7MTZ#kES)<+8{9`4)X4& znr{imo8zvBa@G+JPhS6`;7!L^S!&p08MQlS+0{wcDEn%)wg32eXZz;4;3pu%(Pkok<_Dp-Bz0_W5yUJT@yf{v%aiiDXpoTAw^@8iz!l?u!fL@q@ z8a`~yvxphW>;;nW^0p|3{|2y(u3ba>_wp{uOtAI+giH$kaj%1(EZ624xKl?2hyW2F s0z`la5CI}U1c(3;AOb{y2oM1xKm>>Y5g-CYfCvx)B0vO)z+WQp11l&XOaK4? literal 0 HcmV?d00001 diff --git a/packaging/macos/dmg/generate.py b/packaging/macos/dmg/generate.py new file mode 100644 index 000000000..1dde56392 --- /dev/null +++ b/packaging/macos/dmg/generate.py @@ -0,0 +1,158 @@ +#!/usr/bin/env python3 +"""Regenerate background.tiff and dmg-layout.DS_Store for the macOS DMG window (see README.md here). + +Needs resvg on PATH and: + pip install 'pillow>=12' ds_store==1.3.3 mac_alias==2.2.3 + +Runs on any OS, no Mac needed. Both outputs come from this script alone, so they carry nothing +from the machine that made them: no local paths, user or disk names, dates or volume UUIDs. + + python3 packaging/macos/dmg/generate.py +""" + +import datetime +import os +import shutil +import subprocess +import sys +import tempfile + +from ds_store import DSStore +from mac_alias import Alias, TargetInfo, VolumeInfo +from PIL import Image, ImageCms + +HERE = os.path.dirname(os.path.abspath(__file__)) + +# Keep in sync with package.sh (volume name) and README.md (layout). +VOLUME = "FilmCraft" +WIDTH, HEIGHT = 660, 400 # window content, pt; the background's 1x size +TITLE_BAR = 32 +ICON_SIZE = 128 +PALETTE = 16 # colours in background.tiff +ICONS = {"FilmCraft.app": (326, 205), "Applications": (574, 205)} +# A fixed date for the alias and the colour profile. Finder never matches it against the image +# (each build is a new volume): it finds the background by volume name and path. +FIXED_DATE = datetime.datetime(2026, 10, 8, tzinfo=datetime.timezone.utc) + + +def render(svg, width, out): + # The SVG's text is already outlined and no fonts are loaded, so every machine draws the + # same pixels. + subprocess.run( + ["resvg", "--skip-system-fonts", "-w", str(width), svg, out], + check=True, + ) + with Image.open(out) as im: + return im.convert("RGB") + + +def quantize(im): + # No dithering: dither noise compresses badly and the artwork has flat fills. + return im.quantize(PALETTE, method=Image.Quantize.FASTOCTREE, dither=Image.Dither.NONE) + + +def srgb_profile(): + # LittleCMS's built-in sRGB ("No copyright, use freely"), with its creation date fixed. + icc = bytearray(ImageCms.ImageCmsProfile(ImageCms.createProfile("sRGB")).tobytes()) + d = FIXED_DATE + icc[24:36] = b"".join(v.to_bytes(2, "big") for v in (d.year, d.month, d.day, 0, 0, 0)) + if icc[84:100] != bytes(16): + sys.exit("error: the sRGB profile has an ID; recompute it after fixing the date") + return bytes(icc) + + +def write_tiff(svg, out): + """1x (72 dpi) and 2x (144 dpi) in one TIFF, as `tiffutil -cathidpicheck` writes them.""" + with tempfile.TemporaryDirectory() as tmp: + one, two = ( + quantize(render(svg, WIDTH * s, os.path.join(tmp, f"{s}x.png"))) for s in (1, 2) + ) + two.encoderinfo = {"dpi": (144, 144)} # the rest as the first page + # Opaque 16-colour palette, Deflate: the artwork is three inks plus antialiasing, and a palette + # keeps the file under ~100 KB (repository assets must stay small). As PhotoCraft's. + one.save( + out, + "TIFF", + save_all=True, + append_images=[two], + compression="tiff_adobe_deflate", # brand-ok: Pillow's name for TIFF compression 8 (Deflate) + dpi=(72, 72), + icc_profile=srgb_profile(), + ) + with Image.open(out) as im: + im.seek(1) + if im.info.get("dpi") != (144, 144): + sys.exit("error: the 2x page isn't 144 dpi (needs Pillow 12 or later)") + strips = [] + for page in (0, 1): + im.seek(page) + strips += zip(im.tag_v2[273], im.tag_v2[279]) # StripOffsets, StripByteCounts + # TIFF keeps directories and tag data on even offsets. When a strip ends on an odd one, libtiff + # leaves the padding byte after it uninitialised, so the file changed from run to run with + # identical pixels. Zero it: nothing refers to that byte. + starts = {o for o, _ in strips} + with open(out, "r+b") as f: + for o, n in strips: + if (o + n) % 2 and o + n not in starts: + f.seek(o + n) + f.write(bytes(1)) + + +def background_alias(): + # What Finder stores for /.background/background.tiff on the volume, minus anything about the + # machine (dmgbuild writes the same kind of alias from a mounted image). Disk type 5 (ejectable), + # the volume flags and the folder/file ids (25, 26) are what Finder wrote on a test image; the ids + # are only hints, as the volume's creation date. + volume = VolumeInfo(VOLUME, FIXED_DATE, b"H+", 5, 0x0D02, b"\0\0") + volume.posix_path = f"/Volumes/{VOLUME}" + target = TargetInfo(0, "background.tiff", 25, 26, FIXED_DATE, b"\0\0\0\0", b"\0\0\0\0") + target.folder_name = ".background" + target.cnid_path = [25] + target.carbon_path = f"{VOLUME}:.background:\0background.tiff" + target.posix_path = "/.background/background.tiff" + return Alias(volume=volume, target=target).to_bytes() + + +def write_ds_store(out): + if os.path.exists(out): + os.remove(out) + with DSStore.open(out, "w+") as d: + d["."]["bwsp"] = { + "ShowStatusBar": False, + "ShowToolbar": False, + "ShowTabView": False, + "ContainerShowSidebar": False, + "ShowSidebar": False, + "WindowBounds": f"{{{{200, 528}}, {{{WIDTH}, {HEIGHT + TITLE_BAR}}}}}", + } + d["."]["icvp"] = { + "viewOptionsVersion": 1, + "backgroundType": 2, + "backgroundImageAlias": background_alias(), + "backgroundColorRed": 1.0, + "backgroundColorGreen": 1.0, + "backgroundColorBlue": 1.0, + "gridOffsetX": 0.0, + "gridOffsetY": 0.0, + "gridSpacing": 100.0, + "arrangeBy": "none", + "showIconPreview": True, + "showItemInfo": False, + "labelOnBottom": True, + "textSize": 16.0, + "iconSize": float(ICON_SIZE), + } + d["."]["vSrn"] = ("long", 1) + for name, pos in ICONS.items(): + d[name]["Iloc"] = pos + + +def main(): + if not shutil.which("resvg"): + sys.exit("error: resvg not found (brew install resvg / cargo install resvg --locked)") + write_tiff(os.path.join(HERE, "background.svg"), os.path.join(HERE, "background.tiff")) + write_ds_store(os.path.join(HERE, "dmg-layout.DS_Store")) + + +if __name__ == "__main__": + main() diff --git a/packaging/macos/package.sh b/packaging/macos/package.sh index e9d036be0..85902b91b 100755 --- a/packaging/macos/package.sh +++ b/packaging/macos/package.sh @@ -131,10 +131,15 @@ STAGE="$WORK/dmg" mkdir -p "$STAGE" ditto "$APP" "$STAGE/FilmCraft.app" ln -s /Applications "$STAGE/Applications" +# Finder window layout: background, icon size and positions (packaging/macos/dmg/README.md). +mkdir -p "$STAGE/.background" +cp "$HERE/dmg/background.tiff" "$STAGE/.background/background.tiff" +cp "$HERE/dmg/dmg-layout.DS_Store" "$STAGE/.DS_Store" rm -f "$DMG" "$WORK/raw.dmg" # makehybrid + convert builds the image without attaching a device, unlike `create -srcfolder`, # which is flaky on CI runners ("Resource busy") and hangs in sandboxed sessions. -hdiutil makehybrid -hfs -hfs-volume-name "FilmCraft $VERSION" -hfs-openfolder "$STAGE" -o "$WORK/raw.dmg" "$STAGE" +# The volume name has no version: .DS_Store finds the background through an alias that includes it. +hdiutil makehybrid -hfs -hfs-volume-name "FilmCraft" -hfs-openfolder "$STAGE" -o "$WORK/raw.dmg" "$STAGE" hdiutil convert "$WORK/raw.dmg" -format UDZO -imagekey zlib-level=9 -o "$DMG" rm -f "$WORK/raw.dmg" sign "$DMG"