@nodecraft/rendermite 1.0.7 → 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/assets/README.md +6 -2
- package/assets/builtin/renderchest/models/item/trident.json +372 -0
- package/assets/builtin-legacy/renderchest/models/item/trident.json +372 -0
- package/assets/mod-models/README.md +130 -0
- package/assets/mod-models/ad_astra/models/item/tier_1_rocket.json +4559 -0
- package/assets/mod-models/ad_astra/models/item/tier_1_rover.json +6021 -0
- package/assets/mod-models/ad_astra/models/item/tier_2_rocket.json +6832 -0
- package/assets/mod-models/ad_astra/models/item/tier_3_rocket.json +8522 -0
- package/assets/mod-models/ad_astra/models/item/tier_4_rocket.json +7498 -0
- package/assets/mod-models/botania/models/item/avatar.json +574 -0
- package/assets/mod-models/botania/models/item/bellows.json +423 -0
- package/assets/mod-models/botania/models/item/brewery.json +894 -0
- package/assets/mod-models/botania/models/item/corporea_index.json +349 -0
- package/assets/mod-models/botania/models/item/gaia_pylon.json +1057 -0
- package/assets/mod-models/botania/models/item/hourglass.json +502 -0
- package/assets/mod-models/botania/models/item/mana_pylon.json +741 -0
- package/assets/mod-models/botania/models/item/natura_pylon.json +1057 -0
- package/assets/mod-models/botania/models/item/teru_teru_bozu.json +347 -0
- package/assets/mod-models/mekanism/models/item/atomic_disassembler.json +1391 -0
- package/assets/mod-models/mekanism/models/item/flamethrower.json +1926 -0
- package/assets/mod-models/mekanism/models/item/free_runners.json +595 -0
- package/assets/mod-models/mekanism/models/item/jetpack.json +1767 -0
- package/assets/mod-models/mekanism/models/item/scuba_mask.json +2305 -0
- package/assets/mod-models/mekanism/models/item/scuba_tank.json +833 -0
- package/assets/mod-tints/README.md +19 -0
- package/assets/mod-tints/mysticalagriculture/items/absorption_i_augment.json +16 -0
- package/assets/mod-tints/mysticalagriculture/items/absorption_ii_augment.json +16 -0
- package/assets/mod-tints/mysticalagriculture/items/absorption_iii_augment.json +16 -0
- package/assets/mod-tints/mysticalagriculture/items/absorption_iv_augment.json +16 -0
- package/assets/mod-tints/mysticalagriculture/items/absorption_v_augment.json +16 -0
- package/assets/mod-tints/mysticalagriculture/items/attack_aoe_i_augment.json +16 -0
- package/assets/mod-tints/mysticalagriculture/items/attack_aoe_ii_augment.json +16 -0
- package/assets/mod-tints/mysticalagriculture/items/attack_aoe_iii_augment.json +16 -0
- package/assets/mod-tints/mysticalagriculture/items/blindness_resistance_augment.json +16 -0
- package/assets/mod-tints/mysticalagriculture/items/fire_resistance_augment.json +16 -0
- package/assets/mod-tints/mysticalagriculture/items/flight_augment.json +16 -0
- package/assets/mod-tints/mysticalagriculture/items/haste_i_augment.json +16 -0
- package/assets/mod-tints/mysticalagriculture/items/haste_ii_augment.json +16 -0
- package/assets/mod-tints/mysticalagriculture/items/haste_iii_augment.json +16 -0
- package/assets/mod-tints/mysticalagriculture/items/health_boost_i_augment.json +16 -0
- package/assets/mod-tints/mysticalagriculture/items/health_boost_ii_augment.json +16 -0
- package/assets/mod-tints/mysticalagriculture/items/health_boost_iii_augment.json +16 -0
- package/assets/mod-tints/mysticalagriculture/items/health_boost_iv_augment.json +16 -0
- package/assets/mod-tints/mysticalagriculture/items/health_boost_v_augment.json +16 -0
- package/assets/mod-tints/mysticalagriculture/items/hunger_resistance_augment.json +16 -0
- package/assets/mod-tints/mysticalagriculture/items/jump_boost_i_augment.json +16 -0
- package/assets/mod-tints/mysticalagriculture/items/jump_boost_ii_augment.json +16 -0
- package/assets/mod-tints/mysticalagriculture/items/jump_boost_iii_augment.json +16 -0
- package/assets/mod-tints/mysticalagriculture/items/luck_i_augment.json +16 -0
- package/assets/mod-tints/mysticalagriculture/items/luck_ii_augment.json +16 -0
- package/assets/mod-tints/mysticalagriculture/items/luck_iii_augment.json +16 -0
- package/assets/mod-tints/mysticalagriculture/items/mining_aoe_i_augment.json +16 -0
- package/assets/mod-tints/mysticalagriculture/items/mining_aoe_ii_augment.json +16 -0
- package/assets/mod-tints/mysticalagriculture/items/mining_aoe_iii_augment.json +16 -0
- package/assets/mod-tints/mysticalagriculture/items/mining_aoe_iv_augment.json +16 -0
- package/assets/mod-tints/mysticalagriculture/items/mining_fatigue_resistance_augment.json +16 -0
- package/assets/mod-tints/mysticalagriculture/items/nausea_resistance_augment.json +16 -0
- package/assets/mod-tints/mysticalagriculture/items/night_vision_augment.json +16 -0
- package/assets/mod-tints/mysticalagriculture/items/pathing_aoe_i_augment.json +16 -0
- package/assets/mod-tints/mysticalagriculture/items/pathing_aoe_ii_augment.json +16 -0
- package/assets/mod-tints/mysticalagriculture/items/pathing_aoe_iii_augment.json +16 -0
- package/assets/mod-tints/mysticalagriculture/items/pathing_aoe_iv_augment.json +16 -0
- package/assets/mod-tints/mysticalagriculture/items/poison_resistance_augment.json +16 -0
- package/assets/mod-tints/mysticalagriculture/items/slow_falling_augment.json +16 -0
- package/assets/mod-tints/mysticalagriculture/items/slowness_resistance_augment.json +16 -0
- package/assets/mod-tints/mysticalagriculture/items/speed_i_augment.json +16 -0
- package/assets/mod-tints/mysticalagriculture/items/speed_ii_augment.json +16 -0
- package/assets/mod-tints/mysticalagriculture/items/speed_iii_augment.json +16 -0
- package/assets/mod-tints/mysticalagriculture/items/step_assist_augment.json +16 -0
- package/assets/mod-tints/mysticalagriculture/items/strength_i_augment.json +16 -0
- package/assets/mod-tints/mysticalagriculture/items/strength_ii_augment.json +16 -0
- package/assets/mod-tints/mysticalagriculture/items/strength_iii_augment.json +16 -0
- package/assets/mod-tints/mysticalagriculture/items/tilling_aoe_i_augment.json +16 -0
- package/assets/mod-tints/mysticalagriculture/items/tilling_aoe_ii_augment.json +16 -0
- package/assets/mod-tints/mysticalagriculture/items/tilling_aoe_iii_augment.json +16 -0
- package/assets/mod-tints/mysticalagriculture/items/tilling_aoe_iv_augment.json +16 -0
- package/assets/mod-tints/mysticalagriculture/items/water_breathing_augment.json +16 -0
- package/assets/mod-tints/mysticalagriculture/items/weakness_resistance_augment.json +16 -0
- package/assets/mod-tints/mysticalagriculture/items/wither_resistance_augment.json +16 -0
- package/dist/atlas/registry.js +1 -1
- package/dist/blend-8lnfxtLe.d.ts +79 -0
- package/dist/blend-KXMclcHk.js +199 -0
- package/dist/blockstate-CdstnW2-.js +104 -0
- package/dist/{builtin-caYjESh0.js → builtin-WkWjATeh.js} +5 -1
- package/dist/builtin.d.ts +3 -1
- package/dist/builtin.js +2 -2
- package/dist/cli.js +5 -3
- package/dist/{compose-lWPrB7wh.js → compose-BGsNFR12.js} +1 -1
- package/dist/{definition-3MBm8ar_.js → definition-ColsvWrH.js} +20 -1
- package/dist/{definition-BwX6Xxv0.d.ts → definition-ricL7Jqf.d.ts} +2 -0
- package/dist/{discovery-0SM0cTLw.js → discovery-B9aqV_Rz.js} +13 -3
- package/dist/{discovery-wiJBGryo.d.ts → discovery-BPSUtdm4.d.ts} +1 -1
- package/dist/{encode-CaSK8-mi.d.ts → encode-DNcXXvYe.d.ts} +1 -1
- package/dist/{encode-Df_tWzkl.js → encode-LR9wxigC.js} +1 -1
- package/dist/{entity-fallback-D9QTGU9X.js → entity-fallback-BnFMSHS6.js} +180 -10
- package/dist/{face-Cl1O4m2i.js → face-CMJ3b3Ae.js} +44 -18
- package/dist/face-cQ-pVHoe.d.ts +44 -0
- package/dist/{fluid-bucket-D-GpUQjg.js → fluid-bucket-BzoLofB_.js} +7 -2
- package/dist/{geo-DHiWBa-C.js → geo-w9HHIrb5.js} +87 -13
- package/dist/{geometry-uIDha8S4.js → geometry-Bi-Bf5rb.js} +7 -1
- package/dist/{geometry-BSVmKx5b.d.ts → geometry-w0yQbzDZ.d.ts} +5 -1
- package/dist/index.d.ts +9 -9
- package/dist/index.js +10 -10
- package/dist/items/blockstate.d.ts +23 -0
- package/dist/items/blockstate.js +2 -0
- package/dist/items/definition.d.ts +1 -1
- package/dist/items/definition.js +1 -1
- package/dist/items/discovery.d.ts +1 -1
- package/dist/items/discovery.js +1 -1
- package/dist/{loader-D22zZME7.d.ts → loader-DD83d80u.d.ts} +2 -1
- package/dist/{loader-B8NJO7pR.js → loader-DwkA9LR5.js} +267 -15
- package/dist/{loader-CfXMxcEV.js → loader-Lb0ZeILz.js} +19 -7
- package/dist/models/loader.d.ts +1 -1
- package/dist/models/loader.js +1 -1
- package/dist/models/types.d.ts +1 -1
- package/dist/models-BKxGkPS7.js +18 -0
- package/dist/mods/models.d.ts +5 -0
- package/dist/mods/models.js +2 -0
- package/dist/mods/prepare.d.ts +1 -1
- package/dist/mods/prepare.js +1 -1
- package/dist/mods/tints.js +1 -1
- package/dist/output/encode.d.ts +1 -1
- package/dist/output/encode.js +1 -1
- package/dist/{pipeline-Da2Kavba.js → pipeline-BVYj7OP0.js} +72 -19
- package/dist/{pipeline-HiA3DC71.d.ts → pipeline-CJNiQG-1.d.ts} +15 -5
- package/dist/{prepare-BESRrh6K.js → prepare-D56Z-9cg.js} +7 -2
- package/dist/{prepare-CPxO0kKz.d.ts → prepare-Dce7-HAe.d.ts} +8 -0
- package/dist/{rasterizer-B9ZGJI3-.d.ts → rasterizer-BSQHEhJ-.d.ts} +4 -2
- package/dist/{rasterizer-76qO8TDh.js → rasterizer-DcVJzkxz.js} +13 -5
- package/dist/{registry-B9TcjVbs.js → registry-DS5PZ57l.js} +8 -1
- package/dist/render/blend.d.ts +2 -2
- package/dist/render/blend.js +2 -2
- package/dist/render/compose.d.ts +2 -2
- package/dist/render/compose.js +1 -1
- package/dist/render/entity-fallback.d.ts +19 -5
- package/dist/render/entity-fallback.js +2 -2
- package/dist/render/face.d.ts +2 -2
- package/dist/render/face.js +2 -2
- package/dist/render/fluid-bucket.js +1 -1
- package/dist/render/geo.d.ts +3 -3
- 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 +5 -3
- 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/rasterizer.d.ts +1 -1
- package/dist/render/rasterizer.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/render/tints.js +1 -1
- package/dist/{renderer-B20ssjRm.d.ts → renderer-C79EQDSn.d.ts} +3 -3
- package/dist/{renderer-gQW_I7YG.js → renderer-oi1MSF3Y.js} +21 -10
- package/dist/{run-B0qPw3zf.js → run-C6AP3Bn8.js} +3 -3
- package/dist/{run-CT3VtFqg.d.ts → run-uq8_hUx9.d.ts} +1 -1
- package/dist/run.d.ts +2 -2
- package/dist/run.js +2 -2
- package/dist/textures/loader.js +1 -1
- package/dist/{tints-BtbHegpI.js → tints-3VI_2SNy.js} +107 -1
- package/dist/{tints-B8UJmZMu.js → tints-CebmvjmP.js} +2 -2
- package/dist/{tints-BH9l0ND0.d.ts → tints-Do9Sh3dg.d.ts} +2 -2
- package/dist/{types-COGbtA1t.d.ts → types-DpRSF9Vj.d.ts} +8 -0
- package/dist/workers/render-worker.d.ts +1 -1
- package/dist/workers/render-worker.js +1 -1
- package/package.json +1 -1
- package/dist/blend-CEHoJ7tM.d.ts +0 -37
- package/dist/blend-D0XWgVQr.js +0 -102
- package/dist/face-C49L66sQ.d.ts +0 -30
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nodecraft/rendermite",
|
|
3
|
-
"version": "1.0
|
|
3
|
+
"version": "1.1.0",
|
|
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",
|
package/dist/blend-CEHoJ7tM.d.ts
DELETED
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
import { r as Texture } from "./loader-Myy22TDL.js";
|
|
2
|
-
//#region src/render/blend.d.ts
|
|
3
|
-
/** RGBA float pixels for render-time work; converted back to 8-bit at encode. */
|
|
4
|
-
interface FloatTexture {
|
|
5
|
-
width: number;
|
|
6
|
-
height: number;
|
|
7
|
-
/** RGBA, row-major, normalized [0,1]. */
|
|
8
|
-
data: Float64Array;
|
|
9
|
-
}
|
|
10
|
-
declare function toFloatTexture(texture: Texture): FloatTexture;
|
|
11
|
-
declare function toByteTexture(texture: FloatTexture): Texture;
|
|
12
|
-
declare function cloneFloatTexture(texture: FloatTexture): FloatTexture;
|
|
13
|
-
/**
|
|
14
|
-
* Imagick stores every pixel write as a Q16 quantum; values re-read for the
|
|
15
|
-
* next operation carry that quantization. Matching it is what turns
|
|
16
|
-
* off-by-one downscale rounding into exact parity.
|
|
17
|
-
*/
|
|
18
|
-
declare function q16(value: number): number;
|
|
19
|
-
/**
|
|
20
|
-
* Source-over with straight alpha, in place on `dst` at `offset`:
|
|
21
|
-
* ra = 1-(1-sa)(1-da); rc = (sc*sa + dc*da*(1-sa)) / ra; rgb = 0 when ra = 0.
|
|
22
|
-
* Results are Q16-quantized like every Imagick pixel write. q16 is inlined
|
|
23
|
-
* here because blendPixel is the single hottest function in the pipeline.
|
|
24
|
-
*/
|
|
25
|
-
declare function blendPixel(dst: Float64Array, offset: number, sr: number, sg: number, sb: number, sa: number): void;
|
|
26
|
-
/**
|
|
27
|
-
* Upstream tintImage: uses ONLY the red channel as luminance — per pixel,
|
|
28
|
-
* source-over blend of {tint.rgb * pixel.r, alpha: pixel.a} onto the pixel.
|
|
29
|
-
*/
|
|
30
|
-
declare function tintTexture(texture: FloatTexture, tintR: number, tintG: number, tintB: number): void;
|
|
31
|
-
/**
|
|
32
|
-
* Upstream darkenTexture: blend pure black with alpha = amount * pixel.alpha,
|
|
33
|
-
* restricted to the UV bounding box expanded by 1px on each side.
|
|
34
|
-
*/
|
|
35
|
-
declare function darkenTexture(texture: FloatTexture, amount: number, u1: number, v1: number, u2: number, v2: number): void;
|
|
36
|
-
//#endregion
|
|
37
|
-
export { q16 as a, toFloatTexture as c, darkenTexture as i, blendPixel as n, tintTexture as o, cloneFloatTexture as r, toByteTexture as s, FloatTexture as t };
|
package/dist/blend-D0XWgVQr.js
DELETED
|
@@ -1,102 +0,0 @@
|
|
|
1
|
-
//#region src/render/blend.ts
|
|
2
|
-
/** Lookup table for Q16 → 8-bit conversion (ImageMagick's floor(q/257)). */
|
|
3
|
-
const BYTE_LUT = /* @__PURE__ */ new Uint8Array(65536);
|
|
4
|
-
function toFloatTexture(texture) {
|
|
5
|
-
const data = new Float64Array(texture.data.length);
|
|
6
|
-
for (let i = 0; i < texture.data.length; i++) data[i] = texture.data[i] / 255;
|
|
7
|
-
return {
|
|
8
|
-
width: texture.width,
|
|
9
|
-
height: texture.height,
|
|
10
|
-
data
|
|
11
|
-
};
|
|
12
|
-
}
|
|
13
|
-
function toByteTexture(texture) {
|
|
14
|
-
const data = new Uint8ClampedArray(texture.data.length);
|
|
15
|
-
if (BYTE_LUT[65535] === 0) for (let q = 0; q < 65536; q++) BYTE_LUT[q] = Math.floor(q / 257);
|
|
16
|
-
const src = texture.data;
|
|
17
|
-
for (let i = 0; i < src.length; i++) {
|
|
18
|
-
const value = src[i];
|
|
19
|
-
data[i] = BYTE_LUT[Math.round((value < 0 ? 0 : value > 1 ? 1 : value) * 65535)];
|
|
20
|
-
}
|
|
21
|
-
return {
|
|
22
|
-
width: texture.width,
|
|
23
|
-
height: texture.height,
|
|
24
|
-
data
|
|
25
|
-
};
|
|
26
|
-
}
|
|
27
|
-
function cloneFloatTexture(texture) {
|
|
28
|
-
return {
|
|
29
|
-
width: texture.width,
|
|
30
|
-
height: texture.height,
|
|
31
|
-
data: new Float64Array(texture.data)
|
|
32
|
-
};
|
|
33
|
-
}
|
|
34
|
-
/**
|
|
35
|
-
* Imagick stores every pixel write as a Q16 quantum; values re-read for the
|
|
36
|
-
* next operation carry that quantization. Matching it is what turns
|
|
37
|
-
* off-by-one downscale rounding into exact parity.
|
|
38
|
-
*/
|
|
39
|
-
function q16(value) {
|
|
40
|
-
return Math.round((value < 0 ? 0 : Math.min(value, 1)) * 65535) / 65535;
|
|
41
|
-
}
|
|
42
|
-
/**
|
|
43
|
-
* Source-over with straight alpha, in place on `dst` at `offset`:
|
|
44
|
-
* ra = 1-(1-sa)(1-da); rc = (sc*sa + dc*da*(1-sa)) / ra; rgb = 0 when ra = 0.
|
|
45
|
-
* Results are Q16-quantized like every Imagick pixel write. q16 is inlined
|
|
46
|
-
* here because blendPixel is the single hottest function in the pipeline.
|
|
47
|
-
*/
|
|
48
|
-
function blendPixel(dst, offset, sr, sg, sb, sa) {
|
|
49
|
-
const da = dst[offset + 3];
|
|
50
|
-
const ra = 1 - (1 - sa) * (1 - da);
|
|
51
|
-
if (ra === 0) {
|
|
52
|
-
dst[offset] = 0;
|
|
53
|
-
dst[offset + 1] = 0;
|
|
54
|
-
dst[offset + 2] = 0;
|
|
55
|
-
dst[offset + 3] = 0;
|
|
56
|
-
return;
|
|
57
|
-
}
|
|
58
|
-
const dstWeight = da * (1 - sa);
|
|
59
|
-
let v = (sr * sa + dst[offset] * dstWeight) / ra;
|
|
60
|
-
v = v < 0 ? 0 : v > 1 ? 1 : v;
|
|
61
|
-
dst[offset] = Math.round(v * 65535) / 65535;
|
|
62
|
-
v = (sg * sa + dst[offset + 1] * dstWeight) / ra;
|
|
63
|
-
v = v < 0 ? 0 : v > 1 ? 1 : v;
|
|
64
|
-
dst[offset + 1] = Math.round(v * 65535) / 65535;
|
|
65
|
-
v = (sb * sa + dst[offset + 2] * dstWeight) / ra;
|
|
66
|
-
v = v < 0 ? 0 : v > 1 ? 1 : v;
|
|
67
|
-
dst[offset + 2] = Math.round(v * 65535) / 65535;
|
|
68
|
-
v = ra < 0 ? 0 : ra > 1 ? 1 : ra;
|
|
69
|
-
dst[offset + 3] = Math.round(v * 65535) / 65535;
|
|
70
|
-
}
|
|
71
|
-
/**
|
|
72
|
-
* Upstream tintImage: uses ONLY the red channel as luminance — per pixel,
|
|
73
|
-
* source-over blend of {tint.rgb * pixel.r, alpha: pixel.a} onto the pixel.
|
|
74
|
-
*/
|
|
75
|
-
function tintTexture(texture, tintR, tintG, tintB) {
|
|
76
|
-
const { data } = texture;
|
|
77
|
-
for (let offset = 0; offset < data.length; offset += 4) {
|
|
78
|
-
const value = data[offset];
|
|
79
|
-
blendPixel(data, offset, tintR * value, tintG * value, tintB * value, data[offset + 3]);
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
/**
|
|
83
|
-
* Upstream darkenTexture: blend pure black with alpha = amount * pixel.alpha,
|
|
84
|
-
* restricted to the UV bounding box expanded by 1px on each side.
|
|
85
|
-
*/
|
|
86
|
-
function darkenTexture(texture, amount, u1, v1, u2, v2) {
|
|
87
|
-
let startX = Math.floor(Math.min(u1, u2));
|
|
88
|
-
let endX = Math.ceil(Math.max(u1, u2));
|
|
89
|
-
let startY = Math.floor(Math.min(v1, v2));
|
|
90
|
-
let endY = Math.ceil(Math.max(v1, v2));
|
|
91
|
-
startX = Math.max(0, startX - 1);
|
|
92
|
-
startY = Math.max(0, startY - 1);
|
|
93
|
-
endX = Math.min(texture.width - 1, endX + 1);
|
|
94
|
-
endY = Math.min(texture.height - 1, endY + 1);
|
|
95
|
-
const { data } = texture;
|
|
96
|
-
for (let y = startY; y <= endY; y++) for (let x = startX; x <= endX; x++) {
|
|
97
|
-
const offset = (y * texture.width + x) * 4;
|
|
98
|
-
blendPixel(data, offset, 0, 0, 0, amount * data[offset + 3]);
|
|
99
|
-
}
|
|
100
|
-
}
|
|
101
|
-
//#endregion
|
|
102
|
-
export { tintTexture as a, q16 as i, cloneFloatTexture as n, toByteTexture as o, darkenTexture as r, toFloatTexture as s, blendPixel as t };
|
package/dist/face-C49L66sQ.d.ts
DELETED
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
import { t as FloatTexture } from "./blend-CEHoJ7tM.js";
|
|
2
|
-
import { t as Mat4 } from "./vector-DRKRi4--.js";
|
|
3
|
-
import { n as FaceGeometry } from "./geometry-BSVmKx5b.js";
|
|
4
|
-
import { r as LightSource } from "./lighting-3FGRC3Af.js";
|
|
5
|
-
import { n as FaceBuffer } from "./rasterizer-B9ZGJI3-.js";
|
|
6
|
-
//#region src/render/face.d.ts
|
|
7
|
-
interface TintColor {
|
|
8
|
-
r: number;
|
|
9
|
-
g: number;
|
|
10
|
-
b: number;
|
|
11
|
-
}
|
|
12
|
-
interface RenderableFace {
|
|
13
|
-
geometry: FaceGeometry;
|
|
14
|
-
texture: FloatTexture;
|
|
15
|
-
light: LightSource;
|
|
16
|
-
tint: TintColor | null;
|
|
17
|
-
/** Untransformed model-space max Z — upstream's stable pre-sort key. */
|
|
18
|
-
maxZ: number;
|
|
19
|
-
}
|
|
20
|
-
/** Tinted + darkened textures keyed by source texture, then by shading params. */
|
|
21
|
-
type FaceShadeCache = WeakMap<FloatTexture, Map<string, FloatTexture>>;
|
|
22
|
-
declare function faceMaxZ(geometry: FaceGeometry): number;
|
|
23
|
-
/** Returns null when the face is culled, degenerate, or has a zero-area UV. */
|
|
24
|
-
declare function renderFace(face: RenderableFace, width: number, height: number, transformation: Mat4,
|
|
25
|
-
/** Reused across a model's faces; cleared here, compacted before return. */
|
|
26
|
-
scratch?: FaceBuffer,
|
|
27
|
-
/** Shared tint/shade results for one model render. */
|
|
28
|
-
shadeCache?: FaceShadeCache): FaceBuffer | null;
|
|
29
|
-
//#endregion
|
|
30
|
-
export { renderFace as a, faceMaxZ as i, RenderableFace as n, TintColor as r, FaceShadeCache as t };
|