DRAW v1.7.0
DRAW v1.7.0
NOTE: UNDO has a regression here. It's broken. I'm fixing. Use a more recent release. Leaving this for posterity!
Released 2026-08-08
New Features
- AI Image Generation — generate artwork directly onto a layer from an external
command-line generator you configure yourself. DRAW never talks to a model; it
shells out to your tool and imports the PNG. Off by default and completely
invisible until you turn it on in Settings → General → Enable AI Features.- Generate dialog with tool / style / prompt-preset pickers, a full multi-line
prompt editor with word wrap, size and 3×3 position presets with editable X/Y,
seed with[RANDOM], andSURPRISE ME - Selection-aware: uses the selection's size and top-left corner, and fits the
result inside it with aspect preserved (upscaling is integer-only, so pixel art
is never resampled into mush) - Batch generation — set Count above 1 to produce up to 20 variations into a
layer group, sharing identical settings and differing only by seed - AI layers are tagged
[AI]with prompt, engine, style and seed on hover, and
can be regenerated or reproduced exactly after reloading the project - Generation runs in the background with a status-bar spinner; DRAW stays usable
andCtrl+Alt+Kaborts the run and terminates the generator process - Tool, style and prompt-preset editors, an argument-macro system with a live
[?]reference, and anai.logrecording every run
- Generate dialog with tool / style / prompt-preset pickers, a full multi-line
- Palette color chips — every row in the palette dropdown now previews that
palette's actual colors beside its name (up to 64, with...and N more).
Toggle via Palette → Show Color Chips in Menu. On by default. - Crash reports — unexpected runtime errors are trapped and written to
<Desktop>/DRAW-log/DRAW-crash-logs/with the error location, system and GPU
details, canvas and document state, and the last 32 commands you triggered, so a
bug report can be a single attached file. Toggle via Help → Capture Crash Logs;
open the folder via Help → Crash Logs Folder…
Improvements
- Word wrap now actually works in multi-line text input across the whole app — the
wordWrapflag existed but nothing implemented it (fixed in QB64_GJ_LIB, so every
consumer benefits, not just the AI prompt editor) - Closing the window now works while a dialog is open. Previously
_EXITnever
reached the main loop and DRAW appeared frozen until killed. - Palette names no longer carry a stray leading space, which also cleans up the
palette strip and dropdown display
Bug Fixes
- Fixed five Image-menu commands that did nothing. Resize Canvas, Crop, Flip
Canvas Horizontal and Flip Canvas Vertical were silently dead, and Resize Image
with Content toggled AI features instead of resizing — the AI actions had been
assigned command IDs already in use by the Canvas actions. The Edit Bar's Flip H/V
buttons were affected too. - Fixed the error handler that hid its own trap: doing console I/O inside the
ON ERRORhandler re-raised where trapping is disabled, producing QB64's raw
"Unhandled Error" dialog and a permanent hang in headless/automated runs - Fixed palette color chips never rendering when the config key was already present
- Fixed
S/Eswitching tools mid-line-drag instead of cycling the line's
start/end caps - Fixed AI dropdowns snapping shut on click, and a generate dialog that could not
be exited - Fixed batch layers landing above their group instead of inside it
Breaking Changes
.drawformat is now v29 (was v28), adding AI layer metadata. The addition is
additive and older projects load normally, but projects saved with 1.7.0 will not
open in 1.6.0 or earlier.- New config keys:
AI_ENABLED(default off),PALETTE_MENU_SHOW_CHIPS(default on),
andCRASH_LOGS_ENABLEDin a new[CRASH]section. Run--config-upgradeto add
them to an existing config. - No hotkeys were removed or rebound.
Ctrl+Alt+Kis new.
Bug Fixes
- Fixed five Image-menu commands that did nothing. Resize Canvas, Crop, Flip
Canvas Horizontal and Flip Canvas Vertical were silently dead, and Resize Image
with Content toggled AI features instead of resizing — the AI actions had been
assigned command IDs already in use by the Canvas actions. The Edit Bar's Flip H/V
buttons were affected too. - Import / Export Text Styles are reachable again. The
.dstyleimport and
export commands had been unreachable since 1.5.x because they shared command IDs
with the palette import/export actions. They are now in the command palette as
Import Text Styles, Export Selected Text Style and Export All Text Styles. - Fixed the error handler that hid its own trap: doing console I/O inside the
ON ERRORhandler re-raised where trapping is disabled, producing QB64's raw
"Unhandled Error" dialog and a permanent hang in headless/automated runs - Fixed palette color chips never rendering when the config key was already present
- Fixed
S/Eswitching tools mid-line-drag instead of cycling the line's
start/end caps - Fixed AI dropdowns snapping shut on click, and a generate dialog that could not
be exited - Fixed batch layers landing above their group instead of inside it
Full Changelog: v1.6.0...v1.7.0