@vitreajs/vitrea 0.16.0 → 0.17.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/README.md CHANGED
@@ -447,9 +447,10 @@ errors. Asking for the GPU tier is not the same as getting it, and
447
447
  a support query.
448
448
  - v1 corner radii are uniform. The `radii` API keeps its four-component shape,
449
449
  but a non-uniform set is a dev-mode error; per-corner algebra is post-v1.
450
- - **One author tint seed per group.** A tint is declared per surface and its
451
- strength is honoured per surface, but a group is one optics pass and carries
452
- one seed, so two *different* tint colours in one group raise a dev-mode warning
450
+ - **One author tint seed per group.** A group tint seeds every member that does
451
+ not declare its own colour; a surface tint overrides that seed and its strength
452
+ is honoured per surface. A group is one optics pass and carries one seed, so
453
+ two *different* tint colours in one group raise a dev-mode warning
453
454
  and the WebGPU tier draws them all in the first surface's colour. One coloured
454
455
  control among plain ones — Apple's own guidance for tinting — is the supported
455
456
  composition.
@@ -220,6 +220,12 @@ function occlusionAlphaUnderPolicy(nominal, occlusion, lift = INCREASED_OCCLUSIO
220
220
  return 1;
221
221
  }
222
222
  }
223
+ function occlusionLiftForPolicy(policy, profile = DEFAULT_MATERIAL_PROFILE) {
224
+ if (policy.occlusion !== "increased")
225
+ return profile.increasedOcclusionLift;
226
+ const levels = profile.increasedOcclusionLiftByPolicy;
227
+ return policy.ambientTint === "reduced" ? levels?.increaseContrast ?? profile.increasedOcclusionLift : levels?.reduceTransparency ?? profile.increasedOcclusionLift;
228
+ }
223
229
  var DEFAULT_MATERIAL_PROFILE = {
224
230
  optics: {
225
231
  // σ = 8 for the regular variant, which keeps this package's blur and
@@ -1152,6 +1158,20 @@ function rejectRetiredOuterShadowLeaves(patch) {
1152
1158
  throw new Error(`outerShadow.${leaf} was retired by W14 G1 (claims \xA75.62) and is replaced by ${replacement}. Applying this patch would have rendered the default shadow while recording itself as configured. It is refused rather than mapped: a single span-flat amplitude is the material the measurement retired.`);
1153
1159
  }
1154
1160
  }
1161
+ function rejectMixedBackdropToneArity(anchorX, thin, thick) {
1162
+ for (const [name, row] of [
1163
+ ["backdropToneAnchorX", anchorX],
1164
+ ["backdropToneResponseThin", thin],
1165
+ ["backdropToneResponseThick", thick]
1166
+ ]) {
1167
+ if (Array.isArray(row) && (row.length === 3 || row.length === 4))
1168
+ continue;
1169
+ throw new Error(`The backdrop tone response's ${name} is ${JSON.stringify(row) ?? String(row)}, which is not an array of three or four knots. The curve has exactly those two forms, and anything else is read as a different one by each tier: the CPU curve and the CSS mirror take the four-knot branch for any length but three, where the shader takes the three-knot branch for any length but four.`);
1170
+ }
1171
+ if (anchorX.length === thin.length && thin.length === thick.length)
1172
+ return;
1173
+ throw new Error(`The backdrop tone response's three rows resolved to different knot counts \u2014 backdropToneAnchorX ${anchorX.length}, backdropToneResponseThin ${thin.length}, backdropToneResponseThick ${thick.length}. They are one curve's knots and that curve's levels at its two thickness ends, and the shader reads the knot count off the anchors alone, so a mixed triplet renders as NaN on the CPU curve and as a fabricated segment on the GPU. A patch moving the response to a new knot count has to name all three rows.`);
1174
+ }
1155
1175
  function withMaterialOverrides(base, patch) {
1156
1176
  rejectRetiredOuterShadowLeaves(patch.outerShadow);
1157
1177
  const optics = {};
@@ -1162,6 +1182,10 @@ function withMaterialOverrides(base, patch) {
1162
1182
  for (const rung of REFRACTION_LADDER) {
1163
1183
  refractionScale[rung] = patch.refractionScale?.[rung] ?? base.refractionScale[rung];
1164
1184
  }
1185
+ const backdropToneAnchorX = patch.backdropToneAnchorX ?? base.backdropToneAnchorX;
1186
+ const backdropToneResponseThin = patch.backdropToneResponseThin ?? base.backdropToneResponseThin;
1187
+ const backdropToneResponseThick = patch.backdropToneResponseThick ?? base.backdropToneResponseThick;
1188
+ rejectMixedBackdropToneArity(backdropToneAnchorX, backdropToneResponseThin, backdropToneResponseThick);
1165
1189
  return {
1166
1190
  optics,
1167
1191
  adaptiveTintDark: patch.adaptiveTintDark ?? base.adaptiveTintDark,
@@ -1207,6 +1231,10 @@ function withMaterialOverrides(base, patch) {
1207
1231
  lensOvalizationSpanMax: patch.lensOvalizationSpanMax ?? base.lensOvalizationSpanMax,
1208
1232
  reducedTransparencyFrost: patch.reducedTransparencyFrost ?? base.reducedTransparencyFrost,
1209
1233
  increasedOcclusionLift: patch.increasedOcclusionLift ?? base.increasedOcclusionLift,
1234
+ ...(patch.increasedOcclusionLiftByPolicy ?? base.increasedOcclusionLiftByPolicy) === void 0 ? {} : { increasedOcclusionLiftByPolicy: {
1235
+ ...base.increasedOcclusionLiftByPolicy,
1236
+ ...patch.increasedOcclusionLiftByPolicy
1237
+ } },
1210
1238
  strongBorderRim: { ...base.strongBorderRim, ...patch.strongBorderRim },
1211
1239
  reducedTintAdaptation: patch.reducedTintAdaptation ?? base.reducedTintAdaptation,
1212
1240
  tintShadeDark: patch.tintShadeDark ?? base.tintShadeDark,
@@ -1227,9 +1255,9 @@ function withMaterialOverrides(base, patch) {
1227
1255
  rimCollapsed: patch.rimCollapsed ?? base.rimCollapsed,
1228
1256
  rimCollapsedTinted: patch.rimCollapsedTinted ?? base.rimCollapsedTinted,
1229
1257
  rimTintChroma: patch.rimTintChroma ?? base.rimTintChroma,
1230
- backdropToneAnchorX: patch.backdropToneAnchorX ?? base.backdropToneAnchorX,
1231
- backdropToneResponseThin: patch.backdropToneResponseThin ?? base.backdropToneResponseThin,
1232
- backdropToneResponseThick: patch.backdropToneResponseThick ?? base.backdropToneResponseThick,
1258
+ backdropToneAnchorX,
1259
+ backdropToneResponseThin,
1260
+ backdropToneResponseThick,
1233
1261
  backdropToneResponseStrength: patch.backdropToneResponseStrength ?? base.backdropToneResponseStrength,
1234
1262
  outerShadow: { ...base.outerShadow, ...patch.outerShadow },
1235
1263
  lightDirection: patch.lightDirection ?? base.lightDirection,
@@ -1249,7 +1277,7 @@ function opticsUnderPolicy(optics, policy, profile = DEFAULT_MATERIAL_PROFILE) {
1249
1277
  }
1250
1278
  next = {
1251
1279
  ...next,
1252
- tintAlpha: occlusionAlphaUnderPolicy(next.tintAlpha, policy.occlusion, profile.increasedOcclusionLift)
1280
+ tintAlpha: occlusionAlphaUnderPolicy(next.tintAlpha, policy.occlusion, occlusionLiftForPolicy(policy, profile))
1253
1281
  };
1254
1282
  if (policy.border === "strong") {
1255
1283
  next = {
@@ -1373,19 +1401,45 @@ function backdropToneResponse(encodedInput, thickness, profile = DEFAULT_MATERIA
1373
1401
  const xs = profile.backdropToneAnchorX;
1374
1402
  const f = smoothstep(0, 1, thickness);
1375
1403
  const ys = [0, 1, 2].map((i) => (profile.backdropToneResponseThin[i] ?? 0) + ((profile.backdropToneResponseThick[i] ?? 0) - (profile.backdropToneResponseThin[i] ?? 0)) * f);
1376
- const x = Math.min(xs[2], Math.max(xs[0], encodedInput));
1377
- const h0 = xs[1] - xs[0];
1378
- const h1 = xs[2] - xs[1];
1379
- const d0 = (ys[1] - ys[0]) / h0;
1380
- const d1 = (ys[2] - ys[1]) / h1;
1381
- const m1 = d0 * d1 <= 0 ? 0 : 2 * d0 * d1 / (d0 + d1);
1382
- const seg = x <= xs[1] ? 0 : 1;
1383
- const h = seg === 0 ? h0 : h1;
1384
- const t = (x - (seg === 0 ? xs[0] : xs[1])) / h;
1385
- const y0 = seg === 0 ? ys[0] : ys[1];
1386
- const y1 = seg === 0 ? ys[1] : ys[2];
1387
- const s0 = seg === 0 ? d0 : m1;
1388
- const s1 = seg === 0 ? m1 : d1;
1404
+ let x, h, t, y0, y1, s0, s1;
1405
+ if (xs.length === 3) {
1406
+ x = Math.min(xs[2], Math.max(xs[0], encodedInput));
1407
+ const h0 = xs[1] - xs[0];
1408
+ const h1 = xs[2] - xs[1];
1409
+ const d0 = (ys[1] - ys[0]) / h0;
1410
+ const d1 = (ys[2] - ys[1]) / h1;
1411
+ const m1 = d0 * d1 <= 0 ? 0 : 2 * d0 * d1 / (d0 + d1);
1412
+ const seg = x <= xs[1] ? 0 : 1;
1413
+ h = seg === 0 ? h0 : h1;
1414
+ t = (x - (seg === 0 ? xs[0] : xs[1])) / h;
1415
+ y0 = seg === 0 ? ys[0] : ys[1];
1416
+ y1 = seg === 0 ? ys[1] : ys[2];
1417
+ s0 = seg === 0 ? d0 : m1;
1418
+ s1 = seg === 0 ? m1 : d1;
1419
+ } else {
1420
+ const ys4 = [
1421
+ ys[0],
1422
+ ys[1],
1423
+ ys[2],
1424
+ profile.backdropToneResponseThin[3] + (profile.backdropToneResponseThick[3] - profile.backdropToneResponseThin[3]) * f
1425
+ ];
1426
+ x = Math.min(xs[3], Math.max(xs[0], encodedInput));
1427
+ const h0 = xs[1] - xs[0], h1 = xs[2] - xs[1], h2 = xs[3] - xs[2];
1428
+ const d0 = (ys4[1] - ys4[0]) / h0;
1429
+ const d1 = (ys4[2] - ys4[1]) / h1;
1430
+ const d2 = (ys4[3] - ys4[2]) / h2;
1431
+ const m1 = d0 * d1 <= 0 ? 0 : 2 * d0 * d1 / (d0 + d1);
1432
+ const m2 = d1 * d2 <= 0 ? 0 : 2 * d1 * d2 / (d1 + d2);
1433
+ const seg = x <= xs[1] ? 0 : x <= xs[2] ? 1 : 2;
1434
+ const hs = [h0, h1, h2];
1435
+ const slopes = [d0, m1, m2, d2];
1436
+ h = hs[seg];
1437
+ t = (x - xs[seg]) / h;
1438
+ y0 = ys4[seg];
1439
+ y1 = ys4[seg + 1];
1440
+ s0 = slopes[seg];
1441
+ s1 = slopes[seg + 1];
1442
+ }
1389
1443
  return y0 * (1 + 2 * t) * (1 - t) * (1 - t) + s0 * h * t * (1 - t) * (1 - t) + y1 * t * t * (3 - 2 * t) + s1 * h * t * t * (t - 1) + levelFar;
1390
1444
  }
1391
1445
  function backdropToneSolveWeight(encodedInput, profile = DEFAULT_MATERIAL_PROFILE) {
@@ -3660,6 +3714,10 @@ var WGSL_OPTICS_PASS = `struct OpticsUniforms {
3660
3714
  /// (z) and (w) carry its reference level and minimum tint contrast.
3661
3715
  /// Texture draws keep those lanes zero, so their input bytes do not move.
3662
3716
  heavyTap : vec4f,
3717
+ /// Decision Log 18's optional fourth response knot: encoded x, thin y,
3718
+ /// thick z, and a length gate w. Appended so every three-knot field keeps its
3719
+ /// byte offset and its original shader branch.
3720
+ toneExtra : vec4f,
3663
3721
  };
3664
3722
 
3665
3723
  @group(0) @binding(0) var<uniform> ou : OpticsUniforms;
@@ -3698,6 +3756,35 @@ fn tone_response(x : f32, sizeK : f32, levelFar : f32) -> f32 {
3698
3756
  let f = sizeK * sizeK * (3.0 - 2.0 * sizeK);
3699
3757
  let ys = mix(ou.toneRowThin.xyz, ou.toneRowThick.xyz, vec3f(f));
3700
3758
  let xs = ou.toneAnchor.xyz;
3759
+ if (ou.toneExtra.w > 0.5) {
3760
+ let ys4 = vec4f(ys, mix(ou.toneExtra.y, ou.toneExtra.z, f));
3761
+ let xs4 = vec4f(xs, ou.toneExtra.x);
3762
+ let xc4 = clamp(x, xs4.x, xs4.w);
3763
+ let h0 = max(xs4.y - xs4.x, 1e-4);
3764
+ let h1 = max(xs4.z - xs4.y, 1e-4);
3765
+ let h2 = max(xs4.w - xs4.z, 1e-4);
3766
+ let d0 = (ys4.y - ys4.x) / h0;
3767
+ let d1 = (ys4.z - ys4.y) / h1;
3768
+ let d2 = (ys4.w - ys4.z) / h2;
3769
+ var m1 = 0.0; var m2 = 0.0;
3770
+ if (d0 * d1 > 0.0) { m1 = 2.0 * d0 * d1 / (d0 + d1); }
3771
+ if (d1 * d2 > 0.0) { m2 = 2.0 * d1 * d2 / (d1 + d2); }
3772
+ var h = h0; var t = (xc4 - xs4.x) / h0;
3773
+ var y0 = ys4.x; var y1 = ys4.y; var s0 = d0; var s1 = m1;
3774
+ if (xc4 > xs4.y) {
3775
+ h = h1; t = (xc4 - xs4.y) / h1;
3776
+ y0 = ys4.y; y1 = ys4.z; s0 = m1; s1 = m2;
3777
+ }
3778
+ if (xc4 > xs4.z) {
3779
+ h = h2; t = (xc4 - xs4.z) / h2;
3780
+ y0 = ys4.z; y1 = ys4.w; s0 = m2; s1 = d2;
3781
+ }
3782
+ return y0 * (1.0 + 2.0 * t) * (1.0 - t) * (1.0 - t)
3783
+ + s0 * h * t * (1.0 - t) * (1.0 - t)
3784
+ + y1 * t * t * (3.0 - 2.0 * t)
3785
+ + s1 * h * t * t * (t - 1.0)
3786
+ + levelFar;
3787
+ }
3701
3788
  let xc = clamp(x, xs.x, xs.z);
3702
3789
  let h0 = max(xs.y - xs.x, 1e-4);
3703
3790
  let h1 = max(xs.z - xs.y, 1e-4);
@@ -5123,7 +5210,7 @@ function createPassRunner(context) {
5123
5210
  };
5124
5211
  },
5125
5212
  opticsPass(encoder, args) {
5126
- const slot = uniformSlot(`optics:${args.resourceId}`, 112);
5213
+ const slot = uniformSlot(`optics:${args.resourceId}`, 116);
5127
5214
  const d = slot.data;
5128
5215
  d[0] = args.viewportDevice[0];
5129
5216
  d[1] = args.viewportDevice[1];
@@ -5237,6 +5324,10 @@ function createPassRunner(context) {
5237
5324
  d[109] = args.domMaterial?.mode ?? 0;
5238
5325
  d[110] = args.domMaterial?.referenceBackdropLuminance ?? 0;
5239
5326
  d[111] = args.domMaterial?.minimumTintContrast ?? 0;
5327
+ d[112] = args.backdropToneAnchorX[3] ?? args.backdropToneAnchorX[2];
5328
+ d[113] = args.backdropToneResponseThin[3] ?? args.backdropToneResponseThin[2];
5329
+ d[114] = args.backdropToneResponseThick[3] ?? args.backdropToneResponseThick[2];
5330
+ d[115] = args.backdropToneAnchorX.length === 4 ? 1 : 0;
5240
5331
  slot.write();
5241
5332
  const chain = args.backdrop?.chain ?? placeholderView;
5242
5333
  const body = args.backdrop?.body ?? placeholderView;
@@ -6819,6 +6910,6 @@ function createWebGPURenderer(options = {}) {
6819
6910
  };
6820
6911
  }
6821
6912
 
6822
- export { ADAPTIVE_LUMINANCE_HIGH, ADAPTIVE_LUMINANCE_LOW, ADAPTIVE_TINT_DARK, ADAPTIVE_TINT_LIGHT, ANALYSIS_DISPATCH, ANALYSIS_GRID, ANALYSIS_PASS_ID, ANALYSIS_STATS_FLOATS, ANALYSIS_TARGET_EXTENT, ANALYSIS_WORKGROUP, BACKDROP_ALPHA_MODES, BACKDROP_COLOR_SPACES, BACKDROP_KINDS, BACKDROP_PASS_ID, BACKDROP_TONE_HIGH, BACKDROP_TONE_LOW, BACKDROP_TONE_MAX, BACKDROP_TONE_SIZE_BIAS, CANVAS_FORMAT, CHAIN_SIGMA_AT_LEVEL_1, CROSS_CHECK_SHAPE_FLOATS, CROSS_CHECK_WORKGROUP, DEFAULT_MATERIAL_PROFILE, FAMILY_C_CROSS_CHECK, FIELD_PASS_ID, GOVERNOR_LADDER, HIGHLIGHT_PASS_ID, IDENTITY_FIT, IDLE_CHANNELS, INCREASED_OCCLUSION_LIFT, INSTANCE_BYTES, INSTANCE_FLOATS, LENS_AMOUNT_MAX, LENS_AMOUNT_PER_SPAN, LENS_EXTENT_GAIN, LENS_HEIGHT_MAX, LENS_HEIGHT_PER_SPAN, LENS_OVALIZATION, LENS_PROFILE_EXPONENT, LENS_REFRACTION_GAIN, LENS_SIZE_GAIN_MAX, LENS_THICKNESS_REFERENCE, LUMINANCE_WEIGHTS, MATERIAL_OPTICS, MATERIAL_VARIANTS, MAX_CHAIN_LEVELS, MIN_LEVEL_EXTENT, NOMINAL_GOVERNOR, NOMINAL_MATERIAL_POLICY, OPTICS_PASS_ID, OUTER_SHADOW, OUTER_SHADOW_THICK_SPANS, OUTER_SHADOW_THIN_L, OUTER_SHADOW_UNMEASURED_BACKDROP_LUMINANCE, OUTPUT_TEXTURE_FORMAT, PASS_LABEL, REFRACTION_LADDER, REFRACTION_SCALE, RENDERER_ERROR_CODES, RENDERER_PASS_IDS, RendererError, SIZE_OCCLUSION_GAIN, SIZE_SCATTER_FLOOR, SIZE_SCATTER_FLOOR_2X, SIZE_SCATTER_GAIN_FAR_2X, SIZE_SCATTER_GAIN_MAX, SIZE_SCATTER_GAIN_MAX_2X, SIZE_SCATTER_RAMP_REACH_1X_PX, SIZE_SCATTER_RAMP_REACH_2X_PX, SIZE_SCATTER_RAMP_START_FAR_1X, SIZE_SCATTER_RAMP_START_FAR_2X, SIZE_SCATTER_RAMP_START_THICK_1X, SIZE_SCATTER_RAMP_START_THICK_2X, SIZE_SCATTER_RAMP_START_THIN_1X, SIZE_SCATTER_RAMP_START_THIN_2X, SIZE_SCATTER_SPAN_MAX, SIZE_SCATTER_SPAN_MAX_2X, SIZE_SHADOW_GAIN_MAX, SIZE_SPAN_MAX, SIZE_SPAN_MIN, SRGB_ENCODING_EXPONENT, SUPPORTED_APP_TEXTURE_FORMATS, WGSL_ANALYSIS_PASS, WGSL_CROSS_CHECK_PASS, WGSL_DOWNSAMPLE_PASS, WGSL_FIELD_KERNELS, WGSL_FIELD_PASS, WGSL_FIELD_SAMPLE, WGSL_HIGHLIGHT_PASS, WGSL_IMPORT_PASS, WGSL_INSTANCE_STRUCT, WGSL_OPTICS_PASS, WGSL_PRELUDE, WGSL_RSUPN_GRAD, WGSL_RSUP_GRAD, WGSL_SMOOTH_UNION, WORKING_TEXTURE_FORMAT, ZERO_STATS, accessibilityRefractionCap, adaptationStrength, adaptedTintAlpha, adaptedTintColour, adaptiveTint, allShaderSource, alphaNormalisationMode, analysisModule, backdropFit, backdropToneAdaptation, backdropToneResponse, backdropToneSizeBiasUnderPolicy, backdropToneSolveWeight, backdropToneUnderPolicy, bodyBlurPlan, chainModule, clipFieldRectToCanvas, collapsedRimUnderPolicy, coverFit, createAdaptationState, createAppTextureProvider, createCopyProvider, createDeviceHost, createGovernor, createGpuContext, createGradientProvider, createPassRunner, createPipelineCache, createPyramidStore, createRebuildLedger, createStorageSlot, createTexturePool, createTimingCollector, createUniformSlot, createVideoProvider, createWebGPURenderer, crossCheckKernelModule, displayP3ToSrgbLinear, effectiveRefraction, encodeOutput, encodeOutputBytes, fieldModule, fieldPassSource, groupFieldRect, heavyTapSigmaAtScale, highlightModule, importColorMatrix, importModule, importPassSource, isUsablePlacement, lensAmountBasePx, lensDepthPx, lensDirection, lensDisplacementPx, lensExtentPx, lensHeightBasePx, lensMagnitudePx, lensOvalizationAt, lensSizeGain, lensSizeGainFromThickness, linearGradientStops, linearToSrgb, linearToSrgbChannel, occlusionAlphaUnderPolicy, opticsModule, opticsUnderPolicy, outerShadowAlpha, outerShadowFalloff, outerShadowLiftRise, outerShadowOcclusionAt, outerShadowReachPx, outerShadowThickOcclusion, outerShadowThinOcclusion, outerShadowUnderPolicy, packInstances, pipelineKey, placementFit, planPyramid, poolKey, readbackDue, refractionRank, relativeLuminance, rendererError, resolveSurfaces, rimAlongSideFactor, rimAlongSideField, samePlacement, scatterDeepThickness, scatterFloorAtScale, scatterGainAt, scatterGainAtScale, scatterGainFarAtScale, scatterHeavyShareThickAtScale, scatterRampAreaMean, scatterRampReachDevicePx, scatterRampStart, scatterSharpShare, scatterSpanMaxAtScale, scatterThickness, shadowDepthPx, sizeOcclusionAlpha, sizeOcclusionAlphaAt, sizeOuterShadowOcclusion, sizeOuterShadowOcclusionAt, sizeScatterSigma, sizeScatterSigmaAt, sizeShadowDepth, sizeShadowDepthAt, sizeThickness, sizeThicknessUnderPolicy, sizeToneLevelFar, snapRectToDevicePixels, srgbToLinear, srgbToLinearChannel, statsFromBuffer, supportsTimestamps, texelsPerCssPx, tintShade, tintShadeLayer, tintToneAdaptation, tintedMaterialColour, validateAppTexture, withMaterialOverrides };
6823
- //# sourceMappingURL=dist-C43H3RKY.js.map
6824
- //# sourceMappingURL=dist-C43H3RKY.js.map
6913
+ export { ADAPTIVE_LUMINANCE_HIGH, ADAPTIVE_LUMINANCE_LOW, ADAPTIVE_TINT_DARK, ADAPTIVE_TINT_LIGHT, ANALYSIS_DISPATCH, ANALYSIS_GRID, ANALYSIS_PASS_ID, ANALYSIS_STATS_FLOATS, ANALYSIS_TARGET_EXTENT, ANALYSIS_WORKGROUP, BACKDROP_ALPHA_MODES, BACKDROP_COLOR_SPACES, BACKDROP_KINDS, BACKDROP_PASS_ID, BACKDROP_TONE_HIGH, BACKDROP_TONE_LOW, BACKDROP_TONE_MAX, BACKDROP_TONE_SIZE_BIAS, CANVAS_FORMAT, CHAIN_SIGMA_AT_LEVEL_1, CROSS_CHECK_SHAPE_FLOATS, CROSS_CHECK_WORKGROUP, DEFAULT_MATERIAL_PROFILE, FAMILY_C_CROSS_CHECK, FIELD_PASS_ID, GOVERNOR_LADDER, HIGHLIGHT_PASS_ID, IDENTITY_FIT, IDLE_CHANNELS, INCREASED_OCCLUSION_LIFT, INSTANCE_BYTES, INSTANCE_FLOATS, LENS_AMOUNT_MAX, LENS_AMOUNT_PER_SPAN, LENS_EXTENT_GAIN, LENS_HEIGHT_MAX, LENS_HEIGHT_PER_SPAN, LENS_OVALIZATION, LENS_PROFILE_EXPONENT, LENS_REFRACTION_GAIN, LENS_SIZE_GAIN_MAX, LENS_THICKNESS_REFERENCE, LUMINANCE_WEIGHTS, MATERIAL_OPTICS, MATERIAL_VARIANTS, MAX_CHAIN_LEVELS, MIN_LEVEL_EXTENT, NOMINAL_GOVERNOR, NOMINAL_MATERIAL_POLICY, OPTICS_PASS_ID, OUTER_SHADOW, OUTER_SHADOW_THICK_SPANS, OUTER_SHADOW_THIN_L, OUTER_SHADOW_UNMEASURED_BACKDROP_LUMINANCE, OUTPUT_TEXTURE_FORMAT, PASS_LABEL, REFRACTION_LADDER, REFRACTION_SCALE, RENDERER_ERROR_CODES, RENDERER_PASS_IDS, RendererError, SIZE_OCCLUSION_GAIN, SIZE_SCATTER_FLOOR, SIZE_SCATTER_FLOOR_2X, SIZE_SCATTER_GAIN_FAR_2X, SIZE_SCATTER_GAIN_MAX, SIZE_SCATTER_GAIN_MAX_2X, SIZE_SCATTER_RAMP_REACH_1X_PX, SIZE_SCATTER_RAMP_REACH_2X_PX, SIZE_SCATTER_RAMP_START_FAR_1X, SIZE_SCATTER_RAMP_START_FAR_2X, SIZE_SCATTER_RAMP_START_THICK_1X, SIZE_SCATTER_RAMP_START_THICK_2X, SIZE_SCATTER_RAMP_START_THIN_1X, SIZE_SCATTER_RAMP_START_THIN_2X, SIZE_SCATTER_SPAN_MAX, SIZE_SCATTER_SPAN_MAX_2X, SIZE_SHADOW_GAIN_MAX, SIZE_SPAN_MAX, SIZE_SPAN_MIN, SRGB_ENCODING_EXPONENT, SUPPORTED_APP_TEXTURE_FORMATS, WGSL_ANALYSIS_PASS, WGSL_CROSS_CHECK_PASS, WGSL_DOWNSAMPLE_PASS, WGSL_FIELD_KERNELS, WGSL_FIELD_PASS, WGSL_FIELD_SAMPLE, WGSL_HIGHLIGHT_PASS, WGSL_IMPORT_PASS, WGSL_INSTANCE_STRUCT, WGSL_OPTICS_PASS, WGSL_PRELUDE, WGSL_RSUPN_GRAD, WGSL_RSUP_GRAD, WGSL_SMOOTH_UNION, WORKING_TEXTURE_FORMAT, ZERO_STATS, accessibilityRefractionCap, adaptationStrength, adaptedTintAlpha, adaptedTintColour, adaptiveTint, allShaderSource, alphaNormalisationMode, analysisModule, backdropFit, backdropToneAdaptation, backdropToneResponse, backdropToneSizeBiasUnderPolicy, backdropToneSolveWeight, backdropToneUnderPolicy, bodyBlurPlan, chainModule, clipFieldRectToCanvas, collapsedRimUnderPolicy, coverFit, createAdaptationState, createAppTextureProvider, createCopyProvider, createDeviceHost, createGovernor, createGpuContext, createGradientProvider, createPassRunner, createPipelineCache, createPyramidStore, createRebuildLedger, createStorageSlot, createTexturePool, createTimingCollector, createUniformSlot, createVideoProvider, createWebGPURenderer, crossCheckKernelModule, displayP3ToSrgbLinear, effectiveRefraction, encodeOutput, encodeOutputBytes, fieldModule, fieldPassSource, groupFieldRect, heavyTapSigmaAtScale, highlightModule, importColorMatrix, importModule, importPassSource, isUsablePlacement, lensAmountBasePx, lensDepthPx, lensDirection, lensDisplacementPx, lensExtentPx, lensHeightBasePx, lensMagnitudePx, lensOvalizationAt, lensSizeGain, lensSizeGainFromThickness, linearGradientStops, linearToSrgb, linearToSrgbChannel, occlusionAlphaUnderPolicy, occlusionLiftForPolicy, opticsModule, opticsUnderPolicy, outerShadowAlpha, outerShadowFalloff, outerShadowLiftRise, outerShadowOcclusionAt, outerShadowReachPx, outerShadowThickOcclusion, outerShadowThinOcclusion, outerShadowUnderPolicy, packInstances, pipelineKey, placementFit, planPyramid, poolKey, readbackDue, refractionRank, relativeLuminance, rendererError, resolveSurfaces, rimAlongSideFactor, rimAlongSideField, samePlacement, scatterDeepThickness, scatterFloorAtScale, scatterGainAt, scatterGainAtScale, scatterGainFarAtScale, scatterHeavyShareThickAtScale, scatterRampAreaMean, scatterRampReachDevicePx, scatterRampStart, scatterSharpShare, scatterSpanMaxAtScale, scatterThickness, shadowDepthPx, sizeOcclusionAlpha, sizeOcclusionAlphaAt, sizeOuterShadowOcclusion, sizeOuterShadowOcclusionAt, sizeScatterSigma, sizeScatterSigmaAt, sizeShadowDepth, sizeShadowDepthAt, sizeThickness, sizeThicknessUnderPolicy, sizeToneLevelFar, snapRectToDevicePixels, srgbToLinear, srgbToLinearChannel, statsFromBuffer, supportsTimestamps, texelsPerCssPx, tintShade, tintShadeLayer, tintToneAdaptation, tintedMaterialColour, validateAppTexture, withMaterialOverrides };
6914
+ //# sourceMappingURL=dist-T7PRMUM4.js.map
6915
+ //# sourceMappingURL=dist-T7PRMUM4.js.map