Skip to content

4.6.5 - #1038

Merged
MakinoharaShoko merged 25 commits into
mainfrom
dev
Sep 24, 2026
Merged

4.6.5#1038
MakinoharaShoko merged 25 commits into
mainfrom
dev

Conversation

@MakinoharaShoko

Copy link
Copy Markdown
Member

No description provided.

A-kirami and others added 18 commits August 15, 2026 00:51
sceneParser 在逐语句 map 里用 [...assetsList, ...sentenceAssets] 复制整个
已累积列表,资源密集脚本的整体复杂度因此是 Θ(资源数²):8000 条语句
(5333 个资源引用)解析耗时 47.8ms,而同样语句数、不带资源的脚本只要
6.7ms(线性)。

改为就地 push 追加,结果内容与顺序完全不变。新增回归测试:
- 多条语句的资源/子场景累积顺序、类型去重与 prefetcher 入参保持一致
- 语句数 ×4 时耗时不得超过 ×8(旧实现在该测试下比值约 22)
…quadratic

fix(parser): accumulate assets and subscenes in place to remove superlinear cost
编辑器类调用方只需要语句结构,却要传一个空函数来满足签名,并为此付出每条语句
资源扫描、场景级汇总与去重的开销。把 assetsPrefetcher 改成可选:省略时不收集
资源,sentenceAssets / subScene / assetsList / subSceneList 均为空数组。

现有调用方行为不变(传了回调就照旧收集)。每条语句都带资源引用的脚本上,解析
耗时约降低 1/5 到 1/3(8000 条语句 10.0ms → 7.4ms)。
…fetcher

feat(parser): make assetsPrefetcher optional to skip asset collection
chore: 移除构建产物中的 gz 压缩文件
效果编辑器会话中的保存场景、自动保存、预览面板刷新都会发一次不带
transformBaselineRevision 的 sync-scene。handleSyncScene 对所有无 token 的 sync
都执行 invalidateCurrentRevision() 并清空 setEffectBaselines,于是同一编辑指针上
的重复 sync 会打掉自己的基线:之后 preview.command.set-effect 的稀疏 payload 只能
用 baseTransform 合并,继承字段被解析成默认值(立绘丢缩放、滤镜)。写回语句不受
影响。

改为按 (sceneName, sentenceId) 判定失效:同指针的重复 sync 不失效 current
snapshot;指针变化、runtime reset / reload、run-snippet / run-scene-content 仍然
失效。set-effect 的合并基线不再单独缓存,每次由 baseTransform + ready snapshot
现算,避免缓存与 snapshot 各有一套有效期。

revision-bound sync 的 settle 判定改用 replay 写回的 stoppedAtTarget(同场景且
停止指针不早于解析后的停点):原实现拿 payload 原始指针做严格相等,多行语句的
续行指针与 -next 链越点都会被误判为未停点,把刚在正确采样点发布的 snapshot 撤销。

不新增 wire 字段。
…fetime

fix(webgal): 预览基线有效期绑定编辑指针,修复保存后丢失继承变换字段

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: f2b31dc266

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

!!texture?.valid &&
!texture.trim &&
!texture.rotate &&
texture.baseTexture.alphaMode !== ALPHA_MODES.NPM &&

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Allow default Pixi textures through the diff path

For ordinary PNG/JPEG assets loaded with Texture.from, Pixi 6 uses the default ALPHA_MODES.UNPACK, which aliases ALPHA_MODES.NPM. This predicate therefore rejects the normal static textures that addFigure creates, so even equal-size, fully prefetched changeFigureDiff images never reach createFigureTextureBlend and always fall back to replacing the object with fade-out/fade-in. Accept the default mode here, or test only the texture properties that actually make the off-screen blend unsafe.

Useful? React with 👍 / 👎.

@cloudflare-workers-and-pages

cloudflare-workers-and-pages Bot commented Sep 24, 2026 •

Copy link
Copy Markdown

Deploying webgal-dev with  Cloudflare Pages  Cloudflare Pages

Latest commit: 1391d45
Status: ✅  Deploy successful!
Preview URL: https://ef8e99f8.webgal-dev.pages.dev

View logs

@MakinoharaShoko
MakinoharaShoko merged commit d0318e6 into main Sep 24, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants