Commit Graph
160 Commits
Author SHA1 Message Date
doloro 6f6af41245 stuff 2026-09-19 18:24:12 +01:00
doloro e45928b82d remove continuous release workflow and version entry 2026-09-19 18:23:21 +01:00
gitea-actions 4c7a4574ab vpm: continuous index update 2026-09-19 17:18:48 +00:00
doloro 1ca4e0bba5 fix: use 0.0.1-continuous as continuous version
continuous / Publish continuous release (push) Successful in 1m17s
2026-09-19 18:17:30 +01:00
gitea-actions ceae378040 vpm: continuous index update 2026-09-19 17:15:21 +00:00
doloro 701d9dc731 fix: use 0.0.1 as continuous version
continuous / Publish continuous release (push) Successful in 14s
2026-09-19 18:15:05 +01:00
gitea-actions d9ce28b5fa vpm: continuous index update 2026-09-19 17:10:48 +00:00
doloro 105f9359e3 fix: drop stale continuous entry, ci only on tags
continuous / Publish continuous release (push) Successful in 14s
2026-09-19 18:10:31 +01:00
gitea-actions bc2f1354c0 vpm: continuous index update 2026-09-19 17:09:44 +00:00
doloro 13b8d62370 fix: use valid semver 0.0.0-continuous in CI workflow
ci / Nix flake checks (push) Successful in 8s
continuous / Publish continuous release (push) Successful in 13s
2026-09-19 18:09:30 +01:00
gitea-actions 8159442e9d vpm: continuous index update 2026-09-19 17:08:40 +00:00
doloro 3d640ebd4d fix: use valid semver for continuous version (0.0.0-continuous)
ci / Nix flake checks (push) Successful in 7s
continuous / Publish continuous release (push) Successful in 13s
2026-09-19 18:08:24 +01:00
gitea-actions 86f42b6552 vpm: continuous index update 2026-09-19 17:05:58 +00:00
doloro 31affff9dd ci: add continuous release workflow for rolling VPM pre-releases
ci / Nix flake checks (push) Successful in 8s
continuous / Publish continuous release (push) Successful in 13s
continuous
2026-09-19 18:05:39 +01:00
doloro d665a01a1f bleh
ci / Nix flake checks (push) Successful in 10s
2026-09-19 17:59:53 +01:00
gitea-actions 41a3656d78 vpm: index for v0.1.0 2026-09-19 16:53:27 +00:00
doloro c4ed44e00b ci: run the vpm scripts through bash
ci / Nix flake checks (push) Successful in 9s
release / Publish VPM release (push) Successful in 12s
The nix runner has no /usr/bin/env, so the '#!/usr/bin/env bash' shebang
cannot resolve; invoke the scripts as arguments to bash instead.
v0.1.0
2026-09-19 17:52:06 +01:00
doloro e82f2b7de7 ci: target this instance's nix runner
ci / Nix flake checks (push) Failing after 1h6m15s
- run on the 'nix' label with Nix preinstalled; drop the installer action
- replace the inline release API calls with vpm/publish.sh
- add curl to the devShell for the publish step
2026-09-19 16:09:21 +01:00
doloro e5f8a078e1 vpm: use this Gitea's raw and release paths
ci / build (push) Canceled after 0s
The -/raw/main and -/releases/download forms are GitLab routing and 404 on
git.scug.io; the working forms are /raw/branch/main and /releases/download.
2026-09-19 16:08:31 +01:00
doloro a1b81b8eb7 flake: emit Unity bundle zip; add Gitea Actions CI/release; publish VPM index
ci / build (push) Canceled after 0s
- flake.nix: install the libaac cdylib alongside aac-dump and zip it with
  the C# Unity packages as the default package
- .gitea/workflows: build+package on push/PR, publish release on v* tags
- vpm: commit the repository index and packaging script, with VPM_INDEX and
  VPM_INDEX_URL overrides for generating a local listing
2026-09-19 16:07:43 +01:00
doloro 2c3b670ab9 Add animation store for pre-made clips
aac.AnimationStore(folder) seeds a clip from an existing .anim asset and
returns a normal ClipBuilder, so pre-made clips work anywhere generated
clips do and can still be edited (looping, keyframes, toggles, blend
shapes). The Unity side clones the asset into the container and applies
the script's changes to the clone, leaving the original untouched.

- ClipData gains optional source; looping becomes Option<bool> so an
  untouched store clip keeps the asset's own looping setting.
