Skip to content

Releases: yuumixcode/AesirFramework

v0.16.2

Choose a tag to compare

@github-actions github-actions released this 06 Sep 03:00

[0.16.2] - 2026-09-06


[architecture] Aesir Architecture

Changed

  • LICENSE.mdThird Party Notices.md 移至包根 — 对齐 UPM 包根约定(Package Manager 识别包根的 Third Party Notices),包 README 的 LICENSE 徽章链接随之生效;版权行统一为 Runestone Yuumix

[modules] Aesir Modules

Changed

  • LICENSE.mdThird Party Notices.md 移至包根 — 同 Architecture;Documentation~/ 镜像不再存放两文件的副本

AesirFramework v0.16.1

Choose a tag to compare

@github-actions github-actions released this 05 Sep 17:43

[0.16.1] - 2026-09-06


[architecture] Aesir Architecture

Changed

  • Third Party Notices 收录 ObservableCollections(Cysharp,MIT) — 设计参考条目:可观察集合高级能力(Move / Sort / 同步视图 / R3 集成)的推荐替代库;注明仅设计参考、未包含源码
  • 根 README(中英)推荐链接新增 ObservableCollections

[modules] Aesir Modules

Changed

  • 新增 Documentation/Third Party Notices.md — 收录 Eflatun.SceneReference(MIT)设计参考条目(Scene 模块 SceneAssetWrapper 吸收其功能设计);注明仅设计参考、未包含源码
  • README(中英)Scene 模块 SceneAssetWrapper 条目补注功能设计参考来源
  • 根 README(中英)推荐链接新增 Eflatun.SceneReference

AesirFramework v0.16.0

Choose a tag to compare

@github-actions github-actions released this 05 Sep 17:34

[0.16.0] - 2026-09-06


[architecture] Aesir Architecture

Changed

  • 版本号与 Aesir Modules 同步更新至 0.16.0,本包本版本无功能性变更

[modules] Aesir Modules

Added

  • SceneAssetWrapper 功能增强(吸收 Eflatun.SceneReference) — GUID 锚点自愈(sceneGuid 序列化字段 + EditorSyncFromAsset)、State / UnsafeReason 状态机校验、TryGet 安全读取家族、FromScenePath / FromAsset(编辑器)工厂方法、Address 序列化缓存与 AddressablesSupportEnabled
  • Addressables 条件架构 — 核心 asmdef versionDefines 定义 AESIR_MODULES_ADDRESSABLES;独立胶水程序集 Runestone.AesirModules.Editor.Addressables(未安装 Addressables 时整体不编译,零报错),经 SceneAssetWrapperAddressablesBridge 静态委托桥注册地址查询与加入默认组能力
  • Scene 模块测试程序集 Runestone.AesirModules.Scene.Tests — 27 个 EditMode 用例,自适应装 / 未装 Addressables 环境

Changed(破坏性变更)

  • 删除 AddScene / UnloadAddedScene(含 *WithSceneAssetWrapper 变体)— 统一为 LoadSceneAdditive 纯叠加追踪:不再自动卸载上个场景、不再抢占激活场景
  • ReloadScene 同步改异步 — 带 onCompleted / onFailed 回调
  • 加载失败新增 onFailed 回调LoadSceneSingle / LoadSceneAdditive / UnloadScene / ReloadScene 全系支持
  • SceneAssetWrapper 空引用语义收紧ScenePath / Guid / SceneName / BuildIndex / LoadedScene 空引用由返回空值改为抛 EmptySceneAssetWrapperException
  • *WithSceneAssetWrapper 6 个方法改为同名重载

Changed(包结构重组)

  • 目录调整为标准 Unity 自定义包根结构 — 包根两级目录 Runtime/Editor/,功能模块(UI / Scene / Events)以子目录存在于对应层级,模块间零依赖,删除模块 = 删除对应层的模块子目录;核心程序集锚点在层根(模块主代码自动汇入),Odin / Addressables 细分程序集锚点收拢至 Common/ 下,模块专属代码经 4 个 asmref 汇入;程序集名称与公共 API 不变

AesirFramework v0.15.0

Choose a tag to compare

@github-actions github-actions released this 05 Sep 10:45

[0.15.0] - 2026-09-05


[architecture] Aesir Architecture

Added

  • 可观察集合 ObservableHashSet<T> — 与 List / Dictionary 同构:组合 HashSet<T> 存储 + MiniEvent 零分配事件;事件负载单值直传 Action<T>(对齐 Dictionary 的 KeyValuePair 直传先例);只读接口 IReadOnlyObservableHashSet<T> 为不变型;新增 ObservableHashSetTests 14 个
  • RuntimeInitializeLoadType 示例 — 编辑器窗口演示 RuntimeInitializeLoadType 五个初始化时机的执行顺序与静态重置最佳实践;菜单归位 Tools/Aesir/Architecture/Samples/RuntimeInitializeLoadType;ScriptableSingleton 落盘统一 ScriptableSingleton/ 前缀

Changed

  • 包内更新器大陆优化(jsDelivr 方案) — 版本检测三级兜底:jsDelivr 四域名拉取仓库内 .github/update-info.json(CI 发版后以 [skip ci] 提交回 main)→ GitHub Releases API → releases/latest 302 重定向探测;unitypackage 下载仍走 GitHub Release 直链
  • CIbuild_unitypackage.py 的 files-manifest 升级为 update-info.json(顶层 version/tag);auto-release.yml 发布后回写 main
  • ObservableDictionary.Remove(TKey) 优化 — 改用 Dictionary.Remove(key, out TValue) 单次哈希查找取回旧值
  • Odin 编辑器处理器命名空间对齐Editor.OdinIntegrationEditor.OdinInspector(与 0.9.0 程序集/目录改名对齐)
  • 文档核查整理 — 两包中英 README 修正过时描述并补更新器/unitypackage 安装说明;AesirModules README 从 UIManager 旧架构重写为 UIModule 架构;Skill core-api.md InterfaceInstance;CONTRIBUTING 单例规范更正

Fixed

  • PlaneWar 场景引用修复工具 — 原硬编码 Assets/Samples/.../0.12.0 路径失效,改为 FindAssets 动态定位(兼容包内 Samples/ 与 UPM 导入副本两种布局)

[modules] Aesir Modules

Changed

  • 版本号与 Aesir Architecture 同步更新至 0.15.0,本包无功能性变更;中英 README 随全项目文档核查刷新至 UIModule 架构

[repo] 仓库级

Changed

  • 根 README 重构(中英) — 新增 Aesir Modules 对等章节、文档地图、质量与 CI;安装方式扩为 4 种(新增 unitypackage 导入 + 包内更新器)
  • CONTRIBUTING 修正 — OdinIntegration 旧命名更正;MonoBehaviour 单例规范更新为预放置优先 + dontDestroyOnLoad 序列化字段

Removed

  • 仓库本地 AesirPackageInstallerAssets/Scripts/Editor/)— 硬编码版本常量需发版手动同步,本地复制安装路线已被 unitypackage Release 管线取代;版本/安装检查统一为包内更新器

AesirFramework v0.14.0

Choose a tag to compare

@github-actions github-actions released this 05 Sep 10:14

[0.14.0] - 2026-09-05


[architecture] Aesir Architecture

Changed

  • AesirFramework 转型 — AesirInspector 已从本仓库移出,作为面向 Odin Inspector 开发者的学习工具包独立发布;本仓库更名定位为 AesirFramework,由 Aesir Architecture 与 Aesir Modules 组成
  • Samples 双目录结构 — 包内同时提供 Samples/(仓库内直接可见可运行)与 Samples~/(Git URL 安装后经 Package Manager 按需导入的源镜像);以 Samples/ 为编写主位,内容同步至 Samples~,两份内容保持一致
  • 示例程序集构建剔除 — 全部示例程序集(asmdef)includePlatforms 收窄为 Editor,示例脚本与资产(场景/预制体/贴图均无 Resources 目录、无构建场景引用)不会进入玩家构建包
  • 示例命名空间统一 — 计数器六档与 PlaneWar 示例统一为 Runestone.AesirArchitecture.Samples.<示例名>(MvcQuick / MvcStandard / MvcStrict / MvpQuick / MvpStandard / MvpStrict / PlaneWarMono);MiniEventObservableValue 两示例因命名空间段与所演示的框架类型同名冲突(CS0118),保留 Runestone.AesirArchitecture.Samples 前缀命名空间

Added

  • PlaneWar 实战示例(Mono 版) — 纵版射击飞机大战:自包含素材、得分 HUD、三型敌机与重开流程;已注册进 package.json samples,并纳入 Samples 双目录同步

[modules] Aesir Modules

Changed

  • AesirFramework 转型同步 — 依赖声明 cn.runestone.aesir.architecture 同步至 0.14.0
  • Samples 双目录结构 — 包内同时提供 Samples/Samples~/;示例目录统一为 Events/01_KeyPress(与 package.json samples 路径一致),示例代码随最新版本更新(EventEmitter → EventSender、OnKeyPressed → KeyPressedEvent)并以 Samples/ 为编写主位同步至 Samples~
  • 示例程序集构建剔除 + 命名空间统一 — 示例程序集 includePlatforms 收窄为 Editor(不进入构建包);命名空间统一为 Runestone.AesirModules.Samples.Events.KeyPress