param([string]$Root = 'D:\NDC_MISSIONCORE\runtime\simulation') $ErrorActionPreference = 'Continue' $base = 'sha256:7693c28fac83df9e9e6ac6d89ffec81470f660cb8b30fc78fa88be228329dc0b' $baseTag = 'ndc-ai-polygon-cmu:upstream-158e67b' $tag = 'ndc-ai-polygon-cmu:rectangle-v3' $actual = docker image inspect $base --format '{{.Id}}' if ($LASTEXITCODE -ne 0 -or $actual.Trim() -ne $base) { throw 'Prepare the pinned upstream CMU image first' } docker tag $base $baseTag if ($LASTEXITCODE -ne 0) { throw 'Unable to identify the local CMU build base' } docker build --build-arg "CMU_BASE=$baseTag" -f (Join-Path $PSScriptRoot 'Dockerfile.footprint') -t $tag $PSScriptRoot if ($LASTEXITCODE -ne 0) { throw 'Rectangular candidate filter build failed' } $image = docker image inspect $tag --format '{{.Id}}' if ($LASTEXITCODE -ne 0) { throw 'Built navigation image unavailable' } $value = @{ schema_version = 'missioncore.ai-polygon-navigation-install/v1' upstream_commit = '158e67b31b644ed1e8b06eb1d7f70e183cc62591' base_image = $base image = $image.Trim() adapter = 'rectangular-primitive-filter-v3' adapter_sha256 = (Get-FileHash (Join-Path $PSScriptRoot 'missioncore_footprint.hpp') -Algorithm SHA256).Hash.ToLower() installed_at = [DateTime]::UtcNow.ToString('o') } [IO.File]::WriteAllText((Join-Path $Root 'assets\cmu-navigation-rectangle-v3.json'), ($value | ConvertTo-Json), [Text.UTF8Encoding]::new($false)) $value | ConvertTo-Json -Compress