diff --git a/.gitattributes b/.gitattributes
new file mode 100644
index 000000000..07fe41c52
--- /dev/null
+++ b/.gitattributes
@@ -0,0 +1,2 @@
+# GitHub syntax highlighting
+pixi.lock linguist-language=YAML linguist-generated=true
diff --git a/.gitignore b/.gitignore
index efa8454e5..3f3f17e52 100644
--- a/.gitignore
+++ b/.gitignore
@@ -94,3 +94,6 @@ cypress/videos/
packages/core/typescript/itk-wasm/dist
CMakePresets.json
+# pixi environments
+.pixi
+*.egg-info
diff --git a/README.md b/README.md
index d62b5ec30..08ac5d326 100644
--- a/README.md
+++ b/README.md
@@ -13,7 +13,7 @@ ITK-Wasm
[](https://pypi.org/project/itkwasm/)
[](https://pypi.org/project/itk-webassemblyinterface/)
-[](https://zenodo.org/badge/latestdoi/45812381)
+[](https://zenodo.org/doi/10.5281/zenodo.3688880)
 
diff --git a/docs/_static/packages/compare-images.png b/docs/_static/packages/compare-images.png
deleted file mode 100644
index 6162e9beb..000000000
Binary files a/docs/_static/packages/compare-images.png and /dev/null differ
diff --git a/docs/_static/packages/compress-stringify.png b/docs/_static/packages/compress-stringify.png
deleted file mode 100644
index 31d6bdda9..000000000
Binary files a/docs/_static/packages/compress-stringify.png and /dev/null differ
diff --git a/docs/_static/packages/dicom.png b/docs/_static/packages/dicom.png
deleted file mode 100644
index 462f3283f..000000000
Binary files a/docs/_static/packages/dicom.png and /dev/null differ
diff --git a/docs/_static/packages/downsample.png b/docs/_static/packages/downsample.png
deleted file mode 100644
index 626f361ed..000000000
Binary files a/docs/_static/packages/downsample.png and /dev/null differ
diff --git a/docs/_static/packages/elastix.png b/docs/_static/packages/elastix.png
deleted file mode 100644
index 13e34bf74..000000000
Binary files a/docs/_static/packages/elastix.png and /dev/null differ
diff --git a/docs/_static/packages/htj2k.png b/docs/_static/packages/htj2k.png
deleted file mode 100644
index bebea63fd..000000000
Binary files a/docs/_static/packages/htj2k.png and /dev/null differ
diff --git a/docs/_static/packages/image-io.png b/docs/_static/packages/image-io.png
deleted file mode 100644
index e9b1bad70..000000000
Binary files a/docs/_static/packages/image-io.png and /dev/null differ
diff --git a/docs/_static/packages/mesh-io.png b/docs/_static/packages/mesh-io.png
deleted file mode 100644
index 29ecbd156..000000000
Binary files a/docs/_static/packages/mesh-io.png and /dev/null differ
diff --git a/docs/_static/packages/morphological-contour-interpolation.png b/docs/_static/packages/morphological-contour-interpolation.png
deleted file mode 100644
index 5eaaa4944..000000000
Binary files a/docs/_static/packages/morphological-contour-interpolation.png and /dev/null differ
diff --git a/docs/conf.py b/docs/conf.py
index ae4ae62b7..77730b2c3 100644
--- a/docs/conf.py
+++ b/docs/conf.py
@@ -42,9 +42,9 @@
}
html_theme = 'furo'
-html_static_path = ['_static']
-html_logo = "_static/logo-white.svg"
-html_favicon = "_static/icon/favicon.png"
+htmlstatic_path = ['static']
+html_logo = "static/logo-white.svg"
+html_favicon = "static/icon/favicon.png"
html_title = f"{project} documentation"
html_baseurl = os.environ.get("SPHINX_BASE_URL", "")
diff --git a/docs/cxx/interface_types.md b/docs/cxx/interface_types.md
index b05ba1402..1c8cb14cc 100644
--- a/docs/cxx/interface_types.md
+++ b/docs/cxx/interface_types.md
@@ -45,9 +45,8 @@ int main(argc, char * argv[])
}
```
-
- itk::wasm::InputTextStream
- A string. To reader this data type in C++, using the resulting std::istream.
-
+`itk::wasm::InputTextStream`
+: A string. To reader this data type in C++, using the resulting [`std::istream`](https://www.cplusplus.com/reference/istream/istream/).
*todo: document remaining CLI11 input and output classes.*
diff --git a/docs/cxx/tutorial/debugging.md b/docs/cxx/tutorial/debugging.md
index d57c28ee5..18535377a 100644
--- a/docs/cxx/tutorial/debugging.md
+++ b/docs/cxx/tutorial/debugging.md
@@ -51,11 +51,11 @@ add_executable(DebugMe DebugMe.cxx)
with standard CMake commands,
-
+
The native binary can then be debugged in the standard way. For example, with `gdb` on Linux:
-
+
## WASI
@@ -63,17 +63,17 @@ The most direct way to debug WebAssembly is through the [WebAssembly System Inte
First, build to WASI WebAssembly with debugging symbols available:
-
+
Then, the `itk-wasm` CLI can conveniently run the Wasm binary with the included WASI runtime:
-
+
We can see that `abort` is called in the `main` function at line 13 in `DebugMe.cxx`.
A full debugging session is also possible after [LLDB](https://lldb.llvm.org/) >= 13 and [Wasmtime](https://wasmtime.dev/) are installed.
-
+
**Note:** when calling `wasmtime` directly and passing local files into a pipeline, `--dir` arguments must be set. This gives `wasmtime` permission to access the directories containing the files. This is required due to WASI's [capability-based security](https://en.wikipedia.org/wiki/Capability-based_security) model. For example, if a file path starts with `./`, then add `--dir ./` arguments to the `wasmtime` invocation. `--dir` can be specified multiple times.
@@ -85,31 +85,31 @@ As with native builds, this builds debugging symbols, the human-readable names o
When built with the default `Release` build type:
-
+
the JavaScript support code is minified, and difficult to debug:
-
+
However, when built with the `Debug` build type:
-
+
a useful backtrace can be obtained:
-
+
In order to run a debugger with Node, add the `--inspect-brk` flag when invoking `node`:
-
+
This will pause execution on start a debugging remote interface. To connect to the remote interface with a Chromium browser, visit `chrome://inspect` and click the *inspect* link on the corresponding *Remote Target*:
-
+
This will open the Chrome Dev Tools debugger:
-
+
Other debugger interfaces [are also available](https://nodejs.org/en/docs/inspector), like a CLI debugger or the VSCode debugger.
@@ -127,21 +127,21 @@ Next, enable it in DevTools.
Open DevTools -> Click the *gear (⚙)* icon in the top right corner -> go to the *Experiments* panel -> and tick *WebAssembly Debugging: Enable DWARF support*.
-
+
After exitting Settings, you will be prompted to reload DevTools -- reload.
Next, open the options for Chrome WebAssembly Debugging extension:
-
+
Since itk-wasm performs builds in a clean Docker environment, the debugging source paths in the Docker environment are different than the paths on the host system. The debugging extension has a path substitution system that can account for these differences. In the Docker image, the directory where `itk-wasm` is invoked is mounted as `/work`. Substitute `/work` with the directory where the `itk-wasm` CLI is invoked. For example, if `itk-wasm` was invoked at `/home/matt/src/itk-wasm/examples/Debugging`, then:
-
+
Build the project with itk-wasm and the `Debug` `CMAKE_BUILD_TYPE` to include DWARF debugging information:
-
+
Here we load and run the WebAssembly with a simple HTML file and server:
@@ -167,8 +167,8 @@ Here we load and run the WebAssembly with a simple HTML file and server: