@hypersoniclabs/helix-cli 0.1.25-helix3.521 → 0.1.25-helix3.523

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 (23) hide show
  1. package/dist/itemLod/gbuffer.js +39 -2
  2. package/dist/itemLod/gbuffer.js.map +1 -1
  3. package/dist/itemLod/index.d.ts +2 -2
  4. package/dist/itemLod/index.js +2 -2
  5. package/dist/itemLod/index.js.map +1 -1
  6. package/dist/tsconfig.build.tsbuildinfo +1 -1
  7. package/docs/item-lod.md +4 -4
  8. package/package.json +1 -1
  9. package/plugins/beamng-vehicle/bin/__pycache__/beamng_abs.cpython-312.pyc +0 -0
  10. package/plugins/beamng-vehicle/bin/__pycache__/beamng_audio.cpython-312.pyc +0 -0
  11. package/plugins/beamng-vehicle/bin/__pycache__/beamng_engine.cpython-312.pyc +0 -0
  12. package/plugins/beamng-vehicle/bin/__pycache__/beamng_expression.cpython-312.pyc +0 -0
  13. package/plugins/beamng-vehicle/bin/__pycache__/beamng_jbeam.cpython-312.pyc +0 -0
  14. package/plugins/beamng-vehicle/bin/__pycache__/beamng_materials.cpython-312.pyc +0 -0
  15. package/plugins/beamng-vehicle/bin/__pycache__/beamng_stock_events.cpython-312.pyc +0 -0
  16. package/plugins/beamng-vehicle/bin/__pycache__/fmod_studio.cpython-312.pyc +0 -0
  17. package/plugins/beamng-vehicle/bin/__pycache__/fsb5.cpython-312.pyc +0 -0
  18. package/plugins/beamng-vehicle/bin/__pycache__/sim_audio.cpython-312.pyc +0 -0
  19. package/plugins/beamng-vehicle/bin/__pycache__/sim_audio_ac.cpython-312.pyc +0 -0
  20. package/plugins/beamng-vehicle/bin/__pycache__/sim_audio_beamng.cpython-312.pyc +0 -0
  21. package/plugins/beamng-vehicle/bin/__pycache__/sim_audio_fixtures.cpython-312.pyc +0 -0
  22. package/plugins/beamng-vehicle/bin/__pycache__/test_beamng_engine.cpython-312.pyc +0 -0
  23. package/plugins/beamng-vehicle/bin/__pycache__/test_sim_audio.cpython-312.pyc +0 -0
@@ -128,6 +128,8 @@ const hemiDirection = (x, y, views) => {
128
128
  const u = 2 * x / (views - 1) - 1, v = 2 * y / (views - 1) - 1, hx = (u + v) / 2, hz = (u - v) / 2;
129
129
  return new THREE.Vector3(hx, 1 - Math.abs(hx) - Math.abs(hz), hz).normalize();
130
130
  };
