Skip to content

volodkuzn/bunny_viewer

Repository files navigation

Bunny Viewer

Bunny Viewer is a user-friendly STL/PLY file viewer, written in Rust as a side-project with a huge help from ChatGPT + Codex. It targets developers who want a fast, native mesh viewer on macOS and iPadOS.

Features

  • Loads .ply and .stl triangular meshes.
  • GPU rendering with optional bicubic upsampling.
  • macOS app + iPad app (Xcode project).
  • CLI utilities for decoding and inspection.

Install (macOS)

From the repo root:

cargo install --path app

This installs:

  • mesh-viewer (GUI viewer)
  • mesh-decode (CLI mesh decoder)

Run

mesh-viewer --file ./path/to/mesh.ply

If no file is passed, the app loads a bundled sample mesh from: ~/Library/Application Support/Mesh Viewer/meshes/sample.ply

CLI flags

--file <path>          Mesh file path (.ply/.stl)
--camera <preset>      front|side|top|iso (aliases: right,isometric)
--render-scale <f32>   Render scale (1.0-2.0)
--log-level <filter>   tracing log filter

Controls

macOS

  • Left-drag: orbit
  • Right-drag: pan
  • Scroll: dolly (zoom)
  • WASD: move target
  • Arrow keys: orbit (yaw/pitch)
  • Checkbox: "No culling" toggles backface culling

iPadOS

  • One-finger drag: orbit
  • Two-finger drag: pan
  • Pinch: dolly (zoom)

iPad build

Open ios/MeshViewer/MeshViewer.xcodeproj in Xcode and build the MeshViewer target.

Render scale behavior

  • macOS: uses the --render-scale CLI flag (or MESH_RENDER_SCALE env var if set).
  • iPadOS: respects MESH_RENDER_SCALE when culling is enabled, and forces scale to 1.0 when "No culling" is enabled to avoid bicubic upsampling.

Development

cargo test --all

License

Licensed under either of:

  • Apache License, Version 2.0 (LICENSE-APACHE)
  • MIT License (LICENSE-MIT)

About

Bunny Viewer is a user-friendly STL/PLY file viewer, written in Rust as a side-project with a huge help from ChatGPT + Codex. It targets developers who want a fast, native mesh viewer on macOS and iPadOS.

Resources

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors