Implemented Text API which updates id_map and ast on each code change.
This PR contains also an implementation for actual opening and initializing Module Controller.
Added a "Text changed" callback to TextField which is fired on every user edit.
Original commit: b027517b34
This PR brings code necessary to fully integrate file manager and properly use it.
Two most important parts are:
* executor that can be integrated with basegl's event loop;
* implementation of the `Transport` trait based on `web_sys::WebSocket`.
I've also added some glue code to put the file manager connection into the project view.
Implements #2105.
Original commit: 64c06632e1
This contains an initial TextController implementation, which can read and store the file content, and is obtainable from ProjectController.
Original commit: 66f4dfd0fa
Implemented the reactions of TextField for keyboard events.
It includes change for Fonts - now we don't have to pass
reference to FontRegistry on each text operation.
Original commit: e6e44ad827
Implements #2117
The application is now distributed to WASM binary (gzipped, not processed by webpack) and JS helpers bundle (gzipped, processed by webpack).
There is a new loader implementation that starts downloading the bundles and as soon as it finishes downloading the helper bundle, it starts online WASM compilation (before the WASM binary finishes downloading).
The loader displays a nice progress bar to the user.
The top-level examples folder was renamed to app and changed significantly. It is meant now to be the base for our cloud and native app. When you run it, please navigate to http://localhost:8080/debug to get the list of debug demo scenes.
Implements #2118
Please use ./scripts/watch.sh --dev. After changing any example scene, the time between hitting ctrl+s and seeing new results in the browser dropped from 45s to 3s.
Implements #2110
Original commit: f21998f4f2
Refactored TextComponent to use the sprites and glyph system, and renamed it to TextField. Also do much refactoring stuff and add missing documentation.
Original commit: 49efefad2c
* Removed web's Camera. We are now using Camera2d
* Fixed camera set_screen and set_position order
* Added screen dimensions to Camera2d constructor
* Removed the need for UniformScope in Camera2d's constructor and exposed an 'add_zoom_update_callback' method
* Lints
* Removed dom's transform and dom's object
* Making use of DisplayObject in HTMLObject and HTMLScene
* Unified HTMLRenderer with DisplayObject logic
* Changes from farmaazon's feedback
* Changes from reviews
* More changes from reviews
* Fixed trigonometric function
* Using Navigator on examples
* Minor fixes
* Lints
* Stylistic renaming
* Some more fixes
* Simplified API without event_loop and dom_id
* Camera2d alignments
* Removed IntersectionObserver
* &loggers
* Minor fixes
* More fixes :P
* Fixed CloneRef impls
Original commit: e35fa857f6