Third-party code bundled with Templette ======================================= The files in this folder were written by other people and are used under open source licences. All of them are permissive: commercial use, modification and redistribution are allowed, no fee is owed, and Templette's own source code does not have to be published. The one condition they share is that the copyright notice and licence text must travel with the code. That is what this file is for. jsPDF 2.5.1 -> jspdf.umd.min.js MIT Licence. Copyright (c) 2010-2021 James Hall and contributors, including yWorks GmbH. https://github.com/parallax/jsPDF @supabase/supabase-js 2.112.2 -> supabase.js MIT Licence. Copyright (c) Supabase. https://github.com/supabase/supabase-js (The header comment is stripped by the CDN's minifier; the licence is stated in the package's own repository.) polybooljs 1.2.2 -> polybool.min.js MIT Licence. Copyright (c) 2016 Sean Connelly (@voidqk). https://github.com/velipso/polybooljs fontkit 2.0.4 -> fontkit.js MIT Licence. Copyright (c) 2014 Devon Govett. https://github.com/foliojs/fontkit Reads the shape of a letter out of a font file. Every one of this site's 5,881 fonts is in the compressed web format, which cannot be read directly; fontkit unpacks it itself, so no second library is needed for that. Used by the text effects app, to bend letterforms. It is NOT loaded on every page: the app's own file brings it in the first time somebody opens that app, and never otherwise. 357 KB is far too much to put on the front page. BUNDLED FROM THE PUBLISHED BROWSER BUILD, not hand-edited. Rebuild with: npm install fontkit@2 npx esbuild --bundle --format=iife --global-name=fontkit \ --platform=browser --minify --legal-comments=none \ --outfile=fontkit.js node_modules/fontkit/dist/browser-module.mjs EVERYTHING IT DRAGS IN WAS CHECKED, 3 September 2026, because this site is a commercial product whose users redistribute what they make in it, so a licence has to permit commercial use AND onward distribution. All fifteen are permissive and all fifteen permit both: MIT fontkit, brotli, restructure, unicode-trie, unicode-properties, dfa, tiny-inflate, pako, clone, fast-deep-equal, base64-js Apache-2.0 @swc/helpers 0BSD tslib Python-2.0 argparse No GPL, no AGPL, no "non-commercial", nothing without a stated licence. qrcode-generator 2.0.4 -> qrcode-generator.js MIT Licence. Copyright (c) 2009 Kazuhiko Arase. https://github.com/kazuhikoarase/qrcode-generator Used by the QR code app. It is NOT loaded on every page: the app's own file brings it in the first time somebody opens that app, and never otherwise. The author's own note applies here as well - "QR Code" is a registered trademark of DENSO WAVE INCORPORATED, which is a trademark on the name and not a restriction on generating the codes. @resvg/resvg-wasm 2.6.2 -> resvg.js + resvg.wasm Mozilla Public Licence 2.0 (MPL-2.0). Copyright (c) yisibl and the resvg contributors. https://github.com/thx/resvg-js (the browser build of the Rust resvg engine, https://github.com/linebender/resvg) Draws an SVG into pixels the same way on every machine. Brought in on 15 September 2026, with Mounir's yes, so that a PNG or JPG comes out identical on Safari and Chrome and no longer depends on whatever the browser's own canvas can or cannot do. It is NOT loaded on every page: 2.4 MB, fetched the first time somebody exports in a session, and never otherwise. THIS ONE IS NOT MIT, AND THE DIFFERENCE IS SMALL BUT REAL. MPL-2.0 allows commercial use, distribution and sale, and does not require Templette's own code to be published. Its conditions are: - if resvg's OWN files are ever changed, those changes must be published under MPL-2.0. They have not been changed; both files are the published build, byte for byte. - whoever receives the compiled form must be told where the source is. It is at the two addresses above. That line is this obligation being met. Licence text: https://www.mozilla.org/MPL/2.0/ Approved by Mounir on 15 September 2026, having been told the above. Removed the same day it was added, 16 September 2026 --------------------------------------------------- svg2pdf.js 2.8.1 (86 KB, MIT). It turned a design's description into PDF drawing commands, so a PDF carried real shapes instead of a photograph of the page — 36 KB instead of 940, and sharp at any enlargement. It would not build Mounir's own posters, three attempts running, and he asked for the working version back. The file and this entry went together: a bundled library nothing loads is dead weight every visitor pays for. To bring it back: npm install svg2pdf.js@2, copy dist/svg2pdf.umd.min.js into this folder, and see RENDER-PLAN.md for what it was wired to. It attaches itself to jsPDF rather than standing alone, so jsPDF has to be loaded first, and every letter must already be an outline before the SVG reaches it — it cannot set text in this site's fonts. Cloudflare Turnstile is loaded from Cloudflare rather than bundled here. It is a hosted service, used under Cloudflare's own terms, not an open source licence. The MIT Licence --------------- Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. If you re-run fetch-vendor.command and it pulls newer versions, update the version numbers above. If you ever add a library, check its licence first: MIT, BSD and Apache-2.0 are fine. MPL-2.0 is fine as long as the library's own files are not edited (resvg, above). Anything saying GPL or AGPL is not - those can require you to publish your own source code. Removed on 18 August 2026 ------------------------- ag-psd 21.0.0 (733 KB) and html2canvas 1.4.1 (194 KB). Both were downloaded by every visitor on every visit; together, 927 KB of roughly 3.2 MB. html2canvas turned part of a page into a picture. Nothing in Templette ever called it - the word appeared once in the whole app, on the line that loaded it. It was most likely added when "export as PNG" was going to work by screenshotting the screen, and left behind when the app began drawing to a canvas directly instead. That is also why exports are sharp at any size. ag-psd read and wrote Photoshop files, and was used by one function: exportPSD(). PSD export was hidden that morning and dropped for good that afternoon, so the library went with it. Neither was removed to save the licence obligation - both are MIT and both were fine to keep. They were removed because a visitor should not download a third of a megabyte for a button that does not exist. If PSD export is ever wanted again, it needs all three parts back: the library here, the script tag in index.html, and exportPSD() plus its button. Each of those three places says so.