GithubHelp home page GithubHelp logo

pocinnovation / assemblib Goto Github PK

View Code? Open in Web Editor NEW
2.0 2.0 0.0 1.38 MB

A performant 3D animation library made for the web in Rust.

License: Apache License 2.0

Shell 0.18% HTML 5.72% CSS 3.09% TypeScript 6.59% Rust 83.65% JavaScript 0.77%
3d-animation rust webassembly software

assemblib's People

Contributors

rezarahemtola avatar toumi-elyes avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar

assemblib's Issues

[Feature]: Enable 2D shapes customization

Description

Enable users to customize the rendered forms πŸš€

Expected behaviour

Here's what you have to do:

  • Add a color picker to choose the color or the rendered forms
  • Create a slider or input to change the size of an existing form

Then you can try these and do at least one of them:

  • Unify the SVGs to draw inside a single element (not the body but a dedicated space)
  • Draw as a background image, so we can render HTML on top of it 🀩

Environment

/

Proposed solution

No response

[Feature]: Draw a basic shape in the browser from Rust

Description

Use Rust and WebAssembly to display something in the user browser πŸš€

Expected behaviour

Now that you are familiar with Rust and WebAssembly, let's render some shapes in the browser πŸ˜ƒ

  • Display a basic shape and in different colors in a browser canvas

It can be anything you want, if you don't have any idea you can render a red and blue circle πŸ”΄

You'll need to research for the best & easy way to do this (keep in mind the long term goal of making a library), here are some interesting ideas and links:

Environment

/

Proposed solution

No response

[Feature]: WebAssembly skills development

Description

Discover the WebAssembly format πŸ”₯

Expected behaviour

Here's what you have to do:

  • Install and use wasm-pack to create .wasm files from Rust for the use cases below πŸš€

  • Create several small programs in WebAssembly:

    • A fibonacci Rust function, cross-compiled in .wasm and used in a JS code
    • The same function, but published as an NPM package instead of a file and used in a JS code πŸ“¦
    • A program that imports JS-specific functions like alert() and use them from Rust (in the format that you want, NPM package or simple .wasm file)

Environment

/

Proposed solution

No response

[Feature]: Draw in a canvas

Description

Enhance the current display with a canvas instead of an SVG πŸ”₯

Expected behaviour

You have to:

  • Draw lines, circles and simple shapes in a canvas at given coordinates πŸ—ΊοΈ
  • Add an option to choose the color of the drawing
  • Add an option to choose the size of the drawing
  • Enable clearing a single element from the canvas

πŸ’‘ For this you can store all the displayed items in a list and remove it when needed. When you have to draw, you just have to clear the canvas and draw every shape in your list!

Environment

/

Proposed solution

No response

[Feature]: Render a complex 2D shape in the browser

Description

Improve your Rust & rendering skills by drawing a more complex shape πŸ‘

Expected behaviour

Render a rocket πŸš€ πŸš€ πŸš€ as you chose

Use the resources given in #4 , and do it step by step as it will not be easy

Environment

/

Proposed solution

No response

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.