FLIP Fluids is a production-grade Blender addon for liquid simulation, integrating a custom C++ FLIP (Fluid Implicit Particle) engine with a comprehensive Python UI. The engine implements advanced numerical methods including level sets, variational pressure solvers, PCG with MIC(0) preconditioning, force fields, whitewater particles, and viscosity solvers, all backed by a vendored Eigen linear algebra library. The Blender addon provides property groups, UI panels, preset management, material libraries, and command-line scripts for baking, rendering, and Alembic/USD export. The architecture is a hybrid: the C++ engine is compiled as a shared library and accessed via C bindings and Python ctypes wrappers, while the addon code follows standard Blender patterns (operators, panels, property groups). Key entry points include the baking operators, simulation domain properties, and the engine's Python bindings in `ffengine/`. External dependencies include Blender (4.5+), Eigen, and optionally Mixbox for color blending. The codebase is well-structured with extensive version compatibility layers, but the vendored Eigen and reliance on Blender's evolving API introduce moderate technical drift.
This repository provides the `lidar` Python package, a specialized library for hydrological depression analysis of high-resolution topographic data, particularly LiDAR-derived DEMs. Its core functionality includes DEM smoothing (mean, median, Gaussian filters), sink extraction, and a novel level-set algorithm for delineating nested depression hierarchy, yielding topological and geometric properties (size, volume, depth, perimeter). The package is designed as a reusable library with a CLI (`lidar` command), a PySimpleGUI-based graphical interface, and integration with ArcGIS via a dedicated toolbox. It also includes Jupyter notebooks for tutorial and research workflows, demonstrating the complete analysis pipeline. The project is research-grade, backed by peer-reviewed publications, and follows a modular architecture with separate modules for filtering, filling, slicing, and mounts. However, some dependencies (GDAL, arcpy) and Python version constraints introduce moderate technical drift risk.