Coder Social home page Coder Social logo

elicdavis / polyform Goto Github PK

View Code? Open in Web Editor NEW
70.0 70.0 5.0 20.06 MB

Immutable mesh processing library

Home Page: https://elicdavis.gitbook.io/polyform/

License: MIT License

Go 86.36% HTML 1.34% JavaScript 10.93% CSS 1.36%
3d colmap gaussian-splatting generative-art geometry geometry-processing gltf mesh obj ply procedural-generation stl

polyform's Introduction

Eli C Davis

  • Founder of Recolude, a startup that helps game developers record players in-game to provide insight into how their application is used. Follow the progress on twitter or DM me if you have special usecases. Demo here.
  • In my free time, I work on a procedural mesh editing and generation library named Polyform. A few utility libraries have spawned from it's undertaking as well that might be useful to others:
    • vector - Immutable vector math library
    • jbtf - GLTF-inspired JSON schema for embedding arbitrary binaries
    • quill - Scheduler of operations on in-memory data
    • sfm - Utilities for interacting with reconstruction data from different SFM programs
    • iter - Iterator and utilities. Some inspiration from ReactiveX
    • bitlib - Utilities for reading and writing binary data

polyform's People

Contributors

actions-user avatar dependabot[bot] avatar elicdavis avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

polyform's Issues

Node-based Approach to Generator

Right now, it's hard to define a generator hierarchy that doesn't lead to certain generators doing unneeded repetitive work when certain variables change.

To be as fine-grained as possible to avoid such rework, we need to swap to a node-based approach, where each node explicitly defines its inputs and outputs as pointer references to other nodes. Then changes to one input node can easily be propagated to the rest of the graph.

Also opens up the opportunity for the generator to automatically prune un-used nodes. I think all that would be defined on the app level would be the output nodes, then we'd recurse through their references to get everything needed.

Things to figure out:

  • How to define groups and sub groups of variables for sake of web view
    • Or maybe we abandon this and create a new node-view for the web?
  • Defining some outputs as debug only
  • Defining Dev vs Prod input values

Verify Graph is DAG

At the moment. Nothing stops someone from defining a cyclical graph for a polyform app, which would cause an infinite loop when attempting to run a producer.

Upon the start of a polyform app, we should do a check to ensure the graph is, in fact, acyclic.

License ?

Hello, under what license is this project released under ? I would like to study it to learn from it. Thank you.

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.