Coder Social home page Coder Social logo

phet-osc-bridge's People

Contributors

colinbdclark avatar

Watchers

 avatar  avatar  avatar

Forkers

colinbdclark

phet-osc-bridge's Issues

Implement a component that can transform PhET events objects into OSC bundles

The core of this bridge is a converter that can take PhET event objects as input and convert them into osc.js bundle objects. This will involve creating a new OSC bundle for each event and its children events, and new OSC message for each property within each event. The mapping scheme is documented in more detail in the project README.

Improve unit test coverage

At the moment, only the core phetosc.converter component is unit tested. Coverage should be increased to include the servers and relaying functionality.

The package name should match the installation instructions

Currently, the name of this package in package.json is listed as phetosc, while the instructions (and command line name) say that it should be phet-osc-bridge.

I think the latter is a better name, so we should update package.json prior to publishing it on npm.

Implement project testing infrastructure

We need some means to test this system as it is being developed. This should include:

  • Support for running unit tests both in Node.js and across supported browsers automatically
  • Linting of JavaScript and JSON files based (roughly) on the Fluid styles
  • Examples of captured PhET io event data in JSON for testing

Replace console.logs with use of the Fluid logging system

Currently, phet-osc-bridge uses console.log() directly to output information messages. This should be replaced with use of fluid.log() and the degree of output verbosity should increased (at different log levels) so that users can usefully increase or decrease the amount of information they receive from the server.

Port ad-hoc Express server to Kettle

Currently, this library uses a somewhat brittle and not easily testable adhoc collection of Fluid components that use Express 4 and thews Web Socket library directly. All of this functionality should be available in Kettle, and using it will reduce the amount of code and increase testability significantly.

Implement a server that can relay OSC messages from a web page to an OSC target

We need some mechanism by which PhET events, after they've been converted to bundles of OSC messages, can be relayed to an Open Sound Control server such as SuperCollider. This will require the use of osc.js' transport layer and perhaps its relay functionality.

In addition, this server should be able to host static resources such as an HTML page that contains a PhET.io sim in it, so that it will be easy for a sound designer to run a command to start the server and enable the relay.

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.