v0.1.33c: UI/动效打磨——过渡动画/停帧节能/季节对齐/反馈闭环
【动效】Modal 淡入+升起缓动(modalFadeIn/modalRise);LogFeed 入场动画(feedIn);
fx std 档放行刀光(战场核心反馈);任务凯旋补 spark/战殁补 ripple
【节能】DriftLayer 2.6s 转 onAnimationEnd 删除节点(消除空转 setInterval×slice 定期 setState);
fx-canvas 粒子空态停帧(空 rAF 取消+spawnBurst 唤醒)——低端机待机零开销
【季节】fx-canvas 季节色改读 data-season(游戏月驱动,不再用系统月——夏季粒子不再飘冬季色)
【性能】transition all 12 处→具体属性(background-color/color/transform/opacity);
backdrop-filter 保留(视觉主)
【UI 修复】MemberModal 装备栏空守卫(未知名器)+职事按钮 disabled={maxed} 统一;
议和按钮灵石不足 disabled+title(不再静默);事件弹窗 RES_NAME 补新材料/增筑显示中文名;
回卷按钮无存点 disabled+title;速度按钮 sel/gel 类名统一;MarketPanel 删死变量 stock;
debug 后门 __SMOKE__/DEV 门控(生产干净,冒烟仍可用——main 注入 __SMOKE__)
【测试】fx-timesense std 刀光断言更新 5030 全绿
This commit is contained in:
@@ -40,15 +40,14 @@ describe('FxGate 竞态安全', () => {
|
||||
return { gate, emitted }
|
||||
}
|
||||
|
||||
it('std 模式:spark/mist/ripple/pulse 允许,blade 需 full', () => {
|
||||
it('std 模式:全量允许(0.1.33 刀光下放)', () => {
|
||||
const { gate, emitted } = freshGate()
|
||||
gate.emit('spark')
|
||||
gate.emit('mist')
|
||||
gate.emit('ripple')
|
||||
gate.emit('pulse')
|
||||
gate.emit('blade')
|
||||
expect(emitted).toEqual(['spark', 'mist', 'ripple', 'pulse'])
|
||||
expect(emitted).not.toContain('blade')
|
||||
expect(emitted).toEqual(['spark', 'mist', 'ripple', 'pulse', 'blade'])
|
||||
})
|
||||
|
||||
it('soft 模式:仅 ripple/pulse/drift', () => {
|
||||
|
||||
Reference in New Issue
Block a user