Sample: fit cover title, higher-res cover art; refreshed README screenshots and feature list
Co-Authored-By: Claude Opus 5.5 <[email protected]>
No files matched your search
@@ -29,6 +29,6 @@ Generated-in-code art is original and has no file to list: the UI icon set (`cra
|
||||
| `assets/fonts/SourceSerif4-Semibold.ttf` | Frank Grießhammer / Adobe (released as open source) | https://github.com/adobe-fonts/source-serif | OFL-1.1 (`assets/fonts/OFL-SourceSerif4.txt`) | Open-source typeface |
|
||||
| `docs/images/page-2.png` | DesignCraft contributors | screenshot/render of DesignCraft itself (sample document generated in code) | MIT OR Apache-2.0 | Original; no Adobe UI |
|
||||
| `docs/images/page-3.png` | DesignCraft contributors | screenshot/render of DesignCraft itself (sample document generated in code) | MIT OR Apache-2.0 | Original; no Adobe UI |
|
||||
| `docs/images/page-4.png` | DesignCraft contributors | screenshot/render of DesignCraft itself (sample document generated in code) | MIT OR Apache-2.0 | Original; no Adobe UI |
|
||||
| `docs/images/page-cover.png` | DesignCraft contributors | screenshot/render of DesignCraft itself (sample document generated in code) | MIT OR Apache-2.0 | Original; no Adobe UI |
|
||||
| `docs/images/ui-spread.png` | DesignCraft contributors | screenshot/render of DesignCraft itself (sample document generated in code) | MIT OR Apache-2.0 | Original; no Adobe UI |
|
||||
| `docs/images/ui-typing.png` | DesignCraft contributors | screenshot/render of DesignCraft itself (sample document generated in code) | MIT OR Apache-2.0 | Original; no Adobe UI |
|
||||
@@ -24,7 +24,7 @@ Every page above was laid out by DesignCraft from code (`crates/engine/src/sampl
|
||||
### Why DesignCraft
|
||||
|
||||
- **Familiar.** InDesign's layout, tools, menus, panels and shortcuts: spreads and parent pages, frames and threaded stories, the Control panel, paragraph and character styles, swatches, text wrap… you already know how to use it.
|
||||
- **Beautiful type.** A Knuth–Plass paragraph composer (plus single-line), hyphenation, justification, columns, baseline grid, keeps, tabs, rules and shading — and identical line breaks on screen and in export.
|
||||
- **Beautiful type.** A Knuth–Plass paragraph composer (plus single-line), dictionary hyphenation (public-domain Moby word list + our own trained patterns), word/letter/glyph-scaling justification, keeps, optical margin alignment, columns, baseline grid, tabs, rules and shading — identical line breaks on screen and in PDF.
|
||||
- **Fast.** Multithreaded SIMD rendering (vello_cpu), copy-on-write documents with O(1) undo snapshots, cached composition.
|
||||
- **Open.** A documented native format, IDML import/export, PNG export, and PDF on the roadmap — no subscription, no licence server, no telemetry.
|
||||
- **Agent-native.** Every menu item, tool gesture, panel control and dialog is drivable over a JSON control channel and an **MCP server**, so Claude and other agents can lay out and edit documents like a designer.
|
||||
|
||||
@@ -191,7 +191,7 @@ pub fn magazine() -> Document {
|
||||
"Cover Title",
|
||||
None,
|
||||
ParaAttrs { align: Some(Align::Left), hyphenate: Some(false), ..Default::default() },
|
||||
CharAttrs { leading: Some(Leading::Points(88.0)), tracking: Some(-30.0), fill: Some("[Paper]".into()), ..serif("Bold", 96.0) },
|
||||
CharAttrs { leading: Some(Leading::Points(82.0)), tracking: Some(-30.0), fill: Some("[Paper]".into()), ..serif("Bold", 84.0) },
|
||||
));
|
||||
st.paragraph.push(para_style(
|
||||
"Cover Deck",
|
||||
@@ -232,15 +232,15 @@ pub fn magazine() -> Document {
|
||||
}
|
||||
// Page 1: cover (spread 0, single right page, no parent).
|
||||
let _ = d.apply_parent(&[0], None);
|
||||
let cover_art = image(&mut d, "dusk-cover.png", 1224, 1584, 0.0);
|
||||
graphic_frame(&mut d, SpreadRef::Doc(0), Rect::new(-9.0, -9.0, w + 9.0, h + 9.0), cover_art, (1224, 1584));
|
||||
let cover_art = image(&mut d, "dusk-cover.png", 1400, 1812, 0.0);
|
||||
graphic_frame(&mut d, SpreadRef::Doc(0), Rect::new(-9.0, -9.0, w + 9.0, h + 9.0), cover_art, (1400, 1812));
|
||||
let (_, _) = text(&mut d, SpreadRef::Doc(0), Rect::new(42.0, 60.0, 570.0, 120.0), "THE SPRING ISSUE · NO. 01", "Kicker");
|
||||
if let Some(st) = d.stories.values().last().map(|s| s.id)
|
||||
&& let Some(st) = d.story_mut(st)
|
||||
{
|
||||
st.format_chars(0..st.len(), |f| f.over.fill = Some("[Paper]".into()));
|
||||
}
|
||||
let (_, cs) = text(&mut d, SpreadRef::Doc(0), Rect::new(42.0, 450.0, 570.0, 690.0), "The Quiet\nArt of Layout", "Cover Title");
|
||||
let (_, cs) = text(&mut d, SpreadRef::Doc(0), Rect::new(42.0, 420.0, 570.0, 698.0), "The Quiet\nArt of Layout", "Cover Title");
|
||||
let _ = cs;
|
||||
text(
|
||||
&mut d,
|
||||
|
||||
|
Before Width: | Height: | Size: 204 KiB After Width: | Height: | Size: 204 KiB |
|
Before Width: | Height: | Size: 312 KiB After Width: | Height: | Size: 313 KiB |
|
After Width: | Height: | Size: 86 KiB |
|
Before Width: | Height: | Size: 246 KiB After Width: | Height: | Size: 251 KiB |
|
Before Width: | Height: | Size: 542 KiB After Width: | Height: | Size: 597 KiB |
|
Before Width: | Height: | Size: 166 KiB |