ccaven / classroom3d Goto Github PK
View Code? Open in Web Editor NEWZoom replacement for online peer tutoring
License: Apache License 2.0
Zoom replacement for online peer tutoring
License: Apache License 2.0
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?
Currently, remoteStreams are directly connected to audioContext.destination.
Instead, retry Three.js PositionalAudio along with a fix to #1
See: https://stackoverflow.com/questions/41784137/webrtc-doesnt-work-with-audiocontext
Fix: add/remove muted audio elements along with MediaConnection objects
Note: clearly document in case the underlying Chrome bug is fixed / changed
Todo: search for CanvasRenderingContext2D user interface components library for Svelte
For example: svelte-konva
Use $velocity property to guess more accurately where the connected user is - important for high-latency users
Key idea:
<Whiteboard/>
<InteractionHint/>
svelte/motion
to interpolate network events (like in OnlinePlayer.svelte
)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)
Includes: 3D model to represent view vector of the online player
Needed for #12 - in order to have generic interactive elements, the pointer lock / camera position needs to be flexible.
Brainstorm on what kinds of skyboxes would best support the purpose.
For example:
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!
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.