chore(release): v0.11.0
Some checks failed
Some checks failed
This commit is contained in:
parent
38b6b81cd7
commit
b16b7aaf0b
3 changed files with 22 additions and 20 deletions
21
CHANGELOG.md
21
CHANGELOG.md
|
|
@ -7,6 +7,27 @@ change type. Preview the next one with `ludic dev release --dry-run`.
|
||||||
A released section may carry a hand-written summary paragraph above its groups
|
A released section may carry a hand-written summary paragraph above its groups
|
||||||
(v0.2.0 has one); the generated bullets below it are not edited by hand.
|
(v0.2.0 has one); the generated bullets below it are not edited by hand.
|
||||||
|
|
||||||
|
## v0.11.0 — 2026-09-12
|
||||||
|
|
||||||
|
### Features
|
||||||
|
|
||||||
|
- **`App.set_icon(path)`** — an icon for a binary that has no bundle to take one from.
|
||||||
|
|
||||||
|
`ludic bundle` builds an `AppIcon.icns` and macOS reads it from the `.app`, so a
|
||||||
|
shipped game has an icon. `ludic build` produces a bare executable, which has no
|
||||||
|
bundle, no `CFBundleIconFile` and therefore no icon at all — macOS draws the generic
|
||||||
|
green "exec" tile in the Dock. That is the build a developer runs all day and the one
|
||||||
|
they see every session, so "my game has no icon" is true long before it ships.
|
||||||
|
|
||||||
|
```ludic
|
||||||
|
App.set_icon("assets/app/icon.png")
|
||||||
|
```
|
||||||
|
|
||||||
|
The path resolves through the pack first and the filesystem second, like every other
|
||||||
|
asset, so the same call works packed and unpacked — it does not repeat `Audio.load`'s
|
||||||
|
trick of taking a filesystem path only. An image that cannot be found or decoded
|
||||||
|
leaves the current icon alone rather than clearing it, calling it in a bundled app is
|
||||||
|
a harmless no-op, and a headless build compiles it away to nothing.
|
||||||
## v0.10.1 — 2026-09-11
|
## v0.10.1 — 2026-09-11
|
||||||
|
|
||||||
### Fixes
|
### Fixes
|
||||||
|
|
|
||||||
2
VERSION
2
VERSION
|
|
@ -1 +1 @@
|
||||||
0.10.1
|
0.11.0
|
||||||
|
|
|
||||||
|
|
@ -1,19 +0,0 @@
|
||||||
bump: minor
|
|
||||||
type: feat
|
|
||||||
**`App.set_icon(path)`** — an icon for a binary that has no bundle to take one from.
|
|
||||||
|
|
||||||
`ludic bundle` builds an `AppIcon.icns` and macOS reads it from the `.app`, so a
|
|
||||||
shipped game has an icon. `ludic build` produces a bare executable, which has no
|
|
||||||
bundle, no `CFBundleIconFile` and therefore no icon at all — macOS draws the generic
|
|
||||||
green "exec" tile in the Dock. That is the build a developer runs all day and the one
|
|
||||||
they see every session, so "my game has no icon" is true long before it ships.
|
|
||||||
|
|
||||||
```ludic
|
|
||||||
App.set_icon("assets/app/icon.png")
|
|
||||||
```
|
|
||||||
|
|
||||||
The path resolves through the pack first and the filesystem second, like every other
|
|
||||||
asset, so the same call works packed and unpacked — it does not repeat `Audio.load`'s
|
|
||||||
trick of taking a filesystem path only. An image that cannot be found or decoded
|
|
||||||
leaves the current icon alone rather than clearing it, calling it in a bundled app is
|
|
||||||
a harmless no-op, and a headless build compiles it away to nothing.
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue