@nodecraft/rendermite 1.10.0 → 1.10.2

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 (81) hide show
  1. package/README.md +8 -7
  2. package/dist/{block-behaviour-BBslelpW.d.ts → block-behaviour-CzK3KVLx.d.ts} +2 -0
  3. package/dist/{block-overrides-XtxICunI.js → block-overrides-BhuJIxKC.js} +1 -1
  4. package/dist/blocks/block-behaviour.d.ts +1 -1
  5. package/dist/blocks/block-overrides.d.ts +1 -1
  6. package/dist/blocks/block-overrides.js +1 -1
  7. package/dist/blocks/cli.js +1 -1
  8. package/dist/blocks/ender-storage.d.ts +1 -1
  9. package/dist/blocks/ender-storage.js +1 -1
  10. package/dist/blocks/entities.d.ts +1 -1
  11. package/dist/blocks/entity-geo.js +1 -1
  12. package/dist/blocks/entity-models.d.ts +1 -1
  13. package/dist/blocks/entity-models.js +1 -1
  14. package/dist/blocks/entity-sizes.js +1 -1
  15. package/dist/blocks/export.js +1 -1
  16. package/dist/blocks/game-rules.js +1 -1
  17. package/dist/blocks/geo-blocks.d.ts +1 -1
  18. package/dist/blocks/geo-blocks.js +1 -1
  19. package/dist/blocks/item-sprites.d.ts +1 -1
  20. package/dist/blocks/light-bytecode.d.ts +1 -1
  21. package/dist/blocks/light-bytecode.js +1 -1
  22. package/dist/blocks/light-eval.d.ts +1 -1
  23. package/dist/blocks/light.d.ts +3 -1
  24. package/dist/blocks/light.js +1 -1
  25. package/dist/blocks/obj-mesh.js +1 -1
  26. package/dist/blocks/pack-format.d.ts +1 -1
  27. package/dist/blocks/sprite-sheet.d.ts +1 -1
  28. package/dist/blocks/sprite-sheet.js +1 -1
  29. package/dist/cached-BOX3n1Dl.js +54 -0
  30. package/dist/{cli-DwMPoX0I.js → cli--LNKFich.js} +1 -1
  31. package/dist/cli.js +2 -2
  32. package/dist/{compose-BGsNFR12.js → compose-CuIKcRpx.js} +1 -1
  33. package/dist/{encode-LR9wxigC.js → encode-TzYXOEId.js} +5 -4
  34. package/dist/{ender-storage-Dgomp6r2.js → ender-storage-CKDiYgYc.js} +1 -1
  35. package/dist/entities/mappings.js +1 -1
  36. package/dist/entities/model-code.js +1 -1
  37. package/dist/{entity-fallback-BucEf6WB.js → entity-fallback-BEzCbJq0.js} +1 -1
  38. package/dist/{entity-geo-DbTtMlPL.js → entity-geo-DcrcN8TE.js} +1 -1
  39. package/dist/{entity-models-vFl_EwfA.js → entity-models-D6AMLAy6.js} +3 -3
  40. package/dist/{entity-sizes-DspxgSUA.js → entity-sizes-Dmr4w0vu.js} +4 -3
  41. package/dist/{export-ArMmWuCC.js → export-Btg1y70w.js} +12 -10
  42. package/dist/{face-DbyyYmzp.js → face-D6SfTISC.js} +1 -1
  43. package/dist/{game-rules-BDPTopVW.js → game-rules-Dehe210A.js} +4 -3
  44. package/dist/{geo-BoDxwvz5.js → geo-BOYYFFQn.js} +3 -3
  45. package/dist/{geo-blocks-W79q5A0f.js → geo-blocks-BQqFfAQT.js} +1 -1
  46. package/dist/index.d.ts +1 -1
  47. package/dist/index.js +6 -6
  48. package/dist/{light-CZRA1pOj.js → light-BtV-VxAi.js} +26 -9
  49. package/dist/{light-bytecode-BqpQWqP7.js → light-bytecode-Bx3XLTRI.js} +45 -6
  50. package/dist/{light-eval-C0-kt0bp.d.ts → light-eval-B4q-aVcf.d.ts} +1 -1
  51. package/dist/{mappings-DEl_7xxQ.js → mappings-CTB7_uZa.js} +16 -1
  52. package/dist/{model-code-BmA5ilgt.js → model-code-C5Au_FKU.js} +4 -3
  53. package/dist/{obj-DPEK_xee.js → obj-NxBaySXt.js} +67 -33
  54. package/dist/{obj-mesh-BFhtTBXX.js → obj-mesh-BBSLG2Fv.js} +1 -1
  55. package/dist/output/encode.js +1 -1
  56. package/dist/output/item-styles.d.ts +1 -1
  57. package/dist/output/stylesheet.d.ts +1 -1
  58. package/dist/output/stylesheet.js +1 -1
  59. package/dist/pack.d.ts +2 -2
  60. package/dist/{pipeline-Q_185kY6.js → pipeline-CCfkRth7.js} +7 -6
  61. package/dist/{rasterizer-DcVJzkxz.js → rasterizer-M9Y7mn-W.js} +13 -5
  62. package/dist/read-ahead-BlSzTexs.js +31 -0
  63. package/dist/render/compose.js +1 -1
  64. package/dist/render/entity-fallback.js +1 -1
  65. package/dist/render/face.js +1 -1
  66. package/dist/render/geo.js +1 -1
  67. package/dist/render/obj.js +1 -1
  68. package/dist/render/pipeline.js +1 -1
  69. package/dist/render/rasterizer.js +1 -1
  70. package/dist/render/renderer.js +1 -1
  71. package/dist/resources/cached.d.ts +27 -0
  72. package/dist/resources/cached.js +2 -0
  73. package/dist/resources/read-ahead.d.ts +12 -0
  74. package/dist/resources/read-ahead.js +2 -0
  75. package/dist/{run-5yX5KRiI.js → run-Bf5TLTJw.js} +7 -6
  76. package/dist/run.js +1 -1
  77. package/dist/{sprite-sheet-LQAEtGkp.js → sprite-sheet-BWsLl0Vd.js} +4 -2
  78. package/dist/{stylesheet-CovT3B2S.js → stylesheet-C61VrCAV.js} +6 -4
  79. package/dist/{stylesheet-i-t_7sZ7.d.ts → stylesheet-DxHkk4qA.d.ts} +2 -0
  80. package/dist/workers/render-worker.js +1 -1
  81. package/package.json +1 -1
