@nodecraft/rendermite 1.6.6 → 1.6.7
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/dist/blocks/cli.js +1 -1
- package/dist/blocks/ender-storage.js +1 -1
- package/dist/blocks/entity-geo.js +1 -1
- package/dist/blocks/entity-models.js +1 -1
- package/dist/blocks/export.js +1 -1
- package/dist/blocks/geo-blocks.js +1 -1
- package/dist/blocks/obj-mesh.js +1 -1
- package/dist/{cli-BtVAPg1-.js → cli-FiMsJbQx.js} +1 -1
- package/dist/cli.js +2 -2
- package/dist/{ender-storage-a36r-lF0.js → ender-storage-C8i6Rxlq.js} +1 -1
- package/dist/entities/geo-model.d.ts +1 -1
- package/dist/{entity-fallback-u9z3oQcv.js → entity-fallback-BRMFKPlM.js} +1 -1
- package/dist/{entity-geo-Bh409352.js → entity-geo-DbTtMlPL.js} +1 -1
- package/dist/{entity-models-Bkikeu3U.js → entity-models-DSZHxCx1.js} +1 -1
- package/dist/{export-DFWU9IAs.js → export-CxocMT1x.js} +6 -6
- package/dist/{face-CuC_Wnx9.d.ts → face-1cIObOfs.d.ts} +1 -1
- package/dist/{face-CKHboPfh.js → face-DbyyYmzp.js} +17 -5
- package/dist/{geo-Dpj_am7d.d.ts → geo-BjvgFB90.d.ts} +3 -2
- package/dist/{geo-DEsTheXx.js → geo-BoDxwvz5.js} +93 -44
- package/dist/{geo-blocks-BG3cxCdf.js → geo-blocks-BcSEBhko.js} +2 -2
- package/dist/{geometry-Bkur58Vi.d.ts → geometry--UzHu1Vh.d.ts} +2 -0
- package/dist/index.d.ts +3 -3
- package/dist/index.js +4 -4
- package/dist/{obj-bvs3gwex.js → obj-LWuJIAIM.js} +2 -2
- package/dist/{obj-mesh-rnYbSbpv.js → obj-mesh-CZsmCk-p.js} +1 -1
- package/dist/{pipeline-BwToOnuZ.d.ts → pipeline-C7pN0yko.d.ts} +1 -1
- package/dist/{pipeline-D5RhufFu.js → pipeline-CjRcZB63.js} +3 -3
- package/dist/render/entity-fallback.d.ts +2 -2
- package/dist/render/entity-fallback.js +1 -1
- package/dist/render/face.d.ts +1 -1
- package/dist/render/face.js +1 -1
- package/dist/render/geo.d.ts +1 -1
- package/dist/render/geo.js +1 -1
- package/dist/render/geometry.d.ts +1 -1
- package/dist/render/geometry.js +1 -1
- package/dist/render/legacy-tints.d.ts +1 -1
- package/dist/render/obj.d.ts +1 -1
- package/dist/render/obj.js +1 -1
- package/dist/render/pipeline.d.ts +1 -1
- package/dist/render/pipeline.js +1 -1
- package/dist/render/renderer.d.ts +1 -1
- package/dist/render/renderer.js +1 -1
- package/dist/render/tints.d.ts +1 -1
- package/dist/{renderer-C_DFi8DF.d.ts → renderer-CjreM6tk.d.ts} +1 -1
- package/dist/{run-Bblci_CC.d.ts → run-BgXZp8VQ.d.ts} +1 -1
- package/dist/{run-IOLCDxk5.js → run-CGcHj_qq.js} +1 -1
- package/dist/run.d.ts +1 -1
- package/dist/run.js +1 -1
- package/dist/{tints-6z6ysGUs.d.ts → tints-iPf8hSKX.d.ts} +1 -1
- package/dist/workers/render-worker.d.ts +1 -1
- package/dist/workers/render-worker.js +1 -1
- package/package.json +1 -1
- package/dist/{geometry-Bi-Bf5rb.js → geometry-bUDBhncX.js} +1 -1
package/dist/blocks/cli.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as runBlocksCli } from "../cli-
|
|
1
|
+
import { t as runBlocksCli } from "../cli-FiMsJbQx.js";
|
|
2
2
|
export { runBlocksCli };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as enderStorageBlockModel } from "../ender-storage-
|
|
1
|
+
import { t as enderStorageBlockModel } from "../ender-storage-C8i6Rxlq.js";
|
|
2
2
|
export { enderStorageBlockModel };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as findGeoForEntity } from "../entity-geo-
|
|
1
|
+
import { t as findGeoForEntity } from "../entity-geo-DbTtMlPL.js";
|
|
2
2
|
export { findGeoForEntity };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as collectEntityGeometry } from "../entity-models-
|
|
1
|
+
import { t as collectEntityGeometry } from "../entity-models-DSZHxCx1.js";
|
|
2
2
|
export { collectEntityGeometry };
|
package/dist/blocks/export.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as exportBlockPack } from "../export-
|
|
1
|
+
import { t as exportBlockPack } from "../export-CxocMT1x.js";
|
|
2
2
|
export { exportBlockPack };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as geoBlockModel } from "../geo-blocks-
|
|
1
|
+
import { t as geoBlockModel } from "../geo-blocks-BcSEBhko.js";
|
|
2
2
|
export { geoBlockModel };
|
package/dist/blocks/obj-mesh.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { n as buildObjMesh, t as ObjMeshError } from "../obj-mesh-
|
|
1
|
+
import { n as buildObjMesh, t as ObjMeshError } from "../obj-mesh-CZsmCk-p.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-
|
|
3
|
+
import { t as exportBlockPack } from "./export-CxocMT1x.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-
|
|
10
|
-
import { t as run } from "./run-
|
|
9
|
+
import { t as runBlocksCli } from "./cli-FiMsJbQx.js";
|
|
10
|
+
import { t as run } from "./run-CGcHj_qq.js";
|
|
11
11
|
import path from "node:path";
|
|
12
12
|
import os from "node:os";
|
|
13
13
|
import { parseArgs } from "node:util";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { n as ResourceLocator } from "./locator-COMEtEn9.js";
|
|
2
|
-
import { r as parseObj } from "./obj-
|
|
2
|
+
import { r as parseObj } from "./obj-LWuJIAIM.js";
|
|
3
3
|
//#region src/blocks/ender-storage.ts
|
|
4
4
|
/** Geometry for Ender Storage blocks whose shipped JSON model is only an empty Java-renderer hook. */
|
|
5
5
|
const BLOCK_UNITS = 16;
|
|
@@ -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-
|
|
3
|
+
import { c as renderModel } from "./obj-LWuJIAIM.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-
|
|
3
|
+
import { i as parseGeo, r as nameTokens } from "./geo-BoDxwvz5.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-
|
|
1
|
+
import { t as findGeoForEntity } from "./entity-geo-DbTtMlPL.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";
|
|
@@ -3,13 +3,13 @@ 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
5
|
import { a as salvageJson, i as resolveTexture, t as ModelLoader } from "./loader-C-NuJaEi.js";
|
|
6
|
-
import { t as enderStorageBlockModel } from "./ender-storage-
|
|
6
|
+
import { t as enderStorageBlockModel } from "./ender-storage-C8i6Rxlq.js";
|
|
7
7
|
import { t as collectEntities } from "./entities-DubtdM11.js";
|
|
8
|
-
import { t as collectEntityGeometry } from "./entity-models-
|
|
9
|
-
import { t as geoBlockModel } from "./geo-blocks-
|
|
8
|
+
import { t as collectEntityGeometry } from "./entity-models-DSZHxCx1.js";
|
|
9
|
+
import { t as geoBlockModel } from "./geo-blocks-BcSEBhko.js";
|
|
10
10
|
import { n as discoverItems } from "./discovery-CD0QqxSF.js";
|
|
11
11
|
import { t as collectItemSprites } from "./item-sprites-CnCH8YFv.js";
|
|
12
|
-
import { n as buildObjMesh } from "./obj-mesh-
|
|
12
|
+
import { n as buildObjMesh } from "./obj-mesh-CZsmCk-p.js";
|
|
13
13
|
import { n as buildSpriteSheet, t as MISSING_SPRITE } from "./sprite-sheet-LQAEtGkp.js";
|
|
14
14
|
import { n as buildBlockTints, t as UNREGISTERED_TINTS } from "./tints-Cl0r-Ol3.js";
|
|
15
15
|
import { t as loadAtlasResolver } from "./registry-DlduyjtM.js";
|
|
@@ -432,9 +432,9 @@ async function exportBlockPack(options) {
|
|
|
432
432
|
for (const part of definition.cases) for (const variant of part.apply) variant.model = reference;
|
|
433
433
|
if (override.javaFacing && definition.kind === "variants" && !definition.cases.some((part) => part.when.facing !== void 0)) for (const [facing, y] of Object.entries({
|
|
434
434
|
north: 0,
|
|
435
|
-
east:
|
|
435
|
+
east: 90,
|
|
436
436
|
south: 180,
|
|
437
|
-
west:
|
|
437
|
+
west: 270
|
|
438
438
|
})) definition.cases.push({
|
|
439
439
|
when: { facing },
|
|
440
440
|
apply: [{
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { n as FloatTexture } from "./blend-eT64Z6qm.js";
|
|
2
2
|
import { t as Mat4 } from "./vector-DRKRi4--.js";
|
|
3
|
-
import { n as FaceGeometry } from "./geometry
|
|
3
|
+
import { n as FaceGeometry } from "./geometry--UzHu1Vh.js";
|
|
4
4
|
import { r as LightSource } from "./lighting-3FGRC3Af.js";
|
|
5
5
|
import { n as FaceBuffer } from "./rasterizer-BFAHGtdT.js";
|
|
6
6
|
//#region src/render/face.d.ts
|
|
@@ -58,10 +58,22 @@ function renderFace(face, width, height, transformation, scratch, shadeCache) {
|
|
|
58
58
|
y: phpRound(height - ((v[1] - .5) * height + height / 2))
|
|
59
59
|
};
|
|
60
60
|
});
|
|
61
|
-
const
|
|
62
|
-
const
|
|
63
|
-
|
|
64
|
-
|
|
61
|
+
const explicitUvs = geometry.uvs;
|
|
62
|
+
const normalizedBounds = explicitUvs ? [
|
|
63
|
+
Math.min(...explicitUvs.map((uv) => uv[0])),
|
|
64
|
+
Math.min(...explicitUvs.map((uv) => uv[1])),
|
|
65
|
+
Math.max(...explicitUvs.map((uv) => uv[0])),
|
|
66
|
+
Math.max(...explicitUvs.map((uv) => uv[1]))
|
|
67
|
+
] : [
|
|
68
|
+
geometry.uv1[0],
|
|
69
|
+
geometry.uv1[1],
|
|
70
|
+
geometry.uv2[0],
|
|
71
|
+
geometry.uv2[1]
|
|
72
|
+
];
|
|
73
|
+
const absU1 = normalizedBounds[0] * face.texture.width;
|
|
74
|
+
const absV1 = normalizedBounds[1] * face.texture.height;
|
|
75
|
+
const absU2 = normalizedBounds[2] * face.texture.width;
|
|
76
|
+
const absV2 = normalizedBounds[3] * face.texture.height;
|
|
65
77
|
const tint = geometry.tintIndex !== null ? face.tint : null;
|
|
66
78
|
const darkness = geometry.emissive ? 0 : 1 - face.light.lightLevelForNormal(shadeDirection);
|
|
67
79
|
const [windowX1, windowY1, windowX2, windowY2] = uvWindow(face.texture, absU1, absV1, absU2, absV2);
|
|
@@ -94,7 +106,7 @@ function renderFace(face, width, height, transformation, scratch, shadeCache) {
|
|
|
94
106
|
texture = shaded;
|
|
95
107
|
shading = null;
|
|
96
108
|
}
|
|
97
|
-
const uvs = [
|
|
109
|
+
const uvs = explicitUvs?.map((uv) => [uv[0], uv[1]]) ?? [
|
|
98
110
|
[geometry.uv1[0], geometry.uv1[1]],
|
|
99
111
|
[geometry.uv1[0] + uvWidth, geometry.uv1[1]],
|
|
100
112
|
[geometry.uv1[0] + uvWidth, geometry.uv1[1] + uvHeight],
|
|
@@ -2,8 +2,8 @@ import { n as ResourceLocator } from "./locator-jDbdUeTd.js";
|
|
|
2
2
|
import { a as ResourceManager } from "./manager-exOIcdyx.js";
|
|
3
3
|
import { i as TextureLoader } from "./loader-DUlx29PC.js";
|
|
4
4
|
import { n as FloatTexture } from "./blend-eT64Z6qm.js";
|
|
5
|
-
import { n as FaceGeometry } from "./geometry
|
|
6
|
-
import { i as RenderOptions } from "./renderer-
|
|
5
|
+
import { n as FaceGeometry } from "./geometry--UzHu1Vh.js";
|
|
6
|
+
import { i as RenderOptions } from "./renderer-CjreM6tk.js";
|
|
7
7
|
//#region src/render/geo.d.ts
|
|
8
8
|
interface GeoCube {
|
|
9
9
|
origin?: number[];
|
|
@@ -11,6 +11,7 @@ interface GeoCube {
|
|
|
11
11
|
uv?: number[] | Record<string, {
|
|
12
12
|
uv: number[];
|
|
13
13
|
uv_size?: number[];
|
|
14
|
+
uv_rotation?: number;
|
|
14
15
|
}>;
|
|
15
16
|
inflate?: number;
|
|
16
17
|
/** Bedrock mirrors a box's texture rather than its geometry, so only a consumer's UVs care. */
|
|
@@ -4,7 +4,7 @@ import { n as displayMatrix } from "./vector-CCxLae_T.js";
|
|
|
4
4
|
import { c as lightsForProfile } from "./lighting--5myudVu.js";
|
|
5
5
|
import { i as createFaceBuffer } from "./rasterizer-DcVJzkxz.js";
|
|
6
6
|
import { t as combineFaceBuffers } from "./compose-BGsNFR12.js";
|
|
7
|
-
import { n as faceMaxZ, r as renderFace, t as createShadeCache } from "./face-
|
|
7
|
+
import { n as faceMaxZ, r as renderFace, t as createShadeCache } from "./face-DbyyYmzp.js";
|
|
8
8
|
//#region src/render/geo.ts
|
|
9
9
|
/**
|
|
10
10
|
* Bedrock-format geometry (`.geo.json`) rendering, best-effort. GeckoLib mods
|
|
@@ -54,8 +54,8 @@ function rotatePoint(point, pivot, rotation) {
|
|
|
54
54
|
z + pivot[2]
|
|
55
55
|
];
|
|
56
56
|
}
|
|
57
|
-
/**
|
|
58
|
-
function boxFaces(origin, size
|
|
57
|
+
/** Bedrock cube vertices in source space; X is mirrored after cube and bone rotations. */
|
|
58
|
+
function boxFaces(origin, size) {
|
|
59
59
|
const [ox, oy, oz] = origin;
|
|
60
60
|
const [sx, sy, sz] = size;
|
|
61
61
|
const x1 = ox + sx;
|
|
@@ -74,12 +74,6 @@ function boxFaces(origin, size, u, v) {
|
|
|
74
74
|
corner(x1, y1, oz),
|
|
75
75
|
corner(x1, y1, z1),
|
|
76
76
|
corner(ox, y1, z1)
|
|
77
|
-
],
|
|
78
|
-
uv: [
|
|
79
|
-
u + sz,
|
|
80
|
-
v,
|
|
81
|
-
u + sz + sx,
|
|
82
|
-
v + sz
|
|
83
77
|
]
|
|
84
78
|
},
|
|
85
79
|
{
|
|
@@ -89,12 +83,6 @@ function boxFaces(origin, size, u, v) {
|
|
|
89
83
|
corner(x1, oy, z1),
|
|
90
84
|
corner(x1, oy, oz),
|
|
91
85
|
corner(ox, oy, oz)
|
|
92
|
-
],
|
|
93
|
-
uv: [
|
|
94
|
-
u + sz + sx,
|
|
95
|
-
v,
|
|
96
|
-
u + sz + sx + sx,
|
|
97
|
-
v + sz
|
|
98
86
|
]
|
|
99
87
|
},
|
|
100
88
|
{
|
|
@@ -104,12 +92,6 @@ function boxFaces(origin, size, u, v) {
|
|
|
104
92
|
corner(ox, y1, oz),
|
|
105
93
|
corner(ox, oy, oz),
|
|
106
94
|
corner(x1, oy, oz)
|
|
107
|
-
],
|
|
108
|
-
uv: [
|
|
109
|
-
u + sz,
|
|
110
|
-
v + sz,
|
|
111
|
-
u + sz + sx,
|
|
112
|
-
v + sz + sy
|
|
113
95
|
]
|
|
114
96
|
},
|
|
115
97
|
{
|
|
@@ -119,12 +101,6 @@ function boxFaces(origin, size, u, v) {
|
|
|
119
101
|
corner(x1, y1, z1),
|
|
120
102
|
corner(x1, oy, z1),
|
|
121
103
|
corner(ox, oy, z1)
|
|
122
|
-
],
|
|
123
|
-
uv: [
|
|
124
|
-
u + sz + sx + sz,
|
|
125
|
-
v + sz,
|
|
126
|
-
u + sz + sx + sz + sx,
|
|
127
|
-
v + sz + sy
|
|
128
104
|
]
|
|
129
105
|
},
|
|
130
106
|
{
|
|
@@ -134,12 +110,6 @@ function boxFaces(origin, size, u, v) {
|
|
|
134
110
|
corner(x1, y1, oz),
|
|
135
111
|
corner(x1, oy, oz),
|
|
136
112
|
corner(x1, oy, z1)
|
|
137
|
-
],
|
|
138
|
-
uv: [
|
|
139
|
-
u,
|
|
140
|
-
v + sz,
|
|
141
|
-
u + sz,
|
|
142
|
-
v + sz + sy
|
|
143
113
|
]
|
|
144
114
|
},
|
|
145
115
|
{
|
|
@@ -149,16 +119,67 @@ function boxFaces(origin, size, u, v) {
|
|
|
149
119
|
corner(ox, y1, z1),
|
|
150
120
|
corner(ox, oy, z1),
|
|
151
121
|
corner(ox, oy, oz)
|
|
152
|
-
],
|
|
153
|
-
uv: [
|
|
154
|
-
u + sz + sx,
|
|
155
|
-
v + sz,
|
|
156
|
-
u + sz + sx + sz,
|
|
157
|
-
v + sz + sy
|
|
158
122
|
]
|
|
159
123
|
}
|
|
160
124
|
];
|
|
161
125
|
}
|
|
126
|
+
function compactUv(direction, size, u, v) {
|
|
127
|
+
const [sx, sy, sz] = size;
|
|
128
|
+
if (direction === "west") return [
|
|
129
|
+
u + sz + sx,
|
|
130
|
+
v + sz,
|
|
131
|
+
u + sz + sx + sz,
|
|
132
|
+
v + sz + sy
|
|
133
|
+
];
|
|
134
|
+
if (direction === "east") return [
|
|
135
|
+
u,
|
|
136
|
+
v + sz,
|
|
137
|
+
u + sz,
|
|
138
|
+
v + sz + sy
|
|
139
|
+
];
|
|
140
|
+
if (direction === "north") return [
|
|
141
|
+
u + sz,
|
|
142
|
+
v + sz,
|
|
143
|
+
u + sz + sx,
|
|
144
|
+
v + sz + sy
|
|
145
|
+
];
|
|
146
|
+
if (direction === "south") return [
|
|
147
|
+
u + sz + sx + sz,
|
|
148
|
+
v + sz,
|
|
149
|
+
u + sz + sx + sz + sx,
|
|
150
|
+
v + sz + sy
|
|
151
|
+
];
|
|
152
|
+
if (direction === "up") return [
|
|
153
|
+
u + sz,
|
|
154
|
+
v,
|
|
155
|
+
u + sz + sx,
|
|
156
|
+
v + sz
|
|
157
|
+
];
|
|
158
|
+
return [
|
|
159
|
+
u + sz + sx,
|
|
160
|
+
v + sz,
|
|
161
|
+
u + sz + sx + sx,
|
|
162
|
+
v
|
|
163
|
+
];
|
|
164
|
+
}
|
|
165
|
+
function mirroredDirection(direction) {
|
|
166
|
+
if (direction === "east") return "west";
|
|
167
|
+
if (direction === "west") return "east";
|
|
168
|
+
return direction;
|
|
169
|
+
}
|
|
170
|
+
function faceUvSize(direction, size) {
|
|
171
|
+
if (direction === "west" || direction === "east") return [size[2], size[1]];
|
|
172
|
+
if (direction === "up" || direction === "down") return [size[0], size[2]];
|
|
173
|
+
return [size[0], size[1]];
|
|
174
|
+
}
|
|
175
|
+
function rotateUvs(uvs, degrees) {
|
|
176
|
+
const rotated = [...uvs];
|
|
177
|
+
for (let step = 0; step < Math.floor((degrees % 360 + 360) % 360 / 90); step++) {
|
|
178
|
+
const last = rotated.pop();
|
|
179
|
+
if (last) rotated.unshift(last);
|
|
180
|
+
}
|
|
181
|
+
return rotated;
|
|
182
|
+
}
|
|
162
183
|
/** Convert a parsed geo into face geometry, unit-cube fitted with gui pose. */
|
|
163
184
|
function geoToFaces(geo, options = {}) {
|
|
164
185
|
const bonesByName = /* @__PURE__ */ new Map();
|
|
@@ -189,6 +210,11 @@ function geoToFaces(geo, options = {}) {
|
|
|
189
210
|
for (const cube of bone.cubes ?? []) {
|
|
190
211
|
if (!cube.origin || !cube.size) continue;
|
|
191
212
|
const inflate = cube.inflate ?? 0;
|
|
213
|
+
const rawSize = [
|
|
214
|
+
cube.size[0],
|
|
215
|
+
cube.size[1],
|
|
216
|
+
cube.size[2]
|
|
217
|
+
];
|
|
192
218
|
const origin = [
|
|
193
219
|
cube.origin[0] - inflate,
|
|
194
220
|
cube.origin[1] - inflate,
|
|
@@ -201,19 +227,35 @@ function geoToFaces(geo, options = {}) {
|
|
|
201
227
|
];
|
|
202
228
|
const uvBase = Array.isArray(cube.uv) ? cube.uv : null;
|
|
203
229
|
const perFace = !Array.isArray(cube.uv) && cube.uv ? cube.uv : null;
|
|
204
|
-
for (const spec of boxFaces(origin, size
|
|
205
|
-
|
|
230
|
+
for (const spec of boxFaces(origin, size)) {
|
|
231
|
+
const direction = mirroredDirection(spec.direction);
|
|
232
|
+
let uvRect = compactUv(direction, rawSize, uvBase?.[0] ?? 0, uvBase?.[1] ?? 0);
|
|
233
|
+
let uvRotation = 0;
|
|
206
234
|
if (perFace) {
|
|
207
|
-
const entry = perFace[
|
|
235
|
+
const entry = perFace[direction];
|
|
208
236
|
if (!entry) continue;
|
|
209
|
-
const uvSize = entry.uv_size ??
|
|
237
|
+
const uvSize = entry.uv_size ?? faceUvSize(direction, rawSize);
|
|
210
238
|
uvRect = [
|
|
211
239
|
entry.uv[0],
|
|
212
240
|
entry.uv[1],
|
|
213
241
|
entry.uv[0] + uvSize[0],
|
|
214
242
|
entry.uv[1] + uvSize[1]
|
|
215
243
|
];
|
|
244
|
+
uvRotation = entry.uv_rotation ?? 0;
|
|
216
245
|
}
|
|
246
|
+
const [u1, v1, u2, v2] = uvRect;
|
|
247
|
+
let uvs = cube.mirror ? [
|
|
248
|
+
[u1, v1],
|
|
249
|
+
[u2, v1],
|
|
250
|
+
[u2, v2],
|
|
251
|
+
[u1, v2]
|
|
252
|
+
] : [
|
|
253
|
+
[u2, v1],
|
|
254
|
+
[u1, v1],
|
|
255
|
+
[u1, v2],
|
|
256
|
+
[u2, v2]
|
|
257
|
+
];
|
|
258
|
+
uvs = rotateUvs(uvs, uvRotation);
|
|
217
259
|
let corners = spec.corners.map((point) => [...point]);
|
|
218
260
|
if (cube.rotation && cube.pivot) corners = corners.map((point) => rotatePoint(point, cube.pivot, cube.rotation));
|
|
219
261
|
for (const link of chain) if (link.rotation && link.pivot) corners = corners.map((point) => rotatePoint(point, link.pivot, link.rotation));
|
|
@@ -228,15 +270,22 @@ function geoToFaces(geo, options = {}) {
|
|
|
228
270
|
corners[2],
|
|
229
271
|
corners[1]
|
|
230
272
|
];
|
|
273
|
+
uvs = [
|
|
274
|
+
uvs[0],
|
|
275
|
+
uvs[3],
|
|
276
|
+
uvs[2],
|
|
277
|
+
uvs[1]
|
|
278
|
+
];
|
|
231
279
|
for (const point of corners) for (let axis = 0; axis < 3; axis++) {
|
|
232
280
|
min[axis] = Math.min(min[axis], point[axis]);
|
|
233
281
|
max[axis] = Math.max(max[axis], point[axis]);
|
|
234
282
|
}
|
|
235
283
|
faces.push({
|
|
236
|
-
direction
|
|
284
|
+
direction,
|
|
237
285
|
vertices: corners,
|
|
238
286
|
uv1: [uvRect[0] / geo.textureWidth, uvRect[1] / geo.textureHeight],
|
|
239
287
|
uv2: [uvRect[2] / geo.textureWidth, uvRect[3] / geo.textureHeight],
|
|
288
|
+
uvs: uvs.map((uv) => [uv[0] / geo.textureWidth, uv[1] / geo.textureHeight]),
|
|
240
289
|
textureRef: "#geo",
|
|
241
290
|
rotation: 0,
|
|
242
291
|
tintIndex: null,
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { n as ResourceLocator } from "./locator-COMEtEn9.js";
|
|
2
|
-
import { i as parseGeo, n as geoToFaces } from "./geo-
|
|
2
|
+
import { i as parseGeo, n as geoToFaces } from "./geo-BoDxwvz5.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. */
|
|
@@ -53,7 +53,7 @@ async function geoBlockModel(blockId, resources) {
|
|
|
53
53
|
uv: []
|
|
54
54
|
};
|
|
55
55
|
for (const face of geoToFaces(geo, { fit: false })) {
|
|
56
|
-
const uvs = [
|
|
56
|
+
const uvs = face.uvs ?? [
|
|
57
57
|
[face.uv1[0], face.uv1[1]],
|
|
58
58
|
[face.uv1[0], face.uv2[1]],
|
|
59
59
|
[face.uv2[0], face.uv2[1]],
|
|
@@ -8,6 +8,8 @@ interface FaceGeometry {
|
|
|
8
8
|
/** Normalized UV rect corners (0–1). */
|
|
9
9
|
uv1: [number, number];
|
|
10
10
|
uv2: [number, number];
|
|
11
|
+
/** Explicit v0..v3 UVs for formats whose face mapping is not representable by a rectangle rotation. */
|
|
12
|
+
uvs?: [[number, number], [number, number], [number, number], [number, number]];
|
|
11
13
|
textureRef: string;
|
|
12
14
|
/** Degrees 0/90/180/270 — rotates the UV corner assignment. */
|
|
13
15
|
rotation: number;
|
package/dist/index.d.ts
CHANGED
|
@@ -12,15 +12,15 @@ import { i as exportBlockPack, n as BlockPackResult, r as ExportBlockPackOptions
|
|
|
12
12
|
import { s as builtinDynamicResources } from "./generators-BnIzAftW.js";
|
|
13
13
|
import { d as toFloatTexture, n as FloatTexture, u as toByteTexture } from "./blend-eT64Z6qm.js";
|
|
14
14
|
import { a as LightingProfileName, i as LightingProfile, r as LightSource, u as lightsForProfile } from "./lighting-3FGRC3Af.js";
|
|
15
|
-
import { a as RenderedFrames, c as renderModel, i as RenderOptions, l as renderModelFrames, o as boxDownscale, r as ItemRenderError, s as pointResize } from "./renderer-
|
|
15
|
+
import { a as RenderedFrames, c as renderModel, i as RenderOptions, l as renderModelFrames, o as boxDownscale, r as ItemRenderError, s as pointResize } from "./renderer-CjreM6tk.js";
|
|
16
16
|
import { c as defaultProperties, i as ItemRenderInstruction, l as evaluateItemModel, n as InvalidItemDefinitionError, o as TintDefinition, r as ItemProperties, s as UNKNOWN_MODEL } from "./definition-ricL7Jqf.js";
|
|
17
17
|
import { i as discoverItems, n as ItemDiscoveryOptions, o as resolveItem, r as ItemResolutionError, t as DiscoveredItem } from "./discovery-Cmir3QfC.js";
|
|
18
|
-
import { a as resolveTint, i as parseTintValue, n as InvalidTinterDefinitionError, o as resolveTints, t as DYE_COLORS } from "./tints-
|
|
18
|
+
import { a as resolveTint, i as parseTintValue, n as InvalidTinterDefinitionError, o as resolveTints, t as DYE_COLORS } from "./tints-iPf8hSKX.js";
|
|
19
19
|
import { i as EncodedIcon, n as EncodeOptions, o as encodeAnimatedIcon, r as EncodedAnimatedIcon, s as encodeIcon, t as AnimatedEncodeOptions } from "./encode-Cf8hI5OY.js";
|
|
20
20
|
import { t as minifyStylesheet } from "./minify-CIV6enbr.js";
|
|
21
21
|
import { a as compareVersions, o as eraForVersion, s as prepareVersionResources } from "./prepare-6pH3CNpg.js";
|
|
22
22
|
import { i as prepareModResources } from "./prepare-OS7wL3jv.js";
|
|
23
23
|
import { i as itemClass, n as StylesheetOptions, r as generateStylesheet, t as ItemStyle } from "./stylesheet-i-t_7sZ7.js";
|
|
24
|
-
import { i as run, n as RunOptions, r as RunResult, t as ItemFailure } from "./run-
|
|
24
|
+
import { i as run, n as RunOptions, r as RunResult, t as ItemFailure } from "./run-BgXZp8VQ.js";
|
|
25
25
|
import { n as UnsafeJarError, r as isUnsafeEntryPath, t as JarResourceManager } from "./jar-B5iRZQeL.js";
|
|
26
26
|
export { type AnimatedEncodeOptions, AnimatedTexture, type AtlasResolver, type AtlasSource, AtlasSourceError, type BiomeClimate, type BiomeClimatePack, type BlockModelVariant, type BlockPackFailure, type BlockPackResult, type BlockProperties, type BlockStateDefinition, BlockStateError, type BlockStateMultipartCase, type BlockStateVariantCase, type BlockTint, type BlockTintPack, DEFAULT_WATER_COLOR, DYE_COLORS, type DiscoveredItem, type EncodeOptions, type EncodedAnimatedIcon, type EncodedIcon, type ExportBlockPackOptions, type FloatTexture, FolderResourceManager, InvalidItemDefinitionError, InvalidResourceLocatorError, InvalidTinterDefinitionError, type ItemDiscoveryOptions, type ItemFailure, type ItemProperties, ItemRenderError, type ItemRenderInstruction, ItemResolutionError, type ItemStyle, JarResourceManager, LayeredResourceManager, type LightSource, LightingProfile, type LightingProfileName, type MeshGroup, ModelLoader, ModelResolutionError, type MultipartCondition, type ObjMesh, ObjMeshError, type PackEntry, type PackOptions, type PackedAtlas, type PackedPage, type PackedRect, type RenderOptions, type RenderedFrames, type ResolvedModel, type ResolvedSprite, ResourceKind, type ResourceKindName, ResourceLocator, type ResourceManager, type RunOptions, type RunResult, type StylesheetOptions, type Texture, TextureLoader, type TextureMeta, TextureResolutionError, type TintDefinition, 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 };
|
package/dist/index.js
CHANGED
|
@@ -4,17 +4,17 @@ import { a as parseBlockState, i as matchesCondition, n as collectModels, o as w
|
|
|
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
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-
|
|
7
|
+
import { a as ItemRenderError, c as renderModel, l as renderModelFrames, o as boxDownscale, s as pointResize } from "./obj-LWuJIAIM.js";
|
|
8
8
|
import { a as defaultProperties, i as UNKNOWN_MODEL, n as InvalidItemDefinitionError, o as evaluateItemModel } from "./definition-ColsvWrH.js";
|
|
9
9
|
import { i as resolveItem, n as discoverItems, t as ItemResolutionError } from "./discovery-CD0QqxSF.js";
|
|
10
10
|
import { a as resolveTints, i as resolveTint, n as InvalidTinterDefinitionError, r as parseTintValue, t as DYE_COLORS } from "./tints-B3WQcPtx.js";
|
|
11
|
-
import { n as buildObjMesh, t as ObjMeshError } from "./obj-mesh-
|
|
11
|
+
import { n as buildObjMesh, t as ObjMeshError } from "./obj-mesh-CZsmCk-p.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-
|
|
17
|
+
import { t as exportBlockPack } from "./export-CxocMT1x.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-
|
|
25
|
+
import { t as run } from "./run-CGcHj_qq.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 };
|
|
@@ -4,9 +4,9 @@ import { c as normalize, g as transformVector, m as sub, n as displayMatrix, o a
|
|
|
4
4
|
import { c as lightsForProfile } from "./lighting--5myudVu.js";
|
|
5
5
|
import { a as drawTexturedTriangle, i as createFaceBuffer, n as clearFaceBuffer, o as phpRound, t as RowCursor } from "./rasterizer-DcVJzkxz.js";
|
|
6
6
|
import { t as combineFaceBuffers } from "./compose-BGsNFR12.js";
|
|
7
|
-
import { n as faceMaxZ, r as renderFace, t as createShadeCache } from "./face-
|
|
7
|
+
import { n as faceMaxZ, r as renderFace, t as createShadeCache } from "./face-DbyyYmzp.js";
|
|
8
8
|
import { t as paintBucketFluid } from "./fluid-bucket-B-I4ZYHl.js";
|
|
9
|
-
import { r as buildElementFaces } from "./geometry-
|
|
9
|
+
import { r as buildElementFaces } from "./geometry-bUDBhncX.js";
|
|
10
10
|
import { i as resolveTexture } from "./loader-C-NuJaEi.js";
|
|
11
11
|
//#region src/render/renderer.ts
|
|
12
12
|
/**
|
|
@@ -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-
|
|
2
|
+
import { n as parseMtl, r as parseObj, t as materialTexture } from "./obj-LWuJIAIM.js";
|
|
3
3
|
//#region src/blocks/obj-mesh.ts
|
|
4
4
|
/**
|
|
5
5
|
* OBJ geometry as pack data.
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { a as ResourceManager } from "./manager-exOIcdyx.js";
|
|
2
2
|
import { n as FloatTexture } from "./blend-eT64Z6qm.js";
|
|
3
3
|
import { a as LightingProfileName } from "./lighting-3FGRC3Af.js";
|
|
4
|
-
import { n as AnimationLimits } from "./renderer-
|
|
4
|
+
import { n as AnimationLimits } from "./renderer-CjreM6tk.js";
|
|
5
5
|
//#region src/render/pipeline.d.ts
|
|
6
6
|
interface PipelineSettings {
|
|
7
7
|
builtin?: string;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { n as ResourceLocator } from "./locator-COMEtEn9.js";
|
|
2
2
|
import { l as toFloatTexture, t as blendPixel } from "./blend-KXMclcHk.js";
|
|
3
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-
|
|
5
|
-
import { a as renderGeo, t as findGeoForItem } from "./geo-
|
|
4
|
+
import { c as renderModel, l as renderModelFrames, o as boxDownscale, s as pointResize } from "./obj-LWuJIAIM.js";
|
|
5
|
+
import { a as renderGeo, t as findGeoForItem } from "./geo-BoDxwvz5.js";
|
|
6
6
|
import { a as defaultProperties } from "./definition-ColsvWrH.js";
|
|
7
7
|
import { i as resolveItem } from "./discovery-CD0QqxSF.js";
|
|
8
8
|
import { a as resolveTints } from "./tints-B3WQcPtx.js";
|
|
@@ -11,7 +11,7 @@ import { n as LayeredResourceManager, t as FolderResourceManager } from "./manag
|
|
|
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-
|
|
14
|
+
import { a as spawnEggTints, i as renderEntityFallback, n as dyedVariantTint, r as renderDyedVariantFallback, t as dyeVariantName } from "./entity-fallback-BRMFKPlM.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";
|
|
@@ -2,8 +2,8 @@ import { a as ResourceManager } from "../manager-exOIcdyx.js";
|
|
|
2
2
|
import { i as TextureLoader } from "../loader-DUlx29PC.js";
|
|
3
3
|
import { t as ModelLoader } from "../loader-DSir1-P0.js";
|
|
4
4
|
import { n as FloatTexture } from "../blend-eT64Z6qm.js";
|
|
5
|
-
import { r as TintColor } from "../face-
|
|
6
|
-
import { i as RenderOptions } from "../renderer-
|
|
5
|
+
import { r as TintColor } from "../face-1cIObOfs.js";
|
|
6
|
+
import { i as RenderOptions } from "../renderer-CjreM6tk.js";
|
|
7
7
|
//#region src/render/entity-fallback.d.ts
|
|
8
8
|
/** The dye name a `<dye>_<thing>` mod item is prefixed with, or null. */
|
|
9
9
|
declare function dyeVariantName(id: string): string | null;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { a as spawnEggTints, i as renderEntityFallback, n as dyedVariantTint, r as renderDyedVariantFallback, t as dyeVariantName } from "../entity-fallback-
|
|
1
|
+
import { a as spawnEggTints, i as renderEntityFallback, n as dyedVariantTint, r as renderDyedVariantFallback, t as dyeVariantName } from "../entity-fallback-BRMFKPlM.js";
|
|
2
2
|
export { dyeVariantName, dyedVariantTint, renderDyedVariantFallback, renderEntityFallback, spawnEggTints };
|
package/dist/render/face.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { a as faceMaxZ, i as createShadeCache, n as RenderableFace, o as renderFace, r as TintColor, t as FaceShadeCache } from "../face-
|
|
1
|
+
import { a as faceMaxZ, i as createShadeCache, n as RenderableFace, o as renderFace, r as TintColor, t as FaceShadeCache } from "../face-1cIObOfs.js";
|
|
2
2
|
export { FaceShadeCache, RenderableFace, TintColor, createShadeCache, faceMaxZ, renderFace };
|
package/dist/render/face.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { n as faceMaxZ, r as renderFace, t as createShadeCache } from "../face-
|
|
1
|
+
import { n as faceMaxZ, r as renderFace, t as createShadeCache } from "../face-DbyyYmzp.js";
|
|
2
2
|
export { createShadeCache, faceMaxZ, renderFace };
|
package/dist/render/geo.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { a as parseGeo, i as nameTokens, n as findGeoForItem, o as renderGeo, r as geoToFaces, t as ParsedGeo } from "../geo-
|
|
1
|
+
import { a as parseGeo, i as nameTokens, n as findGeoForItem, o as renderGeo, r as geoToFaces, t as ParsedGeo } from "../geo-BjvgFB90.js";
|
|
2
2
|
export { ParsedGeo, findGeoForItem, geoToFaces, nameTokens, parseGeo, renderGeo };
|
package/dist/render/geo.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { a as renderGeo, i as parseGeo, n as geoToFaces, r as nameTokens, t as findGeoForItem } from "../geo-
|
|
1
|
+
import { a as renderGeo, i as parseGeo, n as geoToFaces, r as nameTokens, t as findGeoForItem } from "../geo-BoDxwvz5.js";
|
|
2
2
|
export { findGeoForItem, geoToFaces, nameTokens, parseGeo, renderGeo };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { i as buildElementFaces, n as FaceGeometry, r as applyElementRotation, t as FACE_NORMALS } from "../geometry
|
|
1
|
+
import { i as buildElementFaces, n as FaceGeometry, r as applyElementRotation, t as FACE_NORMALS } from "../geometry--UzHu1Vh.js";
|
|
2
2
|
export { FACE_NORMALS, FaceGeometry, applyElementRotation, buildElementFaces };
|
package/dist/render/geometry.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { n as applyElementRotation, r as buildElementFaces, t as FACE_NORMALS } from "../geometry-
|
|
1
|
+
import { n as applyElementRotation, r as buildElementFaces, t as FACE_NORMALS } from "../geometry-bUDBhncX.js";
|
|
2
2
|
export { FACE_NORMALS, applyElementRotation, buildElementFaces };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { i as TextureLoader } from "../loader-DUlx29PC.js";
|
|
2
|
-
import { r as TintColor } from "../face-
|
|
2
|
+
import { r as TintColor } from "../face-1cIObOfs.js";
|
|
3
3
|
//#region src/render/legacy-tints.d.ts
|
|
4
4
|
/**
|
|
5
5
|
* Tints for a model rendered without an item definition (pre-1.21.4 eras and
|
package/dist/render/obj.d.ts
CHANGED
|
@@ -4,7 +4,7 @@ import { i as TextureLoader } from "../loader-DUlx29PC.js";
|
|
|
4
4
|
import { r as ResolvedModel } from "../loader-DSir1-P0.js";
|
|
5
5
|
import { n as FloatTexture } from "../blend-eT64Z6qm.js";
|
|
6
6
|
import { n as Vec3 } from "../vector-DRKRi4--.js";
|
|
7
|
-
import { i as RenderOptions } from "../renderer-
|
|
7
|
+
import { i as RenderOptions } from "../renderer-CjreM6tk.js";
|
|
8
8
|
//#region src/render/obj.d.ts
|
|
9
9
|
interface ObjTriangle {
|
|
10
10
|
positions: [Vec3, Vec3, Vec3];
|
package/dist/render/obj.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { i as renderObjModel, n as parseMtl, r as parseObj, t as materialTexture } from "../obj-
|
|
1
|
+
import { i as renderObjModel, n as parseMtl, r as parseObj, t as materialTexture } from "../obj-LWuJIAIM.js";
|
|
2
2
|
export { materialTexture, parseMtl, parseObj, renderObjModel };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { i as RenderedFrames, n as ItemRenderOutcome, r as PipelineSettings, t as ItemPipeline } from "../pipeline-
|
|
1
|
+
import { i as RenderedFrames, n as ItemRenderOutcome, r as PipelineSettings, t as ItemPipeline } from "../pipeline-C7pN0yko.js";
|
|
2
2
|
export { ItemPipeline, ItemRenderOutcome, PipelineSettings, RenderedFrames };
|
package/dist/render/pipeline.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as ItemPipeline } from "../pipeline-
|
|
1
|
+
import { t as ItemPipeline } from "../pipeline-CjRcZB63.js";
|
|
2
2
|
export { ItemPipeline };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { a as RenderedFrames, c as renderModel, i as RenderOptions, l as renderModelFrames, n as AnimationLimits, o as boxDownscale, r as ItemRenderError, s as pointResize, t as AnimationDiagnostics } from "../renderer-
|
|
1
|
+
import { a as RenderedFrames, c as renderModel, i as RenderOptions, l as renderModelFrames, n as AnimationLimits, o as boxDownscale, r as ItemRenderError, s as pointResize, t as AnimationDiagnostics } from "../renderer-CjreM6tk.js";
|
|
2
2
|
export { AnimationDiagnostics, AnimationLimits, ItemRenderError, RenderOptions, RenderedFrames, boxDownscale, pointResize, renderModel, renderModelFrames };
|
package/dist/render/renderer.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { a as ItemRenderError, c as renderModel, l as renderModelFrames, o as boxDownscale, s as pointResize } from "../obj-
|
|
1
|
+
import { a as ItemRenderError, c as renderModel, l as renderModelFrames, o as boxDownscale, s as pointResize } from "../obj-LWuJIAIM.js";
|
|
2
2
|
export { ItemRenderError, boxDownscale, pointResize, renderModel, renderModelFrames };
|
package/dist/render/tints.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { a as resolveTint, i as parseTintValue, n as InvalidTinterDefinitionError, o as resolveTints, r as TintContext, t as DYE_COLORS } from "../tints-
|
|
1
|
+
import { a as resolveTint, i as parseTintValue, n as InvalidTinterDefinitionError, o as resolveTints, r as TintContext, t as DYE_COLORS } from "../tints-iPf8hSKX.js";
|
|
2
2
|
export { DYE_COLORS, InvalidTinterDefinitionError, TintContext, parseTintValue, resolveTint, resolveTints };
|
|
@@ -4,7 +4,7 @@ import { r as ResolvedModel } from "./loader-DSir1-P0.js";
|
|
|
4
4
|
import { n as FloatTexture } from "./blend-eT64Z6qm.js";
|
|
5
5
|
import { t as Mat4 } from "./vector-DRKRi4--.js";
|
|
6
6
|
import { a as LightingProfileName } from "./lighting-3FGRC3Af.js";
|
|
7
|
-
import { r as TintColor } from "./face-
|
|
7
|
+
import { r as TintColor } from "./face-1cIObOfs.js";
|
|
8
8
|
//#region src/render/renderer.d.ts
|
|
9
9
|
interface AnimationLimits {
|
|
10
10
|
/** Emitted frames per icon (default 128). */
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { a as ResourceManager } from "./manager-exOIcdyx.js";
|
|
2
2
|
import { a as LightingProfileName } from "./lighting-3FGRC3Af.js";
|
|
3
|
-
import { n as AnimationLimits } from "./renderer-
|
|
3
|
+
import { n as AnimationLimits } from "./renderer-CjreM6tk.js";
|
|
4
4
|
//#region src/run.d.ts
|
|
5
5
|
interface RunOptions {
|
|
6
6
|
resources: ResourceManager;
|
|
@@ -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-
|
|
9
|
+
import { t as ItemPipeline } from "./pipeline-CjRcZB63.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.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { l as evaluateItemModel } from "./definition-ricL7Jqf.js";
|
|
2
|
-
import { i as run, n as RunOptions, r as RunResult, t as ItemFailure } from "./run-
|
|
2
|
+
import { i as run, n as RunOptions, r as RunResult, t as ItemFailure } from "./run-BgXZp8VQ.js";
|
|
3
3
|
export { ItemFailure, RunOptions, RunResult, evaluateItemModel, run };
|
package/dist/run.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { i as TextureLoader } from "./loader-DUlx29PC.js";
|
|
2
|
-
import { r as TintColor } from "./face-
|
|
2
|
+
import { r as TintColor } from "./face-1cIObOfs.js";
|
|
3
3
|
import { o as TintDefinition } from "./definition-ricL7Jqf.js";
|
|
4
4
|
//#region src/render/tints.d.ts
|
|
5
5
|
declare class InvalidTinterDefinitionError extends Error {}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { s as ResourceDescriptor } from "../manager-exOIcdyx.js";
|
|
2
|
-
import { n as ItemRenderOutcome, r as PipelineSettings } from "../pipeline-
|
|
2
|
+
import { n as ItemRenderOutcome, r as PipelineSettings } from "../pipeline-C7pN0yko.js";
|
|
3
3
|
//#region src/workers/render-worker.d.ts
|
|
4
4
|
interface RenderWorkerData {
|
|
5
5
|
resources: ResourceDescriptor;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { t as ItemPipeline } from "../pipeline-
|
|
1
|
+
import { t as ItemPipeline } from "../pipeline-CjRcZB63.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.
|
|
3
|
+
"version": "1.6.7",
|
|
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",
|
|
@@ -192,11 +192,11 @@ function applyElementRotation(rotation, corners) {
|
|
|
192
192
|
rotation.origin[2] / 16
|
|
193
193
|
];
|
|
194
194
|
const toRadians = Math.PI / 180;
|
|
195
|
-
const multiAxis = rotation;
|
|
196
195
|
if (rotation.axis !== void 0 && rotation.angle !== void 0) {
|
|
197
196
|
rotateAll(corners, origin, rotation.axis, rotation.angle * toRadians);
|
|
198
197
|
return;
|
|
199
198
|
}
|
|
199
|
+
const multiAxis = rotation;
|
|
200
200
|
for (const axis of [
|
|
201
201
|
"x",
|
|
202
202
|
"y",
|