Download docs/OBJ.md from nmarshall/nanobrush: direct link, hf CLI and curl.
- Browser
- Download file 1.34 kB
-
https://huggingface.co/nmarshall/nanobrush/resolve/main/docs/OBJ.md
- Command line
-
hf download hf://nmarshall/nanobrush/docs/OBJ.md
-
curl -L -o OBJ.md https://huggingface.co/nmarshall/nanobrush/resolve/main/docs/OBJ.md
Native computed OBJ export
mb3-obj::encode emits explicit computed brush contours as polygon faces and patch point grids as quads. It matches all four E02 OBJ captures (old/new triangle and 3×3 patch). Internal coordinates are retained; no MAP axis conversion occurs. Position equality uses finite f32 component equality with signed zero canonicalized for lookup; first occurrence wins within a brush only. Global indices remain 1-based. Patch quad order is (i,i+stride,i+stride+1,i+1).
Computed geometry is required; no clipping/tessellation is performed here. Polygons need at least three vertices; malformed patch array counts and non-finite geometry fail. This is structural export, not a manifold/convexity check. Editable planes/anchors, property tables, UVs and stored normals are absent from OBJ. The CLI must explicitly acknowledge those losses before publication.
Limits cover encoded bytes, aggregate geometry/face elements and requested deduplication-map storage (two key/index slots per unique vertex as a logical accounting unit, excluding hash-table capacity/control overhead and allocator overhead). Reservations are fallible. Formatting uses Rust round-trip decimals, so arbitrary float text need not match historical .NET printing even though the four captures match. No original executable or asset is modified.