Dylan M. Taylor
d9419a111a
Merge pull request #1136 from alehel/craft-video/mpeg2-encode-ip
...
craft-video: MPEG-2 encoder, first step: I and P pictures (#1133 )
2026-11-13 05:41:51 -05:00
Dylan M. Taylor
ba12997467
Merge pull request #1175 from alehel/claude/avi-muxer
...
craft-media: AVI muxer (AviWriter)
2026-11-13 05:41:45 -05:00
Dylan M. Taylor
58ae17473c
Merge pull request #1179 from dylanmtaylor/codex/stencilcraft-typed-format
...
StencilCraft: share the native document model and codec
2026-11-13 05:33:43 -05:00
Dylan M. Taylor
db49c2d50e
Merge pull request #1165 from storytold/codex/soundcraft-format
...
Add shared SoundCraft session format
2026-11-13 05:26:41 -05:00
Dylan M. Taylor
81b88332b5
Share library and recent files JSON models
2026-11-13 04:34:44 -05:00
Dylan M. Taylor
2f281a419c
Align frame grid lines with typed position rounding
2026-11-13 09:22:49 +00:00
Dylan M. Taylor
b32e55a956
Preserve session repairs and frame grid boundaries
2026-11-13 09:21:57 +00:00
Dylan M. Taylor
10e7f7763a
Test typed StencilCraft document readers
2026-11-13 04:13:55 -05:00
Dylan M. Taylor
68ad072e4a
Merge remote-tracking branch 'origin/main' into codex/soundcraft-format
2026-11-13 09:12:20 +00:00
Dylan M. Taylor
915fc54458
Merge pull request #1164 from storytold/codex/craft-time-soundcraft
...
craft-time: preserve SoundCraft sample-time APIs
2026-11-13 04:10:26 -05:00
Dylan M. Taylor
27d3b4acf5
Keep StencilCraft v1 fixtures with shared document crate
2026-11-13 04:08:30 -05:00
Dylan M. Taylor
7c56d282a2
Merge pull request #1170 from dylanmtaylor/codex/designcraft-format-migration
...
Add reusable document bundle and SVG preflight APIs
2026-11-13 04:03:23 -05:00
Dylan M. Taylor
686b5478ea
Merge pull request #1173 from dylanmtaylor/codex/file-formats-api
...
Add shared file format detection
2026-11-13 03:55:21 -05:00
Dylan M. Taylor
ea24422ae9
Merge pull request #1154 from storytold/codex/778-h264-picnum
...
video: harden H.264 and configure frame limits
2026-11-13 03:49:15 -05:00
Dylan M. Taylor
fd9e3d67e6
Merge pull request #1177 from dylanmtaylor/codex/craft-pcraft-bundle
...
Add shared .pcraft bundle storage
2026-11-13 03:48:30 -05:00
Dylan M. Taylor
166d0d2127
craft-stencilcraft-document: share the native document model
2026-11-13 03:46:47 -05:00
Dylan M. Taylor
370f6714ed
craft-stencilcraft-format: support typed document fields
2026-11-13 03:34:41 -05:00
Dylan M. Taylor
01452740b6
Merge pull request #1169 from dylanmtaylor/codex/stencilcraft-format-api
...
Add bounded common raster codec facade
2026-11-13 03:25:55 -05:00
Dylan M. Taylor
f16d99f71c
fix time parsing and frame boundary edge cases
2026-11-13 07:57:51 +00:00
Dylan M. Taylor
f6cab1980b
Preserve SVG picture fallbacks in the Presentation model
2026-11-13 02:54:31 -05:00
Dylan M. Taylor
55f6235c5b
Simplify gridline no-fill check
2026-11-13 02:54:31 -05:00
Dylan M. Taylor
5e24ea380e
Avoid duplicated timeline time primitives
2026-11-13 07:47:44 +00:00
Dylan M. Taylor
de724aa188
Configure bundle directory save locks
2026-11-13 02:27:57 -05:00
Dylan M. Taylor
c0df5be07d
Reuse verified objects in directory bundles
2026-11-13 02:26:51 -05:00
Dylan M. Taylor
9814469613
Bound extreme H264 POC cycle arithmetic
2026-11-13 07:24:13 +00:00
Dylan M. Taylor
6b8e79294d
Expose bounded pcraft object codecs
2026-11-13 02:23:08 -05:00
Dylan M. Taylor
de087a4524
Expose bounded directory bundle entries
2026-11-13 02:23:08 -05:00
Dylan M. Taylor
b0284aad09
Expose bounded pcraft entry reads
2026-11-13 02:23:08 -05:00
Dylan M. Taylor
fd5133174b
Add shared pcraft bundle storage
2026-11-13 02:23:08 -05:00
Dylan M. Taylor
47107f6601
craft-mesh: retain glTF texture and sampler inventory ( #1151 )
...
* craft-mesh: expose unreferenced glTF texture variants
* mesh: validate texture inventory image indices
* Fix PR 1151 validation and workspace checks
* Fix remaining Rust 1.95 workspace lint findings
* Fix proof workspace Clippy warning
* Fix remaining workspace Clippy findings
* Fix video all-features Clippy warning
* KRA: parse nested layers without recursion
* Preserve KRA layer limit traversal order
* Avoid expect in iterative KRA parser
* OpenRaster: parse nested stacks without recursion
* Plate tests honor optional font fixtures
* Keep bundled font index bytes unchanged
* Preserve font build license fixture bytes
* ci: allow longer workspace test matrix
* test: respect Windows Hunspell path behavior
* ci: provision keymap fonts for all-feature tests
* ci: provision PSD corpus for full workspace tests
2026-11-13 02:17:30 -05:00
Dylan M. Taylor
72d544b707
Merge pull request #1153 from storytold/fix/psd-head-view
...
psd: expose bounded borrowed header resources
2026-11-13 02:15:50 -05:00
Dylan M. Taylor
e2cab3f651
Merge pull request #1158 from storytold/feat/stencilcraft-format
...
Add versioned flattened JSON format schema
2026-11-13 02:13:29 -05:00
Dylan M. Taylor
56a1f2b7c4
Avoid premature saturation in H264 type 1 POC
2026-11-13 07:11:12 +00:00
Dylan M. Taylor
eeee3d08b6
Add shared Base64 PNG helpers
2026-11-13 02:03:55 -05:00
Dylan M. Taylor
c5d1e937ae
feat(materialx): add bounded reader and OpenPBR writer ( #1167 )
...
* feat(materialx): add bounded document reader and OpenPBR writer
* proof, video, latex, cms: satisfy the clippy lints that ship with Rust 1.100
The newer clippy flags needless bool guards and range loops whose index
only indexes one slice; express both with the equivalent iterators so
the workspace lint stays green on every platform.
* cms: index the ink loops instead of a range loop, which newer clippy rejects
* feat(materialx): resolve shader graphs and write OpenPBR materials
* feat(materialx): resolve shader graphs and write OpenPBR materials
2026-11-13 02:03:31 -05:00
Dylan M. Taylor
63196e66f3
Merge pull request #1157 from dylanmtaylor/codex/craft-metafile-hatch-percent
...
metafile: render GDI+ percentage hatch brushes
2026-11-13 02:03:14 -05:00
Dylan M. Taylor
8abfa9d0f1
Classify legacy Excel extensions in shared registry
2026-11-13 01:53:37 -05:00
Dylan M. Taylor
c3a39369ce
Merge pull request #1163 from dylanmtaylor/codex/vp8-consumer-limit
...
video: let VP8 consumers preserve existing frame limits
2026-11-13 01:52:28 -05:00
Dylan M. Taylor
71337f6772
Add shared CSV and TSV file formats
2026-11-13 01:51:08 -05:00
Dylan M. Taylor
fccc008271
Detect DesignCraft and IDML document content
2026-11-13 01:44:49 -05:00
Dylan M. Taylor
b4ada28f19
Fix format registry clippy and add ASE support
2026-11-13 01:37:48 -05:00
alehel
7af2f8e868
craft-media: AVI muxer (AviWriter)
...
Write AVI files: hdrl with avih and one strl (strh, strf, strn, indx) per
stream, odml/dmlh, an interleaved movi and idx1. Past the RIFF limit
(default 1 GiB) the file continues in OpenDML RIFF AVIX extensions with
ix## standard indexes and an indx super index per stream.
- VideoSpec::for_codec builds the stream from CodecParams; MPEG-4 Part 2
is tagged FMP4.
- Audio is timed by bytes (PCM-style) or one packet per chunk.
- Bad options and chunks are errors; finish() closes a readable file
after a failed write.
Tests read the files back through this crate's demuxer by every index,
and through ffmpeg (decode identical to the sources, seeks through the
index, ffprobe fields), in one RIFF and across AVIX extensions. The
MPEG-4 encoder tests play its packets from an AVI file.
2026-11-13 07:34:28 +01:00
alehel
1df8d98c85
craft-video: MPEG-2 encoder, first step: I and P pictures ( #1133 )
...
The start of MPEG-2 encoding in craft_video::mpeg2 (feature
mpeg2-encode): progressive frame pictures, closed I/P GOPs, 4:2:0 Main
Profile and 4:2:2 Profile, constant quantiser or single-pass average
bitrate with adaptive quantisation, half-sample motion search.
The encoder shares the decoder's code tables, IDCT, dequantisation and
motion compensation, so the decoder outputs exactly the encoder's
reconstruction. B pictures, a VBV guarantee, interlaced coding and DVD
or broadcast presets are later steps of #1133 .
The mpeg2 feature is split into mpeg2-decode and mpeg2-encode; mpeg2
still turns on both.
2026-11-13 07:34:05 +01:00
Dylan M. Taylor
47bf5650b0
Expose shared InDesign signature
2026-11-13 01:31:26 -05:00
Dylan M. Taylor
96c8487984
Add shared InDesign conversion facade
2026-11-13 01:30:54 -05:00
Dylan M. Taylor
6ba1ca33ca
Recognize InDesign files in shared registry
2026-11-13 01:27:11 -05:00
Dylan M. Taylor
1f9c271f7d
Recognize legacy Word extension in shared registry
2026-11-13 01:26:09 -05:00
Dylan M. Taylor
32529b94e8
Resolve plain text format extensions
2026-11-13 01:24:40 -05:00
Dylan M. Taylor
fc9ecb40e7
Extend shared file-format registry
2026-11-13 01:22:58 -05:00
Dylan M. Taylor
80731087bf
Merge remote-tracking branch 'origin/main' into codex/1154-main-refresh
2026-11-13 06:10:02 +00:00