@vvfx/shader2ge 0.0.1-beta.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.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../../../node_modules/.pnpm/@galacean+effects-specification@2.8.1/node_modules/@galacean/effects-specification/es/scene.js","../../../node_modules/.pnpm/@galacean+effects-specification@2.8.1/node_modules/@galacean/effects-specification/es/type.js","../../../node_modules/.pnpm/@galacean+effects-specification@2.8.1/node_modules/@galacean/effects-specification/es/constants.js","../../../node_modules/.pnpm/@galacean+effects-specification@2.8.1/node_modules/@galacean/effects-specification/es/composition.js","../../../node_modules/.pnpm/@galacean+effects-specification@2.8.1/node_modules/@galacean/effects-specification/es/number-expression.js","../../../node_modules/.pnpm/@galacean+effects-specification@2.8.1/node_modules/@galacean/effects-specification/es/item/base-item.js","../../../node_modules/.pnpm/@galacean+effects-specification@2.8.1/node_modules/@galacean/effects-specification/es/item/particle-item.js","../../../node_modules/.pnpm/@galacean+effects-specification@2.8.1/node_modules/@galacean/effects-specification/es/item/particle-shape.js","../../../node_modules/.pnpm/@galacean+effects-specification@2.8.1/node_modules/@galacean/effects-specification/es/item/model/light.js","../../../node_modules/.pnpm/@galacean+effects-specification@2.8.1/node_modules/@galacean/effects-specification/es/item/model/mesh.js","../../../node_modules/.pnpm/@galacean+effects-specification@2.8.1/node_modules/@galacean/effects-specification/es/item/model/camera.js","../../../node_modules/.pnpm/@galacean+effects-specification@2.8.1/node_modules/@galacean/effects-specification/es/item/model/material.js","../../../node_modules/.pnpm/@galacean+effects-specification@2.8.1/node_modules/@galacean/effects-specification/es/item/model/render.js","../../../node_modules/.pnpm/@galacean+effects-specification@2.8.1/node_modules/@galacean/effects-specification/es/text.js","../../../node_modules/.pnpm/@galacean+effects-specification@2.8.1/node_modules/@galacean/effects-specification/es/buitin-object-guid.js","../../../node_modules/.pnpm/@galacean+effects-specification@2.8.1/node_modules/@galacean/effects-specification/es/shape/shape-component-data.js","../../../node_modules/.pnpm/@galacean+effects-specification@2.8.1/node_modules/@galacean/effects-specification/es/shape/shape-primitive-type.js","../../../node_modules/.pnpm/@galacean+effects-specification@2.8.1/node_modules/@galacean/effects-specification/es/shape/shape-stroke-param.js","../../../node_modules/.pnpm/@galacean+effects-specification@2.8.1/node_modules/@galacean/effects-specification/es/animation-graph/graph-node-datas.js","../../../node_modules/.pnpm/@galacean+effects-specification@2.8.1/node_modules/@galacean/effects-specification/es/assets.js","../../../node_modules/.pnpm/@galacean+effects-specification@2.8.1/node_modules/@galacean/effects-specification/es/data-type.js","../../../node_modules/.pnpm/@galacean+effects-specification@2.8.1/node_modules/@galacean/effects-specification/es/geometry-data.js","../../../node_modules/.pnpm/@galacean+effects-specification@2.8.1/node_modules/@galacean/effects-specification/es/index.js","../../../node_modules/.pnpm/@swc+helpers@0.5.21/node_modules/@swc/helpers/esm/_extends.js","../../../node_modules/.pnpm/@swc+helpers@0.5.21/node_modules/@swc/helpers/esm/_array_like_to_array.js","../../../node_modules/.pnpm/@swc+helpers@0.5.21/node_modules/@swc/helpers/esm/_unsupported_iterable_to_array.js","../../../node_modules/.pnpm/@swc+helpers@0.5.21/node_modules/@swc/helpers/esm/_create_for_of_iterator_helper_loose.js","../src/parse-uniforms.ts","../src/templates.ts","../src/parse-shader.ts","../../../node_modules/.pnpm/uuid@13.0.0/node_modules/uuid/dist/stringify.js","../../../node_modules/.pnpm/uuid@13.0.0/node_modules/uuid/dist/rng.js","../../../node_modules/.pnpm/uuid@13.0.0/node_modules/uuid/dist/native.js","../../../node_modules/.pnpm/uuid@13.0.0/node_modules/uuid/dist/v4.js","../src/scene-builders.ts","../../../node_modules/.pnpm/@swc+helpers@0.5.21/node_modules/@swc/helpers/esm/_type_of.js","../src/uniform-utils.ts","../src/material-uniforms.ts","../src/generate-scene.ts","../src/convert.ts"],"sourcesContent":["/**\n * JSON 版本\n */\nexport var JSONSceneVersion;\n(function (JSONSceneVersion) {\n JSONSceneVersion[\"1_0\"] = \"1.0\";\n JSONSceneVersion[\"1_1\"] = \"1.1\";\n JSONSceneVersion[\"1_2\"] = \"1.2\";\n JSONSceneVersion[\"1_3\"] = \"1.3\";\n JSONSceneVersion[\"1_5\"] = \"1.5\";\n JSONSceneVersion[\"1_8\"] = \"1.8\";\n JSONSceneVersion[\"2_0\"] = \"2.0\";\n JSONSceneVersion[\"2_1\"] = \"2.1\";\n JSONSceneVersion[\"2_2\"] = \"2.2\";\n JSONSceneVersion[\"2_3\"] = \"2.3\";\n JSONSceneVersion[\"2_4\"] = \"2.4\";\n JSONSceneVersion[\"3_0\"] = \"3.0\";\n JSONSceneVersion[\"3_1\"] = \"3.1\";\n JSONSceneVersion[\"3_2\"] = \"3.2\";\n JSONSceneVersion[\"3_3\"] = \"3.3\";\n JSONSceneVersion[\"3_4\"] = \"3.4\";\n JSONSceneVersion[\"3_5\"] = \"3.5\";\n JSONSceneVersion[\"3_6\"] = \"3.6\";\n JSONSceneVersion[\"3_7\"] = \"3.7\";\n JSONSceneVersion[\"LATEST\"] = \"3.7\";\n})(JSONSceneVersion || (JSONSceneVersion = {}));\n","/*********************************************/\n/* 元素属性参数类型 */\n/*********************************************/\n/**\n * 渲染等级\n */\nexport var RenderLevel;\n(function (RenderLevel) {\n RenderLevel[\"S\"] = \"S\";\n RenderLevel[\"APlus\"] = \"A+\";\n RenderLevel[\"A\"] = \"A\";\n RenderLevel[\"BPlus\"] = \"B+\";\n RenderLevel[\"B\"] = \"B\";\n})(RenderLevel || (RenderLevel = {}));\n/**\n * 混合模式\n */\nexport var BlendingMode;\n(function (BlendingMode) {\n /**\n * 普通混合模式\n */\n BlendingMode[BlendingMode[\"ALPHA\"] = 0] = \"ALPHA\";\n /**\n * 叠加混合模式\n */\n BlendingMode[BlendingMode[\"ADD\"] = 1] = \"ADD\";\n /**\n * 相乘混合模式\n */\n BlendingMode[BlendingMode[\"MULTIPLY\"] = 2] = \"MULTIPLY\";\n /**\n * 亮度混合模式\n */\n BlendingMode[BlendingMode[\"BRIGHTNESS\"] = 3] = \"BRIGHTNESS\";\n /**\n * 减色混合模式\n */\n BlendingMode[BlendingMode[\"SUBTRACTION\"] = 4] = \"SUBTRACTION\";\n /**\n * 强光混合模式\n */\n BlendingMode[BlendingMode[\"STRONG_LIGHT\"] = 5] = \"STRONG_LIGHT\";\n /**\n * 弱光混合模式\n */\n BlendingMode[BlendingMode[\"WEAK_LIGHT\"] = 6] = \"WEAK_LIGHT\";\n /**\n * 亮度叠加混合模式\n */\n BlendingMode[BlendingMode[\"SUPERPOSITION\"] = 7] = \"SUPERPOSITION\";\n})(BlendingMode || (BlendingMode = {}));\n/**\n * 单双面模式\n */\nexport var SideMode;\n(function (SideMode) {\n /**\n * 双面模式\n */\n SideMode[SideMode[\"DOUBLE\"] = 1032] = \"DOUBLE\";\n /**\n * 正面模式\n */\n SideMode[SideMode[\"FRONT\"] = 1028] = \"FRONT\";\n /**\n * 背面模式\n */\n SideMode[SideMode[\"BACK\"] = 1029] = \"BACK\";\n})(SideMode || (SideMode = {}));\n/**\n * 元素是否被蒙版遮挡/反向遮挡\n */\nexport var ObscuredMode;\n(function (ObscuredMode) {\n /**\n * 无\n */\n // NONE = 0,\n // /**\n // * 蒙版\n // */\n // MASK = 1,\n /**\n * 被遮挡\n */\n ObscuredMode[ObscuredMode[\"OBSCURED\"] = 2] = \"OBSCURED\";\n /**\n * 被反向遮挡\n */\n ObscuredMode[ObscuredMode[\"REVERSE_OBSCURED\"] = 3] = \"REVERSE_OBSCURED\";\n})(ObscuredMode || (ObscuredMode = {}));\n/**\n * 发射器形状\n */\nexport var ParticleEmitterShapeType;\n(function (ParticleEmitterShapeType) {\n /**\n * 没有类型\n */\n ParticleEmitterShapeType[ParticleEmitterShapeType[\"NONE\"] = 0] = \"NONE\";\n /**\n * 圆球\n */\n ParticleEmitterShapeType[ParticleEmitterShapeType[\"SPHERE\"] = 1] = \"SPHERE\";\n /**\n * 圆锥\n */\n ParticleEmitterShapeType[ParticleEmitterShapeType[\"CONE\"] = 2] = \"CONE\";\n /**\n * 半球\n */\n ParticleEmitterShapeType[ParticleEmitterShapeType[\"HEMISPHERE\"] = 3] = \"HEMISPHERE\";\n /**\n * 圆\n */\n ParticleEmitterShapeType[ParticleEmitterShapeType[\"CIRCLE\"] = 4] = \"CIRCLE\";\n /**\n * 圆环\n */\n ParticleEmitterShapeType[ParticleEmitterShapeType[\"DONUT\"] = 5] = \"DONUT\";\n /**\n * 矩形\n */\n ParticleEmitterShapeType[ParticleEmitterShapeType[\"RECTANGLE\"] = 6] = \"RECTANGLE\";\n /**\n * 矩形框\n */\n ParticleEmitterShapeType[ParticleEmitterShapeType[\"RECTANGLE_EDGE\"] = 7] = \"RECTANGLE_EDGE\";\n /**\n * 直线\n */\n ParticleEmitterShapeType[ParticleEmitterShapeType[\"EDGE\"] = 8] = \"EDGE\";\n /**\n * 贴图\n */\n ParticleEmitterShapeType[ParticleEmitterShapeType[\"TEXTURE\"] = 9] = \"TEXTURE\";\n})(ParticleEmitterShapeType || (ParticleEmitterShapeType = {}));\n/**\n * 插件类型\n */\nexport var PluginType;\n(function (PluginType) {\n /**\n * 陀螺仪\n */\n PluginType[PluginType[\"GYROSCOPE\"] = 0] = \"GYROSCOPE\";\n /**\n * Spine\n */\n PluginType[PluginType[\"SPINE\"] = 1] = \"SPINE\";\n})(PluginType || (PluginType = {}));\n/**\n * 交互类型\n */\nexport var InteractType;\n(function (InteractType) {\n /**\n * 点击\n */\n InteractType[InteractType[\"CLICK\"] = 0] = \"CLICK\";\n /**\n * 消息\n * 前端收到 onMessageItem 回调\n */\n InteractType[InteractType[\"MESSAGE\"] = 1] = \"MESSAGE\";\n /**\n * 拖拽\n */\n InteractType[InteractType[\"DRAG\"] = 2] = \"DRAG\";\n})(InteractType || (InteractType = {}));\n/**\n * 交互行为\n */\nexport var InteractBehavior;\n(function (InteractBehavior) {\n /**\n * 无\n */\n InteractBehavior[InteractBehavior[\"NONE\"] = 0] = \"NONE\";\n /**\n * 通知\n */\n InteractBehavior[InteractBehavior[\"NOTIFY\"] = 1] = \"NOTIFY\";\n /**\n * 重置播放器\n */\n InteractBehavior[InteractBehavior[\"RESUME_PLAYER\"] = 2] = \"RESUME_PLAYER\";\n /**\n * 清除元素\n */\n InteractBehavior[InteractBehavior[\"REMOVE\"] = 3] = \"REMOVE\";\n /**\n * 暂停播放器\n */\n InteractBehavior[InteractBehavior[\"PAUSE\"] = 4] = \"PAUSE\";\n})(InteractBehavior || (InteractBehavior = {}));\n/**\n * 元素类型\n */\nexport var ItemType;\n(function (ItemType) {\n /**\n * 错误元素\n */\n ItemType[\"base\"] = \"0\";\n /**\n * 图层元素\n */\n ItemType[\"sprite\"] = \"1\";\n /**\n * 粒子元素\n */\n ItemType[\"particle\"] = \"2\";\n /**\n * 空节点元素\n */\n ItemType[\"null\"] = \"3\";\n /**\n * 交互元素\n */\n ItemType[\"interact\"] = \"4\";\n /**\n * 插件元素\n */\n ItemType[\"plugin\"] = \"5\";\n /**\n * 相机元素\n */\n ItemType[\"camera\"] = \"6\";\n /**\n * 预合成元素\n */\n ItemType[\"composition\"] = \"7\";\n /**\n * Spine 元素\n */\n ItemType[\"spine\"] = \"spine\";\n /**\n * Mesh 元素\n */\n ItemType[\"mesh\"] = \"mesh\";\n /**\n * 节点树元素\n */\n ItemType[\"tree\"] = \"tree\";\n /**\n * 文本元素\n */\n ItemType[\"text\"] = \"text\";\n /**\n * 灯光元素\n */\n ItemType[\"light\"] = \"light\";\n /**\n * 天空盒元素\n */\n ItemType[\"skybox\"] = \"skybox\";\n /**\n * 特效元素\n */\n ItemType[\"effect\"] = \"effect\";\n /**\n * 形状元素\n */\n ItemType[\"shape\"] = \"shape\";\n /**\n * 后处理元素\n */\n ItemType[\"postProcessVolume\"] = \"postProcessVolume\";\n /**\n * 节点元素\n */\n ItemType[\"node\"] = \"node\";\n /**\n * 视频元素\n */\n ItemType[\"video\"] = \"video\";\n /**\n * 音频元素\n */\n ItemType[\"audio\"] = \"audio\";\n /**\n * 富文本元素\n */\n ItemType[\"richtext\"] = \"richtext\";\n})(ItemType || (ItemType = {}));\n/**\n * 渲染模式\n */\nexport var RenderMode;\n(function (RenderMode) {\n /**\n * 广告牌模式\n */\n RenderMode[RenderMode[\"BILLBOARD\"] = 0] = \"BILLBOARD\";\n /**\n * 网格模式\n */\n RenderMode[RenderMode[\"MESH\"] = 1] = \"MESH\";\n /**\n * 垂直广告牌模式\n */\n RenderMode[RenderMode[\"VERTICAL_BILLBOARD\"] = 2] = \"VERTICAL_BILLBOARD\";\n /**\n * 水平广告牌模式\n */\n RenderMode[RenderMode[\"HORIZONTAL_BILLBOARD\"] = 3] = \"HORIZONTAL_BILLBOARD\";\n})(RenderMode || (RenderMode = {}));\n/**\n * 变换中心\n */\nexport var ParticleOrigin;\n(function (ParticleOrigin) {\n /**\n * 水平和垂直中点\n */\n ParticleOrigin[ParticleOrigin[\"PARTICLE_ORIGIN_CENTER\"] = 0] = \"PARTICLE_ORIGIN_CENTER\";\n /**\n * 水平左侧 垂直顶部\n */\n ParticleOrigin[ParticleOrigin[\"PARTICLE_ORIGIN_LEFT_TOP\"] = 1] = \"PARTICLE_ORIGIN_LEFT_TOP\";\n /**\n * 水平左侧 垂直中间\n */\n ParticleOrigin[ParticleOrigin[\"PARTICLE_ORIGIN_LEFT_CENTER\"] = 2] = \"PARTICLE_ORIGIN_LEFT_CENTER\";\n /**\n * 水平左侧 垂直底部\n */\n ParticleOrigin[ParticleOrigin[\"PARTICLE_ORIGIN_LEFT_BOTTOM\"] = 3] = \"PARTICLE_ORIGIN_LEFT_BOTTOM\";\n /**\n * 水平中间 垂直顶部\n */\n ParticleOrigin[ParticleOrigin[\"PARTICLE_ORIGIN_CENTER_TOP\"] = 4] = \"PARTICLE_ORIGIN_CENTER_TOP\";\n /**\n * 水平中间 垂直底部\n */\n ParticleOrigin[ParticleOrigin[\"PARTICLE_ORIGIN_CENTER_BOTTOM\"] = 5] = \"PARTICLE_ORIGIN_CENTER_BOTTOM\";\n /**\n * 水平右侧 垂直顶部\n */\n ParticleOrigin[ParticleOrigin[\"PARTICLE_ORIGIN_RIGHT_TOP\"] = 6] = \"PARTICLE_ORIGIN_RIGHT_TOP\";\n /**\n * 水平右侧 垂直中间\n */\n ParticleOrigin[ParticleOrigin[\"PARTICLE_ORIGIN_RIGHT_CENTER\"] = 7] = \"PARTICLE_ORIGIN_RIGHT_CENTER\";\n /**\n * 水平右侧 垂直底部\n */\n ParticleOrigin[ParticleOrigin[\"PARTICLE_ORIGIN_RIGHT_BOTTOM\"] = 8] = \"PARTICLE_ORIGIN_RIGHT_BOTTOM\";\n})(ParticleOrigin || (ParticleOrigin = {}));\nexport var RenderType;\n(function (RenderType) {\n RenderType[\"Opaque\"] = \"Opaque\";\n RenderType[\"Transparent\"] = \"Transparent\";\n})(RenderType || (RenderType = {}));\nexport var RenderFace;\n(function (RenderFace) {\n RenderFace[\"Both\"] = \"Both\";\n RenderFace[\"Back\"] = \"Back\";\n RenderFace[\"Front\"] = \"Front\";\n})(RenderFace || (RenderFace = {}));\n","/**\n * 销毁\n */\nexport const END_BEHAVIOR_DESTROY = 0;\n/**\n * 暂停\n * @deprecated since 2.0 - use `END_BEHAVIOR_FREEZE` instead\n */\nexport const END_BEHAVIOR_PAUSE = 1;\n/**\n * 无限播放\n */\nexport const END_BEHAVIOR_FORWARD = 2;\n/**\n * 销毁并保留最后一帧\n * @deprecated since 2.0\n */\nexport const END_BEHAVIOR_PAUSE_AND_DESTROY = 3;\n/**\n * 冻结\n */\nexport const END_BEHAVIOR_FREEZE = 4;\n/**\n * 重播\n */\nexport const END_BEHAVIOR_RESTART = 5;\n/**\n *\n */\nexport const END_BEHAVIOR_DESTROY_CHILDREN = 6;\nexport const CAMERA_CLIP_MODE_VERTICAL = 1;\nexport const CAMERA_CLIP_MODE_NORMAL = 0;\n/**\n * 消息开始\n */\nexport const MESSAGE_ITEM_PHRASE_BEGIN = 2;\n/**\n * 消息结束\n */\nexport const MESSAGE_ITEM_PHRASE_END = 1;\n","import { CAMERA_CLIP_MODE_NORMAL, CAMERA_CLIP_MODE_VERTICAL } from './constants';\nexport var CameraClipMode;\n(function (CameraClipMode) {\n /**\n * 剪裁上下\n */\n CameraClipMode[CameraClipMode[\"portrait\"] = 1] = \"portrait\";\n /**\n * 剪裁左右\n */\n CameraClipMode[CameraClipMode[\"landscape\"] = 0] = \"landscape\";\n})(CameraClipMode || (CameraClipMode = {}));\n","/*********************************************/\n/* 基本数值属性参数 */\n/*********************************************/\nexport var ValueType;\n(function (ValueType) {\n /**\n * 常数\n */\n ValueType[ValueType[\"CONSTANT\"] = 0] = \"CONSTANT\";\n /**\n * 二维常数向量\n */\n ValueType[ValueType[\"CONSTANT_VEC2\"] = 1] = \"CONSTANT_VEC2\";\n /**\n * 三维常数向量\n */\n ValueType[ValueType[\"CONSTANT_VEC3\"] = 2] = \"CONSTANT_VEC3\";\n /**\n * 四维常数向量\n */\n ValueType[ValueType[\"CONSTANT_VEC4\"] = 3] = \"CONSTANT_VEC4\";\n /**\n * 随机数\n */\n ValueType[ValueType[\"RANDOM\"] = 4] = \"RANDOM\";\n /**\n * 直线\n */\n ValueType[ValueType[\"LINE\"] = 5] = \"LINE\";\n /**\n * 曲线(Hermite 曲线)\n * @deprecated 使用 BEZIER_CURVE 替代,此类型仅用于旧数据迁移兼容\n */\n ValueType[ValueType[\"CURVE\"] = 6] = \"CURVE\";\n /**\n * 贝塞尔路径\n * @deprecated 使用 BEZIER_CURVE_PATH 替代,此类型仅用于旧数据迁移兼容\n */\n ValueType[ValueType[\"BEZIER_PATH\"] = 7] = \"BEZIER_PATH\";\n /**\n * 颜色\n */\n ValueType[ValueType[\"RGBA_COLOR\"] = 8] = \"RGBA_COLOR\";\n /**\n * 渐变色\n */\n ValueType[ValueType[\"GRADIENT_COLOR\"] = 9] = \"GRADIENT_COLOR\";\n /**\n * 蒙版形状点集\n */\n ValueType[ValueType[\"SHAPE_POINTS\"] = 10] = \"SHAPE_POINTS\";\n /**\n * 蒙版形状切分\n */\n ValueType[ValueType[\"SHAPE_SPLITS\"] = 11] = \"SHAPE_SPLITS\";\n /**\n * 直线路径\n */\n ValueType[ValueType[\"LINEAR_PATH\"] = 12] = \"LINEAR_PATH\";\n /**\n * 多色\n */\n ValueType[ValueType[\"COLORS\"] = 13] = \"COLORS\";\n /**\n * 二进制指针\n */\n ValueType[ValueType[\"BINARY\"] = 20] = \"BINARY\";\n /**\n * 贝塞尔曲线\n */\n ValueType[ValueType[\"BEZIER_CURVE\"] = 21] = \"BEZIER_CURVE\";\n /**\n * 贝塞尔曲线路径\n */\n ValueType[ValueType[\"BEZIER_CURVE_PATH\"] = 22] = \"BEZIER_CURVE_PATH\";\n /**\n * 贝塞尔曲线四元数\n */\n ValueType[ValueType[\"BEZIER_CURVE_QUAT\"] = 23] = \"BEZIER_CURVE_QUAT\";\n /**\n * 颜色曲线\n */\n ValueType[ValueType[\"COLOR_CURVE\"] = 24] = \"COLOR_CURVE\";\n /**\n * Vector4 曲线\n */\n ValueType[ValueType[\"VECTOR4_CURVE\"] = 25] = \"VECTOR4_CURVE\";\n /**\n * Vector2 曲线\n */\n ValueType[ValueType[\"VECTOR2_CURVE\"] = 26] = \"VECTOR2_CURVE\";\n /**\n * Vector3 曲线\n */\n ValueType[ValueType[\"VECTOR3_CURVE\"] = 27] = \"VECTOR3_CURVE\";\n})(ValueType || (ValueType = {}));\n/**\n * 关键帧类型\n */\nexport var BezierKeyframeType;\n(function (BezierKeyframeType) {\n BezierKeyframeType[BezierKeyframeType[\"AUTO\"] = 0] = \"AUTO\";\n BezierKeyframeType[BezierKeyframeType[\"EASE\"] = 1] = \"EASE\";\n BezierKeyframeType[BezierKeyframeType[\"EASE_IN\"] = 2] = \"EASE_IN\";\n BezierKeyframeType[BezierKeyframeType[\"EASE_OUT\"] = 3] = \"EASE_OUT\";\n BezierKeyframeType[BezierKeyframeType[\"LINE\"] = 4] = \"LINE\";\n BezierKeyframeType[BezierKeyframeType[\"HOLD\"] = 5] = \"HOLD\";\n BezierKeyframeType[BezierKeyframeType[\"LINE_OUT\"] = 6] = \"LINE_OUT\";\n})(BezierKeyframeType || (BezierKeyframeType = {}));\n","import { END_BEHAVIOR_DESTROY, END_BEHAVIOR_FORWARD, END_BEHAVIOR_FREEZE, END_BEHAVIOR_RESTART, } from '../constants';\n/**\n * 结束行为\n */\nexport var EndBehavior;\n(function (EndBehavior) {\n /**\n * 销毁\n */\n EndBehavior[EndBehavior[\"destroy\"] = 0] = \"destroy\";\n /**\n * 重播\n */\n EndBehavior[EndBehavior[\"restart\"] = 5] = \"restart\";\n /**\n * 无限播放\n */\n EndBehavior[EndBehavior[\"forward\"] = 2] = \"forward\";\n /**\n * 冻结\n */\n EndBehavior[EndBehavior[\"freeze\"] = 4] = \"freeze\";\n})(EndBehavior || (EndBehavior = {}));\n","/**\n * 粒子交互行为\n */\nexport var ParticleInteractionBehavior;\n(function (ParticleInteractionBehavior) {\n /**\n * 无\n */\n ParticleInteractionBehavior[ParticleInteractionBehavior[\"none\"] = 0] = \"none\";\n /**\n * 移出粒子\n */\n ParticleInteractionBehavior[ParticleInteractionBehavior[\"removeParticle\"] = 1] = \"removeParticle\";\n})(ParticleInteractionBehavior || (ParticleInteractionBehavior = {}));\n","export var ShapeArcMode;\n(function (ShapeArcMode) {\n /**\n * 随机\n */\n ShapeArcMode[ShapeArcMode[\"RANDOM\"] = 0] = \"RANDOM\";\n /**\n * 单向循环\n */\n ShapeArcMode[ShapeArcMode[\"UNIDIRECTIONAL_CYCLE\"] = 1] = \"UNIDIRECTIONAL_CYCLE\";\n /**\n * 双向循环\n */\n ShapeArcMode[ShapeArcMode[\"BIDIRECTIONAL_CYCLE\"] = 2] = \"BIDIRECTIONAL_CYCLE\";\n /**\n * 均匀爆发\n */\n ShapeArcMode[ShapeArcMode[\"UNIFORM_BURST\"] = 3] = \"UNIFORM_BURST\";\n})(ShapeArcMode || (ShapeArcMode = {}));\n","export var LightType;\n(function (LightType) {\n /**\n * 点光源\n */\n LightType[\"point\"] = \"point\";\n /**\n * 聚光灯\n */\n LightType[\"spot\"] = \"spot\";\n /**\n * 方向光\n */\n LightType[\"directional\"] = \"directional\";\n /**\n * 环境光\n */\n LightType[\"ambient\"] = \"ambient\";\n})(LightType || (LightType = {}));\n","export var ModelBoundingType;\n(function (ModelBoundingType) {\n ModelBoundingType[ModelBoundingType[\"box\"] = 2] = \"box\";\n ModelBoundingType[ModelBoundingType[\"sphere\"] = 3] = \"sphere\";\n})(ModelBoundingType || (ModelBoundingType = {}));\n","export var CameraType;\n(function (CameraType) {\n CameraType[\"orthographic\"] = \"orthographic\";\n CameraType[\"perspective\"] = \"perspective\";\n})(CameraType || (CameraType = {}));\n","// 材质类型\nexport var MaterialType;\n(function (MaterialType) {\n MaterialType[\"unlit\"] = \"unlit\";\n MaterialType[\"pbr\"] = \"pbr\";\n // 头发材质,在 pbr 材质基础上扩展\n MaterialType[\"hair\"] = \"hair\";\n})(MaterialType || (MaterialType = {}));\n// 混合模式\nexport var MaterialBlending;\n(function (MaterialBlending) {\n MaterialBlending[MaterialBlending[\"opaque\"] = 100] = \"opaque\";\n MaterialBlending[MaterialBlending[\"masked\"] = 101] = \"masked\";\n MaterialBlending[MaterialBlending[\"translucent\"] = 102] = \"translucent\";\n MaterialBlending[MaterialBlending[\"additive\"] = 103] = \"additive\";\n})(MaterialBlending || (MaterialBlending = {}));\n","/**\n * 3D渲染模式:将渲染过程中的中间结果输出,主要用于排查渲染效果问题,支持 pbr 和 unlit 材质\n */\nexport var RenderMode3D;\n(function (RenderMode3D) {\n /**\n * 正常渲染\n */\n RenderMode3D[\"none\"] = \"none\";\n /**\n * 纹理坐标\n */\n RenderMode3D[\"uv\"] = \"uv\";\n /**\n * 世界坐标法线\n */\n RenderMode3D[\"normal\"] = \"normal\";\n /**\n * 基础颜色\n */\n RenderMode3D[\"basecolor\"] = \"basecolor\";\n /**\n * 基础颜色 Alpha\n */\n RenderMode3D[\"alpha\"] = \"alpha\";\n /**\n * 金属度\n */\n RenderMode3D[\"metallic\"] = \"metallic\";\n /**\n * 粗超度\n */\n RenderMode3D[\"roughness\"] = \"roughness\";\n /**\n * 环境遮蔽\n */\n RenderMode3D[\"ao\"] = \"ao\";\n /**\n * 自发光\n */\n RenderMode3D[\"emissive\"] = \"emissive\";\n /**\n * 漫反射\n */\n RenderMode3D[\"diffuse\"] = \"diffuse\";\n})(RenderMode3D || (RenderMode3D = {}));\n","export var TextOverflow;\n(function (TextOverflow) {\n /**\n * visible 模式下,文本内容超出边界框时,会继续显示内容,不进行裁剪或缩放。\n */\n TextOverflow[TextOverflow[\"visible\"] = 0] = \"visible\";\n /**\n * display 模式下,会显示所有文本,文本字号大小会根据边界框调整。\n */\n TextOverflow[TextOverflow[\"display\"] = 1] = \"display\";\n /**\n * clip 模式下,当文本内容超出边界框时,多余的会被截断。\n */\n TextOverflow[TextOverflow[\"clip\"] = 2] = \"clip\";\n /**\n * ellipsis 模式下,会使用(...)来代替超出边界框的内容。\n */\n TextOverflow[TextOverflow[\"ellipsis\"] = 3] = \"ellipsis\";\n})(TextOverflow || (TextOverflow = {}));\nexport var TextSizeMode;\n(function (TextSizeMode) {\n /**\n * 自适应宽度\n */\n TextSizeMode[TextSizeMode[\"autoWidth\"] = 0] = \"autoWidth\";\n /**\n * 自适应高度\n */\n TextSizeMode[TextSizeMode[\"autoHeight\"] = 1] = \"autoHeight\";\n /**\n * 固定宽高\n */\n TextSizeMode[TextSizeMode[\"fixed\"] = 2] = \"fixed\";\n})(TextSizeMode || (TextSizeMode = {}));\nexport var TextBaseline;\n(function (TextBaseline) {\n /**\n * 文本顶对齐。\n */\n TextBaseline[TextBaseline[\"top\"] = 0] = \"top\";\n /**\n * 文本垂直居中对齐。\n */\n TextBaseline[TextBaseline[\"middle\"] = 1] = \"middle\";\n /**\n * 文本底对齐。\n */\n TextBaseline[TextBaseline[\"bottom\"] = 2] = \"bottom\";\n})(TextBaseline || (TextBaseline = {}));\nexport var TextAlignment;\n(function (TextAlignment) {\n /**\n * text alignment starts from(x,y) to right direction\n * 从 (x,y) 开始第一个字符,向右边延伸\n */\n TextAlignment[TextAlignment[\"left\"] = 0] = \"left\";\n /**\n * (x,y) is middle position of text, where (left + right)/2 =(x,y)\n * (x,y) 为文字中间位置,(最左位置 + 最右位置)/2 = (x,y)\n */\n TextAlignment[TextAlignment[\"middle\"] = 1] = \"middle\";\n /**\n * text alignment ends with(x,y) from left direction\n * 从 (x,y) 结束最后一个字符,向左边延伸\n */\n TextAlignment[TextAlignment[\"right\"] = 2] = \"right\";\n})(TextAlignment || (TextAlignment = {}));\nexport var TextVerticalAlign;\n(function (TextVerticalAlign) {\n /**\n * 文本顶对齐。\n */\n TextVerticalAlign[TextVerticalAlign[\"top\"] = 0] = \"top\";\n /**\n * 文本垂直居中对齐。\n */\n TextVerticalAlign[TextVerticalAlign[\"middle\"] = 1] = \"middle\";\n /**\n * 文本底对齐。\n */\n TextVerticalAlign[TextVerticalAlign[\"bottom\"] = 2] = \"bottom\";\n})(TextVerticalAlign || (TextVerticalAlign = {}));\n/**\n * 文本字重\n */\nexport var TextWeight;\n(function (TextWeight) {\n /**\n * 正常\n */\n TextWeight[\"normal\"] = \"normal\";\n /**\n * 粗体\n */\n TextWeight[\"bold\"] = \"bold\";\n /**\n * 瘦体\n */\n TextWeight[\"lighter\"] = \"lighter\";\n})(TextWeight || (TextWeight = {}));\n/**\n * 文本样式\n */\nexport var FontStyle;\n(function (FontStyle) {\n /**\n * 正常\n */\n FontStyle[\"normal\"] = \"normal\";\n /**\n * 斜体\n */\n FontStyle[\"italic\"] = \"italic\";\n /**\n * 倾斜体\n */\n FontStyle[\"oblique\"] = \"oblique\";\n})(FontStyle || (FontStyle = {}));\n","export const BuiltinObjectGUID = {\n WhiteTexture: 'whitetexture00000000000000000000',\n EmptyTexture: 'emptyTexture00000000000000000000',\n PBRShader: 'pbr00000000000000000000000000000',\n UnlitShader: 'unlit000000000000000000000000000',\n};\n","export var FillType;\n(function (FillType) {\n FillType[FillType[\"Solid\"] = 0] = \"Solid\";\n FillType[FillType[\"GradientLinear\"] = 1] = \"GradientLinear\";\n FillType[FillType[\"GradientRadial\"] = 2] = \"GradientRadial\";\n FillType[FillType[\"GradientAngular\"] = 3] = \"GradientAngular\";\n FillType[FillType[\"Texture\"] = 4] = \"Texture\";\n})(FillType || (FillType = {}));\nexport var TexturePaintScaleMode;\n(function (TexturePaintScaleMode) {\n TexturePaintScaleMode[TexturePaintScaleMode[\"Fill\"] = 0] = \"Fill\";\n TexturePaintScaleMode[TexturePaintScaleMode[\"Fit\"] = 1] = \"Fit\";\n TexturePaintScaleMode[TexturePaintScaleMode[\"Crop\"] = 2] = \"Crop\";\n TexturePaintScaleMode[TexturePaintScaleMode[\"Tile\"] = 3] = \"Tile\";\n})(TexturePaintScaleMode || (TexturePaintScaleMode = {}));\n","/**\n * 矢量图形类型\n */\nexport var ShapePrimitiveType;\n(function (ShapePrimitiveType) {\n /**\n * 自定义图形\n */\n ShapePrimitiveType[ShapePrimitiveType[\"Custom\"] = 0] = \"Custom\";\n /**\n * 矩形\n */\n ShapePrimitiveType[ShapePrimitiveType[\"Rectangle\"] = 1] = \"Rectangle\";\n /**\n * 椭圆\n */\n ShapePrimitiveType[ShapePrimitiveType[\"Ellipse\"] = 2] = \"Ellipse\";\n /**\n * 多边形\n */\n ShapePrimitiveType[ShapePrimitiveType[\"Polygon\"] = 3] = \"Polygon\";\n /**\n * 星形\n */\n ShapePrimitiveType[ShapePrimitiveType[\"Star\"] = 4] = \"Star\";\n})(ShapePrimitiveType || (ShapePrimitiveType = {}));\n","export var LineCap;\n(function (LineCap) {\n /** 默认值。向线条的每个末端添加平直的边缘 */\n LineCap[LineCap[\"Butt\"] = 0] = \"Butt\";\n /** 向线条的每个末端添加圆形线帽 */\n LineCap[LineCap[\"Round\"] = 1] = \"Round\";\n /** 向线条的每个末端添加正方形线帽 */\n LineCap[LineCap[\"Square\"] = 2] = \"Square\";\n})(LineCap || (LineCap = {}));\nexport var LineJoin;\n(function (LineJoin) {\n /** 创建圆角 */\n LineJoin[LineJoin[\"Round\"] = 0] = \"Round\";\n /** 创建斜角 */\n LineJoin[LineJoin[\"Bevel\"] = 1] = \"Bevel\";\n /** 创建尖角 */\n LineJoin[LineJoin[\"Miter\"] = 2] = \"Miter\";\n})(LineJoin || (LineJoin = {}));\n","export var NodeDataType;\n(function (NodeDataType) {\n NodeDataType[\"AnimationClipNodeData\"] = \"AnimationClipNodeData\";\n NodeDataType[\"BlendNodeData\"] = \"BlendNodeData\";\n NodeDataType[\"ApplyAdditiveNodeData\"] = \"ApplyAdditiveNodeData\";\n NodeDataType[\"LayerBlendNodeData\"] = \"LayerBlendNodeData\";\n NodeDataType[\"StateMachineNodeData\"] = \"StateMachineNodeData\";\n NodeDataType[\"TransitionNodeData\"] = \"TransitionNodeData\";\n NodeDataType[\"StateNodeData\"] = \"StateNodeData\";\n NodeDataType[\"ConstFloatNodeData\"] = \"ConstFloatNodeData\";\n NodeDataType[\"ConstBoolNodeData\"] = \"ConstBoolNodeData\";\n NodeDataType[\"ControlParameterBoolNodeData\"] = \"ControlParameterBoolNodeData\";\n NodeDataType[\"ControlParameterFloatNodeData\"] = \"ControlParameterFloatNodeData\";\n NodeDataType[\"ControlParameterTriggerNodeData\"] = \"ControlParameterTriggerNodeData\";\n NodeDataType[\"NotNodeData\"] = \"NotNodeData\";\n NodeDataType[\"AndNodeData\"] = \"AndNodeData\";\n NodeDataType[\"OrNodeData\"] = \"OrNodeData\";\n NodeDataType[\"EqualNodeData\"] = \"EqualNodeData\";\n NodeDataType[\"GreaterNodeData\"] = \"GreaterNodeData\";\n NodeDataType[\"LessNodeData\"] = \"LessNodeData\";\n})(NodeDataType || (NodeDataType = {}));\n","/**\n * 动态换图类型\n * @since 1.1.0\n */\nexport var BackgroundType;\n(function (BackgroundType) {\n BackgroundType[\"video\"] = \"video\";\n BackgroundType[\"image\"] = \"image\";\n})(BackgroundType || (BackgroundType = {}));\n/**\n * 多媒体资源类型\n * @since 2.1.0\n */\nexport var MultimediaType;\n(function (MultimediaType) {\n MultimediaType[\"video\"] = \"video\";\n MultimediaType[\"audio\"] = \"audio\";\n})(MultimediaType || (MultimediaType = {}));\nexport var HevcVideoCodec;\n(function (HevcVideoCodec) {\n HevcVideoCodec[\"L30\"] = \"hev1.1.0.L30.B0\";\n HevcVideoCodec[\"L60\"] = \"hev1.1.0.L60.B0\";\n HevcVideoCodec[\"L63\"] = \"hev1.1.0.L63.B0\";\n HevcVideoCodec[\"L90\"] = \"hev1.1.0.L90.B0\";\n HevcVideoCodec[\"L93\"] = \"hev1.1.0.L93.B0\";\n HevcVideoCodec[\"L120\"] = \"hev1.1.0.L120.B0\";\n HevcVideoCodec[\"L150\"] = \"hev1.1.0.L150.B0\";\n HevcVideoCodec[\"L180\"] = \"hev1.1.0.L180.B0\";\n})(HevcVideoCodec || (HevcVideoCodec = {}));\n","export var DataType;\n(function (DataType) {\n DataType[\"VFXItemData\"] = \"VFXItemData\";\n // Assets\n DataType[\"Material\"] = \"Material\";\n DataType[\"Shader\"] = \"Shader\";\n DataType[\"Geometry\"] = \"Geometry\";\n DataType[\"Texture\"] = \"Texture\";\n DataType[\"Image\"] = \"Image\";\n DataType[\"AnimationClip\"] = \"AnimationClip\";\n DataType[\"BinaryAsset\"] = \"BinaryAsset\";\n // Timeline\n DataType[\"TrackAsset\"] = \"TrackAsset\";\n DataType[\"TimelineAsset\"] = \"TimelineAsset\";\n DataType[\"ObjectBindingTrack\"] = \"ObjectBindingTrack\";\n DataType[\"TransformTrack\"] = \"TransformTrack\";\n DataType[\"SpriteColorTrack\"] = \"SpriteColorTrack\";\n DataType[\"ActivationTrack\"] = \"ActivationTrack\";\n DataType[\"SubCompositionTrack\"] = \"SubCompositionTrack\";\n DataType[\"FloatPropertyTrack\"] = \"FloatPropertyTrack\";\n DataType[\"ColorPropertyTrack\"] = \"ColorPropertyTrack\";\n DataType[\"Vector2PropertyTrack\"] = \"Vector2PropertyTrack\";\n DataType[\"Vector3PropertyTrack\"] = \"Vector3PropertyTrack\";\n DataType[\"Vector4PropertyTrack\"] = \"Vector4PropertyTrack\";\n DataType[\"TransformPlayableAsset\"] = \"TransformPlayableAsset\";\n DataType[\"SpriteColorPlayableAsset\"] = \"SpriteColorPlayableAsset\";\n DataType[\"ActivationPlayableAsset\"] = \"ActivationPlayableAsset\";\n DataType[\"SubCompositionPlayableAsset\"] = \"SubCompositionPlayableAsset\";\n DataType[\"FloatPropertyPlayableAsset\"] = \"FloatPropertyPlayableAsset\";\n DataType[\"ColorPropertyPlayableAsset\"] = \"ColorPropertyPlayableAsset\";\n DataType[\"Vector2PropertyPlayableAsset\"] = \"Vector2PropertyPlayableAsset\";\n DataType[\"Vector3PropertyPlayableAsset\"] = \"Vector3PropertyPlayableAsset\";\n DataType[\"Vector4PropertyPlayableAsset\"] = \"Vector4PropertyPlayableAsset\";\n // Components\n DataType[\"MeshComponent\"] = \"MeshComponent\";\n DataType[\"SkyboxComponent\"] = \"SkyboxComponent\";\n DataType[\"LightComponent\"] = \"LightComponent\";\n DataType[\"CameraComponent\"] = \"CameraComponent\";\n DataType[\"ModelPluginComponent\"] = \"ModelPluginComponent\";\n DataType[\"TreeComponent\"] = \"TreeComponent\";\n DataType[\"AnimationComponent\"] = \"AnimationComponent\";\n DataType[\"SpineComponent\"] = \"SpineComponent\";\n DataType[\"VideoComponent\"] = \"VideoComponent\";\n DataType[\"AudioComponent\"] = \"AudioComponent\";\n DataType[\"RichTextComponent\"] = \"RichTextComponent\";\n DataType[\"OrientationComponent\"] = \"OrientationComponent\";\n DataType[\"ShapeComponent\"] = \"ShapeComponent\";\n DataType[\"SpriteComponent\"] = \"SpriteComponent\";\n DataType[\"ParticleSystem\"] = \"ParticleSystem\";\n DataType[\"InteractComponent\"] = \"InteractComponent\";\n DataType[\"CameraController\"] = \"CameraController\";\n DataType[\"PostProcessVolume\"] = \"PostProcessVolume\";\n DataType[\"EffectComponent\"] = \"EffectComponent\";\n DataType[\"TextComponent\"] = \"TextComponent\";\n DataType[\"AnimationGraphAsset\"] = \"AnimationGraphAsset\";\n DataType[\"CompositionComponent\"] = \"CompositionComponent\";\n DataType[\"FFDComponent\"] = \"FFDComponent\";\n DataType[\"FrameComponent\"] = \"FrameComponent\";\n DataType[\"Animator\"] = \"Animator\";\n // Non-EffectObject\n DataType[\"TimelineClip\"] = \"TimelineClip\";\n})(DataType || (DataType = {}));\n","export var GeometryType;\n(function (GeometryType) {\n /**\n * Draw single points.\n */\n GeometryType[GeometryType[\"POINTS\"] = 0] = \"POINTS\";\n /**\n * Draw lines. Each vertex connects to the one after it.\n */\n GeometryType[GeometryType[\"LINES\"] = 1] = \"LINES\";\n /**\n * Draw lines. Each set of two vertices is treated as a separate line segment.\n */\n GeometryType[GeometryType[\"LINE_LOOP\"] = 2] = \"LINE_LOOP\";\n /**\n * Draw a connected group of line segments from the first vertex to the last.\n */\n GeometryType[GeometryType[\"LINE_STRIP\"] = 3] = \"LINE_STRIP\";\n /**\n * Draw triangles. Each set of three vertices creates a separate triangle.\n */\n GeometryType[GeometryType[\"TRIANGLES\"] = 4] = \"TRIANGLES\";\n /**\n * Draw a connected strip of triangles.\n */\n GeometryType[GeometryType[\"TRIANGLE_STRIP\"] = 5] = \"TRIANGLE_STRIP\";\n /**\n * Draw a connected group of triangles. Each vertex connects to the previous and the first vertex in the fan.\n */\n GeometryType[GeometryType[\"TRIANGLE_FAN\"] = 6] = \"TRIANGLE_FAN\";\n})(GeometryType || (GeometryType = {}));\nexport var VertexFormatType;\n(function (VertexFormatType) {\n VertexFormatType[VertexFormatType[\"Float16\"] = 0] = \"Float16\";\n VertexFormatType[VertexFormatType[\"Float32\"] = 1] = \"Float32\";\n VertexFormatType[VertexFormatType[\"Int8\"] = 2] = \"Int8\";\n VertexFormatType[VertexFormatType[\"Int16\"] = 3] = \"Int16\";\n VertexFormatType[VertexFormatType[\"Int32\"] = 4] = \"Int32\";\n VertexFormatType[VertexFormatType[\"UInt8\"] = 5] = \"UInt8\";\n VertexFormatType[VertexFormatType[\"UInt16\"] = 6] = \"UInt16\";\n VertexFormatType[VertexFormatType[\"UInt32\"] = 7] = \"UInt32\";\n})(VertexFormatType || (VertexFormatType = {}));\nexport var IndexFormatType;\n(function (IndexFormatType) {\n IndexFormatType[IndexFormatType[\"None\"] = -1] = \"None\";\n IndexFormatType[IndexFormatType[\"UInt8\"] = 0] = \"UInt8\";\n IndexFormatType[IndexFormatType[\"UInt16\"] = 1] = \"UInt16\";\n IndexFormatType[IndexFormatType[\"UInt32\"] = 2] = \"UInt32\";\n})(IndexFormatType || (IndexFormatType = {}));\n// BINORMAL[n]\tBinormal\tfloat4\n// BLENDINDICES[n]\t混合索引\tuint\n// BLENDWEIGHT[n]\t混合权重\tFLOAT\n// COLOR[n]\t漫射和反射颜色\tfloat4\n// NORMAL[n]\t法向矢量\tfloat4\n// POSITION[n]\t对象空间中的顶点位置。\tfloat4\n// POSITIONT\t变换的顶点位置。\tfloat4\n// PSIZE[n]\t点大小\tFLOAT\n// TANGENT[n]\t正切\tfloat4\n// TEXCOORD[n]\t纹理坐标\tfloat4\n// POSITION_BS[n]\tBlend Shape 空间中的顶点位置\tfloat4\n// NORMAL_BS[n]\tBlend Shape 空间中的法向矢量\tfloat4\n// TANGENT_BS[n]\tBlend Shape 空间中的正切矢量\tfloat4\nexport var VertexBufferSemantic;\n(function (VertexBufferSemantic) {\n VertexBufferSemantic[\"Position\"] = \"POSITION\";\n VertexBufferSemantic[\"Uv\"] = \"TEXCOORD0\";\n VertexBufferSemantic[\"Uv2\"] = \"TEXCOORD1\";\n VertexBufferSemantic[\"Normal\"] = \"NORMAL\";\n VertexBufferSemantic[\"Tangent\"] = \"TANGENT\";\n VertexBufferSemantic[\"Color\"] = \"COLOR\";\n VertexBufferSemantic[\"Joints\"] = \"JOINTS\";\n VertexBufferSemantic[\"Weights\"] = \"WEIGHTS\";\n //\n VertexBufferSemantic[\"PositionBS0\"] = \"POSITION_BS0\";\n VertexBufferSemantic[\"PositionBS1\"] = \"POSITION_BS1\";\n VertexBufferSemantic[\"PositionBS2\"] = \"POSITION_BS2\";\n VertexBufferSemantic[\"PositionBS3\"] = \"POSITION_BS3\";\n VertexBufferSemantic[\"PositionBS4\"] = \"POSITION_BS4\";\n VertexBufferSemantic[\"PositionBS5\"] = \"POSITION_BS5\";\n VertexBufferSemantic[\"PositionBS6\"] = \"POSITION_BS6\";\n VertexBufferSemantic[\"PositionBS7\"] = \"POSITION_BS7\";\n VertexBufferSemantic[\"NormalBS0\"] = \"NORMAL_BS0\";\n VertexBufferSemantic[\"NormalBS1\"] = \"NORMAL_BS1\";\n VertexBufferSemantic[\"NormalBS2\"] = \"NORMAL_BS2\";\n VertexBufferSemantic[\"NormalBS3\"] = \"NORMAL_BS3\";\n VertexBufferSemantic[\"TangentBS0\"] = \"TANGENT_BS0\";\n VertexBufferSemantic[\"TangentBS1\"] = \"TANGENT_BS1\";\n VertexBufferSemantic[\"TangentBS2\"] = \"TANGENT_BS2\";\n VertexBufferSemantic[\"TangentBS3\"] = \"TANGENT_BS3\";\n})(VertexBufferSemantic || (VertexBufferSemantic = {}));\n","import { JSONSceneVersion } from './scene';\nexport * from './type';\nexport * from './composition';\nexport * from './texture';\nexport * from './constants';\nexport * from './number-expression';\nexport * from './scene';\nexport * from './math';\nexport * from './item';\nexport * from './item/base-item';\nexport * from './item/camera-item';\nexport * from './item/composition-item';\nexport * from './item/interact-item';\nexport * from './item/null-item';\nexport * from './item/particle-item';\nexport * from './item/particle-shape';\nexport * from './item/plugin-item';\nexport * from './item/sprite-item';\nexport * from './item/spine-item';\nexport * from './item/effect-item';\nexport * from './item/text-item';\nexport * from './item/rich-text-item';\nexport * from './item/video-item';\nexport * from './item/audio-item';\nexport * from './item/model';\nexport * from './vfx-item-data';\nexport * from './animation';\nexport * from './binary';\nexport * from './text';\nexport * from './components';\nexport * from './buitin-object-guid';\nexport * from './shape';\nexport * from './animation-graph';\nexport * from './timeline';\nexport * from './assets';\nexport * from './render-settings';\nexport * from './curve-data';\nexport * from './data-type';\nexport * from './effects-object-data';\nexport * from './material-data';\nexport * from './geometry-data';\nexport * from './shader-data';\nexport * from './effects-package-data';\nexport const LATEST_VERSION = JSONSceneVersion.LATEST;\n","function _extends() {\n _extends = Object.assign || function assign(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) if (Object.prototype.hasOwnProperty.call(source, key)) target[key] = source[key];\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\nexport { _extends as _ };\n","function _array_like_to_array(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n\n return arr2;\n}\nexport { _array_like_to_array as _ };\n","import { _ as _array_like_to_array } from \"./_array_like_to_array.js\";\n\nfunction _unsupported_iterable_to_array(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _array_like_to_array(o, minLen);\n\n var n = Object.prototype.toString.call(o).slice(8, -1);\n\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(n);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array(o, minLen);\n}\nexport { _unsupported_iterable_to_array as _ };\n","import { _ as _unsupported_iterable_to_array } from \"./_unsupported_iterable_to_array.js\";\n\nfunction _create_for_of_iterator_helper_loose(o, allowArrayLike) {\n var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"];\n\n if (it) return (it = it.call(o)).next.bind(it);\n // Fallback for engines without symbol support\n if (Array.isArray(o) || (it = _unsupported_iterable_to_array(o)) || allowArrayLike && o && typeof o.length === \"number\") {\n if (it) o = it;\n\n var i = 0;\n\n return function() {\n if (i >= o.length) return { done: true };\n\n return { done: false, value: o[i++] };\n };\n }\n\n throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nexport { _create_for_of_iterator_helper_loose as _ };\n","/**\n * 从 GLSL fragment shader 源码中解析 uniform 声明\n */\nimport type { ParsedUniform, UniformType } from './types';\n\nconst SUPPORTED_TYPES: Set<string> = new Set([\n 'float', 'vec2', 'vec3', 'vec4', 'int', 'sampler2D',\n]);\n\n/**\n * 匹配 uniform 声明,支持行尾 // 注释\n * 示例:\n * uniform float uTime; // 时间\n * uniform vec4 uColor;\n */\nconst UNIFORM_REGEX = /^\\s*uniform\\s+(float|vec2|vec3|vec4|int|sampler2D)\\s+(\\w+)\\s*;(?:\\s*\\/\\/\\s*(.*))?/gm;\n\n/**\n * 从 fragment shader 源码中提取所有 uniform 声明\n */\nexport function parseUniforms (source: string): ParsedUniform[] {\n const results: ParsedUniform[] = [];\n const seen = new Set<string>();\n\n let match: RegExpExecArray | null;\n\n // 重置 lastIndex 以防复用\n UNIFORM_REGEX.lastIndex = 0;\n\n while ((match = UNIFORM_REGEX.exec(source)) !== null) {\n const [, typeStr, name, comment] = match;\n\n if (!SUPPORTED_TYPES.has(typeStr)) {\n continue;\n }\n\n // 跳过重复声明\n if (seen.has(name)) {\n continue;\n }\n seen.add(name);\n\n results.push({\n name,\n type: typeStr as UniformType,\n ...(comment?.trim() ? { comment: comment.trim() } : {}),\n });\n }\n\n return results;\n}\n","/**\n * 固定模板:vertex shader 和全屏 Quad 几何体数据\n */\n\n/**\n * 全屏四边形的固定 vertex shader\n * 传递 Position 和 UV 给 fragment shader\n */\n/**\n * GE EffectComponent 每帧自动设置 _Time (vec4):\n * _Time = vec4(time/20, time, time*2, time*3)\n * 其中 _Time.y 就是经过的秒数。\n *\n * 通过 varying vTime 传递给 fragment shader,\n * convert 阶段会在用户的 fragment shader 头部注入:\n * float uTime = vTime;\n * 从而让用户直接使用 uTime 驱动动画。\n */\nexport const DEFAULT_VERTEX_SHADER = `\nprecision highp float;\nattribute vec3 aPos;\nattribute vec2 aUV;\nuniform vec4 _Time;\nvarying vec2 vUV;\nvarying float vTime;\n\nvoid main () {\n vUV = aUV;\n vTime = _Time.y;\n gl_Position = vec4(aPos, 1.0);\n}\n`.trim();\n\n/**\n * Shadertoy 兼容的 vertex shader\n *\n * 在标准 vertex shader 基础上增加:\n * - uniform vec3 iResolution:视口分辨率,由 previewSize 填充\n * 直接 pass-through 给 fragment shader(flat varying 不可用于 ES1.0,\n * 因此在 fragment shader 中声明为 uniform,vertex shader 也需声明)\n *\n * 注:iResolution 由 convert 层自动添加到 material 的 vector4s 中\n */\nexport const SHADERTOY_VERTEX_SHADER = `\nprecision highp float;\nattribute vec3 aPos;\nattribute vec2 aUV;\nuniform vec4 _Time;\nvarying vec2 vUV;\nvarying float vTime;\n\nvoid main () {\n vUV = aUV;\n vTime = _Time.y;\n gl_Position = vec4(aPos, 1.0);\n}\n`.trim();\n\n/**\n * 示例 fragment shader(渐变色),用于调试和兜底\n */\nexport const FALLBACK_FRAGMENT_SHADER = `\nprecision highp float;\nvarying vec2 vUV;\nuniform float uTime;\n\nvoid main () {\n vec3 color = 0.5 + 0.5 * cos(uTime + vUV.xyx + vec3(0.0, 2.0, 4.0));\n gl_FragColor = vec4(color, 1.0);\n}\n`.trim();\n\n/**\n * 全屏 Quad 的顶点数据(NDC 空间 -1~1,2个三角形组成矩形)\n *\n * 分离布局(GE Runtime 按连续块读取每个 channel):\n * [Position x 4] [UV x 4] [Indices]\n *\n * 字节布局:\n * Position: 4 vertices * 3 floats * 4 bytes = 48 bytes (offset 0)\n * UV: 4 vertices * 2 floats * 4 bytes = 32 bytes (offset 48)\n * Indices: 6 indices * 2 bytes = 12 bytes (offset 80)\n */\nexport const QUAD_POSITIONS = new Float32Array([\n -1, -1, 0,\n 1, -1, 0,\n 1, 1, 0,\n -1, 1, 0,\n]);\n\nexport const QUAD_UVS = new Float32Array([\n 0, 0,\n 1, 0,\n 1, 1,\n 0, 1,\n]);\n\nexport const QUAD_INDICES = new Uint16Array([0, 1, 2, 0, 2, 3]);\n\n/** Position 块字节大小 */\nexport const POSITION_BYTES = QUAD_POSITIONS.byteLength; // 48\n/** UV 块字节偏移(紧跟 Position 之后) */\nexport const UV_OFFSET = POSITION_BYTES; // 48\n/** Index 块字节偏移(紧跟 UV 之后) */\nexport const INDEX_OFFSET = POSITION_BYTES + QUAD_UVS.byteLength; // 80\n\n/**\n * 将 Quad 数据编码为纯 base64 字符串(用于 GeometryData.buffer)\n *\n * GE Runtime 的 decodeBase64ToArrays 直接对该字符串调用 atob,\n * 不会处理 data URI 前缀,因此此处只返回纯 base64。\n *\n * 内存布局:[Position(48B)] [UV(32B)] [Index(12B)] = 92 bytes\n */\nexport function encodeQuadBuffer (): string {\n const totalBytes = POSITION_BYTES + QUAD_UVS.byteLength + QUAD_INDICES.byteLength;\n const buffer = new ArrayBuffer(totalBytes);\n const view = new Uint8Array(buffer);\n\n view.set(new Uint8Array(QUAD_POSITIONS.buffer), 0);\n view.set(new Uint8Array(QUAD_UVS.buffer), UV_OFFSET);\n view.set(new Uint8Array(QUAD_INDICES.buffer), INDEX_OFFSET);\n\n const binaryString = Array.from(view, byte => String.fromCharCode(byte)).join('');\n\n return btoa(binaryString);\n}\n\n// ─── 默认纹理资源 ───\n\n/**\n * 1×1 白色 PNG(base64 data URI)\n *\n * 当 sampler2D uniform 未提供纹理时,使用此默认白色纹理,\n * 避免 shader 采样到黑色/无效区域。\n *\n * 这是一个合法的 1x1 像素 RGBA (255,255,255,255) PNG 文件。\n */\nexport const DEFAULT_WHITE_TEXTURE_URL = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mP8/5+hHgAHggJ/PchI7wAAAABJRU5ErkJggg==';\n\n/** GL 纹理参数常量 */\nexport const GL_TEXTURE_WRAP_REPEAT = 10497;\nexport const GL_TEXTURE_WRAP_CLAMP_TO_EDGE = 33071;\nexport const GL_TEXTURE_FILTER_LINEAR = 9729;\nexport const GL_TEXTURE_FILTER_NEAREST = 9728;\nexport const GL_TEXTURE_2D = 3553;\n","/**\n * shader2ge 输入解析阶段\n *\n * 负责所有不依赖外部 options 的 \"输入理解\" 工作:\n * - 空输入兜底\n * - Shadertoy 格式检测与桥接(mainImage → main、注入 vUV/vTime/iResolution/iChannel0~3)\n * - 基础结构校验(main()、gl_FragColor)\n * - uniform 提取\n * - uTime 自动桥接(uniform float uTime → varying float vTime)\n *\n * 输出 ParsedShader 中间表示,由 convert.ts 接力做选项应用与 scene 生成。\n */\nimport type { ParsedShader } from './types';\nimport { parseUniforms } from './parse-uniforms';\nimport { FALLBACK_FRAGMENT_SHADER } from './templates';\n\n/**\n * 将 fragment shader 源码解析为中间表示(IR)。\n *\n * 该函数与 ConvertOptions 完全无关——所有依赖外部参数的逻辑(uniformOverrides、\n * previewSize 注入、sampler2D 纹理告警等)由 {@link convert} 接力处理。\n *\n * 适用于不需要生成完整 JSONScene、只想检视 shader 结构的场景,例如:\n * - AI 生成 shader 后预检 warnings 决定是否重试\n * - UI 中展示 uniform 列表 / 是否 Shadertoy / 静态校验信息\n * - 测试或调试时单独验证桥接行为\n *\n * @param source - 原始 GLSL fragment shader 源码(GE 原生格式或 Shadertoy 格式皆可)\n * @returns 解析后的中间表示,包含桥接后的最终源码、uniform 列表、是否为 Shadertoy、警告列表\n */\nexport function parseShader (source: string): ParsedShader {\n const warnings: string[] = [];\n let fragment = source.trim();\n\n // 空 shader 兜底\n if (!fragment) {\n warnings.push('Empty fragment shader provided, using fallback gradient shader.');\n fragment = FALLBACK_FRAGMENT_SHADER;\n }\n\n // Shadertoy 兼容桥接(必须在基础校验之前,因为桥接会注入 main() 和 gl_FragColor)\n const isShadertoy = /void\\s+mainImage\\s*\\(\\s*out\\s+vec4/.test(fragment);\n\n if (isShadertoy) {\n fragment = bridgeShadertoy(fragment);\n }\n\n validateMainAndColorOutput(fragment, warnings);\n\n // 解析 uniform(对桥接后的源码解析,以获取正确的 uniform 列表)\n const uniforms = parseUniforms(fragment);\n\n // uTime 自动桥接:将用户的 `uniform float uTime` 替换为从 vertex shader 传入的 varying\n // GE EffectComponent 每帧自动设置 _Time (vec4),vertex shader 已将 _Time.y 传为 vTime\n const hasUTime = uniforms.some(u => u.name === 'uTime' && u.type === 'float');\n\n if (hasUTime) {\n fragment = bridgeUTime(fragment);\n // uTime 已由 GE _Time 驱动,从 uniform 列表中移除,避免写入 material floats\n const uTimeIndex = uniforms.findIndex(u => u.name === 'uTime');\n\n if (uTimeIndex !== -1) {\n uniforms.splice(uTimeIndex, 1);\n }\n }\n\n return { fragment, uniforms, isShadertoy, warnings };\n}\n\n/**\n * 将 Shadertoy 格式的 shader 转换为 GE 兼容格式\n *\n * 处理内容:\n * - 注入 precision、varying vUV、varying vTime 声明\n * - 桥接 iTime → vTime、iResolution → uniform vec4\n * - iChannel0~3 保留为 sampler2D uniform(由纹理系统处理)\n * - 将 mainImage(out vec4, in vec2) 包装为 void main()\n * - fragCoord 通过 vUV * iResolution.xy 推导\n */\nfunction bridgeShadertoy (source: string): string {\n // 移除用户可能写的 precision 声明,统一由桥接头注入\n let body = source.replace(/^\\s*precision\\s+\\w+\\s+float\\s*;\\s*$/gm, '');\n\n // 移除已有的 #version 声明(GE 不支持)\n body = body.replace(/^\\s*#version\\s+.*$/gm, '');\n\n // 移除已有的 iChannel uniform 声明(Shadertoy 用户有时会手动写,但 Shadertoy 运行时会自动注入,\n // 这里统一由桥接层管理,避免重复声明)\n body = body.replace(/^\\s*uniform\\s+sampler2D\\s+iChannel[0-3]\\s*;(?:\\s*\\/\\/\\s*.*)?$/gm, '');\n\n // 检测源码中实际引用的 iChannel0~3(无论出现在 texture2D 还是其他表达式)\n const usedChannels = Array.from(body.matchAll(/\\biChannel([0-3])\\b/g), match => `iChannel${match[1]}`);\n const channelSet = new Set(usedChannels);\n\n // 构建 header,注入使用的 iChannel uniform 声明\n const headerLines = [\n 'precision highp float;',\n 'varying vec2 vUV;',\n 'varying float vTime;',\n 'uniform vec4 iResolution; // viewport resolution (pixels, xy used)',\n ];\n\n for (const channel of Array.from(channelSet).sort()) {\n headerLines.push(`uniform sampler2D ${channel};`);\n }\n\n headerLines.push('', '#define iTime vTime');\n\n const header = headerLines.join('\\n');\n\n const footer = [\n '',\n 'void main() {',\n ' vec2 fragCoord = vUV * iResolution.xy;',\n ' vec4 fragColor;',\n ' mainImage(fragColor, fragCoord);',\n ' gl_FragColor = fragColor;',\n '}',\n ].join('\\n');\n\n return `${header}\\n\\n${body}\\n${footer}`;\n}\n\nfunction validateMainAndColorOutput (fragment: string, warnings: string[]): void {\n if (!/void\\s+main\\s*\\(/.test(fragment)) {\n warnings.push('Fragment shader does not contain a main() function. It may not render correctly.');\n }\n\n if (!fragment.includes('gl_FragColor') && !/out\\s+vec4/.test(fragment)) {\n warnings.push('Fragment shader does not write to gl_FragColor. It may not produce visible output.');\n }\n}\n\nfunction bridgeUTime (fragment: string): string {\n return fragment.replace(\n /uniform\\s+float\\s+uTime\\s*;[^\\n]*/,\n 'varying float vTime;\\n#define uTime vTime',\n );\n}\n","import validate from './validate.js';\nconst byteToHex = [];\nfor (let i = 0; i < 256; ++i) {\n byteToHex.push((i + 0x100).toString(16).slice(1));\n}\nexport function unsafeStringify(arr, offset = 0) {\n return (byteToHex[arr[offset + 0]] +\n byteToHex[arr[offset + 1]] +\n byteToHex[arr[offset + 2]] +\n byteToHex[arr[offset + 3]] +\n '-' +\n byteToHex[arr[offset + 4]] +\n byteToHex[arr[offset + 5]] +\n '-' +\n byteToHex[arr[offset + 6]] +\n byteToHex[arr[offset + 7]] +\n '-' +\n byteToHex[arr[offset + 8]] +\n byteToHex[arr[offset + 9]] +\n '-' +\n byteToHex[arr[offset + 10]] +\n byteToHex[arr[offset + 11]] +\n byteToHex[arr[offset + 12]] +\n byteToHex[arr[offset + 13]] +\n byteToHex[arr[offset + 14]] +\n byteToHex[arr[offset + 15]]).toLowerCase();\n}\nfunction stringify(arr, offset = 0) {\n const uuid = unsafeStringify(arr, offset);\n if (!validate(uuid)) {\n throw TypeError('Stringified UUID is invalid');\n }\n return uuid;\n}\nexport default stringify;\n","let getRandomValues;\nconst rnds8 = new Uint8Array(16);\nexport default function rng() {\n if (!getRandomValues) {\n if (typeof crypto === 'undefined' || !crypto.getRandomValues) {\n throw new Error('crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported');\n }\n getRandomValues = crypto.getRandomValues.bind(crypto);\n }\n return getRandomValues(rnds8);\n}\n","const randomUUID = typeof crypto !== 'undefined' && crypto.randomUUID && crypto.randomUUID.bind(crypto);\nexport default { randomUUID };\n","import native from './native.js';\nimport rng from './rng.js';\nimport { unsafeStringify } from './stringify.js';\nfunction _v4(options, buf, offset) {\n options = options || {};\n const rnds = options.random ?? options.rng?.() ?? rng();\n if (rnds.length < 16) {\n throw new Error('Random bytes length must be >= 16');\n }\n rnds[6] = (rnds[6] & 0x0f) | 0x40;\n rnds[8] = (rnds[8] & 0x3f) | 0x80;\n if (buf) {\n offset = offset || 0;\n if (offset < 0 || offset + 16 > buf.length) {\n throw new RangeError(`UUID byte range ${offset}:${offset + 15} is out of buffer bounds`);\n }\n for (let i = 0; i < 16; ++i) {\n buf[offset + i] = rnds[i];\n }\n return buf;\n }\n return unsafeStringify(rnds);\n}\nfunction v4(options, buf, offset) {\n if (native.randomUUID && !buf && !options) {\n return native.randomUUID();\n }\n return _v4(options, buf, offset);\n}\nexport default v4;\n","import { v4 as uuid } from 'uuid';\nimport * as spec from '@galacean/effects-specification';\nimport { encodeQuadBuffer, INDEX_OFFSET, UV_OFFSET } from './templates';\n\nexport function generateId (): string {\n return uuid().replace(/-/g, '');\n}\n\n/**\n * 生成全屏 Quad 几何体\n */\nexport function buildQuadGeometry (geometryId: string): spec.GeometryData {\n return {\n id: geometryId,\n name: 'FullscreenQuad',\n dataType: spec.DataType.Geometry,\n vertexData: {\n vertexCount: 4,\n channels: [\n {\n semantic: 'POSITION',\n offset: 0,\n format: spec.VertexFormatType.Float32,\n dimension: 3,\n },\n {\n semantic: 'TEXCOORD0',\n offset: UV_OFFSET,\n format: spec.VertexFormatType.Float32,\n dimension: 2,\n },\n ],\n },\n indexFormat: spec.IndexFormatType.UInt16,\n indexOffset: INDEX_OFFSET,\n subMeshes: [{ offset: 0, indexCount: 6, vertexCount: 4 }],\n mode: spec.GeometryType.TRIANGLES,\n buffer: encodeQuadBuffer(),\n };\n}\n\nexport interface TimelineResult {\n miscs: (spec.EffectsObjectData | spec.TrackAssetData | spec.TimelineAssetData)[];\n timelineAssetId: string;\n objectBindingTrackId: string;\n}\n\n/**\n * 构建完整的 GE Timeline 对象图\n *\n * 标准结构:TimelineAsset → ObjectBindingTrack → ActivationTrack\n * clips 内联在 Track 中,不作为独立 miscs 条目\n */\nexport function buildTimeline (\n duration: number,\n endBehavior: spec.EndBehavior,\n): TimelineResult {\n const miscs: (spec.EffectsObjectData | spec.TrackAssetData | spec.TimelineAssetData)[] = [];\n\n // 1. ActivationPlayableAsset\n const activationPlayableId = generateId();\n\n miscs.push({\n id: activationPlayableId,\n dataType: spec.DataType.ActivationPlayableAsset,\n });\n\n // 2. ActivationTrack(clips 内联)\n const activationTrackId = generateId();\n\n miscs.push({\n id: activationTrackId,\n dataType: spec.DataType.ActivationTrack,\n children: [],\n clips: [{\n start: 0,\n duration,\n endBehavior,\n asset: { id: activationPlayableId },\n }],\n });\n\n // 3. ObjectBindingTrack(根绑定轨道)\n const objectBindingTrackId = generateId();\n\n miscs.push({\n id: objectBindingTrackId,\n dataType: spec.DataType.ObjectBindingTrack,\n children: [{ id: activationTrackId }],\n clips: [],\n });\n\n // 4. TimelineAsset\n const timelineAssetId = generateId();\n\n miscs.push({\n id: timelineAssetId,\n dataType: spec.DataType.TimelineAsset,\n tracks: [{ id: objectBindingTrackId }],\n });\n\n return { miscs, timelineAssetId, objectBindingTrackId };\n}\n","function _type_of(obj) {\n \"@swc/helpers - typeof\";\n\n return obj && typeof Symbol !== \"undefined\" && obj.constructor === Symbol ? \"symbol\" : typeof obj;\n}\nexport { _type_of as _ };\n","import type * as spec from '@galacean/effects-specification';\nimport type {\n ConvertOptions, ParsedUniform, TextureInput, UniformValue,\n} from './types';\n\n/**\n * 判断一个 UniformValue 是否是纹理输入\n */\nexport function isTextureInput (value: unknown): value is TextureInput {\n if (typeof value !== 'object' || value === null) {\n return false;\n }\n\n const record = value as Record<string, unknown>;\n\n return typeof record.url === 'string' && !('x' in record) && !('r' in record);\n}\n\n/**\n * 判断一个值是否可视作向量覆盖(vec2/vec3/vec4)\n */\nexport function isVectorInput (value: unknown): value is { x: number; y: number; z?: number; w?: number } {\n if (typeof value !== 'object' || value === null) {\n return false;\n }\n\n const record = value as Record<string, unknown>;\n\n return typeof record.x === 'number' && typeof record.y === 'number';\n}\n\n/**\n * 判断一个值是否可视作颜色覆盖\n */\nexport function isColorInput (value: unknown): value is { r: number; g: number; b: number; a: number } {\n if (typeof value !== 'object' || value === null) {\n return false;\n }\n\n const record = value as Record<string, unknown>;\n\n return (\n typeof record.r === 'number'\n && typeof record.g === 'number'\n && typeof record.b === 'number'\n && typeof record.a === 'number'\n );\n}\n\n/**\n * 合并 uniformOverrides 与 shadertoyChannels。\n * 显式传入的 uniformOverrides 优先级更高。\n */\nexport function mergeUniformOverrides (options: ConvertOptions): Record<string, UniformValue> {\n const merged: Record<string, UniformValue> = {};\n\n if (options.uniformOverrides) {\n Object.assign(merged, options.uniformOverrides);\n }\n\n if (options.shadertoyChannels) {\n for (const [channel, textureInput] of Object.entries(options.shadertoyChannels)) {\n if (!(channel in merged)) {\n merged[channel] = textureInput;\n }\n }\n }\n\n return merged;\n}\n\n/**\n * 原生 shader 中若显式声明 uResolution(vec4),则用 previewSize 强制覆盖。\n */\nexport function shouldInjectNativeResolution (\n uniforms: ParsedUniform[],\n previewSize?: [number, number],\n): boolean {\n return Boolean(previewSize) && uniforms.some(u => u.name === 'uResolution' && u.type === 'vec4');\n}\n\nexport function toResolutionVector (previewSize: [number, number]): spec.Vector4Data {\n return {\n x: previewSize[0],\n y: previewSize[1],\n z: 1,\n w: 0,\n };\n}\n","import * as spec from '@galacean/effects-specification';\nimport type {\n ParsedUniform, TextureInput, UniformValue,\n} from './types';\nimport {\n DEFAULT_WHITE_TEXTURE_URL, GL_TEXTURE_2D, GL_TEXTURE_FILTER_LINEAR, GL_TEXTURE_WRAP_REPEAT,\n} from './templates';\nimport { generateId } from './scene-builders';\nimport { isColorInput, isTextureInput, isVectorInput } from './uniform-utils';\n\n/** buildUniformDefaults 的返回类型 */\nexport interface UniformBuildResult {\n floats: Record<string, number>;\n vector4s: Record<string, spec.Vector4Data>;\n colors: Record<string, spec.ColorData>;\n /** material.textures 中的条目(uniform 名 → MaterialTextureProperty) */\n materialTextures: Record<string, spec.MaterialTextureProperty>;\n /** 场景级 images 数组 */\n images: spec.ImageSource[];\n /** 场景级 textures 数组 */\n textures: spec.TextureDefine[];\n}\n\nfunction toNumber (value: unknown, fallback = 0): number {\n return typeof value === 'number' ? value : fallback;\n}\n\nfunction toTextureDefine (textureInput: TextureInput | null): {\n image: spec.ImageSource;\n texture: spec.TextureDefine;\n textureId: string;\n} {\n const imageId = generateId();\n const textureId = generateId();\n\n const image: spec.ImageSource = {\n id: imageId,\n url: textureInput?.url ?? DEFAULT_WHITE_TEXTURE_URL,\n };\n\n const texture: spec.TextureDefine = {\n id: textureId,\n source: { id: imageId },\n dataType: spec.DataType.Texture,\n target: GL_TEXTURE_2D,\n wrapS: textureInput?.wrapS ?? GL_TEXTURE_WRAP_REPEAT,\n wrapT: textureInput?.wrapT ?? GL_TEXTURE_WRAP_REPEAT,\n magFilter: textureInput?.magFilter ?? GL_TEXTURE_FILTER_LINEAR,\n minFilter: textureInput?.minFilter ?? GL_TEXTURE_FILTER_LINEAR,\n flipY: textureInput?.flipY ?? true,\n };\n\n return { image, texture, textureId };\n}\n\nfunction applyVectorDefault (\n target: Record<string, spec.Vector4Data>,\n uniformName: string,\n override: unknown,\n fallbackW = 0,\n): void {\n if (!isVectorInput(override)) {\n target[uniformName] = { x: 0, y: 0, z: 0, w: fallbackW };\n\n return;\n }\n\n target[uniformName] = {\n x: override.x,\n y: override.y,\n z: toNumber(override.z),\n w: toNumber(override.w, fallbackW),\n };\n}\n\nexport function buildUniformDefaults (\n uniforms: ParsedUniform[],\n overrides: Record<string, UniformValue> = {},\n): UniformBuildResult {\n const floats: Record<string, number> = {};\n const vector4s: Record<string, spec.Vector4Data> = {};\n const colors: Record<string, spec.ColorData> = {};\n const materialTextures: Record<string, spec.MaterialTextureProperty> = {};\n const images: spec.ImageSource[] = [];\n const textures: spec.TextureDefine[] = [];\n\n for (const uniform of uniforms) {\n const override = overrides[uniform.name];\n\n switch (uniform.type) {\n case 'float':\n case 'int':\n floats[uniform.name] = toNumber(override);\n\n break;\n case 'vec2':\n case 'vec3':\n applyVectorDefault(vector4s, uniform.name, override, 0);\n\n break;\n case 'vec4':\n if (isColorInput(override)) {\n colors[uniform.name] = override;\n } else {\n applyVectorDefault(vector4s, uniform.name, override, 1);\n }\n\n break;\n case 'sampler2D': {\n const textureInput = isTextureInput(override) ? override : null;\n const { image, texture, textureId } = toTextureDefine(textureInput);\n\n images.push(image);\n textures.push(texture);\n materialTextures[uniform.name] = { texture: { id: textureId } };\n\n break;\n }\n }\n }\n\n return { floats, vector4s, colors, materialTextures, images, textures };\n}\n","/**\n * GE JSONScene 生成器\n * 将 shader 源码 + 解析出的 uniform 组装成可播放的 GE JSONScene\n */\nimport * as spec from '@galacean/effects-specification';\nimport type { ConvertOptions, ParsedUniform } from './types';\nimport { DEFAULT_VERTEX_SHADER, SHADERTOY_VERTEX_SHADER } from './templates';\nimport { buildUniformDefaults } from './material-uniforms';\nimport { buildQuadGeometry, buildTimeline, generateId } from './scene-builders';\nimport { toResolutionVector } from './uniform-utils';\n\n/**\n * 核心:生成完整的可播放 GE JSONScene\n */\nexport function generateScene (\n fragmentShader: string,\n uniforms: ParsedUniform[],\n options: ConvertOptions = {},\n isShadertoy = false,\n): spec.JSONScene {\n const {\n sceneName = 'ShaderScene',\n duration = 5,\n endBehavior = spec.EndBehavior.restart,\n previewSize = [512, 512],\n uniformOverrides = {},\n } = options;\n\n // 生成所有 ID\n const shaderId = generateId();\n const materialId = generateId();\n const geometryId = generateId();\n const effectComponentId = generateId();\n const compositionComponentId = generateId();\n const itemId = generateId();\n const compositionId = generateId();\n\n // 1. Shader(Shadertoy 模式使用带 iResolution 的 vertex shader)\n const shader: spec.ShaderData = {\n id: shaderId,\n name: `${sceneName}_Shader`,\n dataType: spec.DataType.Shader,\n vertex: isShadertoy ? SHADERTOY_VERTEX_SHADER : DEFAULT_VERTEX_SHADER,\n fragment: fragmentShader,\n };\n\n // 2. Material(填充 uniform 默认值 + 纹理引用)\n const {\n floats,\n vector4s,\n colors,\n materialTextures,\n images: textureImages,\n textures: sceneTextures,\n } = buildUniformDefaults(uniforms, uniformOverrides);\n\n // Shadertoy 模式:自动注入 iResolution(视口分辨率)\n if (isShadertoy) {\n vector4s.iResolution = toResolutionVector(previewSize);\n }\n\n const material: spec.MaterialData = {\n id: materialId,\n name: `${sceneName}_Material`,\n dataType: spec.DataType.Material,\n shader: { id: shaderId },\n stringTags: { RenderType: 'Transparent' },\n macros: [],\n ints: {},\n floats,\n vector4s,\n colors,\n textures: materialTextures,\n };\n\n // 3. Geometry\n const geometry = buildQuadGeometry(geometryId);\n\n // 4. EffectComponent\n const effectComponent: spec.EffectComponentData = {\n id: effectComponentId,\n name: `${sceneName}_Effect`,\n dataType: spec.DataType.EffectComponent,\n item: { id: itemId },\n _priority: 0,\n materials: [{ id: materialId }],\n geometry: { id: geometryId },\n };\n\n // 5. VFXItem\n const item: spec.VFXItemData = {\n id: itemId,\n name: sceneName,\n duration,\n type: spec.ItemType.effect,\n endBehavior,\n components: [{ id: effectComponentId }],\n dataType: spec.DataType.VFXItemData,\n transform: {\n position: { x: 0, y: 0, z: 0 },\n eulerHint: { x: 0, y: 0, z: 0 },\n scale: { x: 1, y: 1, z: 1 },\n },\n // Is deprecated but specification\n content: null,\n };\n\n // 6. Timeline(标准结构:TimelineAsset → ObjectBindingTrack → ActivationTrack)\n const timeline = buildTimeline(duration, endBehavior);\n\n // 7. CompositionComponent(指向 composition,包含 items/timelineAsset/sceneBindings)\n const compositionComponent: spec.CompositionComponentData = {\n id: compositionComponentId,\n name: `${sceneName}_CompComp`,\n dataType: spec.DataType.CompositionComponent,\n item: { id: compositionId },\n items: [{ id: itemId }],\n timelineAsset: { id: timeline.timelineAssetId },\n sceneBindings: [{\n key: { id: timeline.objectBindingTrackId },\n value: { id: itemId },\n }],\n };\n\n // 8. Composition\n const composition: spec.CompositionData = {\n id: compositionId,\n name: sceneName,\n duration,\n startTime: 0,\n endBehavior,\n previewSize,\n camera: {\n fov: 60,\n far: 40,\n near: 0.1,\n clipMode: spec.CameraClipMode.portrait,\n position: [0, 0, 8],\n rotation: [0, 0, 0],\n },\n components: [{ id: compositionComponentId }],\n children: [{ id: itemId }],\n };\n\n // 9. 组装 JSONScene\n return {\n version: spec.JSONSceneVersion.LATEST,\n playerVersion: { web: '2.9.0', native: '0.0.1.202311221223' },\n type: 'ge',\n compositionId,\n compositions: [composition],\n images: textureImages,\n plugins: [],\n items: [item],\n components: [effectComponent, compositionComponent],\n materials: [material],\n shaders: [shader],\n geometries: [geometry],\n animations: [],\n miscs: timeline.miscs,\n textures: sceneTextures,\n };\n}\n","/**\n * shader2ge 主入口 API\n * 输入 fragment shader 源码 → 输出可播放的 GE JSONScene\n * 支持原生 GE 格式和 Shadertoy 格式的 fragment shader\n */\nimport type { ConvertOptions, ConvertResult, ParsedUniform, UniformValue } from './types';\nimport { parseShader } from './parse-shader';\nimport { generateScene } from './generate-scene';\nimport {\n isTextureInput, mergeUniformOverrides, shouldInjectNativeResolution, toResolutionVector,\n} from './uniform-utils';\n\n/**\n * 将 fragment shader 源码转换为可在 GE Runtime 播放的 JSONScene。\n *\n * 内部委托 {@link parseShader} 完成输入理解(Shadertoy 桥接、uniform 提取、uTime 桥接、\n * 基础校验),自身只负责应用 ConvertOptions 与生成 JSONScene。\n *\n * @param fragmentShader - GLSL fragment shader 源码\n * @param options - 转换选项(场景名称、时长、uniform 覆盖、Shadertoy 通道映射等)\n * @returns 转换结果,包含 scene、warnings 和解析出的 uniforms\n *\n * @example\n * ```ts\n * // 纯数学生成效果\n * const result = convert(`\n * precision highp float;\n * varying vec2 vUV;\n * varying float vTime;\n * void main() {\n * vec3 col = 0.5 + 0.5 * cos(vTime + vUV.xyx + vec3(0,2,4));\n * gl_FragColor = vec4(col, 1.0);\n * }\n * `);\n *\n * // 带纹理输入的效果\n * const result = convert(`\n * precision highp float;\n * varying vec2 vUV;\n * uniform sampler2D uMainTex;\n * void main() {\n * gl_FragColor = texture2D(uMainTex, vUV);\n * }\n * `, {\n * uniformOverrides: {\n * uMainTex: { url: 'https://example.com/image.png' },\n * },\n * });\n *\n * // Shadertoy 带纹理通道\n * const result = convert(shadertoyCode, {\n * shadertoyChannels: {\n * iChannel0: { url: 'https://example.com/noise.png' },\n * },\n * });\n * ```\n */\nexport function convert (\n fragmentShader: string,\n options: ConvertOptions = {},\n): ConvertResult {\n // ── 解析阶段:输入理解(与 options 无关)──\n const parsed = parseShader(fragmentShader);\n const warnings = [...parsed.warnings];\n\n // ── 应用 options ──\n const mergedOverrides = mergeUniformOverrides(options);\n\n // 检查 sampler2D uniform:未提供纹理覆盖的给出提示\n appendMissingSamplerWarnings(parsed.uniforms, mergedOverrides, warnings);\n\n // 原生 shader 的 uResolution 自动注入\n // 和 Shadertoy 的 iResolution 处理方式一致:用当前 previewSize 自动覆盖\n // 避免用户修改尺寸后,硬编码在 overrides 中的旧值导致宽高比矫正错误(拉伸)\n if (shouldInjectNativeResolution(parsed.uniforms, options.previewSize)) {\n mergedOverrides['uResolution'] = toResolutionVector(options.previewSize!);\n }\n\n // ── 生成阶段:构建 JSONScene ──\n const scene = generateScene(\n parsed.fragment,\n parsed.uniforms,\n { ...options, uniformOverrides: mergedOverrides },\n parsed.isShadertoy,\n );\n\n return { scene, warnings, uniforms: parsed.uniforms };\n}\n\nfunction appendMissingSamplerWarnings (\n uniforms: ParsedUniform[],\n overrides: Record<string, UniformValue>,\n warnings: string[],\n): void {\n for (const uniform of uniforms) {\n if (uniform.type !== 'sampler2D') {\n continue;\n }\n const override = overrides[uniform.name];\n\n if (!isTextureInput(override)) {\n warnings.push(\n `Uniform \"${uniform.name}\" is sampler2D. No texture override provided — a default 1×1 white texture will be used.`,\n );\n }\n }\n}\n"],"names":["JSONSceneVersion","RenderLevel","BlendingMode","SideMode","ObscuredMode","ParticleEmitterShapeType","PluginType","InteractType","InteractBehavior","ItemType","RenderMode","ParticleOrigin","RenderType","RenderFace","END_BEHAVIOR_DESTROY","END_BEHAVIOR_PAUSE","END_BEHAVIOR_FORWARD","END_BEHAVIOR_PAUSE_AND_DESTROY","END_BEHAVIOR_FREEZE","END_BEHAVIOR_RESTART","END_BEHAVIOR_DESTROY_CHILDREN","CAMERA_CLIP_MODE_VERTICAL","CAMERA_CLIP_MODE_NORMAL","MESSAGE_ITEM_PHRASE_BEGIN","MESSAGE_ITEM_PHRASE_END","CameraClipMode","ValueType","BezierKeyframeType","EndBehavior","ParticleInteractionBehavior","ShapeArcMode","LightType","ModelBoundingType","CameraType","MaterialType","MaterialBlending","RenderMode3D","TextOverflow","TextSizeMode","TextBaseline","TextAlignment","TextVerticalAlign","TextWeight","FontStyle","BuiltinObjectGUID","WhiteTexture","EmptyTexture","PBRShader","UnlitShader","FillType","TexturePaintScaleMode","ShapePrimitiveType","LineCap","LineJoin","NodeDataType","BackgroundType","MultimediaType","HevcVideoCodec","DataType","GeometryType","VertexFormatType","IndexFormatType","VertexBufferSemantic","LATEST_VERSION","LATEST","_extends","Object","assign","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","_array_like_to_array","arr","len","arr2","Array","_unsupported_iterable_to_array","o","minLen","n","toString","slice","name","from","test","_create_for_of_iterator_helper_loose","allowArrayLike","it","Symbol","iterator","next","bind","isArray","done","value","TypeError","SUPPORTED_TYPES","Set","UNIFORM_REGEX","parseUniforms","results","seen","match","lastIndex","exec","typeStr","comment","has","add","push","type","trim","DEFAULT_VERTEX_SHADER","SHADERTOY_VERTEX_SHADER","FALLBACK_FRAGMENT_SHADER","QUAD_POSITIONS","Float32Array","QUAD_UVS","QUAD_INDICES","Uint16Array","POSITION_BYTES","byteLength","UV_OFFSET","INDEX_OFFSET","encodeQuadBuffer","totalBytes","buffer","ArrayBuffer","view","Uint8Array","set","binaryString","byte","String","fromCharCode","join","btoa","DEFAULT_WHITE_TEXTURE_URL","GL_TEXTURE_WRAP_REPEAT","GL_TEXTURE_WRAP_CLAMP_TO_EDGE","GL_TEXTURE_FILTER_LINEAR","GL_TEXTURE_FILTER_NEAREST","GL_TEXTURE_2D","parseShader","warnings","fragment","isShadertoy","bridgeShadertoy","validateMainAndColorOutput","uniforms","hasUTime","some","u","bridgeUTime","uTimeIndex","findIndex","splice","body","replace","usedChannels","matchAll","channelSet","headerLines","sort","channel","header","footer","includes","byteToHex","unsafeStringify","offset","toLowerCase","getRandomValues","rnds8","rng","crypto","Error","randomUUID","_v4","options","buf","rnds","random","v4","native","generateId","uuid","buildQuadGeometry","geometryId","id","dataType","spec","Geometry","vertexData","vertexCount","channels","semantic","format","Float32","dimension","indexFormat","UInt16","indexOffset","subMeshes","indexCount","mode","TRIANGLES","buildTimeline","duration","endBehavior","miscs","activationPlayableId","ActivationPlayableAsset","activationTrackId","ActivationTrack","children","clips","start","asset","objectBindingTrackId","ObjectBindingTrack","timelineAssetId","TimelineAsset","tracks","_type_of","obj","isTextureInput","record","url","isVectorInput","x","y","isColorInput","r","g","b","a","mergeUniformOverrides","merged","uniformOverrides","shadertoyChannels","entries","textureInput","shouldInjectNativeResolution","previewSize","Boolean","toResolutionVector","z","w","toNumber","fallback","toTextureDefine","imageId","textureId","image","texture","Texture","wrapS","wrapT","magFilter","minFilter","flipY","applyVectorDefault","uniformName","override","fallbackW","buildUniformDefaults","overrides","floats","vector4s","colors","materialTextures","images","textures","uniform","generateScene","fragmentShader","sceneName","restart","shaderId","materialId","effectComponentId","compositionComponentId","itemId","compositionId","shader","Shader","vertex","textureImages","sceneTextures","iResolution","material","Material","stringTags","macros","ints","geometry","effectComponent","EffectComponent","item","_priority","materials","effect","components","VFXItemData","transform","position","eulerHint","scale","content","timeline","compositionComponent","CompositionComponent","items","timelineAsset","sceneBindings","composition","startTime","camera","fov","far","near","clipMode","portrait","rotation","version","playerVersion","web","compositions","plugins","shaders","geometries","animations","convert","parsed","mergedOverrides","appendMissingSamplerWarnings","scene"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,30,31,32,33,35]}