Versions in this module Expand all Collapse all v0 v0.1.3 Feb 21, 2026 Changes in this version + type AnimFrame struct + Duration int + GID uint32 type Camera + func (c *Camera) ClampToBounds() + func (c *Camera) Invalidate() type CommandType + const CommandTilemap type Node + func (n *Node) Invalidate() type Scene + func (s *Scene) SetPostDrawFunc(fn func(screen *ebiten.Image)) type TextBlock + func (tb *TextBlock) Invalidate() + type TileMapLayer struct + func (l *TileMapLayer) InvalidateBuffer() + func (l *TileMapLayer) Node() *Node + func (l *TileMapLayer) SetAnimations(anims map[uint32][]AnimFrame) + func (l *TileMapLayer) SetData(data []uint32, w, h int) + func (l *TileMapLayer) SetTile(col, row int, newGID uint32) + type TileMapViewport struct + MarginTiles int + MaxZoomOut float64 + TileHeight int + TileWidth int + func NewTileMapViewport(name string, tileWidth, tileHeight int) *TileMapViewport + func (v *TileMapViewport) AddChild(child *Node) + func (v *TileMapViewport) AddTileLayer(name string, w, h int, data []uint32, regions []TextureRegion, ...) *TileMapLayer + func (v *TileMapViewport) Node() *Node + func (v *TileMapViewport) SetCamera(cam *Camera) v0.1.2 Feb 20, 2026 Changes in this version + type BatchMode uint8 + const BatchModeCoalesced + const BatchModeImmediate + type CacheTreeMode uint8 + const CacheTreeAuto + const CacheTreeManual type Node + func (n *Node) InvalidateCacheTree() + func (n *Node) IsCacheAsTreeEnabled() bool + func (n *Node) SetBlendMode(b BlendMode) + func (n *Node) SetCacheAsTree(enabled bool, mode ...CacheTreeMode) + func (n *Node) SetColor(c Color) + func (n *Node) SetGlobalOrder(o int) + func (n *Node) SetRenderLayer(l uint8) + func (n *Node) SetRenderable(r bool) + func (n *Node) SetTextureRegion(r TextureRegion) + func (n *Node) SetVisible(v bool) type Scene + func (s *Scene) GetBatchMode() BatchMode + func (s *Scene) SetBatchMode(mode BatchMode) v0.1.1 Feb 18, 2026 Changes in this version type Rope + func (r *Rope) Config() *RopeConfig + func (r *Rope) Update() type RopeConfig + Amplitude float64 + Controls [2]*Vec2 + CurveMode RopeCurveMode + End *Vec2 + Frequency float64 + Phase float64 + PointsFunc func(buf []Vec2) []Vec2 + Sag float64 + Segments int + Start *Vec2 + type RopeCurveMode uint8 + const RopeCurveCatenary + const RopeCurveCubicBezier + const RopeCurveCustom + const RopeCurveLine + const RopeCurveQuadBezier + const RopeCurveWave type TextBlock + func (tb *TextBlock) MarkDirty() v0.1.0 Feb 17, 2026 Changes in this version + var ColorWhite = Color + var WhitePixel *ebiten.Image + func NewDistortionGrid(name string, img *ebiten.Image, cols, rows int) (*DistortionGrid, *Node) + func NewRope(name string, img *ebiten.Image, points []Vec2, cfg RopeConfig) (*Rope, *Node) + func Run(scene *Scene, cfg RunConfig) error + func SetPolygonPoints(n *Node, points []Vec2) + type Atlas struct + Pages []*ebiten.Image + func LoadAtlas(jsonData []byte, pages []*ebiten.Image) (*Atlas, error) + func (a *Atlas) Region(name string) TextureRegion + type BitmapFont struct + func LoadBitmapFont(fntData []byte) (*BitmapFont, error) + func LoadBitmapFontPage(fntData []byte, pageIndex uint16) (*BitmapFont, error) + func (f *BitmapFont) LineHeight() float64 + func (f *BitmapFont) MeasureString(s string) (width, height float64) + type BlendMode uint8 + const BlendAdd + const BlendBelow + const BlendErase + const BlendMask + const BlendMultiply + const BlendNone + const BlendNormal + const BlendScreen + func (b BlendMode) EbitenBlend() ebiten.Blend + type BlurFilter struct + Radius int + func NewBlurFilter(radius int) *BlurFilter + func (f *BlurFilter) Apply(src, dst *ebiten.Image) + func (f *BlurFilter) Padding() int + type CallbackHandle struct + func (h CallbackHandle) Remove() + type Camera struct + Bounds Rect + BoundsEnabled bool + CullEnabled bool + Rotation float64 + Viewport Rect + X float64 + Y float64 + Zoom float64 + func (c *Camera) ClearBounds() + func (c *Camera) Follow(node *Node, offsetX, offsetY, lerp float64) + func (c *Camera) MarkDirty() + func (c *Camera) ScreenToWorld(sx, sy float64) (wx, wy float64) + func (c *Camera) ScrollTo(x, y float64, duration float32, easeFn ease.TweenFunc) + func (c *Camera) ScrollToTile(tileX, tileY int, tileW, tileH float64, duration float32, ...) + func (c *Camera) SetBounds(bounds Rect) + func (c *Camera) Unfollow() + func (c *Camera) VisibleBounds() Rect + func (c *Camera) WorldToScreen(wx, wy float64) (sx, sy float64) + type ClickContext struct + Button MouseButton + EntityID uint32 + GlobalX float64 + GlobalY float64 + LocalX float64 + LocalY float64 + Modifiers KeyModifiers + Node *Node + PointerID int + UserData any + type Color struct + A float64 + B float64 + G float64 + R float64 + type ColorMatrixFilter struct + Matrix [20]float64 + func NewColorMatrixFilter() *ColorMatrixFilter + func (f *ColorMatrixFilter) Apply(src, dst *ebiten.Image) + func (f *ColorMatrixFilter) Padding() int + func (f *ColorMatrixFilter) SetBrightness(b float64) + func (f *ColorMatrixFilter) SetContrast(c float64) + func (f *ColorMatrixFilter) SetSaturation(s float64) + type CommandType uint8 + const CommandMesh + const CommandParticle + const CommandSprite + type CustomShaderFilter struct + Images [3]*ebiten.Image + Shader *ebiten.Shader + Uniforms map[string]any + func NewCustomShaderFilter(shader *ebiten.Shader, padding int) *CustomShaderFilter + func (f *CustomShaderFilter) Apply(src, dst *ebiten.Image) + func (f *CustomShaderFilter) Padding() int + type DistortionGrid struct + func (g *DistortionGrid) Cols() int + func (g *DistortionGrid) Node() *Node + func (g *DistortionGrid) Reset() + func (g *DistortionGrid) Rows() int + func (g *DistortionGrid) SetAllVertices(fn func(col, row int, restX, restY float64) (dx, dy float64)) + func (g *DistortionGrid) SetVertex(col, row int, dx, dy float64) + type DragContext struct + Button MouseButton + DeltaX float64 + DeltaY float64 + EntityID uint32 + GlobalX float64 + GlobalY float64 + LocalX float64 + LocalY float64 + Modifiers KeyModifiers + Node *Node + PointerID int + ScreenDeltaX float64 + ScreenDeltaY float64 + StartX float64 + StartY float64 + UserData any + type EmitterConfig struct + Angle Range + BlendMode BlendMode + EmitRate float64 + EndAlpha Range + EndColor Color + EndScale Range + Gravity Vec2 + Lifetime Range + MaxParticles int + Region TextureRegion + Speed Range + StartAlpha Range + StartColor Color + StartScale Range + WorldSpace bool + type EntityStore interface + EmitEvent func(event InteractionEvent) + type EventType uint8 + const EventClick + const EventDrag + const EventDragEnd + const EventDragStart + const EventPinch + const EventPointerDown + const EventPointerEnter + const EventPointerLeave + const EventPointerMove + const EventPointerUp + type Filter interface + Apply func(src, dst *ebiten.Image) + Padding func() int + type Font interface + LineHeight func() float64 + MeasureString func(text string) (width, height float64) + type HitCircle struct + CenterX float64 + CenterY float64 + Radius float64 + func (c HitCircle) Contains(x, y float64) bool + type HitPolygon struct + Points []Vec2 + func (p HitPolygon) Contains(x, y float64) bool + type HitRect struct + Height float64 + Width float64 + X float64 + Y float64 + func (r HitRect) Contains(x, y float64) bool + type HitShape interface + Contains func(x, y float64) bool + type InteractionEvent struct + Button MouseButton + DeltaX float64 + DeltaY float64 + EntityID uint32 + GlobalX float64 + GlobalY float64 + LocalX float64 + LocalY float64 + Modifiers KeyModifiers + RotDelta float64 + Rotation float64 + Scale float64 + ScaleDelta float64 + ScreenDeltaX float64 + ScreenDeltaY float64 + StartX float64 + StartY float64 + Type EventType + type KeyModifiers uint8 + const ModAlt + const ModCtrl + const ModMeta + const ModShift + type Light struct + Color Color + Enabled bool + Intensity float64 + OffsetX float64 + OffsetY float64 + Radius float64 + Rotation float64 + Target *Node + TextureRegion TextureRegion + X float64 + Y float64 + type LightLayer struct + func NewLightLayer(w, h int, ambientAlpha float64) *LightLayer + func (ll *LightLayer) AddLight(l *Light) + func (ll *LightLayer) AmbientAlpha() float64 + func (ll *LightLayer) ClearLights() + func (ll *LightLayer) Dispose() + func (ll *LightLayer) Lights() []*Light + func (ll *LightLayer) Node() *Node + func (ll *LightLayer) Redraw() + func (ll *LightLayer) RemoveLight(l *Light) + func (ll *LightLayer) RenderTexture() *RenderTexture + func (ll *LightLayer) SetAmbientAlpha(a float64) + func (ll *LightLayer) SetCircleRadius(radius float64) + func (ll *LightLayer) SetPages(pages []*ebiten.Image) + type MouseButton uint8 + const MouseButtonLeft + const MouseButtonMiddle + const MouseButtonRight + type Node struct + Alpha float64 + BlendMode BlendMode + Color Color + Emitter *ParticleEmitter + EntityID uint32 + Filters []Filter + GlobalOrder int + HitShape HitShape + ID uint32 + Indices []uint16 + Interactable bool + MeshImage *ebiten.Image + Name string + OnClick func(ClickContext) + OnDrag func(DragContext) + OnDragEnd func(DragContext) + OnDragStart func(DragContext) + OnPinch func(PinchContext) + OnPointerDown func(PointerContext) + OnPointerEnter func(PointerContext) + OnPointerLeave func(PointerContext) + OnPointerMove func(PointerContext) + OnPointerUp func(PointerContext) + OnUpdate func(dt float64) + Parent *Node + PivotX float64 + PivotY float64 + RenderLayer uint8 + Renderable bool + Rotation float64 + ScaleX float64 + ScaleY float64 + SkewX float64 + SkewY float64 + TextBlock *TextBlock + TextureRegion TextureRegion + Type NodeType + UserData any + Vertices []ebiten.Vertex + Visible bool + X float64 + Y float64 + ZIndex int + func NewContainer(name string) *Node + func NewFPSWidget() *Node + func NewMesh(name string, img *ebiten.Image, vertices []ebiten.Vertex, indices []uint16) *Node + func NewParticleEmitter(name string, cfg EmitterConfig) *Node + func NewPolygon(name string, points []Vec2) *Node + func NewPolygonTextured(name string, img *ebiten.Image, points []Vec2) *Node + func NewSprite(name string, region TextureRegion) *Node + func NewText(name string, content string, font Font) *Node + func (n *Node) AddChild(child *Node) + func (n *Node) AddChildAt(child *Node, index int) + func (n *Node) ChildAt(index int) *Node + func (n *Node) Children() []*Node + func (n *Node) ClearMask() + func (n *Node) CustomImage() *ebiten.Image + func (n *Node) Dispose() + func (n *Node) GetMask() *Node + func (n *Node) InvalidateCache() + func (n *Node) InvalidateMeshAABB() + func (n *Node) IsCacheEnabled() bool + func (n *Node) IsDisposed() bool + func (n *Node) LocalToWorld(lx, ly float64) (wx, wy float64) + func (n *Node) MarkDirty() + func (n *Node) NumChildren() int + func (n *Node) RemoveChild(child *Node) + func (n *Node) RemoveChildAt(index int) *Node + func (n *Node) RemoveChildren() + func (n *Node) RemoveFromParent() + func (n *Node) SetAlpha(a float64) + func (n *Node) SetCacheAsTexture(enabled bool) + func (n *Node) SetChildIndex(child *Node, index int) + func (n *Node) SetCustomImage(img *ebiten.Image) + func (n *Node) SetMask(maskNode *Node) + func (n *Node) SetPivot(px, py float64) + func (n *Node) SetPosition(x, y float64) + func (n *Node) SetRotation(r float64) + func (n *Node) SetScale(sx, sy float64) + func (n *Node) SetSkew(sx, sy float64) + func (n *Node) SetZIndex(z int) + func (n *Node) ToTexture(s *Scene) *ebiten.Image + func (n *Node) WorldToLocal(wx, wy float64) (lx, ly float64) + type NodeType uint8 + const NodeTypeContainer + const NodeTypeMesh + const NodeTypeParticleEmitter + const NodeTypeSprite + const NodeTypeText + type Outline struct + Color Color + Thickness float64 + type OutlineFilter struct + Color Color + Thickness int + func NewOutlineFilter(thickness int, c Color) *OutlineFilter + func (f *OutlineFilter) Apply(src, dst *ebiten.Image) + func (f *OutlineFilter) Padding() int + type PaletteFilter struct + CycleOffset float64 + Palette [256]Color + func NewPaletteFilter() *PaletteFilter + func (f *PaletteFilter) Apply(src, dst *ebiten.Image) + func (f *PaletteFilter) Padding() int + func (f *PaletteFilter) SetPalette(palette [256]Color) + type ParticleEmitter struct + func (e *ParticleEmitter) AliveCount() int + func (e *ParticleEmitter) Config() *EmitterConfig + func (e *ParticleEmitter) IsActive() bool + func (e *ParticleEmitter) Reset() + func (e *ParticleEmitter) Start() + func (e *ParticleEmitter) Stop() + type PinchContext struct + CenterX float64 + CenterY float64 + RotDelta float64 + Rotation float64 + Scale float64 + ScaleDelta float64 + type PixelPerfectInlineFilter struct + Color Color + func NewPixelPerfectInlineFilter(c Color) *PixelPerfectInlineFilter + func (f *PixelPerfectInlineFilter) Apply(src, dst *ebiten.Image) + func (f *PixelPerfectInlineFilter) Padding() int + type PixelPerfectOutlineFilter struct + Color Color + func NewPixelPerfectOutlineFilter(c Color) *PixelPerfectOutlineFilter + func (f *PixelPerfectOutlineFilter) Apply(src, dst *ebiten.Image) + func (f *PixelPerfectOutlineFilter) Padding() int + type PointerContext struct + Button MouseButton + EntityID uint32 + GlobalX float64 + GlobalY float64 + LocalX float64 + LocalY float64 + Modifiers KeyModifiers + Node *Node + PointerID int + UserData any + type Range struct + Max float64 + Min float64 + func (r Range) Random() float64 + type Rect struct + Height float64 + Width float64 + X float64 + Y float64 + func (r Rect) Contains(x, y float64) bool + func (r Rect) Intersects(other Rect) bool + type RenderCommand struct + BlendMode BlendMode + Color Color + GlobalOrder int + RenderLayer uint8 + ShaderID uint16 + TargetID uint16 + TextureRegion TextureRegion + Transform [6]float64 + Type CommandType + type RenderTexture struct + func NewRenderTexture(w, h int) *RenderTexture + func (rt *RenderTexture) Clear() + func (rt *RenderTexture) Dispose() + func (rt *RenderTexture) DrawImage(src *ebiten.Image, op *ebiten.DrawImageOptions) + func (rt *RenderTexture) DrawImageAt(src *ebiten.Image, x, y float64, blend BlendMode) + func (rt *RenderTexture) DrawImageColored(img *ebiten.Image, opts RenderTextureDrawOpts) + func (rt *RenderTexture) DrawSprite(region TextureRegion, x, y float64, blend BlendMode, pages []*ebiten.Image) + func (rt *RenderTexture) DrawSpriteColored(region TextureRegion, opts RenderTextureDrawOpts, pages []*ebiten.Image) + func (rt *RenderTexture) Fill(c Color) + func (rt *RenderTexture) Height() int + func (rt *RenderTexture) Image() *ebiten.Image + func (rt *RenderTexture) NewSpriteNode(name string) *Node + func (rt *RenderTexture) Resize(width, height int) + func (rt *RenderTexture) Width() int + type RenderTextureDrawOpts struct + Alpha float64 + BlendMode BlendMode + Color Color + PivotX float64 + PivotY float64 + Rotation float64 + ScaleX float64 + ScaleY float64 + X float64 + Y float64 + type Rope struct + func (r *Rope) Node() *Node + func (r *Rope) SetPoints(points []Vec2) + type RopeConfig struct + JoinMode RopeJoinMode + Width float64 + type RopeJoinMode uint8 + const RopeJoinBevel + const RopeJoinMiter + type RunConfig struct + Height int + ShowFPS bool + Title string + Width int + type Scene struct + ClearColor Color + ScreenshotDir string + func NewScene() *Scene + func (s *Scene) Cameras() []*Camera + func (s *Scene) CapturePointer(pointerID int, node *Node) + func (s *Scene) Draw(screen *ebiten.Image) + func (s *Scene) InjectClick(x, y float64) + func (s *Scene) InjectDrag(fromX, fromY, toX, toY float64, frames int) + func (s *Scene) InjectMove(x, y float64) + func (s *Scene) InjectPress(x, y float64) + func (s *Scene) InjectRelease(x, y float64) + func (s *Scene) LoadAtlas(jsonData []byte, pages []*ebiten.Image) (*Atlas, error) + func (s *Scene) NewCamera(viewport Rect) *Camera + func (s *Scene) OnClick(fn func(ClickContext)) CallbackHandle + func (s *Scene) OnDrag(fn func(DragContext)) CallbackHandle + func (s *Scene) OnDragEnd(fn func(DragContext)) CallbackHandle + func (s *Scene) OnDragStart(fn func(DragContext)) CallbackHandle + func (s *Scene) OnPinch(fn func(PinchContext)) CallbackHandle + func (s *Scene) OnPointerDown(fn func(PointerContext)) CallbackHandle + func (s *Scene) OnPointerEnter(fn func(PointerContext)) CallbackHandle + func (s *Scene) OnPointerLeave(fn func(PointerContext)) CallbackHandle + func (s *Scene) OnPointerMove(fn func(PointerContext)) CallbackHandle + func (s *Scene) OnPointerUp(fn func(PointerContext)) CallbackHandle + func (s *Scene) RegisterPage(index int, img *ebiten.Image) + func (s *Scene) ReleasePointer(pointerID int) + func (s *Scene) RemoveCamera(cam *Camera) + func (s *Scene) Root() *Node + func (s *Scene) Screenshot(label string) + func (s *Scene) SetDebugMode(enabled bool) + func (s *Scene) SetDragDeadZone(pixels float64) + func (s *Scene) SetEntityStore(store EntityStore) + func (s *Scene) SetTestRunner(runner *TestRunner) + func (s *Scene) SetUpdateFunc(fn func() error) + func (s *Scene) Update() + type TTFFont struct + func LoadTTFFont(ttfData []byte, size float64) (*TTFFont, error) + func (f *TTFFont) Face() *text.GoTextFace + func (f *TTFFont) LineHeight() float64 + func (f *TTFFont) MeasureString(s string) (width, height float64) + type TestRunner struct + func LoadTestScript(jsonData []byte) (*TestRunner, error) + func (r *TestRunner) Done() bool + type TextAlign uint8 + const TextAlignCenter + const TextAlignLeft + const TextAlignRight + type TextBlock struct + Align TextAlign + Color Color + Content string + Font Font + LineHeight float64 + Outline *Outline + WrapWidth float64 + type TextureRegion struct + Height uint16 + OffsetX int16 + OffsetY int16 + OriginalH uint16 + OriginalW uint16 + Page uint16 + Rotated bool + Width uint16 + X uint16 + Y uint16 + type TweenGroup struct + Done bool + func TweenAlpha(node *Node, to float64, duration float32, fn ease.TweenFunc) *TweenGroup + func TweenColor(node *Node, to Color, duration float32, fn ease.TweenFunc) *TweenGroup + func TweenPosition(node *Node, toX, toY float64, duration float32, fn ease.TweenFunc) *TweenGroup + func TweenRotation(node *Node, to float64, duration float32, fn ease.TweenFunc) *TweenGroup + func TweenScale(node *Node, toSX, toSY float64, duration float32, fn ease.TweenFunc) *TweenGroup + func (g *TweenGroup) Update(dt float32) + type Vec2 struct + X float64 + Y float64