Skip to content

SnappyRef v0.1.2

Choose a tag to compare

@noelcserepy noelcserepy released this 13 May 09:11
5b8a251

SnappyRef v0.1.2

Highlights

Smaller app downloads

  • Semantic Search assets are no longer bundled into the app download.
  • Reason: the search model is large and rarely changes, so separating it makes normal app updates much smaller.

Opt-in Semantic Search install

  • Fresh installs now ask whether to enable Semantic Search after the app is usable.
  • Semantic Search can also be installed or retried from the search palette or Settings.
  • Search assets download in the background, show progress, verify integrity, and can be canceled.
  • Reason: users can start using SnappyRef immediately instead of waiting on a large model download.

Automatic updates groundwork

  • SnappyRef now checks for available updates in the background after startup settles.
  • Available updates appear as a sidebar pill.
  • Updates can download, verify, stage, restart, and preserve the user library and session.
  • Settings now includes an About / Updates section with manual update check and rollback where available.
  • Reason: future releases should be much lower-friction than manual zip replacement.

Canvas & Interaction

Figma-style guide snapping

  • Dragged placements now snap to nearby edges, centers, corners, and configured layout gaps.
  • Works for single placements, multi-selection drags, import previews, and search-result drops.
  • Cmd / Ctrl temporarily disables snapping while dragging.
  • Reason: manual arrangement should feel local and predictable, not like the app is trying to auto-layout the board.

Better import and search-result placement previews

  • Multi-image imports and library search drops now preview their final placement before async loading finishes.
  • Final placements should land where the preview promised, even if files finish loading out of order.
  • Newly added batches stay selected after placement.
  • Reason: adding several references should feel direct and editable immediately.

Improved compact arrange

  • Compact arrange now prioritizes dense packing with fewer visible holes.
  • It respects layout gap, preserves scale and rotation, and handles rotated placements by their visual footprint.
  • Reason: compacting should make references tighter, not just force a square-ish block.

New Q/W/E arrange shortcuts

  • Q = compact arrange.
  • W = arrange in row.
  • E = arrange in column.
  • Reason: arrangement commands are core canvas actions and should be faster than modifier-heavy shortcuts.

Improved image transforms

  • Rotation and resizing are more predictable, including multi-image selections and rotated images.
  • Added R + Drag rotation affordance.
  • Reason: transform controls should match what users see on the canvas.

Pointer Mode setting

  • Added Mouse and Trackpad modes.
  • Mouse mode uses wheel zoom around pointer and supports Alt / Option + LMB pan.
  • Trackpad mode keeps pinch zoom and two-finger pan behavior.
  • Reason: mouse-first users and trackpad users expect different navigation defaults.

Window restore

  • SnappyRef now remembers and restores window size and position.
  • Reason: repeated launches should return users to their working setup.

Performance & Responsiveness

Lower idle CPU

  • Animated images no longer continuously animate just because they are visible.
  • They animate when hovered or selected.
  • Reason: a quiet board should stay quiet, even with animated references.

Lower memory after search/indexing work

  • Semantic Search embedding work now uses shorter-lived helper processes and backs off when work is done.
  • Reason: model memory should return after background work settles.

Smarter background indexing

  • Embedding backfill waits until the active board is usable.
  • Active board assets are prioritized before the wider library.
  • Repeated failures are bounded so broken or unsupported assets do not keep burning idle work.
  • Reason: search readiness should improve progressively without hurting normal canvas use.

Faster mixed imports

  • Smaller assets in a mixed import batch are prioritized so they appear sooner.
  • Large JPEGs are decoded more efficiently for canvas-sized use.
  • Reason: one large image should not block several quick references from appearing.

Install / Update Reliability

Semantic Search migration

  • Existing bundled files can be migrated into the new local store.
  • Reason: upgrades should not require users to manually move search assets.

Safer update packaging

  • Release zips now use a consistent top-level SnappyRef/ folder layout.
  • Update downloads are verified before install.
  • Reason: fewer broken update/install states.