@nodecraft/rendermite 1.6.4 → 1.6.5

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 (34) hide show
  1. package/dist/blocks/cli.js +1 -1
  2. package/dist/blocks/ender-storage.d.ts +10 -0
  3. package/dist/blocks/ender-storage.js +2 -0
  4. package/dist/blocks/entity-geo.js +1 -1
  5. package/dist/blocks/entity-models.js +1 -1
  6. package/dist/blocks/export.js +1 -1
  7. package/dist/blocks/geo-blocks.js +1 -1
  8. package/dist/blocks/item-sprites.js +1 -1
  9. package/dist/blocks/obj-mesh.js +1 -1
  10. package/dist/{cli-DUWWH_Rc.js → cli-AIYuxk4-.js} +1 -1
  11. package/dist/cli.js +2 -2
  12. package/dist/ender-storage-a36r-lF0.js +58 -0
  13. package/dist/{entity-fallback-BcJWh91-.js → entity-fallback-u9z3oQcv.js} +1 -1
  14. package/dist/{entity-geo-B2CkuMWx.js → entity-geo-B9QYodsa.js} +1 -1
  15. package/dist/{entity-models-D_QGok9j.js → entity-models--KAShEPW.js} +1 -1
  16. package/dist/{export-CBXWRbBw.js → export-DtLGTzd_.js} +34 -21
  17. package/dist/{geo-Desq-gRC.js → geo-Cl-1NZX5.js} +3 -3
  18. package/dist/{geo-blocks-CzkfL4Li.js → geo-blocks-DSqTryeM.js} +1 -1
  19. package/dist/index.js +5 -5
  20. package/dist/{obj-CJHEHpki.js → obj-bvs3gwex.js} +4 -4
  21. package/dist/{obj-mesh-JwPkZEWL.js → obj-mesh-rnYbSbpv.js} +1 -1
  22. package/dist/{pipeline-7rvL6vx1.js → pipeline-BO3ukdjt.js} +4 -4
  23. package/dist/render/entity-fallback.js +1 -1
  24. package/dist/render/face.js +1 -1
  25. package/dist/render/geo.js +1 -1
  26. package/dist/render/obj.js +1 -1
  27. package/dist/render/pipeline.js +1 -1
  28. package/dist/render/renderer.js +1 -1
  29. package/dist/{run-BXAqZ5qY.js → run-0EPZBeqT.js} +1 -1
  30. package/dist/run.js +1 -1
  31. package/dist/workers/render-worker.js +1 -1
  32. package/package.json +1 -1
  33. package/dist/{face-B2JjWT46.js → face-CKHboPfh.js} +1 -1
  34. package/dist/{item-sprites-G-yikdfV.js → item-sprites-CnCH8YFv.js} +1 -1
@@ -1,2 +1,2 @@
1
- import { t as runBlocksCli } from "../cli-DUWWH_Rc.js";
1
+ import { t as runBlocksCli } from "../cli-AIYuxk4-.js";
2
2
  export { runBlocksCli };
@@ -0,0 +1,10 @@
1
+ import { a as ResourceManager } from "../manager-exOIcdyx.js";
2
+ import { f as BlockPackModel } from "../pack-format-QcVFxG_b.js";
3
+ //#region src/blocks/ender-storage.d.ts
4
+ /**
5
+ * Ender Storage feeds this OBJ through CodeChickenLib's `swapYZ`, translates it almost exactly onto
6
+ * the block centre, and takes a backfaced copy so its glass/frame can be seen from either side.
7
+ */
8
+ declare function enderStorageBlockModel(blockId: string, resources: ResourceManager): Promise<BlockPackModel | null>;
9
+ //#endregion
10
+ export { enderStorageBlockModel };
@@ -0,0 +1,2 @@
1
+ import { t as enderStorageBlockModel } from "../ender-storage-a36r-lF0.js";
2
+ export { enderStorageBlockModel };
@@ -1,2 +1,2 @@
1
- import { t as findGeoForEntity } from "../entity-geo-B2CkuMWx.js";
1
+ import { t as findGeoForEntity } from "../entity-geo-B9QYodsa.js";
2
2
  export { findGeoForEntity };
