Skip to content

Releases: gogpu/gpucontext

v0.6.0 — Gesture Events

31 Jan 12:54
ab17f9c

Choose a tag to compare

What's New

Gesture Events (Vello-style per-frame recognition)

  • GestureEvent struct with:

    • NumPointers — active touch points count
    • ZoomDelta — proportional zoom (1.0 = no change)
    • ZoomDelta2D — non-proportional zoom (stretch)
    • RotationDelta — rotation in radians
    • TranslationDelta — pan movement
    • PinchType — classification
    • Center — centroid of touch points
  • PinchType enum:

    • PinchNone
    • PinchHorizontal (horizontal > 3x vertical)
    • PinchVertical (vertical > 3x horizontal)
    • PinchProportional (uniform zoom)
  • Point type with Add(), Sub(), Scale() methods

  • GestureEventSource interface with OnGesture() callback

Full Changelog: v0.5.0...v0.6.0

v0.5.0 — W3C Pointer Events + Scroll Events

31 Jan 10:54
4e1b3c3

Choose a tag to compare

What's New

W3C Pointer Events Level 3

Unified pointer input for mouse, touch, and pen:

  • PointerEvent — full W3C compliance with PointerID, Pressure, Tilt, Twist
  • PointerEventType — Down, Up, Move, Enter, Leave, Cancel
  • PointerType — Mouse, Touch, Pen
  • Button / Buttons — button state tracking
  • PointerEventSource interface

Scroll Events

Mouse wheel and trackpad support:

  • ScrollEvent with DeltaX/DeltaY
  • ScrollDeltaMode — Pixel, Line, Page modes
  • ScrollEventSource interface

CI/CD Infrastructure

  • GitHub Actions workflow (Linux, macOS, Windows)
  • golangci-lint v2 configuration
  • 90%+ test coverage

Breaking Changes

  • TouchCancelledTouchCanceled (US English spelling)
  • Removed unused DeviceHandle alias

Full Changelog: v0.4.0...v0.5.0

v0.4.0 - Texture & Touch Interfaces

30 Jan 02:37
ef048e2

Choose a tag to compare

Added

Texture interfaces

  • Texture — minimal interface with Width/Height
  • TextureDrawer — interface for drawing textures (DrawTexture, DrawTextureEx)
  • TextureCreator — interface for creating textures from pixel data
  • TextureDrawOptions — options for advanced texture rendering

Touch input support

  • TouchID — unique identifier for touch points
  • TouchPhase — lifecycle stages (Began, Moved, Ended, Cancelled)
  • TouchPoint — single touch contact with position, optional pressure/radius
  • TouchEvent — complete touch event with Changed/All points
  • TouchEventSource — interface for registering touch callbacks
  • NullTouchEventSource — no-op implementation

Notes

  • Touch interfaces follow platform conventions (iOS, Android, W3C)
  • Texture interfaces enable gg↔gogpu integration without circular deps

v0.3.1: gputypes v0.2.0

29 Jan 09:04
12b1456

Choose a tag to compare

Changes

  • Update gputypes dependency to v0.2.0
  • gputypes v0.2.0 provides webgpu.h spec-compliant enum values
  • Binary compatibility with wgpu-native

Full Changelog

v0.3.0...v0.3.1

v0.3.0: gputypes Integration

28 Jan 22:39

Choose a tag to compare

gpucontext v0.3.0

Unified WebGPU types via gputypes import.

Changed

  • Import gputypes for unified WebGPU types
    • DeviceProvider.SurfaceFormat() now returns gputypes.TextureFormat
    • Removed local type re-exports in favor of gputypes
    • Single source of truth for WebGPU types across ecosystem

Added

  • CODE_OF_CONDUCT.md
  • SECURITY.md

Installation

go get github.com/gogpu/gpucontext@v0.3.0

v0.2.0 - IME Support for CJK Input

27 Jan 14:04

Choose a tag to compare

What's New

IME Support for CJK Input (Chinese, Japanese, Korean)

  • IMEState struct for composition tracking

    • Composing, CompositionText, CursorPos
    • SelectionStart, SelectionEnd
  • IMEController interface for IME positioning

    • SetIMEPosition(x, y int)
    • SetIMEEnabled(enabled bool)
  • EventSource extended with IME events

    • OnIMECompositionStart(func())
    • OnIMECompositionUpdate(func(state IMEState))
    • OnIMECompositionEnd(func(committed string))
  • NullEventSource updated with no-op IME implementations

Notes

  • IME interfaces are contracts only — platform integration happens in host applications (gogpu)
  • Required for enterprise UI frameworks supporting international users
  • Part of the gogpu ecosystem

Full Changelog: v0.1.1...v0.2.0

v0.1.1 — Shared GPU Infrastructure

27 Jan 13:04

Choose a tag to compare

gpucontext v0.1.1

Shared foundation for the gogpu ecosystem with zero dependencies.

Features

  • DeviceProvider — Interface for GPU device/queue injection
  • EventSource — Interface for input events (keyboard, mouse, window)
  • Registry[T] — Generic priority-based backend selection
  • WebGPU Types — Device, Queue, Adapter, Surface interfaces

Installation

go get github.com/gogpu/gpucontext@v0.1.1

Requires: Go 1.25+

Documentation

Related Projects

Package Description
gogpu/gogpu Graphics framework
gogpu/gg 2D graphics
gogpu/wgpu Pure Go WebGPU