Git Product home page Git Product logo

pipewrench-modeler's Introduction

PipeWrench Modeler

Description

PipeWrench Modeler is both a TypeScript definitions generator for Lua files for Project Zomboid and a human assistance tool for improving what comes out of the generator. The generator converts Lua files into TypeScript definitions for the PipeWrench development environment.

Models

Models are instructions provided by humans that are digested by the generator. These models provide information that helps define what the generator cannot identify and understand, such as parameter names, function returns, etc. Models are stored in a JSON format.

Setup

  • Copy your Project Zomboid media/lua folder to ./assets/media/lua.
  • Run npm i

Commands

  • Development

    • Install gruntjs.
    • Install Ruby.
    • Install SASS.
    • Run grunt for watching .ts and .scss files to compile.
  • Application

    • Run npx electron main.js to start the Electron application.
    • Use CTRL + O to open model files. (.json)
    • Use CTRL + S to save model files.
    • Use CTRL + G to generate typings in ./dist

Notes

  • The modeler is in BETA. The following is still in development:
    • The menu-bar at the top isn't defined.
    • Deleting models in the menu on the left.
    • Arrow-key support for the search menu.
    • Rough edges with CSS.

Support

Discord Server

https://discord.gg/u3vWvcPX8f

If you like what I do and helped your community a lot, feel free to buy me a coffee! https://ko-fi.com/jabdoesthings https://www.paypal.com/paypalme/JabJabJab

pipewrench-modeler's People

Contributors

jabdoesthings avatar konijima avatar shughes-uk avatar

Stargazers

 avatar  avatar

pipewrench-modeler's Issues

No Electron build for osx-arm64

People using osx-arm64 cannot run npm install as, the version of electron that is pinned does not provide a build. Moving the pin forward will work but there seem to be some minor looking tweaks required to get it working with the latest electron

`client/Context` Lua files are broken.

I'll be honest, these Lua files are wild.

Basically, I'll need to scan complex assignments, E.G:
lua ISInventoryMenuElements = ISInventoryMenuElements or {};

I'll need to also look at a static new(..) method for tables, involving a self reference inside of them.

Implement MenuBar

Either find a way to use the Electron 7 API for menu-bars or make a custom CSS menu-bar. Either way works.

Needs the following:

  • file:
    • open
    • save
    • save as
    • exit

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.