- Add rust/examples/animation_store.rhai, a worked store example.
2026-09-18 14:52:02 +01:00
doloro 42a1234e7f shity basic one shot 2026-09-18 14:01:10 +01:00
doloro 5851077659 new read me 2026-09-18 13:06:03 +01:00
Haï~ ea45f7ef1a Remove UPM installation instructions:
The installation instructions incorrectly assumed that the state of the main branch is in a usable state, but this is a false assumption as all repositories in hai-vr are only tested to be working on release tags.
Redirect to the documentation website instead.
2026-01-31 15:18:07 +01:00
Haï~ 836adc8b60 V1.3.0-alpha.1 Add Modification API, named blend trees overload 2025-08-16 05:32:12 +02:00
Haï~ e16115d9a9 Add Modification API:
- The Modification API is designed specifically for the creation and distribution of modular prefabs, where a developer generates assets on their machine and distributes those generated assets to their users.
  - Add AacFlModification class.
  - Add (AacFlBase).Modification() which returns a AacFlModification.
2025-08-16 05:32:12 +02:00
Haï~ 399b721f4a Add named overload for NewBlendTree() and NewBlendTreeAsRaw():
- Add overload for NewBlendTree() which accepts a name.
- Add overload for NewBlendTreeAsRaw() which accepts a name.
- Addresses #56.
2025-07-11 01:51:45 +02:00
Haï~ 84f7f1d089 V1.2.0 Asset container provider & Final breaking changes 2025-06-23 17:34:24 +02:00
Haï~ 2abc34b61d V1.2.0-beta.2 Safeguard case where AssetContainer is null 2025-06-23 13:47:35 +02:00
Haï~ cfc6c5a9d6 Safeguard case where AssetContainer is null:
- Safeguard a case where AssetContainer is null.
- This covers a known case in Vixen where clips are generated in Edit mode for previews.
2025-06-23 13:46:45 +02:00
yewnyx c87904fbbb Add git url installation note for Unity projects to README (#52). 2025-06-02 02:19:38 +02:00
Tayou 114bea608b Include LICENSE.meta for installing through git url (#55):
- When installing AAC through git url in the Unity package manager (as opposed .unitypackage and ALCOM), the LICENSE file contained within the Packages/ folder would cause errors because files cannot be written there.
- This commit adds the meta file for that LICENSE file, and removes it and other meta files from the exclusion list.
- Original PR comments:

* include LICENSE.meta

generally all meta files should be included. For immutable packages like package registries (e.g. OpenUPM) this is required, as unity can't write a new meta file into the immutable directory. Therefore any files without a meta file will break. Luckily this is just the LICENSE file, no code. but unity still complains

* also include README.md.meta

there is no readme in the package directory. But if there was, its meta file should definitely not be excluded either.
2025-06-02 02:18:31 +02:00
Haï~ 6c16ef567a V1.2.0-beta.1 Asset container provider & Final breaking changes:
- Description for newly introduced code:
  - Add support for third-party asset container management.
    - In preparation for the introduction of [IAssetSaver in NDMF 1.6.0](https://github.com/bdunderscore/ndmf/releases/tag/1.6.0),
      add the ability to delegate the management of the asset container to a third party.
      - No new dependencies are added.
      - By default, the behaviour of Animator As Code is the same as V1.1.0.
    - Add new optional field `AacConfiguration.AssetContainerProvider` to specify an asset container provider.
    - Add new interface `IAacAssetContainerProvider` to abstract asset container management.
  - The above changes have been contributed by **[kb10uy (KOBAYASHI Yū)](https://github.com/kb10uy)** (first contribution).
- (BREAKING) As specified in the changelog for the official release of Animator As Code V1, breaking changes had been planned, and will be applied starting this version:
  - (BREAKING) AacFlSettingKeyframes constructor is now private.
    - For compatibility reasons, it was public for the duration of V1.1.x, and was already marked as obsolete in V1.1.x.
  - (BREAKING) The methods AacFlBase.InternalConfiguration and AacFlBase.InternalDoCreateLayer are now private.
    - For compatibility reasons, it was public for the duration of V1.1.x, and was already marked as obsolete in V1.1.x.
    - The class AacAccessorForExtensions replaced them.
  - These breaking changes are meant to be the last breaking changes for the lifetime of Animator As Code V1.
2024-11-29 12:06:32 +01:00
Haï~ ff681e6d96 (BREAKING) Apply planned breaking changes as specified in the AAC V1 release:
- As specified in the changelog for the official release of Animator As Code V1, breaking changes had been planned, and will be applied starting this version:
  - (BREAKING) AacFlSettingKeyframes constructor is now private.
    - For compatibility reasons, it was public for the duration of V1.1.x, and was already marked as obsolete in V1.1.x.
  - (BREAKING) The methods AacFlBase.InternalConfiguration and AacFlBase.InternalDoCreateLayer are now private.
    - For compatibility reasons, it was public for the duration of V1.1.x, and was already marked as obsolete in V1.1.x.
    - The class AacAccessorForExtensions replaced them.
2024-11-29 11:58:25 +01:00
Yū KOBAYASHI e445ba8321 Use AacSimpleAssetContainerProvider 2024-11-29 11:53:00 +01:00
Yū KOBAYASHI 061b5397df Add IAacAssetContainerProvider and AacSimpleAssetContainerProvider 2024-11-29 11:53:00 +01:00
Haï~ 735afd669f Update README.md 2024-08-21 04:42:34 +02:00
Haï~ 31383e79db V1.1.0 Public API release:
- Compatibility notes: https://docs.hai-vr.dev/updates/2024/08/21/p0
  - Alternatively, see or find: https://github.com/hai-vr/documentation/blob/main/updates/2024-08-21-p0.md
- Migration guide: https://docs.hai-vr.dev/docs/products/animator-as-code/migrating-v0-to-v1
- What's new: https://docs.hai-vr.dev/docs/products/animator-as-code/v1.1-whats-new
- Planned future breaking changes:
  - The AacFlSettingKeyframes constructor will be made private/internal in V1.2.0.
  - The methods AacFlBase.InternalConfiguration and AacFlBase.InternalDoCreateLayer will be made private/internal in V1.2.0.
  - For compatibility reasons they remain public for the duration of V1.1.x.
- There are no other breaking changes to be expected for the lifetime of V1.
2024-08-21 04:09:21 +02:00
Haï~ 1f4bf4ec83 V1.1.0-beta.9 Expose accessors 2024-08-19 10:52:48 +02:00
Haï~ 705f25df3b Add AacAccessorForExtensions:
- Add static class AacAccessorForExtensions:
  - Provides methods for use by extension functions, exposing methods departing from normal fluent interface usage.
- Prepare to make methods marked "Not for public use" private starting from V1.2.0.
- Due to their active use in other packages, it is not immediately private.
2024-08-19 07:26:56 +02:00
Haï~ d7d240a7c3 V1.1.0-beta.8 Functional fixes 2024-08-19 03:26:07 +02:00
Haï~ 5df8f375ad Fix calling Or() after TransitionsFromEntry().When(...) no longer fails:
- Calling Or() after TransitionsFromEntry().When(...) used to fail due to an unexpected internal state.
- This was due to the implicit conversion operator, which converted a null AnimationState to a AacTransitionEndpoint containing null in it.
- Fix this by returning null in the implicit conversion operators.
2024-08-19 03:22:35 +02:00
Haï~ cca33c83da Make sure State and SSM names don't contain a period '.':
- If the name of a state contains a period ".", it can cause the animator to misbehave, so sanitize it.
  - Transitions would not work properly during the runtime execution of the animator.
  - Apparently this is because sub state machines internally use the dot as a separator.
  - Sanitize the name so that menu state names such as "J. Inner" don't mess things up.
2024-08-19 01:49:37 +02:00
Haï~ 01724155b0 Fix Any state transitions will be created from SSMs:
- Due to an implementation error, creating Any state transitions previously did not have any effect in the graph.
- This now creates Any state from the root machine.
- Sub-state machines "cannot" have Any state transitions created directly from them.
- Internally, Any always comes from the root state machine, but visually in the graph, it will come from the sub-state machine.
2024-08-19 01:40:08 +02:00
Haï~ 4c50d8876e V1.1.0-beta.7 Keep AacFlSettingKeyframes public until V1.2.0 2024-08-18 20:01:18 +02:00
Haï~ d9d2d74c97 Keep AacFlSettingKeyframes public until V1.2.0:
- Keep AacFlSettingKeyframes public until V1.2.0, where it will be made internal.
- AacFlSettingKeyframes is still used in CGE, but CGE already accepts AAC V1.1.x.
2024-08-18 20:00:47 +02:00
Haï~ cb6ccce349 V1.1.0-beta.6 Fix error across packages 2024-08-18 19:43:40 +02:00
Haï~ c9c73155b9 Fix Animator Removal constructor actually needs to be public:
- Animator Removal is used exclusively by destructive workflow extensions.
2024-08-18 19:42:49 +02:00
Haï~ 27e4936445 V1.1.0-beta.5 Fix inconsistencies 2024-08-18 18:34:53 +02:00
Haï~ 68e20a0ffb (BREAKING) Make constructors non-public:
- Fix inconsistency where constructors were public.
2024-08-18 07:02:01 +02:00