Skip to content

v0.5.9

tagged this 24 May 13:26
Two independent paths for peer libraries (Etcher annotations, ML
overlays, comment threads) to suppress fresco's `tap` event when
the tap was actually meant for them. Backwards-compatible — both
default to off; existing consumers see no change.

  - handle.suppressNextTap(ms?) on viewer + canvas handles.
    Default window 250 ms. Any tap landing within the window is
    swallowed; the window is additive (re-calls extend the
    deadline to the later of the two). Etcher calls this after
    committing a freshly-drawn shape so the iOS-synthesized
    mousedown/mouseup → tap that follows doesn't race the
    consumer's tap-zone navigation.

  - [data-fresco-suppress-tap] element attribute. Any element
    under the tap point with this attribute (or whose ancestor
    has it) suppresses the emit. Detected via
    document.elementsFromPoint, so `pointer-events: none`
    elements (like .etcher-shape) are still found. Etcher
    stamps it on every shape element from 0.4.11+ so tapping an
    existing annotation pins the tooltip without bubbling to
    consumer-side tap-zone navigation.

  Both paths are independent — consumers can use either, both,
  or neither.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Assets 2
Loading