Commit Graph
3588 Commits
Author SHA1 Message Date
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 e724228e25 docs: update source paths for the moved files 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 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
aiongg dbce5020f2 refactor(ui-egui): move canvas.rs items to canvas/{artboards,context,cursor,drag,grid,home,input,outline,overlays,raster,task_bar,tool_overlays,view}.rs 2026-10-26 21:45:33 +00:00
aiongg 714aecc7b4 refactor(tools): move text.rs items to text/{plain,ports,tool}.rs 2026-10-26 21:45:33 +00:00
aiongg 1b9881ce1e refactor(tools): move lib.rs items to {context,cursor,input}.rs 2026-10-26 21:45:33 +00:00
aiongg 9eafb73e3f refactor(tools): move guides.rs items to guides/{snap,targets}.rs 2026-10-26 21:45:33 +00:00
aiongg 443990eb62 refactor(tools): move distort/perspective.rs items to distort/perspective/{tools}.rs 2026-10-26 21:45:33 +00:00
aiongg e987e6dc58 refactor(tools): move builder.rs items to builder/{cache,live_paint,lookup,map}.rs 2026-10-26 21:45:33 +00:00
aiongg c84a60350f refactor(render): move fx.rs items to fx/{bounds,entries,pixels,predicates,raster,renderer}.rs 2026-10-26 21:45:33 +00:00
aiongg 64fef38a50 refactor(pdf): move import.rs items to import/{builder,cid,device,entry,state}.rs 2026-10-26 21:45:33 +00:00
aiongg 882cb848b3 refactor(pdf): move export.rs items to export/{entry,exporter,images,nodes,paint,text,writer}.rs 2026-10-26 21:45:33 +00:00
aiongg d459e0d63b refactor(pdf): move encrypt.rs items to encrypt/{lexer}.rs 2026-10-26 21:45:33 +00:00
aiongg c15d70859b refactor(eps): move import/native.rs items to import/native/{build,compare,layers,plan,slots}.rs 2026-10-26 21:45:33 +00:00
aiongg f8fe7075f4 refactor(eps): move import/graphics.rs items to import/graphics/{ops,paint,path,state}.rs 2026-10-26 21:45:32 +00:00
aiongg 6e6b0bb3eb refactor(eps): move import/data.rs items to import/data/{filters,ops,pixels}.rs 2026-10-26 21:45:32 +00:00