feat: track official versions and import resources

Persist official version-state, extend CAS/ResourceRepository import classification, and add offline catalog and failure regression fixtures.

Fixes #13

Fixes #12

Fixes #8
This commit is contained in:
2026-07-15 19:53:10 +08:00
parent 4192d7ee4c
commit 90307a3243
30 changed files with 1269 additions and 157 deletions
@@ -99,17 +99,20 @@ async fn imports_synthetic_addressables_catalog_bundle_against_golden() {
"imported": report.imported.iter().map(|imported| {
json!({
"bytes": imported.bytes,
"category": imported.category.as_str(),
"resource_type": format!("{:?}", imported.resource_type),
"source_path": imported.source_path,
"unityfs": {
"block_count": imported.unityfs.block_count,
"directories": imported.unityfs.directories,
"directory_count": imported.unityfs.directory_count,
"unity_version": imported.unityfs.unity_version,
}
"unityfs": imported.unityfs.as_ref().map(|unityfs| json!({
"block_count": unityfs.block_count,
"directories": unityfs.directories,
"directory_count": unityfs.directory_count,
"unity_version": unityfs.unity_version,
})),
})
}).collect::<Vec<_>>(),
"resource_count": indexed.len(),
"skipped": report.skipped,
"category_counts": report.category_counts,
});
let expected: serde_json::Value =
serde_json::from_str(include_str!("golden/synthetic_phase2_import.json")).unwrap();