131
+ const toLinear = e => { const c = e / 255; return c <= 0.04045 ? c / 12.92 : Math.pow((c + 0.055) / 1.055, 2.4); };
132
+ const toEncoded = l => Math.round(255 * (l <= 0.0031308 ? 12.92 * l : 1.055 * Math.pow(l, 1 / 2.4) - 0.055));
131
133
  window.captureGBuffer = async ({ model, size, center, radius, ssaa, views, emissiveScale }) => {
132
134
  const gltf = await new GLTFLoader().loadAsync(model);
133
135
  gltf.scene.updateMatrixWorld(true);
@@ -141,10 +143,39 @@ window.captureGBuffer = async ({ model, size, center, radius, ssaa, views, emiss
141
143
  + (source.roughnessMap || source.metalnessMap ? 'vec4 orm = texture2D(ormMap, vUv);' : 'vec4 orm = vec4(1.0);') + '\n'
142
144
  + 'if (' + kind + ' == 1) { gl_FragColor = vec4(rough * orm.g, metal * orm.b, coat, 1.0); return; }\n'
143
145
  + 'vec3 e = glow' + (source.emissiveMap ? ' * texture2D(glowMap, vUv).rgb' : '') + '; gl_FragColor = vec4(e * ' + emissiveScale.toFixed(4) + ', 1.0); }';
146
+ // BLEND glass (a transparent material without an alpha test) is captured as the runtime shows it: a translucent pane over what is behind it, not an opaque
147
+ // glossy surface. Every pass blends it with the glass's own alpha (opacity x base colour alpha x vertex alpha), single-pass like the runtime's
148
+ // normalizeItemMaterials, after the opaque meshes, so a pixel holds glass-over-cabin (albedo, normal, roughness, metalness, coat, glow all averaged with the same
149
+ // weights). Over empty background the pixel keeps the glass's alpha as coverage, so a pane with nothing behind it is a see-through hole, as it is in the model.
150
+ // The target holds premultiplied values (three's NormalBlending over a cleared (0, 0, 0, 0) target), which the resolve below un-weights.
151
+ const isGlass = source => Boolean(source.transparent) && !(source.alphaTest > 0);
152
+ const glassPass = (source, pass) => {
153
+ const glass = new THREE.MeshBasicMaterial({ color: pass === 'albedo' ? source.color : 0xffffff, map: source.map, vertexColors: source.vertexColors,
154
+ opacity: source.opacity, transparent: true, depthWrite: false, side: source.side, toneMapped: false });
155
+ glass.forceSinglePass = true;
156
+ if (pass === 'albedo') return glass;
157
+ const kind = pass === 'normal' ? 0 : pass === 'material' ? 1 : 2, hasOrm = Boolean(source.roughnessMap || source.metalnessMap), hasGlow = Boolean(source.emissiveMap);
158
+ const uniforms = { rough: { value: source.roughness ?? 1 }, metal: { value: source.metalness ?? 0 }, coat: { value: source.clearcoat ?? 0 },
159
+ glow: { value: (source.emissive ?? new THREE.Color(0)).clone().multiplyScalar(source.emissiveIntensity ?? 1) },
160
+ glowMap: { value: source.emissiveMap ?? null }, ormMap: { value: source.roughnessMap ?? source.metalnessMap ?? null } };
161
+ glass.onBeforeCompile = shader => {
162
+ Object.assign(shader.uniforms, uniforms);
163
+ shader.vertexShader = 'varying vec3 vGN; varying vec2 vGUv;\n' + shader.vertexShader.replace('#include <begin_vertex>',
164
+ '#include <begin_vertex>\n vGN = normalize(mat3(viewMatrix) * mat3(modelMatrix) * normal); vGUv = uv;');
165
+ const value = kind === 0 ? 'normalize(vGN) * (gl_FrontFacing ? 1.0 : -1.0) * 0.5 + 0.5'
166
+ : kind === 1 ? 'vec3(rough * ' + (hasOrm ? 'texture2D(ormMap, vGUv).g' : '1.0') + ', metal * ' + (hasOrm ? 'texture2D(ormMap, vGUv).b' : '1.0') + ', coat)'
167
+ : 'glow' + (hasGlow ? ' * texture2D(glowMap, vGUv).rgb' : '') + ' * ' + emissiveScale.toFixed(4);
168
+ shader.fragmentShader = 'uniform float rough; uniform float metal; uniform float coat; uniform vec3 glow; uniform sampler2D glowMap; uniform sampler2D ormMap; varying vec3 vGN; varying vec2 vGUv;\n'
169
+ + shader.fragmentShader.replace('#include <opaque_fragment>', 'outgoingLight = ' + value + ';\n#include <opaque_fragment>');
170
+ };
171
+ glass.customProgramCacheKey = () => 'gbuffer-glass-' + kind + (hasOrm ? 'o' : '') + (hasGlow ? 'g' : '');
172
+ return glass;
173
+ };
144
174
  const build = pass => {
145
175
  const originals = meshes.map(mesh => mesh.material);
146
176
  meshes.forEach((mesh, index) => {
147
177
  const source = originals[index];
178
+ if (isGlass(source)) { const glass = glassPass(source, pass); owned.push(glass); mesh.material = glass; return; }
148
179
  if (pass === 'albedo') {
149
180
  const colour = new THREE.MeshBasicMaterial({ color: source.color, map: source.map, vertexColors: source.vertexColors, alphaTest: source.alphaTest, side: source.side, toneMapped: false });
150
181
  owned.push(colour); mesh.material = colour; return;
@@ -184,12 +215,18 @@ window.captureGBuffer = async ({ model, size, center, radius, ssaa, views, emiss
184
215
  }
185
216
  const pixels = new Uint8Array(big * big * 4); renderer.readRenderTargetPixels(target, 0, 0, big, big, pixels);
186
217
  meshes.forEach((mesh, index) => { mesh.material = originals[index]; });
187
- const reduced = new Uint8Array(size * size * 4), count = ssaa * ssaa;
218
+ const reduced = new Uint8Array(size * size * 4), count = ssaa * ssaa, colour = pass === 'albedo' || pass === 'emissive';
219
+ // The target holds premultiplied values (see the glass note above): an opaque subsample is (value, 1), a glass-over-nothing one is (value x alpha, alpha). Each subsample
220
+ // is turned back into its straight value before the coverage-weighted mean, so a pane over nothing keeps its own colour (and a partial alpha as coverage); a colour
221
+ // pass is decoded to linear for the division and encoded again, because its target stores sRGB. For opaque and cut-out content alpha is 0 or 255 and nothing changes.
222
+ const straight = (value, alpha) => alpha >= 255 ? value
223
+ : colour ? toEncoded(Math.min(1, toLinear(value) * 255 / alpha)) : Math.min(255, Math.round(value * 255 / alpha));
188
224
  for (let y = 0; y < size; y++) for (let x = 0; x < size; x++) {
189
225
  let r = 0, g = 0, b = 0, a = 0;
190
226
  for (let j = 0; j < ssaa; j++) for (let i = 0; i < ssaa; i++) {
191
227
  const p = ((y * ssaa + j) * big + (x * ssaa + i)) * 4, alpha = pixels[p + 3];
192
- a += alpha; r += pixels[p] * alpha; g += pixels[p + 1] * alpha; b += pixels[p + 2] * alpha;
228
+ if (alpha === 0) continue;
229
+ a += alpha; r += straight(pixels[p], alpha) * alpha; g += straight(pixels[p + 1], alpha) * alpha; b += straight(pixels[p + 2], alpha) * alpha;
193
230
  }
194
231
  const o = (y * size + x) * 4;
195
232
  if (a > 0) { reduced[o] = Math.round(r / a); reduced[o + 1] = Math.round(g / a); reduced[o + 2] = Math.round(b / a); }
@@ -1 +1 @@
1
- {"version":3,"file":"gbuffer.js","sourceRoot":"","sources":["../../src/itemLod/gbuffer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gbuffer.js","sourceRoot":"","sources":["../../src/itemLod/gbuffer.ts"],"names":[],"mappings":"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"}
@@ -13,8 +13,8 @@ export { ITEM_LOD_SCHEMA, ITEM_LOD_COMPILER, ITEM_LOD_CAPS, compileItemLods, val
13
13
  export type { ItemLodArtifact, ItemLodBuild, ItemLodSource, ItemLodLevel, ItemLodImpostor, ItemLodObject, ItemLodReport, ItemLodReportLevel, ItemLodOmission, CapCheck, CompileItemLodOptions, } from './artifact';
14
14
  export type { ItemLodProfile } from './simplify';
15
15
  export type { ImpostorShading } from './impostor';
16
- /** The impostor shadings `compileItemLods({ shading })` can bake. A backend worker checks this before it compiles an albedo twin, so an older CLI never writes a lit atlas under an albedo contract. */
17
- export declare const ITEM_LOD_SHADINGS: readonly ["lit/1", "albedo"];
16
+ /** The impostor shadings `compileItemLods({ shading })` can bake. A backend worker checks this before it compiles an albedo twin or a `gbuffer/1` (`item-lod/5`) impostor, so an older CLI never writes the wrong atlas under a contract that names another. */
17
+ export declare const ITEM_LOD_SHADINGS: readonly ["lit/1", "albedo", "gbuffer/1"];
18
18
  export { SkinnedModelError } from './model';
19
19
  export { chooseModelVariant, parsePackageRef, resolveItemPackage, resolvePackageModel } from './source';
20
20
  export type { ItemLodApi, PackageModelRef, ResolvedPackageModel } from './source';
@@ -21,8 +21,8 @@ Object.defineProperty(exports, "validateItemLodArtifact", { enumerable: true, ge
21
21
  Object.defineProperty(exports, "checkItemLodCaps", { enumerable: true, get: function () { return artifact_1.checkItemLodCaps; } });
22
22
  Object.defineProperty(exports, "itemLodObjectPath", { enumerable: true, get: function () { return artifact_1.itemLodObjectPath; } });
23
23
  Object.defineProperty(exports, "writeItemLodOutput", { enumerable: true, get: function () { return artifact_1.writeItemLodOutput; } });
24
- /** The impostor shadings `compileItemLods({ shading })` can bake. A backend worker checks this before it compiles an albedo twin, so an older CLI never writes a lit atlas under an albedo contract. */
25
- exports.ITEM_LOD_SHADINGS = ['lit/1', 'albedo'];
24
+ /** The impostor shadings `compileItemLods({ shading })` can bake. A backend worker checks this before it compiles an albedo twin or a `gbuffer/1` (`item-lod/5`) impostor, so an older CLI never writes the wrong atlas under a contract that names another. */
25
+ exports.ITEM_LOD_SHADINGS = ['lit/1', 'albedo', 'gbuffer/1'];
26
26
  var model_1 = require("./model");
27
27
  Object.defineProperty(exports, "SkinnedModelError", { enumerable: true, get: function () { return model_1.SkinnedModelError; } });
28
28
  var source_1 = require("./source");
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/itemLod/index.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;;;GAUG;AACH,uCAGoB;AAFlB,2GAAA,eAAe,OAAA;AAAE,6GAAA,iBAAiB,OAAA;AAAE,yGAAA,aAAa,OAAA;AACjD,2GAAA,eAAe,OAAA;AAAE,mHAAA,uBAAuB,OAAA;AAAE,4GAAA,gBAAgB,OAAA;AAAE,6GAAA,iBAAiB,OAAA;AAAE,8GAAA,kBAAkB,OAAA;AAQnG,wMAAwM;AAC3L,QAAA,iBAAiB,GAAG,CAAC,OAAO,EAAE,QAAQ,CAAU,CAAC;AAC9D,iCAA4C;AAAnC,0GAAA,iBAAiB,OAAA;AAC1B,mCAAwG;AAA/F,4GAAA,kBAAkB,OAAA;AAAE,yGAAA,eAAe,OAAA;AAAE,4GAAA,kBAAkB,OAAA;AAAE,6GAAA,mBAAmB,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/itemLod/index.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;;;GAUG;AACH,uCAGoB;AAFlB,2GAAA,eAAe,OAAA;AAAE,6GAAA,iBAAiB,OAAA;AAAE,yGAAA,aAAa,OAAA;AACjD,2GAAA,eAAe,OAAA;AAAE,mHAAA,uBAAuB,OAAA;AAAE,4GAAA,gBAAgB,OAAA;AAAE,6GAAA,iBAAiB,OAAA;AAAE,8GAAA,kBAAkB,OAAA;AAQnG,gQAAgQ;AACnP,QAAA,iBAAiB,GAAG,CAAC,OAAO,EAAE,QAAQ,EAAE,WAAW,CAAU,CAAC;AAC3E,iCAA4C;AAAnC,0GAAA,iBAAiB,OAAA;AAC1B,mCAAwG;AAA/F,4GAAA,kBAAkB,OAAA;AAAE,yGAAA,eAAe,OAAA;AAAE,4GAAA,kBAAkB,OAAA;AAAE,6GAAA,mBAAmB,OAAA"}