Skip to content

About

LGPL library for small arms ballistic calculations based on point-mass (3 DoF) plus spin drift.

Topics

Resources

Stars

0 stars

Watchers

1 watching

Forks

Latest commit

 

History

54 Commits

Folders and files

Repository files navigation

dart-bclibc

Made in Ukraine

License Dart Pub Version Flutter Pub Version powered by bclibc

CI

Dart/Flutter bindings for the bclibc ballistics engine — a high-performance 3-DOF + spin drift ballistic solver with RK4/Euler integration.

This is a monorepo with two published packages:

  • dart/ — bclibc: pure Dart, no Flutter dependency. FFI bindings, calculator/unit/conditions domain types. Works in any Dart project — CLI, server, or Flutter.
  • flutter/ — bclibc_flutter: Flutter plugin wrapper. Bundles the native library for Android/iOS/Linux/macOS/Windows and WebAssembly for Flutter Web, plus AsyncCalculator (needs a real web implementation, only available inside a Flutter app).

If you're building a plain Dart application, start with dart/README.md. If you're building a Flutter app, start with flutter/README.md — it re-exports everything from bclibc plus the Flutter-specific pieces.

Building from source

git clone --recurse-submodules https://github.com/ballistics-lab/dart-bclibc.git
cd dart-bclibc
make build   # builds dart/'s native library via CMake
make test    # runs dart/'s test suite

The C++ engine (bclibc) is vendored as a git submodule, checked out separately under both dart/bclibc and flutter/bclibc (each published package needs to be self-contained — see make verify-bclibc, which checks the two copies — plus flutter/'s CMake BCLIBC_VERSION, the prebuilt wasm asset and the CHANGELOGs — all pin the same bclibc commit; make install-hooks runs it as a pre-commit hook).

License

Copyright (C) 2026 Yaroshenko Dmytro (o-murphy)

This library is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License v3.0 as published by the Free Software Foundation.

See LICENSE for the full text.

Note

bclibc (the ballistic solver engine) is licensed separately under the GNU Lesser General Public License v3.0. See dart/bclibc/LICENSE.

Warning

Risk notice. This package performs approximate simulations of complex physical processes. Calculation results must not be considered as completely or reliably reflecting actual projectile behaviour. Results may be used for educational purposes only and must not be relied upon in any context where an incorrect calculation could cause financial harm or put a human life at risk.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

About

LGPL library for small arms ballistic calculations based on point-mass (3 DoF) plus spin drift.

Topics

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages