Giter VIP home page Giter VIP logo

Comments (7)

trusktr avatar trusktr commented on August 28, 2024 1

@jtenner Just gave it a shot, and everything is working! Nice! :godmode:

I've updated assemblyscript and as-pect, and added continuous integration (too easy with GitHub Actions).

Not sure how the build passed though, as the CI pull request doesn't have the updated dependencies. Hmmm, well let me get the first PR merged.

from glas.

trusktr avatar trusktr commented on August 28, 2024

Hello! @jtenner, author of as-pect has since deleted the runtime branch from as-pect, which this is depending on in package.json.

By the way, this project doesn't render anything on the screen yet (that's what we're aiming for of course). It currently runs unit tests for the classes we've finished so far. But it would be great if you want to contribute. Thanks for checking it out!


If I don't get to it first, @jtenner, would you be open to make a PR to bring this up to date with as-pect from NPM? I'd like to swing back to this soon after some other stuff in my life calms down.

Or @liveme, if you'd like to give it a try, glas needs to be updated to using these packages:

@as-pect/cli @as-pect/core @as-pect/assembly assemblyscript/assemblyscript

from glas.

jtenner avatar jtenner commented on August 28, 2024

I switched to a mono repo to get more organized about how aspect worked. I could probably help with a pull request if you needed it.

from glas.

trusktr avatar trusktr commented on August 28, 2024

That would be great! I'm sure the changes aren't much, but you'd know best. What was working before was npm install && npm test.

from glas.

jtenner avatar jtenner commented on August 28, 2024

This is unfortunate. When I tried to run latest AssemblyScript and latest @as-pect/cli together, I found a compile-time error.

ERROR TS2339: Property 'dataLength' does not exist on type '~lib/arraybuffer/ArrayBufferView'.

   if (actual.dataLength != expected.dataLength) {
              ~~~~~~~~~~
 in node_modules/@as-pect/assembly/assembly/internal/comparison/arrayComparison.ts(49,13)

ERROR TS2339: Property 'dataLength' does not exist on type '~lib/arraybuffer/ArrayBufferView'.

   if (actual.dataLength != expected.dataLength) {
                                     ~~~~~~~~~~
 in node_modules/@as-pect/assembly/assembly/internal/comparison/arrayComparison.ts(49,36)

This is going to take some time and an update. Sorry for the trouble.

from glas.

trusktr avatar trusktr commented on August 28, 2024

Alright @liveme, it is good to go. npm install should work and npm test should pass. There's nothing to see yet, but so far 61 unit tests should pass.

If you'd like to grab any class from the Three.js repository along with its unit tests, and port it to AssemblyScript, that'd be awesome.

It'll be some time before it renders anything. The hardest part will be porting over WebGLRenderer and making JS glue code so that it can tell the JS (WebGL API) what to render in the DOM <canvas> element.

At present, the WebGLRenderer class contains the <canvas> element, but this is not yet possible in WebAssembly, so instead it will need to contain a render command list, and that list will be passed to the JavaScript side, where the <canvas> WebGL context can be accessed.

from glas.

munrocket avatar munrocket commented on August 28, 2024

npm install gives an error with node 12.

(node:53821) ExperimentalWarning: The ESM module loader is experimental.
internal/modules/run_main.js:54
    internalBinding('errors').triggerUncaughtException(

If you get this error update node to 14.x

from glas.

Related Issues (20)

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.