@@ -1,2 +1,2 @@
1
- import { t as collectEntityGeometry } from "../entity-models-D_QGok9j.js";
1
+ import { t as collectEntityGeometry } from "../entity-models--KAShEPW.js";
2
2
  export { collectEntityGeometry };
@@ -1,2 +1,2 @@
1
- import { t as exportBlockPack } from "../export-CBXWRbBw.js";
1
+ import { t as exportBlockPack } from "../export-DtLGTzd_.js";
2
2
  export { exportBlockPack };
@@ -1,2 +1,2 @@
1
- import { t as geoBlockModel } from "../geo-blocks-CzkfL4Li.js";
1
+ import { t as geoBlockModel } from "../geo-blocks-DSqTryeM.js";
2
2
  export { geoBlockModel };
@@ -1,2 +1,2 @@
1
- import { t as collectItemSprites } from "../item-sprites-G-yikdfV.js";
1
+ import { t as collectItemSprites } from "../item-sprites-CnCH8YFv.js";
2
2
  export { collectItemSprites };
@@ -1,2 +1,2 @@
1
- import { n as buildObjMesh, t as ObjMeshError } from "../obj-mesh-JwPkZEWL.js";
1
+ import { n as buildObjMesh, t as ObjMeshError } from "../obj-mesh-rnYbSbpv.js";
2
2
  export { ObjMeshError, buildObjMesh };
@@ -1,6 +1,6 @@
1
1
  import { n as builtinPackPath } from "./builtin-WkWjATeh.js";
2
2
  import { n as LayeredResourceManager, t as FolderResourceManager } from "./manager-BNibYkmI.js";
3
- import { t as exportBlockPack } from "./export-CBXWRbBw.js";
3
+ import { t as exportBlockPack } from "./export-DtLGTzd_.js";
4
4
  import { n as layeredClasses, t as JarClassReader } from "./jar-classes-3GVCJZT7.js";
5
5
  import { n as prepareModResources } from "./prepare-Myd_ec4v.js";
6
6
  import { t as downloadClientJar } from "./download-1wAfrGKx.js";
package/dist/cli.js CHANGED
@@ -6,8 +6,8 @@ import { t as curatedModelOverrides } from "./models-CZjCOjs4.js";
6
6
  import { n as harvestTintOverrides, t as curatedTintOverrides } from "./tints-BspVCz2G.js";
7
7
  import { t as downloadClientJar } from "./download-1wAfrGKx.js";
8
8
  import { a as prepareVersionResources, i as eraForVersion, n as GEOMETRY_DONOR_VERSIONS } from "./prepare-D49Gu4Lv.js";
9
- import { t as runBlocksCli } from "./cli-DUWWH_Rc.js";
10
- import { t as run } from "./run-BXAqZ5qY.js";
9
+ import { t as runBlocksCli } from "./cli-AIYuxk4-.js";
10
+ import { t as run } from "./run-0EPZBeqT.js";
11
11
  import path from "node:path";
12
12
  import os from "node:os";
13
13
  import { parseArgs } from "node:util";
@@ -0,0 +1,58 @@
1
+ import { n as ResourceLocator } from "./locator-COMEtEn9.js";
2
+ import { r as parseObj } from "./obj-bvs3gwex.js";
3
+ //#region src/blocks/ender-storage.ts
4
+ /** Geometry for Ender Storage blocks whose shipped JSON model is only an empty Java-renderer hook. */
5
+ const BLOCK_UNITS = 16;
6
+ function rounded(value, places) {
7
+ const factor = 10 ** places;
8
+ return Math.round(value * factor) / factor;
9
+ }
10
+ /**
11
+ * Ender Storage feeds this OBJ through CodeChickenLib's `swapYZ`, translates it almost exactly onto
12
+ * the block centre, and takes a backfaced copy so its glass/frame can be seen from either side.
13
+ */
14
+ async function enderStorageBlockModel(blockId, resources) {
15
+ if (blockId !== "enderstorage:ender_tank") return null;
16
+ const source = await resources.getResource("raw", new ResourceLocator("enderstorage", "models/endertank.obj"));
17
+ if (!source) return null;
18
+ const parsed = parseObj(source.toString("utf8"), true);
19
+ if (parsed.triangles.length === 0) return null;
20
+ const groups = /* @__PURE__ */ new Map();
21
+ for (const triangle of parsed.triangles) {
22
+ const object = triangle.object || void 0;
23
+ const key = object ?? "";
24
+ let group = groups.get(key);
25
+ if (!group) {
26
+ group = {
27
+ sprite: "enderstorage:endertank",
28
+ ...object && { object },
29
+ positions: [],
30
+ uv: []
31
+ };
32
+ groups.set(key, group);
33
+ }
34
+ for (const order of [[
35
+ 0,
36
+ 1,
37
+ 2
38
+ ], [
39
+ 2,
40
+ 1,
41
+ 0
42
+ ]]) for (const corner of order) {
43
+ const [positionX, positionY, positionZ] = triangle.positions[corner];
44
+ group.positions.push(rounded((positionX - .0099) * BLOCK_UNITS, 3), rounded(positionZ * BLOCK_UNITS, 3), rounded((positionY - .0027) * BLOCK_UNITS, 3));
45
+ const [textureU, textureV] = triangle.uvs[corner];
46
+ group.uv.push(rounded(textureU * BLOCK_UNITS, 4), rounded(textureV * BLOCK_UNITS, 4));
47
+ }
48
+ }
49
+ return {
50
+ ao: true,
51
+ elements: [],
52
+ particle: "enderstorage:endertank",
53
+ mesh: groups.values().toArray().toSorted((left, right) => (left.object ?? "").localeCompare(right.object ?? "")),
54
+ renderType: "cutout"
55
+ };
56
+ }
57
+ //#endregion
58
+ export { enderStorageBlockModel as t };
@@ -1,6 +1,6 @@
1
1
  import { n as ResourceLocator } from "./locator-COMEtEn9.js";
2
2
  import { a as findBedTexture, f as tokens, i as coversSheet, n as HEAD_LAYOUTS, o as findChestTexture, s as findEntityTexture, t as DYE_COLORS, u as findMobTexture } from "./entity-textures-4XXT8jVI.js";
3
- import { c as renderModel } from "./obj-CJHEHpki.js";
3
+ import { c as renderModel } from "./obj-bvs3gwex.js";
4
4
  //#region src/render/entity-fallback.ts
5
5
  /**
6
6
  * Heuristic rendering for mod items that parent `builtin/entity` — chests,
@@ -1,6 +1,6 @@
1
1
  import { n as ResourceLocator } from "./locator-COMEtEn9.js";
2
2
  import { t as geoToModel } from "./geo-model-Bo1gpEwX.js";
3
- import { i as parseGeo, r as nameTokens } from "./geo-Desq-gRC.js";
3
+ import { i as parseGeo, r as nameTokens } from "./geo-Cl-1NZX5.js";
4
4
  //#region src/blocks/entity-geo.ts
5
5
  /**
6
6
  * Finding the `.geo.json` a GeckoLib entity is drawn from.
@@ -1,4 +1,4 @@
1
- import { t as findGeoForEntity } from "./entity-geo-B2CkuMWx.js";
1
+ import { t as findGeoForEntity } from "./entity-geo-B9QYodsa.js";
2
2
  import { n as extractInheritedModel } from "./inherit-C5Ifg3SM.js";
3
3
  import { a as linkEntityModel, i as classReader, r as buildModelNameIndex } from "./link-5GmBLTzk.js";
4
4
  import { s as resolveMappings, t as MappingsUnavailableError } from "./mappings-BEPVaiwE.js";
@@ -2,13 +2,14 @@ import { r as buildBiomeClimates } from "./biomes-5ZwYxMYe.js";
2
2
  import { n as ResourceLocator } from "./locator-COMEtEn9.js";
3
3
  import { n as blockEntityGeometry, r as synthesizeVariants, t as INVISIBLE_BLOCKS } from "./block-entities-XAynAVUE.js";
4
4
  import { a as parseBlockState, n as collectModels } from "./blockstate-eval-BRQ3NWY2.js";
5
+ import { a as salvageJson, i as resolveTexture, t as ModelLoader } from "./loader-C-NuJaEi.js";
6
+ import { t as enderStorageBlockModel } from "./ender-storage-a36r-lF0.js";
5
7
  import { t as collectEntities } from "./entities-DubtdM11.js";
6
- import { t as collectEntityGeometry } from "./entity-models-D_QGok9j.js";
7
- import { t as geoBlockModel } from "./geo-blocks-CzkfL4Li.js";
8
+ import { t as collectEntityGeometry } from "./entity-models--KAShEPW.js";
9
+ import { t as geoBlockModel } from "./geo-blocks-DSqTryeM.js";
8
10
  import { n as discoverItems } from "./discovery-CD0QqxSF.js";
9
- import { a as salvageJson, i as resolveTexture, t as ModelLoader } from "./loader-C-NuJaEi.js";
10
- import { t as collectItemSprites } from "./item-sprites-G-yikdfV.js";
11
- import { n as buildObjMesh } from "./obj-mesh-JwPkZEWL.js";
11
+ import { t as collectItemSprites } from "./item-sprites-CnCH8YFv.js";
12
+ import { n as buildObjMesh } from "./obj-mesh-rnYbSbpv.js";
12
13
  import { n as buildSpriteSheet, t as MISSING_SPRITE } from "./sprite-sheet-LQAEtGkp.js";
13
14
  import { n as buildBlockTints, t as UNREGISTERED_TINTS } from "./tints-Cl0r-Ol3.js";
14
15
  import { t as loadAtlasResolver } from "./registry-DlduyjtM.js";
@@ -77,22 +78,25 @@ const EXTRA_FLUID_SPRITES = ["minecraft:block/water_overlay"];
77
78
  * models are therefore unreachable from `collectModels`, even though a consumer has enough NBT to
78
79
  * reconstruct it. Keep the small, stable texture vocabulary in the atlas for that renderer.
79
80
  */
80
- const DYNAMIC_BLOCK_ENTITY_SPRITES = { ae2: [
81
- "ae2:part/cable/glass/transparent",
82
- "ae2:part/cable/covered/transparent",
83
- "ae2:part/cable/smart/transparent",
84
- "ae2:part/cable/dense_covered/transparent",
85
- "ae2:part/cable/dense_smart/transparent",
86
- "ae2:part/storage_bus",
87
- "ae2:part/storage_bus_back",
88
- "ae2:part/storage_bus_sides",
89
- "ae2:part/import_bus",
90
- "ae2:part/import_bus_sides",
91
- "ae2:part/export_bus",
92
- "ae2:part/export_bus_sides",
93
- "ae2:part/monitor_back",
94
- "ae2:part/monitor_sides_status"
95
- ] };
81
+ const DYNAMIC_BLOCK_ENTITY_SPRITES = {
82
+ ae2: [
83
+ "ae2:part/cable/glass/transparent",
84
+ "ae2:part/cable/covered/transparent",
85
+ "ae2:part/cable/smart/transparent",
86
+ "ae2:part/cable/dense_covered/transparent",
87
+ "ae2:part/cable/dense_smart/transparent",
88
+ "ae2:part/storage_bus",
89
+ "ae2:part/storage_bus_back",
90
+ "ae2:part/storage_bus_sides",
91
+ "ae2:part/import_bus",
92
+ "ae2:part/import_bus_sides",
93
+ "ae2:part/export_bus",
94
+ "ae2:part/export_bus_sides",
95
+ "ae2:part/monitor_back",
96
+ "ae2:part/monitor_sides_status"
97
+ ],
98
+ enderstorage: ["enderstorage:buttons", "enderstorage:hedronmap"]
99
+ };
96
100
  /**
97
101
  * Vanilla's `BlockElement.uvsByFace`: the UV a face gets when the model states
98
102
  * none. Deliberately not `render/geometry.ts`'s auto-UVs — those are in the
@@ -425,6 +429,15 @@ async function exportBlockPack(options) {
425
429
  }
426
430
  for (const group of geo.mesh ?? []) spriteIds.add(group.sprite);
427
431
  }
432
+ for (const [id, references] of blockModels) {
433
+ const enderStorage = await enderStorageBlockModel(id, resources);
434
+ if (!enderStorage) continue;
435
+ for (const reference of references) {
436
+ emittedModels[reference] = enderStorage;
437
+ modelTintIndices.set(reference, /* @__PURE__ */ new Set());
438
+ }
439
+ for (const group of enderStorage.mesh ?? []) spriteIds.add(group.sprite);
440
+ }
428
441
  for (const [id, references] of blockModels) {
429
442
  if (references.some((reference) => {
430
443
  const model = emittedModels[reference];
@@ -1,10 +1,10 @@
1
1
  import { n as ResourceLocator } from "./locator-COMEtEn9.js";
2
2
  import { l as toFloatTexture } from "./blend-KXMclcHk.js";
3
- import { t as combineFaceBuffers } from "./compose-BGsNFR12.js";
4
- import { i as createFaceBuffer } from "./rasterizer-DcVJzkxz.js";
5
3
  import { n as displayMatrix } from "./vector-CCxLae_T.js";
6
- import { n as faceMaxZ, r as renderFace, t as createShadeCache } from "./face-B2JjWT46.js";
7
4
  import { c as lightsForProfile } from "./lighting--5myudVu.js";
5
+ import { i as createFaceBuffer } from "./rasterizer-DcVJzkxz.js";
6
+ import { t as combineFaceBuffers } from "./compose-BGsNFR12.js";
7
+ import { n as faceMaxZ, r as renderFace, t as createShadeCache } from "./face-CKHboPfh.js";
8
8
  //#region src/render/geo.ts
9
9
  /**
10
10
  * Bedrock-format geometry (`.geo.json`) rendering, best-effort. GeckoLib mods
@@ -1,5 +1,5 @@
1
1
  import { n as ResourceLocator } from "./locator-COMEtEn9.js";
2
- import { i as parseGeo, n as geoToFaces } from "./geo-Desq-gRC.js";
2
+ import { i as parseGeo, n as geoToFaces } from "./geo-Cl-1NZX5.js";
3
3
  //#region src/blocks/geo-blocks.ts
4
4
  /** GeckoLib block geometry selected by a Java block-entity renderer rather than its placeholder JSON. */
5
5
  /** Blocks whose ordinary cube model exists only for particles/breaking and is replaced in Java. */
package/dist/index.js CHANGED
@@ -3,18 +3,18 @@ import { n as ResourceLocator, t as InvalidResourceLocatorError } from "./locato
3
3
  import { a as parseBlockState, i as matchesCondition, n as collectModels, o as weightedVariantIndex, r as evaluateBlockState, t as BlockStateError } from "./blockstate-eval-BRQ3NWY2.js";
4
4
  import { c as toByteTexture, l as toFloatTexture } from "./blend-KXMclcHk.js";
5
5
  import { c as lightsForProfile, r as LightingProfile } from "./lighting--5myudVu.js";
6
+ import { a as salvageJson, i as resolveTexture, n as ModelResolutionError, t as ModelLoader } from "./loader-C-NuJaEi.js";
7
+ import { a as ItemRenderError, c as renderModel, l as renderModelFrames, o as boxDownscale, s as pointResize } from "./obj-bvs3gwex.js";
6
8
  import { a as defaultProperties, i as UNKNOWN_MODEL, n as InvalidItemDefinitionError, o as evaluateItemModel } from "./definition-ColsvWrH.js";
7
9
  import { i as resolveItem, n as discoverItems, t as ItemResolutionError } from "./discovery-CD0QqxSF.js";
8
- import { a as salvageJson, i as resolveTexture, n as ModelResolutionError, t as ModelLoader } from "./loader-C-NuJaEi.js";
9
10
  import { a as resolveTints, i as resolveTint, n as InvalidTinterDefinitionError, r as parseTintValue, t as DYE_COLORS } from "./tints-B3WQcPtx.js";
10
- import { a as ItemRenderError, c as renderModel, l as renderModelFrames, o as boxDownscale, s as pointResize } from "./obj-CJHEHpki.js";
11
- import { n as buildObjMesh, t as ObjMeshError } from "./obj-mesh-JwPkZEWL.js";
11
+ import { n as buildObjMesh, t as ObjMeshError } from "./obj-mesh-rnYbSbpv.js";
12
12
  import { t as packAtlas } from "./atlas-pack-CoOih7By.js";
13
13
  import { n as buildBlockTints, t as UNREGISTERED_TINTS } from "./tints-Cl0r-Ol3.js";
14
14
  import { o as createAtlasResolver, s as parseAtlasSources, t as AtlasSourceError } from "./sources-BlUriDCs.js";
15
15
  import { n as LayeredResourceManager, r as ResourceKind, t as FolderResourceManager } from "./manager-BNibYkmI.js";
16
16
  import { n as TextureLoader, r as TextureResolutionError, t as AnimatedTexture } from "./loader-C18GpurU.js";
17
- import { t as exportBlockPack } from "./export-CBXWRbBw.js";
17
+ import { t as exportBlockPack } from "./export-DtLGTzd_.js";
18
18
  import { n as UnsafeJarError, r as isUnsafeEntryPath, t as JarResourceManager } from "./jar-W2cV2ZVO.js";
19
19
  import { n as prepareModResources } from "./prepare-Myd_ec4v.js";
20
20
  import { a as prepareVersionResources, i as eraForVersion, r as compareVersions } from "./prepare-D49Gu4Lv.js";
@@ -22,5 +22,5 @@ import { n as encodeIcon, t as encodeAnimatedIcon } from "./encode-LR9wxigC.js";
22
22
  import { a as builtinDynamicResources } from "./generators-BCZVlWig.js";
23
23
  import { t as minifyStylesheet } from "./minify-bjMRmr5J.js";
24
24
  import { n as itemClass, t as generateStylesheet } from "./stylesheet-CovT3B2S.js";
25
- import { t as run } from "./run-BXAqZ5qY.js";
25
+ import { t as run } from "./run-0EPZBeqT.js";
26
26
  export { AnimatedTexture, AtlasSourceError, BlockStateError, DEFAULT_WATER_COLOR, DYE_COLORS, FolderResourceManager, InvalidItemDefinitionError, InvalidResourceLocatorError, InvalidTinterDefinitionError, ItemRenderError, ItemResolutionError, JarResourceManager, LayeredResourceManager, LightingProfile, ModelLoader, ModelResolutionError, ObjMeshError, ResourceKind, ResourceLocator, TextureLoader, TextureResolutionError, UNKNOWN_MODEL, UNREGISTERED_TINTS, UnsafeJarError, VANILLA_BIOME_CLIMATES, boxDownscale, buildBiomeClimates, buildBlockTints, buildObjMesh, builtinDynamicResources, collectModels, compareVersions, createAtlasResolver, defaultProperties, discoverItems, encodeAnimatedIcon, encodeIcon, eraForVersion, evaluateBlockState, evaluateItemModel, exportBlockPack, generateStylesheet, isUnsafeEntryPath, itemClass, lightsForProfile, matchesCondition, minifyStylesheet, packAtlas, parseAtlasSources, parseBiomeClimate, parseBlockState, parseTintValue, pointResize, prepareModResources, prepareVersionResources, renderModel, renderModelFrames, resolveItem, resolveTexture, resolveTint, resolveTints, run, salvageJson, toByteTexture, toFloatTexture, weightedVariantIndex };
@@ -1,13 +1,13 @@
1
1
  import { n as ResourceLocator } from "./locator-COMEtEn9.js";
2
2
  import { l as toFloatTexture, n as cloneFloatTexture, r as darkenTexture, s as tintTexture, t as blendPixel } from "./blend-KXMclcHk.js";
3
- import { t as combineFaceBuffers } from "./compose-BGsNFR12.js";
4
- import { a as drawTexturedTriangle, i as createFaceBuffer, n as clearFaceBuffer, o as phpRound, t as RowCursor } from "./rasterizer-DcVJzkxz.js";
5
3
  import { c as normalize, g as transformVector, m as sub, n as displayMatrix, o as identity, r as dot, s as multiply, t as cross } from "./vector-CCxLae_T.js";
6
- import { n as faceMaxZ, r as renderFace, t as createShadeCache } from "./face-B2JjWT46.js";
7
4
  import { c as lightsForProfile } from "./lighting--5myudVu.js";
8
- import { i as resolveTexture } from "./loader-C-NuJaEi.js";
5
+ import { a as drawTexturedTriangle, i as createFaceBuffer, n as clearFaceBuffer, o as phpRound, t as RowCursor } from "./rasterizer-DcVJzkxz.js";
6
+ import { t as combineFaceBuffers } from "./compose-BGsNFR12.js";
7
+ import { n as faceMaxZ, r as renderFace, t as createShadeCache } from "./face-CKHboPfh.js";
9
8
  import { t as paintBucketFluid } from "./fluid-bucket-B-I4ZYHl.js";
10
9
  import { r as buildElementFaces } from "./geometry-Bi-Bf5rb.js";
10
+ import { i as resolveTexture } from "./loader-C-NuJaEi.js";
11
11
  //#region src/render/renderer.ts
12
12
  /**
13
13
  * Item rendering entry: flat generated items (2D layer compositing) and 3D
@@ -1,5 +1,5 @@
1
1
  import { n as ResourceLocator } from "./locator-COMEtEn9.js";
2
- import { n as parseMtl, r as parseObj, t as materialTexture } from "./obj-CJHEHpki.js";
2
+ import { n as parseMtl, r as parseObj, t as materialTexture } from "./obj-bvs3gwex.js";
3
3
  //#region src/blocks/obj-mesh.ts
4
4
  /**
5
5
  * OBJ geometry as pack data.
@@ -1,17 +1,17 @@
1
1
  import { n as ResourceLocator } from "./locator-COMEtEn9.js";
2
2
  import { l as toFloatTexture, t as blendPixel } from "./blend-KXMclcHk.js";
3
- import { a as renderGeo, t as findGeoForItem } from "./geo-Desq-gRC.js";
3
+ import { t as ModelLoader } from "./loader-C-NuJaEi.js";
4
+ import { c as renderModel, l as renderModelFrames, o as boxDownscale, s as pointResize } from "./obj-bvs3gwex.js";
5
+ import { a as renderGeo, t as findGeoForItem } from "./geo-Cl-1NZX5.js";
4
6
  import { a as defaultProperties } from "./definition-ColsvWrH.js";
5
7
  import { i as resolveItem } from "./discovery-CD0QqxSF.js";
6
- import { t as ModelLoader } from "./loader-C-NuJaEi.js";
7
8
  import { a as resolveTints } from "./tints-B3WQcPtx.js";
8
- import { c as renderModel, l as renderModelFrames, o as boxDownscale, s as pointResize } from "./obj-CJHEHpki.js";
9
9
  import { t as loadAtlasResolver } from "./registry-DlduyjtM.js";
10
10
  import { n as LayeredResourceManager, t as FolderResourceManager } from "./manager-BNibYkmI.js";
11
11
  import { n as TextureLoader } from "./loader-C18GpurU.js";
12
12
  import { t as encodeAnimatedIcon } from "./encode-LR9wxigC.js";
13
13
  import { a as builtinDynamicResources } from "./generators-BCZVlWig.js";
14
- import { a as spawnEggTints, i as renderEntityFallback, n as dyedVariantTint, r as renderDyedVariantFallback, t as dyeVariantName } from "./entity-fallback-BcJWh91-.js";
14
+ import { a as spawnEggTints, i as renderEntityFallback, n as dyedVariantTint, r as renderDyedVariantFallback, t as dyeVariantName } from "./entity-fallback-u9z3oQcv.js";
15
15
  import { t as legacyTintsForChain } from "./legacy-tints-l-541wgI.js";
16
16
  import { n as defaultBlockStateModel, t as blockStateTransform } from "./blockstate-DVb8Mhxc.js";
17
17
  import path from "node:path";
@@ -1,2 +1,2 @@
1
- import { a as spawnEggTints, i as renderEntityFallback, n as dyedVariantTint, r as renderDyedVariantFallback, t as dyeVariantName } from "../entity-fallback-BcJWh91-.js";
1
+ import { a as spawnEggTints, i as renderEntityFallback, n as dyedVariantTint, r as renderDyedVariantFallback, t as dyeVariantName } from "../entity-fallback-u9z3oQcv.js";
2
2
  export { dyeVariantName, dyedVariantTint, renderDyedVariantFallback, renderEntityFallback, spawnEggTints };
@@ -1,2 +1,2 @@
1
- import { n as faceMaxZ, r as renderFace, t as createShadeCache } from "../face-B2JjWT46.js";
1
+ import { n as faceMaxZ, r as renderFace, t as createShadeCache } from "../face-CKHboPfh.js";
2
2
  export { createShadeCache, faceMaxZ, renderFace };
@@ -1,2 +1,2 @@
1
- import { a as renderGeo, i as parseGeo, n as geoToFaces, r as nameTokens, t as findGeoForItem } from "../geo-Desq-gRC.js";
1
+ import { a as renderGeo, i as parseGeo, n as geoToFaces, r as nameTokens, t as findGeoForItem } from "../geo-Cl-1NZX5.js";
2
2
  export { findGeoForItem, geoToFaces, nameTokens, parseGeo, renderGeo };
@@ -1,2 +1,2 @@
1
- import { i as renderObjModel, n as parseMtl, r as parseObj, t as materialTexture } from "../obj-CJHEHpki.js";
1
+ import { i as renderObjModel, n as parseMtl, r as parseObj, t as materialTexture } from "../obj-bvs3gwex.js";
2
2
  export { materialTexture, parseMtl, parseObj, renderObjModel };
@@ -1,2 +1,2 @@
1
- import { t as ItemPipeline } from "../pipeline-7rvL6vx1.js";
1
+ import { t as ItemPipeline } from "../pipeline-BO3ukdjt.js";
2
2
  export { ItemPipeline };
@@ -1,2 +1,2 @@
1
- import { a as ItemRenderError, c as renderModel, l as renderModelFrames, o as boxDownscale, s as pointResize } from "../obj-CJHEHpki.js";
1
+ import { a as ItemRenderError, c as renderModel, l as renderModelFrames, o as boxDownscale, s as pointResize } from "../obj-bvs3gwex.js";
2
2
  export { ItemRenderError, boxDownscale, pointResize, renderModel, renderModelFrames };
@@ -6,7 +6,7 @@ import { r as encodeRasterAsset } from "./encode-LR9wxigC.js";
6
6
  import { t as classifyItemStyle } from "./item-styles-DjYRdyHi.js";
7
7
  import { t as minifyStylesheet } from "./minify-bjMRmr5J.js";
8
8
  import { t as generateStylesheet } from "./stylesheet-CovT3B2S.js";
9
- import { t as ItemPipeline } from "./pipeline-7rvL6vx1.js";
9
+ import { t as ItemPipeline } from "./pipeline-BO3ukdjt.js";
10
10
  import { t as describeResources } from "./descriptor-JyXhfd-c.js";
11
11
  import { t as WorkerRenderPool } from "./pool-CKGp1qup.js";
12
12
  import path from "node:path";
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-BXAqZ5qY.js";
2
+ import { t as run } from "./run-0EPZBeqT.js";
3
3
  export { evaluateItemModel, run };
@@ -1,4 +1,4 @@
1
- import { t as ItemPipeline } from "../pipeline-7rvL6vx1.js";
1
+ import { t as ItemPipeline } from "../pipeline-BO3ukdjt.js";
2
2
  import { n as restoreResources } from "../descriptor-JyXhfd-c.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.6.4",
3
+ "version": "1.6.5",
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",
@@ -1,6 +1,6 @@
1
1
  import { a as scaleTextureAlpha, n as cloneFloatTexture, r as darkenTexture, s as tintTexture, u as uvWindow } from "./blend-KXMclcHk.js";
2
- import { a as drawTexturedTriangle, i as createFaceBuffer, n as clearFaceBuffer, o as phpRound, r as compactFaceBuffer, t as RowCursor } from "./rasterizer-DcVJzkxz.js";
3
2
  import { c as normalize, g as transformVector, h as transformDirection, m as sub, r as dot, t as cross } from "./vector-CCxLae_T.js";
3
+ import { a as drawTexturedTriangle, i as createFaceBuffer, n as clearFaceBuffer, o as phpRound, r as compactFaceBuffer, t as RowCursor } from "./rasterizer-DcVJzkxz.js";
4
4
  //#region src/render/face.ts
5
5
  /**
6
6
  * Face rendering: cull, transform, project, tint, darken, rasterize — a faithful
@@ -1,5 +1,5 @@
1
- import { i as resolveItem, r as langRegistry } from "./discovery-CD0QqxSF.js";
2
1
  import { i as resolveTexture } from "./loader-C-NuJaEi.js";
2
+ import { i as resolveItem, r as langRegistry } from "./discovery-CD0QqxSF.js";
3
3
  import { a as resolveTints } from "./tints-B3WQcPtx.js";
4
4
  //#region src/blocks/item-sprites.ts
5
5
  /**