Repository navigation
Releases: dennougorilla/foil
Release list
v0.16.0
New
- Pixel art (#46). Fine-tune → Card → Pixel art redraws the card as pixel art: Off, Chunky, Retro or Fine, with Adjust for coarseness, colors, outline and dither. Area: the whole card, or the frame only (the picture stays as it is). The words stay readable: they are printed crisp in a pixel typeface (DotGothic16) on the same grid. The finish's light steps on the pixels only where pixel art is, and the hand, binder and every exported file show the same card. Pixelate stays beside it as its own slider for the picture alone.
Changed
- CRT filter (#52). It now looks like a real CRT screen: rounded dark corners, bright scanlines, an RGB aperture grille, a soft glow, a faint color fringe toward the edges, and faint grain and flicker (none under reduced motion). It is off by default, and everyone starts with it off once (the setting is saved under a new name). Slower devices drop its glow, the slowest the whole filter. Exported files never have it.
Full Changelog: v0.15.0...v0.16.0 (PR #53)
v0.15.0
New
- Three new finishes. Chameleon (color-shift car paint that flows from violet to gold as the card tilts) joins the Metal pack; Rainy Window (the picture behind fogged, rainy glass you can wipe with a finger) and Marble (suminagashi ink rings that swirl after your finger) join the Nature pack. 36 finishes in all. Finishes you own stay yours; Metal and Nature are sealed again and say what they add.
- Backdrops (#44). Fine-tune → Card → Backdrop: Swirl, Felt, Studio, Velvet, Bokeh, Stars, Confetti, Plain (your color) or Transparent. The GIF, APNG and MP4 now show the same backdrop, moving with the loop. Transparent makes the GIF and APNG clear; an MP4 has no transparency, so it comes out black.
- Use as the whole card (#45). A picture that already is a card (frame and words drawn in) can be the card itself: no FOIL frame, nameplate or message, in the picture's own proportions, with only the finish on it. Pixel art is enlarged with hard pixels.
Changed
- Wording (#38). A pass over the interface texts in both languages, with one name for each thing (
docs/glossary.md); the Balatro credit is one line.
Full Changelog: v0.14.1...v0.15.0 (PR #51)
v0.14.1
New
- Open all (#43). The pack shop has an Open all button under Open pack: tap it twice and every sealed pack on the tray opens at once, without the openings, and the haul shows as one list, a row per pack. Each opening can still be watched from the shop.
- Packs reorganized (#43). A new Jewel pack (Crystal, Opal, Raden, Kintsugi), and the Supporter pack is now the celebration pack (Confetti, Snow Globe, Fireworks). Finishes you own stay yours; a pack that gained a finish is sealed again and says what it adds.
- Edit deck opens on All (#43). One list, your hand first, then by family, with a pip for each card's pack; the tabs still narrow to one pack.
- Smoother on low-priced Android phones (#31). One quality table for the whole page steps the card, the backdrop and the sparks down on a slow device and climbs back when it can. Add
?fps=1to the address for a small frame-rate meter.
Fixed
- Free placement: the print menu and the yellow guides no longer stay on screen or follow the page when it scrolls (#49).
- Edit deck: the tabs have room above the cards, and scrolled cards fade out beneath them instead of being cut on a hard line.
Full Changelog: v0.14.0...v0.14.1 (PR #50)
v0.14.0
New
- On the home screen (#32). Install FOIL from the browser and it opens like an app, offline too. A picture sent from a photo app's share menu (Android, desktop Chrome) goes straight onto the card, and a small Update chip says when a new version is ready.
- MP4 for Instagram (#42). Save or share the card as an MP4 video (1080 × 1350, H.264) where the browser can encode it. The still PNG format is gone; GIF and APNG stay.
Fixed
- A card kept in the binder keeps its brush strokes and brings them back to the stage (#36).
- A wide trading card sets its words beside the picture, and the text area covers the words alone (#37).
Known issues
- Snow Globe stays a hand-shaken physics simulation, so its GIF / APNG loop can jump. Finishes that change when you touch them or that run a physics simulation do not have to loop seamlessly in a file (#35).
- Offline, a font the service worker already keeps is still fetched from the network in the background, which logs an unhandled rejection (harmless; the kept font is used).
- Low-end Android performance (#31) and opening every pack at once (#43) come in v0.14.1.
Full Changelog: v0.13.1...v0.14.0 (PR #47)
v0.13.1
Highlights
- Lighter, faster first load: about a third less JavaScript up front (118 → 74.8 kB gzip for an English page, 76.3 kB Japanese), CSS 25.2 → 14.6 kB; the page and the card show sooner (GPU first card frame 1031 → 937 ms; slow 4G + 4× CPU 2581 → 1858 ms). Fine-tune's tabs, the motion tray, the exporters, the decoders and the other language load when first used. Details:
docs/performance.md. - One list of motions: the motion picked on screen is the motion of the GIF and APNG — 20 motions in four groups (Gentle, Tilt, Light, Showpiece) plus None, each with its own loop (2, 3 or 6 s at speed 1). The card on the stage, left alone, is the exact preview of the file; only a hand on the card changes it. Details:
docs/motion.md. - Merged: Showcase (the v0.12 export motion) into Gyre; Moment and Glint into Glint. A motion picked for exports in v0.13.0 carries over once as the card's motion.
Changes to know
- Blacklight's GIF/APNG is a little darker than in v0.13.0: the lamp in a file glows as dim as on the stage left alone.
- The card no longer leans toward a pointer that is only on the stage, not on the card.
- Touch finishes (Warmth…) get an unseen finger stroking the picture once per loop in files, as before; the Save options now say so.
Known issues
- On phones the motion tray covers the lower half of the card while it is open.
- Safari and Firefox may paint once with the fallback font on a slow line before the pixel font arrives.
What's Changed
New
- v0.13.1: lighter first load (118 → 75 kB JS) and one list of motions (the screen is the GIF's preview) by @dennougorilla in #30
Full Changelog: v0.13.0...v0.13.1
v0.13.0
Highlights
- Card shapes. Besides the trading card (still the default): wide, square, postcard (upright
and on its side) and business card, under Fine-tune → Card. Exports take the card's shape.
Two frames for celebration cards: Gold rim and Ribbon. - Messages and the trading-card layout. Up to four lines on the picture (pixel face by
default, or hand, serif and pop faces). A trading-card layout with a name bar, type line, effect
box and footer. Every piece of text can have its own print (tap it on the card), and Free
placement lets you drag, size and turn the words on the card. - Layers. A second finish on top of the first, each with its own area, where they overlap
adding light or laying over (Fine-tune → Layers). - Binder. Keep cards in this browser: play them back onto the stage, discard with Undo, drag
them between pockets, turn the pages. - Share. Where the share sheet takes files (most phones), Share sends a small moving GIF of the
card with a link to FOIL (the GIF alone on a Mac). - A new card back and motion. A pixel card back with FOIL's letter tiles in gold foil, on every
shape. Ten idle motions, switched in one tap from the motion button above the deck, with sliders
for speed and size. GIF and APNG loops now move exactly as the card does on the stage. - Export motions. Under the GIF/APNG options the loop can take a motion made to show the foil
off: Gyre, Jelly, Lean, Showcase (v0.12's export motion), Sweep, Figure 8, Moment, Reveal,
Push in, Heartbeat, Light bar, Spotlight and Flare. As on screen stays the default. - Phones held upright. The card fills the screen, with a slim header and one slim bar below for picking a picture, the format, Keep, Share and Save.
- README rewritten in English and Japanese, new OG image.
Known issues
- First-load JavaScript grew from 84 kB to 118 kB (gzip). The largest share is the message
features (about +15 kB: the message panel, the trading-card face, per-piece prints and the
free-placement editor), then motion (about +6 kB: card back, motion tray, export motions) and
layers (about +5 kB); the binder, packs and depth model still load on demand. - The export motions made for exports have a fixed length (2–3 s) and do not follow an orbiting
light; they are candidates for the owner to narrow down. - On the trading-card layout the Gold rim's inner rule and the Ribbon are not drawn (their colors
apply), and on the wide shapes its bars and effect box get cramped. - The Text area on a trading card with a type line or effect box can take in some of the art.
- Brush strokes of the Finish area are kept on a fixed grid, so after a change of shape they stretch.
- Words placed freely over the name take the name's print where the two overlap.
- The binder keeps a card's settings and picture, not its brush strokes or Flip Lenticular's second
picture; two very quick Keeps right at the binder's limit can both get in. - Turning a tablet while the binder is open can show a different page than the one you were on.
- Carried over: Snow Globe's export loop can show a seam; toasts can cover the hand's caption.
More: docs/features.md · how the branches were brought together: docs/integration-v0.13.md
What's Changed
New
- v0.13.0: card shapes, binder and share, messages, layers, new motions, phone stage by @dennougorilla in #29
Full Changelog: v0.12.0...v0.13.0
v0.12.0
Highlights
The side panel is remade in the game's own grammar, in place of the v0.10 print-shop job ticket that didn't fit the dark pixel UI around it.
- One slate board with a light rim, a black outline and a deep drop; on it three sunken boxes, one per step, each under a small coloured label: blue for the picture, orange for the finish and Fine-tune, red for Save.
- Thick colour slabs with a dark underside: they swell and wobble a little under the pointer and sink when pressed (under reduced motion they still sink, without the swell).
- Values sit large in dark pockets and pop whenever they change.
- Chosen options turn card-white and stand up, the open tab lifts, a green gem marks a changed tab, keyboard focus is a white ring.
- Saving turns Save green for a moment with a gold "done" tag.
- Shine, Lettering and Finish area controls use the same slabs. White text reaches 4.5:1 on every colour.
- Unchanged: the flow (picture → finish → Save), one Save button, Fine-tune folded, the pinned Save box, the phone layout, and every finish and export.
Known issues
- The phone Save box is still tall.
- The English format notes ("Still, clear", "Loop, small", "Loop, clear") can read as ambiguous.
- Inside Fine-tune, the long sliders and the tab row still read like a generic settings list.
- Scanlines over small text (the app-wide CRT toggle turns them off).
- Snow Globe's export loop seam (from v0.11.0) is still open.
What's Changed
New
- Side panel remade in the game's grammar (v0.12.0) by @dennougorilla in #28
Full Changelog: v0.11.0...v0.12.0
v0.11.0
Highlights
- Theme packs: every finish beyond the seven starters now comes in a pack — Metal, Light, Nature, Studio, and the Supporter pack that appears once a support link is opened. Open one in the pack shop (trace to tear, swipe through, the rarest last), keep a hand of seven and put the rest in your deck, edited like a card game's deck screen. A pack's shaders load only when it is opened or one of its finishes is in your hand. Finishes unlocked by the earlier support links carry over as opened packs.
- Ten new finishes: Platinum and Cosmo Holo (Metal), Glow and Blacklight (Light), Stardust and Snow Globe (Nature), Stained Glass, Flip Lenticular and 3D Lenticular (Studio), Confetti and the reworked Fireworks (Supporter). Raden and Opal were remade to read as the real materials.
| Pack | Finishes (last = showpiece) |
|---|---|
| Metal | Relief, Gold, Platinum, Cosmo Holo, Crystal |
| Light | Galaxy, Aurora, Glow, Blacklight, Shallows |
| Nature | Sakura, Frost, Stardust, Snow Globe, Magma |
| Studio | Halftone, Warmth, Stained Glass, Flip Lenticular, 3D Lenticular, Shadowbox |
| Supporter | Opal, Raden, Confetti, Fireworks, Kintsugi |
Integration decisions
- Packs are grouped by what a finish is: metals and metal foil in Metal (Crystal stays its showpiece), sources of light in Light, sky and weather in Nature, print-shop crafts in Studio (the one pack of six), celebration finishes in Supporter. Existing finishes kept their packs; every pack has five or six.
- Shader numbers: Stained Glass moved to 26 (Platinum keeps 24), Stardust to 22. Blacklight's lamp uniform is
uUvLampso it links beside Glow'suLampin the Light pack. - First-load JS is 85.3 kB gzip (v0.9.3: 98 kB, v0.10.0: 99.5 kB); a unit test keeps every pack's shader code out of the first load.
- Existing finishes look exactly as before (export frames compared pixel for pixel with v0.10.0).
Known issues
- Snow Globe's exported GIF/APNG loop jumps at the seam (its flakes are simulated step by step).
What's Changed
New
- Theme packs with ten new finishes (v0.11.0) by @dennougorilla in #27
Full Changelog: v0.10.0...v0.11.0
v0.10.0
Highlights
- The side panel is the card's job ticket: three numbered steps (picture → finish → export) on a printed ticket, a live proof of the card in step 2, steps 1–2 fold to one line while Fine-tune is open, and the Light & motion tab is now Shine.
- Phones: the hand sits right under the card, so card and hand fit on the first screen above Save; flick the card sideways or tap ‹ › to switch finishes. The card tilts with the device all the time (iOS asks once, on the first tap), replacing the Gyro light mode. Slow devices lower the drawing resolution step by step (
?quality=0…3pins a level); exports stay at full quality.
Integration notes: a tune saved with the removed Gyro light starts over from the defaults. A hand of more than seven cards (all secrets unlocked) deals in two rows on phones and the card shrinks to fit a 667 px screen.
What's Changed
New
- Side panel as a job ticket, and a phone stage (v0.10.0) by @dennougorilla in #26
Full Changelog: v0.9.3...v0.10.0
v0.9.3
What's Changed
Highlights
- Video (MP4/WebM) export is gone; GIF and APNG cover looping exports. Closes #12.
New
- v0.9.3: 動画 (MP4/WebM) の書き出しを削除 by @dennougorilla in #25
Full Changelog: v0.9.2...v0.9.3