Repository navigation
Conversation
wybaby168
left a comment
There was a problem hiding this comment.
The contribution was checked against real local inputs and is not ready to land unchanged. Blob input is lost through the File-only normalization path, and nested 3TZ resources need enforceable local-archive boundaries rather than allowing external resources to escape through embedded tile/model loaders. The continuation also closes bounded decoding and cancellation gaps that were exercised in the real browser and packed-consumer checks.
Draft #338 preserves the contributor commit and repairs these runtime boundaries together with the coherent direct sanitizer dependencies. Its final head 9557eb375cfde1b9c38851f73506f5f58111ee6f passed the completed native/browser/cold-consumer checks, 114 Geo3D regressions, 298 Vitest tests with one existing skip, and full Public CI, focused CI, Security, CodeQL and governance. No skip or unexecuted check is counted as passing.
Please review the verified continuation's explicit input, resource and cancellation boundaries before considering a merge. Neither this original PR nor the repair has been merged or published.
Summary
AbortSignal.reason.Related issue
Closes #324
Change classification
Verification
pnpm install --frozen-lockfilepnpm test:geo3d-entrypnpm --filter @file-viewer/renderer-3d verify:geo3d-browserpnpm buildpnpm type-checkpnpm testpnpm docs:buildpnpm verify:github-governanceAll recorded full-workspace validation commands completed with exit code
0, including install, Geo3D entry validation, Playwright/browser validation, Rust/WASM prerequisites, build, type-check, root tests, integration tests, documentation, governance, demo browser smoke, fixture installation, strict fixture/range validation, and compressed-fixture tests.Sample / fixture evidence
Public Geo3D fixture set: https://github.com/p4535992/file-viewer/tree/feature/rendition-giro3d-v3/packages/renderers/3d/test/fixtures/geo3d
LAS fixture: https://github.com/p4535992/file-viewer/blob/feature/rendition-giro3d-v3/packages/renderers/3d/test/fixtures/geo3d/sample.las
COPC fixture: https://github.com/p4535992/file-viewer/blob/feature/rendition-giro3d-v3/packages/renderers/3d/test/fixtures/geo3d/probe.copc.laz
GeoTIFF/COG fixture: https://github.com/p4535992/file-viewer/blob/feature/rendition-giro3d-v3/packages/renderers/3d/test/fixtures/geo3d/sample-cog.tif
GeoTIFF/non-COG fixture: https://github.com/p4535992/file-viewer/blob/feature/rendition-giro3d-v3/packages/renderers/3d/test/fixtures/geo3d/geotiff-noncog.tif
Ordinary TIFF fallback fixture: https://github.com/p4535992/file-viewer/blob/feature/rendition-giro3d-v3/packages/renderers/3d/test/fixtures/geo3d/regular.tif
CityJSON fixture: https://github.com/p4535992/file-viewer/blob/feature/rendition-giro3d-v3/packages/renderers/3d/test/fixtures/geo3d/sample.city.json
3D Tiles fixtures: https://github.com/p4535992/file-viewer/tree/feature/rendition-giro3d-v3/packages/renderers/3d/test/fixtures/geo3d/tiles3d
3TZ fixture: https://github.com/p4535992/file-viewer/blob/feature/rendition-giro3d-v3/packages/renderers/3d/test/fixtures/geo3d/sample.3tz
COPC browser-rendering evidence: https://github.com/p4535992/file-viewer/blob/feature/rendition-giro3d-v3/packages/renderers/3d/test/fixtures/geo3d/result-copc.png
Geo3D COPC rendering: https://raw.githubusercontent.com/p4535992/file-viewer/feature/rendition-giro3d-v3/packages/renderers/3d/test/fixtures/geo3d/result-copc.png
Strict fixture validation completed successfully with the pinned development dependencies.
Compressed LAZ/COPC regression suite: 19/19 passed with
lazrs==0.8.2.LAZ validation decoded all point records and verified sequential reads and random point seeking where applicable.
COPC validation verified hierarchy pages, octree levels, independently decoded chunks, node bounds, chunk tables, and direct hierarchy byte ranges.
Streaming COPC HTTP-range validation transferred 2,314 of 18,133 bytes (12.761%) for the tested partial access path, using HTTP
206responses and no full-file request.3TZ validation verified archive CRC and index structure.
Visual evidence
The screenshot above was produced by the successful real-browser Geo3D validation of revision.
Risk and compatibility
@file-viewer/renderer-3d/geo3d; LAS/LAZ, COPC, CityJSON, GeoTIFF/COG, 3D Tiles, and 3TZ.2.0.4implementation and fail closed when pinned engine internals change.geo3dentry point and specialist routing; existing default renderers remain available.Checklist