@ikijs/editor 0.13.0 → 0.14.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -57,7 +57,7 @@ leaves the document untouched.
57
57
  ## Auto-rig
58
58
 
59
59
  `generateIkiFromLayerSet` turns role-named layers (`face`, `eye_L`, `eye_R`,
60
- `mouth`, plus optional `iris_*`, `brow_*`, `lash_*`, `hair_front`, `hair_back`,
60
+ `mouth`, plus optional `iris_*`, `brow_*`, `lash_*`, `lash_lower_*`, `hair_front`, `hair_back`,
61
61
  …) into a rigged model that blinks, gazes, opens its mouth, turns its head over
62
62
  a torso that breathes, and emotes with its brows — including a
63
63
  hair-sway physics rig when a `hair_front` layer is present.
package/dist/index.js CHANGED
@@ -2131,6 +2131,8 @@ var ROLE_TABLE = [
2131
2131
  { role: "pupil_R", family: "eye_R" },
2132
2132
  { role: "highlight_L", family: "eye_L" },
2133
2133
  { role: "highlight_R", family: "eye_R" },
2134
+ { role: "lash_lower_L", family: "eye_L" },
2135
+ { role: "lash_lower_R", family: "eye_R" },
2134
2136
  { role: "lash_L", family: "eye_L" },
2135
2137
  { role: "lash_R", family: "eye_R" },
2136
2138
  { role: "brow_L", family: "brow_L" },
@@ -4458,12 +4460,12 @@ function motionReach(warps, mesh, box, extra = [0, 0]) {
4458
4460
  }
4459
4461
  return out;
4460
4462
  }
4461
- function blinkFold(param, mesh, eye, travel) {
4463
+ function blinkFold(param, mesh, box, travel, eye = box) {
4462
4464
  const yc = eye.y1 - travel * bh(eye);
4463
4465
  return localWarp(
4464
4466
  param,
4465
4467
  mesh,
4466
- eye,
4468
+ box,
4467
4469
  [0, 1],
4468
4470
  ([, y], v) => v === 1 ? [0, 0] : [0, yc - y]
4469
4471
  );
@@ -4812,6 +4814,10 @@ function buildPart(spec, b, order, frame, byRole, style, frontGrid) {
4812
4814
  case "eye_R":
4813
4815
  warps.push(blinkFold(eyeOpen, mesh, b, style.blink));
4814
4816
  break;
4817
+ case "lash_lower_L":
4818
+ case "lash_lower_R":
4819
+ warps.push(blinkFold(eyeOpen, mesh, b, style.blink, box(`eye_${side}`)));
4820
+ break;
4815
4821
  case "lash_L":
4816
4822
  case "lash_R":
4817
4823
  warps.push(lashFold(eyeOpen, mesh, b, box(`eye_${side}`), style.blink));