Giter Club home page Giter Club logo

classroom3d's People

Contributors

ccaven avatar

Watchers

 avatar  avatar

classroom3d's Issues

Add Whiteboard

Some ideas;
Canvas-based, with undo?
Approximate strokes as Bézier curves?
Keep pointer locked, instead movements of mouse correspond to movements of the canvas
Keyboard shortcuts for colors?

Add UI canvas and components

Todo: search for CanvasRenderingContext2D user interface components library for Svelte

For example: svelte-konva

Add base logic for interactive elements

Key idea:

  1. Manage all WebRTC logic from inside one component (e.g. <Whiteboard/>
  2. Standardize the "Press E to interact" hint (possibly in a <InteractionHint/>
  3. Can constantly un-locking the pointer be avoided? For example, the Whiteboard could move from side to side underneath your cursor, instead of you moving your mouse / view.
  4. Standardize using svelte/motion to interpolate network events (like in OnlinePlayer.svelte)

Only send updates when updates are needed

Mainly for position updates: only send when the current position is different than the last sent position.

Also: make payload items optional (e.g. only send direction change if needed)

Add skybox

Brainstorm on what kinds of skyboxes would best support the purpose.

For example:

  • Simple star field (for space-themed space)
  • Cartoon clouds (for sky-themed space)
  • Infinite pit / simple gradient?

Desmos graphing calculator integration

The HTML component in Threlte is great for the integration. However, how can we sync graphs across users?
Idea: use Desmos API (use dev api key, then apply for a real api key)
May need to change some tsconfig settings because Desmos npm package doesn't have any types!

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.