human2ai 0.1.4 → 0.1.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.en.md +1 -1
- package/README.md +1 -1
- package/dist/domain/composition/draft.js +1 -1
- package/dist/domain/composition/draft.js.map +1 -1
- package/locales/en/common.json +13 -2
- package/package.json +1 -1
- package/skills/human2ai/SKILL.md +1 -1
- package/web/out/404/index.html +1 -1
- package/web/out/404.html +1 -1
- package/web/out/__next.__PAGE__.txt +9 -9
- package/web/out/__next._full.txt +10 -10
- package/web/out/__next._tree.txt +6 -6
- package/web/out/_next/static/chunks/130-930cfe062cda6fb5.js +1 -0
- package/web/out/_next/static/chunks/166-64abdc6456626378.js +1 -0
- package/web/out/_next/static/chunks/{635-611c009924b842be.js → 380-6a6a9517cf13350e.js} +21 -21
- package/web/out/_next/static/chunks/678-6a688c1f8589183c.js +1 -0
- package/web/out/_next/static/chunks/app/_not-found/page-527a4b0506fa60cb.js +1 -0
- package/web/out/_next/static/chunks/app/composition/page-945cb9644c513407.js +1 -0
- package/web/out/_next/static/chunks/app/{layout-1dd9196cde94389c.js → layout-33fe456f6115412e.js} +1 -1
- package/web/out/_next/static/chunks/app/page-b027a8ffdb9dda66.js +1 -0
- package/web/out/_next/static/chunks/app/spatial/page-c52d564a39d3b592.js +1 -0
- package/web/out/_next/static/chunks/app/styles/page-87d77b1f3e8fdd21.js +1 -0
- package/web/out/_next/static/chunks/app/ui-sketch/page-69219e06cc93c28f.js +1 -0
- package/web/out/_next/static/chunks/main-app-4a71cca48ead7720.js +1 -0
- package/web/out/_next/static/chunks/next/dist/client/components/builtin/global-error-6a956dd8904b8723.js +1 -0
- package/web/out/_next/static/chunks/{webpack-d16ce1f994e98178.js → webpack-c0280e9af5fc8cd3.js} +1 -1
- package/web/out/_next/static/css/{ce1b4bb3ad3c6073.css → 0ab45995828642ec.css} +1 -1
- package/web/out/_next/static/css/0c7915cdb1509f9d.css +1 -0
- package/web/out/_next/static/css/{06743b5635914999.css → 4fb1bde9070d5094.css} +1 -1
- package/web/out/_next/static/css/c39f5ecbfc8cb532.css +1 -0
- package/web/out/_next/static/css/{3b7982b41ed8eccd.css → d42ebb6745c15e30.css} +1 -1
- package/web/out/_next/static/css/d787350911847f22.css +1 -0
- package/web/out/_next/static/css/db78da93b4de5040.css +1 -0
- package/web/out/_not-found/__next._full.txt +6 -6
- package/web/out/_not-found/__next._not-found.__PAGE__.txt +5 -5
- package/web/out/_not-found/__next._tree.txt +3 -3
- package/web/out/_not-found/index.html +1 -1
- package/web/out/_not-found/index.txt +6 -6
- package/web/out/brand/h2a-1024.png +0 -0
- package/web/out/brand/h2a-128.png +0 -0
- package/web/out/brand/h2a-16.png +0 -0
- package/web/out/brand/h2a-256.png +0 -0
- package/web/out/brand/h2a-32.png +0 -0
- package/web/out/brand/h2a-48.png +0 -0
- package/web/out/brand/h2a-512.png +0 -0
- package/web/out/brand/h2a-64.png +0 -0
- package/web/out/brand/h2a.svg +10 -1
- package/web/out/composition/__next._full.txt +11 -11
- package/web/out/composition/__next._tree.txt +7 -7
- package/web/out/composition/__next.composition.__PAGE__.txt +10 -10
- package/web/out/composition/index.html +1 -1
- package/web/out/composition/index.txt +11 -11
- package/web/out/favicon.ico +0 -0
- package/web/out/icon.svg +10 -1
- package/web/out/index.html +1 -1
- package/web/out/index.txt +10 -10
- package/web/out/spatial/__next._full.txt +9 -9
- package/web/out/spatial/__next._tree.txt +5 -5
- package/web/out/spatial/__next.spatial.__PAGE__.txt +8 -8
- package/web/out/spatial/index.html +1 -1
- package/web/out/spatial/index.txt +9 -9
- package/web/out/styles/__next._full.txt +9 -9
- package/web/out/styles/__next._tree.txt +5 -5
- package/web/out/styles/__next.styles.__PAGE__.txt +8 -8
- package/web/out/styles/index.html +1 -1
- package/web/out/styles/index.txt +9 -9
- package/web/out/ui-sketch/__next._full.txt +10 -10
- package/web/out/ui-sketch/__next._tree.txt +6 -6
- package/web/out/ui-sketch/__next.ui-sketch.__PAGE__.txt +9 -9
- package/web/out/ui-sketch/index.html +1 -1
- package/web/out/ui-sketch/index.txt +10 -10
- package/web/out/_next/static/chunks/130-7e9e715a084569bb.js +0 -1
- package/web/out/_next/static/chunks/166-96a8c6ae1e9aed59.js +0 -1
- package/web/out/_next/static/chunks/678-32d3aa1859450d63.js +0 -1
- package/web/out/_next/static/chunks/app/_not-found/page-b92817fdc4609975.js +0 -1
- package/web/out/_next/static/chunks/app/composition/page-6c12ee8472715448.js +0 -1
- package/web/out/_next/static/chunks/app/page-741ecaf9ee8c3c07.js +0 -1
- package/web/out/_next/static/chunks/app/spatial/page-5ba0940650df6c7f.js +0 -1
- package/web/out/_next/static/chunks/app/styles/page-1ccfc2c5fbc1e646.js +0 -1
- package/web/out/_next/static/chunks/app/ui-sketch/page-ef4f2e531583e684.js +0 -1
- package/web/out/_next/static/chunks/main-app-cf37a257d91ce62e.js +0 -1
- package/web/out/_next/static/chunks/next/dist/client/components/builtin/global-error-33b4f58f02e82215.js +0 -1
- package/web/out/_next/static/css/1f8501a43042a5a2.css +0 -1
- package/web/out/_next/static/css/39e8cace36461a15.css +0 -1
- package/web/out/_next/static/css/81ae71f1d3e9a866.css +0 -1
- package/web/out/_next/static/css/db96ae2e88545d96.css +0 -1
- /package/web/out/_next/static/{n4UcxqMmr_2CBmSxBp52z → Rem7hlT5iXtA-5codwSoe}/_buildManifest.js +0 -0
- /package/web/out/_next/static/{n4UcxqMmr_2CBmSxBp52z → Rem7hlT5iXtA-5codwSoe}/_ssgManifest.js +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[678],{27812:(e,t,o)=>{o.d(t,{Se:()=>l,cq:()=>i,cw:()=>s,h_:()=>a});let i="[data-yisiui-asset][data-yisiui-name][data-yisiui-category]",a="[aria-modal='true'], [data-yisiui-inspection-layer='blocking']",n=/^[a-z0-9]+(?:-[a-z0-9]+)*$/,r=/^[A-Z][A-Za-z0-9]+$/;function s(e){let[t,o,...i]=e.split("/");return 0===i.length&&!!t&&!!o&&n.test(t)&&n.test(o)}function l(e){if(!n.test(e.namespace))throw Error(`Invalid YisiUI asset namespace: ${e.namespace}`);if(!n.test(e.id))throw Error(`Invalid YisiUI asset id: ${e.id}`);if(!r.test(e.name))throw Error(`Invalid YisiUI asset name: ${e.name}`);if(!e.category.trim())throw Error("YisiUI asset category must not be empty");return{"data-yisiui-asset":`${e.namespace}/${e.id}`,"data-yisiui-name":e.name,"data-yisiui-category":e.category,"data-yisiui-origin":e.origin,"data-yisiui-status":e.status}}},48511:e=>{e.exports=JSON.parse('{"canvasLayers":{"bringToFront":"置于顶层","bringForward":"上移一层","sendBackward":"下移一层","sendToBack":"置于底层"},"app":{"title":"以形塑形","repositoryLink":"{{productName}} 的 GitHub 地址"},"integrations":{"workbuddy":{"description":"在人与 AI 共享的本地视觉工作区中创建和编辑构图、UI 草图与 3D 空间。","examples":{"composition":"把这张参考图的构图画到画布上,让我继续编辑。","uiSketch":"读取这个 UI 草图,按我的备注调整布局并导出预览。","spatial":"创建一个 3D 空间,摆好人物姿势并导出相机画面。"}}},"home":{"description":"用构图、UI 草图和 3D 空间表达想法,与 AI 一起完善设计。","createComposition":"创建构图","createUiSketch":"创建UI界面","createSpatial":"创建3D空间","skillInstallation":{"title":"安装skill","agentTab":"Agent","cliTab":"CLI","agentPrompt":"请把 Human2AI Skill 安装到当前项目:运行 npx skills add yisi-ai/human2ai --skill human2ai,选择项目级安装和你对应的 Agent 类型。完成后确认 Skill 已可被发现,并告知安装路径。","copy":"复制内容","copying":"正在复制内容","copyFailed":"复制失败,请手动选择并复制。"}},"navigation":{"composition":"构图"},"shell":{"sidebar":"Human2AI 应用侧栏","navigation":"Human2AI 应用导航","collapseSidebar":"收起应用侧栏","expandSidebar":"展开应用侧栏","rightPanel":"操作面板","collapseRightPanel":"收起操作面板","expandRightPanel":"展开操作面板"},"language":{"selectorLabel":"界面语言"},"styleLibrary":{"title":"风格库","newStyle":"新建风格","editStyle":"编辑风格","name":"名称","namePlaceholder":"输入风格名称","category":{"label":"分类","all":"全部类型","visual":"画面","ui":"UI","spatial":"3D"},"creator":{"label":"创建方","all":"全部创建方","user":"User","agent":"Agent"},"references":{"heading":"参考","empty":"无参考图","add":"添加参考图","remove":"删除参考图","pasteHint":"在此粘贴图片,或选择本地图片。","fileTypes":"参考图支持 PNG、JPEG、WebP,最大 10 MB。"},"description":{"heading":"设计规范","placeholder":"说明布局、比例、视觉层级和装饰等设计规则","spatialPlaceholder":"说明形体、比例、材质、配色、光照和镜头等建模规则"},"searchPlaceholder":"搜索风格","deleteTitle":"确认删除这个风格?","deleteDescription":"该风格及其全部参考图和模型将被永久删除。","empty":"还没有风格","noMatches":"没有匹配的风格","loading":"正在加载风格","loadFailed":"风格加载失败","save":"保存","imageInvalid":"请选择不超过 10 MB 的有效 PNG、JPEG 或 WebP 图片。","openStyle":"打开“{{name}}”","closePreview":"关闭风格预览","promptSummary":{"label":"风格短句","placeholder":"用一句话概括最鲜明的视觉特征"},"model":{"label":"模型示例","loading":"正在加载模型","failed":"模型无法预览","reset":"重置模型视角","controls":"拖动旋转,滚轮缩放;聚焦后用方向键旋转,+ / − 缩放,Home 重置。"}},"notes":{"global":{"label":"全局备注","promptHeading":"整体要求:"},"element":{"label":"备注","prompt":"- 备注:{{note}}","nodePlaceholder":"说明这个节点表达什么","regionPlaceholder":"这个区域表达什么布局内容","textPlaceholder":"这段文字表达什么"}},"sessionDetails":{"title":"基本信息","created":"创建时间","updated":"修改时间","nodes":"节点数","agent":"Agent","copyCommand":"复制命令","copying":"复制中","copyFailed":"复制失败","emptyValue":"—","agentCommand":"请使用以下 CLI 命令连接当前会话:\\n\\n{{command}}\\n\\n连接完成后,请停止并等待下一步命令。"},"workspaceSidebar":{"functionArea":"功能区","projectArea":"项目","newComposition":"新建构图","newCompositionInProject":"在“{{project}}”中新建构图","newUiSketch":"新建 UI 界面","newUiSketchInProject":"在“{{project}}”中新建 UI 界面","newProject":"新建项目","projectNamePlaceholder":"输入项目名称","unassigned":"无项目","imageCompositionSession":"构图会话","uiLayoutSession":"UI 界面会话","sessionActions":"会话操作","projectActions":"项目操作","confirmRename":"确认","moveSessionTitle":"移动会话","selectProject":"选择项目","moveUnavailable":"没有可移动的项目","projectNameConflict":"项目名称不能重复","renameProjectTitle":"重命名项目","deleteProjectTitle":"删除项目","deleteProjectDescription":"删除后无法恢复。","deleteProjectDisabled":"项目包含子项,无法删除","renameSessionTitle":"重命名会话","renameSessionPlaceholder":"输入会话名称","deleteSessionTitle":"删除会话","deleteSessionDescription":"删除后,该会话的草图和加工记录也会被删除。","loading":"正在加载项目","loadFailed":"项目列表加载失败"},"actions":{"start":"开始","delete":"删除","cancel":"取消","keep":"保留","deleteNode":"删除节点","deleteRegion":"删除区域","deleteText":"删除文字","create":"创建","rename":"重命名","move":"移动","retry":"重试"},"canvas":{"imageNode":{"label":"图片","add":"添加图片","promptHeading":"图片节点:"},"imageEditor":{"content":"图片内容","upload":"上传图片","replace":"替换图片","uploading":"正在上传","uploadFailed":"图片上传失败,请重试。","fileTypes":"支持 PNG、JPEG、WebP、SVG,最大 10 MB。","svgSource":"SVG 源码","svgPaste":"粘贴 SVG","svgApply":"使用 SVG","svgSaveFailed":"SVG 保存失败,请检查代码后重试。","svgCopy":"复制源码","svgCopying":"正在复制源码","svgCopyFailed":"源码复制失败","sourceLoading":"正在读取图片内容","sourceLoadFailed":"图片内容读取失败,请重试。","download":"下载图片","downloading":"正在下载","downloadFailed":"图片下载失败,请重试。"},"imageCrop":{"title":"裁剪图片","loadFailed":"无法加载图片,请重新上传。"},"tools":{"label":"操作工具"},"viewport":{"help":"画布操作说明","instructions":"选择节点工具后,单击放置;形状和图片可拖动确定尺寸,动线可拖动确定方向;Esc 取消。滚轮缩放;按住右键,或空格键加左键拖动画布。"},"node":{"nodeDescription":"节点说明","originUser":"user","originAgent":"agent","originImport":"import"}},"canvasNodeEditor":{"title":"编辑节点信息","shapeKind":"形状","pointKind":"点"},"composition":{"session":{"new":"新构图会话","untitled":"未命名构图","loading":"正在加载构图","revisionConflict":"草图已由其他操作更新到版本 {{revision}}。请重新打开该会话后再修改。","typeMismatch":"该会话不是构图会话,无法在构图编辑器中打开。"},"views":{"draft":"构图","refined":"精修","reference":"预览","switch":"构图视图","draftCanvas":"用户构图草图","refinedCanvas":"Agent 精修后的构图","referenceCanvas":"用于生图的结构参考"},"workflow":{"agentDecision":"Agent 判断","appliedMethods":"执行方法","protectionAudit":"变化记录","maximumFocusShift":"最大焦点位移","maximumAreaShift":"最大区域位移","maximumRotationShift":"最大旋转变化"},"workspace":"画布工作区","clearCanvas":"清空画布","clearCanvasConfirmTitle":"确认清空画布?","clearCanvasConfirmDescription":"全部构图内容和设置将恢复为默认值。","collapseTools":"收起操作工具","expandTools":"展开操作工具","globalNote":{"title":"对整个画面的要求","placeholder":"例如:突出左侧主体,右侧保留呼吸感","ariaLabel":"构图草图的全局备注"},"flow":{"label":"动势线","controlPoint":"动势线操作点 {{number}}","promptHeading":"动势:","promptReference":"- 动势经过整体画面距左 {{x}}%、距上 {{y}}% 的位置,角度约 {{rotation}}\xb0"},"elementCapacity":{"compact":"{{current}}/{{limit}}","ariaLabel":"{{label}},已放置 {{current}}/{{limit}}"},"toolNames":{"focus":"焦点","circle":"圆形","triangle":"三角形","quadrilateral":"矩形","textRegion":"文字区域"},"canvasZoom":"当前缩放","zoomOut":"缩小画布","zoomIn":"放大画布","fitAll":"适应全部","frameRatio":"画框比例","aspectRatioTitle":"比例","lockFrame":"锁定画框","unlockFrame":"解锁画框","areaOverview":"面积概览","occupied":"画面占用","negativeSpace":"负空间","currentSelection":"当前选择","none":"无","prompt":{"title":"请根据以下信息设计画面;如附有参考图,请将其作为整体布局参考。","outputRatio":"输出比例:{{ratio}}","regionSemanticsGuidance":"- 每个区域只是视觉影响范围,不是成品对象的固定外形;除非备注明确要求,不要复刻完整边界、轮廓或封闭色块。","displayTextGuidance":"- 每个文字区域都必须呈现可见文字。已填写的“显示文字”必须原样出现;留空只表示文字内容由模型创作,不表示可以省略文字。文字可依照景别和画面关系变形或被部分遮挡。","layoutHeading":"整体布局要求:","coordinateOrigin":"- 以下位置均相对于整体画面表示,左上角为 0%, 0%。","referenceValues":"- 以下位置、占比和角度用于说明主要内容之间的视觉关系。","flexibleImplementation":"- 保留主要内容的相对方位、面积级差、视觉重量、前后关系和视觉动线;可按真实内容重构、拆分、融合、重叠或延伸至画面之外。","referenceImageGuidance":"- 上传的参考图只表达内容的大致占位、重心和视觉分布,是空间提示而非线稿;不要把其中的完整边界、标记或线条画进成品。","metricsHeading":"整体画面关系:","occupied":"- 主要内容约占整体画面的 {{value}}%","negativeSpace":"- 负空间约 {{value}}%","focusHeading":"视觉焦点:","focusNumber":"焦点#{{index}}","areaHeading":"主要内容分布:","areaNumber":"内容区域#{{index}}","imageNumber":"图片#{{index}}","textRegionNumber":"文字区域#{{index}}","generatedDisplayText":"- 文字内容:由模型创作,但本区域不能留空或改成普通图像内容","referencePosition":"- 参考位置:距左 {{x}}%,距上 {{y}}%","referenceArea":"- 可见内容约占整体画面的 {{area}}%","referenceRotation":"- 视觉分布倾向约 {{rotation}}\xb0","referenceClipping":"- 内容延伸至画面之外:{{sides}}","sideSeparator":"、","top":"上侧","right":"右侧","bottom":"下侧","left":"左侧","lightSourceNumber":"光源 {{index}}","lightSourceGuidance":"- 光源标记与普通形状一样,是大致的视觉意图和空间关系描述。淡黄色仅用于识别,不限定色温。光源与受光区域并不相同,结合场景理解照明来源及其作用:矩形表达带状或延展光照,圆形表达局部光照。保留大致照明方位、延展趋势及对主体和空间的作用即可,宽窄、长短、弯曲、连续性、边缘和强弱可随场景自由变化。用户指令和节点备注优先,未指定时由 Agent 决定;不要从参考图自行推导固定宽度、等宽直线、完整贯穿、中强对比或缩略图醒目等额外要求。逐个理解多个光源,成片效果允许拆分、叠加和融合。生成后按整体照明是否大致呼应构图判断,不逐边、逐段或按宽度比对;只有用户明确要求时才收紧对应限制,也不要完全忽略已画出的照明意图。","lightBandGuidance":"光带意图:大致保留这里的带状或延展光照及其空间作用,表现可因场景变窄、变宽、弯曲、断续或融合;不要求一条完整、笔直、等宽或醒目的亮条。宽度、长度、边缘和强弱优先遵循用户指令及本节点备注,未指定时由 Agent 自由安排,整体大致呼应即可。","planningGuidance":"以下构图规划表达布局意图,结合整体要求与备注使用;辅助线、轴线、螺旋和三角轮廓本身不应画进成品。位置相对于画面左上角,角度从向右的水平方向顺时针计量。","planningGrid":"- {{type}}:{{axes}}分割线。","planningSymmetry":"- 对称构图:对称轴经过画面中心({{x}}%,{{y}}%),方向 {{rotation}}\xb0。","planningSpiral":"- 黄金螺旋:收束位置({{x}}%,{{y}}%),外端方向 {{rotation}}\xb0,外半径为画面短边的 {{scale}}%,{{winding}}。","planningClockwise":"向外顺时针展开","planningCounterclockwise":"向外逆时针展开","planningTriangle":"- 三角构图:等腰三角形,顶点为 {{points}}。","planningRadial":"- 放射构图:汇聚点({{x}}%,{{y}}%),{{rayCount}} 条等角间隔射线,从 {{rotation}}\xb0 起顺时针展开 {{spread}}\xb0。","planningRadialFree":"- 自由放射构图:汇聚点({{x}}%,{{y}}%),{{rayCount}} 条射线,各自方向为 {{angles}}(从向右的水平方向顺时针计量)。"},"depth":{"label":"景别","auto":"自动","foreground":"前景","midground":"中景","background":"背景","prompt":"- 景别:{{shotScale}}"},"mode":{"label":"构图模式","placeholder":"请选择","scene":"场景构图","editorial":"版式编排","prompt":"构图模式:{{semantic}}","unselected":"未选择","unselectedGuidance":"- 尚未选择构图模式;请先确认使用场景构图还是版式编排。","sceneGuidance":"- 按场景构图处理全部区域;文字区域可以作为画面元素参与透视、变形和前后遮挡。","editorialGuidance":"- 按静态平面版式编排处理全部区域,统筹视觉层级、对齐、间距、留白、阅读空间和焦点关系;区域不是 UI 组件或固定色块。"},"refinement":{"objective":"精修目标","observations":"判断依据","uncertainties":"待确认事项","preserve":"保留关系","tradeoffs":"取舍","relations":"关系验证","retained":"保留原构图","target":"目标值","before":"原图测量","after":"精修测量","error":"达成偏差","unmeasurable":"不适用","framePlacement":"分割线定位","sizeRatio":"尺寸比例","mirrorSymmetry":"轴对称","focusFlow":"焦点引导","focusAnchor":"焦点定位","axisRelation":"轴线关系","rotationAlignment":"方向对齐","blockAlignment":"区域对齐","spacingRhythm":"等距排列"},"lightSource":{"toggle":"作为光源"},"textRegion":{"cornerLabel":"文字轮廓角点 {{index}}","cornerHelp":"选中文字区域后,按住 Ctrl 拖动角点调整轮廓;聚焦角点后可用方向键微调。"},"planning":{"title":"构图规划","add":"添加规划","empty":"暂无构图规划","types":{"thirds":"三分构图","golden-section":"黄金分割","symmetry":"对称构图","golden-spiral":"黄金螺旋","triangle":"三角构图","radial":"放射构图"},"visible":"显示规划","axes":"分割方向","both":"横纵","horizontal":"水平","vertical":"垂直","x":"横向位置(%)","y":"纵向位置(%)","rotation":"旋转角度(\xb0)","scale":"螺旋尺寸(%)","mirrored":"镜像螺旋","handle":"规划控制点 {{index}}","help":"Shift 点击多选规划,拖动已选辅助线一起移动;三分、黄金分割和对称构图保持固定。三分和黄金分割仅可在侧栏选择。方向键可微调,Delete 可删除。","width":"底边宽度(%)","height":"三角高度(%)","triangleHelp":"拖动顶点调整朝向和高度;拖动底角调整底边与高度,两侧始终对称。","symmetryHelp":"中心固定;拖动另一圆点吸附到原有八个方向或画框四角方向。四角方向随画框比例变化,正方形时合并重复点。方向键可逐档切换。","spiralHelp":"点击中心圆点切换顺/逆时针;拖动中心移动螺旋,拖动外端圆点调整角度和大小。","spiralDirection":"切换螺旋方向(顺时针/逆时针)","rayCount":"射线数量","spread":"展开角度(\xb0)","radialHelp":"均匀模式设置起始方向和展开角度;自由模式拖动每条射线的圆点分别调整方向,中心圆点移动汇聚点。切到自由保留方向,切回均匀按当前数量整圈均布。","lock":"锁定构图规划","unlock":"解锁构图规划","showAll":"显示构图线","hideAll":"隐藏构图线","radialMode":"放射模式","radialUniform":"均匀","radialFree":"自由","rayHandle":"射线 {{index}} 方向"}},"uiSketch":{"title":"UI 界面","canvas":"UI 界面画布","globalNote":{"title":"对整个界面的要求","placeholder":"例如:整体保持安静,突出当前任务和主要操作","ariaLabel":"UI 界面的全局备注"},"canvasLabels":{"canvasViewport":"UI 界面无限画布","scene":"UI 界面场景","region":"区域","addRegion":"添加区域","text":"文字","addText":"添加文字","newText":"文字","resetFrame":"重置范围","rangeTitle":"范围","lockFrame":"锁定范围","unlockFrame":"解锁范围","clearCanvas":"清空画布","clearCanvasConfirmTitle":"确认清空画布?","clearCanvasConfirmDescription":"将移除全部区域、文字和图片。","fitFrame":"适应界面范围","sideActions":"UI 界面操作","collapseSideActions":"收起 UI 界面操作","expandSideActions":"展开 UI 界面操作","frameAction":"移动或调整界面范围","frameRange":"界面范围","missingRegionNote":"未填写备注","editRegionNote":"编辑区域信息","editText":"编辑文字","emptyText":"---文字未输入---","visibility":"显示状态","visible":"显示","hidden":"隐藏","fontSize":"字号","decreaseFontSize":"减小字号","increaseFontSize":"增大字号","selectedItemsPrefix":"已选择 ","selectedItemsSuffix":" 个元素","noSelection":"未选择元素","groupItems":"建组","ungroupItems":"解组"},"prompt":{"staticTitle":"请根据以下信息设计并实现界面。","motionTitle":"请根据以下信息设计并实现界面及状态过渡。","canvasSize":"画布建议尺寸:{{width}} \xd7 {{height}}px","layoutHeading":"布局说明:","canvasOrigin":"- 画布左上角为坐标原点。","referenceValues":"- 以下坐标、尺寸和字号均为参考值,用于帮助理解元素的大致方位、层级关系和变化趋势。","perceptibleElementGuidance":"- 草图只表达用户可见、可读、可识别或可交互的关键元素及其空间关系。矩形表示可感知的内容范围或视觉表面,不是组件树节点;不要把纯布局 wrapper、Stack、Grid 或无独立视觉意义的父级矩形实现为容器。","flexibleImplementation":"- 不要求使用固定定位或逐像素复现。请结合真实内容、组件约束和响应式布局,将数值调整得更合理、美观。","motionStateGuidance":"- 状态按标签顺序依次过渡;每组过渡的前一个状态描述基准画面,后一个状态只列出变化的属性,未列出的属性保持不变。","elementsHeading":"界面元素:","imageNumber":"图片#{{index}}","regionNumber":"区域#{{index}}","textNumber":"文字#{{index}}","referencePosition":"参考位置:x={{x}}px,y={{y}}px","referenceSize":"参考尺寸:宽={{width}}px,高={{height}}px","referenceFontSize":"参考字号:{{fontSize}}px","startState":"- 状态 1:","endState":"- 状态 2:","changeVisible":"改为显示","changeHidden":"改为隐藏","motionClosing":"请根据各元素的状态变化设计自然的布局过渡。参考坐标用于表达相对方位和移动趋势,不应直接实现为僵硬的固定位置。","stateHeading":"- {{name}}:"},"views":{"start":"状态 1","end":"状态 2","switch":"界面状态","enableMotion":"添加状态"},"session":{"new":"新 UI 界面会话","untitled":"未命名 UI 界面","loading":"正在加载 UI 界面","revisionConflict":"UI 界面已由其他操作更新到版本 {{revision}}。请重新打开该会话后再修改。","typeMismatch":"该会话不是 UI 界面会话,无法在 UI 界面编辑器中打开。","serviceOutdated":"当前 Human2AI 服务尚不支持 UI 界面。请重新启动开发服务,然后重试。"},"motion":{"copyPrompt":"动效"},"states":{"defaultName":"状态 {{number}}","name":"状态名称","actions":"{{name}}的状态操作","new":"新建状态","delete":"删除状态","deleteTitle":"确认删除状态“{{name}}”?","reorderHint":"长按标签拖动排序;也可按 Ctrl + Shift + 左右方向键移动。","notFound":"找不到界面状态:{{state}}。"},"preview":{"outputFormatError":"UI 预览输出文件必须使用 .png 或 .svg 扩展名。"}},"clipboard":{"group":"复制","copyPrompt":"复制提示词","copied":"复制成功","promptFailed":"复制提示词失败。","promptUnsupported":"当前浏览器不支持复制提示词。","copyPreview":"复制预览图","previewFailed":"复制预览图失败。","previewDownloaded":"浏览器不支持复制图片,预览图已下载"},"visualWeight":{"auto":"自动","high":"高","medium":"中","low":"低","decorative":"装饰","label":"视觉权重","prompt":"- 视觉权重:{{weight}}"},"dimensions":{"width":"宽","height":"高"},"textContent":{"label":"显示文字","prompt":"- 显示文字:{{text}}","compositionPlaceholder":"填写指定文字;留空由模型生成文字内容","uiSketchPlaceholder":"输入文字"},"errors":{"serviceSync":"无法同步 Human2AI 服务:{{message}}","operationFailed":"操作失败,请重试。"},"confirmations":{"deleteNode":"确认删除这个节点?","deleteRegion":"确认删除这个区域?","deleteText":"确认删除这段文字?"},"sessionStyle":{"label":"会话风格","choose":"选择风格","dialogTitle":"为当前会话选择风格","unbind":"解除风格绑定","select":"使用此风格","pending":"尚未按当前风格加工","conflict":"会话或风格已更新,请重新读取后再试。","prompt":"风格:{{summary}}"},"spatial":{"title":"3D 空间","spaceTab":"空间","workspaceViews":"切换空间视图","cameraPreviewPending":"保存后显示预览","newSpace":"新建 3D 空间","newInProject":"在“{{project}}”中新建 3D 空间","untitled":"未命名 3D 空间","objects":"空间对象","cameras":"摄像机","addCharacter":"人物","character":"人物","addCamera":"摄像机","camera":"摄像机 {{number}}","box":"方块","sphere":"球体","plane":"平面","position":"空间位置","rotation":"空间旋转","lockPosition":"固定位置","lockRotation":"固定旋转","proportions":"头身比例","height":"人物身高","name":"对象名称","size":"物体尺寸","color":"显示颜色","joints":"关节","editView":"编辑视角","cameraView":"镜头预览","useView":"采用当前视角","projection":"投影方式","perspective":"透视投影","orthographic":"正交投影","fov":"视野角度","span":"取景高度","target":"观察目标","outputWidth":"输出宽度","outputHeight":"输出高度","transparent":"透明背景","reference":"3D 镜头","addReference":"添加 3D 镜头","selectSpace":"选择 3D 空间","selectCamera":"选择摄像机","openSource":"编辑源空间","snapshot":"另存为图片节点","sourceMissing":"源空间或摄像机已不存在","constrained":"已到达约束范围","invalid":"空间数据或关节约束无效","loadFailed":"无法读取 3D 空间","saveFailed":"未能保存,请重试","conflict":"空间已有更新,请重新载入后继续","duplicate":"复制空间对象","deleteConfirm":"删除这个空间对象?","empty":"空间内还没有对象","noSpaces":"还没有可引用的 3D 空间","viewport":"3D 编辑区域","webglFailed":"无法启动 3D 视图","translate":"移动关节或对象","rotate":"旋转骨段或对象","jointName":"关节 {{name}}","x":"X 轴","y":"Y 轴","z":"Z 轴","jointPelvis":"骨盆","jointSpine":"腰部关节","jointChest":"胸部","jointNeck":"颈部","jointHead":"头部","jointLeftShoulder":"左肩","jointLeftElbow":"左肘","jointLeftHand":"左掌心","jointLeftHip":"左髋","jointLeftKnee":"左膝","jointLeftFoot":"左脚","jointRightShoulder":"右肩","jointRightElbow":"右肘","jointRightHand":"右掌心","jointRightHip":"右髋","jointRightKnee":"右膝","jointRightFoot":"右脚","infoToolsTab":"信息与工具","panelViews":"切换空间面板","parameters":"参数","translateMode":"移动","rotateMode":"旋转","bones":"骨段","localRotation":"局部旋转","angleMinimum":"角度下限","angleMaximum":"角度上限","resetPose":"复原姿势","resetPoseHint":"恢复默认姿势并解除此人物的固定,可撤销。","showRig":"显示关节与骨段","showCameras":"显示摄像机","lightingEffects":"光照效果","jointLeftWrist":"左腕","jointLeftAnkle":"左踝","boneLeftShoulder":"左锁骨","boneLeftElbow":"左上臂","boneLeftWrist":"左前臂","boneLeftHand":"左手掌","boneLeftHip":"左髋骨","boneLeftKnee":"左大腿","boneLeftAnkle":"左小腿","boneLeftFoot":"左脚","jointRightWrist":"右腕","jointRightAnkle":"右踝","boneRightShoulder":"右锁骨","boneRightElbow":"右上臂","boneRightWrist":"右前臂","boneRightHand":"右手掌","boneRightHip":"右髋骨","boneRightKnee":"右大腿","boneRightAnkle":"右小腿","boneRightFoot":"右脚","boneSpine":"腰部","boneChest":"胸部骨段","boneNeck":"颈部骨段","boneHead":"头部","selectObjectForParameters":"选择对象以查看参数","bodyLegRatio":"躯干/腿部比例","torso":"躯干","legs":"腿部","bodyLegRatioHint":"按默认姿势计算,不含头部。向右拖动会缩短腿部,躯干与腿部各保留 30%–70%。","resetBodyLegRatio":"恢复默认比例","proportionsLocked":"固定关节阻止了比例调整,请先解除相关位置固定。","bodyType":"人物外形","bodyMale":"男性","bodyFemale":"女性","handLeft":"左手","handRight":"右手","fingerThumb":"拇指","fingerIndex":"食指","fingerMiddle":"中指","fingerRing":"无名指","fingerLittle":"小指","fingerRoot":"{{finger}}指根关节","fingerMiddleJoint":"{{finger}}中间关节","fingerDistalJoint":"{{finger}}末节关节","fingerTip":"{{finger}}指尖","fingerProximalBone":"{{finger}}近节骨段","fingerMiddleBone":"{{finger}}中节骨段","fingerDistalBone":"{{finger}}末节骨段","thumbMetacarpal":"拇指掌骨段","thumbProximal":"拇指近节骨段","fingerCurl":"{{finger}}弯曲","fingerSpread":"手指张开","thumbOpposition":"拇指内收","resetHand":"复原手部","resetHandHint":"恢复手掌和手指的默认姿势并解除其固定,保留手腕位置与手臂姿势,可撤销。","neckLength":"脖子长度","palmSize":"手掌大小","fingerLength":"手指长度","footSize":"脚部大小","bodyShapeHint":"100% 为当前头身比例的默认形态。手脚左右同步;手掌大小也影响手指粗细,手指长度单独调节。","referencePass":"参考图类型","referenceColor":"普通图","referenceStructure":"结构线","referenceDepth":"深度图","downloadReference":"下载 PNG","referenceLoadFailed":"参考图加载失败","cameraBox":"摄像机观察盒","cameraBoxTab":"观察盒","cameraBoxFrontToggle":"前","cameraBoxBackToggle":"后","cameraBoxLeftToggle":"左","cameraBoxRightToggle":"右","cameraBoxTopToggle":"顶","cameraBoxBottomToggle":"底","copyObservationImage":"复制观察图","downloadObservationImage":"下载观察图","observationCopyFailed":"复制观察图失败,请重试或下载图片。","observationDownloadFailed":"下载观察图失败,请重试。","noCameraBoxes":"暂无观察盒","noObservationDirections":"请选择至少一个观察方向","addCameraBox":"观察盒","cameraBoxSize":"边长(米)","cameraBoxResolution":"单图分辨率","cameraBoxView":"观察方向","cameraBoxSheet":"六方位合图","cameraBoxFront":"正面(+Z)","cameraBoxBack":"背面(−Z)","cameraBoxLeft":"左面(−X)","cameraBoxRight":"右面(+X)","cameraBoxTop":"顶面(+Y)","cameraBoxBottom":"底面(−Y)","fitCameraBoxScene":"框住全空间对象","fitCameraBoxHands":"框住全部手部","cameraBoxHint":"六面向内正交取景,只显示盒内内容。方向随观察盒旋转,合图用于辅助理解姿势;构图仍参考主镜头。","cameraBoxTargetError":"请选择普通摄像机或观察盒其中之一。","cameraBoxViewTargetError":"观察方向参数只能用于观察盒。","cameraBoxViewError":"观察方向须为 sheet、front、back、left、right、top 或 bottom。","cameraBoxViewsError":"请从 front、back、left、right、top、bottom 中选择 1–6 个不重复的方向,并用逗号分隔。","cameraBoxViewConflict":"--view 和 --views 只能使用其中一个。","cameraBoxGenerationGuidance":"主镜头决定最终构图。观察盒合图展示同一空间同一时刻,方向标签是观察盒的局部坐标,不是身体左右标记。仅用辅助图理解遮挡、手指归属和大致弯曲意图。最终画面不出现合图排版、重复人物、方向文字或关节/身体分块线;允许自然地修正姿势和手指接触,不必逐像素复原。","referenceSkeleton":"骨架投影","renderPassError":"--pass 必须为 {{passes}} 之一。","appearance":"模型样式","appearanceQuaternius":"人体模型","appearanceGeometric":"几何人偶","editObject":"编辑物件"},"canvasHistory":{"undo":"撤销","redo":"重做","label":"编辑历史"},"canvasStates":{"switch":"布局状态"}}')},91093:(e,t,o)=>{o.d(t,{Gi:()=>c,EM:()=>d,wl:()=>p});var i=o(80119);let a=JSON.parse('{"canvasLayers":{"bringToFront":"Bring to front","bringForward":"Bring forward","sendBackward":"Send backward","sendToBack":"Send to back"},"app":{"title":"human2ai","repositoryLink":"{{productName}}\'s GitHub URL"},"integrations":{"workbuddy":{"description":"Create and edit compositions, UI sketches and 3D spaces in a shared local workspace.","examples":{"composition":"Recreate this reference image\'s composition on a canvas I can keep editing.","uiSketch":"Read this UI sketch, adjust the layout using my notes, and export a preview.","spatial":"Create a 3D space, pose a character, and export the camera view."}}},"home":{"description":"Explore ideas through compositions, UI sketches and 3D spaces, and refine your designs with AI.","createComposition":"Create composition","createUiSketch":"Create interface","createSpatial":"Create 3D space","skillInstallation":{"title":"Install skill","agentTab":"Agent","cliTab":"CLI","agentPrompt":"Install the Human2AI skill in this project: run npx skills add yisi-ai/human2ai --skill human2ai, select project scope and your agent type, then confirm the skill is discoverable and report its installation path.","copy":"Copy content","copying":"Copying content","copyFailed":"Copy failed. Select and copy the text manually."}},"navigation":{"composition":"Composition"},"shell":{"sidebar":"Human2AI application sidebar","navigation":"Human2AI application navigation","collapseSidebar":"Collapse application sidebar","expandSidebar":"Expand application sidebar","rightPanel":"Action panel","collapseRightPanel":"Collapse action panel","expandRightPanel":"Expand action panel"},"language":{"selectorLabel":"Interface language"},"styleLibrary":{"title":"Style library","newStyle":"New style","editStyle":"Edit style","name":"Name","namePlaceholder":"Enter a style name","category":{"label":"Category","all":"All types","visual":"Visual","ui":"UI","spatial":"3D"},"creator":{"label":"Creator","all":"All creators","user":"User","agent":"Agent"},"references":{"heading":"Reference","empty":"No reference images","add":"Add references","remove":"Remove reference image","pasteHint":"Paste images here or choose local files.","fileTypes":"Reference images can be PNG, JPEG, or WebP up to 10 MB."},"description":{"heading":"Design specification","placeholder":"Describe the layout, proportions, visual hierarchy, and decorative treatment.","spatialPlaceholder":"Describe forms, proportions, materials, palette, lighting, and camera treatment."},"searchPlaceholder":"Search styles","deleteTitle":"Delete this style?","deleteDescription":"The style and all of its reference images and models will be permanently deleted.","empty":"No styles yet","noMatches":"No matching styles","loading":"Loading styles","loadFailed":"Could not load styles","save":"Save","imageInvalid":"Choose valid PNG, JPEG, or WebP images up to 10 MB.","openStyle":"Open {{name}}","closePreview":"Close style preview","promptSummary":{"label":"Style summary","placeholder":"Summarize the defining visual traits in one sentence."},"model":{"label":"Model example","loading":"Loading model","failed":"Could not preview the model","reset":"Reset model view","controls":"Drag to rotate, scroll to zoom. When focused, use arrow keys to rotate, + / − to zoom, and Home to reset."}},"notes":{"global":{"label":"Global note","promptHeading":"Overall direction:"},"element":{"label":"Note","prompt":"- Note: {{note}}","nodePlaceholder":"Describe what this node represents","regionPlaceholder":"Describe the layout content represented by this region","textPlaceholder":"Describe what this text communicates"}},"sessionDetails":{"title":"Session details","created":"Created","updated":"Last updated","nodes":"Nodes","agent":"Agent","copyCommand":"Copy command","copying":"Copying","copyFailed":"Copy failed","emptyValue":"—","agentCommand":"Use the following CLI command to connect to the current session:\\n\\n{{command}}\\n\\nOnce connected, stop and wait for the next instruction."},"workspaceSidebar":{"functionArea":"Actions","projectArea":"Projects","newComposition":"New composition","newCompositionInProject":"New composition in “{{project}}”","newUiSketch":"New interface","newUiSketchInProject":"New interface in “{{project}}”","newProject":"New project","projectNamePlaceholder":"Enter project name","unassigned":"No project","imageCompositionSession":"Composition session","uiLayoutSession":"Interface session","sessionActions":"Session actions","projectActions":"Project actions","confirmRename":"Confirm","moveSessionTitle":"Move session","selectProject":"Select project","moveUnavailable":"No other project available","projectNameConflict":"Project names must be unique","renameProjectTitle":"Rename project","deleteProjectTitle":"Delete project","deleteProjectDescription":"This action cannot be undone.","deleteProjectDisabled":"Projects with child items cannot be deleted","renameSessionTitle":"Rename session","renameSessionPlaceholder":"Enter session name","deleteSessionTitle":"Delete session","deleteSessionDescription":"Deleting this session also removes its drafts and refinement records.","loading":"Loading projects","loadFailed":"Could not load projects"},"actions":{"start":"Start","delete":"Delete","cancel":"Cancel","keep":"Keep","deleteNode":"Delete node","deleteRegion":"Delete region","deleteText":"Delete text","create":"Create","rename":"Rename","move":"Move","retry":"Retry"},"canvas":{"imageNode":{"label":"Image","add":"Add image","promptHeading":"Image nodes:"},"imageEditor":{"content":"Image content","upload":"Upload image","replace":"Replace image","uploading":"Uploading","uploadFailed":"Could not upload the image. Try again.","fileTypes":"PNG, JPEG, WebP, or SVG, up to 10 MB.","svgSource":"SVG source","svgPaste":"Paste SVG","svgApply":"Use SVG","svgSaveFailed":"Could not save SVG. Check the code and try again.","svgCopy":"Copy source","svgCopying":"Copying source","svgCopyFailed":"Could not copy source","sourceLoading":"Loading image content","sourceLoadFailed":"Could not load image content. Try again.","download":"Download image","downloading":"Downloading","downloadFailed":"Could not download the image. Try again."},"imageCrop":{"title":"Crop image","loadFailed":"Could not load the image. Upload it again."},"tools":{"label":"Tools"},"viewport":{"help":"Canvas controls","instructions":"Select a node tool, then click to place. Drag to size shapes and images or set a flow direction; Esc cancels. Use the wheel to zoom; drag with the secondary button, or hold Space and drag with the primary button."},"node":{"nodeDescription":"Node description","originUser":"user","originAgent":"agent","originImport":"import"}},"canvasNodeEditor":{"title":"Edit node details","shapeKind":"Shape","pointKind":"Point"},"composition":{"session":{"new":"New composition session","untitled":"Untitled composition","loading":"Loading composition","revisionConflict":"Another operation updated this draft to revision {{revision}}. Reopen the session before editing it again.","typeMismatch":"This is not a composition session and cannot be opened in the composition editor."},"views":{"draft":"Composition","refined":"Refined","reference":"Preview","switch":"Composition view","draftCanvas":"User composition draft","refinedCanvas":"Agent-refined composition","referenceCanvas":"Composition structure for image generation"},"workflow":{"agentDecision":"Agent decision","appliedMethods":"Applied methods","protectionAudit":"Changes","maximumFocusShift":"Maximum focus shift","maximumAreaShift":"Maximum region shift","maximumRotationShift":"Maximum rotation change"},"workspace":"Canvas workspace","clearCanvas":"Clear canvas","clearCanvasConfirmTitle":"Clear the canvas?","clearCanvasConfirmDescription":"All composition content and settings will return to their defaults.","collapseTools":"Collapse tools","expandTools":"Expand tools","globalNote":{"title":"Direction for the entire image","placeholder":"For example: emphasize the subject on the left and keep breathing room on the right","ariaLabel":"Global note for the composition draft"},"flow":{"label":"Flow","controlPoint":"Flow control point {{number}}","promptHeading":"Flow:","promptReference":"- The flow passes through a position {{x}}% from the left and {{y}}% from the top of the overall image, at an angle of approximately {{rotation}}\xb0"},"elementCapacity":{"compact":"{{current}}/{{limit}}","ariaLabel":"{{label}}, {{current}} of {{limit}} placed"},"toolNames":{"focus":"Focus","circle":"Circle","triangle":"Triangle","quadrilateral":"Rectangle","textRegion":"Text region"},"canvasZoom":"Current zoom","zoomOut":"Zoom out","zoomIn":"Zoom in","fitAll":"Fit all","frameRatio":"Frame ratio","aspectRatioTitle":"Ratio","lockFrame":"Lock frame","unlockFrame":"Unlock frame","areaOverview":"Area overview","occupied":"Occupied","negativeSpace":"Negative space","currentSelection":"Current selection","none":"None","prompt":{"title":"Design an image from the following information. If a reference image is attached, use it as an overall layout reference.","outputRatio":"Output ratio: {{ratio}}","regionSemanticsGuidance":"- Every region is a zone of visual influence, not a fixed final silhouette. Unless a note explicitly requires it, do not reproduce complete boundaries, outlines, or closed panels.","displayTextGuidance":"- Every text region must contain visible typography. Provided display text must appear exactly; a blank field means the model creates the copy, not that typography may be omitted. Text may be distorted or partially occluded according to its depth and image relationships.","layoutHeading":"Overall layout requirements:","coordinateOrigin":"- Positions are percentages relative to the overall image, with 0%, 0% at the top left.","referenceValues":"- Positions, proportions, and angles describe the visual relationships among the main content.","flexibleImplementation":"- Preserve relative placement, scale hierarchy, visual weight, depth, and visual flow. Reconstruct, split, merge, overlap, or bleed regions as the real content requires.","referenceImageGuidance":"- The uploaded reference image expresses only approximate placement, visual weight, and distribution. It is a spatial cue, not line art; do not reproduce complete boundaries, markers, or lines in the final image.","metricsHeading":"Overall image relationships:","occupied":"- Main content occupies about {{value}}% of the overall image","negativeSpace":"- Negative space is about {{value}}%","focusHeading":"Visual focal points:","focusNumber":"Focus #{{index}}","areaHeading":"Main content distribution:","areaNumber":"Content region #{{index}}","imageNumber":"Image #{{index}}","textRegionNumber":"Text region #{{index}}","generatedDisplayText":"- Copy: Create suitable text, but do not leave this region blank or replace it with ordinary image content","referencePosition":"- Reference position: {{x}}% from the left, {{y}}% from the top","referenceArea":"- Visible content occupies about {{area}}% of the overall image","referenceRotation":"- Visual distribution trends at approximately {{rotation}}\xb0","referenceClipping":"- Content extends beyond the image on the {{sides}}","sideSeparator":", ","top":"top","right":"right","bottom":"bottom","left":"left","lightSourceNumber":"Light source {{index}}","lightSourceGuidance":"- Like ordinary shape regions, light markers describe approximate visual intent and spatial relationships. Pale yellow identifies lighting, not color temperature. A source is distinct from the area it illuminates: interpret its origin and contribution in the scene. Rectangles suggest band-shaped or extended illumination; circles suggest localized illumination. Retain the broad lighting placement, extension trend and contribution to subject and space, while freely adapting width, length, curvature, continuity, edges and strength to the scene. User instructions and node notes take precedence; otherwise the Agent chooses. Do not infer fixed width, straight constant-width strips, full-frame coverage, medium-strong contrast or thumbnail prominence from the reference. Consider sources individually while allowing their visible effects to split, overlap or blend. Review whether the overall lighting broadly echoes the composition rather than comparing edges, segments or widths; tighten a constraint only when the user explicitly requests it, and do not ignore the authored lighting intent entirely.","lightBandGuidance":"Light-band intent: broadly retain the extended or band-like illumination and its spatial role here. Its realization may narrow, widen, curve, break up or blend with the scene; a complete, straight, constant-width or conspicuous stripe is not required. User instructions and this node’s notes take precedence for width, length, edges and strength; otherwise the Agent interprets them freely. An approximate overall correspondence is sufficient.","planningGuidance":"Use the following plans as composition intent alongside the overall requirements and notes. Do not draw the guide lines, axes, spiral or triangle outline in the artwork. Positions are relative to the top-left of the image; angles run clockwise from the rightward horizontal.","planningGrid":"- {{type}}: {{axes}} divisions.","planningSymmetry":"- Symmetrical composition: axis through the image center ({{x}}%, {{y}}%), direction {{rotation}}\xb0.","planningSpiral":"- Golden spiral: pole at ({{x}}%, {{y}}%), outer radius directed at {{rotation}}\xb0, radius {{scale}}% of the shorter image side, {{winding}}.","planningClockwise":"expanding clockwise","planningCounterclockwise":"expanding counterclockwise","planningTriangle":"- Triangular composition: isosceles triangle with vertices at {{points}}.","planningRadial":"- Radial composition: convergence point ({{x}}%, {{y}}%), {{rayCount}} evenly spaced rays starting at {{rotation}}\xb0 and spanning {{spread}}\xb0 clockwise.","planningRadialFree":"- Free radial composition: convergence point ({{x}}%, {{y}}%), {{rayCount}} rays with independent directions: {{angles}} (clockwise from the rightward horizontal)."},"depth":{"label":"Depth","auto":"Auto","foreground":"Foreground","midground":"Midground","background":"Background","prompt":"- Depth: {{shotScale}}"},"mode":{"label":"Mode","placeholder":"Select","scene":"Scene","editorial":"Editorial","prompt":"Mode: {{semantic}}","unselected":"Not selected","unselectedGuidance":"- Choose Scene or Editorial before continuing.","sceneGuidance":"- Compose every region as part of one scene. Text may follow perspective, distortion, layering, and partial occlusion.","editorialGuidance":"- Arrange every region as an editorial layout, balancing hierarchy, alignment, spacing, negative space, reading flow, and focal relationships. Regions are not UI components or fixed panels."},"refinement":{"objective":"Refinement objective","observations":"Observations","uncertainties":"Uncertainties","preserve":"Preserved intent","tradeoffs":"Tradeoffs","relations":"Relation checks","retained":"Composition retained","target":"Target","before":"Before","after":"After","error":"Deviation","unmeasurable":"Not applicable","framePlacement":"Frame division","sizeRatio":"Size ratio","mirrorSymmetry":"Mirror symmetry","focusFlow":"Focal guidance","focusAnchor":"Focus placement","axisRelation":"Axis relationship","rotationAlignment":"Orientation alignment","blockAlignment":"Area alignment","spacingRhythm":"Equal spacing"},"lightSource":{"toggle":"Use as light source"},"textRegion":{"cornerLabel":"Text outline corner {{index}}","cornerHelp":"Select a text region and hold Ctrl to drag its corners. Focus a corner and use the arrow keys for fine adjustments."},"planning":{"title":"Composition planning","add":"Add plan","empty":"No composition plans","types":{"thirds":"Rule of thirds","golden-section":"Golden section","symmetry":"Symmetrical composition","golden-spiral":"Golden spiral","triangle":"Triangular composition","radial":"Radial composition"},"visible":"Show plan","axes":"Grid directions","both":"Horizontal and vertical","horizontal":"Horizontal","vertical":"Vertical","x":"Horizontal (%)","y":"Vertical (%)","rotation":"Rotation (\xb0)","scale":"Spiral size (%)","mirrored":"Mirror spiral","handle":"Plan control {{index}}","help":"Shift-click to select multiple plans and drag a selected guide to move them together. Thirds, golden-section and symmetry guides stay fixed. Select thirds and golden-section plans in the sidebar. Arrow keys nudge; Delete removes a plan.","width":"Base width (%)","height":"Triangle height (%)","triangleHelp":"Drag the apex to rotate and adjust height. Drag a base corner to resize; both sides stay symmetric.","symmetryHelp":"The center stays fixed. Drag the other dot to one of eight regular directions or four frame-corner directions. Corner directions follow the frame ratio; duplicate positions merge for a square. Arrow keys step between positions.","spiralHelp":"Click the center dot to switch clockwise/counterclockwise. Drag it to move the spiral; drag the outer dot to rotate and resize.","spiralDirection":"Switch spiral direction (clockwise/counterclockwise)","rayCount":"Ray count","spread":"Spread (\xb0)","radialHelp":"Uniform mode uses a starting direction and spread. In Free mode, drag each ray’s dot to adjust its direction; drag the center to move the convergence point. Switching to Free preserves directions; switching back to Uniform redistributes the current rays around a full circle.","lock":"Lock composition planning","unlock":"Unlock composition planning","showAll":"Show composition guides","hideAll":"Hide composition guides","radialMode":"Radial mode","radialUniform":"Uniform","radialFree":"Free","rayHandle":"Ray {{index}} direction"}},"uiSketch":{"title":"Interface","canvas":"Interface canvas","globalNote":{"title":"Direction for the entire interface","placeholder":"For example: keep it quiet and emphasize the current task and primary action","ariaLabel":"Global note for the interface"},"canvasLabels":{"canvasViewport":"Interface infinite canvas","scene":"Interface scene","region":"Region","addRegion":"Add region","text":"Text","addText":"Add text","newText":"Text","resetFrame":"Reset frame","rangeTitle":"Size","lockFrame":"Lock frame","unlockFrame":"Unlock frame","clearCanvas":"Clear canvas","clearCanvasConfirmTitle":"Clear the canvas?","clearCanvasConfirmDescription":"All regions, text, and images will be removed.","fitFrame":"Fit interface frame","sideActions":"Interface actions","collapseSideActions":"Collapse interface actions","expandSideActions":"Expand interface actions","frameAction":"Move or resize interface frame","frameRange":"Interface frame","missingRegionNote":"No note","editRegionNote":"Edit region details","editText":"Edit text","emptyText":"---No text entered---","visibility":"Visibility","visible":"Visible","hidden":"Hidden","fontSize":"Font size","decreaseFontSize":"Decrease font size","increaseFontSize":"Increase font size","selectedItemsPrefix":"Selected ","selectedItemsSuffix":" items","noSelection":"No items selected","groupItems":"Group","ungroupItems":"Ungroup"},"prompt":{"staticTitle":"Design and implement an interface using the following information.","motionTitle":"Design and implement the interface and its state transitions using the following information.","canvasSize":"Suggested canvas size: {{width}} \xd7 {{height}}px","layoutHeading":"Layout guidance:","canvasOrigin":"- Use the top-left corner of the canvas as the coordinate origin.","referenceValues":"- The coordinates, dimensions, and font sizes below are reference values that communicate approximate placement, hierarchy, and transition direction.","perceptibleElementGuidance":"- The sketch contains only key elements that users can see, read, recognize, or interact with and their spatial relationships. A rectangle represents a perceptible content footprint or visual surface, not a component-tree node; do not implement layout-only wrappers, stacks, grids, or parent rectangles with no independent visual meaning as containers.","flexibleImplementation":"- Do not reproduce them with rigid fixed positioning or pixel-perfect placement. Adjust them to suit the actual content, component constraints, responsive layout, and visual quality.","motionStateGuidance":"- States transition in tab order. In each transition, the first state describes the baseline appearance; the next state lists only changed properties. Properties not listed remain unchanged.","elementsHeading":"Interface elements:","imageNumber":"Image #{{index}}","regionNumber":"Region #{{index}}","textNumber":"Text #{{index}}","referencePosition":"Reference position: x={{x}}px, y={{y}}px","referenceSize":"Reference size: width={{width}}px, height={{height}}px","referenceFontSize":"Reference font size: {{fontSize}}px","startState":"- State 1:","endState":"- State 2:","changeVisible":"Change to visible","changeHidden":"Change to hidden","motionClosing":"Design a natural layout transition from each element\'s state changes. Treat the reference coordinates as guidance for relative placement and movement, not as rigid fixed positions.","stateHeading":"- {{name}}:"},"views":{"start":"State 1","end":"State 2","switch":"Interface states","enableMotion":"Add state"},"session":{"new":"New interface session","untitled":"Untitled interface","loading":"Loading interface","revisionConflict":"Another operation updated this interface to revision {{revision}}. Reopen the session before editing it again.","typeMismatch":"This is not an interface session and cannot be opened in the interface editor.","serviceOutdated":"The current Human2AI service does not support interfaces. Restart the development service, then try again."},"motion":{"copyPrompt":"Motion"},"states":{"defaultName":"State {{number}}","name":"State name","actions":"Actions for {{name}}","new":"New state","delete":"Delete state","deleteTitle":"Delete state “{{name}}”?","reorderHint":"Hold a tab to drag it, or press Ctrl + Shift + Left/Right to reorder.","notFound":"Unknown UI state: {{state}}."},"preview":{"outputFormatError":"UI preview output must use a .png or .svg filename."}},"clipboard":{"group":"Copy","copyPrompt":"Copy prompt","copied":"Copied","promptFailed":"Could not copy the prompt.","promptUnsupported":"This browser cannot copy the prompt.","copyPreview":"Copy preview","previewFailed":"Could not copy the preview.","previewDownloaded":"This browser cannot copy images, so the preview was downloaded"},"visualWeight":{"auto":"Auto","high":"High","medium":"Medium","low":"Low","decorative":"Decorative","label":"Visual weight","prompt":"- Visual weight: {{weight}}"},"dimensions":{"width":"Width","height":"Height"},"textContent":{"label":"Display text","prompt":"- Display text: {{text}}","compositionPlaceholder":"Enter exact text, or leave blank for generated copy","uiSketchPlaceholder":"Enter text"},"errors":{"serviceSync":"Could not synchronize with Human2AI: {{message}}","operationFailed":"The action failed. Try again."},"confirmations":{"deleteNode":"Delete this node?","deleteRegion":"Delete this region?","deleteText":"Delete this text?"},"sessionStyle":{"label":"Session style","choose":"Choose style","dialogTitle":"Choose a style for this session","unbind":"Remove style","select":"Use this style","pending":"Not yet processed with this style","conflict":"The session or style has changed. Reload before trying again.","prompt":"Style: {{summary}}"},"spatial":{"title":"3D space","spaceTab":"Space","workspaceViews":"3D workspace view","cameraPreviewPending":"Preview available after saving","newSpace":"New 3D space","newInProject":"New 3D space in {{project}}","untitled":"Untitled 3D space","objects":"Scene objects","cameras":"Cameras","addCharacter":"Character","character":"Character","addCamera":"Camera","camera":"Camera {{number}}","box":"Box","sphere":"Sphere","plane":"Plane","position":"World position","rotation":"World rotation","lockPosition":"Lock position","lockRotation":"Lock rotation","proportions":"Head-to-body ratio","height":"Character height","name":"Object name","size":"Object size","color":"Display color","joints":"Joints","editView":"Editing view","cameraView":"Camera preview","useView":"Use current view","projection":"Projection","perspective":"Perspective","orthographic":"Orthographic","fov":"Field of view","span":"View height","target":"Look-at target","outputWidth":"Output width","outputHeight":"Output height","transparent":"Transparent background","reference":"3D camera view","addReference":"Add 3D camera view","selectSpace":"Select 3D space","selectCamera":"Select camera","openSource":"Edit source space","snapshot":"Save as image node","sourceMissing":"Source space or camera is unavailable","constrained":"Constraint reached","invalid":"Invalid scene or joint constraints","loadFailed":"Could not load the 3D space","saveFailed":"Could not save. Try again.","conflict":"The space has changed. Reload to continue.","duplicate":"Duplicate scene object","deleteConfirm":"Delete this scene object?","empty":"No objects in this space","noSpaces":"No 3D spaces available","viewport":"3D editing viewport","webglFailed":"Could not start the 3D view","translate":"Move joint or object","rotate":"Rotate bone or object","jointName":"Joint {{name}}","x":"X axis","y":"Y axis","z":"Z axis","jointPelvis":"Pelvis","jointSpine":"Waist joint","jointChest":"Chest","jointNeck":"Neck","jointHead":"Head","jointLeftShoulder":"Left shoulder","jointLeftElbow":"Left elbow","jointLeftHand":"Left palm center","jointLeftHip":"Left hip","jointLeftKnee":"Left knee","jointLeftFoot":"Left foot","jointRightShoulder":"Right shoulder","jointRightElbow":"Right elbow","jointRightHand":"Right palm center","jointRightHip":"Right hip","jointRightKnee":"Right knee","jointRightFoot":"Right foot","infoToolsTab":"Info & tools","panelViews":"3D panel view","parameters":"Properties","translateMode":"Move","rotateMode":"Rotate","bones":"Bone segment","localRotation":"Local rotation","angleMinimum":"Minimum angles","angleMaximum":"Maximum angles","resetPose":"Reset pose","resetPoseHint":"Restore the default pose and clear this character’s locks. Can be undone.","showRig":"Show joints and bones","showCameras":"Show cameras","lightingEffects":"Lighting effects","jointLeftWrist":"Left wrist","jointLeftAnkle":"Left ankle","boneLeftShoulder":"Left clavicle","boneLeftElbow":"Left upper arm","boneLeftWrist":"Left forearm","boneLeftHand":"Left palm","boneLeftHip":"Left hip connector","boneLeftKnee":"Left thigh","boneLeftAnkle":"Left lower leg","boneLeftFoot":"Left foot","jointRightWrist":"Right wrist","jointRightAnkle":"Right ankle","boneRightShoulder":"Right clavicle","boneRightElbow":"Right upper arm","boneRightWrist":"Right forearm","boneRightHand":"Right palm","boneRightHip":"Right hip connector","boneRightKnee":"Right thigh","boneRightAnkle":"Right lower leg","boneRightFoot":"Right foot","boneSpine":"Waist","boneChest":"Chest segment","boneNeck":"Neck segment","boneHead":"Head","selectObjectForParameters":"Select an object to view its properties","bodyLegRatio":"Torso / legs","torso":"Torso","legs":"Legs","bodyLegRatioHint":"Shares use rest height without the head. Move right for shorter legs. Each portion stays between 30% and 70%.","resetBodyLegRatio":"Reset proportions","proportionsLocked":"A fixed joint prevents this change. Unlock its position first.","bodyType":"Body model","bodyMale":"Male","bodyFemale":"Female","handLeft":"Left hand","handRight":"Right hand","fingerThumb":"Thumb","fingerIndex":"Index finger","fingerMiddle":"Middle finger","fingerRing":"Ring finger","fingerLittle":"Little finger","fingerRoot":"{{finger}} base joint","fingerMiddleJoint":"{{finger}} middle joint","fingerDistalJoint":"{{finger}} distal joint","fingerTip":"{{finger}} tip","fingerProximalBone":"{{finger}} proximal bone","fingerMiddleBone":"{{finger}} middle bone","fingerDistalBone":"{{finger}} distal bone","thumbMetacarpal":"Thumb metacarpal","thumbProximal":"Thumb proximal bone","fingerCurl":"{{finger}} curl","fingerSpread":"Finger spread","thumbOpposition":"Thumb opposition","resetHand":"Reset hand","resetHandHint":"Restore the palm and fingers and clear their locks, preserving the wrist and arm pose. Can be undone.","neckLength":"Neck length","palmSize":"Palm size","fingerLength":"Finger length","footSize":"Foot size","bodyShapeHint":"100% is the default for the current head proportions. Hands and feet stay symmetric. Palm size also changes finger thickness; finger length is separate.","referencePass":"Reference type","referenceColor":"Color","referenceStructure":"Structure lines","referenceDepth":"Scene depth","downloadReference":"Download PNG","referenceLoadFailed":"Could not load reference","cameraBox":"Camera box","cameraBoxTab":"Camera box","cameraBoxFrontToggle":"Front","cameraBoxBackToggle":"Back","cameraBoxLeftToggle":"Left","cameraBoxRightToggle":"Right","cameraBoxTopToggle":"Top","cameraBoxBottomToggle":"Bottom","copyObservationImage":"Copy observation image","downloadObservationImage":"Download observation image","observationCopyFailed":"Could not copy the observation image. Try again or download it.","observationDownloadFailed":"Could not download the observation image. Try again.","noCameraBoxes":"No camera boxes","noObservationDirections":"Select at least one direction","addCameraBox":"Camera box","cameraBoxSize":"Edge length (m)","cameraBoxResolution":"Tile resolution","cameraBoxView":"Observation view","cameraBoxSheet":"Six-view sheet","cameraBoxFront":"Front (+Z)","cameraBoxBack":"Back (−Z)","cameraBoxLeft":"Left (−X)","cameraBoxRight":"Right (+X)","cameraBoxTop":"Top (+Y)","cameraBoxBottom":"Bottom (−Y)","fitCameraBoxScene":"Fit scene objects","fitCameraBoxHands":"Fit all hands","cameraBoxHint":"Six inward orthographic views show only the box interior. Directions rotate with the box. Use the sheet to understand the pose and the main camera for composition.","cameraBoxTargetError":"Specify exactly one of --camera or --box.","cameraBoxViewTargetError":"Observation-view options require --box.","cameraBoxViewError":"--view must be sheet, front, back, left, right, top, or bottom.","cameraBoxViewsError":"Choose 1–6 distinct directions from front, back, left, right, top, bottom, separated by commas.","cameraBoxViewConflict":"Use either --view or --views, not both.","cameraBoxGenerationGuidance":"The main camera sets the final composition. The observation sheet shows the same scene at one moment; labels identify box-local directions, not anatomical left and right. Use auxiliary views to understand occlusion, digit ownership, and approximate bending intent. Produce a single image without a contact-sheet layout, duplicated subjects, direction labels, or joint/body guide lines. Correct anatomy and finger contact naturally instead of reproducing the references pixel for pixel.","referenceSkeleton":"Skeleton","renderPassError":"--pass must be one of {{passes}}.","appearance":"Model style","appearanceQuaternius":"Human model","appearanceGeometric":"Geometric mannequin","editObject":"Edit object"},"canvasHistory":{"undo":"Undo","redo":"Redo","label":"Edit history"},"canvasStates":{"switch":"Layout states"}}');var n=o(48511);let r=["zh-CN","en"],s="zh-CN",l={en:{translation:a},"zh-CN":{translation:n}};function c(e=s){let t=(0,i.Q_)();return t.init({fallbackLng:"en",initAsync:!1,interpolation:{escapeValue:!1},lng:e,resources:l}),t}function d(e){return r.some(t=>t===e)}function p(e){return e?.toLowerCase().startsWith("en")?"en":s}}}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[492],{6508:(e,t,l)=>{(window.__NEXT_P=window.__NEXT_P||[]).push(["/_not-found/page",function(){return l(35465)}])},26553:(e,t,l)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"HTTPAccessErrorFallback",{enumerable:!0,get:function(){return o}});let r=l(73365),n=l(44760);function o({status:e,message:t}){return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("title",{children:`${e}: ${t}`}),(0,r.jsx)("div",{style:n.styles.error,children:(0,r.jsxs)("div",{children:[(0,r.jsx)("style",{dangerouslySetInnerHTML:{__html:"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}),(0,r.jsx)("h1",{className:"next-error-h1",style:n.styles.h1,children:e}),(0,r.jsx)("div",{style:n.styles.desc,children:(0,r.jsx)("h2",{style:n.styles.h2,children:t})})]})})]})}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},35465:(e,t,l)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return o}});let r=l(73365),n=l(26553),o=function(){return(0,r.jsx)("html",{children:(0,r.jsx)("body",{children:(0,r.jsx)(n.HTTPAccessErrorFallback,{status:404,message:"This page could not be found."})})})};("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},44760:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"styles",{enumerable:!0,get:function(){return l}});let l={error:{fontFamily:'system-ui,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji"',height:"100vh",textAlign:"center",display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center"},desc:{display:"inline-block"},h1:{display:"inline-block",margin:"0 20px 0 0",padding:"0 23px 0 0",fontSize:24,fontWeight:500,verticalAlign:"top",lineHeight:"49px"},h2:{fontSize:14,fontWeight:400,lineHeight:"49px",margin:0}};("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)}},e=>{e.O(0,[347,158,358],()=>e(e.s=6508)),_N_E=e.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[271],{2828:e=>{e.exports={page:"page_page__RhPIA",routeLoading:"page_routeLoading__5WzpA",workspaceLoading:"page_workspaceLoading__dL32T",panelLoading:"page_panelLoading__39zT6",deliveryNotice:"page_deliveryNotice__87isY",deliveryNoticeSuccess:"page_deliveryNoticeSuccess__OLl4_",deliveryNoticeWarning:"page_deliveryNoticeWarning__ovF85",deliveryNoticeError:"page_deliveryNoticeError__HVdjV",serviceError:"page_serviceError__r4EOT",workspace:"page_workspace__J9PVq",stage:"page_stage__k9VRj",workflow:"page_workflow__lR5mI",toolGroups:"page_toolGroups__F2p04",toolGroup:"page_toolGroup__35bzP",capacityTool:"page_capacityTool__glYiG",toolGroupTitle:"page_toolGroupTitle__nfj7N",toolAction:"page_toolAction__dN0J1",processingSemanticSwitch:"page_processingSemanticSwitch__08Z5N",overallNoteEditor:"page_overallNoteEditor__mEwiW",shapeToolIcon:"page_shapeToolIcon__rzrLe",circleToolIcon:"page_circleToolIcon__tFQky",triangleToolIcon:"page_triangleToolIcon__OZv0J",quadrilateralToolIcon:"page_quadrilateralToolIcon__FnduP",panel:"page_panel__MDuVE",panelIsLoading:"page_panelIsLoading__p_o3O",sectionHeading:"page_sectionHeading__Y673y",sectionHeadingActions:"page_sectionHeadingActions__NYnhA",aspectRatioSelector:"page_aspectRatioSelector__1_Iue",metrics:"page_metrics__2KOsi"}},6621:(e,i,o)=>{Promise.resolve().then(o.bind(o,83963))},78755:()=>{},83963:(e,i,o)=>{"use strict";o.r(i),o.d(i,{default:()=>Q});var t=o(73365),a=o(42614),n=o(11902),s=o(6915),r=o(28110),l=o(1521);let c={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M904 476H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8z"}}]},name:"line",theme:"outlined"};var d=o(28630);function u(){return(u=Object.assign?Object.assign.bind():function(e){for(var i=1;i<arguments.length;i++){var o=arguments[i];for(var t in o)Object.prototype.hasOwnProperty.call(o,t)&&(e[t]=o[t])}return e}).apply(this,arguments)}let p=l.forwardRef((e,i)=>l.createElement(d.A,u({},e,{ref:i,icon:c})));var m=o(59030),g=o(28462),h=o(83499),f=o(17357),v=o(81271),w=o(51055),y=o(23139),b=o(16415),x=o(94946),S=o(29415),k=o(50052),j=o(67282);o(22392),o(78755);var C=o(46811);let _=["natural","sage","amber","rose","slate","sky","lavender","clay"];function I({items:e,"aria-label":i,value:o,defaultValue:a,onChange:n,colors:s={mode:"multicolor"},disabled:r=!1,className:c,style:d}){let u=new Set;for(let i of e){if(!i.label.trim()||u.has(i.key))throw Error("ExpandingSwitch 需要非空 label 和唯一 key。");u.add(i.key)}if(e.length&&void 0!==o&&!u.has(o))throw Error(`ExpandingSwitch value 不存在于 items:${o}`);let p=e.find(e=>!e.disabled)?.key??e[0]?.key,[m,g]=(0,l.useState)(a??p),[h,f]=(0,l.useState)(),[v,w]=(0,l.useState)(),[y,b]=(0,l.useState)(),x=(0,l.useRef)(null),S=(0,l.useRef)(new Map),k=(0,l.useRef)(!1),j=o??(void 0!==m&&u.has(m)?m:p),N=i=>!r&&e.some(e=>e.key===i&&!e.disabled),A=(N(h)?h:void 0)??(N(v)?v:void 0)??j,E=(N(v)?v:void 0)??(N(j)?j:e.find(e=>!e.disabled)?.key);function R(e){r||e.disabled||e.key===j||(void 0===o&&g(e.key),n?.(e.key,e))}if((0,l.useLayoutEffect)(()=>{let e=x.current;if(!e)return;let i=()=>{let i=Math.ceil(e.getBoundingClientRect().width);i>0&&b(i)};i();let o="u"<typeof ResizeObserver?void 0:new ResizeObserver(i);return o?.observe(e),window.addEventListener("resize",i),document.fonts?.addEventListener("loadingdone",i),()=>{o?.disconnect(),window.removeEventListener("resize",i),document.fonts?.removeEventListener("loadingdone",i)}},[e]),!e.length)return null;let T={...d,"--yisiui-expanding-switch-item-count":e.length,...y?{"--yisiui-expanding-switch-expanded-width":`${y}px`}:{},..."duotone"===s.mode?{"--yisiui-expanding-switch-selected-background":s.selectedBackground,"--yisiui-expanding-switch-unselected-background":s.unselectedBackground,"--yisiui-expanding-switch-selected-foreground":s.selectedForeground,"--yisiui-expanding-switch-unselected-foreground":s.unselectedForeground}:{}};return(0,t.jsxs)("div",{...(0,C.S)("expanding-switch","ExpandingSwitch"),className:["yisi-expanding-switch",c].filter(Boolean).join(" "),role:"radiogroup","aria-label":i,"aria-disabled":r||void 0,"data-color-mode":s.mode,style:T,onPointerLeave:()=>f(void 0),onBlur:e=>{e.currentTarget.contains(e.relatedTarget)||(w(void 0),k.current=!1)},children:[(0,t.jsx)("span",{ref:x,className:"yisi-expanding-switch-measure","aria-hidden":"true",children:e.map(e=>(0,t.jsx)("span",{children:e.label},e.key))}),(0,t.jsx)("div",{className:"yisi-expanding-switch-track",style:{gridTemplateColumns:e.map(e=>e.key===A?"max(var(--yisiui-expanding-switch-size), var(--yisiui-expanding-switch-expanded-width, 64px))":"var(--yisiui-expanding-switch-size)").join(" ")},children:e.map((i,o)=>{let a=i.key===A,n=i.key===j;return(0,t.jsxs)("button",{ref:e=>{e?S.current.set(i.key,e):S.current.delete(i.key)},type:"button",role:"radio","aria-label":i.label,"aria-checked":n,disabled:r||i.disabled,tabIndex:r||i.disabled||i.key!==E?-1:0,className:"yisi-expanding-switch-item","data-expanded":a,"data-palette":"multicolor"===s.mode?_[o%_.length]:void 0,onPointerEnter:e=>{"touch"!==e.pointerType&&(k.current=!0,w(void 0),f(N(i.key)?i.key:void 0))},onPointerDown:()=>{k.current=!0,w(void 0)},onPointerCancel:()=>f(void 0),onFocus:()=>{k.current||w(i.key)},onKeyDown:o=>(function(i,o){let t;k.current=!1,f(void 0),w(o.key);let a=e.filter(e=>!e.disabled);if(r||o.disabled||!a.length)return;let n=a.findIndex(e=>e.key===o.key),s="rtl"===getComputedStyle(i.currentTarget).direction;switch(i.key){case"ArrowRight":t=n+(s?-1:1);break;case"ArrowLeft":t=n+(s?1:-1);break;case"ArrowDown":t=n+1;break;case"ArrowUp":t=n-1;break;case"Home":t=0;break;case"End":t=a.length-1;break;default:return}i.preventDefault();let l=a[(t+a.length)%a.length];w(l.key),S.current.get(l.key)?.focus(),S.current.get(l.key)?.scrollIntoView({block:"nearest",inline:"nearest"}),R(l)})(o,i),onClick:()=>R(i),children:[(0,t.jsx)("span",{className:"yisi-expanding-switch-label","aria-hidden":"true",children:i.label}),null!=i.icon&&(0,t.jsx)("span",{className:"yisi-expanding-switch-icon","aria-hidden":"true",inert:a,children:i.icon})]},i.key)})})]})}var N=o(95948),A=o(13360),E=o(49762),R=o(24539),T=o(29717),L=o(8020),P=o(3693),F=o(60458),D=o(48197),M=o(31854),O=o(3742),H=o(55408),V=o(44040),$=o(52582),z=o(3500),B=o(21071),G=o(53130),q=o(46295),U=o(52003),W=o(2828),K=o.n(W);async function J(e){let i=await (0,F.Ht)(e);if("image-composition"!==i.sessionType)throw Error("SESSION_TYPE_MISMATCH");return{session:i,draftVersion:(await (0,F.he)(e)).at(-1)??null}}function Z(e){let i=function(e,i){let o=Math.abs(e),t=Math.abs(i);for(;0!==t;)[o,t]=[t,o%t];return o||1}(e.frame.width,e.frame.height);return{width:e.frame.width/i,height:e.frame.height/i}}function Y(e,i){return e instanceof F.wP?"DRAFT_REVISION_CONFLICT"===e.code?i("composition.session.revisionConflict",{revision:e.details.actualLatestRevision}):i("errors.serviceSync",{message:e.message}):e instanceof Error&&"SESSION_TYPE_MISMATCH"===e.message?i("composition.session.typeMismatch"):i("errors.serviceSync",{message:e instanceof Error?e.message:String(e)})}function Q(){let{t:e}=(0,L.Bd)();return(0,t.jsx)(l.Suspense,{fallback:(0,t.jsx)(N.G,{className:K().routeLoading,label:e("composition.session.loading"),rows:10}),children:(0,t.jsx)(X,{})})}function X(){let e=(0,T.useRouter)(),i=(0,T.useSearchParams)().get("session"),{t:o,i18n:c}=(0,L.Bd)(),d=(0,l.useCallback)((e,i)=>o((0,a.B)("composition",e),i),[o]),[u,C]=(0,l.useState)(P.mq),[_,W]=(0,l.useState)(null),[Q,X]=(0,l.useState)(!0),[ee,ei]=(0,l.useState)(!1),[eo,et]=(0,l.useState)(!0),[ea,en]=(0,l.useState)(1),[es,er]=(0,l.useState)({id:0,type:"fit-frame"}),[el,ec]=(0,l.useState)([]),[ed,eu]=(0,l.useState)([]),[ep,em]=(0,l.useState)(!1),eg=o("composition.planning",{returnObjects:!0}),[eh,ef]=(0,l.useState)({width:16,height:9}),[ev,ew]=(0,l.useState)(null),[ey,eb]=(0,l.useState)(null),[ex,eS]=(0,l.useState)(null),[ek,ej]=(0,l.useState)(null),[eC,e_]=(0,l.useState)(0),[eI,eN]=(0,l.useState)(),[eA,eE]=(0,l.useState)(!1),[eR,eT]=(0,l.useState)(!0),[eL,eP]=(0,l.useState)(!1),[eF,eD]=(0,l.useState)(null),[eM,eO]=(0,l.useState)(!1),[eH,eV]=(0,l.useState)(null),[e$,ez]=(0,l.useState)(!1),[eB,eG]=(0,l.useState)(!1),eq=(0,l.useRef)(0),eU=(0,l.useRef)(0),eW=(0,l.useRef)(null),eK=(0,l.useRef)(!1),eJ=(0,l.useRef)(null),eZ=(0,l.useRef)(null),eY=(0,M.t)(ev,e5,eC),eQ=(0,U.S)(u,({draft:e})=>{eq.current+=1,eW.current=null,C(e),eE(!0),W(null),eO(!1),ec([]),eu([]),ef(Z(e))},eR||eK.current),eX=function(e){let{t:i}=(0,L.Bd)(),o=(0,T.useRouter)(),a=(0,l.useRef)(e);a.current=e;let[n,s]=(0,l.useState)(!1),[r,c]=(0,l.useState)([]),[d,u]=(0,l.useState)(null),[p,m]=(0,l.useState)([]),[g,h]=(0,l.useState)(null),[f,v]=(0,l.useState)(0),[w,y]=(0,l.useState)(!1),[b,x]=(0,l.useState)(null),[k,j]=(0,l.useState)(new Set),[C,_]=(0,l.useState)(0);async function I(e,i,o,t){let a=await fetch((0,F.J_)(i,o.id,t||void 0),{cache:"no-store"});if(!a.ok)throw Error("SPATIAL_CAMERA_NOT_FOUND");return(0,F.FX)(e,new File([await a.blob()],`${o.id}.png`,{type:"image/png"}))}async function N(){let e=p.find(e=>e.id===g);if(d&&e&&!w){y(!0),x(null);try{let i=a.current.sessionId,o=await a.current.ensureSession(),t=await I(o,d,e,f);if(a.current.sessionId!==o&&a.current.sessionId!==i)return;a.current.updateDraft(i=>{var o;let a,n,s;return(o={sessionId:d,cameraId:e.id,revision:f,assetId:t.id,width:e.width,height:e.height},a=320*Math.min(1,o.width/o.height),(s=(n=(0,$.xB)(i,{width:a/z.cq.width,height:a*o.height/o.width/z.cq.height})).draft.images.find(e=>e.id===n.id)).assetId=o.assetId,s.cameraReference={sessionId:o.sessionId,cameraId:o.cameraId,renderedRevision:o.revision},{...n,draft:(0,$.M6)(n.draft)}).draft}),s(!1)}catch{x(i("spatial.loadFailed"))}finally{y(!1)}}}return(0,l.useEffect)(()=>{if(!n)return;let e=!1;return y(!0),x(null),(0,F.GW)().then(i=>{e||c(i.filter(e=>"spatial"===e.sessionType))}).catch(()=>{e||x(i("spatial.loadFailed"))}).finally(()=>{e||y(!1)}),()=>{e=!0}},[n,C,i]),(0,l.useEffect)(()=>{if(!n||!d)return;let e=!1;return y(!0),x(null),m([]),h(null),(0,F.n8)(d).then(i=>{if(e)return;let o=i.at(-1),t=o?.draft.cameras??(0,B.wY)().cameras;m(t),h(t[0]?.id??null),v(o?.revision??0)}).catch(()=>{e||x(i("spatial.loadFailed"))}).finally(()=>{e||y(!1)}),()=>{e=!0}},[d,n,C,i]),(0,l.useEffect)(()=>{let i=e.sessionId;if(!i)return;let o=!1,t=!1;j(new Set);let n=async()=>{if(!t){t=!0;try{let e=new Map;for(let i of a.current.draft.images)i.cameraReference&&e.set(`${i.cameraReference.sessionId}/${i.cameraReference.cameraId}`,i);let t=new Set;for(let[n,s]of e){if(o)return;let e=s.cameraReference;try{let r=(await (0,F.n8)(e.sessionId)).at(-1),l=r?.revision??0,c=(r?.draft??(0,B.wY)()).cameras.find(i=>i.id===e.cameraId);if(!c){t.add(n);continue}if(l===e.renderedRevision&&s.assetId)continue;let d=await I(i,e.sessionId,c,l);if(o)return;a.current.updateDraft(i=>(function(e,i){return(0,$.M6)({...e,images:e.images.map(e=>{let o=e.cameraReference;return o&&o.sessionId===i.sessionId&&o.cameraId===i.cameraId?{...e,assetId:i.assetId,height:e.width*z.cq.width*i.height/i.width/z.cq.height,cameraReference:{...o,renderedRevision:i.revision}}:e})})})(i,{sessionId:e.sessionId,cameraId:c.id,revision:l,assetId:d.id,width:c.width,height:c.height}),!1)}catch{t.add(n)}}o||j(t)}finally{t=!1}}};n();let s=window.setInterval(()=>void n(),2e3);return()=>{o=!0,clearInterval(s)}},[e.sessionId]),{openPicker:()=>{u(null),m([]),h(null),s(!0)},picker:(0,t.jsx)(O.A,{closable:{"aria-label":i("actions.cancel"),disabled:w},title:i("spatial.addReference"),open:n,onCancel:()=>!w&&s(!1),onOk:()=>void N(),confirmLoading:w,okButtonProps:{disabled:!g||w},okText:i("actions.create"),cancelText:i("actions.cancel"),destroyOnHidden:!0,children:(0,t.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:16},children:[b&&(0,t.jsx)(H.A,{type:"error",message:b,action:(0,t.jsx)(S.J,{onClick:()=>_(e=>e+1),children:i("actions.retry")})}),(0,t.jsx)(V.A,{"aria-label":i("spatial.selectSpace"),placeholder:i("spatial.selectSpace"),value:d,loading:w,options:r.map(e=>({value:e.id,label:e.title})),notFoundContent:i("spatial.noSpaces"),onChange:u}),(0,t.jsx)(V.A,{"aria-label":i("spatial.selectCamera"),placeholder:i("spatial.selectCamera"),value:g,disabled:!d||w,options:p.map(e=>({value:e.id,label:e.name})),onChange:h}),d&&g&&(0,t.jsx)("img",{src:(0,F.J_)(d,g,f||void 0),alt:i("spatial.cameraView"),style:{width:"100%",maxHeight:260,objectFit:"contain"}})]})}),renderImageContent:n=>{let s=n.cameraReference,r=k.has(`${s.sessionId}/${s.cameraId}`);return(0,t.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:12},children:[(0,t.jsx)("strong",{children:i("spatial.reference")}),r&&(0,t.jsx)(H.A,{type:"warning",message:i("spatial.sourceMissing")}),n.assetId&&e.sessionId&&(0,t.jsx)("img",{src:(0,F.MZ)(e.sessionId,n.assetId),alt:i("spatial.cameraView"),style:{width:"100%",maxHeight:280,objectFit:"contain"}}),(0,t.jsx)(S.J,{disabled:r,onClick:()=>o.push(`/spatial?session=${encodeURIComponent(s.sessionId)}&camera=${encodeURIComponent(s.cameraId)}`),children:i("spatial.openSource")}),(0,t.jsx)(S.J,{disabled:!n.assetId,onClick:()=>a.current.updateDraft(e=>(function(e,i){let o=e.images.find(e=>e.id===i);if(!o?.cameraReference||!o.assetId)throw Error("COMPOSITION_CAMERA_REFERENCE_REQUIRED");let t=(0,$.xB)(e),{cameraReference:a,...n}=o,s={...n,id:t.id,x:o.x+24/z.cq.width,y:o.y+24/z.cq.height};return t.draft.images[t.draft.images.findIndex(e=>e.id===t.id)]=s,{...t,draft:(0,$.M6)(t.draft)}})(e,n.id).draft),children:i("spatial.snapshot")})]})}}}({draft:u,sessionId:ev,ensureSession:e5,updateDraft:e7}),e0=!eR,e1=(0,P.fQ)(u),e2=u.activeStateId??e1[0].id,e6=(0,P.VC)(u),e8=el.filter(e=>e!==b.jZ),e3=[{key:"scene-composition",label:o("composition.mode.scene"),icon:(0,t.jsx)(n.A,{"aria-hidden":"true"})},{key:"editorial-layout",label:o("composition.mode.editorial"),icon:(0,t.jsx)(s.A,{"aria-hidden":"true"})},...u.processingSemantic?[]:[{key:"unselected",label:o("composition.mode.placeholder"),disabled:!0}]];function e4(e){eO(!1),W(i=>i===e?null:e)}async function e5(){if(ev)return ev;let i=eZ.current??(0,F.$M)(o("composition.session.untitled"));eZ.current=i;try{let o=await i;return eJ.current=o.id,ew(o.id),eb(o.title),eS(o),ej(o.updatedAt),e.replace(`/composition?session=${encodeURIComponent(o.id)}`),o.id}finally{eZ.current===i&&(eZ.current=null)}}async function e9(e){let i=await e5();return(await (0,F.FX)(i,e)).id}function e7(e){let i=(0,P.M6)("function"==typeof e?e(eQ.current()):e);eQ.record(i)&&(eq.current+=1,eW.current=null,C(i),ef(Z(i)),eE(!0))}function ie(e){eu(e),ec([]),W(null)}function ii(e){er(i=>({id:i.id+1,type:e}))}function io(e){e7(e),W(null),ec([]),eu([]),eO(!1),ii("fit-frame")}async function it(){ez(!0);try{if(!navigator.clipboard?.writeText)throw Error(o("clipboard.promptUnsupported"));let e=await eY.readPromptLine();await navigator.clipboard.writeText((0,b.FU)(u,d,e)),eV({type:"success",message:o("clipboard.copied")})}catch(e){eV({type:"error",message:e instanceof Error&&e.message===o("clipboard.promptUnsupported")?e.message:o("clipboard.promptFailed")})}finally{ez(!1)}}async function ia(){eG(!0);try{let e=await (0,b.Nc)(u,ev?e=>(0,F.MZ)(ev,e):void 0);eV("downloaded"===e?{type:"warning",message:o("clipboard.previewDownloaded")}:{type:"success",message:o("clipboard.copied")})}catch{eV({type:"error",message:o("clipboard.previewFailed")})}finally{eG(!1)}}(0,l.useEffect)(()=>{if(!eH)return;let e=window.setTimeout(()=>eV(null),2e3);return()=>window.clearTimeout(e)},[eH]),(0,l.useEffect)(()=>{if(i&&i===eJ.current){eJ.current=null;return}if(W(null),eU.current+=1,eq.current=0,eK.current=!1,eW.current=null,eE(!1),!i){let e=(0,P.mq)();eQ.reset(e),C(e),X(!0),ei(!1),em(!1),en(1),ii("fit-frame"),ec([]),eu([]),ef({width:16,height:9}),ew(null),eb(null),eS(null),ej(null),e_(0),eN(void 0),eD(null),eT(!1);return}let e=!1;return eT(!0),X(!0),ei(!1),em(!1),en(1),ew(null),eb(null),eS(null),ej(null),eD(null),J(i).then(i=>{if(e)return;let o=i.draftVersion?.draft??(0,P.mq)();eQ.reset(o),C(o),ew(i.session.id),eb(i.session.title),eS(i.session),ej(i.draftVersion?.createdAt??i.session.updatedAt),e_(i.draftVersion?.revision??0),eN(i.draftVersion?.styleProcessing),ef(Z(o));let t=o.areas[0]?.id??o.focusPoints[0]?.id;ec(t?[t]:[]),eu([]),ii("fit-frame"),eE(!1),eD(null)}).catch(i=>{e||eD(Y(i,o))}).finally(()=>{e||eT(!1)}),()=>{e=!0}},[i,o]),(0,l.useEffect)(()=>{let e=eq.current;if(eK.current||eR||eL||!eA||eW.current===e)return;let i=eU.current,t=window.setTimeout(()=>{(async()=>{eP(!0),eD(null);try{let o=ev;if(!o&&(o=await e5(),i!==eU.current))return;let t=await (0,F.hU)(o,eC,u);if(i!==eU.current)return;eW.current=null,e_(t.revision),eN(t.styleProcessing),ej(t.createdAt),eq.current===e&&(C(t.draft),eE(!1))}catch(t){if(i!==eU.current)return;let e=t instanceof F.wP&&"DRAFT_REVISION_CONFLICT"===t.code?t.details.actualLatestRevision:null;"number"==typeof e&&Number.isInteger(e)?(eK.current=!0,eQ.reset(eQ.current()),e_(e)):eW.current=eq.current,eD(Y(t,o))}finally{eP(!1)}})()},800);return()=>window.clearTimeout(t)},[eA,u,eC,eR,e,eL,ev,o]),(0,l.useEffect)(()=>{if(!ev||eR||eA||eL)return;let e=!1,i=eq.current,t=async()=>{try{let o=(await (0,F.he)(ev)).at(-1);if(!e&&i===eq.current&&o&&o.revision>eC){eQ.reset(o.draft),C(o.draft),e_(o.revision),eN(o.styleProcessing),ej(o.createdAt),ef(Z(o.draft));let e=o.draft.areas[0]?.id??o.draft.focusPoints[0]?.id;ec(e?[e]:[]),eu([]),eW.current=null,eD(null)}}catch(i){e||eD(Y(i,o))}};t();let a=window.setInterval(()=>void t(),3e3);return()=>{e=!0,window.clearInterval(a)}},[eA,eC,eR,eL,ev,o]);let is=(0,t.jsxs)("label",{className:K().overallNoteEditor,children:[(0,t.jsx)("span",{children:o("composition.globalNote.title")}),(0,t.jsx)(A.A.TextArea,{name:"overallNote",autoFocus:!0,autoSize:{minRows:4,maxRows:8},value:u.overallNote,placeholder:o("composition.globalNote.placeholder"),"aria-label":o("composition.globalNote.ariaLabel"),disabled:!e0,onChange:e=>e7(i=>({...i,overallNote:e.target.value}))})]}),ir=(0,t.jsxs)("div",{className:K().toolGroups,role:"group","aria-label":o("canvas.tools.label"),"data-composition-tool-groups":!0,children:[(0,t.jsx)("div",{className:K().toolGroup,"data-composition-tool-group":"focus",children:(0,t.jsx)(k.u,{className:K().capacityTool,icon:(0,t.jsx)(r.A,{"aria-hidden":"true"}),label:o("composition.toolNames.focus"),description:o("composition.elementCapacity.compact",{current:u.focusPoints.length,limit:3}),"aria-label":o("composition.elementCapacity.ariaLabel",{label:o("composition.toolNames.focus"),current:u.focusPoints.length,limit:3}),disabled:!e0||u.focusPoints.length>=3,"aria-current":"focus"===_||void 0,textColor:"focus"===_?"color.action.primary":"color.text.primary",onClick:()=>e4("focus")})}),(0,t.jsx)("div",{className:K().toolGroup,"data-composition-tool-group":"direction",children:(0,t.jsx)(k.u,{className:K().capacityTool,icon:(0,t.jsx)(p,{rotate:-20,"aria-hidden":"true"}),label:o("composition.flow.label"),description:o("composition.elementCapacity.compact",{current:+!!u.directionLine,limit:1}),"aria-label":o("composition.elementCapacity.ariaLabel",{label:o("composition.flow.label"),current:+!!u.directionLine,limit:1}),disabled:!e0||!!u.directionLine,"aria-current":"direction"===_||void 0,textColor:"direction"===_?"color.action.primary":"color.text.primary",onClick:()=>e4("direction")})}),(0,t.jsxs)("div",{className:K().toolGroup,"data-composition-tool-group":"shapes",children:[(0,t.jsx)(k.u,{icon:(0,t.jsx)("span",{className:`${K().shapeToolIcon} ${K().circleToolIcon}`}),label:o("composition.toolNames.circle"),disabled:!e0,"aria-current":"circle"===_||void 0,textColor:"circle"===_?"color.action.primary":"color.text.primary",onClick:()=>e4("circle")}),(0,t.jsx)(k.u,{icon:(0,t.jsx)("span",{className:`${K().shapeToolIcon} ${K().triangleToolIcon}`}),label:o("composition.toolNames.triangle"),disabled:!e0,"aria-current":"triangle"===_||void 0,textColor:"triangle"===_?"color.action.primary":"color.text.primary",onClick:()=>e4("triangle")}),(0,t.jsx)(k.u,{icon:(0,t.jsx)("span",{className:`${K().shapeToolIcon} ${K().quadrilateralToolIcon}`}),label:o("composition.toolNames.quadrilateral"),disabled:!e0,"aria-current":"quadrilateral"===_||void 0,textColor:"quadrilateral"===_?"color.action.primary":"color.text.primary",onClick:()=>e4("quadrilateral")}),(0,t.jsx)(k.u,{icon:(0,t.jsx)(m.A,{"aria-hidden":"true"}),label:o("composition.toolNames.textRegion"),disabled:!e0,"aria-current":"text"===_||void 0,textColor:"text"===_?"color.action.primary":"color.text.primary",onClick:()=>e4("text")}),(0,t.jsx)(k.u,{icon:(0,t.jsx)(n.A,{"aria-hidden":"true"}),label:o("canvas.imageNode.label"),collapsedLabel:o("canvas.imageNode.add"),disabled:!e0,"aria-current":"image"===_||void 0,textColor:"image"===_?"color.action.primary":"color.text.primary",onClick:()=>e4("image")}),(0,t.jsx)(k.u,{icon:(0,t.jsx)(g.A,{"aria-hidden":"true"}),label:o("spatial.reference"),collapsedLabel:o("spatial.addReference"),disabled:!e0,onClick:eX.openPicker})]}),(0,t.jsx)("div",{className:K().toolGroup,"data-composition-tool-group":"overall-note",children:(0,t.jsx)(E.A,{content:is,trigger:"click",placement:"leftTop",open:e0&&eM,onOpenChange:e=>eO(e&&e0),children:(0,t.jsx)("span",{className:K().toolAction,children:(0,t.jsx)(k.u,{icon:(0,t.jsx)(h.A,{"aria-hidden":"true"}),label:o("notes.global.label"),disabled:!e0})})})}),(0,t.jsxs)("div",{className:K().toolGroup,"data-composition-tool-group":"copy",children:[(0,t.jsx)("span",{className:K().toolGroupTitle,children:o("clipboard.group")}),(0,t.jsx)(k.u,{icon:(0,t.jsx)(f.A,{"aria-hidden":"true"}),label:o("clipboard.copyPrompt"),loading:e$,disabled:eR,onClick:()=>void it()}),(0,t.jsx)(k.u,{icon:(0,t.jsx)(n.A,{"aria-hidden":"true"}),label:o("clipboard.copyPreview"),loading:eB,disabled:eR,onClick:()=>void ia()})]})]});return(0,t.jsx)(G.o,{currentSessionId:i,onCurrentSessionRename:eb,title:ey??o("composition.session.new"),rightPanelOpen:eo,onRightPanelOpenChange:et,rightPanel:(0,t.jsxs)("div",{className:`${K().panel} ${eR?K().panelIsLoading:""}`,"data-canvas-editor":!0,children:[eR?(0,t.jsx)(N.G,{className:K().panelLoading,label:o("composition.session.loading"),rows:8,compact:!0}):eo?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(b.J3,{primaryItem:{label:o("composition.mode.label"),value:(0,t.jsx)(I,{className:K().processingSemanticSwitch,value:u.processingSemantic??"unselected",items:e3,colors:{mode:"multicolor"},"aria-label":o("composition.mode.label"),disabled:!e0,onChange:e=>{("scene-composition"===e||"editorial-layout"===e)&&e7(i=>(0,P.ET)(i,e))}})},createdAt:ex?.createdAt??null,updatedAt:ek,nodeCount:u.areas.length+u.images.length+u.focusPoints.length+ +!!u.directionLine,agentCommand:ev?async()=>o("sessionDetails.agentCommand",{command:(0,q.m)(ev,window.location.origin)}):null,locale:c.resolvedLanguage??c.language,labels:{title:o("sessionDetails.title"),created:o("sessionDetails.created"),updated:o("sessionDetails.updated"),nodes:o("sessionDetails.nodes"),agent:o("sessionDetails.agent"),copyCommand:o("sessionDetails.copyCommand"),copying:o("sessionDetails.copying"),copied:o("clipboard.copied"),copyFailed:o("sessionDetails.copyFailed"),emptyValue:o("sessionDetails.emptyValue")}}),(0,t.jsx)(D.H,{controller:eY,category:"visual",processing:eI,disabled:eR||eL}),(0,t.jsxs)("section",{children:[(0,t.jsxs)("div",{className:K().sectionHeading,children:[(0,t.jsx)("h2",{children:o("canvas.tools.label")}),(0,t.jsx)("div",{className:K().sectionHeadingActions,children:(0,t.jsx)(R.A,{title:o("composition.clearCanvas"),children:(0,t.jsx)("span",{children:(0,t.jsx)(j.x,{type:"text",size:"small",icon:(0,t.jsx)(v.A,{"aria-hidden":"true"}),"aria-label":o("composition.clearCanvas"),title:o("composition.clearCanvasConfirmTitle"),description:o("composition.clearCanvasConfirmDescription"),confirmLabel:o("composition.clearCanvas"),cancelLabel:o("actions.cancel"),disabled:eR||eL||ep,onConfirm:function(){if(ep)return;let e=(0,P.mq)();eQ.record(e),W(null),eq.current+=1,eW.current=null,C(e),X(!0),ei(!1),em(!1),en(1),ii("fit-frame"),ec([]),eu([]),ef({width:16,height:9}),eE(!0),eD(null)},"data-composition-clear-canvas-action":!0,children:null})})})})]}),ir]})]}):null,(0,t.jsxs)("section",{children:[(0,t.jsxs)("div",{className:K().sectionHeading,children:[(0,t.jsx)("h2",{children:o("composition.frameRatio")}),(0,t.jsx)("div",{className:K().sectionHeadingActions,children:(0,t.jsx)(S.J,{mode:"icon-only",size:"small",icon:ee?(0,t.jsx)(w.A,{}):(0,t.jsx)(y.A,{}),iconLabel:ee?o("composition.unlockFrame"):o("composition.lockFrame"),title:ee?o("composition.unlockFrame"):o("composition.lockFrame"),"aria-pressed":ee,backgroundColor:ee?"color.action.primaryActive":"none",textColor:ee?"color.text.onPrimary":"color.text.secondary",disabled:!e0,onClick:()=>ei(e=>!e)})})]}),(0,t.jsx)("div",{className:K().aspectRatioSelector,children:(0,t.jsx)(x.h,{ratio:eh,disabled:!e0||ee,onRatioChange:e=>{(0,P.J2)(e.width,e.height)&&(ef(e),e7(i=>(0,P.oA)(i,(0,P.BI)(e.width,e.height))))},title:o("composition.aspectRatioTitle"),widthLabel:o("dimensions.width"),heightLabel:o("dimensions.height"),"aria-label":o("composition.frameRatio")})})]}),(0,t.jsx)(b.Cf,{draft:u,selectedIds:ed,onSelect:ie,showPlanning:Q,onShowPlanningChange:X,locked:ep,onLockedChange:e=>{em(e),eu([])},onDraftChange:e7,labels:eg,deleteLabel:o("actions.delete"),disabled:!e0}),(0,t.jsxs)("section",{children:[(0,t.jsx)("h2",{children:o("composition.areaOverview")}),(0,t.jsxs)("dl",{className:K().metrics,children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("dt",{children:o("composition.occupied")}),(0,t.jsxs)("dd",{children:[Math.round(100*e6.occupiedArea),"%"]})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("dt",{children:o("composition.negativeSpace")}),(0,t.jsxs)("dd",{children:[Math.round(100*e6.negativeSpace),"%"]})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("dt",{children:o("composition.currentSelection")}),(0,t.jsx)("dd",{children:e8.join(", ")||o("composition.none")})]})]})]})]}),children:(0,t.jsxs)("main",{className:K().page,"data-canvas-editor":!0,children:[eH?(0,t.jsx)("div",{className:`${K().deliveryNotice} ${"success"===eH.type?K().deliveryNoticeSuccess:"warning"===eH.type?K().deliveryNoticeWarning:K().deliveryNoticeError}`,role:"status",children:eH.message}):null,eF?(0,t.jsx)("p",{className:K().serviceError,role:"alert",children:eF}):null,(0,t.jsxs)("div",{className:K().workspace,children:[eX.picker,(0,t.jsxs)("section",{className:K().stage,"aria-label":o("composition.workspace"),children:[(0,t.jsx)(b.zr,{...eQ,labels:{undo:o("canvasHistory.undo"),redo:o("canvasHistory.redo"),label:o("canvasHistory.label")}}),eR?(0,t.jsx)(N.G,{className:K().workspaceLoading,label:o("composition.session.loading"),rows:10}):(0,t.jsx)(b.x8,{className:K().workflow,interactionResetKey:eQ.restoreToken,draft:u,status:"waiting",activeView:"draft",onViewChange:()=>void 0,stateControls:(0,t.jsx)(b.SM,{items:e1.map(e=>({id:e.id,label:e.name??o("uiSketch.states.defaultName",{number:e.number})})),value:e2,labels:{switch:o("canvasStates.switch"),add:o("uiSketch.views.enableMotion"),rename:o("actions.rename"),name:o("uiSketch.states.name"),new:o("uiSketch.states.new"),delete:o("uiSketch.states.delete"),cancel:o("actions.cancel"),reorderHint:o("uiSketch.states.reorderHint"),actions:e=>o("uiSketch.states.actions",{name:e}),deleteTitle:e=>o("uiSketch.states.deleteTitle",{name:e})},onChange:e=>io(i=>(0,P.KZ)(i,e)),onCreate:e=>{let i=crypto.randomUUID();io(o=>(0,P.wG)(o,e,i))},onRename:(e,i)=>e7(o=>(0,P.uK)(o,e,i)),onReorder:e=>e7(i=>(0,P.yU)(i,e)),onDelete:e=>io(i=>(0,P.PX)(i,e))}),showPlanning:Q,selectedPlanIds:ed,planningLocked:ep,onPlanSelectionChange:ie,planningLabels:eg,frameLocked:ee,canvasZoom:ea,canvasViewportAction:es,onCanvasZoomChange:en,canvasBackgroundPattern:"dots",showCanvasViewportControls:!eR,canvasViewportLabels:{zoomOut:o("composition.zoomOut"),zoomIn:o("composition.zoomIn"),currentZoom:o("composition.canvasZoom"),fitAll:o("composition.fitAll"),help:o("canvas.viewport.help"),interactionHelp:`${o("canvas.viewport.instructions")} ${o("composition.textRegion.cornerHelp")}`,sideActions:o("canvas.tools.label"),collapseSideActions:o("composition.collapseTools"),expandSideActions:o("composition.expandTools")},canvasLayerLabels:{bringToFront:o("canvasLayers.bringToFront"),bringForward:o("canvasLayers.bringForward"),sendBackward:o("canvasLayers.sendBackward"),sendToBack:o("canvasLayers.sendToBack")},directionControlLabels:[o("composition.flow.controlPoint",{number:1}),o("composition.flow.controlPoint",{number:2})],nodeEditorLabels:{title:o("canvasNodeEditor.title"),note:o("notes.element.label"),notePlaceholder:o("notes.element.nodePlaceholder"),shotScale:o("composition.depth.label"),shotScaleAuto:o("composition.depth.auto"),shotScaleForeground:o("composition.depth.foreground"),shotScaleMidground:o("composition.depth.midground"),shotScaleBackground:o("composition.depth.background"),deleteNode:o("actions.deleteNode"),confirmDeleteNode:o("confirmations.deleteNode"),cancelDelete:o("actions.keep"),shapeKind:o("canvasNodeEditor.shapeKind"),pointKind:o("canvasNodeEditor.pointKind"),lineKind:o("composition.flow.label"),textKind:o("composition.toolNames.textRegion"),imageKind:o("canvas.imageNode.label"),nodeDescription:o("canvas.node.nodeDescription"),originUser:o("canvas.node.originUser"),originAgent:o("canvas.node.originAgent"),originImport:o("canvas.node.originImport")},areaEditorLabels:{lightSource:o("composition.lightSource.toggle"),displayText:o("textContent.label"),cornerLabel:o("composition.textRegion.cornerLabel",{index:"{{index}}"}),displayTextPlaceholder:o("textContent.compositionPlaceholder"),visualWeight:o("visualWeight.label"),weightAuto:o("visualWeight.auto"),weightHigh:o("visualWeight.high"),weightMedium:o("visualWeight.medium"),weightLow:o("visualWeight.low"),weightDecorative:o("visualWeight.decorative")},imageEditorLabels:{content:o("canvas.imageEditor.content"),upload:o("canvas.imageEditor.upload"),download:o("canvas.imageEditor.download"),downloading:o("canvas.imageEditor.downloading"),downloadFailed:o("canvas.imageEditor.downloadFailed"),replace:o("canvas.imageEditor.replace"),uploading:o("canvas.imageEditor.uploading"),uploadFailed:o("canvas.imageEditor.uploadFailed"),fileTypes:o("canvas.imageEditor.fileTypes"),cropTitle:o("canvas.imageCrop.title"),cropLoadFailed:o("canvas.imageCrop.loadFailed"),svgSource:o("canvas.imageEditor.svgSource"),svgPaste:o("canvas.imageEditor.svgPaste"),svgApply:o("canvas.imageEditor.svgApply"),svgSaveFailed:o("canvas.imageEditor.svgSaveFailed"),svgCopy:o("canvas.imageEditor.svgCopy"),svgCopying:o("canvas.imageEditor.svgCopying"),svgCopyFailed:o("canvas.imageEditor.svgCopyFailed"),sourceLoading:o("canvas.imageEditor.sourceLoading"),sourceLoadFailed:o("canvas.imageEditor.sourceLoadFailed"),svgCopied:o("clipboard.copied"),cancel:o("actions.cancel"),retry:o("actions.retry")},resolveImageSource:ev?e=>(0,F.MZ)(ev,e):void 0,renderCameraReference:eX.renderImageContent,onImageUpload:e9,onReadImageFile:F.MT,canvasSideActions:eo?void 0:ir,canvasSideActionPanelWidth:180,canvasSideActionPanelDefaultCollapsed:!0,selectedIds:el,onDraftChange:e7,placementTool:_,onPlacementToolChange:W,onSelectionChange:e=>{ec(e),eu([])},labels:{draftView:o("composition.views.draft"),refinedView:o("composition.views.refined"),referenceView:o("composition.views.reference"),viewSwitch:o("composition.views.switch"),draftCanvas:o("composition.views.draftCanvas"),refinedCanvas:o("composition.views.refinedCanvas"),referenceCanvas:o("composition.views.referenceCanvas"),agentDecision:o("composition.workflow.agentDecision"),appliedMethods:o("composition.workflow.appliedMethods"),protectionAudit:o("composition.workflow.protectionAudit"),maximumFocusShift:o("composition.workflow.maximumFocusShift"),maximumAreaShift:o("composition.workflow.maximumAreaShift"),maximumRotationShift:o("composition.workflow.maximumRotationShift"),objective:o("composition.refinement.objective"),observations:o("composition.refinement.observations"),uncertainties:o("composition.refinement.uncertainties"),preserve:o("composition.refinement.preserve"),tradeoffs:o("composition.refinement.tradeoffs"),relations:o("composition.refinement.relations"),retained:o("composition.refinement.retained"),target:o("composition.refinement.target"),before:o("composition.refinement.before"),after:o("composition.refinement.after"),error:o("composition.refinement.error"),unmeasurable:o("composition.refinement.unmeasurable"),framePlacement:o("composition.refinement.framePlacement"),sizeRatio:o("composition.refinement.sizeRatio"),mirrorSymmetry:o("composition.refinement.mirrorSymmetry"),focusFlow:o("composition.refinement.focusFlow"),focusAnchor:o("composition.refinement.focusAnchor"),axisRelation:o("composition.refinement.axisRelation"),rotationAlignment:o("composition.refinement.rotationAlignment"),blockAlignment:o("composition.refinement.blockAlignment"),spacingRhythm:o("composition.refinement.spacingRhythm")}})]})]})]})})}}},e=>{e.O(0,[661,437,226,979,136,460,746,20,380,653,678,130,166,347,158,358],()=>e(e.s=6621)),_N_E=e.O()}]);
|
package/web/out/_next/static/chunks/app/{layout-1dd9196cde94389c.js → layout-33fe456f6115412e.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[177],{20894:()=>{},
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[177],{20894:()=>{},38324:(e,n,t)=>{Promise.resolve().then(t.t.bind(t,20894,23)),Promise.resolve().then(t.bind(t,66999)),Promise.resolve().then(t.bind(t,84954))},66999:(e,n,t)=>{"use strict";t.d(n,{YisiUiInspectorHost:()=>s});t(73365);t(98196),t(1521),t(27812);function s(){return null}},84954:(e,n,t)=>{"use strict";t.d(n,{AppI18nProvider:()=>l});var s=t(73365),i=t(1521),r=t(8020),u=t(91093);function l({children:e}){let[n]=(0,i.useState)(()=>(0,u.Gi)());return(0,i.useEffect)(()=>{function e(e){let t=(0,u.wl)(e);document.documentElement.lang=t,document.title=n.t("app.title",{lng:t})}return n.on("languageChanged",e),e(n.resolvedLanguage),()=>{n.off("languageChanged",e)}},[n]),(0,s.jsx)(r.xC,{i18n:n,children:e})}}},e=>{e.O(0,[661,611,20,678,347,158,358],()=>e(e.s=38324)),_N_E=e.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[974],{44729:()=>{},56845:(e,a,i)=>{"use strict";i.r(a),i.d(a,{default:()=>v});var t=i(73365),n=i(29717),l=i(1521),s=i(8020),r=i(53130),o=i(11902),c=i(6915),d=i(14766),p=i(62067),u=i(84092),h=i(67925),b=i(92449),_=i(29415);i(22392),i(44729);var m=i(46811);function y(e,a,i){for(let t=1;t<=e.length;t+=1){let n=(a+t*i+e.length)%e.length;if(!e[n].disabled)return n}return a}function k(e,a){for(let i of"first"===a?e.keys():[...e.keys()].reverse())if(!e[i].disabled)return i;return 0}function g({items:e,"aria-label":a,activeColor:i="var(--yisiui-color-action-link)",value:n,defaultValue:s,onChange:r,className:o,style:c}){if(e.length<2)throw Error("UnderlineTabSwitch 至少需要两个子项。");let d=new Set;for(let a of e){if(d.has(a.key))throw Error(`UnderlineTabSwitch 子项 key 必须唯一:${a.key}`);d.add(a.key)}if(void 0!==n&&!d.has(n))throw Error(`UnderlineTabSwitch value 不存在于 items:${n}`);if(void 0!==s&&!d.has(s))throw Error(`UnderlineTabSwitch defaultValue 不存在于 items:${s}`);let p=new Map(e.map(e=>[e.key,e])),u=e[0].key,[h,b]=(0,l.useState)(s??u),_=(0,l.useRef)([]),f=n??(p.has(h)?h:u);function x(e){let a=p.get(e);a&&!a.disabled&&(void 0===n&&b(e),r?.(e,a))}let j={...c,"--yisiui-underline-tab-switch-count":e.length,"--yisiui-underline-tab-switch-active-color":i};return(0,t.jsx)("div",{...(0,m.S)("underline-tab-switch","UnderlineTabSwitch","component"),className:["yisi-underline-tab-switch",o].filter(Boolean).join(" "),style:j,role:"tablist","aria-label":a,"aria-orientation":"horizontal",children:e.map((a,i)=>{let n=a.key===f;return(0,t.jsx)("button",{type:"button",ref:e=>{_.current[i]=e},className:["yisi-underline-tab-switch-item",n?"yisi-underline-tab-switch-item-active":""].filter(Boolean).join(" "),role:"tab","aria-selected":n,"aria-label":a.ariaLabel,"data-tab-key":a.key,disabled:a.disabled,tabIndex:n?0:-1,onClick:()=>x(a.key),onKeyDown:a=>{let t;return t=null,void("ArrowRight"===a.key||"ArrowDown"===a.key?t=y(e,i,1):"ArrowLeft"===a.key||"ArrowUp"===a.key?t=y(e,i,-1):"Home"===a.key?t=k(e,"first"):"End"===a.key&&(t=k(e,"last")),null===t||t===i||(a.preventDefault(),x(e[t].key),_.current[t]?.focus()))},children:(0,t.jsx)("span",{className:"yisi-underline-tab-switch-label",children:a.label})},a.key)})})}var f=i(71051),x=i.n(f);let j=[{kind:"composition",Icon:o.A},{kind:"ui-sketch",Icon:c.A},{kind:"spatial",Icon:d.A}];function w({productName:e,repositoryLabel:a,description:i,skillInstallation:n,labels:s,pending:r,errorMessage:o,onCreate:c}){let[d,m]=(0,l.useState)("agent"),y=(0,l.useRef)(null),k="agent"===d?n.agentPrompt:"npx skills add yisi-ai/human2ai --skill human2ai";return(0,t.jsx)("main",{className:x().page,children:(0,t.jsxs)("div",{className:x().content,children:[(0,t.jsxs)("header",{className:x().introduction,children:[(0,t.jsxs)("div",{className:x().brand,children:[(0,t.jsx)("img",{src:"/brand/h2a.svg",alt:"",width:64,height:64}),(0,t.jsx)("h1",{className:x().productName,children:e}),(0,t.jsx)(_.J,{className:x().repositoryLink,type:"link",mode:"icon-only",icon:(0,t.jsx)(p.A,{"aria-hidden":"true"}),href:"https://github.com/yisi-ai/human2ai",target:"_blank",rel:"noopener noreferrer",title:a,iconLabel:a})]}),(0,t.jsx)("p",{className:x().description,children:i})]}),(0,t.jsxs)("section",{className:x().installation,"aria-label":n.title,children:[(0,t.jsxs)("div",{className:x().installationHeader,children:[(0,t.jsx)("h2",{className:x().installationTitle,children:n.title}),(0,t.jsx)(g,{"aria-label":n.title,value:d,onChange:m,items:[{key:"agent",label:n.agentTab},{key:"cli",label:n.cliTab}]})]}),(0,t.jsxs)("div",{className:x().installationPanel,role:"tabpanel","aria-label":"agent"===d?n.agentTab:n.cliTab,tabIndex:0,children:[(0,t.jsx)("pre",{className:x().installationContent,children:(0,t.jsx)("code",{children:k})}),(0,t.jsx)("div",{className:x().installationActions,children:(0,t.jsx)(h.r,{className:x().installationCopy,size:"small",title:n.copy,label:n.copy,pendingLabel:n.copying,successLabel:n.copied,errorLabel:n.copyFailed,idleIcon:(0,t.jsx)(b.D,{ref:y,name:"copy",size:18}),onMouseEnter:()=>y.current?.play(),onFocus:()=>y.current?.play(),onAction:()=>navigator.clipboard.writeText(k)},d)})]})]}),o?(0,t.jsx)("p",{className:x().error,role:"alert",children:o}):null,(0,t.jsx)("div",{className:x().cards,"data-home-create-actions":!0,children:j.map(({kind:e,Icon:a})=>(0,t.jsx)(_.J,{className:x().workspaceEntry,disabled:!!r,"aria-busy":r===e,loading:r===e,onClick:()=>c(e),children:(0,t.jsxs)("span",{className:x().cardBody,children:[(0,t.jsx)(a,{className:x().cardIcon,"aria-hidden":"true"}),(0,t.jsxs)("span",{className:x().cardLabel,children:[(0,t.jsx)(u.A,{"aria-hidden":"true"}),s[e]]})]})},e))})]})})}var N=i(60458);function v(){let e=(0,n.useRouter)(),{t:a}=(0,s.Bd)(),i=(0,l.useRef)(!1),[o,c]=(0,l.useState)(null),[d,p]=(0,l.useState)(null);async function u(t){if(!i.current){i.current=!0,c(t),p(null);try{let i="composition"===t?await (0,N.$M)(a("composition.session.untitled")):"ui-sketch"===t?await (0,N.vh)(a("uiSketch.session.untitled")):await (0,N.DZ)(a("spatial.untitled"));e.push(`/${t}?session=${encodeURIComponent(i.id)}`)}catch{i.current=!1,c(null),p(a("errors.operationFailed"))}}}return(0,t.jsx)(r.o,{title:null,children:(0,t.jsx)(w,{productName:a("app.title"),repositoryLabel:a("app.repositoryLink",{productName:a("app.title")}),description:a("home.description"),skillInstallation:{title:a("home.skillInstallation.title"),agentTab:a("home.skillInstallation.agentTab"),cliTab:a("home.skillInstallation.cliTab"),agentPrompt:a("home.skillInstallation.agentPrompt"),copy:a("home.skillInstallation.copy"),copying:a("home.skillInstallation.copying"),copied:a("clipboard.copied"),copyFailed:a("home.skillInstallation.copyFailed")},labels:{composition:a("home.createComposition"),"ui-sketch":a("home.createUiSketch"),spatial:a("home.createSpatial")},pending:o,errorMessage:d,onCreate:u})})}},71051:e=>{e.exports={page:"page_page__556_G",content:"page_content___38fW",introduction:"page_introduction__joBo5",brand:"page_brand__7TV1Q",productName:"page_productName__oTfyG",repositoryLink:"page_repositoryLink__c58hH",description:"page_description__lvaOp",cards:"page_cards__IHl_z",workspaceEntry:"page_workspaceEntry__BbjSl",cardIcon:"page_cardIcon__syb4d",cardBody:"page_cardBody__X5bf8",cardLabel:"page_cardLabel__pQNrY",error:"page_error__JBrsB",installation:"page_installation__TjxjK",installationPanel:"page_installationPanel__RY1Ag",installationHeader:"page_installationHeader__LQKv8",installationTitle:"page_installationTitle__kS_O9",installationContent:"page_installationContent__Om5BT",installationActions:"page_installationActions__CTby6",installationCopy:"page_installationCopy__EQx1q"}},72608:(e,a,i)=>{Promise.resolve().then(i.bind(i,56845))}},e=>{e.O(0,[661,437,226,577,460,746,20,380,653,678,130,347,158,358],()=>e(e.s=72608)),_N_E=e.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[665],{31854:(e,t,r)=>{"use strict";r.d(t,{t:()=>a});var n=r(1521),s=r(8020),i=r(60458);function a(e,t,r){let{t:a}=(0,s.Bd)(),[o,l]=(0,n.useState)(null),[u,c]=(0,n.useState)([]),[d,y]=(0,n.useState)(!0),[p,h]=(0,n.useState)(!1),[f,m]=(0,n.useState)(null),[b,g]=(0,n.useState)(0),w=(0,n.useRef)(e);w.current=e;let v=(0,n.useRef)(!1),S=(0,n.useRef)(0);async function L(r){if(v.current)return;v.current=!0,++S.current,h(!0),m(null);let n=e;try{if(n??=await t(),null!==w.current&&w.current!==n)return;let e=o?.session.id===n?o:await (0,i.YM)(n),s=await (0,i.T8)(n,r,e.session.revision);(w.current===n||null===w.current)&&l(s)}catch(e){throw(w.current===n||null===w.current)&&m(e instanceof i.wP&&409===e.status?a("sessionStyle.conflict"):a("errors.operationFailed")),e}finally{v.current=!1,h(!1),y(!1)}}async function x(){if(!e)return;let t=await (0,i.YM)(e);return w.current===e&&l(t),t.style?a("sessionStyle.prompt",{summary:t.style.promptSummary}):void 0}return(0,n.useEffect)(()=>{let t=!1,r=!1;y(!0),m(null);let n=async()=>{if(r||v.current)return;r=!0;let n=++S.current;try{let[r,s]=await Promise.all([(0,i.X0)(),e?(0,i.YM)(e):Promise.resolve(null)]);if(t||n!==S.current)return;c(r),l(s),m(null)}catch{t||n!==S.current||m(a("styleLibrary.loadFailed"))}finally{r=!1,t||n!==S.current||y(!1)}};n();let s=window.setInterval(()=>void n(),3e3);return()=>{t=!0,window.clearInterval(s)}},[e,r,b,a]),{styles:u,currentStyle:o?.session.id===e?o.style:null,loading:d,saving:p,error:f,bind:L,readPromptLine:x,refresh:()=>g(e=>e+1)}}},42111:(e,t,r)=>{Promise.resolve().then(r.bind(r,91464))},46109:(e,t,r)=>{"use strict";function n(e){return{model:{label:e("styleLibrary.model.label"),loading:e("styleLibrary.model.loading"),failed:e("styleLibrary.model.failed"),reset:e("styleLibrary.model.reset"),controls:e("styleLibrary.model.controls"),retry:e("actions.retry")},newStyle:e("styleLibrary.newStyle"),editStyle:e("styleLibrary.editStyle"),name:e("styleLibrary.name"),namePlaceholder:e("styleLibrary.namePlaceholder"),category:e("styleLibrary.category.label"),allCategories:e("styleLibrary.category.all"),visualCategory:e("styleLibrary.category.visual"),uiCategory:e("styleLibrary.category.ui"),spatialCategory:e("styleLibrary.category.spatial"),creator:e("styleLibrary.creator.label"),allCreators:e("styleLibrary.creator.all"),userCreator:e("styleLibrary.creator.user"),agentCreator:e("styleLibrary.creator.agent"),references:e("styleLibrary.references.heading"),noReferences:e("styleLibrary.references.empty"),addReferences:e("styleLibrary.references.add"),removeReference:e("styleLibrary.references.remove"),pasteHint:e("styleLibrary.references.pasteHint"),fileTypes:e("styleLibrary.references.fileTypes"),description:e("styleLibrary.description.heading"),promptSummary:e("styleLibrary.promptSummary.label"),promptSummaryPlaceholder:e("styleLibrary.promptSummary.placeholder"),descriptionPlaceholder:e("styleLibrary.description.placeholder"),spatialDescriptionPlaceholder:e("styleLibrary.description.spatialPlaceholder"),searchPlaceholder:e("styleLibrary.searchPlaceholder"),deleteTitle:e("styleLibrary.deleteTitle"),deleteDescription:e("styleLibrary.deleteDescription"),empty:e("styleLibrary.empty"),noMatches:e("styleLibrary.noMatches"),loading:e("styleLibrary.loading"),loadFailed:e("styleLibrary.loadFailed"),retry:e("actions.retry"),save:e("styleLibrary.save"),cancel:e("actions.cancel"),delete:e("actions.delete"),operationFailed:e("errors.operationFailed"),imageInvalid:e("styleLibrary.imageInvalid"),openStyle:t=>e("styleLibrary.openStyle",{name:t}),closePreview:e("styleLibrary.closePreview")}}r.d(t,{Q:()=>n})},46295:(e,t,r)=>{"use strict";function n(e,t){let r=t?new URL(t).origin:null,n=`session connect --session ${e}`;return r?`human2ai --api-url ${r} --web-url ${r} ${n}`:`human2ai ${n}`}r.d(t,{m:()=>n})},48197:(e,t,r)=>{"use strict";r.d(t,{H:()=>l});var n=r(73365),s=r(16415),i=r(8020),a=r(60458),o=r(46109);function l({controller:e,category:t,processing:r,disabled:u,showProcessingStatus:c=!0}){let{t:d}=(0,i.Bd)(),y=e.currentStyle;return(0,n.jsx)(s.WL,{styles:e.styles,currentStyle:y,category:t,labels:{title:d("sessionStyle.label"),choose:d("sessionStyle.choose"),dialogTitle:d("sessionStyle.dialogTitle"),unbind:d("sessionStyle.unbind"),select:d("sessionStyle.select"),pending:d("sessionStyle.pending")},libraryLabels:(0,o.Q)(d),imageUrl:a.Pf,modelUrl:a.x,onBind:e.bind,onRetry:e.refresh,loading:e.loading,saving:e.saving,error:e.error,disabled:u,pending:c&&!!(y&&(r?.styleId!==y.id||r.styleRevision!==y.revision))})}},52003:(e,t,r)=>{"use strict";r.d(t,{S:()=>o});var n=r(1521);class s{constructor(e){this.past=[],this.future=[],this.current=structuredClone(e)}get canUndo(){return this.past.length>0}get canRedo(){return this.future.length>0}record(e,t,r=t,n){if(JSON.stringify(this.current)===JSON.stringify(e))return!1;let s=this.past.at(-1),i=structuredClone(e);return n&&s?.group===n?(s.after=i,s.afterContext=r,JSON.stringify(s.before)===JSON.stringify(i)&&this.past.pop()):(this.past.push({before:this.current,after:i,beforeContext:t,afterContext:r,group:n}),this.past.length>100&&this.past.shift()),this.current=i,this.future=[],!0}undo(){let e=this.past.pop();return e?(this.future.push(e),this.current=e.before,{draft:structuredClone(this.current),context:e.beforeContext}):null}redo(){let e=this.future.pop();return e?(this.past.push(e),this.current=e.after,{draft:structuredClone(this.current),context:e.afterContext}):null}reset(e){this.current=structuredClone(e),this.past=[],this.future=[]}}function i(e){return e instanceof Element&&!!e.closest('textarea, input:not([type="button"]):not([type="checkbox"]):not([type="radio"]):not([type="range"]), [contenteditable="true"], [role="textbox"]')}function a(e){return e===document.body||e instanceof Element&&!!e.closest("[data-canvas-editor], [data-human2ai-auto-save-node-editor]")}function o(e,t,r=!1){let[l]=(0,n.useState)(()=>new s(e)),[,u]=(0,n.useState)(0),[c,d]=(0,n.useState)(0),y=(0,n.useRef)({restore:t,disabled:r});y.current={restore:t,disabled:r};let p=(0,n.useRef)({}),h=(0,n.useRef)(new Map),f=(0,n.useMemo)(()=>{let e=()=>u(e=>e+1),t=()=>{for(let[e,t]of[...h.current])t.dispatchEvent(new PointerEvent("pointercancel",{pointerId:e,bubbles:!0}));h.current.clear(),p.current={}},r=r=>{if(y.current.disabled)return;t();let n=l[r]();n&&(y.current.restore(n),d(e=>e+1),e())};return{current:()=>l.current,record(t,r,n=r){let s=p.current.pointer??p.current.text??p.current.key,i=l.record(t,r,n,s);return i&&e(),i},reset(r){t(),l.reset(r),d(e=>e+1),e()},undo:()=>r("undo"),redo:()=>r("redo")}},[l]);return(0,n.useEffect)(()=>{let e=e=>{a(e.target)&&e.target instanceof Element&&(h.current.set(e.pointerId,e.target),i(e.target)||(p.current.pointer=Symbol("pointer")))},t=e=>{h.current.delete(e.pointerId);let t=p.current.pointer;window.setTimeout(()=>{p.current.pointer===t&&(p.current.pointer=void 0)},0)},r=e=>{i(e.target)&&(p.current.text=Symbol("input"))},n=()=>{p.current.text=void 0},s=()=>{p.current={},h.current.clear()},o=e=>{if(e.isComposing||i(e.target)||!a(e.target))return;let t=e.key.toLowerCase();if((e.ctrlKey||e.metaKey)&&!e.altKey&&("z"===t||"y"===t)){if(y.current.disabled)return;e.preventDefault(),e.stopPropagation(),"y"===t||e.shiftKey?f.redo():f.undo()}else e.repeat||(p.current.key=Symbol("key"))},l=e=>{let t=p.current.key;i(e.target)||window.setTimeout(()=>{p.current.key===t&&(p.current.key=void 0)},0)};return window.addEventListener("pointerdown",e,!0),window.addEventListener("pointerup",t,!0),window.addEventListener("pointercancel",t,!0),window.addEventListener("focusin",r,!0),window.addEventListener("focusout",n,!0),window.addEventListener("keydown",o,!0),window.addEventListener("keyup",l,!0),window.addEventListener("blur",s),()=>{window.removeEventListener("pointerdown",e,!0),window.removeEventListener("pointerup",t,!0),window.removeEventListener("pointercancel",t,!0),window.removeEventListener("focusin",r,!0),window.removeEventListener("focusout",n,!0),window.removeEventListener("keydown",o,!0),window.removeEventListener("keyup",l,!0),window.removeEventListener("blur",s)}},[f]),{...f,restoreToken:c,canUndo:!r&&l.canUndo,canRedo:!r&&l.canRedo}}},91464:(e,t,r)=>{"use strict";r.r(t),r.d(t,{default:()=>j});var n=r(73365),s=r(1521),i=r(29717),a=r(8020),o=r(16415),l=r(29415),u=r(95948),c=r(21071),d=r(53130),y=r(48197),p=r(60458),h=r(46295),f=r(52003),m=r(31854);class b{constructor(e,t){this.draft=e,this.revision=t,this.jobs=[],this.revisions=new Map,this.busy=!1,this.initial=e,t>0&&this.revisions.set((0,c.wU)(e),t)}get pending(){return this.jobs.length>0}edit(e,t){this.draft=t,this.jobs.push({operation:e,draft:t})}restore(e){this.draft=e,this.jobs.push({draft:e})}async flush(e,t){if(!this.busy&&this.pending){this.busy=!0;try{if(0===this.revision){let t=await e.saveInitial(this.initial);this.remember(this.initial,t)}for(;this.jobs.length;){let r,n=this.jobs[0];if(n.operation)r=await e.apply(this.revision,[n.operation]);else{let t=this.revisions.get((0,c.wU)(n.draft));if(void 0===t)throw Error("Missing saved spatial history snapshot");r=await e.restore(this.revision,t)}this.remember(n.draft,r),this.jobs.shift(),this.pending||(this.draft=r.draft),t(r)}}finally{this.busy=!1}}}remember(e,t){for(let r of(this.revision=t.revision,[(0,c.wU)(e),(0,c.wU)(t.draft)]))this.revisions.has(r)||this.revisions.set(r,t.revision)}}var g=r(22146),w=r(84910),v=r(28179),S=r(42621),L=r(23347),x=r(19204);class C{key(e,t,r="color",n=(0,v.Ls)(t)){let s="skeleton"===r?e.characters:[...e.characters,...e.objects],i=s.map(S.N),a=i;if("skeleton"!==r&&!("color"===r&&e.lightingEnabled)){let t=new w.PPD().setFromProjectionMatrix(new w.kn4().multiplyMatrices(n.projectionMatrix,n.matrixWorldInverse)),o=JSON.stringify(i);if(this.snapshot?.key!==o){let t=s.map(t=>{let{name:r,note:n,...s}=t,i={...s,name:"",position:[0,0,0],rotation:[0,0,0],color:"#ffffff"},a=(0,x.d)(i),o=this.bounds.get(a);if(!o){let t=(0,v.bh)({...e,characters:"bones"in i?[i]:[],objects:"bones"in i?[]:[i]});try{o=new w.NRn().setFromObject(t,!0)}finally{(0,v.en)(t)}this.bounds.set(a,o),this.bounds.size>256&&this.bounds.delete(this.bounds.keys().next().value)}let l=o.clone().applyMatrix4((0,L.NT)(t)),u=Math.max(...l.min.toArray().map(Math.abs),...l.max.toArray().map(Math.abs));return l.expandByScalar(Math.max(1e-5,476837158203125e-21*u))});this.snapshot={key:o,bounds:t}}let l=this.snapshot.bounds,u=l.map(e=>t.intersectsBox(e)),c="color"===r?l.flatMap((e,t)=>{if(!u[t])return[];let r=s[t],n=("bones"in r?r.height:Math.max(...r.size))*.025;return[e.clone().expandByScalar(1.026*n+1e-5)]}):[];a=i.filter((e,t)=>u[t]||c.some(e=>e.intersectsBox(l[t])))}return JSON.stringify(["spatial-image-1",e.version,r,t.position,t.target,t.projection,t.fov,t.span,t.width,t.height,t.background,n.projectionMatrix.elements,n.matrixWorldInverse.elements,"color"===r&&!!e.lightingEnabled,a])}constructor(){this.bounds=new Map}}let E=new C;function k(e,t,r){return{cameras:new Map(t.cameras.map(n=>[n.id,Object.fromEntries(g.mw.map(s=>{let i=E.key(t,n,s),a=e?.cameras.get(n.id)?.[s];return[s,a?.key===i?a:{key:i,revision:r}]}))]))}}var R=r(48511);function j(){let{t:e}=(0,a.Bd)();return(0,n.jsx)(s.Suspense,{fallback:(0,n.jsx)(u.G,{label:e("spatial.title")}),children:(0,n.jsx)(P,{})})}function P(){let{t:e,i18n:t}=(0,a.Bd)(),r=(0,i.useRouter)(),u=(0,i.useSearchParams)(),g=u.get("session"),[w,v]=(0,s.useState)(null),[S,L]=(0,s.useState)(!0),[x,C]=(0,s.useState)(()=>{try{return{showCameras:"false"!==window.localStorage.getItem("human2ai.spatial.showCameras"),showRig:"false"!==window.localStorage.getItem("human2ai.spatial.showRig")}}catch{}return{showCameras:!0,showRig:!0}}),[j,P]=(0,s.useState)(null),[M,q]=(0,s.useState)(c.wY),[I,D]=(0,s.useState)(0),[O,N]=(0,s.useState)(),F=(0,s.useMemo)(()=>new Map(c.mw.map(e=>[e,function(e,t,r="color"){let n=new Map;if(!e)return n;for(let s of t.cameras){let i=e.cameras.get(s.id)?.[r];i?.key===E.key(t,s,r)&&n.set(s.id,i.revision)}return n}(O,M,e)])),[O,M]),T=(0,m.t)(g,async()=>g,I),[B,H]=(0,s.useState)(!!g),[U,$]=(0,s.useState)(!1),[J,_]=(0,s.useState)(null),[z,A]=(0,s.useState)(!1),[Y,K]=(0,s.useState)(0),[V,W]=(0,s.useState)(null),[Q]=(0,s.useState)(()=>({queue:new b(M,0),busy:!1,stopped:!1})),G=(0,s.useRef)(Q),X=(0,f.S)(M,({draft:e})=>{G.current.queue.restore(e),q(e),A(!1)},!g||B||!!J),Z=(0,s.useRef)(()=>(0,c.wY)());Z.current=()=>{let t=(0,c.wY)();return t.cameras[0].name=e("spatial.camera",{number:1}),t};let ee=Object.fromEntries(Object.keys(R.spatial).map(t=>[t,e(`spatial.${t}`)])),et=(e,t)=>{C(r=>({...r,[e]:t}));try{window.localStorage.setItem(`human2ai.spatial.${e}`,String(t))}catch{}};return(0,s.useEffect)(()=>{let e={queue:new b(Z.current(),0),busy:!1,stopped:!1};X.reset(e.queue.draft),G.current=e;let t=!1,r=!1;if(_(null),P(null),H(!!g),$(!1),A(!1),N(void 0),q(e.queue.draft),D(0),W(null),!g){q(e.queue.draft),D(0);return}let n=t=>{e.queue=new b(t?.draft??Z.current(),t?.revision??0),X.reset(e.queue.draft),q(e.queue.draft),D(e.queue.revision),W(t?.createdAt??null),N(e=>t?k(e,t.draft,t.revision):void 0)};Promise.all([(0,p.Ht)(g),(0,p.zV)(g)]).then(([e,r])=>{if(!t){if("spatial"!==e.sessionType)throw Error("SESSION_TYPE_MISMATCH");P(e),n(r),H(!1)}}).catch(()=>{t||(_("spatial.loadFailed"),e.stopped=!0,H(!1))});let s=t=>{(e.queue.pending||r)&&t.preventDefault()},i=async()=>{if(!e.busy&&!e.stopped&&(!t||e.queue.pending)&&(!document.hidden||e.queue.pending)){e.busy=!0;try{if(e.queue.pending)r=!0,t||$(!0),await e.queue.flush({saveInitial:e=>(0,p.rO)(g,0,e),apply:(e,t)=>(0,p.qz)(g,e,t),restore:(e,t)=>(0,p.ul)(g,e,t)},r=>{t||(D(r.revision),W(r.createdAt),q(e.queue.draft),_(null),N(e=>k(e,r.draft,r.revision)))});else{let r=await (0,p.zV)(g,e.queue.revision);if(t||e.queue.pending)return;r&&r.revision!==e.queue.revision&&n(r)}}catch(r){e.stopped=!0,t||_(r instanceof p.wP&&409===r.status?"spatial.conflict":"spatial.saveFailed")}finally{e.busy=!1,r=!1,t?e.queue.pending&&!e.stopped?i():window.removeEventListener("beforeunload",s):$(!1)}}},a=window.setInterval(()=>void i(),800),o=()=>{document.hidden||i()};return document.addEventListener("visibilitychange",o),window.addEventListener("beforeunload",s),()=>{t=!0,clearInterval(a),document.removeEventListener("visibilitychange",o),e.queue.pending&&!e.stopped?i():r||window.removeEventListener("beforeunload",s)}},[g,Y]),(0,n.jsx)(d.o,{title:j?.title??e("spatial.title"),currentSessionId:g,onCurrentSessionRename:e=>P(t=>t?{...t,title:e}:t),rightPanelOpen:S,onRightPanelOpenChange:L,rightPanel:g?(0,n.jsx)("div",{ref:v,className:"spatial-panel-host"}):void 0,children:g?(0,n.jsx)(o.Hx,{draft:M,initialCameraId:u.get("camera"),labels:ee,actions:{retry:e("actions.retry"),delete:e("actions.delete"),cancel:e("actions.cancel")},onOperation:e=>{if(g&&!B&&!G.current.stopped)try{let t=(0,c.bK)(G.current.queue.draft,[e]);if(!X.record(t.draft))return void A(t.constrained);G.current.queue.edit(e,t.draft),q(t.draft),A(t.constrained)}catch{A(!0)}},showCameras:x.showCameras,onShowCamerasChange:e=>et("showCameras",e),showRig:x.showRig,onShowRigChange:e=>et("showRig",e),panelHost:w,toolsLabel:e("canvas.tools.label"),noteLabel:e("notes.element.label"),copiedLabel:e("clipboard.copied"),onRequestProperties:()=>L(!0),loading:B,disabled:!!J||B,error:J?e(J):z?e("spatial.constrained"):null,onRetry:J?()=>{"spatial.saveFailed"===J?(G.current.stopped=!1,_(null)):K(e=>e+1)}:void 0,interactionResetKey:X.restoreToken,historyControls:(0,n.jsx)(o.zr,{...X,labels:{undo:e("canvasHistory.undo"),redo:e("canvasHistory.redo"),label:e("canvasHistory.label")}}),cameraSource:(e,t)=>{let r=F.get(t??"color")?.get(e);return B||J||j?.id!==g||!r?void 0:(0,p.J_)(g,e,r,t)},cameraBoxSource:(e,t,r)=>B||U||G.current.queue.pending||J||j?.id!==g||!(I>0)?void 0:(0,p.gk)(g,e,I,t,r),details:(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(o.J3,{createdAt:j?.createdAt??null,updatedAt:V,nodeCount:M.characters.length+M.objects.length+M.cameras.length+(M.cameraBoxes?.length??0),locale:t.resolvedLanguage??"zh-CN",agentCommand:()=>Promise.resolve(e("sessionDetails.agentCommand",{command:(0,h.m)(g,window.location.origin)})),labels:{title:e("sessionDetails.title"),created:e("sessionDetails.created"),updated:e("sessionDetails.updated"),nodes:e("sessionDetails.nodes"),agent:e("sessionDetails.agent"),copyCommand:e("sessionDetails.copyCommand"),copying:e("sessionDetails.copying"),copied:e("clipboard.copied"),copyFailed:e("sessionDetails.copyFailed"),emptyValue:e("sessionDetails.emptyValue")}}),(0,n.jsx)(y.H,{controller:T,category:"spatial",showProcessingStatus:!1,disabled:B||U||!!J})]})},`${g}/${Y}`):(0,n.jsx)(l.J,{onClick:async()=>{let t=await (0,p.DZ)(e("spatial.untitled"));r.push(`/spatial?session=${encodeURIComponent(t.id)}`)},children:e("spatial.newSpace")})})}}},e=>{e.O(0,[661,437,226,460,746,20,380,653,678,130,347,158,358],()=>e(e.s=42111)),_N_E=e.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[613],{46109:(e,r,a)=>{"use strict";function t(e){return{model:{label:e("styleLibrary.model.label"),loading:e("styleLibrary.model.loading"),failed:e("styleLibrary.model.failed"),reset:e("styleLibrary.model.reset"),controls:e("styleLibrary.model.controls"),retry:e("actions.retry")},newStyle:e("styleLibrary.newStyle"),editStyle:e("styleLibrary.editStyle"),name:e("styleLibrary.name"),namePlaceholder:e("styleLibrary.namePlaceholder"),category:e("styleLibrary.category.label"),allCategories:e("styleLibrary.category.all"),visualCategory:e("styleLibrary.category.visual"),uiCategory:e("styleLibrary.category.ui"),spatialCategory:e("styleLibrary.category.spatial"),creator:e("styleLibrary.creator.label"),allCreators:e("styleLibrary.creator.all"),userCreator:e("styleLibrary.creator.user"),agentCreator:e("styleLibrary.creator.agent"),references:e("styleLibrary.references.heading"),noReferences:e("styleLibrary.references.empty"),addReferences:e("styleLibrary.references.add"),removeReference:e("styleLibrary.references.remove"),pasteHint:e("styleLibrary.references.pasteHint"),fileTypes:e("styleLibrary.references.fileTypes"),description:e("styleLibrary.description.heading"),promptSummary:e("styleLibrary.promptSummary.label"),promptSummaryPlaceholder:e("styleLibrary.promptSummary.placeholder"),descriptionPlaceholder:e("styleLibrary.description.placeholder"),spatialDescriptionPlaceholder:e("styleLibrary.description.spatialPlaceholder"),searchPlaceholder:e("styleLibrary.searchPlaceholder"),deleteTitle:e("styleLibrary.deleteTitle"),deleteDescription:e("styleLibrary.deleteDescription"),empty:e("styleLibrary.empty"),noMatches:e("styleLibrary.noMatches"),loading:e("styleLibrary.loading"),loadFailed:e("styleLibrary.loadFailed"),retry:e("actions.retry"),save:e("styleLibrary.save"),cancel:e("actions.cancel"),delete:e("actions.delete"),operationFailed:e("errors.operationFailed"),imageInvalid:e("styleLibrary.imageInvalid"),openStyle:r=>e("styleLibrary.openStyle",{name:r}),closePreview:e("styleLibrary.closePreview")}}a.d(r,{Q:()=>t})},49046:(e,r,a)=>{"use strict";a.r(r),a.d(r,{default:()=>c});var t=a(73365),l=a(16415),i=a(1521),s=a(8020),y=a(46109),o=a(53130),n=a(60458);function c(){let{t:e}=(0,s.Bd)(),[r,a]=(0,i.useState)([]),[c,d]=(0,i.useState)(!0),[m,p]=(0,i.useState)(null),[b,L]=(0,i.useState)(0),u=(0,i.useCallback)(async r=>{r&&d(!0);try{let e=await (0,n.X0)();a(e),p(null)}catch{r&&p(e("styleLibrary.loadFailed"))}finally{r&&d(!1)}},[e]);async function f(e){let r=await (0,n.Jx)({name:e.name,category:e.category,description:e.description,promptSummary:e.promptSummary});a(e=>[r,...e]);try{for(let a of e.newReferenceImages)r=await (0,n.g_)(r.id,a,r.revision),h(r);return r}catch(e){throw await (0,n.Nr)(r.id,r.revision).catch(()=>void 0),a(e=>e.filter(e=>e.id!==r.id)),e}}async function g(e,r){let a=e;try{for(let e of((a.name!==r.name||a.category!==r.category||a.description!==r.description||a.promptSummary!==r.promptSummary)&&(a=await (0,n.nn)(a.id,{expectedRevision:a.revision,name:r.name,category:r.category,description:r.description,promptSummary:r.promptSummary}),h(a)),r.removedReferenceImageIds))a.referenceImages.some(r=>r.id===e)&&(a=await (0,n.aU)(a.id,e,a.revision),h(a));for(let e of r.newReferenceImages)a=await (0,n.g_)(a.id,e,a.revision),h(a);return a}catch(e){throw await u(!1),e}}function h(e){a(r=>r.map(r=>r.id===e.id?e:r))}return(0,i.useEffect)(()=>{let r=!1;d(!0),p(null),(0,n.X0)().then(e=>{r||a(e)}).catch(()=>{r||p(e("styleLibrary.loadFailed"))}).finally(()=>{r||d(!1)});let t=window.setInterval(()=>{r||u(!1)},3e3);return()=>{r=!0,window.clearInterval(t)}},[b,u,e]),(0,t.jsx)(o.o,{title:e("styleLibrary.title"),children:(0,t.jsx)(l.cF,{styles:r,loading:c,errorMessage:m,imageUrl:n.Pf,modelUrl:n.x,labels:(0,y.Q)(e),onCreate:f,onUpdate:g,onDelete:async e=>{await (0,n.Nr)(e.id,e.revision),a(r=>r.filter(r=>r.id!==e.id))},onRetry:()=>L(e=>e+1)})})}},73443:(e,r,a)=>{Promise.resolve().then(a.bind(a,49046))}},e=>{e.O(0,[661,437,226,460,746,20,380,653,678,130,347,158,358],()=>e(e.s=73443)),_N_E=e.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[376],{5424:(e,a,t)=>{Promise.resolve().then(t.bind(t,19401))},19401:(e,a,t)=>{"use strict";t.r(a),t.d(a,{default:()=>C});var n=t(73365),i=t(42614),s=t(11075),o=t(51055),l=t(23139),r=t(16415),c=t(94946),d=t(29415),u=t(95948),g=t(29717),v=t(1521),h=t(8020),m=t(48197),p=t(31854),S=t(53130),f=t(60458),b=t(46295),k=t(52003),y=t(64081),w=t.n(y);async function L(e){let a=await (0,f.Ht)(e);if("ui-layout"!==a.sessionType)throw Error("SESSION_TYPE_MISMATCH");let t=(await (0,f.dH)(e)).at(-1);return{session:a,draft:t?.draft??(0,r.LE)(r.yP),revision:t?.revision??0,lastModifiedAt:t?.createdAt??a.updatedAt,styleProcessing:t?.styleProcessing}}function x(e,a){return e instanceof f.wP?"DRAFT_REVISION_CONFLICT"===e.code?a("uiSketch.session.revisionConflict",{revision:e.details.actualLatestRevision}):"HTTP_404"===e.code?a("uiSketch.session.serviceOutdated"):a("errors.serviceSync",{message:e.message}):e instanceof Error&&"SESSION_TYPE_MISMATCH"===e.message?a("uiSketch.session.typeMismatch"):a("errors.serviceSync",{message:e instanceof Error?e.message:String(e)})}function C(){let{t:e}=(0,h.Bd)();return(0,n.jsx)(v.Suspense,{fallback:(0,n.jsx)(u.G,{className:w().routeLoading,label:e("uiSketch.session.loading"),rows:10}),children:(0,n.jsx)(N,{})})}function N(){let e=(0,g.useRouter)(),a=(0,g.useSearchParams)().get("session"),{t,i18n:y}=(0,h.Bd)(),C=(0,v.useCallback)((e,a)=>t((0,i.B)("uiSketch",e),a),[t]),[N,_]=(0,v.useState)(()=>(0,r.LE)(r.yP)),[F,T]=(0,v.useState)(null),[E,P]=(0,v.useState)(null),[A,R]=(0,v.useState)(null),[j,I]=(0,v.useState)(null),[D,H]=(0,v.useState)(0),[M,O]=(0,v.useState)(),[z,B]=(0,v.useState)(!1),[V,U]=(0,v.useState)(!0),[W,G]=(0,v.useState)(!1),[J,X]=(0,v.useState)(!1),[Y,K]=(0,v.useState)(0),[Z,$]=(0,v.useState)(null),[Q,q]=(0,v.useState)(r.Ol),[ee,ea]=(0,v.useState)(!0),[et,en]=(0,v.useState)(!1),[ei,es]=(0,v.useState)(null),[eo,el]=(0,v.useState)(null),er=(0,v.useRef)(!1),ec=(0,v.useRef)(0),ed=(0,v.useRef)(0),eu=(0,v.useRef)(null),eg=(0,v.useRef)(!1),ev=(0,v.useRef)(null),eh=(0,v.useRef)(null),em=(0,p.t)(F,ef,D),ep=(0,k.S)(N,({draft:e,context:a})=>{ec.current+=1,eu.current=null,_(e),B(!0);let t=(0,r.wN)(e);q(t.some(e=>e.id===a)?a:t[0].id)},V||J||eg.current);function eS(e,a=Q){let t="function"==typeof e?e(ep.current()):e,n=(0,r.wN)(t);ep.record(t,Q,n.some(e=>e.id===a)?a:n[0].id)&&(ec.current+=1,eu.current=null,_(t),B(!0))}async function ef(){if(F)return F;let a=eh.current??(0,f.vh)(t("uiSketch.session.untitled"));eh.current=a;try{let t=await a;return ev.current=t.id,T(t.id),P(t.title),R(t),I(t.updatedAt),e.replace(`/ui-sketch?session=${encodeURIComponent(t.id)}`),t.id}finally{eh.current===a&&(eh.current=null)}}async function eb(e){let a=await ef();return(await (0,f.FX)(a,e)).id}function ek(e){let a=Math.round(e.width),t=Math.round(e.height);a<10||t<10||eS(e=>{let n=e.frame.x+e.frame.width/2,i=e.frame.y+e.frame.height/2;return{...e,frame:{x:n-a/2,y:i-t/2,width:a,height:t}}})}(0,v.useEffect)(()=>{if(a&&a===ev.current){ev.current=null;return}if(ed.current+=1,ec.current=0,eg.current=!1,eu.current=null,B(!1),X(!1),!a){let e=(0,r.LE)(r.yP);ep.reset(e),_(e),T(null),P(null),R(null),I(null),H(0),O(void 0),q(r.Ol),en(!1),$(null),U(!1);return}let e=!1;return U(!0),T(null),P(null),R(null),I(null),en(!1),$(null),L(a).then(a=>{e||(ep.reset(a.draft),_(a.draft),T(a.session.id),P(a.session.title),R(a.session),I(a.lastModifiedAt),H(a.revision),O(a.styleProcessing),q(r.Ol),B(!1),$(null))}).catch(a=>{e||(X(!0),$(x(a,t)))}).finally(()=>{e||U(!1)}),()=>{e=!0}},[Y,a,t]),(0,v.useEffect)(()=>{let e=ec.current;if(eg.current||V||W||!z||eu.current===e)return;let a=ed.current,n=window.setTimeout(()=>{(async()=>{G(!0),$(null);try{let t=F;if(!t&&(t=await ef(),a!==ed.current))return;let n=await (0,f.VQ)(t,D,N);if(a!==ed.current)return;eu.current=null,H(n.revision),O(n.styleProcessing),I(n.createdAt),ec.current===e&&(_(n.draft),B(!1))}catch(n){if(a!==ed.current)return;let e=n instanceof f.wP&&"DRAFT_REVISION_CONFLICT"===n.code?n.details.actualLatestRevision:null;"number"==typeof e&&Number.isInteger(e)&&(eg.current=!0,ep.reset(ep.current()),H(e)),eu.current=ec.current,$(x(n,t))}finally{G(!1)}})()},800);return()=>window.clearTimeout(n)},[z,N,D,V,e,W,F,t]),(0,v.useEffect)(()=>{if(!F||V||z||W)return;let e=!1,a=ec.current,n=async()=>{try{let t=(await (0,f.dH)(F)).at(-1);!e&&a===ec.current&&t&&t.revision>D&&(ep.reset(t.draft),_(t.draft),H(t.revision),O(t.styleProcessing),I(t.createdAt),q(r.Ol),eu.current=null,$(null))}catch(a){e||$(x(a,t))}};n();let i=window.setInterval(()=>void n(),3e3);return()=>{e=!0,window.clearInterval(i)}},[z,D,V,W,F,t]);let ey=(0,r.wN)(N),ew=ey.map(e=>({id:e.id,label:e.name??t("uiSketch.states.defaultName",{number:e.number})})),eL=ey.some(e=>e.id===Q)?Q:ey[0].id;return(0,n.jsx)(S.o,{currentSessionId:a,onCurrentSessionRename:P,title:E??t("uiSketch.session.new"),rightPanelOpen:ee,onRightPanelOpenChange:ea,rightPanel:(0,n.jsx)("div",{className:w().panel,"data-canvas-editor":!0,children:V?(0,n.jsx)(u.G,{className:w().panelLoading,label:t("uiSketch.session.loading"),rows:8,compact:!0}):ee?(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(r.J3,{createdAt:A?.createdAt??null,updatedAt:j,nodeCount:N.rectangles.length+N.texts.length+N.images.length,agentCommand:F?async()=>t("sessionDetails.agentCommand",{command:(0,b.m)(F,window.location.origin)}):null,locale:y.resolvedLanguage??y.language,labels:{title:t("sessionDetails.title"),created:t("sessionDetails.created"),updated:t("sessionDetails.updated"),nodes:t("sessionDetails.nodes"),agent:t("sessionDetails.agent"),copyCommand:t("sessionDetails.copyCommand"),copying:t("sessionDetails.copying"),copied:t("clipboard.copied"),copyFailed:t("sessionDetails.copyFailed"),emptyValue:t("sessionDetails.emptyValue")}}),(0,n.jsx)(m.H,{controller:em,category:"ui",processing:M,disabled:V||W}),(0,n.jsxs)("section",{children:[(0,n.jsxs)("div",{className:w().sectionHeading,children:[(0,n.jsx)("h2",{children:t("canvas.tools.label")}),(0,n.jsx)("div",{ref:el,className:w().sectionHeadingActions})]}),(0,n.jsx)("div",{ref:es})]}),(0,n.jsxs)("section",{children:[(0,n.jsxs)("div",{className:w().sectionHeading,children:[(0,n.jsx)("h2",{children:t("uiSketch.canvasLabels.frameRange")}),(0,n.jsxs)("div",{className:w().sectionHeadingActions,children:[(0,n.jsx)(d.J,{mode:"icon-only",size:"small",icon:(0,n.jsx)(s.A,{}),iconLabel:t("uiSketch.canvasLabels.resetFrame"),title:t("uiSketch.canvasLabels.resetFrame"),backgroundColor:"none",textColor:"color.text.secondary",disabled:J||et,onClick:function(){eS(e=>({...e,frame:{...r.yP.frame}}))}}),(0,n.jsx)(d.J,{mode:"icon-only",size:"small",icon:et?(0,n.jsx)(o.A,{}):(0,n.jsx)(l.A,{}),iconLabel:et?t("uiSketch.canvasLabels.unlockFrame"):t("uiSketch.canvasLabels.lockFrame"),title:et?t("uiSketch.canvasLabels.unlockFrame"):t("uiSketch.canvasLabels.lockFrame"),"aria-pressed":et,backgroundColor:et?"color.action.primaryActive":"none",textColor:et?"color.text.onPrimary":"color.text.secondary",disabled:J,onClick:()=>en(e=>!e)})]})]}),(0,n.jsx)("div",{className:w().aspectRatioSelector,children:(0,n.jsx)(c.h,{ratio:{width:N.frame.width,height:N.frame.height},disabled:J||et,onChange:(e,a)=>{er.current=!0,ek({width:N.frame.width,height:N.frame.width*a.height/a.width})},onRatioChange:e=>{if(er.current){er.current=!1;return}ek(e)},title:t("uiSketch.canvasLabels.rangeTitle"),widthLabel:t("dimensions.width"),heightLabel:t("dimensions.height"),"aria-label":t("uiSketch.canvasLabels.frameRange")})})]})]}):null}),children:(0,n.jsxs)("div",{className:w().page,"data-canvas-editor":!0,"aria-busy":V||W,children:[Z?(0,n.jsxs)("div",{className:w().serviceError,role:"alert",children:[(0,n.jsx)("span",{children:Z}),J?(0,n.jsx)(d.J,{size:"small",onClick:()=>K(e=>e+1),children:t("actions.retry")}):null]}):null,V?(0,n.jsx)(u.G,{className:w().workspaceLoading,label:t("uiSketch.session.loading"),rows:10}):J?null:(0,n.jsxs)(r.x8,{"data-active-stage":eL,stateControls:(0,n.jsx)(r.SM,{items:ew,value:eL,labels:{switch:t("uiSketch.views.switch"),add:t("uiSketch.views.enableMotion"),rename:t("actions.rename"),name:t("uiSketch.states.name"),new:t("uiSketch.states.new"),delete:t("uiSketch.states.delete"),cancel:t("actions.cancel"),reorderHint:t("uiSketch.states.reorderHint"),actions:e=>t("uiSketch.states.actions",{name:e}),deleteTitle:e=>t("uiSketch.states.deleteTitle",{name:e})},onChange:q,onCreate:function(e){let a=crypto.randomUUID();eS(t=>(0,r.MH)(t,e,a),a),q(a)},onRename:(e,a)=>eS(t=>(0,r.kC)(t,e,a)),onDelete:function(e){let a=(0,r.wN)(N),t=a.findIndex(a=>a.id===e);if(a.length<2||t<0)return;let n=Q===e?a[t+1]?.id??a[t-1].id:Q;q(n),eS(a=>(0,r.vB)(a,e),n)},onReorder:e=>eS(a=>(0,r.Y$)(a,e))}),children:[(0,n.jsx)(r.zr,{...ep,labels:{undo:t("canvasHistory.undo"),redo:t("canvasHistory.redo"),label:t("canvasHistory.label")}}),(0,n.jsx)(r.NX,{className:w().canvas,interactionResetKey:ep.restoreToken,draft:N,activeStageId:eL,onDraftChange:eS,translatePrompt:C,resolveStylePrompt:em.readPromptLine,toolHost:ee?ei:null,clearActionHost:ee?eo:null,showCanvasTools:!ee,canvasSideActionPanelDefaultCollapsed:!0,interfaceFrameLocked:et,resolveImageSource:F?e=>(0,f.MZ)(F,e):void 0,onImageUpload:eb,onReadImageFile:f.MT,imageEditorLabels:{content:t("canvas.imageEditor.content"),upload:t("canvas.imageEditor.upload"),download:t("canvas.imageEditor.download"),downloading:t("canvas.imageEditor.downloading"),downloadFailed:t("canvas.imageEditor.downloadFailed"),replace:t("canvas.imageEditor.replace"),uploading:t("canvas.imageEditor.uploading"),uploadFailed:t("canvas.imageEditor.uploadFailed"),fileTypes:t("canvas.imageEditor.fileTypes"),cropTitle:t("canvas.imageCrop.title"),cropLoadFailed:t("canvas.imageCrop.loadFailed"),svgSource:t("canvas.imageEditor.svgSource"),svgPaste:t("canvas.imageEditor.svgPaste"),svgApply:t("canvas.imageEditor.svgApply"),svgSaveFailed:t("canvas.imageEditor.svgSaveFailed"),svgCopy:t("canvas.imageEditor.svgCopy"),svgCopying:t("canvas.imageEditor.svgCopying"),svgCopyFailed:t("canvas.imageEditor.svgCopyFailed"),sourceLoading:t("canvas.imageEditor.sourceLoading"),sourceLoadFailed:t("canvas.imageEditor.sourceLoadFailed"),svgCopied:t("clipboard.copied"),cancel:t("actions.cancel"),retry:t("actions.retry")},labels:{canvas:t("uiSketch.canvas"),canvasViewport:t("uiSketch.canvasLabels.canvasViewport"),scene:t("uiSketch.canvasLabels.scene"),region:t("uiSketch.canvasLabels.region"),addRegion:t("uiSketch.canvasLabels.addRegion"),text:t("uiSketch.canvasLabels.text"),addText:t("uiSketch.canvasLabels.addText"),image:t("canvas.imageNode.label"),addImage:t("canvas.imageNode.add"),newText:t("uiSketch.canvasLabels.newText"),overallNote:t("notes.global.label"),clearCanvas:t("uiSketch.canvasLabels.clearCanvas"),clearCanvasConfirmTitle:t("uiSketch.canvasLabels.clearCanvasConfirmTitle"),clearCanvasConfirmDescription:t("uiSketch.canvasLabels.clearCanvasConfirmDescription"),clearCanvasCancel:t("actions.cancel"),bringToFront:t("canvasLayers.bringToFront"),bringForward:t("canvasLayers.bringForward"),sendBackward:t("canvasLayers.sendBackward"),sendToBack:t("canvasLayers.sendToBack"),groupItems:t("uiSketch.canvasLabels.groupItems"),ungroupItems:t("uiSketch.canvasLabels.ungroupItems"),copyGroup:t("clipboard.group"),copyPrompt:t("clipboard.copyPrompt"),copySketch:t("clipboard.copyPreview"),copyAllStages:t("uiSketch.motion.copyPrompt"),overallNoteTitle:t("uiSketch.globalNote.title"),overallNotePlaceholder:t("uiSketch.globalNote.placeholder"),overallNoteAriaLabel:t("uiSketch.globalNote.ariaLabel"),fitFrame:t("uiSketch.canvasLabels.fitFrame"),interactionHelp:t("canvas.viewport.instructions"),sideActions:t("uiSketch.canvasLabels.sideActions"),collapseSideActions:t("uiSketch.canvasLabels.collapseSideActions"),expandSideActions:t("uiSketch.canvasLabels.expandSideActions"),frameAction:t("uiSketch.canvasLabels.frameAction"),frameRange:t("uiSketch.canvasLabels.frameRange"),missingRegionNote:t("uiSketch.canvasLabels.missingRegionNote"),editRegionNote:t("uiSketch.canvasLabels.editRegionNote"),editText:t("uiSketch.canvasLabels.editText"),nodeDescription:t("canvas.node.nodeDescription"),originUser:t("canvas.node.originUser"),originAgent:t("canvas.node.originAgent"),originImport:t("canvas.node.originImport"),note:t("notes.element.label"),textContent:t("textContent.label"),regionPlaceholder:t("notes.element.regionPlaceholder"),textPlaceholder:t("textContent.uiSketchPlaceholder"),textNotePlaceholder:t("notes.element.textPlaceholder"),imageNotePlaceholder:t("notes.element.nodePlaceholder"),shapeKind:t("canvasNodeEditor.shapeKind"),emptyText:t("uiSketch.canvasLabels.emptyText"),visualWeight:t("visualWeight.label"),visibility:t("uiSketch.canvasLabels.visibility"),visible:t("uiSketch.canvasLabels.visible"),hidden:t("uiSketch.canvasLabels.hidden"),weightAuto:t("visualWeight.auto"),weightHigh:t("visualWeight.high"),weightMedium:t("visualWeight.medium"),weightLow:t("visualWeight.low"),weightDecorative:t("visualWeight.decorative"),fontSize:t("uiSketch.canvasLabels.fontSize"),decreaseFontSize:t("uiSketch.canvasLabels.decreaseFontSize"),increaseFontSize:t("uiSketch.canvasLabels.increaseFontSize"),cancel:t("actions.cancel"),deleteRegion:t("actions.deleteRegion"),deleteText:t("actions.deleteText"),deleteNode:t("actions.deleteNode"),confirmDeleteRegion:t("confirmations.deleteRegion"),confirmDeleteText:t("confirmations.deleteText"),confirmDeleteNode:t("confirmations.deleteNode"),cancelDelete:t("actions.keep"),promptUnsupported:t("clipboard.promptUnsupported"),promptCopied:t("clipboard.copied"),promptCopyFailed:t("clipboard.promptFailed"),sketchCopied:t("clipboard.copied"),sketchDownloaded:t("clipboard.previewDownloaded"),sketchCopyFailed:t("clipboard.previewFailed"),selectedItemsPrefix:t("uiSketch.canvasLabels.selectedItemsPrefix"),selectedItemsSuffix:t("uiSketch.canvasLabels.selectedItemsSuffix"),noSelection:t("uiSketch.canvasLabels.noSelection")},"aria-label":t("uiSketch.canvas")})]})]})})}},64081:e=>{e.exports={page:"page_page__BcSuz",routeLoading:"page_routeLoading__kkew_",workspaceLoading:"page_workspaceLoading__1orsz",panelLoading:"page_panelLoading__ffX8a",canvas:"page_canvas__75Gnz",panel:"page_panel__7bViD",sectionHeading:"page_sectionHeading__plJXT",sectionHeadingActions:"page_sectionHeadingActions___cBZV",aspectRatioSelector:"page_aspectRatioSelector__19Yj4",serviceError:"page_serviceError__Av5GF"}}},e=>{e.O(0,[661,437,226,979,782,460,746,20,380,653,678,130,166,347,158,358],()=>e(e.s=5424)),_N_E=e.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[358],{8618:(e,s,n)=>{Promise.resolve().then(n.t.bind(n,57567,23)),Promise.resolve().then(n.t.bind(n,1076,23)),Promise.resolve().then(n.t.bind(n,21580,23)),Promise.resolve().then(n.t.bind(n,47245,23)),Promise.resolve().then(n.t.bind(n,91133,23)),Promise.resolve().then(n.t.bind(n,4297,23)),Promise.resolve().then(n.t.bind(n,31872,23)),Promise.resolve().then(n.bind(n,12569))},86499:()=>{}},e=>{var s=s=>e(e.s=s);e.O(0,[347,158],()=>(s(92521),s(8618))),_N_E=e.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[337],{12575:(e,s,_)=>{Promise.resolve().then(_.t.bind(_,57567,23))}},e=>{e.O(0,[347,158,358],()=>e(e.s=12575)),_N_E=e.O()}]);
|
package/web/out/_next/static/chunks/{webpack-d16ce1f994e98178.js → webpack-c0280e9af5fc8cd3.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
(()=>{"use strict";var e,t,r,o,n,a,i,l,u,s={},c={};function d(e){var t=c[e];if(void 0!==t)return t.exports;var r=c[e]={exports:{}},o=!0;try{s[e](r,r.exports,d),o=!1}finally{o&&delete c[e]}return r.exports}d.m=s,e=[],d.O=(t,r,o,n)=>{if(r){n=n||0;for(var a=e.length;a>0&&e[a-1][2]>n;a--)e[a]=e[a-1];e[a]=[r,o,n];return}for(var i=1/0,a=0;a<e.length;a++){for(var[r,o,n]=e[a],l=!0,u=0;u<r.length;u++)(!1&n||i>=n)&&Object.keys(d.O).every(e=>d.O[e](r[u]))?r.splice(u--,1):(l=!1,n<i&&(i=n));if(l){e.splice(a--,1);var s=o();void 0!==s&&(t=s)}}return t},d.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return d.d(t,{a:t}),t},r=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,d.t=function(e,o){if(1&o&&(e=this(e)),8&o||"object"==typeof e&&e&&(4&o&&e.__esModule||16&o&&"function"==typeof e.then))return e;var n=Object.create(null);d.r(n);var a={};t=t||[null,r({}),r([]),r(r)];for(var i=2&o&&e;"object"==typeof i&&!~t.indexOf(i);i=r(i))Object.getOwnPropertyNames(i).forEach(t=>a[t]=()=>e[t]);return a.default=()=>e,d.d(n,a),n},d.d=(e,t)=>{for(var r in t)d.o(t,r)&&!d.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},d.f={},d.e=e=>Promise.all(Object.keys(d.f).reduce((t,r)=>(d.f[r](e,t),t),[])),d.u=e=>"static/chunks/"+e+"."+({101:"6ef34adad3e9815b",218:"7b89674409b344b8",484:"92b016222d6749f2"})[e]+".js",d.miniCssF=e=>"static/css/0b43ff4a0439c97e.css",d.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||Function("return this")()}catch(e){if("object"==typeof window)return window}}(),d.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),o={},d.l=(e,t,r,n)=>{if(o[e])return void o[e].push(t);if(void 0!==r)for(var a,i,l=document.getElementsByTagName("script"),u=0;u<l.length;u++){var s=l[u];if(s.getAttribute("src")==e||s.getAttribute("data-webpack")=="_N_E:"+r){a=s;break}}a||(i=!0,(a=document.createElement("script")).charset="utf-8",a.timeout=120,d.nc&&a.setAttribute("nonce",d.nc),a.setAttribute("data-webpack","_N_E:"+r),a.src=d.tu(e)),o[e]=[t];var c=(t,r)=>{a.onerror=a.onload=null,clearTimeout(f);var n=o[e];if(delete o[e],a.parentNode&&a.parentNode.removeChild(a),n&&n.forEach(e=>e(r)),t)return t(r)},f=setTimeout(c.bind(null,void 0,{type:"timeout",target:a}),12e4);a.onerror=c.bind(null,a.onerror),a.onload=c.bind(null,a.onload),i&&document.head.appendChild(a)},d.r=e=>{"u">typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},d.tt=()=>(void 0===n&&(n={createScriptURL:e=>e},"u">typeof trustedTypes&&trustedTypes.createPolicy&&(n=trustedTypes.createPolicy("nextjs#bundler",n))),n),d.tu=e=>d.tt().createScriptURL(e),d.p="/_next/",a={68:0},d.f.miniCss=(e,t)=>{if(a[e])t.push(a[e]);else 0!==a[e]&&({977:1})[e]&&t.push(a[e]=new Promise((t,r)=>{var o=d.miniCssF(e),n=d.p+o;if(((e,t)=>{for(var r=document.getElementsByTagName("link"),o=0;o<r.length;o++){var n=r[o],a=n.getAttribute("data-href")||n.getAttribute("href");if("stylesheet"===n.rel&&(a===e||a===t))return n}for(var i=document.getElementsByTagName("style"),o=0;o<i.length;o++){var n=i[o],a=n.getAttribute("data-href");if(a===e||a===t)return n}})(o,n))return t();((e,t,r,o)=>{var n=document.createElement("link");n.rel="stylesheet",n.type="text/css",n.onerror=n.onload=a=>{if(n.onerror=n.onload=null,"load"===a.type)r();else{var i=a&&("load"===a.type?"missing":a.type),l=a&&a.target&&a.target.href||t,u=Error("Loading CSS chunk "+e+" failed.\n("+l+")");u.code="CSS_CHUNK_LOAD_FAILED",u.type=i,u.request=l,n.parentNode.removeChild(n),o(u)}},n.href=t;if("function"==typeof _N_E_STYLE_LOAD){var a=n.href,i=n.onload,l=n.onerror;_N_E_STYLE_LOAD(0===a.indexOf(window.location.origin)?new URL(a).pathname:a).then(function(){i&&i.call(n,{type:"load"})},function(){l&&l.call(n,{})})}else document.head.appendChild(n)})(e,n,t,r)}).then(()=>{a[e]=0},t=>{throw delete a[e],t}))},d.b=document.baseURI||self.location.href,i={68:0,661:0,611:0,
|
|
1
|
+
(()=>{"use strict";var e,t,r,o,n,a,i,l,u,s={},c={};function d(e){var t=c[e];if(void 0!==t)return t.exports;var r=c[e]={exports:{}},o=!0;try{s[e](r,r.exports,d),o=!1}finally{o&&delete c[e]}return r.exports}d.m=s,e=[],d.O=(t,r,o,n)=>{if(r){n=n||0;for(var a=e.length;a>0&&e[a-1][2]>n;a--)e[a]=e[a-1];e[a]=[r,o,n];return}for(var i=1/0,a=0;a<e.length;a++){for(var[r,o,n]=e[a],l=!0,u=0;u<r.length;u++)(!1&n||i>=n)&&Object.keys(d.O).every(e=>d.O[e](r[u]))?r.splice(u--,1):(l=!1,n<i&&(i=n));if(l){e.splice(a--,1);var s=o();void 0!==s&&(t=s)}}return t},d.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return d.d(t,{a:t}),t},r=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,d.t=function(e,o){if(1&o&&(e=this(e)),8&o||"object"==typeof e&&e&&(4&o&&e.__esModule||16&o&&"function"==typeof e.then))return e;var n=Object.create(null);d.r(n);var a={};t=t||[null,r({}),r([]),r(r)];for(var i=2&o&&e;"object"==typeof i&&!~t.indexOf(i);i=r(i))Object.getOwnPropertyNames(i).forEach(t=>a[t]=()=>e[t]);return a.default=()=>e,d.d(n,a),n},d.d=(e,t)=>{for(var r in t)d.o(t,r)&&!d.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},d.f={},d.e=e=>Promise.all(Object.keys(d.f).reduce((t,r)=>(d.f[r](e,t),t),[])),d.u=e=>"static/chunks/"+e+"."+({101:"6ef34adad3e9815b",218:"7b89674409b344b8",484:"92b016222d6749f2"})[e]+".js",d.miniCssF=e=>"static/css/0b43ff4a0439c97e.css",d.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||Function("return this")()}catch(e){if("object"==typeof window)return window}}(),d.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),o={},d.l=(e,t,r,n)=>{if(o[e])return void o[e].push(t);if(void 0!==r)for(var a,i,l=document.getElementsByTagName("script"),u=0;u<l.length;u++){var s=l[u];if(s.getAttribute("src")==e||s.getAttribute("data-webpack")=="_N_E:"+r){a=s;break}}a||(i=!0,(a=document.createElement("script")).charset="utf-8",a.timeout=120,d.nc&&a.setAttribute("nonce",d.nc),a.setAttribute("data-webpack","_N_E:"+r),a.src=d.tu(e)),o[e]=[t];var c=(t,r)=>{a.onerror=a.onload=null,clearTimeout(f);var n=o[e];if(delete o[e],a.parentNode&&a.parentNode.removeChild(a),n&&n.forEach(e=>e(r)),t)return t(r)},f=setTimeout(c.bind(null,void 0,{type:"timeout",target:a}),12e4);a.onerror=c.bind(null,a.onerror),a.onload=c.bind(null,a.onload),i&&document.head.appendChild(a)},d.r=e=>{"u">typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},d.tt=()=>(void 0===n&&(n={createScriptURL:e=>e},"u">typeof trustedTypes&&trustedTypes.createPolicy&&(n=trustedTypes.createPolicy("nextjs#bundler",n))),n),d.tu=e=>d.tt().createScriptURL(e),d.p="/_next/",a={68:0},d.f.miniCss=(e,t)=>{if(a[e])t.push(a[e]);else 0!==a[e]&&({977:1})[e]&&t.push(a[e]=new Promise((t,r)=>{var o=d.miniCssF(e),n=d.p+o;if(((e,t)=>{for(var r=document.getElementsByTagName("link"),o=0;o<r.length;o++){var n=r[o],a=n.getAttribute("data-href")||n.getAttribute("href");if("stylesheet"===n.rel&&(a===e||a===t))return n}for(var i=document.getElementsByTagName("style"),o=0;o<i.length;o++){var n=i[o],a=n.getAttribute("data-href");if(a===e||a===t)return n}})(o,n))return t();((e,t,r,o)=>{var n=document.createElement("link");n.rel="stylesheet",n.type="text/css",n.onerror=n.onload=a=>{if(n.onerror=n.onload=null,"load"===a.type)r();else{var i=a&&("load"===a.type?"missing":a.type),l=a&&a.target&&a.target.href||t,u=Error("Loading CSS chunk "+e+" failed.\n("+l+")");u.code="CSS_CHUNK_LOAD_FAILED",u.type=i,u.request=l,n.parentNode.removeChild(n),o(u)}},n.href=t;if("function"==typeof _N_E_STYLE_LOAD){var a=n.href,i=n.onload,l=n.onerror;_N_E_STYLE_LOAD(0===a.indexOf(window.location.origin)?new URL(a).pathname:a).then(function(){i&&i.call(n,{type:"load"})},function(){l&&l.call(n,{})})}else document.head.appendChild(n)})(e,n,t,r)}).then(()=>{a[e]=0},t=>{throw delete a[e],t}))},d.b=document.baseURI||self.location.href,i={68:0,661:0,611:0,437:0,226:0,979:0,136:0,577:0,782:0},d.f.j=(e,t)=>{var r=d.o(i,e)?i[e]:void 0;if(0!==r)if(r)t.push(r[2]);else if(/^(6(11|61|8)|97[79]|136|226|437|577|782)$/.test(e))i[e]=0;else{var o=new Promise((t,o)=>r=i[e]=[t,o]);t.push(r[2]=o);var n=d.p+d.u(e),a=Error();d.l(n,t=>{if(d.o(i,e)&&(0!==(r=i[e])&&(i[e]=void 0),r)){var o=t&&("load"===t.type?"missing":t.type),n=t&&t.target&&t.target.src;a.message="Loading chunk "+e+" failed.\n("+o+": "+n+")",a.name="ChunkLoadError",a.type=o,a.request=n,r[1](a)}},"chunk-"+e,e)}},d.O.j=e=>0===i[e],l=(e,t)=>{var r,o,[n,a,l]=t,u=0;if(n.some(e=>0!==i[e])){for(r in a)d.o(a,r)&&(d.m[r]=a[r]);if(l)var s=l(d)}for(e&&e(t);u<n.length;u++)o=n[u],d.o(i,o)&&i[o]&&i[o][0](),i[o]=0;return d.O(s)},(u=self.webpackChunk_N_E=self.webpackChunk_N_E||[]).forEach(l.bind(null,0)),u.push=l.bind(null,u.push.bind(u))})();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.yisi-aspect-ratio-selector{position:relative;box-sizing:border-box;display:flex;flex-direction:column;width:min(100%,184px);min-width:160px;min-height:156px;gap:var(--yisiui-space-2);margin:0;padding:var(--yisiui-space-2) var(--yisiui-space-2) var(--yisiui-space-3);border:0;color:var(--yisiui-color-text-primary);font-family:var(--yisiui-typography-body-font-family)}.yisi-aspect-ratio-selector-header{display:flex;min-width:0;min-height:24px;align-items:center;justify-content:center;gap:var(--yisiui-space-2)}.yisi-aspect-ratio-selector-title{min-width:0;overflow:hidden;color:var(--yisiui-color-text-secondary);font-size:var(--yisiui-font-size-xs);font-weight:var(--yisiui-font-weight-regular);line-height:var(--yisiui-font-line-height-compact);text-overflow:ellipsis;white-space:nowrap}.yisi-aspect-ratio-selector-input-label,.yisi-aspect-ratio-selector-inputs{display:flex;align-items:center}.yisi-aspect-ratio-selector-inputs{flex:0 0 auto;gap:var(--yisiui-space-1);color:var(--yisiui-color-text-secondary);font-size:var(--yisiui-font-size-xs);line-height:1}.yisi-aspect-ratio-selector-input-label{gap:2px}.yisi-aspect-ratio-selector-input{box-sizing:border-box;width:36px;height:24px;min-width:0;-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield;border:1px solid var(--yisiui-color-border-default);border-radius:var(--yisiui-radius-sm);outline:none;background:var(--yisiui-color-surface-panel);color:var(--yisiui-color-text-primary);font:inherit;line-height:1;padding:0 3px;text-align:center}.yisi-aspect-ratio-selector-input::-webkit-inner-spin-button,.yisi-aspect-ratio-selector-input::-webkit-outer-spin-button{margin:0;-webkit-appearance:none;appearance:none}.yisi-aspect-ratio-selector-input:hover:not(:disabled){border-color:var(--yisiui-color-border-interactive)}.yisi-aspect-ratio-selector-input:focus-visible{border-color:var(--yisiui-color-border-focus);outline:2px solid var(--yisiui-color-border-focus);outline-offset:1px}.yisi-aspect-ratio-selector-input[aria-invalid=true]{border-color:var(--yisiui-color-border-error)}.yisi-aspect-ratio-selector-input:disabled{border-color:var(--yisiui-color-border-disabled);background:var(--yisiui-color-surface-disabled);color:var(--yisiui-color-text-disabled);cursor:not-allowed}.yisi-aspect-ratio-selector-multiply{color:var(--yisiui-color-text-disabled)}.yisi-aspect-ratio-selector-options{display:grid;grid-template-columns:40px minmax(64px,72px) 40px;grid-template-rows:30px 30px 30px;align-items:center;justify-content:center;-moz-column-gap:var(--yisiui-space-2);column-gap:var(--yisiui-space-2);row-gap:var(--yisiui-space-1)}.yisi-aspect-ratio-selector-preview-area{display:flex;grid-column:2;grid-row:1/span 2;width:72px;height:64px;align-items:center;justify-content:center}.yisi-aspect-ratio-selector-preview{box-sizing:border-box;display:block;width:var(--yisiui-aspect-ratio-preview-width);height:var(--yisiui-aspect-ratio-preview-height);border:2px solid var(--yisiui-color-
|
|
1
|
+
.yisi-aspect-ratio-selector{position:relative;box-sizing:border-box;display:flex;flex-direction:column;width:min(100%,184px);min-width:160px;min-height:156px;gap:var(--yisiui-space-2);margin:0;padding:var(--yisiui-space-2) var(--yisiui-space-2) var(--yisiui-space-3);border:0;color:var(--yisiui-color-text-primary);font-family:var(--yisiui-typography-body-font-family)}.yisi-aspect-ratio-selector-header{display:flex;min-width:0;min-height:24px;align-items:center;justify-content:center;gap:var(--yisiui-space-2)}.yisi-aspect-ratio-selector-title{min-width:0;overflow:hidden;color:var(--yisiui-color-text-secondary);font-size:var(--yisiui-font-size-xs);font-weight:var(--yisiui-font-weight-regular);line-height:var(--yisiui-font-line-height-compact);text-overflow:ellipsis;white-space:nowrap}.yisi-aspect-ratio-selector-input-label,.yisi-aspect-ratio-selector-inputs{display:flex;align-items:center}.yisi-aspect-ratio-selector-inputs{flex:0 0 auto;gap:var(--yisiui-space-1);color:var(--yisiui-color-text-secondary);font-size:var(--yisiui-font-size-xs);line-height:1}.yisi-aspect-ratio-selector-input-label{gap:2px}.yisi-aspect-ratio-selector-input{box-sizing:border-box;width:36px;height:24px;min-width:0;-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield;border:1px solid var(--yisiui-color-border-default);border-radius:var(--yisiui-radius-sm);outline:none;background:var(--yisiui-color-surface-panel);color:var(--yisiui-color-text-primary);font:inherit;line-height:1;padding:0 3px;text-align:center}.yisi-aspect-ratio-selector-input::-webkit-inner-spin-button,.yisi-aspect-ratio-selector-input::-webkit-outer-spin-button{margin:0;-webkit-appearance:none;appearance:none}.yisi-aspect-ratio-selector-input:hover:not(:disabled){border-color:var(--yisiui-color-border-interactive)}.yisi-aspect-ratio-selector-input:focus-visible{border-color:var(--yisiui-color-border-focus);outline:2px solid var(--yisiui-color-border-focus);outline-offset:1px}.yisi-aspect-ratio-selector-input[aria-invalid=true]{border-color:var(--yisiui-color-border-error)}.yisi-aspect-ratio-selector-input:disabled{border-color:var(--yisiui-color-border-disabled);background:var(--yisiui-color-surface-disabled);color:var(--yisiui-color-text-disabled);cursor:not-allowed}.yisi-aspect-ratio-selector-multiply{color:var(--yisiui-color-text-disabled)}.yisi-aspect-ratio-selector-options{display:grid;grid-template-columns:40px minmax(64px,72px) 40px;grid-template-rows:30px 30px 30px;align-items:center;justify-content:center;-moz-column-gap:var(--yisiui-space-2);column-gap:var(--yisiui-space-2);row-gap:var(--yisiui-space-1)}.yisi-aspect-ratio-selector-preview-area{display:flex;grid-column:2;grid-row:1/span 2;width:72px;height:64px;align-items:center;justify-content:center}.yisi-aspect-ratio-selector-preview{box-sizing:border-box;display:block;width:var(--yisiui-aspect-ratio-preview-width);height:var(--yisiui-aspect-ratio-preview-height);border:2px solid var(--yisiui-color-border-interactive);border-radius:var(--yisiui-radius-sm);background:var(--yisiui-color-feedback-info-bg);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--yisiui-color-surface-panel) 72%,transparent);transition:width var(--yisiui-motion-normal) ease,height var(--yisiui-motion-normal) ease}@media (prefers-reduced-motion:reduce){.yisi-aspect-ratio-selector-option,.yisi-aspect-ratio-selector-preview{transition:none}}.yisi-aspect-ratio-selector-current{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;border:0;white-space:nowrap;clip:rect(0 0 0 0);clip-path:inset(50%)}.yisi-aspect-ratio-selector-option{box-sizing:border-box;display:flex;width:40px;height:28px;min-width:0;align-items:center;justify-content:center;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--yisiui-color-border-default);border-radius:var(--yisiui-radius-sm);background:var(--yisiui-color-surface-panel);color:var(--yisiui-color-text-secondary);cursor:pointer;font:inherit;font-size:var(--yisiui-font-size-xs);line-height:1;padding:0 2px;transition:background-color var(--yisiui-motion-normal) ease,border-color var(--yisiui-motion-normal) ease,color var(--yisiui-motion-normal) ease}.yisi-aspect-ratio-selector-option>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.yisi-aspect-ratio-selector-option[data-position=left-top]{grid-column:1;grid-row:1}.yisi-aspect-ratio-selector-option[data-position=right-top]{grid-column:3;grid-row:1}.yisi-aspect-ratio-selector-option[data-position=left-middle]{grid-column:1;grid-row:2}.yisi-aspect-ratio-selector-option[data-position=right-middle]{grid-column:3;grid-row:2}.yisi-aspect-ratio-selector-option[data-position=left-bottom]{grid-column:1;grid-row:3}.yisi-aspect-ratio-selector-option[data-position=center-bottom]{grid-column:2;grid-row:3;justify-self:center}.yisi-aspect-ratio-selector-option[data-position=right-bottom]{grid-column:3;grid-row:3}.yisi-aspect-ratio-selector-option:hover:not(:disabled){border-color:var(--yisiui-color-border-interactive);background:var(--yisiui-color-surface-hover);color:var(--yisiui-color-text-primary)}.yisi-aspect-ratio-selector-option[aria-checked=true],.yisi-aspect-ratio-selector-option[aria-checked=true]:hover{border-color:var(--yisiui-color-action-link);background:var(--yisiui-color-feedback-info-bg);color:var(--yisiui-color-action-link);font-weight:var(--yisiui-font-weight-semibold)}.yisi-aspect-ratio-selector-option:focus-visible{z-index:1;outline:2px solid var(--yisiui-color-border-focus);outline-offset:2px}.yisi-aspect-ratio-selector-option:disabled{border-color:var(--yisiui-color-border-subtle);background:var(--yisiui-color-surface-page);color:var(--yisiui-color-text-disabled);cursor:not-allowed}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
:root{--yisiui-color-brand-primary:#22C55E;--yisiui-color-brand-primary-hover:#4ADE80;--yisiui-color-brand-primary-active:#16A34A;--yisiui-color-brand-primary-bg:#F0FDF4;--yisiui-color-brand-primary-bg-hover:#DCFCE7;--yisiui-color-brand-primary-text:#15803D;--yisiui-color-brand-on-primary:#FFFFFF;--yisiui-color-neutral-0:#FFFFFF;--yisiui-color-neutral-25:#FCFDFD;--yisiui-color-neutral-50:#F8FAF9;--yisiui-color-neutral-100:#F3F6F5;--yisiui-color-neutral-200:#E2E9E7;--yisiui-color-neutral-300:#C9D4D1;--yisiui-color-neutral-400:#ADBDB8;--yisiui-color-neutral-500:#7C918B;--yisiui-color-neutral-600:#586B6F;--yisiui-color-neutral-700:#48595C;--yisiui-color-neutral-800:#334448;--yisiui-color-neutral-900:#1F292B;--yisiui-color-paper-natural:#F2E3C4;--yisiui-color-paper-sage:#B9CA8B;--yisiui-color-paper-amber:#E4B653;--yisiui-color-paper-rose:#DC938B;--yisiui-color-paper-slate:#98A9B0;--yisiui-color-paper-sky:#87C3CC;--yisiui-color-paper-lavender:#B79BC8;--yisiui-color-paper-clay:#C9825D;--yisiui-color-status-success:#237804;--yisiui-color-status-success-bg:#F6FFED;--yisiui-color-status-warning:#AD4E00;--yisiui-color-status-warning-bg:#FFF7E6;--yisiui-color-status-danger:#CF1322;--yisiui-color-status-danger-bg:#FFF1F0;--yisiui-color-status-info:#48595C;--yisiui-color-status-info-bg:#F3F6F5;--yisiui-color-status-processing:#15803D;--yisiui-color-status-processing-bg:#F0FDF4;--yisiui-font-family-sans:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;--yisiui-font-family-mono:SFMono-Regular,ui-monospace,Menlo,Monaco,Consolas,Liberation Mono,monospace;--yisiui-font-size-2xs:11px;--yisiui-font-size-xs:12px;--yisiui-font-size-sm:13px;--yisiui-font-size-md:14px;--yisiui-font-size-lg:16px;--yisiui-font-size-xl:20px;--yisiui-font-size-2xl:24px;--yisiui-font-size-reading:15px;--yisiui-font-size-display:28px;--yisiui-font-weight-regular:400;--yisiui-font-weight-medium:500;--yisiui-font-weight-semibold:600;--yisiui-font-weight-bold:700;--yisiui-font-line-height-tight:1.2;--yisiui-font-line-height-compact:1.35;--yisiui-font-line-height-normal:1.6;--yisiui-font-line-height-reading:1.9;--yisiui-font-letter-spacing-normal:0em;--yisiui-font-letter-spacing-label:0.04em;--yisiui-font-variant-numeric-tabular:tabular-nums;--yisiui-space-0:0px;--yisiui-space-1:4px;--yisiui-space-2:8px;--yisiui-space-3:12px;--yisiui-space-4:16px;--yisiui-space-5:20px;--yisiui-space-6:24px;--yisiui-space-8:32px;--yisiui-space-10:40px;--yisiui-radius-sm:6px;--yisiui-radius-md:8px;--yisiui-radius-lg:10px;--yisiui-radius-full:9999px;--yisiui-shadow-panel:0 16px 48px rgba(31,41,43,0.06);--yisiui-shadow-card:0 4px 12px rgba(31,41,43,0.04);--yisiui-shadow-raised:0 12px 30px rgba(31,41,43,0.12);--yisiui-motion-fast:120ms;--yisiui-motion-normal:180ms;--yisiui-motion-slow:240ms;--yisiui-color-text-primary:#1F292B;--yisiui-color-text-secondary:#48595C;--yisiui-color-text-muted:#586B6F;--yisiui-color-text-hint:#586B6F;--yisiui-color-text-placeholder:#586B6F;--yisiui-color-text-disabled:#7C918B;--yisiui-color-text-inverse:#FFFFFF;--yisiui-color-text-on-primary:#FFFFFF;--yisiui-color-border-default:#C9D4D1;--yisiui-color-border-subtle:#E2E9E7;--yisiui-color-border-control:#7C918B;--yisiui-color-border-interactive:#15803D;--yisiui-color-border-hover:#ADBDB8;--yisiui-color-border-focus:#15803D;--yisiui-color-border-disabled:#E2E9E7;--yisiui-color-border-error:#CF1322;--yisiui-color-border-warning:#AD4E00;--yisiui-color-border-success:#237804;--yisiui-color-surface-page:#F3F6F5;--yisiui-color-surface-panel:#FFFFFF;--yisiui-color-surface-soft:#F8FAF9;--yisiui-color-surface-code:#F8FAF9;--yisiui-color-surface-hover:#F8FAF9;--yisiui-color-surface-selected:#F0FDF4;--yisiui-color-surface-active:#DCFCE7;--yisiui-color-surface-disabled:#F3F6F5;--yisiui-color-surface-overlay:rgba(31,41,43,0.45);--yisiui-color-action-primary:#22C55E;--yisiui-color-action-primary-hover:#4ADE80;--yisiui-color-action-primary-active:#16A34A;--yisiui-color-action-secondary-hover:#F8FAF9;--yisiui-color-action-secondary-active:#F0FDF4;--yisiui-color-action-link:#15803D;--yisiui-color-action-link-hover:#15803D;--yisiui-color-action-link-active:#15803D;--yisiui-color-feedback-success:#237804;--yisiui-color-feedback-success-bg:#F6FFED;--yisiui-color-feedback-warning:#AD4E00;--yisiui-color-feedback-warning-bg:#FFF7E6;--yisiui-color-feedback-danger:#CF1322;--yisiui-color-feedback-danger-bg:#FFF1F0;--yisiui-color-feedback-error:#CF1322;--yisiui-color-feedback-error-bg:#FFF1F0;--yisiui-color-feedback-info:#48595C;--yisiui-color-feedback-info-bg:#F3F6F5;--yisiui-color-feedback-processing:#15803D;--yisiui-color-feedback-processing-bg:#F0FDF4;--yisiui-color-selection-background:#F0FDF4;--yisiui-color-selection-text:#15803D;--yisiui-typography-page-title-font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;--yisiui-typography-page-title-font-size:28px;--yisiui-typography-page-title-font-weight:700;--yisiui-typography-page-title-line-height:1.2;--yisiui-typography-page-title-letter-spacing:0em;--yisiui-typography-section-title-font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;--yisiui-typography-section-title-font-size:20px;--yisiui-typography-section-title-font-weight:600;--yisiui-typography-section-title-line-height:1.2;--yisiui-typography-section-title-letter-spacing:0em;--yisiui-typography-card-title-font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;--yisiui-typography-card-title-font-size:16px;--yisiui-typography-card-title-font-weight:600;--yisiui-typography-card-title-line-height:1.2;--yisiui-typography-card-title-letter-spacing:0em;--yisiui-typography-body-font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;--yisiui-typography-body-font-size:14px;--yisiui-typography-body-font-weight:400;--yisiui-typography-body-line-height:1.6;--yisiui-typography-body-letter-spacing:0em;--yisiui-typography-body-strong-font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;--yisiui-typography-body-strong-font-size:14px;--yisiui-typography-body-strong-font-weight:600;--yisiui-typography-body-strong-line-height:1.6;--yisiui-typography-body-strong-letter-spacing:0em;--yisiui-typography-body-small-font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;--yisiui-typography-body-small-font-size:13px;--yisiui-typography-body-small-font-weight:400;--yisiui-typography-body-small-line-height:1.35;--yisiui-typography-body-small-letter-spacing:0em;--yisiui-typography-label-font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;--yisiui-typography-label-font-size:12px;--yisiui-typography-label-font-weight:600;--yisiui-typography-label-line-height:1.35;--yisiui-typography-label-letter-spacing:0em;--yisiui-typography-kicker-font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;--yisiui-typography-kicker-font-size:11px;--yisiui-typography-kicker-font-weight:600;--yisiui-typography-kicker-line-height:1.35;--yisiui-typography-kicker-letter-spacing:0.04em;--yisiui-typography-status-font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;--yisiui-typography-status-font-size:11px;--yisiui-typography-status-line-height:1.35;--yisiui-typography-status-letter-spacing:0em;--yisiui-typography-button-font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;--yisiui-typography-button-font-size:14px;--yisiui-typography-button-font-weight:500;--yisiui-typography-button-line-height:1.35;--yisiui-typography-button-letter-spacing:0em;--yisiui-typography-meta-font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;--yisiui-typography-meta-font-size:12px;--yisiui-typography-meta-font-weight:400;--yisiui-typography-meta-line-height:1.35;--yisiui-typography-meta-letter-spacing:0em;--yisiui-typography-reading-font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;--yisiui-typography-reading-font-size:15px;--yisiui-typography-reading-font-weight:400;--yisiui-typography-reading-line-height:1.9;--yisiui-typography-reading-letter-spacing:0em;--yisiui-typography-code-font-family:SFMono-Regular,ui-monospace,Menlo,Monaco,Consolas,Liberation Mono,monospace;--yisiui-typography-code-font-size:12px;--yisiui-typography-code-font-weight:400;--yisiui-typography-code-line-height:1.6;--yisiui-typography-code-letter-spacing:0em;--yisiui-typography-numeric-font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;--yisiui-typography-numeric-font-size:24px;--yisiui-typography-numeric-font-weight:700;--yisiui-typography-numeric-line-height:1.2;--yisiui-typography-numeric-letter-spacing:0em;--yisiui-typography-numeric-font-variant-numeric:tabular-nums;--yisiui-theme-light-page:#F3F6F5;--yisiui-theme-light-panel:#FFFFFF;--yisiui-theme-light-text:#1F292B;--yisiui-theme-dark-page:#141414;--yisiui-theme-dark-panel:#1F1F1F;--yisiui-theme-dark-text:#F5F5F5;--yisiui-theme-dark-interactive:#4ADE80;--yisiui-motion-text-speed-slow:0.6;--yisiui-motion-text-speed-medium:1;--yisiui-motion-text-speed-fast:1.6;--yisiui-surface-desktop-web-page-background:#F3F6F5;--yisiui-surface-desktop-web-content-background:#FFFFFF;--yisiui-surface-desktop-web-sidebar-width:280px;--yisiui-surface-desktop-web-content-max-width:1400px;--yisiui-surface-desktop-web-page-padding:24px;--yisiui-surface-desktop-web-section-gap:20px;--yisiui-surface-desktop-web-panel-padding:24px;--yisiui-component-button-height:36px;--yisiui-component-button-radius:8px;--yisiui-component-button-horizontal-padding:14px;--yisiui-component-input-height:36px;--yisiui-component-input-radius:8px;--yisiui-component-card-radius:8px;--yisiui-component-card-padding:20px;--yisiui-component-card-shadow:0 4px 12px rgba(31,41,43,0.04);--yisiui-component-status-light-background:#303030;--yisiui-component-status-light-green:#52C41A;--yisiui-component-status-light-yellow:#FADB14;--yisiui-component-status-light-yellow-on-light:#D0A003;--yisiui-component-status-light-red:#FF4D4F;--yisiui-component-border-scan-color:#4ADE80;--yisiui-component-border-scan-duration:3200ms;--yisiui-component-border-scan-line-width:3px;--yisiui-component-text-shine-color:#FFFFFF;--yisiui-component-text-shine-beam-width:216px;--yisiui-component-text-shine-beam-angle:105deg;--yisiui-component-text-shine-base-velocity:96;--yisiui-component-writing-agent-main:#22C55E;--yisiui-component-writing-agent-logic:#722ED1;--yisiui-component-writing-agent-draft:#08979C;--yisiui-component-writing-agent-annotation:#C41D7F;--yisiui-component-writing-agent-support:#586B6F;--yisiui-component-content-graph-node-actor-fill:#F0FDF4;--yisiui-component-content-graph-node-actor-stroke:#15803D;--yisiui-component-content-graph-node-actor-text:#15803D;--yisiui-component-content-graph-node-event-fill:#F6FFED;--yisiui-component-content-graph-node-event-stroke:#389E0D;--yisiui-component-content-graph-node-event-text:#135200;--yisiui-component-content-graph-node-conflict-fill:#FFF7E6;--yisiui-component-content-graph-node-conflict-stroke:#D46B08;--yisiui-component-content-graph-node-conflict-text:#873800;--yisiui-component-content-graph-node-knowledge-fill:#E6FFFB;--yisiui-component-content-graph-node-knowledge-stroke:#08979C;--yisiui-component-content-graph-node-knowledge-text:#006D75;--yisiui-component-content-graph-node-rule-fill:#F9F0FF;--yisiui-component-content-graph-node-rule-stroke:#722ED1;--yisiui-component-content-graph-node-rule-text:#391085;--yisiui-component-content-graph-node-skeleton-fill:#F5F5F5;--yisiui-component-content-graph-node-skeleton-stroke:#8C8C8C;--yisiui-component-content-graph-node-skeleton-text:#434343;--yisiui-component-content-graph-node-default-fill:#F8FAF9;--yisiui-component-content-graph-node-default-stroke:#8B9BAE;--yisiui-component-content-graph-node-default-text:#1F292B;--yisiui-component-content-graph-edge-causal:#D46B08;--yisiui-component-content-graph-edge-conflict:#CF1322;--yisiui-component-content-graph-edge-state:#13A8A8;--yisiui-component-content-graph-edge-evidence:#389E0D;--yisiui-component-content-graph-edge-reader:#722ED1;--yisiui-component-content-graph-edge-timeline:#8C8C8C;--yisiui-component-content-graph-edge-default:#7A8CA3;--yisiui-component-content-graph-label-text:#48595C;--yisiui-component-content-graph-label-background:rgba(255,255,255,0.92);--yisiui-component-content-graph-label-border:rgba(122,140,163,0.32);--yisiui-component-content-graph-selection:#22C55E;--yisiui-component-focus-outline:#15803D;--yisiui-component-focus-outline-width:2px;--yisiui-theme-page:#F3F6F5;--yisiui-theme-panel:#FFFFFF;--yisiui-theme-text:#1F292B}[data-theme=dark]{--yisiui-theme-page:#141414;--yisiui-theme-panel:#1F1F1F;--yisiui-theme-text:#F5F5F5}
|