MCPcopy Index your code
hub / github.com/JeffIrwin/skillet

github.com/JeffIrwin/skillet @main

Chat with this repo
repository ↗ · DeepWiki ↗ · + Follow
51 symbols 110 edges 12 files 1 documented · 2%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

It's not rust, it's a layer of seasoning!

Skillet

Skillet is a lightweight, deep-fried, rust application for interactive scientific visualization with vtkio and glium.

Compare skillet with ParaView:

Skillet ParaView

Run

Provide the .vtu filename as an argument:

cargo run ./res/teapot.vtu

You can try one of the provided .vtu files in the ./res/ directory.

Equivalently:

cargo build
# or "cargo build --release"

./target/debug/skillet.exe ./res/teapot.vtu

# or "./target/release/skillet.exe ./res/teapot.vtu"

Mouse controls

Mouse controls mostly follow the ParaView conventions.

LMB drag: rotate

LMB means "left mouse button".

Mouse wheel scroll: zoom

MMB drag: pan

RMB vertical drag: z pan

Z pan is similar to scroll zooming.

Key controls (case-sensitive)

c: cycle vector/tensor component

d: cycle point data or cell data array

e: toggle edge visibility

m: cycle colormap

w: cycle warp by vector point data array

Cell data arrays, scalars, and tensors cannot be used as a warp basis. Only point data vector arrays are a valid basis.

To turn off warp by vector, continue cycling with w until all vectors have been cycled through.

Ctrl+w: Decrease warp by vector scale factor

Shift+w: Increase warp by vector scale factor

Features

Data array types

Data array Skillet support?
Point data
Cell data
Scalars
Vectors
Tensors
Generic
Field attributes

Cell types

Skillet displays color contours on surfaces. As such, it doesn't make sense to try to display 0D or 1D cells like VTK_VERTEX or VTK_LINE. I might implement types like triangle strips and quadratic cells if I can get some test data.

Cell Skillet support?
Triangle
Quad
Tetra
Hexahedron
Wedge
Pyramid
Vertex cells
Line cells
Triangle strip
Polygon
Pixel
Voxel
Quadratic cells

File formats

Only binary/ascii .vtu files are supported. Most formats can be converted to .vtu in ParaView like this:

  1. Filters -> alphabetical -> append dataset -> apply
  2. File -> save data -> VTK UnstructuredGrid files (*.vtu) -> OK -> data mode binary or ascii
File Extension Skillet support?
Unstructured grid .vtu
Image data .vti
Poly data .vtp
Rectilinear grid .vtr
Structured grid .vts
Parallel files .*pv*
Legacy files .vtk
Multiple piece data .*
Data mode Skillet support?
Ascii
Binary
Appended

Operating systems

OS Skillet support?
Windows
Ubuntu

On Ubuntu, the glutin dependency has an issue finding the fontconfig package. Your mileage may vary: https://unix.stackexchange.com/questions/330068/package-fontconfig-not-found-despite-having-installed-libfontconfig1-dev

Core symbols most depended-on inside this repo

get_bounds
called by 5
src/utils.rs
dot
called by 4
src/math.rs
translate_matrix
called by 4
src/math.rs
sub
called by 3
src/math.rs
norm
called by 3
src/math.rs
normalize
called by 3
src/math.rs
cross
called by 3
src/math.rs
mul_mat4
called by 3
src/math.rs

Shape

Function 33
Class 9
Method 8
Enum 1

Languages

Rust100%

Modules by API surface

src/model.rs19 symbols
src/math.rs16 symbols
src/utils.rs4 symbols
src/background.rs4 symbols
src/app.rs4 symbols
src/shaders.rs2 symbols
src/main.rs1 symbols
src/colormaps.rs1 symbols

For agents

$ claude mcp add skillet \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact