Skip to content

manifest v2 for non co-located seg and meshes#542

Open
akhileshh wants to merge 8 commits into
mainfrom
meshing-v2
Open

manifest v2 for non co-located seg and meshes#542
akhileshh wants to merge 8 commits into
mainfrom
meshing-v2

Conversation

@akhileshh

Copy link
Copy Markdown
Contributor

No description provided.

akhileshh and others added 6 commits July 10, 2026 00:56
MeshMeta wraps a ChunkedGraph and exposes mesh dir locations and
per-dataset params from custom_data["mesh"] (the single source of truth),
shared branch-agnostically across the pcgv2/pcgv3 lines. Resolves absolute
initial/dynamic dirs so meshes can live in a different bucket than the
watershed, and flags graphs old clients can't reach.

Co-Authored-By: Claude <noreply@anthropic.com>
Replace scattered custom_data["mesh"] / dataset_info reads (mesh dir,
max_layer/mip/max_error, initial_ts, dynamic path) with MeshMeta. Removes the
duplicated remesh meta blocks and dead unsharded computes, and realigns
remeshing onto custom_data as the source of truth.

Co-Authored-By: Claude <noreply@anthropic.com>
Add a graph.basetypes compat shim and point manifest imports at it,
switch np.in1d->np.isin (in1d is gone in numpy 2.x), and adopt pcgv3's cache
TTL + clear_namespace. Converges the meshing manifest across the pcgv2/pcgv3
lines so v2 work cherry-picks clean.

Co-Authored-By: Claude <noreply@anthropic.com>
Branch-agnostic manifest/v2.py: parse the client's advertised manifest
version from the Accept header, and assemble the v2 format that groups
fragments by absolute mesh bucket path so mesh location travels in the
manifest itself.

Co-Authored-By: Claude <noreply@anthropic.com>
Serve the v2 grouped-by-bucket manifest to clients that advertise
manifest_version=2, else the v1 flat list (byte-identical). Refuse with 406
when a migrated graph (meshes at an absolute path) is requested without v2,
so old clients fail loudly instead of getting unreachable paths.

Co-Authored-By: Claude <noreply@anthropic.com>
Anchor the verify=1 shard reader at initial_path (via reader_anchor) so migrated datasets read initial meshes from the real bucket, and append Accept-Encoding to Vary so manifests keep advertising Accept.

Co-Authored-By: Claude <noreply@anthropic.com>
v2 emits each fragment identical to v1 (seg id prepended when asked) and honors return_seg_ids, differing only by grouping fragments under their bucket key, so the client reuses its v1 handling unchanged.

Co-Authored-By: Claude <noreply@anthropic.com>
Emit initial/dynamic absolute bucket locations in mesh_metadata on both the served /info endpoint and get_json_info, so external clients and PCG's own manifest-bypass reads resolve meshes from the real buckets.

Co-Authored-By: Claude <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant