Giter Site home page Giter Site logo

000paradox000 / simlin Goto Github PK

View Code? Open in Web Editor NEW

This project forked from bpowers/simlin

0.0 1.0 0.0 12.1 MB

system dynamics modeling

Home Page: https://simlin.com

License: Apache License 2.0

Shell 0.44% JavaScript 22.72% C 0.18% Rust 42.90% TypeScript 30.84% CSS 0.11% HTML 2.81%

simlin's Introduction

Simlin: a system dynamics modeling tool

Simlin is an open source tool for creating and editing System Dynamics models. You can try it today at https://simlin.com.

simple example model

Controls

  • Shift-click on the background to reposition the canvas (and drag selection doesn't currently do something).
  • Click the blue edit button to show/hide new object creation tools.
    • use these tools by highlighting one of them and clicking on an existing item (in the case of "link" and maybe "flow"), or on the background of the canvas.
  • Create a new flow by clicking-down on a stock (or on a blank spot on the canvas) and dragging.
  • Detach + reposition/reattach flows + links by clicking-down on arrowheads and moving them over a new target. The new target should highlight as green.
  • Click on a variable name to edit the name.
  • In equations, you can either refer to the variables like "var name" (with quotes), or like var_name (replacing spaces with underscores).
  • The arrows in the bottom right are Undo and Redo - there is currently a 10-change limit for undos, and if you undo into the past + make a change (like moving something), you won't be able to redo-back those changes.
  • If you mouse-down and drag a label you can adjust its position relative to the variable.

Known issues

  • If you select a variable that is under the "search" box, the sheet showing variable details will cover that part of the model (you can manually shift-click the background and reposition the diagram to get out of/around this).
  • Drag selection isn't implemented yet.
  • You can only detach the arrowhead of a flow, not the origin/source end.
  • Undo/redo only applies within a browser tab. If you restart your browser (or reload the page), you will lose the ability to undo to before the reload.
  • Only straight-line flows are supported for now.
  • Maybe more! See the Issues page for additional info (and to report a bug or usability issue)

Local development

# dependencies; ignore warnings
$ yarn install
# build everything -- necessary to compile the rust simulation engine to WebAssembly
$ yarn build
# (the next 3 commands don't exit on their own -- they should be run in 3 separate terminals)
# start a local Firestore instance using the Google Cloud SDK
$ yarn start:firestore
# in another tab:
$ yarn start:backend
# in third and final tab:
$ yarn start:frontend

Now to the browser!

You can start local development + iteration on http://localhost:3000/

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.