ganja.js VS A-Frame

Compare ganja.js vs A-Frame and see what are their differences.

ganja.js

:triangular_ruler: Javascript Geometric Algebra Generator for Javascript, c++, c#, rust, python. (with operator overloading and algebraic literals) - (by enkimute)
SurveyJS - Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App
With SurveyJS form UI libraries, you can build and style forms in a fully-integrated drag & drop form builder, render them in your JS app, and store form submission data in any backend, inc. PHP, ASP.NET Core, and Node.js.
surveyjs.io
featured
InfluxDB - Power Real-Time Data Analytics at Scale
Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
www.influxdata.com
featured
ganja.js A-Frame
8 102
1,492 16,210
- 0.6%
2.5 9.6
4 months ago 5 days ago
JavaScript JavaScript
MIT License MIT License
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

ganja.js

Posts with mentions or reviews of ganja.js. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-03-15.
  • The Montreal Problem: Why Programming Languages Need a Style Czar
    3 projects | news.ycombinator.com | 15 Mar 2024
    Some people's brains just work this way. Here's an example of a somewhat popular and regularly maintained library written in a similar style: https://github.com/enkimute/ganja.js/blob/6e97cb45d780cd7c66...

    Once your learn to recognise the commonalities, you'll see examples everywhere. The most extreme and stereotypical version is the billboards written by some homeless people. You can probably picture it already in your mind's eye: A wall of very dense text with little whitespace or structure, and a mix of fonts and colours seemingly at random.

    I had a brilliant mathematician friend who wrote like this. He would squeeze and entire semester's worth of study notes into a single sheet of paper, on one side. It was impenetrable gibberish to everyone else, but the colours and 2D positioning let him build a mental mind-map.

    For people like this, if you reformat their code even a tiny bit, their mental map is invalidated, and they lose track of it completely and become upset. I discovered this (the hard way) when applying automatic code formatting tools to the codebases I mentioned previously.

    Personally, I find this type of thing to be absolutely fascinating, because it's the intersection of many fields of study, and hence is under-studied. There's elements of pedagogy, psychology, literacy, compute science, etc...

    It's an open question how we can get large groups of neurodiverse humans to collaborate on a codebase when they don't even "read" or "think" in compatible ways!

  • [Media] I finished my first rust project: a path tracer
    2 projects | /r/rust | 11 Jul 2022
    I was watching bivector videos and how it could be a viable replacement for matrix algebra in video games and I have been very impressed by the intuitiveness and consistency of the equations. There is this ganja.js for demonstrating the graphics and has a rust generated code https://github.com/enkimute/ganja.js/tree/master/codegen/rust I'm too naive to understand the implementation, but I'm glad a library like ultraviolet is here to start paving the use of Geometric Algebra in computer graphics.
  • Ask HN: What are some examples of elegant software?
    22 projects | news.ycombinator.com | 2 May 2022
  • Manim: An animation engine for explanatory math videos
    10 projects | news.ycombinator.com | 20 Aug 2021
    Well I've been on a real Geometric Algebra (aka Clifford Algebra) kick lately, and ran across ganja.js [1]. It's a single no deps file that is...impressive. 120k uncompressed, and with it you can construct any degree algebra (including the more esoteric hyperbolic/parabolic ones), render to canvas, svg or webgl(!). It also includes a clever little DSL parser and interpreter (it overloads the scientific notation to name basis vectors!) that lets you construct more complex things from simple things using various kinds of products.

    The author, Steven De Keninck, is quite impressive as well, having got his start in the demoscene some time ago. He has a good video from 2019 that explains why this algebra is better than [matrices, tensors, vectors, complex numbers]. Of particular interest (to me anyway) is the 2D projective geometry.

    I don't want to oversell it, but ganja is fucking amazing and there is a great deal I want to do with it. For one, I'd like to recapitulate my physics degree with it.

    [1] https://github.com/enkimute/ganja.js

    [2] https://www.youtube.com/watch?v=tX4H_ctggYo

  • Ganja.js: Geometric Algebra Generator for JavaScript
    1 project | /r/ProgrammingLanguages | 18 Feb 2021
    2 projects | /r/node | 16 Jan 2021
    Great documentation!
  • Ganja.js: Geometric Algebra Generator for JavaScript, C++, C#, Rust, Python
    1 project | /r/programming | 16 Jan 2021

A-Frame

Posts with mentions or reviews of A-Frame. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-04-29.
  • Show HN: 3D Framework for the Web. Built on Svelte and Three.js
    7 projects | news.ycombinator.com | 29 Apr 2024
    Cool project!

    For those who prefer a more vanilla approach, A-frame [1] is nice.

    [1] https://aframe.io/

  • A New Era for Mixed Reality
    4 projects | news.ycombinator.com | 22 Apr 2024
    I looked at it seriously for content authoring but gave it up.

    The big problem is you cannot import images, textures, 3-d models and such from ordinary tools. You have something like constructive solid geometry to work with but only so much and there is a slider you can use to set the number of players and the more players the less geometry you can use.

    I want to make worlds based in photographs (particularly pano and stereo) and art. McDonalds needs to put a Coca-Cola logo on the side of the cup. Either way it is a non-starter.

    HW supports collaboration (more than one person shares the world) but https://aframe.io/ lets me make the content I want. If I have to choose one or the other I am going to pick the second.

    My take on Meta Quest is that it seems highly successful as a gaming environment based on an app store but is skews towards single-player experiences. Like a lot of AAA games, the excellent Asgard’s Wrath 2 has some multiplayer tacked on but it is all meaningless like leaderboards and the occasional ghost that shows up in a procedurally generated dungeon.

    Of course, Meta wants to make multiplayer experiences but somehow they just can’t do it.

  • El Prado Museum in Unprecedented Detail with New 360º Gigapixel Virtual Tour
    1 project | news.ycombinator.com | 19 Apr 2024
  • React, Solid, Htmx
    1 project | news.ycombinator.com | 12 Apr 2024
    ... I remember inventing signals circa 2005 for a knowledge graph editor I worked on in GWT back when I didn't care about knowledge graphs. Not long after that I was using similar concepts to develop a complex Silverlight decision support application for sales territories.

    I'm still a little appalled that people have forgotten how to make HTML form applications like we made in 1999 and frequently use React for things that don't really need it. React has, I think, one of the most elegant methods of implementing a widget set ever invented (sure beats XAML, FXML, Visual Basic, etc.) but it doesn't support a real answer to maintaining application state that would be adequate for applications as complex as RIAs made by early adopters in 2005.

    My favorite use for React is

    https://aframe.io/

    which works like a cross between VRML and Unity Framework. Here you can easily build a virtual world that people can experience with desktop, mobile and VR headsets. Something you can't do with HTML forms!

    I have a few side projects based on HTMX but I am pretty sure we will see something like it but better soon. In particular back end frameworks need to be updated for the new reality. Often you have a "component" like a dropdown box which can either be drawn as part of a bigger page or updated on its own and you really need some way you can reuse the HTML template for those purposes and hopefully also reuse associated code that does database lookups and such.

  • Ask HN: What framework should I learn?
    1 project | news.ycombinator.com | 6 Apr 2024
    A lot depends on what kind of app you want to build.

    For my current side projects I am interested in two kinds of technology.

    (1) ML-enhanced apps that involve sorting and classifying content. Here I am drawing everything in the back end and using HTMX to partially update the screen to, for instance, create modal dialog boxes. The point here is that I want to quickly add new UI tasks and it will not be so quick if a front end build process is involved. (Notably in my system you can roll out a new task on the back end without reloading the front end)

    My back end is Python which I am souring on. The basic problem is that it does not have threads. So if I have a 1GB ML model and a celery with 32 processes I could waste memory with 32 copies of the model. There are ways of working around all this but if I was just using Java, one copy of the model could be shared by any number of threads. Java doesn’t have the ML libraries though.

    The general principle here is that the vast majority of React apps are just ordinary form processing apps that could be developed using the methods we used back in 1999 and seem to have either forgot or never learned (if we are young.). You could make the case that DX and UX were better then.

    (2) Virtual reality applications using

    https://aframe.io/

    here there is no back end. With these tools you can make a world that is browsable with an ordinary web browser but put on a VR headset and you are there. This is another counter to the boring React app because it is something you could never do with an frontendless site.

  • Apple Vision Pro Review: The Best Headset yet Is Just a Glimpse of the Future
    6 projects | news.ycombinator.com | 30 Jan 2024
    Meta Quest also has full support for WebXR which lets you bypass all the app store BS. You can use this framework to make worlds visible on most XR headsets as well as desktop and mobile

    https://aframe.io/

    My understanding is that Apple is making excuses about being slow to support WebXR.

  • The Apple Vision Pro's Missing Apps
    1 project | news.ycombinator.com | 29 Jan 2024
    Meta Quest. It even runs on Android. For that matter, so does Magic Leap 2. If they deign to do so all the "usual suspects" who make Android phones could make Android-based VR headsets.

    As much as the media has been obsessed with the train wreck that is Horizon Worlds, it's a well kept secret that Meta Quest has an app store that works like the app store on a game console. You can even sideload phone, tablet and TV apps and they "just work" most of the time.

    There is no working "metaverse" and even meaningful multiplayer games are thin on the ground, but no shortage of good single-player games and what I'd call game-adjacent apps.

    It's little recognized that XR apps are highly portable because they are almost always based on portable frameworks like Unity. In fact, just about every XR headset supports WebXR which makes it outright easy to make web-based virtual worlds

    https://aframe.io/

    these work with desktop, phones and tablets as well as most of the AR and VR headsets. All it takes is that you "think different" and choose to live life outside the app store.

  • The web will be Vision Pro's killer app
    2 projects | news.ycombinator.com | 20 Jan 2024
    WebXR is pretty amazing. You can make a site with

    https://aframe.io/

    which can be navigated with a browser on desktop and mobile. Using a VR headset you can give permission and… you’re in the world! It’s like one of those kids TV shows where people can jump into the world of a book.

    With WebXR you can make applications that run on Meta Quest, Magic Leap 2, Hololens 2, PCVR and other platforms. It kinda drives me up the wall that so many people are hung up on Apple because AVP competes with quite a few different platforms that are all pretty similar and if this kind of thing catches on you’d better believe people will be porting applications between them…

  • How do we stop Meta in 2024? We fix the information loop
    1 project | news.ycombinator.com | 2 Jan 2024
    To Facebook's credit, Facebook really is investing in developing a new platform, which is more than you can say about Google, Apple, Amazon, etc.

    The reality is that Horizon Worlds is a joke (maximum 20 players in a world and you trade players for geometry, a 20 player world is much smaller than an 8 player world.) Horizon Worlds doesn't let you import images, video or sound.

    A VR world has to fit everything you can see in a headset. A really big game like Asgard's Wrath 2 (absolutely amazing) is like an open world game which is full of hidden loading screens and it's quite expensive to develop if you want it to feel open.

    By not letting you load those kind of resources HW keeps the size of the world under control, plus it disappears pornography, copyright violations and a whole lot of trouble. It kills HW for me because I want to make content based on photography and visual art, and kills it for commercial users because McDonald's just has to put a Coca-Cola logo on the side of the cup.

    The MQ3 is basically an Android phone you wear on your face and the mainstream way to deliver apps for it is the same as a mobile phone. Unlike Apple, you can sideload, in fact you can sideload many ordinary phone apps, such as the Tailscale client or the Denon HEOS client and they usually work. It's not less any open an environment than mobile.

    On top of that you can create webpages with WebXR that appear in VR at the touch of the button and this framework

    https://aframe.io/

    you can make worlds that are browsable on phone, tablet and desktop but that you can enter with a VR headset. (Makes me think of a few kids TV shows where the characters can jump into books) These are compatible across a range of devices such as the Hololens 2, PCVR headsets, and even the Apple Vision Pro.

    Google and Microsoft provide plenty of models for half-baked efforts that end in failure (every time a B2B startup gets bought by Google the competitors have a meeting of their salespeople the next day and say... "YOU'RE ON COMMISSION, YOU'RE GOING TO GET RICH!) Facebook is the one big tech company that is seriously investing in a new platform and they deserve some credit for it, whereas all the rest of them are so wrapped up in "business theater" and "technology theater" that nobody realizes Google hasn't made anything since they bought YouTube.

  • The Future of Node.js in Virtual and Augmented Reality Development
    1 project | dev.to | 19 Jul 2023
    Traditionally, VR and AR development involved complex frameworks and languages, but Node.js brings a fresh approach to the table. Its familiarity with JavaScript allows developers to write code for VR and AR applications with ease. By utilizing libraries like A-Frame for VR and AR.js for AR, developers can create immersive experiences directly in the browser using Node.js. This seamless integration opens up opportunities for a wider range of developers to enter the VR and AR landscape.

What are some alternatives?

When comparing ganja.js and A-Frame you can also consider the following projects:

manim - A community-maintained Python framework for creating mathematical animations.

three.js - JavaScript 3D Library.

manim - Animation engine for explanatory math videos

unity-webxr-export - Develop and export WebXR experiences using Unity WebGL

perspective - A data visualization and analytics component, especially well-suited for large and/or streaming datasets.

BabylonJS - Babylon.js is a powerful, beautiful, simple, and open game and rendering engine packed into a friendly JavaScript framework.

Stockfish - A free and strong UCI chess engine

Konva - Konva.js is an HTML5 Canvas JavaScript framework that extends the 2d context by enabling canvas interactivity for desktop and mobile applications.

r2vr - R to Virtual Reality

PixiJS - The HTML5 Creation Engine: Create beautiful digital content with the fastest, most flexible 2D WebGL renderer.

TermKit - Experimental Terminal platform built on WebKit + node.js. Currently only for Mac and Windows, though the prototype works 90% in any WebKit browser.

model-viewer - Easily display interactive 3D models on the web and in AR!