Dylan M. Taylor
0b1688098a
fix(anicraft): preserve invalid envelope diagnostic
2026-11-14 03:12:01 +00:00
Dylan M. Taylor
9a2dafbf7d
Move native format identity into shared crate
2026-11-14 02:47:40 +00:00
Dylan M. Taylor
5df4b49f8c
feat(anicraft-format): extract versioned JSON envelope
2026-11-14 02:46:10 +00:00
Dylan M. Taylor
de7640a006
feat(xml): preserve strict end-tag parsing as an option
2026-11-13 21:11:56 -05:00
alehel and Claude Opus 5.5
7c652beec4
craft-audio: review fixes, round 1 ( #446 )
...
- `Encoder::with_application` checks the channel count before clamping
the bitrate, so 86 channels or more return `Error::Channels` instead
of panicking in `clamp`. Tested with 86 and 255.
- The ffmpeg oracle test skips a missing `opus`/`libopus` decoder
through the testkit's `skip`, so `CRAFT_MEDIA_REQUIRE_ORACLES=1` fails
it.
- README: the encode example pads at least the pre-skip after the audio
before rounding up to a frame, so the encoder delay is flushed; the
MP4 note says an explicit edit replaces the `media_start` edit and
gives its fields.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-11-13 21:09:46 -05:00
alehel and Claude Opus 5.5
bdf8cb2a19
craft-audio: Opus encoder
...
EffectCraft's `effectcraft-opusenc` as `opus::encoder` (and
`opus::Encoder`) behind `opus-encode`: SILK, hybrid and CELT, 48 kHz,
20 ms frames, mono or stereo. The constructors and `encode_float`
return `Result` instead of panicking. `Bandwidth` is one type for the
decoder and the encoder, and the two `Mode` enums convert into each
other. `encode` now turns on `opus-encode`.
The encoder tests (modes, ffmpeg's two Opus decoders as oracles) and
`TrackDecoder` on Opus without an `OpusHead` come with it.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-11-13 21:09:46 -05:00
Dylan M. Taylor
dc200ff58c
Merge pull request #1236 from dylanmtaylor/codex/eps-postscript-vm
...
Add reusable PostScript VM stack operators
2026-11-13 20:59:50 -05:00
Dylan M. Taylor
948b5c23c1
Merge pull request #1222 from dylanmtaylor/codex/gif-animation-writer
...
Add shared animated GIF writer
2026-11-13 20:23:11 -05:00
Dylan M. Taylor
39f45eda55
Avoid ambiguous empty stack assertions
2026-11-14 00:48:11 +00:00
Dylan M. Taylor
6d620e971e
Merge pull request #1229 from storytold/codex/craft-jxl-extraction
...
Add shared JPEG XL decoder and encoder
2026-11-13 19:39:17 -05:00
Dylan M. Taylor
26feec69cb
Add reusable PostScript VM stack operators
2026-11-14 00:37:04 +00:00
Dylan M. Taylor
543e5d4983
Validate GIF frame length before copying
2026-11-14 00:34:24 +00:00
Dylan M. Taylor
387c64892b
Merge pull request #1219 from dylanmtaylor/codex/csv-strict-utf8
...
Add strict UTF-8 decoding for delimited text
2026-11-13 19:14:46 -05:00
Dylan M. Taylor
d61671b6de
Preserve JPEG XL metadata and associated alpha
2026-11-13 23:47:44 +00:00
Dylan M. Taylor
d5e9fd7a49
Preserve GIF writer default disposal
2026-11-13 23:37:55 +00:00
Dylan M. Taylor
7bb6c90076
Merge pull request #1228 from storytold/codex/craft-dwg-extraction
...
Add shared DWG-DXF byte bridge
2026-11-13 18:35:13 -05:00
Dylan M. Taylor
2b9a325f57
Merge pull request #1224 from storytold/codex/xlsx-orphan-shared-strings
...
Preserve XLSX shared strings without a relationship
2026-11-13 18:34:55 -05:00
Dylan M. Taylor
6eac66c1fe
Merge remote-tracking branch 'origin/main' into codex/eps-postscript-vm
2026-11-13 23:20:31 +00:00
Dylan M. Taylor
4d322fc5a4
Merge pull request #1218 from dylanmtaylor/codex/eps-postscript-api
...
Add reusable PostScript EPS scanner
2026-11-13 18:18:50 -05:00
Dylan M. Taylor
ade25d64eb
Expose structured JPEG XL pixel limits
2026-11-13 23:13:26 +00:00
Dylan M. Taylor
8fcb191515
Preserve JPEG XL color rendering options
2026-11-13 23:06:05 +00:00
Dylan M. Taylor
86621fbab3
Keep GIF render batches palette-quantized
2026-11-13 22:49:33 +00:00
Dylan M. Taylor
9405f3652b
Merge remote-tracking branch 'origin/main' into codex/craft-jxl-extraction
2026-11-13 22:47:47 +00:00
Dylan M. Taylor
4d3e920954
Add shared JPEG XL decoder and encoder
2026-11-13 22:47:47 +00:00
Dylan M. Taylor
888bffcbb3
Add shared DWG-DXF byte bridge
2026-11-13 22:45:07 +00:00
Dylan M. Taylor
f399135165
Merge remote-tracking branch 'origin/main' into codex/gif-animation-writer
2026-11-13 22:22:08 +00:00
Dylan M. Taylor
68b8171b0d
Merge pull request #1215 from dylanmtaylor/codex/lightcraft-gif-frame-decode
...
gif: bound frame decoding and expose ICC metadata
2026-11-13 17:18:28 -05:00
Dylan M. Taylor
a9080bf1fd
Merge remote-tracking branch 'origin/main' into codex/eps-postscript-api
2026-11-13 22:16:25 +00:00
Dylan M. Taylor
2fea4b4ce2
Merge pull request #1217 from dylanmtaylor/codex/eps-embedded-font-fix
...
Fix EPS embedded font token scanning
2026-11-13 17:15:50 -05:00
Dylan M. Taylor
6d0b33c0cd
Read conventional XLSX shared strings without a relationship
2026-11-13 22:11:05 +00:00
Dylan M. Taylor
6159ef9c39
Bound streaming GIF writer lifecycle
2026-11-13 22:09:54 +00:00
Dylan M. Taylor
8b8603c6e7
Support streaming animated GIF output
2026-11-13 22:08:57 +00:00
Dylan M. Taylor
2b4f6b4f87
Add shared animated GIF writer
2026-11-13 22:05:00 +00:00
Dylan M. Taylor
d62c51645e
Add bounded PostScript VM primitives
2026-11-13 21:59:03 +00:00
Dylan M. Taylor
69e457a8eb
Add strict UTF-8 text decoder
2026-11-13 21:38:11 +00:00
Dylan M. Taylor
ab51daff1a
Respect PostScript delimiters after literal names
2026-11-13 21:29:53 +00:00
Dylan M. Taylor
74337e8fc5
fix(gif): report frame cap after merging
2026-11-13 21:27:44 +00:00
Dylan M. Taylor
4cc86fc7cf
Add reusable PostScript EPS scanner
2026-11-13 21:21:47 +00:00
Dylan M. Taylor
24a011ae59
Fix lexical EPS embedded font scanning
2026-11-13 21:17:24 +00:00
Dylan M. Taylor
830e897714
Merge craft-libs main after GIF limits
2026-11-13 21:09:43 +00:00
Dylan M. Taylor
b5b8a7750d
Merge pull request #1192 from dylanmtaylor/codex/effectcraft-shared-format-cutover
...
fix: bound GIF allocations and clarify WebP canvas limits
2026-11-13 16:06:01 -05:00
Dylan M. Taylor
61cfc7f3d1
Merge pull request #1212 from storytold/codex/craft-eps-fontscan
...
Extract embedded PostScript font scanning to craft-eps
2026-11-13 16:05:35 -05:00
Dylan M. Taylor
acfcaa1b0e
Merge pull request #1209 from storytold/fix/csv-delimiter-quote-boundaries
...
fix(csv): preserve quoted delimiter coherence
2026-11-13 15:51:25 -05:00
Dylan M. Taylor
669d62e755
docs(gif): clarify combined allocation budget
2026-11-13 20:36:02 +00:00
Dylan M. Taylor
dd21ee372d
Merge remote-tracking branch 'origin/main' into codex/effectcraft-gif-review-fix
2026-11-13 20:11:02 +00:00
Dylan M. Taylor
142102fc94
Merge remote-tracking branch 'origin/main' into codex/craft-eps-fontscan
2026-11-13 20:02:18 +00:00
Dylan M. Taylor
ededdd75c9
gif: expose first-frame data byte count
2026-11-13 19:51:49 +00:00
Dylan M. Taylor
0b73ba5337
Clarify GIF decoder combined allocation budget
2026-11-13 19:43:38 +00:00
Dylan M. Taylor
415dc3204c
fix(csv): preserve bounded delimiter sampling
2026-11-13 19:25:10 +00:00
Dylan M. Taylor
3c51d88330
gif: stop at requested frame limit
2026-11-13 19:20:05 +00:00