Releases: gogpu/gpucontext
Releases · gogpu/gpucontext
v0.6.0 — Gesture Events
What's New
Gesture Events (Vello-style per-frame recognition)
-
GestureEventstruct with:NumPointers— active touch points countZoomDelta— proportional zoom (1.0 = no change)ZoomDelta2D— non-proportional zoom (stretch)RotationDelta— rotation in radiansTranslationDelta— pan movementPinchType— classificationCenter— centroid of touch points
-
PinchTypeenum:PinchNonePinchHorizontal(horizontal > 3x vertical)PinchVertical(vertical > 3x horizontal)PinchProportional(uniform zoom)
-
Pointtype withAdd(),Sub(),Scale()methods -
GestureEventSourceinterface withOnGesture()callback
Full Changelog: v0.5.0...v0.6.0
v0.5.0 — W3C Pointer Events + Scroll Events
What's New
W3C Pointer Events Level 3
Unified pointer input for mouse, touch, and pen:
PointerEvent— full W3C compliance with PointerID, Pressure, Tilt, TwistPointerEventType— Down, Up, Move, Enter, Leave, CancelPointerType— Mouse, Touch, PenButton/Buttons— button state trackingPointerEventSourceinterface
Scroll Events
Mouse wheel and trackpad support:
ScrollEventwith DeltaX/DeltaYScrollDeltaMode— Pixel, Line, Page modesScrollEventSourceinterface
CI/CD Infrastructure
- GitHub Actions workflow (Linux, macOS, Windows)
- golangci-lint v2 configuration
- 90%+ test coverage
Breaking Changes
TouchCancelled→TouchCanceled(US English spelling)- Removed unused
DeviceHandlealias
Full Changelog: v0.4.0...v0.5.0
v0.4.0 - Texture & Touch Interfaces
Added
Texture interfaces
Texture— minimal interface with Width/HeightTextureDrawer— interface for drawing textures (DrawTexture, DrawTextureEx)TextureCreator— interface for creating textures from pixel dataTextureDrawOptions— options for advanced texture rendering
Touch input support
TouchID— unique identifier for touch pointsTouchPhase— lifecycle stages (Began, Moved, Ended, Cancelled)TouchPoint— single touch contact with position, optional pressure/radiusTouchEvent— complete touch event with Changed/All pointsTouchEventSource— interface for registering touch callbacksNullTouchEventSource— 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
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: gputypes Integration
gpucontext v0.3.0
Unified WebGPU types via gputypes import.
Changed
- Import gputypes for unified WebGPU types
DeviceProvider.SurfaceFormat()now returnsgputypes.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.0v0.2.0 - IME Support for CJK Input
What's New
IME Support for CJK Input (Chinese, Japanese, Korean)
-
IMEState struct for composition tracking
Composing,CompositionText,CursorPosSelectionStart,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
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.1Requires: Go 1.25+
Documentation
Related Projects
| Package | Description |
|---|---|
| gogpu/gogpu | Graphics framework |
| gogpu/gg | 2D graphics |
| gogpu/wgpu | Pure Go WebGPU |