Skip to content

Commit 790e3c7

Browse files
chore(release): prep 4.5.7 - macOS video layer stays centered during live resize (#80)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
1 parent 1af8782 commit 790e3c7

2 files changed

Lines changed: 11 additions & 3 deletions

File tree

CHANGELOG.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,14 @@ the public-API contract.
1010

1111
## [Unreleased]
1212

13+
## [4.5.7] — 2026-06-27
14+
15+
### Fixed
16+
17+
- **On macOS the video image slid off-center during a live window resize, snapping back centered once the drag ended (#80).** The hosted video `CALayer` was added as a sublayer with no autoresizing mask, so its frame only caught up on the next `layout()` pass, a frame behind the continuously-changing view `bounds` during the drag. Because an `NSView`'s backing layer is anchored bottom-left, that one-pass lag read as the image drifting off-center while resizing. The layer now gets a flexible autoresizing mask (`[.layerWidthSizable, .layerHeightSizable]`) in the AppKit branch, so Core Animation stretches it in lockstep with the superlayer's bounds on every frame; initialized to full bounds, it starts and stays full-bounds (and centered) throughout. AppKit-only branch, so iOS/tvOS are untouched, and no effect on decode, timing, or audio. Reported by reckloon from a downstream consumer (Ocelot).
18+
19+
([release notes](https://github.com/superuser404notfound/AetherEngine/releases/tag/4.5.7))
20+
1321
## [4.5.6] — 2026-06-27
1422

1523
### Fixed

README.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -152,7 +152,7 @@ Subtitle cues land in raw source PTS; render the overlay against `player.sourceT
152152
Install via Swift Package Manager:
153153

154154
```swift
155-
.package(url: "https://github.com/superuser404notfound/AetherEngine", from: "4.5.6")
155+
.package(url: "https://github.com/superuser404notfound/AetherEngine", from: "4.5.7")
156156
```
157157

158158
Two complementary samples ship in `Examples/`:
@@ -275,10 +275,10 @@ Browse all of this as a searchable site at **[aetherengine.superuser404.de](http
275275
AetherEngine uses [Semantic Versioning](https://semver.org). The public API surface — every `public` declaration in `Sources/AetherEngine/` — is the stability contract. **Major** removes / renames public symbols or breaks adopters; **Minor** adds public API or codec / format support; **Patch** fixes bugs with no public API change. `internal` types are not part of the contract.
276276

277277
```swift
278-
.package(url: "https://github.com/superuser404notfound/AetherEngine", from: "4.5.6")
278+
.package(url: "https://github.com/superuser404notfound/AetherEngine", from: "4.5.7")
279279
```
280280

281-
Pin to `.upToNextMinor(from: "4.5.6")` for stricter teams that prefer to opt into minor bumps explicitly.
281+
Pin to `.upToNextMinor(from: "4.5.7")` for stricter teams that prefer to opt into minor bumps explicitly.
282282

283283
## Requirements
284284

0 commit comments

Comments
 (0)