@hology/core 0.0.177 → 0.0.179
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/gameplay/actors/builtin/components/character/character-movement.d.ts +2 -3
- package/dist/gameplay/actors/builtin/components/character/character-movement.js +1 -1
- package/dist/gameplay/actors/builtin/components/mesh-component.d.ts +2 -3
- package/dist/gameplay/actors/builtin/components/mesh-component.js +1 -1
- package/dist/gameplay/actors/builtin/navmesh-actor.d.ts +1 -0
- package/dist/gameplay/actors/builtin/navmesh-actor.js +1 -1
- package/dist/gameplay/actors/builtin/post-process-volume-actor.js +1 -1
- package/dist/gameplay/actors/camera/third-person-camera-component.d.ts +1 -3
- package/dist/gameplay/actors/camera/third-person-camera-component.js +1 -1
- package/dist/gameplay/initiate.js +1 -1
- package/dist/gameplay/services/physics/physics-system.d.ts +2 -2
- package/dist/gameplay/services/physics/physics-system.js +1 -1
- package/dist/gameplay/services/world.d.ts +0 -3
- package/dist/gameplay/services/world.js +1 -1
- package/dist/rendering/outline-effect.js +1 -1
- package/dist/rendering.d.ts +11 -0
- package/dist/rendering.js +1 -1
- package/dist/scene/asset-resource-loader.js +1 -1
- package/dist/scene/materializer.d.ts +2 -1
- package/dist/scene/materializer.js +1 -1
- package/dist/shader/color-layer.js +1 -1
- package/package.json +1 -1
- package/tsconfig.tsbuildinfo +1 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{__decorate as e,__metadata as t}from"tslib";import{Color as r,Texture as o,Vector2 as a}from"three";import{abs as s,attributes as l,float as p,FloatNode as i,max as y,min as n,mix as u,pow as d,rgba as c,SimplexNoiseNode as h,standardMaterial as L,step as g,textureSampler2d as M,varying as m,varyingAttributes as v,vec2 as x,colorToNormal as k,varyingTransformed as f}from"three-shader-graph";import{edgeDepthEffect as C,fresnelEffect as b,oneMinus as T,sceneColorSampler as w,screenUV as S,timeUniforms as A}from"../shader-nodes";import{SerializedParamType as V}from"../scene/model";import{Parameter as F}from"../gameplay";export var ColorLayerType;!function(e){e.solid="solid",e.refraction="refraction",e.lighting="lighting",e.texture="texture",e.textureMask="textureMask",e.vertexMask="vertexMask",e.fresnelMask="fresnelMask",e.depthMask="depthMask",e.gradientMask="gradientMask"}(ColorLayerType||(ColorLayerType={}));export const defaultValueColorLayer={enabled:!0,type:ColorLayerType.solid,outputType:"rgba",opacity:1,blendMode:"normal",params:{color:{type:V.Color,value:"#FFFFFF"}}};export const defaultValueMaskLayer={enabled:!0,type:ColorLayerType.textureMask,outputType:"alpha",opacity:1,blendMode:"normal",params:{texture:{type:V.Texture,value:null},channel:{type:V.String,value:"red"}}};const N={normal:(e,t,r)=>u(e,t,r),add:(e,t,r)=>e.add(t.multiplyScalar(r)),multiply:(e,t,r)=>u(e,e.multiply(t),r),screen:(e,t,r)=>u(e,T(T(e).multiply(T(t))),r),overlay:(e,t,r)=>{const o=u(e.multiply(t).multiplyScalar(2),T(p(2).multiplyVec3(T(e)).multiply(T(t))),g(.5,e));return u(e,o.rgb,r)},difference:(e,t,r)=>u(e,s(e.subtract(t)),r),subtract:(e,t,r)=>u(e,e.subtract(t),r)};export const blendModes=Object.keys(N);const z={normal:(e,t,r)=>u(e,t,r),add:(e,t,r)=>e.add(t.multiply(r)),multiply:(e,t,r)=>u(e,e.multiply(t),r),max:(e,t,r)=>u(e,y(e,t),r),min:(e,t,r)=>u(e,n(e,t),r),difference:(e,t,r)=>u(e,s(e.subtract(t)),r),subtract:(e,t,r)=>u(e,e.subtract(t),r)};export const maskBlendModes=Object.keys(z);export class ColorLayer{constructor(){this.layers=[]}static get outputType(){return"rgba"}apply(e){const t=this.output();if(t instanceof i)return c(e.rgb,this.applyMask(e.a));{let a=t;if(null!=this.layers&&(a=this.layers.filter(e=>!1!==e.enabled).reduce((e,t)=>t.apply(e),t)),null==e)return a;const s=N[this.blendMode]??N.normal,l=a.a.multiply(this.opacity),p=s(e.rgb,a.rgb,l);let i=(r=e.a,(o=l).add(r.multiply(T(o))));return c(p,i)}var r,o}applyMask(e){const t=this.output();if(t instanceof i){let r=t;null!=this.layers&&(r=this.layers.filter(e=>!1!==e.enabled).reduce((e,t)=>t.applyMask(e),t));return(z[this.blendMode]??N.normal)(e,r,this.opacity)}return console.error("Can not use non-float layer for mask"),e}init(e,t){}static async decode(e,t){if(console.log("Decode value",e),!isColorLayerSerialized(e))return;const r=new layerTypes[e.type];return r.enabled=e.enabled,r.opacity=e.opacity??1,r.blendMode=e.blendMode,r}output(){return c("white")}}e([F({type:ColorLayer,array:!0}),t("design:type",Array)],ColorLayer.prototype,"layers",void 0);export class SolidColorLayer extends ColorLayer{constructor(){super(...arguments),this.color=new r("white"),this.layers=[]}output(){return c(this.color).multiplyScalar(1.3)}}e([F(),t("design:type",r)],SolidColorLayer.prototype,"color",void 0),e([F({type:ColorLayer,array:!0}),t("design:type",Array)],SolidColorLayer.prototype,"layers",void 0);export class TextureColorLayer extends ColorLayer{constructor(){super(...arguments),this.texture=new o,this.scale=new a(1,1),this.scroll=new a(0,0),this.layers=[]}output(){let e=v.uv;return null!=this.scroll&&this.scroll.lengthSq()>0&&(e=e.add(x(this.scroll).multiplyScalar(A.elapsed))),e=e.multiply(x(this.scale??1)),M(this.texture).sample(e)}}e([F(),t("design:type",o)],TextureColorLayer.prototype,"texture",void 0),e([F(),t("design:type",a)],TextureColorLayer.prototype,"scale",void 0),e([F(),t("design:type",a)],TextureColorLayer.prototype,"scroll",void 0),e([F({type:ColorLayer,array:!0}),t("design:type",Array)],TextureColorLayer.prototype,"layers",void 0);export class RefractionColorLayer extends ColorLayer{constructor(){super(...arguments),this.texture=new o,this.layers=[]}output(){return w.sample(S.addScalar(new h(v.uv).multiply(.2)))}}e([F(),t("design:type",o)],RefractionColorLayer.prototype,"texture",void 0),e([F({type:ColorLayer,array:!0}),t("design:type",Array)],RefractionColorLayer.prototype,"layers",void 0);export class LightingColorLayer extends ColorLayer{constructor(){super(...arguments),this.roughness=1,this.metalness=0}apply(e){const t=v.uv;let r=p(this.roughness);null!=this.roughnessMap&&(r=r.multiply(M(this.roughnessMap).sample(t).g));let o=p(this.metalness);null!=this.metalnessMap&&(o=o.multiply(M(this.metalnessMap).sample(t).b));let a=f.normal;null!=this.normalMap&&(a=k(M(this.normalMap).sample(t),this.normalScale));let s=null;return null!=this.aoMap&&(s=M(this.aoMap).sample(t).r),L({color:e,metalness:o,roughness:r,normal:a})}}e([F({range:[0,1]}),t("design:type",Number)],LightingColorLayer.prototype,"roughness",void 0),e([F(),t("design:type",o)],LightingColorLayer.prototype,"roughnessMap",void 0),e([F({range:[0,1]}),t("design:type",Number)],LightingColorLayer.prototype,"metalness",void 0),e([F(),t("design:type",o)],LightingColorLayer.prototype,"metalnessMap",void 0),e([F(),t("design:type",o)],LightingColorLayer.prototype,"aoMap",void 0),e([F(),t("design:type",Number)],LightingColorLayer.prototype,"aoMapIntensity",void 0),e([F(),t("design:type",o)],LightingColorLayer.prototype,"normalMap",void 0),e([F(),t("design:type",i)],LightingColorLayer.prototype,"normalScale",void 0);export class MaskLayer extends ColorLayer{constructor(){super(...arguments),this.power=1,this.invert=!1}static get outputType(){return"float"}output(){let e=this.outputAlpha();return this.invert&&(e=T(e)),null!=this.power&&1!==this.power&&(e=d(e,this.power)),e}outputAlpha(){throw"not implemented"}}const B=["red","green","blue","alpha"];export class TextureMaskLayer extends MaskLayer{constructor(){super(...arguments),this.texture=new o,this.channel="red",this.space="uv",this.flipU=!1,this.flipV=!1,this.scale=new a(1,1),this.scroll=new a(0,0),this.offsetLayers=[],this.offset=new a(1,0),this.power=1,this.invert=!1,this.layers=[]}outputAlpha(){let e=v.uv;switch(this.space??"uv"){case"uv":e=v.uv;break;case"world xz":e=f.worldPosition.xz}if(this.flipU&&(e=x(T(e.x),e.y)),this.flipV&&(e=x(e.x,T(e.y))),null!=this.scroll&&this.scroll.lengthSq()>0&&(e=e.add(x(this.scroll).multiplyScalar(A.elapsed))),null!=this.offsetLayers&&this.offsetLayers.length>0&&null!=this.offset&&this.offset.lengthSq()>0){const t=this.offsetLayers.reduce((e,t)=>t.applyMask(e),p(0));e=e.add(x(this.offset).multiplyScalar(t))}e=e.multiply(x(this.scale??1));return G(M(this.texture).sample(e),this.channel)}}e([F(),t("design:type",o)],TextureMaskLayer.prototype,"texture",void 0),e([F({options:B.map(e=>({name:e,value:e}))}),t("design:type",String)],TextureMaskLayer.prototype,"channel",void 0),e([F({options:["uv","world xz"].map(e=>({name:e,value:e}))}),t("design:type",String)],TextureMaskLayer.prototype,"space",void 0),e([F(),t("design:type",Boolean)],TextureMaskLayer.prototype,"flipU",void 0),e([F(),t("design:type",Boolean)],TextureMaskLayer.prototype,"flipV",void 0),e([F(),t("design:type",a)],TextureMaskLayer.prototype,"scale",void 0),e([F(),t("design:type",a)],TextureMaskLayer.prototype,"scroll",void 0),e([F({type:MaskLayer,array:!0}),t("design:type",Array)],TextureMaskLayer.prototype,"offsetLayers",void 0),e([F(),t("design:type",a)],TextureMaskLayer.prototype,"offset",void 0),e([F(),t("design:type",Number)],TextureMaskLayer.prototype,"power",void 0),e([F(),t("design:type",Boolean)],TextureMaskLayer.prototype,"invert",void 0),e([F({type:MaskLayer,array:!0}),t("design:type",Array)],TextureMaskLayer.prototype,"layers",void 0);export class VertexMaskLayer extends MaskLayer{constructor(){super(...arguments),this.channel="red",this.power=1,this.invert=!1,this.layers=[]}outputAlpha(){const e=l.color;return m(G(e,this.channel))}}function G(e,t){switch(t??"red"){case"red":return e.r;case"green":return e.g;case"blue":return e.b;case"alpha":return e.a}}e([F({options:B.map(e=>({name:e,value:e}))}),t("design:type",String)],VertexMaskLayer.prototype,"channel",void 0),e([F(),t("design:type",Number)],VertexMaskLayer.prototype,"power",void 0),e([F(),t("design:type",Boolean)],VertexMaskLayer.prototype,"invert",void 0),e([F({type:MaskLayer,array:!0}),t("design:type",Array)],VertexMaskLayer.prototype,"layers",void 0);export class GradientMaskLayer extends MaskLayer{constructor(){super(...arguments),this.direction="u",this.start=0,this.end=1,this.invert=!1,this.layers=[]}outputAlpha(){return u(p(this.start),p(this.end),function(e){switch(e??"u"){case"u":return v.uv.x;case"v":return v.uv.y;case"x":return v.position.x;case"y":return v.position.y;case"z":return v.position.z}}(this.direction))}}e([F({options:["u","v","x","y","z"].map(e=>({name:e,value:e}))}),t("design:type",String)],GradientMaskLayer.prototype,"direction",void 0),e([F(),t("design:type",Number)],GradientMaskLayer.prototype,"start",void 0),e([F(),t("design:type",Number)],GradientMaskLayer.prototype,"end",void 0),e([F(),t("design:type",Boolean)],GradientMaskLayer.prototype,"invert",void 0),e([F({type:MaskLayer,array:!0}),t("design:type",Array)],GradientMaskLayer.prototype,"layers",void 0);export class FresnelMaskLayer extends MaskLayer{constructor(){super(...arguments),this.power=1,this.invert=!1,this.layers=[]}outputAlpha(){return m(b(1))}}e([F(),t("design:type",Number)],FresnelMaskLayer.prototype,"power",void 0),e([F(),t("design:type",Boolean)],FresnelMaskLayer.prototype,"invert",void 0),e([F({type:MaskLayer,array:!0}),t("design:type",Array)],FresnelMaskLayer.prototype,"layers",void 0);export class DepthMaskLayer extends MaskLayer{constructor(){super(...arguments),this.power=1,this.invert=!1,this.layers=[]}outputAlpha(){return C(1)}}e([F(),t("design:type",Number)],DepthMaskLayer.prototype,"power",void 0),e([F(),t("design:type",Boolean)],DepthMaskLayer.prototype,"invert",void 0),e([F({type:MaskLayer,array:!0}),t("design:type",Array)],DepthMaskLayer.prototype,"layers",void 0);export function isColorLayerSerialized(e){return"object"==typeof e&&null!==e&&"boolean"==typeof e.enabled&&"string"==typeof e.type&&e.outputType&&("object"==typeof e.params||void 0===e.params)}export const layerTypes={[ColorLayerType.solid]:SolidColorLayer,[ColorLayerType.texture]:TextureColorLayer,[ColorLayerType.refraction]:RefractionColorLayer,[ColorLayerType.lighting]:LightingColorLayer,[ColorLayerType.textureMask]:TextureMaskLayer,[ColorLayerType.vertexMask]:VertexMaskLayer,[ColorLayerType.fresnelMask]:FresnelMaskLayer,[ColorLayerType.depthMask]:DepthMaskLayer,[ColorLayerType.gradientMask]:GradientMaskLayer};/*
|
|
1
|
+
import{__decorate as e,__metadata as t}from"tslib";import{Color as r,Texture as o,Vector2 as a}from"three";import{abs as s,attributes as l,float as p,FloatNode as i,max as y,min as n,mix as u,pow as d,rgba as c,SimplexNoiseNode as h,standardMaterial as L,step as g,textureSampler2d as M,varying as m,varyingAttributes as x,vec2 as v,colorToNormal as k,varyingTransformed as f}from"three-shader-graph";import{edgeDepthEffect as C,fresnelEffect as b,oneMinus as T,sceneColorSampler as w,screenUV as S,timeUniforms as A}from"../shader-nodes";import{SerializedParamType as V}from"../scene/model";import{Parameter as F}from"../gameplay";export var ColorLayerType;!function(e){e.solid="solid",e.refraction="refraction",e.lighting="lighting",e.texture="texture",e.textureMask="textureMask",e.vertexMask="vertexMask",e.fresnelMask="fresnelMask",e.depthMask="depthMask",e.gradientMask="gradientMask"}(ColorLayerType||(ColorLayerType={}));export const defaultValueColorLayer={enabled:!0,type:ColorLayerType.solid,outputType:"rgba",opacity:1,blendMode:"normal",params:{color:{type:V.Color,value:"#FFFFFF"}}};export const defaultValueMaskLayer={enabled:!0,type:ColorLayerType.textureMask,outputType:"alpha",opacity:1,blendMode:"normal",params:{texture:{type:V.Texture,value:null},channel:{type:V.String,value:"red"}}};const N={normal:(e,t,r)=>u(e,t,r),add:(e,t,r)=>e.add(t.multiplyScalar(r)),multiply:(e,t,r)=>u(e,e.multiply(t),r),screen:(e,t,r)=>u(e,T(T(e).multiply(T(t))),r),overlay:(e,t,r)=>{const o=u(e.multiply(t).multiplyScalar(2),T(p(2).multiplyVec3(T(e)).multiply(T(t))),g(.5,e));return u(e,o.rgb,r)},difference:(e,t,r)=>u(e,s(e.subtract(t)),r),subtract:(e,t,r)=>u(e,e.subtract(t),r)};export const blendModes=Object.keys(N);const z={normal:(e,t,r)=>u(e,t,r),add:(e,t,r)=>e.add(t.multiply(r)),multiply:(e,t,r)=>u(e,e.multiply(t),r),max:(e,t,r)=>u(e,y(e,t),r),min:(e,t,r)=>u(e,n(e,t),r),difference:(e,t,r)=>u(e,s(e.subtract(t)),r),subtract:(e,t,r)=>u(e,e.subtract(t),r)};export const maskBlendModes=Object.keys(z);export class ColorLayer{constructor(){this.layers=[]}static get outputType(){return"rgba"}apply(e){const t=this.output();if(t instanceof i)return c(e.rgb,this.applyMask(e.a));{let a=t;if(null!=this.layers&&(a=this.layers.filter(e=>!1!==e.enabled).reduce((e,t)=>t.apply(e),t)),null==e)return a;const s=N[this.blendMode]??N.normal,l=a.a.multiply(this.opacity),p=s(e.rgb,a.rgb,l);let i=(r=e.a,(o=l).add(r.multiply(T(o))));return c(p,i)}var r,o}applyMask(e){const t=this.output();if(t instanceof i){let r=t;null!=this.layers&&(r=this.layers.filter(e=>!1!==e.enabled).reduce((e,t)=>t.applyMask(e),t));return(z[this.blendMode]??N.normal)(e,r,this.opacity)}return console.error("Can not use non-float layer for mask"),e}init(e,t){}static async decode(e,t){if(console.log("Decode value",e),!isColorLayerSerialized(e))return;const r=new layerTypes[e.type];return r.enabled=e.enabled,r.opacity=e.opacity??1,r.blendMode=e.blendMode,r}output(){return c("white")}}export class SolidColorLayer extends ColorLayer{constructor(){super(...arguments),this.color=new r("white"),this.layers=[]}output(){return c(this.color).multiplyScalar(1.3)}}e([F(),t("design:type",r)],SolidColorLayer.prototype,"color",void 0),e([F({type:ColorLayer,array:!0}),t("design:type",Array)],SolidColorLayer.prototype,"layers",void 0);export class TextureColorLayer extends ColorLayer{constructor(){super(...arguments),this.texture=new o,this.scale=new a(1,1),this.scroll=new a(0,0),this.layers=[]}output(){let e=x.uv;return null!=this.scroll&&this.scroll.lengthSq()>0&&(e=e.add(v(this.scroll).multiplyScalar(A.elapsed))),e=e.multiply(v(this.scale??1)),M(this.texture).sample(e)}}e([F(),t("design:type",o)],TextureColorLayer.prototype,"texture",void 0),e([F(),t("design:type",a)],TextureColorLayer.prototype,"scale",void 0),e([F(),t("design:type",a)],TextureColorLayer.prototype,"scroll",void 0),e([F({type:ColorLayer,array:!0}),t("design:type",Array)],TextureColorLayer.prototype,"layers",void 0);export class RefractionColorLayer extends ColorLayer{constructor(){super(...arguments),this.texture=new o,this.layers=[]}output(){return w.sample(S.addScalar(new h(x.uv).multiply(.2)))}}e([F(),t("design:type",o)],RefractionColorLayer.prototype,"texture",void 0),e([F({type:ColorLayer,array:!0}),t("design:type",Array)],RefractionColorLayer.prototype,"layers",void 0);export class LightingColorLayer extends ColorLayer{constructor(){super(...arguments),this.roughness=1,this.metalness=0}apply(e){const t=x.uv;let r=p(this.roughness);null!=this.roughnessMap&&(r=r.multiply(M(this.roughnessMap).sample(t).g));let o=p(this.metalness);null!=this.metalnessMap&&(o=o.multiply(M(this.metalnessMap).sample(t).b));let a=f.normal;null!=this.normalMap&&(a=k(M(this.normalMap).sample(t),this.normalScale));let s=null;return null!=this.aoMap&&(s=M(this.aoMap).sample(t).r),L({color:e,metalness:o,roughness:r,normal:a})}}e([F({range:[0,1]}),t("design:type",Number)],LightingColorLayer.prototype,"roughness",void 0),e([F(),t("design:type",o)],LightingColorLayer.prototype,"roughnessMap",void 0),e([F({range:[0,1]}),t("design:type",Number)],LightingColorLayer.prototype,"metalness",void 0),e([F(),t("design:type",o)],LightingColorLayer.prototype,"metalnessMap",void 0),e([F(),t("design:type",o)],LightingColorLayer.prototype,"aoMap",void 0),e([F(),t("design:type",Number)],LightingColorLayer.prototype,"aoMapIntensity",void 0),e([F(),t("design:type",o)],LightingColorLayer.prototype,"normalMap",void 0),e([F(),t("design:type",i)],LightingColorLayer.prototype,"normalScale",void 0);export class MaskLayer extends ColorLayer{constructor(){super(...arguments),this.power=1,this.invert=!1}static get outputType(){return"float"}output(){let e=this.outputAlpha();return this.invert&&(e=T(e)),null!=this.power&&1!==this.power&&(e=d(e,this.power)),e}outputAlpha(){throw"not implemented"}}const B=["red","green","blue","alpha"];export class TextureMaskLayer extends MaskLayer{constructor(){super(...arguments),this.texture=new o,this.channel="red",this.space="uv",this.flipU=!1,this.flipV=!1,this.scale=new a(1,1),this.scroll=new a(0,0),this.offsetLayers=[],this.offset=new a(1,0),this.power=1,this.invert=!1,this.layers=[]}outputAlpha(){let e=x.uv;switch(this.space??"uv"){case"uv":e=x.uv;break;case"world xz":e=f.worldPosition.xz}if(this.flipU&&(e=v(T(e.x),e.y)),this.flipV&&(e=v(e.x,T(e.y))),null!=this.scroll&&this.scroll.lengthSq()>0&&(e=e.add(v(this.scroll).multiplyScalar(A.elapsed))),null!=this.offsetLayers&&this.offsetLayers.length>0&&null!=this.offset&&this.offset.lengthSq()>0){const t=this.offsetLayers.reduce((e,t)=>t.applyMask(e),p(0));e=e.add(v(this.offset).multiplyScalar(t))}e=e.multiply(v(this.scale??1));return G(M(this.texture).sample(e),this.channel)}}e([F(),t("design:type",o)],TextureMaskLayer.prototype,"texture",void 0),e([F({options:B.map(e=>({name:e,value:e}))}),t("design:type",String)],TextureMaskLayer.prototype,"channel",void 0),e([F({options:["uv","world xz"].map(e=>({name:e,value:e}))}),t("design:type",String)],TextureMaskLayer.prototype,"space",void 0),e([F(),t("design:type",Boolean)],TextureMaskLayer.prototype,"flipU",void 0),e([F(),t("design:type",Boolean)],TextureMaskLayer.prototype,"flipV",void 0),e([F(),t("design:type",a)],TextureMaskLayer.prototype,"scale",void 0),e([F(),t("design:type",a)],TextureMaskLayer.prototype,"scroll",void 0),e([F({type:MaskLayer,array:!0}),t("design:type",Array)],TextureMaskLayer.prototype,"offsetLayers",void 0),e([F(),t("design:type",a)],TextureMaskLayer.prototype,"offset",void 0),e([F(),t("design:type",Number)],TextureMaskLayer.prototype,"power",void 0),e([F(),t("design:type",Boolean)],TextureMaskLayer.prototype,"invert",void 0),e([F({type:MaskLayer,array:!0}),t("design:type",Array)],TextureMaskLayer.prototype,"layers",void 0);export class VertexMaskLayer extends MaskLayer{constructor(){super(...arguments),this.channel="red",this.power=1,this.invert=!1,this.layers=[]}outputAlpha(){const e=l.color;return m(G(e,this.channel))}}function G(e,t){switch(t??"red"){case"red":return e.r;case"green":return e.g;case"blue":return e.b;case"alpha":return e.a}}e([F({options:B.map(e=>({name:e,value:e}))}),t("design:type",String)],VertexMaskLayer.prototype,"channel",void 0),e([F(),t("design:type",Number)],VertexMaskLayer.prototype,"power",void 0),e([F(),t("design:type",Boolean)],VertexMaskLayer.prototype,"invert",void 0),e([F({type:MaskLayer,array:!0}),t("design:type",Array)],VertexMaskLayer.prototype,"layers",void 0);export class GradientMaskLayer extends MaskLayer{constructor(){super(...arguments),this.direction="u",this.start=0,this.end=1,this.invert=!1,this.layers=[]}outputAlpha(){return u(p(this.start),p(this.end),function(e){switch(e??"u"){case"u":return x.uv.x;case"v":return x.uv.y;case"x":return x.position.x;case"y":return x.position.y;case"z":return x.position.z}}(this.direction))}}e([F({options:["u","v","x","y","z"].map(e=>({name:e,value:e}))}),t("design:type",String)],GradientMaskLayer.prototype,"direction",void 0),e([F(),t("design:type",Number)],GradientMaskLayer.prototype,"start",void 0),e([F(),t("design:type",Number)],GradientMaskLayer.prototype,"end",void 0),e([F(),t("design:type",Boolean)],GradientMaskLayer.prototype,"invert",void 0),e([F({type:MaskLayer,array:!0}),t("design:type",Array)],GradientMaskLayer.prototype,"layers",void 0);export class FresnelMaskLayer extends MaskLayer{constructor(){super(...arguments),this.power=1,this.invert=!1,this.layers=[]}outputAlpha(){return m(b(1))}}e([F(),t("design:type",Number)],FresnelMaskLayer.prototype,"power",void 0),e([F(),t("design:type",Boolean)],FresnelMaskLayer.prototype,"invert",void 0),e([F({type:MaskLayer,array:!0}),t("design:type",Array)],FresnelMaskLayer.prototype,"layers",void 0);export class DepthMaskLayer extends MaskLayer{constructor(){super(...arguments),this.power=1,this.invert=!1,this.layers=[]}outputAlpha(){return C(1)}}e([F(),t("design:type",Number)],DepthMaskLayer.prototype,"power",void 0),e([F(),t("design:type",Boolean)],DepthMaskLayer.prototype,"invert",void 0),e([F({type:MaskLayer,array:!0}),t("design:type",Array)],DepthMaskLayer.prototype,"layers",void 0);export function isColorLayerSerialized(e){return"object"==typeof e&&null!==e&&"boolean"==typeof e.enabled&&"string"==typeof e.type&&e.outputType&&("object"==typeof e.params||void 0===e.params)}export const layerTypes={[ColorLayerType.solid]:SolidColorLayer,[ColorLayerType.texture]:TextureColorLayer,[ColorLayerType.refraction]:RefractionColorLayer,[ColorLayerType.lighting]:LightingColorLayer,[ColorLayerType.textureMask]:TextureMaskLayer,[ColorLayerType.vertexMask]:VertexMaskLayer,[ColorLayerType.fresnelMask]:FresnelMaskLayer,[ColorLayerType.depthMask]:DepthMaskLayer,[ColorLayerType.gradientMask]:GradientMaskLayer};/*
|
|
2
2
|
* Copyright (©) 2025 Hology Interactive AB. All rights reserved.
|
|
3
3
|
* See the LICENSE.md file for details.
|
|
4
4
|
*/
|