package/dist/run.js CHANGED
@@ -1,3 +1,3 @@
1
1
  import { o as evaluateItemModel } from "./definition-ColsvWrH.js";
2
- import { t as run } from "./run-5yX5KRiI.js";
2
+ import { t as run } from "./run-Bf5TLTJw.js";
3
3
  export { evaluateItemModel, run };
@@ -1,4 +1,5 @@
1
1
  import { n as ResourceLocator } from "./locator-COMEtEn9.js";
2
+ import { t as readAhead } from "./read-ahead-BlSzTexs.js";
2
3
  import { t as packAtlas } from "./atlas-pack-CoOih7By.js";
3
4
  //#region src/blocks/sprite-sheet.ts
4
5
  /**
@@ -75,11 +76,12 @@ async function buildSpriteSheet(ids, textures, options = {}) {
75
76
  const missing = /* @__PURE__ */ new Set();
76
77
  const loaded = [];
77
78
  let done = 0;
78
- for (const id of [...wanted].toSorted((left, right) => left.localeCompare(right))) {
79
+ const sorted = [...wanted].toSorted((left, right) => left.localeCompare(right));
80
+ for (const [id, pending] of readAhead(sorted, async (name) => textures.loadAnimated(ResourceLocator.parse(name)))) {
79
81
  options.onProgress?.(++done, wanted.size);
80
82
  let animated;
81
83
  try {
82
- animated = await textures.loadAnimated(ResourceLocator.parse(id));
84
+ animated = await pending;
83
85
  } catch (err) {
84
86
  failures.push({
85
87
  id,
@@ -60,10 +60,12 @@ function generateStylesheet(items, options = {}) {
60
60
  }
61
61
  }
62
62
  }
63
- const glintSelectors = [...enchantedSelectors, `.${prefix}enchanted:after`];
64
- const glint = `${glintSelectors.join(",\n")} {\n position: absolute;\n width: 200%;\n height: 200%;\n top: -50%;\n left: -50%;\n image-rendering: pixelated;\n mix-blend-mode: screen;\n content: '';\n opacity: 0.6;\n background-image: ${url(`${prefix}enchantment.${baseExtension}`, urlPrefix)};\n background-size: 512px 512px;\n filter: blur(2px) contrast(200%);\n transform: rotate(-8deg);\n animation-name: ${prefix}enchanted;\n animation-duration: 32s;\n animation-timing-function: linear;\n animation-iteration-count: infinite;\n}`;
65
- blocks.push(glint);
66
- upgrade.push(`${glintSelectors.join(", ")} { background-image: ${url(`${prefix}enchantment.${format}`, urlPrefix)}; }`);
63
+ if (options.glint ?? true) {
64
+ const glintSelectors = [...enchantedSelectors, `.${prefix}enchanted:after`];
65
+ const glint = `${glintSelectors.join(",\n")} {\n position: absolute;\n width: 200%;\n height: 200%;\n top: -50%;\n left: -50%;\n image-rendering: pixelated;\n mix-blend-mode: screen;\n content: '';\n opacity: 0.6;\n background-image: ${url(`${prefix}enchantment.${baseExtension}`, urlPrefix)};\n background-size: 512px 512px;\n filter: blur(2px) contrast(200%);\n transform: rotate(-8deg);\n animation-name: ${prefix}enchanted;\n animation-duration: 32s;\n animation-timing-function: linear;\n animation-iteration-count: infinite;\n}`;
66
+ blocks.push(glint);
67
+ upgrade.push(`${glintSelectors.join(", ")} { background-image: ${url(`${prefix}enchantment.${format}`, urlPrefix)}; }`);
68
+ }
67
69
  if (fallback) blocks.push(`@media (min-resolution: 1dpi) {\n${upgrade.map((rule) => ` ${rule}`).join("\n")}\n}`);
68
70
  return blocks.join("\n\n");
69
71
  }
@@ -14,6 +14,8 @@ interface StylesheetOptions {
14
14
  format?: 'webp' | 'avif';
15
15
  /** Emit the base rules in png plus a media-query upgrade block. */
16
16
  fallback?: boolean;
17
+ /** Emit the enchant glint overlay (default true); off when there is no glint image to point it at. */
18
+ glint?: boolean;
17
19
  }
18
20
  interface ItemStyle {
19
21
  /** Item id, e.g. `minecraft:stone`. */
@@ -1,4 +1,4 @@
1
- import { t as ItemPipeline } from "../pipeline-Q_185kY6.js";
1
+ import { t as ItemPipeline } from "../pipeline-CCfkRth7.js";
2
2
  import { n as restoreResources } from "../descriptor-Dz2cR-BH.js";
3
3
  import sharp from "sharp";
4
4
  import { parentPort, workerData } from "node:worker_threads";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nodecraft/rendermite",
3
- "version": "1.10.0",
3
+ "version": "1.10.2",
4
4
  "description": "Minecraft item icon renderer: renders inventory-identical item icons from vanilla and modded assets across game versions, outputting optimized PNG/WebP/AVIF plus CSS and a JSON item library.",
5
5
  "type": "module",
6
6
  "license": "MIT",