Keep the implementation small and deterministic without MeshFoundry-only dependencies.
Return typed errors with source object context.
Validation
All SimpleRenderer and shared rendering tests pass.
Golden output is deterministic.
The crate builds without Skia, voice, RLV, or LSL dependencies.
Prerequisite
All global API/test gates and the foundational/world implementations needed by these extension crates are complete.
Project constraints
Full native Rust implementation only; no wrapped C# parser, viewer, renderer, or service.
Preserve mapped APIs and exact translated tests; reuse lower layers and keep generated output deterministic.
Validate bounded input, callbacks/tasks, docs, coverage, and workspace gates.
## Objective
Implement SimpleRenderer against the finalized core rendering contract as a clear reference path.
## Deliverables
- Cover primitive/mesh conversion, transforms, face/material/texture mapping, normals/UVs, sculpt handling, and documented unsupported cases.
- Keep the implementation small and deterministic without MeshFoundry-only dependencies.
- Return typed errors with source object context.
## Validation
- All SimpleRenderer and shared rendering tests pass.
- Golden output is deterministic.
- The crate builds without Skia, voice, RLV, or LSL dependencies.
## Prerequisite
All global API/test gates and the foundational/world implementations needed by these extension crates are complete.
## Project constraints
- Full native Rust implementation only; no wrapped C# parser, viewer, renderer, or service.
- Preserve mapped APIs and exact translated tests; reuse lower layers and keep generated output deterministic.
- Validate bounded input, callbacks/tasks, docs, coverage, and workspace gates.
hugo
added this to the 10 - Rendering, RLV, and LSL tools milestone 2026-08-08 08:23:15 +00:00
The native SimpleRenderer now converts checked PrimMesher prim and sculpt geometry into faceted and flattened meshes, preserves effective per-face texture/material/render-material metadata, emits finite normals and UVs, calculates face bounds, implements default and planar texture transforms, and implements the shared IRendering trait. Geometry growth and 16-bit indices are bounded with checked arithmetic; rendering failures carry the source primitive UUID and operation context. Mesh-asset sculpts are explicitly rejected at the documented SimpleRenderer/MeshFoundry boundary.
Focused verification completed:
8/8 pre-created rendering_shims compatibility cases pass, including the deterministic golden mesh
2/2 SimpleRenderer reference-pipeline tests pass across 6 profiles, 3 path families, 4 LODs, and all 4 sculpt topologies
strict Clippy passes for the crate/all targets and focused compatibility target
rustdoc passes with warnings denied
generate_api_shims.py --check and generate_rust_mapping.py --check pass
normal dependency tree contains no Skia, voice, RLV, or LSL crate
Implemented and pushed in commit 611db56.
The native SimpleRenderer now converts checked PrimMesher prim and sculpt geometry into faceted and flattened meshes, preserves effective per-face texture/material/render-material metadata, emits finite normals and UVs, calculates face bounds, implements default and planar texture transforms, and implements the shared IRendering trait. Geometry growth and 16-bit indices are bounded with checked arithmetic; rendering failures carry the source primitive UUID and operation context. Mesh-asset sculpts are explicitly rejected at the documented SimpleRenderer/MeshFoundry boundary.
Focused verification completed:
- 8/8 pre-created rendering_shims compatibility cases pass, including the deterministic golden mesh
- 2/2 SimpleRenderer reference-pipeline tests pass across 6 profiles, 3 path families, 4 LODs, and all 4 sculpt topologies
- strict Clippy passes for the crate/all targets and focused compatibility target
- rustdoc passes with warnings denied
- generate_api_shims.py --check and generate_rust_mapping.py --check pass
- issue 76 ownership/dependency audit passes
- cargo check --workspace --all-targets --locked -j1 passes
- normal dependency tree contains no Skia, voice, RLV, or LSL crate
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Objective
Implement SimpleRenderer against the finalized core rendering contract as a clear reference path.
Deliverables
Validation
Prerequisite
All global API/test gates and the foundational/world implementations needed by these extension crates are complete.
Project constraints
Implemented and pushed in commit
611db56.The native SimpleRenderer now converts checked PrimMesher prim and sculpt geometry into faceted and flattened meshes, preserves effective per-face texture/material/render-material metadata, emits finite normals and UVs, calculates face bounds, implements default and planar texture transforms, and implements the shared IRendering trait. Geometry growth and 16-bit indices are bounded with checked arithmetic; rendering failures carry the source primitive UUID and operation context. Mesh-asset sculpts are explicitly rejected at the documented SimpleRenderer/MeshFoundry boundary.
Focused verification completed: