release(camera-ai): publish 0.4.11 worker bundle

This commit is contained in:
KINDNICK
2026-08-10 08:51:37 +09:00
parent b78c6319b6
commit 8e5e2e8ad0
27 changed files with 98034 additions and 230 deletions
@@ -12,6 +12,74 @@ namespace Streamingle.Editor
{
public sealed class TimelineCameraDatasetExporterTests
{
[Test]
public void SceneCameraSourceFingerprintNormalizesDependencyOrder()
{
var reordered = TimelineCameraDatasetExporter
.ComposeSceneCameraSourceFingerprint(
"semantic-fingerprint",
new[]
{
"Assets\\Source\\B.anim|hash-b",
"Assets/Source/A.anim|hash-a",
"Assets/Source/B.anim|hash-b"
});
var canonical = TimelineCameraDatasetExporter
.ComposeSceneCameraSourceFingerprint(
"semantic-fingerprint",
new[]
{
"Assets/Source/A.anim|hash-a",
"Assets/Source/B.anim|hash-b"
});
Assert.That(reordered, Is.EqualTo(canonical));
Assert.That(reordered, Has.Length.EqualTo(64));
}
[Test]
public void SceneCameraSourceFingerprintMatchingSupportsLegacyAndFailsClosed()
{
Assert.That(
TimelineCameraDatasetExporter
.TryMatchSceneCameraSourceFingerprint(
TimelineCameraDatasetExporter
.LegacySourceFingerprintSchema,
"legacy-fingerprint",
"strong-fingerprint",
"legacy-fingerprint",
out var legacyAccepted,
out var legacyError),
Is.True,
legacyError);
Assert.That(legacyAccepted, Is.True);
Assert.That(
TimelineCameraDatasetExporter
.TryMatchSceneCameraSourceFingerprint(
TimelineCameraDatasetExporter.SourceFingerprintSchema,
"strong-fingerprint",
"strong-fingerprint",
"legacy-fingerprint",
out legacyAccepted,
out var strongError),
Is.True,
strongError);
Assert.That(legacyAccepted, Is.False);
Assert.That(
TimelineCameraDatasetExporter
.TryMatchSceneCameraSourceFingerprint(
TimelineCameraDatasetExporter.SourceFingerprintSchema,
"changed-fingerprint",
"strong-fingerprint",
"legacy-fingerprint",
out _,
out var mismatchError),
Is.False);
StringAssert.Contains("does not match", mismatchError);
}
[Test]
public void GenerationInputExportDoesNotRequireAnAuthoredCamera()
{