Skip to content

DRAW v1.7.0

Choose a tag to compare

@github-actions github-actions released this 09 Aug 01:04
· 157 commits to main since this release

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

Screenshot_20260803_080029 Screenshot_20260803_080108 Screenshot_20260803_080137
  • 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], and SURPRISE 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
      and Ctrl+Alt+K aborts the run and terminates the generator process
    • Tool, style and prompt-preset editors, an argument-macro system with a live
      [?] reference, and an ai.log recording every run
  • 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
    wordWrap flag 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 _EXIT never
    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 ERROR handler 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 / E switching 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

  • .draw format 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),
    and CRASH_LOGS_ENABLED in a new [CRASH] section. Run --config-upgrade to add
    them to an existing config.
  • No hotkeys were removed or rebound. Ctrl+Alt+K is 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 .dstyle import 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 ERROR handler 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 / E switching 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