fix: expose V4 velocity component color binding
Some checks failed
validate-scripts / validate-scripts (push) Has been cancelled

This commit is contained in:
OpenAI Codex
2026-09-13 19:46:53 +08:00
parent dd1d701471
commit e02353820a
5 changed files with 15 additions and 4 deletions

View File

@@ -209,6 +209,17 @@ TEST(ParticleFieldBinding, FailsClosedAndSupportsDirectionAngle) {
particle::EncodedFieldStore store;
submit(store, "weather.wind", makeFrame("wind", Base, 1, "0"));
submit(store, "weather.wind", makeFrame("wind", Base + Hour, 1, "1"));
const particle::ColorBinding velocityComponent{"weather.wind", {1, 7, particle::FieldComponent::UEast},
particle::FieldValueClass::VelocityComponent,
particle::FieldUnitMetersPerSecond};
const auto velocityProjection = particle::BindingProjectionResolver::resolve(store, velocityComponent, Base);
ASSERT_TRUE(velocityProjection.accepted());
EXPECT_EQ(velocityProjection.projection->t0PlaneStorage,
velocityProjection.projection->t0Frame->planes.front().storage);
const particle::ColorBinding validity{"weather.wind", {900, 0, particle::FieldComponent::None},
particle::FieldValueClass::Validity, particle::FieldUnitNone};
EXPECT_EQ(particle::BindingProjectionResolver::resolve(store, validity, Base).error,
particle::BindingProjectionError::InvalidBinding);
EXPECT_EQ(particle::BindingProjectionResolver::resolve(store, color(""), Base).error, particle::BindingProjectionError::InvalidBinding);
EXPECT_EQ(particle::BindingProjectionResolver::resolve(store, color("missing"), Base).error, particle::BindingProjectionError::FieldSeriesMissing);
EXPECT_EQ(particle::BindingProjectionResolver::resolve(store, color("weather.wind"), Base + 2 * Hour).error, particle::BindingProjectionError::WindowUnavailable);