From f16dd4011fe2e5316b5f0351edafa081bccf639f Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Sat, 12 Sep 2026 12:43:40 +0000 Subject: [PATCH] chore: release packages --- .changeset/compose-nose-cut.md | 17 ----------------- .changeset/feature-depth-parallax.md | 24 ------------------------ .changeset/premultiplied-textures.md | 13 ------------- packages/editor/CHANGELOG.md | 25 +++++++++++++++++++++++++ packages/editor/package.json | 2 +- packages/engine/CHANGELOG.md | 14 ++++++++++++++ packages/engine/package.json | 2 +- packages/mcp/CHANGELOG.md | 23 +++++++++++++++++++++++ packages/mcp/package.json | 2 +- 9 files changed, 65 insertions(+), 57 deletions(-) delete mode 100644 .changeset/compose-nose-cut.md delete mode 100644 .changeset/feature-depth-parallax.md delete mode 100644 .changeset/premultiplied-textures.md diff --git a/.changeset/compose-nose-cut.md b/.changeset/compose-nose-cut.md deleted file mode 100644 index 310e714..0000000 --- a/.changeset/compose-nose-cut.md +++ /dev/null @@ -1,17 +0,0 @@ ---- -"@ikijs/mcp": minor ---- - -`compose_layers_from_parts` cuts the nose out of the face into its own -`nose.png` layer: within the gap between the eyes, from the eye line down to -the mouth, every pixel that is not the face's skin colour (line art and -shadow, judged row by row so shading across the face is not ink) moves to the -nose layer and the face gets skin filled in behind it, so the two composite -back to the original drawing at rest. A cut that would take a large share of -the window, or one holding half-transparent pixels, is declined and the face -stays whole. `auto_rig_from_layers` -keys the new feature depth parallax on that layer — the nose leads the head -turn, the mouth and eyes follow at their own depths — which a nose painted into -the face plate cannot do. A face with no drawn nose composes as before and -reports `nose` under `skipped`; a stale `nose.png` from an earlier compose is -removed then, as for a skipped optional role. diff --git a/.changeset/feature-depth-parallax.md b/.changeset/feature-depth-parallax.md deleted file mode 100644 index dc83922..0000000 --- a/.changeset/feature-depth-parallax.md +++ /dev/null @@ -1,24 +0,0 @@ ---- -"@ikijs/editor": minor ---- - -Auto-rigged facial features slide across the face on the head turn and nod -(depth parallax) whenever the layer set has a `nose` role. The face contour -rides the pinned cylinder bake as before — its silhouette stays put and only -foreshortens — but the eye stack, lashes, brows, both mouths, blush and the -nose each carry an `AngleX` `translateX` and an `AngleY` `translateY` binding -worth their `FEATURE_DEPTH` share of the bulk slide the bake pins out: the -nose 0.08 of the cylinder radius, everything else 0.04 — so the nose leads -and the features slide across the contour, which only foreshortens. The -shares are deliberately small: the contour does not turn, so a 3/4 view's -feature layout at the 30° stop read as features sliding on a plate. The bangs -slide with the brows on the nod at the same depth; their turn lead is -unchanged. Without a `nose` layer nothing -slides: a nose painted into the face plate that stays put while the eyes and -mouth move reads worse than no parallax (a blind review ranked it below the -static rig), and `@ikijs/mcp`'s composer now cuts the nose out of the face so -generated characters get the layer. The rest pose is unchanged (the bindings -are symmetric about zero). The nod unit is now `headNodParallaxUnit` — the -bulk pinned at the nod's own half-angle bend — instead of a turn-sized scale; -`hair_back`'s nod follow is converted to it and moves the same pixels. Rigs -are regenerated, not migrated. diff --git a/.changeset/premultiplied-textures.md b/.changeset/premultiplied-textures.md deleted file mode 100644 index 807bee8..0000000 --- a/.changeset/premultiplied-textures.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -"@ikijs/engine": patch ---- - -Textures are now uploaded premultiplied (`UNPACK_PREMULTIPLY_ALPHA_WEBGL`), -and the fragment shader no longer premultiplies a second time. Sampled -straight, LINEAR filtering at an alpha edge blended a texel's rgb with -whatever rgb its transparent neighbour carried — black, or the palette entry a -quantized atlas stored there — so hair strands drew a speckled fringe and a -part whose edge sits on skin (the nose the composer now cuts out of the face) -drew a one-pixel outline of that colour. Premultiplied, a transparent texel -contributes nothing. Rendering is otherwise unchanged; the tint's alpha still -scales the colour. diff --git a/packages/editor/CHANGELOG.md b/packages/editor/CHANGELOG.md index 22bf5a2..24b6076 100644 --- a/packages/editor/CHANGELOG.md +++ b/packages/editor/CHANGELOG.md @@ -1,5 +1,30 @@ # @ikijs/editor +## 0.4.0 + +### Minor Changes + +- a92c107: Auto-rigged facial features slide across the face on the head turn and nod + (depth parallax) whenever the layer set has a `nose` role. The face contour + rides the pinned cylinder bake as before — its silhouette stays put and only + foreshortens — but the eye stack, lashes, brows, both mouths, blush and the + nose each carry an `AngleX` `translateX` and an `AngleY` `translateY` binding + worth their `FEATURE_DEPTH` share of the bulk slide the bake pins out: the + nose 0.08 of the cylinder radius, everything else 0.04 — so the nose leads + and the features slide across the contour, which only foreshortens. The + shares are deliberately small: the contour does not turn, so a 3/4 view's + feature layout at the 30° stop read as features sliding on a plate. The bangs + slide with the brows on the nod at the same depth; their turn lead is + unchanged. Without a `nose` layer nothing + slides: a nose painted into the face plate that stays put while the eyes and + mouth move reads worse than no parallax (a blind review ranked it below the + static rig), and `@ikijs/mcp`'s composer now cuts the nose out of the face so + generated characters get the layer. The rest pose is unchanged (the bindings + are symmetric about zero). The nod unit is now `headNodParallaxUnit` — the + bulk pinned at the nod's own half-angle bend — instead of a turn-sized scale; + `hair_back`'s nod follow is converted to it and moves the same pixels. Rigs + are regenerated, not migrated. + ## 0.3.1 ### Patch Changes diff --git a/packages/editor/package.json b/packages/editor/package.json index ddd030d..daf7664 100644 --- a/packages/editor/package.json +++ b/packages/editor/package.json @@ -1,6 +1,6 @@ { "name": "@ikijs/editor", - "version": "0.3.1", + "version": "0.4.0", "description": "Headless editing core and auto-rigger for .iki 2D puppet models — DOM-free edit commands, undo/redo, atlas and UV math", "keywords": [ "iki", diff --git a/packages/engine/CHANGELOG.md b/packages/engine/CHANGELOG.md index b29e797..6c4e847 100644 --- a/packages/engine/CHANGELOG.md +++ b/packages/engine/CHANGELOG.md @@ -1,5 +1,19 @@ # @ikijs/engine +## 0.3.2 + +### Patch Changes + +- 6090b24: Textures are now uploaded premultiplied (`UNPACK_PREMULTIPLY_ALPHA_WEBGL`), + and the fragment shader no longer premultiplies a second time. Sampled + straight, LINEAR filtering at an alpha edge blended a texel's rgb with + whatever rgb its transparent neighbour carried — black, or the palette entry a + quantized atlas stored there — so hair strands drew a speckled fringe and a + part whose edge sits on skin (the nose the composer now cuts out of the face) + drew a one-pixel outline of that colour. Premultiplied, a transparent texel + contributes nothing. Rendering is otherwise unchanged; the tint's alpha still + scales the colour. + ## 0.3.1 ### Patch Changes diff --git a/packages/engine/package.json b/packages/engine/package.json index b83cee1..dea1cc9 100644 --- a/packages/engine/package.json +++ b/packages/engine/package.json @@ -1,6 +1,6 @@ { "name": "@ikijs/engine", - "version": "0.3.1", + "version": "0.3.2", "description": "WebGL2 runtime that plays .iki 2D puppet models in the browser — an open-source Live2D alternative for VTuber-style avatar animation", "keywords": [ "iki", diff --git a/packages/mcp/CHANGELOG.md b/packages/mcp/CHANGELOG.md index b808507..9de8142 100644 --- a/packages/mcp/CHANGELOG.md +++ b/packages/mcp/CHANGELOG.md @@ -1,5 +1,28 @@ # @ikijs/mcp +## 0.6.0 + +### Minor Changes + +- 496d4cb: `compose_layers_from_parts` cuts the nose out of the face into its own + `nose.png` layer: within the gap between the eyes, from the eye line down to + the mouth, every pixel that is not the face's skin colour (line art and + shadow, judged row by row so shading across the face is not ink) moves to the + nose layer and the face gets skin filled in behind it, so the two composite + back to the original drawing at rest. A cut that would take a large share of + the window, or one holding half-transparent pixels, is declined and the face + stays whole. `auto_rig_from_layers` + keys the new feature depth parallax on that layer — the nose leads the head + turn, the mouth and eyes follow at their own depths — which a nose painted into + the face plate cannot do. A face with no drawn nose composes as before and + reports `nose` under `skipped`; a stale `nose.png` from an earlier compose is + removed then, as for a skipped optional role. + +### Patch Changes + +- Updated dependencies [a92c107] + - @ikijs/editor@0.4.0 + ## 0.5.0 ### Minor Changes diff --git a/packages/mcp/package.json b/packages/mcp/package.json index bd2efa7..2722d7a 100644 --- a/packages/mcp/package.json +++ b/packages/mcp/package.json @@ -1,6 +1,6 @@ { "name": "@ikijs/mcp", - "version": "0.5.0", + "version": "0.6.0", "description": "MCP server that lets AI agents read, validate and auto-rig .iki 2D puppet models from role-named PNG layers", "keywords": [ "iki",