Repository navigation
0.3.1
Added
-
ProjectEditorandWorkspaceEditornow expose component snapshot/restore for undo/redo (or any
save-and-revert-a-single-part need), so a consumer never has to serialise or parse workspace JSON
itself — the editors, already the validated-mutation authorities, own it:ProjectEditor::snapshot()/restore(str)— a compact serialisation of one project (inputs,
outputs, profile links, output-profile selection, output dir, render baselines).restorereinstalls
the content in place, rebuilds the lookup tables, and applies the private profile-link fields through
the friend path; the projectnameis preserved (it belongs to the workspace scope).WorkspaceEditor::snapshotMeta()/restoreMeta(str)— workspace-level metadata only: the canvas
and output palettes plus the project(uid, name)roster, without project contents.restoreMeta
reinstalls the palettes through the validated setters (ids preserved, presets stripped,templateInfo
restored exactly) and restores project names by uid, leaving inputs/outputs untouched.
The two are scoped so a workspace-level restore can never resurrect project content reverted on a
project's own timeline. (Internally, the Models JSON codec moved fromworkspace_serializer.cppto a
sharedmodel_jsonunit both the serializer and the editors use;WorkspaceSerializer's public API
is unchanged.) -
Five new platform output presets. Alongside "Webtoon Standard", the catalogue now ships presets
for Tapas, NAMICOMI, GlobalComix, Popjoy and ComicFury/indie-web. Design rule: a preset must always
produce an uploadable file for its platform — slice heights are kept conservative (≈1.4–3.3 MP) and
compressed formats preferred; users who want to push size/quality do it in a custom profile.- Tapas —
940 × 1504, JPEG. 940px width is required, with a 2 MB per-file limit; the height
keeps Webtoon's1:1.6ratio (940 × 1.6 = 1504) and a q90 JPEG stays well under 2 MB. - NAMICOMI —
1200 × 1600, PNG. The platform allows a 250 MB per-chapter budget, so lossless
is free and its creators prefer it — the one non-lossy preset. - GlobalComix (HD) —
1280 × 2560, WebP. The platform promotes HD and fully supports WebP,
which keeps a tall HD slice uploadable (smaller than the equivalent JPEG). - Popjoy —
1000 × 2000, JPEG. Targets high-DPI phone screens; 2 MP q90 stays well under a
typical per-file limit. - ComicFury / Indie —
950 × 1500, JPEG. A layout-safe width for classic web CMS templates.
All resolve from the compile-time catalogue like "Webtoon Standard" (stable ids
op-preset-tapas,
op-preset-namicomi,op-preset-globalcomix,op-preset-popjoy,op-preset-comicfury; never
persisted); consumers that listoutputProfilePresets()— the CLI and the GUI — pick them up
automatically. - Tapas —
Packaging
- The MinGW build no longer depends on MSYS2's libvips (or on an MSVC build). Both Windows
toolchains now fetch the same pinned prebuilt "web" libvips viaFetchContent(each into its own
build tree, so the branches are independent). MinGW previously used MSYS2'smingw-w64-x86_64-libvips
through pkg-config — the full build (~92 DLLs / ~34 MB, plusvips-modules"unable to load …"
warnings). The slim web build cuts the bundled third-party DLLs to ~40 (~25 MB with the MinGW
runtime) and drops the module warnings. MinGW links the Clibvipsonly (the web zip's C++
runtime is LLVM libc++, ABI-incompatible with libstdc++, but Platemaker uses only the vips C API,
whose ABI is stable across runtimes) — linking directly against the DLL, so no.lib/.def/dlltool
step is needed. Building on MinGW now requires only the MSYS2 toolchain (gcc,ninja); no
mingw-w64-x86_64-libvipspackage and noPKG_CONFIG_PATH.
Full Changelog: 0.3.0...0.3.1