From be21e891dd3a8af0a036a80b2e27d6d744875e2c Mon Sep 17 00:00:00 2001 From: alisson-anjos Date: Thu, 22 Oct 2026 21:30:46 +0000 Subject: [PATCH] Add experimental H3 native temporal node and Planner conditioning mode (1.115.9) --- H3_NATIVE_TEMPORAL.md | 53 +++++++ README.md | 2 + __init__.py | 8 + bfs_shot_loop.py | 42 +++-- minimax_h3_native_temporal.py | 149 ++++++++++++++++++ minimax_h3_native_temporal_core.py | 122 ++++++++++++++ pyproject.toml | 2 +- ...h3_native_temporal_training_positions.json | 1 + tests/test_bfs_shot_loop.py | 20 ++- tests/test_minimax_h3_native_temporal.py | 92 +++++++++++ web/js/bfs_shot_loop.js | 10 +- web/js/docs/BFSShotPlanner.md | 4 + 12 files changed, 489 insertions(+), 16 deletions(-) create mode 100644 H3_NATIVE_TEMPORAL.md create mode 100644 minimax_h3_native_temporal.py create mode 100644 minimax_h3_native_temporal_core.py create mode 100644 tests/fixtures/h3_native_temporal_training_positions.json create mode 100644 tests/test_minimax_h3_native_temporal.py diff --git a/H3_NATIVE_TEMPORAL.md b/H3_NATIVE_TEMPORAL.md new file mode 100644 index 0000000..5b62a3c --- /dev/null +++ b/H3_NATIVE_TEMPORAL.md @@ -0,0 +1,53 @@ +# Experimental H3 native temporal alignment + +Matches ai-toolkit branch [`feat/h3-native-temporal-motion`](https://github.com/alisson-anjos/ai-toolkit/tree/feat/h3-native-temporal-motion), implementation `native_temporal_v1` (commit e0ecf3a). This mode retains a native video reference, aligns its temporal RoPE coordinates with the target, and softly penalizes target queries attending to distant guide times. It preserves native image-reference coordinates and native spatial geometry. It does not add learned weights or load a LoRA. + +Use the matching native-temporal LoRA when available. Existing Add Guide motion-transfer LoRAs were trained under a different conditioning contract. Quality is experimental; CPU math/routing tests are not a full video validation. + +## Standalone native workflow + +1. Load the native MiniMax H3 base and the native-temporal LoRA. +2. Pass the guide as `