npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

granity

v0.8.0

Published

A React Three Fiber widgets based game engine.

Downloads

9

Readme

:warning: UNDER HEAVY DEVELOPMENT :warning:

This application is not usable in its current version and is closed to any contribution until it is stable. But feel free to star it if you love the concept :heart:

Granity Engine

Threejs React Redux MongoDB NodeJS

A React-Three-Fiber widgets based game engine build with NodeJs as back-end.

Current State of The Project

Basic Concept

When you create a React-Three-Fiber project it can be difficult to place your 3D objects on the scene. You don't have any visual support to help you doing that. Well, this project was originally about solving this issue, but evolved in something bigger with the time.

The base idea is to create individuals widgets (that are React-Three-Fiber components), place them wherever you want on the scene and they will interact between them without any intervention from you (a bit like Unity).

You can add fields on each widgets that'll be displayed in the editor that you'll be able to get the value from in your React props.

The goal is to provide you all the tools preset for you so you can focus on what is really important, your game !!

Key Features

  • Create and place programmable widgets on the scene
  • Access widgets informations
  • Transform widgets on the scene
  • Delete widgets
  • Copy widgets
  • Multiple cameras support
  • Key bindings (only with keyboard for now)
  • Save your scene

Roadmap

The roadmap elements below are classed in order, but are may subject to change.

0.1.0

  • [x] Create and place programmable widgets on the scene
  • [x] Access widgets informations
  • [x] Transform widgets on the scene
  • [x] Delete widgets
  • [x] Copy widgets
  • [x] Multiple cameras support
  • [x] Key bindings (only with keyboard for now)
  • [x] Save your scene
  • [x] Add a history system
  • [x] Add a npx command line to setup a clean project
  • [x] Switch from a CRA environment to a Vite environment
  • [x] Manage multiple scenes
  • [x] Auto import widgets
  • [x] UI widget type
  • [x] Make a flappy bird clone (Flappy poop)

0.2.0

  • [x] Implement unit testing
  • [x] Adding the possibility to change widget name within the scene
  • [x] Refactor project in monorepo
  • [x] Extract App folder into its own package
  • [x] Having a site for the admin and the game separatly
  • [x] Remake the UI
  • [x] Having multiple themes (one for the game, another for the editor)
  • [x] Control Lights by widget instead of hardcoded default ones
  • [x] Be able to manipulate the widgets through the UI

0.3.0

  • [x] Add a basic setup of a dashboard to control some settings such as key bindings

0.4.0

  • [ ] File system (images, 3D models, etc)
  • [ ] Make shortcuts actions available from UI
  • [ ] Implement integration test for @granity/engine
  • [ ] Some optimisation (code split)
  • [ ] Make the app deployable

0.5.0

  • [ ] Select multiple widgets at the time
  • [ ] Group widgets together
  • [ ] Support multiplayer

In a near future

  • [ ] A lot of enhancements (there are too much to list them here)
  • [ ] Add more field types
  • [ ] Add more keyboard shortcuts
  • [ ] Fix bugs along the way
  • [ ] Refactor the back-end architecture

Documentation

  • [ ] Project installation
  • [ ] How it works
  • [ ] Document functions in the base code
  • [ ] Examples

And more...

Documentation

Coming soon...