Skip to content

Version packages - #115

Merged
h0ds merged 1 commit into
mainfrom
changeset-release/main
Nov 13, 2026
Merged

h0ds merged 1 commit into
mainfrom
changeset-release/main

Conversation

@github-actions

@github-actions github-actions Bot commented Nov 13, 2026 •

Copy link
Copy Markdown
Contributor

This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and publish to npm yourself or setup this action to publish automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated.

Releases

@debuffjp/core@0.34.0

Minor Changes

Patch Changes

spryte@0.16.0

Minor Changes

  • 8784a2c: source(uv) in custom shaders now takes a highp uv, as do spryte's built-in effect and blur. Shaders run under precision mediump float, so before this a texture read through source() was addressed at fp16 on many mobile GPUs and sampled the wrong texels in images past about 1024 px, whatever precision the effect declared. The documented signature is now vec4 effect(vec4 color, highp vec2 uv); an unqualified vec2 uv still compiles but stays mediump. Reported in spryte: source() takes a mediump uv, despite the header's own note #110.
  • 8784a2c: Shader.set() with the value a uniform already has no longer ends the batch. Numbers and arrays compare by value; a texture, or the same array object passed again (its contents may have changed), still flushes. The Shader docs now say that a shader switch and a uniform change each end a batch, and show the pattern for per-sprite values: one withShader around the whole walk. Reported in spryte: Shader.set() ends the batch even when the value hasn't changed #109.
  • 8784a2c: source() in custom shaders picks the batch's texture with a switch instead of a chain of eight ifs. A 16-tap effect over eight textures took about 35% less frame time on an RTX 5060 (7.1 ms to 4.6 ms median for 32 full-HD layers), with the same pixels. One-tap effects, including spryte's default program, showed no measurable change. Reported in spryte: Each source() call is an 8-way branch #111.
  • 8784a2c: draw.sprite takes user and user2 options: two floats a custom shader reads as user() and user2(), as draw.sprites copies already could through each. The sprite stays in the batch, so a per-sprite parameter (a share, a variant, a flag) no longer has to be packed into the tint. Sprites that set neither read 0. The values travel in a separate buffer that is uploaded only for a batch that uses them, so draws without a custom shader don't change. spriteOptions() includes the two new fields. Reported in spryte: Per-sprite custom data only on draw.sprites, not draw.sprite #113.
  • 8784a2c: asData(image, { premultiply: false }) uploads an image with straight alpha, under either blend space, so data packed into RGBA (timings, indices) survives where alpha is below 255. Other images still upload premultiplied. It works for an <img>; a canvas already holds premultiplied pixels, and an ImageBitmap keeps the premultiplyAlpha it was made with. Reported in spryte: No control over texture format: premultiplied RGBA8 only, nothing compressed, linear blending not reachable from Game #112.

Patch Changes

  • bed271b: A render target refilled with draw.into() after it was drawn stays filled. Its texture could still be bound to a texture unit from the earlier draw (or from its own creation), so the next draw into it was a feedback loop: WebGL rejected it and logged GL_INVALID_OPERATION ... Feedback loop formed between Framebuffer and active Texture, and the target stayed blank. Switching to a target now rebinds the 8 sprite units first. The same loop hit frames of shapes only under blendSpace: "linear", whose sRGB framebuffer texture stayed bound after end() presented it; it no longer does. Reported in spryte: draw.into(target) after drawing that target leaves a feedback loop, so the target stays blank #118.

@debuffjp/dev@0.34.0

Patch Changes

  • @debuffjp/share@0.34.0

@debuffjp/tilemap@0.34.0

Patch Changes

  • Updated dependencies [8784a2c]
    • @debuffjp/core@0.34.0

@debuffjp/cli@0.34.0

Patch Changes

  • create-debuff@0.34.0

@debuffjp/mcp@0.34.0

Patch Changes

  • @debuffjp/cli@0.34.0

@debuffjp/assets@0.34.0

No changes in this release.

@debuffjp/audio@0.34.0

No changes in this release.

@debuffjp/input@0.34.0

No changes in this release.

@debuffjp/juice@0.34.0

No changes in this release.

@debuffjp/share@0.34.0

No changes in this release.

@debuffjp/ui@0.34.0

No changes in this release.

create-debuff@0.34.0

No changes in this release.

@github-actions
github-actions Bot force-pushed the changeset-release/main branch 2 times, most recently from 37c436d to d793950 Compare November 13, 2026 06:27
@github-actions
github-actions Bot force-pushed the changeset-release/main branch from d793950 to 663b58f Compare November 13, 2026 06:28
@h0ds
h0ds merged commit 15d50bb into main Nov 13, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant