zimjs 16.3.1 → 16.3.3

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.
Files changed (2) hide show
  1. package/package.json +1 -1
  2. package/src/zim.js +65 -33
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "zimjs",
3
- "version": "16.3.1",
3
+ "version": "16.3.3",
4
4
  "type": "module",
5
5
  "main": "./src/zim.js",
6
6
  "types": "./ts-src/typings/zim",
package/src/zim.js CHANGED
@@ -10302,6 +10302,7 @@ playing animation series, wait, loop, rewind and call functions.
10302
10302
  This actually runs a ZIM animation and animates the frames.
10303
10303
 
10304
10304
  SEE:
10305
+ https://zimjs.com/interactiveanimation.html
10305
10306
  https://zimjs.com/interactiveanimation/
10306
10307
  https://zimjs.com/spritesheet/
10307
10308
  https://zimjs.com/spritesheet/skateboard.html
@@ -10330,7 +10331,6 @@ So we recommend using the ZIM Sprite run() method.
10330
10331
  NOTE: as of ZIM 5.5.0 the zim namespace is no longer required (unless zns is set to true before running zim)
10331
10332
 
10332
10333
  EXAMPLE
10333
- // inside Frame template
10334
10334
  // boom.png is a sprite sheet found online
10335
10335
  // It has 8 columns and 6 rows that we can visually count
10336
10336
  // We can enter a total parameter if it does not end evenly in the grid
@@ -10338,18 +10338,18 @@ EXAMPLE
10338
10338
  // if there is an offset or spacing, etc. and enter those as parameters
10339
10339
  // In this case, we do not need to do any of this - just enter the cols and rows
10340
10340
 
10341
+ new Frame(FIT, 1024, 768, black, darker, "boom.png", "https://zimjs.org/assets/");
10341
10342
  F.on("complete", ()=>{
10342
- const spriteImage = new Pic("boom.png");
10343
10343
 
10344
10344
  const animation = new Sprite({
10345
- image:spriteImage,
10345
+ image:"boom.png",
10346
10346
  cols:8,
10347
10347
  rows:6,
10348
10348
  animations:{mid:[10,20], end:[30,40]} // optional animations with labels
10349
10349
  // see CreateJS SpriteSheet docs for the various animation format as there are a few different ones!
10350
- });
10351
- animation.center();
10352
- animation.run(2); // plays the frames of the Sprite over 2 seconds (master time)
10350
+ })
10351
+ .center()
10352
+ .run(2); // plays the frames of the Sprite over 2 seconds (master time)
10353
10353
 
10354
10354
  // OR use the label to play the frames listed in animations parameter
10355
10355
  animation.run(1, "mid");
@@ -10408,7 +10408,7 @@ F.on("complete", ()=>{
10408
10408
  animation.run(2); // note, duration alternative to framerate
10409
10409
  });
10410
10410
 
10411
- OR
10411
+ // OR
10412
10412
  // load in data from external JSON
10413
10413
  F.loadAssets(["robot.json", "robot.png"]);
10414
10414
  // ... same as before
@@ -10961,7 +10961,10 @@ animationend, change, added, click, dblclick, mousedown, mouseout, mouseover, pr
10961
10961
  if (style!==false) zim.styleTransforms(this, DS); // global function - would have put on DisplayObject if had access to it
10962
10962
  this.clone = function() {
10963
10963
  var s = this.cloneProps(new zim.Sprite(image, cols, rows, count, offsetX, offsetY, spacingX, spacingY, width, height, animations, json, null, globalControl, spriteSheet, label, frame, style, this.group, inherit));
10964
- if (that.frame >= 0) s.run({startFrame:that.frame, endFrame:that.frame});
10964
+
10965
+ // if it is 0 it will be 0 anyway and including 0 seems to make it so a clone can't set a frame
10966
+ if (that.frame > 0) s.run({startFrame:that.frame, endFrame:that.frame});
10967
+
10965
10968
  return s;
10966
10969
  };
10967
10970
  if (createjs && !createjs.stageTransformable && frame.retina) {
@@ -26154,7 +26157,7 @@ added, click, dblclick, mousedown, mouseout, mouseover, pressdown (ZIM), pressmo
26154
26157
  }, 10);
26155
26158
  }
26156
26159
 
26157
- if (keyboardAccess && that.stage && that.stage.frame) {
26160
+ if (keyboardAccess && that.stage && that.stage.frame && WW.parent && WW.location !== WW.parent.location) {
26158
26161
  that.stage.frame.keyboardMessage(null, null, "");
26159
26162
  that.stage.frame.on("keyboardactive", function() {
26160
26163
  that.hide();
@@ -28241,7 +28244,7 @@ added, click, dblclick, mousedown, mouseout, mouseover, pressdown (ZIM), pressmo
28241
28244
  this.clone = function(recursive) {
28242
28245
  if (zot(recursive)) recursive = false;
28243
28246
  if (color.type) color2 = null;
28244
- var w = that.cloneProps(new zim.Page(width, height, color, color2, vertical, pattern, scalePattern, cache, style, group, inherit));
28247
+ var w = that.cloneProps(new zim.Page(width, height, color, color2, angle, pattern, scalePattern, cache, style, group, inherit));
28245
28248
  if (recursive) {
28246
28249
  that.cloneChildren(w);
28247
28250
  }
@@ -30800,7 +30803,7 @@ scrollBarAlpha - (default .3) the transparency of the scrollBar
30800
30803
  scrollBarFade - (default true) fades scrollBar unless being used
30801
30804
  scrollBarH - (default true) if scrolling in horizontal is needed then show scrollBar
30802
30805
  scrollBarV - (default true) if scrolling in vertical is needed then show scrollBar
30803
- scrollBarOverlay - (default true) set to false to not overlay the scrollBar on the cotnent
30806
+ scrollBarOverlay - (default true) set to false to not overlay the scrollBar on the content
30804
30807
  overlaying could hide content - but without overlay, content less than window size will show gap when no scrollBar
30805
30808
  slide - (default true) Boolean to throw the content when drag/swipe released
30806
30809
  slideFactor - (default .95) is the factor multiplied by dragging velocity (1 no slowing, .7 fast slowing)
@@ -31438,6 +31441,10 @@ added, click, dblclick, mousedown, mouseout, mouseover, pressdown (ZIM), pressmo
31438
31441
  }
31439
31442
  }
31440
31443
  } // end tapList
31444
+
31445
+ that.updateTree = function() {
31446
+ tapList();
31447
+ }
31441
31448
 
31442
31449
  that.expandList = function(num) {
31443
31450
  that.selectedIndex = num;
@@ -34539,7 +34546,7 @@ added, click, dblclick, mousedown, mouseout, mouseover, pressdown (ZIM), pressmo
34539
34546
  if (useLabels && ((semiTicks && tickLarge) || !semiTicks)) {
34540
34547
  var dd = Math.max(zim.countDecimals(step0), zim.countDecimals(min), zim.countDecimals(max));
34541
34548
  new zim.Label({
34542
- text:zim.decimals(min+(max-min)/Math.abs(stepsTotal)*i,dd+1),
34549
+ text:zim.decimals(min+(max-min)/Math.abs(stepsTotal||ticksTotal)*i,dd+1,true),
34543
34550
  size:DS.size?DS.size:10,
34544
34551
  align:"center",
34545
34552
  valign:"center"
@@ -38644,7 +38651,7 @@ added, click, dblclick, mousedown, mouseout, mouseover, pressdown (ZIM), pressmo
38644
38651
  this.type = "EmojiPicker";
38645
38652
  var that = this;
38646
38653
 
38647
- this.emojiData = !zot(emojis)?emojis:["\ud83d\udca5","\ud83c\udf35","\ud83c\udf82","\ud83c\udf70","\ud83d\udc29","\ud83d\udd25","\ud83c\udf2b","\ud83c\udf0a","\ud83c\udf4f","\ud83c\udf4e","\ud83c\udf4b","\ud83c\udf4c","\ud83c\udf47","\ud83c\udf51","\ud83c\udf45","\ud83c\udf46","\ud83e\uddc0","\ud83c\udf55","\ud83c\udf6c","\ud83c\udf6d","\ud83c\udf69","\ud83c\udf7a","\ud83c\udf7b","\ud83c\udf78","\ud83c\udf7e","\u2615\ufe0f","\ud83d\udca9","\ud83d\udc7b","\ud83e\udd16","\ud83d\udca4","\ud83d\udc40","\ud83d\udc83","\ud83d\udc83\ud83c\udffb","\ud83d\udc83\ud83c\udffc","\ud83d\udc83\ud83c\udffd","\ud83d\udc83\ud83c\udffe","\ud83d\udc83\ud83c\udfff","\ud83d\udc54","\ud83d\udc57","\ud83d\udc59","\ud83d\udc58","\ud83d\udc60","\ud83d\udc52","\ud83c\udfa9","\ud83d\udc31","\ud83d\udc3b","\ud83d\udc36","\ud83d\udc3c","\ud83d\udc2f","\ud83e\udd81","\ud83d\udc2e","\ud83d\udc37","\ud83d\udc19","\ud83d\udc35","\ud83d\udc12","\ud83d\udc14","\ud83d\udc26","\ud83d\udc34","\ud83e\udd84","\ud83d\udc1d","\ud83d\udc22","\ud83d\udc20","\ud83d\udc10","\ud83d\udd4a","\ud83d\udc15","\ud83d\udc08","\ud83d\udc09","\ud83d\udc32","\ud83c\udf84","\ud83c\udf40","\ud83c\udf3b","\ud83c\udf39","\ud83d\udc90","\ud83c\udf44","\u2600\ufe0f","\ud83c\udf27","\u26bd\ufe0f","\ud83c\udfc0","\ud83c\udfc8","\u26be\ufe0f","\ud83c\udfbe","\ud83c\udfd2","\u26f7","\ud83c\udfc4","\ud83c\udfca","\ud83d\udeb4","\ud83c\udfad","\ud83c\udfa8","\ud83c\udfb7","\ud83c\udfba","\ud83c\udfb8","\ud83c\udfbb","\ud83c\udfb0","\ud83c\udfb3","\ud83d\ude97","\ud83d\ude95","\ud83d\ude8c","\ud83d\ude8e","\ud83d\ude91","\ud83d\ude92","\ud83d\ude9c","\ud83d\ude82","\u2708\ufe0f","\u26f5\ufe0f","\ud83d\udef0","\ud83c\udf01","\ud83c\udf0b","\ud83c\udfde","\ud83c\udf05","\ud83c\udf86","\ud83c\udf08","\ud83c\udfe0","\ud83c\udfe5","\ud83c\udfeb","\u231a\ufe0f","\ud83d\udcf1","\ud83d\udda5","\ud83d\udcbe","\ud83d\udcfc","\ud83c\udfa5","\u260e\ufe0f","\ud83d\udcfa","\ud83d\udcfb","\ud83d\udce1","\ud83d\udd6f","\ud83d\udcb0","\ud83d\udc8e","\ud83d\udeac","\u26b0","\ud83d\udd2e","\ud83d\udc88","\ud83d\udebd","\ud83d\udd11","\ud83d\udecf","\ud83c\udf89","\ud83c\udf8a","\u2764\ufe0f","\ud83e\udd21","\ud83d\ude00","\ud83d\ude2c","\ud83d\ude01","\ud83d\ude02","\ud83d\ude03","\ud83d\ude04","\ud83d\ude05","\ud83d\ude06","\ud83d\ude07","\ud83d\ude09","\ud83d\ude0a","\ud83d\ude42","\ud83d\ude43","\u263a\ufe0f","\ud83d\ude0b","\ud83d\ude0c","\ud83d\ude0d","\ud83d\ude18","\ud83d\ude17","\ud83d\ude19","\ud83d\ude1a","\ud83d\ude1c","\ud83d\ude1d","\ud83d\ude1b","\ud83e\udd11","\ud83e\udd13","\ud83d\ude0e","\ud83e\udd17","\ud83d\ude0f","\ud83d\ude36","\ud83d\ude10","\ud83d\ude11","\ud83d\ude12","\ud83d\ude44","\ud83e\udd14","\ud83d\ude33","\ud83d\ude1f","\ud83d\ude20","\ud83d\ude14","\ud83d\ude15","\ud83d\ude41","\u2639\ufe0f","\ud83d\ude23","\ud83d\ude2b","\ud83d\ude29","\ud83d\ude31","\ud83d\ude28","\ud83d\ude30","\ud83d\ude2f","\ud83d\ude26","\ud83d\ude22","\ud83d\ude2a","\ud83d\ude13","\ud83d\ude2d","\ud83d\ude35","\ud83d\ude32","\ud83e\udd10","\ud83d\ude37","\ud83e\udd12","\ud83e\udd15","\ud83d\ude34","\ud83d\udc80","\u2620\ufe0f","\ud83d\udc7d","\ud83d\ude3a","\ud83d\ude38","\ud83d\ude39","\ud83d\ude3b","\ud83d\ude3c","\ud83d\ude3d","\ud83d\ude40","\ud83d\ude3f","\ud83d\ude3e","\ud83d\udc44","\ud83d\udc8b","\ud83d\udc45","\ud83d\udde3","\ud83d\udc64","\ud83d\udc65","\ud83d\udc56","\ud83d\udc63","\ud83d\udc61","\ud83d\udc62","\ud83d\udc5e","\ud83d\udc5f","\ud83c\udf93","\ud83d\udc51","\ud83d\udc5c","\ud83d\udc5b","\ud83d\udcbc","\ud83d\udc53","\ud83d\udd76","\ud83d\udc8d","\ud83c\udf02","\u2744\ufe0f","\ud83c\udf2a","\u26a1\ufe0f","\ud83e\udd51","\ud83e\udd8b","\ud83d\ude48","\ud83d\ude49","\ud83d\ude4a","\ud83d\udc27","\ud83d\udd77","\ud83e\udd82","\ud83e\udd80","\ud83d\udc0d","\ud83d\udc1b","\ud83d\udc0c","\ud83d\udc1e","\ud83d\udc1c","\ud83d\udc1f","\ud83d\udc21","\ud83d\udc2c","\ud83d\udc33","\ud83d\udc0b","\ud83d\udc0a","\ud83d\udc06","\ud83c\udf32","\ud83c\udf33","\ud83c\udf34","\ud83c\udf31","\ud83c\udf3f","\ud83c\udf43","\ud83c\udf42","\ud83c\udf41","\ud83c\udf3a","\ud83c\udf3c","\ud83c\udf38","\ud83c\udf30","\ud83c\udf83","\ud83d\udc1a","\ud83d\udd78","\ud83c\udf0e","\ud83c\udf0d","\ud83c\udf0f","\ud83c\udf15","\ud83c\udf16","\ud83c\udf17","\ud83c\udf18","\ud83c\udf11","\ud83c\udf12","\ud83c\udf13","\ud83c\udf14","\ud83c\udf1a","\ud83c\udf1d","\ud83c\udf1b","\ud83c\udf1c","\ud83c\udf1e","\ud83c\udf19","\u2b50\ufe0f","\ud83c\udf1f","\ud83d\udcab","\u2728","\u2604\ufe0f","\ud83c\udf54","\ud83c\udf73","\ud83c\udf5f","\ud83c\udf2d","\ud83c\udf5d","\ud83c\udf2e","\ud83c\udf2f","\ud83c\udf63","\ud83c\udf68","\ud83c\udf66","\ud83c\udf77","\ud83c\udf79","\ud83c\udfc6","\ud83c\udfaa","\ud83c\udfb9","\ud83d\ude80","\u26f2\ufe0f","\ud83c\udfa2","\u26f0","\ud83c\udfd4","\ud83d\uddfb","\ud83d\udcaf","\ud83c\udfb5","\ud83c\udfb6","\ud83d\udcac","\ud83d\udcad","\ud83d\uddef","\ud83c\udccf","\ud83c\udff3\ufe0f\u200d\ud83c\udf08","\ud83e\udd53","\ud83e\udd43","\ud83c\udfa4","\ud83d\udea8","\ud83c\udfcd","\ud83c\udfd5","\u26fa\ufe0f","\ud83c\udfdc","\ud83c\udfd6","\ud83c\udfdd","\ud83c\udf07","\ud83c\udf06","\ud83c\udfd9","\ud83c\udf03","\ud83c\udfd8","\ud83c\udfe1","\ud83c\udfe2","\ud83d\udd28","\u2699","\ud83d\udd2b","\ud83d\udca3","\ud83d\udd2a","\ud83d\udc8a","\ud83d\udd73","\ud83d\udc89","\ud83d\udec1","\u26f1","\ud83c\udf81","\ud83c\udf88","\ud83c\udf80","\ud83d\udcc5","\ud83d\uddf3","\ud83d\udcda","\u270f\ufe0f","\u26aa\ufe0f","\u26ab\ufe0f","\u2b1b\ufe0f","\u2b1c\ufe0f","\ud83d\uddbc","\ud83c\udfda","\ud83c\udfed","\ud83d\udd32","\ud83d\udd33","\ud83c\udfb1","\ud83d\udd3a","\ud83d\udd3b","\ud83d\udca6","\u26f3\ufe0f","\ud83c\udfdf","\ud83d\udca1","\ud83d\udd2d","\ud83d\udd2c","\ud83d\udd70","\ud83d\udc2a","\ud83d\udc2b","\ud83d\udc18","\ud83d\udc38","\ud83d\udc30","\ud83d\udc2d","\ud83d\udeaa","\ud83d\udecd","\ud83d\udc41","\ud83c\udf53","\ud83c\udf52","\ud83c\udf36","\ud83c\udf3d","\ud83c\udf60","\ud83c\udf6f","\ud83c\udf5e","\ud83c\udf6b","\ud83c\udf7f","\ud83c\udf6a","\ud83c\udf4a","\ud83c\udff9","\ud83d\udc6f","\ud83d\udc6f\u200d\u2642\ufe0f","\ud83d\uddd1"];
38654
+ this.emojiData = !zot(emojis)?emojis:["\ud83d\udca5","\ud83c\udf35","\ud83c\udf82","\ud83c\udf70","\ud83d\udc29","\ud83d\udd25","\ud83c\udf2b","\ud83c\udf0a","\ud83c\udf4f","\ud83c\udf4e","\ud83c\udf4b","\ud83c\udf4c","\ud83c\udf47","\ud83c\udf51","\ud83c\udf45","\ud83c\udf46","\ud83e\uddc0","\ud83c\udf55","\ud83c\udf6c","\ud83c\udf6d","\ud83c\udf69","\ud83c\udf7a","\ud83c\udf7b","\ud83c\udf78","\ud83c\udf7e","\u2615\ufe0f","\ud83d\udca9","\ud83d\udc7b","\ud83e\udd16","\ud83d\udca4","\ud83d\udc40","\ud83d\udc83","\ud83d\udc83\ud83c\udffb","\ud83d\udc83\ud83c\udffc","\ud83d\udc83\ud83c\udffd","\ud83d\udc83\ud83c\udffe","\ud83d\udc83\ud83c\udfff","\ud83d\udc54","\ud83d\udc57","\ud83d\udc59","\ud83d\udc58","\ud83d\udc60","\ud83d\udc52","\ud83c\udfa9","\ud83d\udc31","\ud83d\udc3b","\ud83d\udc36","\ud83d\udc3c","\ud83d\udc2f","\ud83e\udd81","\ud83d\udc2e","\ud83d\udc37","\ud83d\udc19","\ud83d\udc35","\ud83d\udc12","\ud83d\udc14","\ud83d\udc26","\ud83d\udc34","\ud83e\udd84","\ud83d\udc1d","\ud83d\udc22","\ud83d\udc20","\ud83d\udc10","\ud83d\udd4a","\ud83d\udc15","\ud83d\udc08","\ud83d\udc09","\ud83d\udc32","\ud83c\udf84","\ud83c\udf40","\ud83c\udf3b","\ud83c\udf39","\ud83d\udc90","\ud83c\udf44","\u2600\ufe0f","\ud83c\udf27","\u26bd\ufe0f","\ud83c\udfc0","\ud83c\udfc8","\u26be\ufe0f","\ud83c\udfbe","\ud83c\udfd2","\u26f7","\ud83c\udfc4","\ud83c\udfca","\ud83d\udeb4","\ud83c\udfad","\ud83c\udfa8","\ud83c\udfb7","\ud83c\udfba","\ud83c\udfb8","\ud83c\udfbb","\ud83c\udfb0","\ud83c\udfb3","\ud83d\ude97","\ud83d\ude95","\ud83d\ude8c","\ud83d\ude8e","\ud83d\ude91","\ud83d\ude92","\ud83d\ude9c","\ud83d\ude82","\u2708\ufe0f","\u26f5\ufe0f","\ud83d\udef0","\ud83c\udf01","\ud83c\udf0b","\ud83c\udfde","\ud83c\udf05","\ud83c\udf86","\ud83c\udf08","\ud83c\udfe0","\ud83c\udfe5","\ud83c\udfeb","\u231a\ufe0f","\ud83d\udcf1","\ud83d\udda5","\ud83d\udcbe","\ud83d\udcfc","\ud83c\udfa5","\u260e\ufe0f","\ud83d\udcfa","\ud83d\udcfb","\ud83d\udce1","\ud83d\udd6f","\ud83d\udcb0","\ud83d\udc8e","\ud83d\udeac","\u26b0","\ud83d\udd2e","\ud83d\udc88","\ud83d\udebd","\ud83d\udd11","\ud83d\udecf","\ud83c\udf89","\ud83c\udf8a","\u2764\ufe0f","\ud83e\udd21","\ud83d\ude00","\ud83d\ude2c","\ud83d\ude01","\ud83d\ude02","\ud83d\ude03","\ud83d\ude04","\ud83d\ude05","\ud83d\ude06","\ud83d\ude07","\ud83d\ude09","\ud83d\ude0a","\ud83d\ude42","\ud83d\ude43","\u263a\ufe0f","\ud83d\ude0b","\ud83d\ude0c","\ud83d\ude0d","\ud83d\ude18","\ud83d\ude17","\ud83d\ude19","\ud83d\ude1a","\ud83d\ude1c","\ud83d\ude1d","\ud83d\ude1b","\ud83e\udd11","\ud83e\udd13","\ud83d\ude0e","\ud83e\udd17","\ud83d\ude0f","\ud83d\ude36","\ud83d\ude10","\ud83d\ude11","\ud83d\ude12","\ud83d\ude44","\ud83e\udd14","\ud83d\ude33","\ud83d\ude1f","\ud83d\ude20","\ud83d\ude14","\ud83d\ude15","\ud83d\ude41","\u2639\ufe0f","\ud83d\ude23","\ud83d\ude2b","\ud83d\ude29","\ud83d\ude31","\ud83d\ude28","\ud83d\ude30","\ud83d\ude2f","\ud83d\ude26","\ud83d\ude22","\ud83d\ude2a","\ud83d\ude13","\ud83d\ude2d","\ud83d\ude35","\ud83d\ude32","\ud83e\udd10","\ud83d\ude37","\ud83e\udd12","\ud83e\udd15","\ud83d\ude34","\ud83d\udc80","\u2620\ufe0f","\ud83d\udc7d","\ud83d\ude3a","\ud83d\ude38","\ud83d\ude39","\ud83d\ude3b","\ud83d\ude3c","\ud83d\ude3d","\ud83d\ude40","\ud83d\ude3f","\ud83d\ude3e","\ud83d\udc44","\ud83d\udc8b","\ud83d\udc45","\ud83d\udde3","\ud83d\udc64","\ud83d\udc65","\ud83d\udc56","\ud83d\udc63","\ud83d\udc61","\ud83d\udc62","\ud83d\udc5e","\ud83d\udc5f","\ud83c\udf93","\ud83d\udc51","\ud83d\udc5c","\ud83d\udc5b","\ud83d\udcbc","\ud83d\udc53","\ud83d\udd76","\ud83d\udc8d","\ud83c\udf02","\u2744\ufe0f","\ud83c\udf2a","\u26a1\ufe0f","\ud83e\udd51","\ud83e\udd8b","\ud83d\ude48","\ud83d\ude49","\ud83d\ude4a","\ud83d\udc27","\ud83d\udd77","\ud83e\udd82","\ud83e\udd80","\ud83d\udc0d","\ud83d\udc1b","\ud83d\udc0c","\ud83d\udc1e","\ud83d\udc1c","\ud83d\udc1f","\ud83d\udc21","\ud83d\udc2c","\ud83d\udc33","\ud83d\udc0b","\ud83d\udc0a","\ud83d\udc06","\ud83c\udf32","\ud83c\udf33","\ud83c\udf34","\ud83c\udf31","\ud83c\udf3f","\ud83c\udf43","\ud83c\udf42","\ud83c\udf41","\ud83c\udf3a","\ud83c\udf3c","\ud83c\udf38","\ud83c\udf30","\ud83c\udf83","\ud83d\udc1a","\ud83d\udd78","\ud83c\udf0e","\ud83c\udf0d","\ud83c\udf0f","\ud83c\udf15","\ud83c\udf16","\ud83c\udf17","\ud83c\udf18","\ud83c\udf11","\ud83c\udf12","\ud83c\udf13","\ud83c\udf14","\ud83c\udf1a","\ud83c\udf1d","\ud83c\udf1b","\ud83c\udf1c","\ud83c\udf1e","\ud83c\udf19","\u2b50\ufe0f","\ud83c\udf1f","\ud83d\udcab","\u2728","\u2604\ufe0f","\ud83c\udf54","\ud83c\udf73","\ud83c\udf5f","\ud83c\udf2d","\ud83c\udf5d","\ud83c\udf2e","\ud83c\udf2f","\ud83c\udf63","\ud83c\udf68","\ud83c\udf66","\ud83c\udf77","\ud83c\udf79","\ud83c\udfc6","\ud83c\udfaa","\ud83c\udfb9","\ud83d\ude80","\u26f2\ufe0f","\ud83c\udfa2","\u26f0","\ud83c\udfd4","\ud83d\uddfb","\ud83d\udcaf","\ud83c\udfb5","\ud83c\udfb6","\ud83d\udcac","\ud83d\udcad","\ud83d\uddef","\ud83c\udccf","\ud83c\udff3\ufe0f\u200d\ud83c\udf08","\ud83e\udd53","\ud83e\udd43","\ud83c\udfa4","\ud83d\udea8","\ud83c\udfcd","\ud83c\udfd5","\u26fa\ufe0f","\ud83c\udfdc","\ud83c\udfd6","\ud83c\udfdd","\ud83c\udf07","\ud83c\udf06","\ud83c\udfd9","\ud83c\udf03","\ud83c\udfd8","\ud83c\udfe1","\ud83c\udfe2","\ud83d\udd28","\u2699","\ud83d\udd2b","\ud83d\udca3","\ud83d\udd2a","\ud83d\udc8a","\ud83d\udd73","\ud83d\udc89","\ud83d\udec1","\u26f1","\ud83c\udf81","\ud83c\udf88","\ud83c\udf80","\ud83d\udcc5","\ud83d\uddf3","\ud83d\udcda","\u270f\ufe0f","\u26aa\ufe0f","\u26ab\ufe0f","\u2b1b\ufe0f","\u2b1c\ufe0f","\ud83d\uddbc","\ud83c\udfda","\ud83c\udfed","\ud83d\udd32","\ud83d\udd33","\ud83c\udfb1","\ud83d\udd3a","\ud83d\udd3b","\ud83d\udca6","\u26f3\ufe0f","\ud83c\udfdf","\ud83d\udca1","\ud83d\udd2d","\ud83d\udd2c","\ud83d\udd70","\ud83d\udc2a","\ud83d\udc2b","\ud83d\udc18","\ud83d\udc38","\ud83d\udc30","\ud83d\udc2d","\ud83d\udeaa","\ud83d\udecd","\ud83d\udc41","\ud83c\udf53","\ud83c\udf52","\ud83c\udf36","\ud83c\udf3d","\ud83c\udf60","\ud83c\udf6f","\ud83c\udf5e","\ud83c\udf6b","\ud83c\udf7f","\ud83c\udf6a","\ud83c\udf4a","\ud83c\udff9","\ud83d\udc6f","\ud83d\udc6f\u200d\u2642\ufe0f","\ud83d\uddd1","\u20ac"];
38648
38655
 
38649
38656
  var icons = [];
38650
38657
  zim.loop(this.emojiData, function(key) {
@@ -47192,6 +47199,7 @@ boundary - (default null) a ZIM Boundary object for the drag boundary
47192
47199
  If the boundary is a display object then ZIM will keep the shape of the dragged object inside the bounds.
47193
47200
  If the boundary object is a Blob then the dragged object will stay within the Blob (experimental).
47194
47201
  If the boundary object is a Circle then the registration point of the dragged object will stay within the circle
47202
+ If the object being dragged is a Pic() then make sure it is preloaded or has dimensions before adding a drag boundary
47195
47203
  If the drag is on a container and the "all" parameter is false
47196
47204
  then ZIM will call drag methods on each child so the bound calculations are easier.
47197
47205
  The drags will be applied after a .05 second delay allowing items to be added directly after.
@@ -47662,6 +47670,8 @@ RETURNS obj for chaining
47662
47670
  if (obj.cur) obj.cur(zot(overCursor)?"pointer":overCursor);
47663
47671
  else obj.cursor = zot(overCursor)?"pointer":overCursor;
47664
47672
 
47673
+ if (e.stageX == null) return; // added for TextureActive drag in 2D view
47674
+
47665
47675
  if (slide) {
47666
47676
  dragObject.dispatchEvent("slidestart");
47667
47677
 
@@ -64933,6 +64943,9 @@ XR
64933
64943
  TextureActive will detect if XR (AR/VR) is being used and will use the suitable Raycaster
64934
64944
  Additional classes are provided with the ZIM Three helper library for controllers, movement and teleport
64935
64945
 
64946
+ NOTE: for XR, a layer must be set so the controllers do not get in the way of interactivity
64947
+ so in the TextureActives() set layer:1 and when adding meshes use addMesh(mesh, 1)
64948
+
64936
64949
  SEE:
64937
64950
  https://zimjs.com/015/vr.html - for example with Three and controllers (trigger), movement (sticks and squeeze) and teleport (B and Y buttons)
64938
64951
 
@@ -65034,6 +65047,7 @@ layers - (default 0) a layer number from 0 to 31 or an array of layers
65034
65047
  it is a good idea to specify 1 for instance and add TexureActive meshes to layer 1
65035
65048
  the addMesh() method has a layer parameter that should match the layer number used here
65036
65049
  the Three makePanel() method will automatically add the panel mesh to the layer specified for the TextureActives object
65050
+ NOTE: for XR, layers must be set so the controls do not get in the way of interactivity
65037
65051
  near - (default undefined) - the start of the distance-from-camera range for the object to be interactive
65038
65052
  far - (default undefined) - the end of the distance-from-camera range for the object to be interactive
65039
65053
  ignoreList - (default null) - a mesh or array of meshes to ignore if between the camera and the TextureActive mesh
@@ -65246,16 +65260,6 @@ function apply () {
65246
65260
  that.XR = WW.XR = false;
65247
65261
  var tempMatrix = new threejs.Matrix4();
65248
65262
 
65249
- var controller1 = that.controllerLeft = renderer.xr.getController(0);
65250
- controller1.addEventListener('selectstart', that.doLcDown); // ignoring select
65251
- controller1.addEventListener('selectend', that.doLcUp);
65252
- controller1.addEventListener('move', that.doLcMove);
65253
-
65254
- var controller2 = that.controllerRight = renderer.xr.getController(1);
65255
- controller2.addEventListener('selectstart', that.doRcDown); // ignoring select
65256
- controller2.addEventListener('selectend', that.doRcUp);
65257
- controller2.addEventListener('move', that.doRcMove);
65258
-
65259
65263
  that.doLcDown = function (e) {
65260
65264
  // possibly need to set pointerID
65261
65265
  XR = true;
@@ -65282,6 +65286,16 @@ function apply () {
65282
65286
  doMove(e, "right");
65283
65287
  }
65284
65288
 
65289
+ var controller1 = that.controllerLeft = renderer.xr.getController(0);
65290
+ controller1.addEventListener('selectstart', that.doLcDown); // ignoring select
65291
+ controller1.addEventListener('selectend', that.doLcUp);
65292
+ controller1.addEventListener('move', that.doLcMove);
65293
+
65294
+ var controller2 = that.controllerRight = renderer.xr.getController(1);
65295
+ controller2.addEventListener('selectstart', that.doRcDown); // ignoring select
65296
+ controller2.addEventListener('selectend', that.doRcUp);
65297
+ controller2.addEventListener('move', that.doRcMove);
65298
+
65285
65299
 
65286
65300
  that.doPointerDown = function(e) {
65287
65301
  XR = false;
@@ -70107,9 +70121,12 @@ speedY - get or set the speedY of an object that is controlled by control()
70107
70121
  ** it is best to set traditional properties before calling physics()
70108
70122
 
70109
70123
  METHODS - FOR BODY (a physics engine body)
70110
- loc(x,y) - generally, we should not manually adjust x and y but rather use forces
70124
+ loc(x,y) - generally, we should not manually adjust x and y but rather use forces - returns body for chaining
70111
70125
  but for resetting things, etc. use zimObj.body.loc(x, y)
70112
- Do not use zimObj.loc() or zimObj.x or zimObj.y - these will only work BEFORE adding physics.
70126
+ Do not use zimObj.loc() or zimObj.x or zimObj.y - these will only work BEFORE adding physics
70127
+ rot(angle) - set the rotation property of the body of the phsyics object - returns body for chaining
70128
+ Do not use zimObj.rot() or zimObj.rotation - these will only work BEFORE adding physics
70129
+ ** for scale, another object will need to be made
70113
70130
  ** the ZIM DisplayObject body property provides access to the following Box2D methods (note, all start with uppercase):
70114
70131
  ** commonly used methods are handled through ZIM wrapper methods on the DisplayObject
70115
70132
  ** see https://www.box2dflash.org/docs/2.1a/reference/ for very basic docs
@@ -74994,7 +75011,8 @@ horizontal - (default false) start the particles across the emitter's width at t
74994
75011
  vertical - (default false) start the particles across the emitter's height at the left of the emitter (unless horizontal is set to true)
74995
75012
  sink - (default null) an object with x and y properties (can be a display object) that the particles will be pulled to (or pushed if sinkForce is negative)
74996
75013
  sinkForce - |ZIM VEE| (default 10 if sink) the force particles are moved towards the sink location
74997
- cache - (default mobile() or false if gpu) Boolean to cache each particle - helpful if complex shape or text (do not use for Bitmap or SpriteSheet)
75014
+ cache - (default mobile() or false if gpu) Boolean to cache each particle - helpful if complex shape or text
75015
+ Bitmap, Pic, Sprite will not be cached.
74998
75016
  events - (default false) Boolean - set to true to receive events from Emitter
74999
75017
  startPaused - (default false) Boolean - set to true to start the Emitter in the paused state
75000
75018
  pool - (default true) Boolean if true, makes as many particles as it needs before recycling particles
@@ -75396,7 +75414,13 @@ zim.Emitter = function(obj, width, height, interval, num, life, fade, shrink, wa
75396
75414
  });
75397
75415
  }
75398
75416
 
75399
- if (cache && !particle.emitShape) particle.cache(particle.getBounds().x-10,particle.getBounds().y-10,particle.getBounds().width+20,particle.getBounds().height+20);
75417
+ if (
75418
+ cache &&
75419
+ !particle.emitShape &&
75420
+ particle.type!="Pic" &&
75421
+ particle.type!="Bitmap" &&
75422
+ particle.type!="Sprite"
75423
+ ) particle.cache(particle.getBounds().x-10,particle.getBounds().y-10,particle.getBounds().width+20,particle.getBounds().height+20);
75400
75424
 
75401
75425
  //------------- DECAY, FADE, SHRINK, FIZZ
75402
75426
 
@@ -77123,7 +77147,7 @@ pen.write = true;
77123
77147
 
77124
77148
  // position the pen at the start of the path
77125
77149
  // and set its damping to start there too...
77126
- const path = new Squiggle().loc(100,100);
77150
+ const path = new Squiggle().loc(100,100).alp(.1);
77127
77151
  pen.loc(path.pointControls[0]);
77128
77152
  pen.immediate(pen.x, pen.y);
77129
77153
 
@@ -77131,8 +77155,8 @@ pen.immediate(pen.x, pen.y);
77131
77155
  // make sure the percentComplete is reset to 0
77132
77156
  // (this is a tricky one!)
77133
77157
  pen.animate({
77134
- set:{percentComplete:0},
77135
- props:{path:new Squiggle().center()},
77158
+ // set:{percentComplete:0},
77159
+ props:{path:path},
77136
77160
  time:1,
77137
77161
  call:()=>{
77138
77162
  // to use the motionController again:
@@ -83126,6 +83150,7 @@ zim.Frame = function(scaling, width, height, color, outerColor, ready, assets, p
83126
83150
  if (!allowDefault) document.body.style.overflow = "auto";
83127
83151
  recursiveDispose(stage);
83128
83152
  function recursiveDispose(obj) {
83153
+ if (!obj) return;
83129
83154
  if (obj.dispose) obj.dispose();
83130
83155
  else {
83131
83156
  obj.removeAllEventListeners();
@@ -86715,7 +86740,7 @@ function ready() {
86715
86740
  }
86716
86741
  END EXAMPLE
86717
86742
  --*///+83.37
86718
- var ZIMONON = false;
86743
+ WW.ZIMONON = false;
86719
86744
  //-83.37
86720
86745
 
86721
86746
 
@@ -90535,6 +90560,13 @@ home
90535
90560
  edit
90536
90561
  magnify
90537
90562
  checkmark
90563
+ angle
90564
+ garbage
90565
+ move
90566
+ resize
90567
+ rotate2
90568
+ save
90569
+ mark
90538
90570
 
90539
90571
  Pizzazz Icons example:
90540
90572
  https://zimjs.com/bits/view/icons.html
@@ -90781,7 +90813,7 @@ for (z_i = 0; z_i < globalFunctions.length; z_i++) {
90781
90813
  WW[pair[0]] = zim[pair[0]] = pair[1];
90782
90814
  }
90783
90815
 
90784
-
90816
+ // if (zns) {
90785
90817
  // these are global regardless
90786
90818
  var globalsConstants = [
90787
90819
  ["FIT", zim.FIT],
@@ -90836,7 +90868,7 @@ for (z_i = 0; z_i < globalFunctions.length; z_i++) {
90836
90868
  for (z_i = 0; z_i < zim.colors.length; z_i++) {
90837
90869
  WW[zim.colors[z_i]] = zim.colorsHex[z_i];
90838
90870
  }
90839
-
90871
+ // } else zimplify();
90840
90872
 
90841
90873
  WW.zim = zim;
90842
90874
  export default zim;