Commit Graph
5998 Commits
Author SHA1 Message Date
BFlat 3965fdf319 Merge pull request #4274 from nrq6993-a11y/stream/vc-feat3-g2-scribble-settings-presets
G2: Scribble effect Settings presets
2026-10-27 15:09:33 +07:00
BFlat c3df88b724 Merge pull request #4195 from dotCooCoo/fix/new-brush-keeps-captured-art
Brushes: New Brush makes the brush from the art its options opened with
2026-10-27 15:09:22 +07:00
BFlat 32d061db7f Merge pull request #4309 from nrq6993-a11y/stream/vc-feat3-g4-mixed-optical-margin
G4: Optical margin menu uses shared text flag
2026-10-27 15:09:07 +07:00
BFlat 355dcf53d6 Merge pull request #4288 from Silvertree2010/fix/h2791-mcp-resource-uri-percent-decoder
Only treat % plus two hex digits as an escape in MCP resource URIs
2026-10-27 15:08:50 +07:00
BFlat 8d854bda27 Merge pull request #4304 from Silvertree2010/fix/h2808-shape-polygon-and-shape-star-sil
Accept whole-number floats and reject invalid counts for polygon, star and spiral
2026-10-27 15:08:35 +07:00
BFlat b35cc1bdd4 Merge pull request #4308 from rahul05ranjan/r18-proxy-cap
fix(doc): decode the linked-image proxy within MAX_RASTER_ALLOC (#3597)
2026-10-27 15:07:41 +07:00
BFlat 06ff5201cb Merge pull request #4310 from rahul05ranjan/r18-json-cap
fix(format): cap a compressed file's JSON at 256 MB on wasm32 (#3587)
2026-10-27 15:07:27 +07:00
nrq6993-a11y dfec712c2d G2: Scribble effect Settings presets
Squashed from #4274 onto main.
2026-10-27 14:36:12 +07:00
dotCooCoo ca60c8e8a7 Brushes: New Brush makes the brush from the art its options opened with
OK in a new scatter, art or pattern brush's Brush Options ran brush.new
without the art the dialog had captured for its preview, so brush.new
read the selection again. A selection changed while the dialog was open
gave the brush other art than the preview showed, and a cleared
selection made OK fail. OK now passes the captured art (the side tile
for a pattern brush) to brush.new.
2026-10-27 14:36:12 +07:00
nrq6993-a11y 678cff6707 G4: Optical margin menu uses shared text flag
Squashed from #4309 onto main.
2026-10-27 14:36:12 +07:00
NetterSilverandClaude Haiku 5.5 76e0e5b0ac Only treat % plus two hex digits as an escape in MCP resource URIs
Found while testing crates/mcp/src/resources.rs:169 (decode)

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-27 14:36:12 +07:00
NetterSilverandClaude Haiku 5.5 23f0d323b0 Accept whole-number floats and reject invalid counts for polygon, star and spiral
Found while testing crates/engine/src/cmd/create.rs:344 (polygon) and :358 (star; shape.spiral `segments` at :507 reads the same way)

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-27 14:36:12 +07:00
Rahulandrahul05ranjan 6213302260 fix(doc): decode the linked-image proxy within MAX_RASTER_ALLOC (#3597)
proxy_png decoded with image's default limits and no header check, while
every other decode path in the project uses MAX_RASTER_ALLOC counted as
RGBA. The header now decides first, and the decoder gets the same budget,
so an image too large to draw gets no preview by header alone, and a
large-but-in-cap image the app itself can open now gets its preview.

Co-authored-by: rahul05ranjan <11793455+rahul05ranjan@users.noreply.github.com>
2026-10-27 14:36:12 +07:00
bflatastic d6331bec1c Format: repeat_n in the JSON cap test (clippy manual_repeat_n) 2026-10-27 14:36:12 +07:00
Rahulandrahul05ranjan 36cc081316 fix(format): cap a compressed file's JSON at 256 MB on wasm32 (#3587)
MAX_JSON was 1 GiB on every target, but on wasm32 the 4 GiB address space
also holds the document the JSON deserializes into, several times its size.
The cap is now a quarter of the native one there, mirroring MAX_BLOBS,
and Unpacked::within makes the cap exercisable wherever a test runs.

Co-authored-by: rahul05ranjan <11793455+rahul05ranjan@users.noreply.github.com>
2026-10-27 14:32:54 +07:00
Rahulandrahul05ranjan 10dfb8b261 fix(format): cap a compressed file's JSON at 256 MB on wasm32 (#3587)
MAX_JSON was 1 GiB on every target, but on wasm32 the 4 GiB address space
also holds the document the JSON deserializes into, several times its size.
The cap is now a quarter of the native one there, mirroring MAX_BLOBS,
and Unpacked::within makes the cap exercisable wherever a test runs.

Co-authored-by: rahul05ranjan <11793455+rahul05ranjan@users.noreply.github.com>
2026-10-27 14:32:54 +07:00
aiongg eb0e99a553 Merge pull request #4294 from aiongg/layout
refactor: shared module layout (craft-contrib#20)
2026-10-26 21:31:59 -04:00
skylar taylor-barrick 5815205324 Merge pull request #4286 from storytold/fix/nextest-0.9.150
ci: require nextest 0.9.150
2026-10-26 18:08:53 -06:00
aiongg e724228e25 docs: update source paths for the moved files 2026-10-26 22:01:25 +00:00
aiongg fafab0d822 ci: follow tests_printps.rs to tests/printps.rs in the print workflow path filters 2026-10-26 22:01:25 +00:00
aiongg 91fe32c816 chore(xtask): read the Cursor enum from tools/src/cursor.rs 2026-10-26 22:01:25 +00:00
aiongg f21dc9e0a3 test(ui-egui): read file_dialog_open from app/files.rs in the picks scan 2026-10-26 22:01:25 +00:00
aiongg 3d39bbb31e refactor(text): move layout.rs wrapping_tests to layout/wrapping_tests.rs 2026-10-26 22:01:25 +00:00
aiongg e0db48ba39 refactor(render): move lib.rs items to {blobs,bounds,clock,frame,geometry,node_checks,options,paint,renderer,renderer/images,renderer/nodes,renderer/paint,renderer/text,text_geom,threads}.rs 2026-10-26 22:01:25 +00:00
aiongg 722ecade76 refactor(eps): move legacy_ai.rs items to legacy_ai/{encoding,prolog,writer}.rs 2026-10-26 22:01:25 +00:00
aiongg 412dbcd632 refactor(svg): move import.rs items to import/{convert,importer,layers,prepass}.rs 2026-10-26 22:01:25 +00:00
aiongg a8935c0ada refactor(text): move layout.rs items to layout/{bidi,breaking,driver,flow,on_path,region,ruby,vertical}.rs 2026-10-26 22:01:25 +00:00
aiongg de14f93c05 refactor(text): move fontdb.rs items to fontdb/{build,cache,db,dirs,face,glyph_pen,lookup,names,scan,traits,wanted}.rs 2026-10-26 22:01:25 +00:00
aiongg 22f59b6aea refactor(trace): move quantize.rs items to quantize/{cut_edge,denoise,palette,rare}.rs 2026-10-26 22:01:25 +00:00
aiongg ef991b9c8a refactor(engine): move lib.rs items to {command_sets,doc_state,error,history,interaction,prefs,sanity,session,session/documents,session/edit,session/execute,session/undo}.rs 2026-10-26 22:01:25 +00:00
aiongg 4f7dd93268 refactor(engine): move cmd/variablecmds.rs items to cmd/variablecmds/{csv,library}.rs 2026-10-26 22:01:25 +00:00
aiongg 43ae75d4dc refactor(engine): move cmd/object.rs items to cmd/object/{align,arrange,bounds,commands,compound,props,shape,spans,transform}.rs 2026-10-26 22:01:25 +00:00
aiongg c662e76b84 refactor(engine): move cmd/live.rs items to cmd/live/{blend,commands,common,envelope,mesh}.rs 2026-10-26 22:01:25 +00:00
aiongg f209d2aba2 refactor(engine): move cmd/graph.rs items to cmd/graph/{axis,columns,commands,data,designs,edit,generate,labels,markers,series}.rs 2026-10-26 22:01:25 +00:00
aiongg f02cf1cb7d refactor(engine): move cmd/flatten.rs items to cmd/flatten/{analysis,apply,commands,compose,options,presets,report}.rs 2026-10-26 22:01:25 +00:00
aiongg fa1848be4c refactor(engine): move cmd/fileio.rs items to cmd/fileio/{access,commands,export_names,formats}.rs 2026-10-26 22:01:25 +00:00
aiongg 2a90e82736 refactor(engine): move cmd/fileio/affinity.rs items to cmd/fileio/affinity/{document,import,layout,master_copies,nodes,paint,text}.rs 2026-10-26 22:01:25 +00:00
aiongg 71aef5cc85 refactor(engine): move cmd/draw2.rs items to cmd/draw2/{anchors,commands,common,cut,freehand,smooth}.rs 2026-10-26 22:01:25 +00:00
aiongg c75c6a9586 refactor(engine): move cmd/distortcmds.rs items to cmd/distortcmds/{perspective}.rs 2026-10-26 22:01:25 +00:00
aiongg c2ead918b1 refactor(engine): move cmd/buildcmds.rs items to cmd/buildcmds/{live_paint,shape_builder,trace}.rs 2026-10-26 22:01:25 +00:00
aiongg 48b3ea91f0 refactor(engine): move cmd/brushsym.rs items to cmd/brushsym/{brushes,symbols}.rs 2026-10-26 22:01:24 +00:00
aiongg 7bbf803f7e refactor(vectorcraft): move main.rs items to {app,host_services,prefs,titlebar}.rs 2026-10-26 22:01:24 +00:00
aiongg c50026fc86 refactor(ui-egui): move lib.rs items to {app,app/clipboard,app/commands,app/control,app/files,app/fonts,app/frame,app/ime,app/input,app/links,app/prefs,app/screenshot,app/view,caches,clock,services,state}.rs 2026-10-26 21:45:33 +00:00
aiongg 055d017603 refactor(ui-egui): move widgets.rs items to widgets/{blend,buttons,chips,color,drag,dropdowns,labels,numeric,panel_chrome,text,toggles}.rs 2026-10-26 21:45:33 +00:00
aiongg b3789b280c refactor(ui-egui): move shortcuts.rs items to shortcuts/{paste,presentation,typing}.rs 2026-10-26 21:45:33 +00:00
aiongg 556825b363 refactor(ui-egui): move panels/swatches.rs items to panels/swatches/{actions,body,dnd,libraries,tiles}.rs 2026-10-26 21:45:33 +00:00
aiongg d8a6f8f3d8 refactor(ui-egui): move panels/layers.rs items to panels/layers/{controls,model,rows,thumbs}.rs 2026-10-26 21:45:33 +00:00
aiongg 16cdbd1b33 refactor(ui-egui): move menus.rs items to menus/{bar,context,entries,invoke,labels,run,slots,state,submenus,tree,ui_commands}.rs 2026-10-26 21:45:33 +00:00
aiongg 5dfd01e1f1 refactor(ui-egui): move io.rs items to io/{export,open,save}.rs 2026-10-26 21:45:33 +00:00
aiongg bd1559b8fe refactor(ui-egui): move chrome.rs items to chrome/{control_bar,hints,status_bar,tabs}.rs 2026-10-26 21:45:33 +00:00