Skip to content

Retarget streamed humanoid motion and move to Flutter Scene 0.23 - #1

Merged
dummyx merged 10 commits into
mainfrom
motion-for-app-publish
Sep 23, 2026
Merged

dummyx merged 10 commits into
mainfrom
motion-for-app-publish

Conversation

@dummyx

@dummyx dummyx commented Sep 23, 2026 •

Copy link
Copy Markdown
Contributor

Stacked on docs-agent-guides-publish (the agent-guide split); merge after it.

What the Kokage app needs from flvtterm for live motion and generated avatars:

  • Migrate the VRM adapter to Flutter Scene 0.23, keep validated geometry across Scene import paths, and pad unlit material uniforms to the reflected std140 layout. The viewer example moves to Flutter Scene 0.23 too; it still pinned 0.19.0 and could not resolve.
  • Retarget sampled humanoid motion (the poses a motion model streams) through the shared VRMA controller: finite unit body rotations and optional hips translation, the same semantic binding and FK retargeting as VRMA, caller-owned interpolation, no extrapolation.
  • Capture composed humanoid poses so a generated motion can hand over to the next one without a jump.
  • CI, failing on main since July: the root dart analyze no longer scans the two Flutter sub-projects, which it cannot resolve (their own flutter jobs check them), and those jobs now test before analysing, because testing runs the build hook that writes the adapter's declared build/shaderbundles asset.

Checked

Root: dart format --output=none --set-exit-if-changed ., dart analyze --fatal-infos (no issues), dart test (384 passed); example/runtime_console analyse and run. packages/vrm_flutter_scene (46 tests) and example/flutter_scene_viewer (1 test) analyse cleanly and pass against a local flutter_scene 0.23.0 source (the Kokage app's vendored copy, used only for this check). The Kokage app's 3,624 tests ran against this tree through its ../flvtterm path dependency.

Not done

example/flutter_scene_viewer/pubspec.lock still lists flutter_scene 0.19.0: refreshing it needs a networked flutter pub get, which was not run. CI resolves it on its own.

The adapter moved to flutter_scene 0.23.0, but the viewer example still
pinned 0.19.0, so the example could not resolve its packages. With the
example on 0.23.0 it analyses cleanly and its test passes (checked
against a local 0.23.0 source; its pubspec.lock needs a networked
`flutter pub get` to refresh).
The dart job analyses the repository root before any Flutter package is
resolved, so the Flutter Scene viewer example and the Flutter Scene
adapter failed with unresolved Flutter imports; every run on main has
failed this way since at least July. Both have their own flutter job
that resolves and analyses them. The root analysis now excludes them.
The Flutter Scene adapter declares build/shaderbundles/vrm_materials.shaderbundle,
which its build hook writes. CI analysed before anything was built, so
analysis warned that the asset does not exist and the job failed (on main
since the asset was added in July), and the matrix then cancelled the
viewer example. Testing runs the hooks first; analysis follows.
@dummyx
dummyx changed the base branch from docs-agent-guides-publish to main September 23, 2026 13:04
@dummyx
dummyx merged commit 41885a1 into main Sep 23, 2026
6 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.

1 participant