fae / fae Goto Github PK
View Code? Open in Web Editor NEWAn extensible 2D renderer for the web.
License: MIT License
An extensible 2D renderer for the web.
License: MIT License
Use something like fontpath and fontpath-gl to render triangulated text. This could open up a bunch of new text effects, like this demo.
Create a plugin to ease usage of bitmap texts.
Create a tiling-sprite that tiles an image repeatedly.
Would be cool to have a Flash import plugin. This may be a tool that imports flash objects, a runtime construct that can load flash files, or maybe just an editor integration that does flash importing. Unsure.
Right now, RenderTarget uses Rectangle and Color. While Rectangle is already in the 'shapes' plugin, we need to remove usage of it from core. Additionally moving Color to a separate plugin and removing usage of it from RenderTarget would be good.
Create a library for rendering UI elements. Some core features would be:
Create a generic shader-based tilemap plugin. Tiled and other editor-specific support should be in separate plugins that can be used in conjunction with this generic plugin.
Hello,
Currently resource-loader uses the queue and eachSeries of the async library, but still the minified build is pretty big (64kb).
Would it be possible to make a loader plugin for fae based on resource-loader but using promises instead of async?
For example eachSeries could be replaced by:
const funcs = [foo, bar, baz, qux]; //promise factories
let f = funcs[0]();
for(let i = 1; i < funcs.length; i++)
f = f.then(funcs[i]);
f = f.catch(function(e){ /*handle error*/ });
async.queue usage is to limit the concurrency right? There are packages on npm or libraries like bluebird that show examples of how to implement this with a few lines.
Promises may not be as performant as async but a loader is not something where an extra couple hundred operations per second matter anyway.
Right now, both are in core. They don't need other things in core though, so might as well move them out.
Currently, the interaction manager only reacts to DOM input events. This means we may emit that we hover an object on move, then that object moves without any mouse input and we fail to update the hover state.
Create a plugin to handle rendering Spine objects.
Create a plugin that handles canvas-based Text.
Create a plugin for rendering arbitrary 2D meshes. Some functionality around warping and animating those meshes may be useful as well.
Thanks
Need to write a "Getting Started" guide on the Wiki before BETA release.
Create a plugin that handles rendering Dragon Bones objects.
Create a particle plugin that adds support for something similar to the pixi ParticleContainer but also has particle-system features. This is a prime candidate for an editor.
Need to add support for compressed (.dds) textures to the 'textures' plugin.
Need to implement filtering.
This might be 2 systems, one that prepares for rendering via filter (change render target, setup buffers, etc) and one that renders the different filter passes.
That may allow us to reuse current rendering systems inbetween these two filtering systems.
Currently iteration is:
This unfortunately means entities of some system may always render after another dur to system priority reguardless of the entity z index.
Because of that, I think entity should have some sorting property (zIndex
, or renderPriority
, or something) and the iteration should be:
Obviously still only applying the systems that the entity is eligible for. One caveat being that for batch-based systems, this means we likely would need to bring back ObjectRenderer and the associated state :(
Create a plugin to handle tweening objects. Hesitant to reinvent the wheel here since there are so many generic tween libraries out there already. May not do this.
Hi @englercj , fae looks a very great project, but seems have 2 years no update, just wondering whats your plan for this project?
Thanks.
Need a nice way for plugins to have resource-loader integration, optionally.
Open questions:
Create a lights plugin that adds deferred lighting.
Debatable if this should be done with WEBGL_draw_buffers extension or similar to the way I did pixi-lights instead.
Create a debugging plugin, similar to my phaser-debug plugin.
Need to write a "Fae Philosophy" document that details what the philosophy Fae takes to library structure and architecture. This may help plugin authors when deciding how to implement their plugins.
Also write a "How to Write a Plugin" guide that is similar to this :)
The returned Pointer object for an Interaction event is missing the button property of the native MouseEvent dom object.
Either add animation support to sprites (via a new plugin) or a whole new class that is an animation (unrelated to Sprite).
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.