* HTMLScene and HTMLObject implementation
* Added HTMLRenderer and Camera objects
* Adding rlib as crate-type to make basegl available in tests
* HTMLRenderer tests and code cleanup
* Fixed transformations and adapted Quaternion euler transformation order from XYZ to YXZ (like threejs)
* Added knowledge comments
* Recovering original lib.rs (with world demo)
* Added shrinkwraprs
* Formatted files
* Improved opt_vec test coverage
* Fixes based on clippy and rustfmt
* Remove unused WeakSet :)
* Added documentation
* Improved HTMLObject::from_html_string and beautified the code fmt
* Created StyleSetter and AttributeSetter to deal with panics
* Fixed code chars limits
* Matrix code cleanup and more code style guidelines fixes
* More alignment fixes
* Some more fixes and refactoring
* Refactored IntoCSSMatrix
* Refactoring
* Removed examples/02-html
* More refactoring
* Derived rendering structs from Debug
* Refactoring (https://github.com/enso-org/ide/pull/50)
* Comments on HTMLRenderer tests
* Removed unwanted console_log
* Recovered missed css matrix3d code
* Added attribute to invalid doc codes
* Clippy lints fixes
* Fixed function access
* Added AnimationFrameLoop
* Custom web benchmarks implementation
* Added #[web_test] and #[web_bench] procedural macros
* Added documentation
* Lints
* Removed unused benchmark
* Removed unused test
* HTMLRenderer optimizations ;)
* resize_observe should return the index
* ResizeObserve for Scene & HTMLScene
* Lints
* Using array.join
* Added test scenario where OptVec has empty indices
* Made HTMLScene.objects private and provided accessors to it
* HTMLScene properties renaming
* Added unit test for Matrix4 memory layout
* Renamed packages author to Enso Team
* Improved benchmark readability
* Made IntoFloat32Array trait safe
* Refactored HTMLRenderer
* Lints
* Better code style
* Qualified Float32ArrayView as unsafe
* Usage example for web_test
* Style fixes
* Scene::add_resize_callback abstraction
* Spacing
* Major refactoring!
* Some minor fixes
* Comments for IntoFloat32ArrayView usage
* Navigation without smoothed movement
* Intersection Observer and navigator impl
* Intersection Observer and navigator impl
* Navigator with orthographic projection
* Camera refactoring
* Removed unecessary source note now that the code is self explanatory
* Smoothed camera navigation
* Refactored event_handler and navigator
* Linter fixes
* Fixed invalid_container test
* Included MouseEvent in system::web's Cargo.toml
* Code cleanup (unwraps refactoring) and documentation
* Adding Event and MouseEvent to basegl-system-web
* Added EventTarget to basegl-system-web
* Fixed navigation test
* Small fixes from review feedback
* Small fixes from review feedback
* Introduction of MouseManager
* Better physics with PhysicsSimulator and overshooting avoidance with AnimationManager
* Clippy fixes
* Disabling html_renderer test to verify CI failure
* Putting back html_renderer test. It looks like headless web testing is broken
* 60 steps per second Physics Simulator (Kinematics, Spring, Air Dragging)
* Style fix
* Review refactoring
* Moved mass to Kinematics
* Linter fixes
* Vertical alignemnt update
* Removing std::mem::forget from physics test
* Physically correct interpolated simulator
* PhysicsSimulator using Stokes' drag equation
* Created camera navigation example
* Refactored camera animation system
* Progress from reviews
* More progress on reviews
* Linter fixes
* Added fixme comment
* MouseManager refactoring
* Removed naked refcells
* Switched some usages of Rc to Weak
* New file hierarchy
* Fixed names
* Linter
* Breaking things and adding comments.
* Fixed touchpad panning
* Preventing default wheel event
* Zooming at constant speed
* Fixes
* Linter and test fixes
* Debug
* Removed debug
* Zoom clamping
* Better physics submodule name
* Animators now takes AnimationFrameLoop as a parameter and Bencher exposes it so we can reuse it
* Linter fixes
* Animation Manager with examples
* Removed FIXME comment from animation.rs
* Updates based on review
* Changed point size
* lint fix
* Manually merging master
* Adding position to animation
* Fixed tests
* Removed unused variables from text test
* Code cleanup
* Refactored code with EventLoop
* Code refactoring with EventLoop
* Removed old callback impl
* Removed old event_loop file
* Fixing bencher.rs
* Linter
* First round of feedback impl
* Added more docs
* Better callback guard naming
* A little bit more docs
* EasingAnimator now can be used with any object implementing Interpolable
* Review fixes
* Refactoring
* Time values are now f64
* Fixed callback names
* Got rid of unecessary muts
* Re-exporting EventLoop and better easing function macro
* Moar refactoring
* PhysicsSimulator is now using the same callback-based design of other animators
Co-authored-by: Wojciech Daniło <wojciech.danilo@gmail.com>
Co-authored-by: Adam Obuchowicz <obuchowiczadam@gmail.com>
Original commit: 1dc496d504
This PR adds `json-rpc` crate — a library facilitating writing clients using JSON-RPC 2.0 protocol.
This library is meant to be used in implementation of File Manager and, in future, of Language Server clients.
The library is agnostic about `Transport` — but the interface has been designed in compliance with web-sys websockets, as this will be primary platform.
The RPC clients implemented on top of this library are expected to provide Future-based asynchronous API.
Client is designed to work in a single-thread environment,
Implements #426.
* HTMLScene and HTMLObject implementation
* Added HTMLRenderer and Camera objects
* Adding rlib as crate-type to make basegl available in tests
* HTMLRenderer tests and code cleanup
* Fixed transformations and adapted Quaternion euler transformation order from XYZ to YXZ (like threejs)
* Added knowledge comments
* Recovering original lib.rs (with world demo)
* Added shrinkwraprs
* Formatted files
* Improved opt_vec test coverage
* Fixes based on clippy and rustfmt
* Remove unused WeakSet :)
* Added documentation
* Improved HTMLObject::from_html_string and beautified the code fmt
* Created StyleSetter and AttributeSetter to deal with panics
* Fixed code chars limits
* Matrix code cleanup and more code style guidelines fixes
* More alignment fixes
* Some more fixes and refactoring
* Refactored IntoCSSMatrix
* Refactoring
* Removed examples/02-html
* More refactoring
* Derived rendering structs from Debug
* Refactoring (https://github.com/enso-org/ide/pull/50)
* Comments on HTMLRenderer tests
* Removed unwanted console_log
* Recovered missed css matrix3d code
* Added attribute to invalid doc codes
* Clippy lints fixes
* Fixed function access
* Added AnimationFrameLoop
* Custom web benchmarks implementation
* Added #[web_test] and #[web_bench] procedural macros
* Added documentation
* Lints
* Removed unused benchmark
* Removed unused test
* HTMLRenderer optimizations ;)
* resize_observe should return the index
* ResizeObserve for Scene & HTMLScene
* Lints
* Using array.join
* Added test scenario where OptVec has empty indices
* Made HTMLScene.objects private and provided accessors to it
* HTMLScene properties renaming
* Added unit test for Matrix4 memory layout
* Renamed packages author to Enso Team
* Improved benchmark readability
* Made IntoFloat32Array trait safe
* Refactored HTMLRenderer
* Lints
* Better code style
* Qualified Float32ArrayView as unsafe
* Usage example for web_test
* Style fixes
* Scene::add_resize_callback abstraction
* Spacing
* Major refactoring!
* Some minor fixes
* Comments for IntoFloat32ArrayView usage
* Navigation without smoothed movement
* Intersection Observer and navigator impl
* Intersection Observer and navigator impl
* Navigator with orthographic projection
* Camera refactoring
* Removed unecessary source note now that the code is self explanatory
* Smoothed camera navigation
* Refactored event_handler and navigator
* Linter fixes
* Fixed invalid_container test
* Included MouseEvent in system::web's Cargo.toml
* Code cleanup (unwraps refactoring) and documentation
* Adding Event and MouseEvent to basegl-system-web
* Added EventTarget to basegl-system-web
* Fixed navigation test
* Small fixes from review feedback
* Small fixes from review feedback
* Introduction of MouseManager
* Better physics with PhysicsSimulator and overshooting avoidance with AnimationManager
* Clippy fixes
* Disabling html_renderer test to verify CI failure
* Putting back html_renderer test. It looks like headless web testing is broken
* 60 steps per second Physics Simulator (Kinematics, Spring, Air Dragging)
* Style fix
* Review refactoring
* Moved mass to Kinematics
* Linter fixes
* Vertical alignemnt update
* Removing std::mem::forget from physics test
* Physically correct interpolated simulator
* PhysicsSimulator using Stokes' drag equation
* Created camera navigation example
* Refactored camera animation system
* Progress from reviews
* More progress on reviews
* Linter fixes
* Added fixme comment
* MouseManager refactoring
* Removed naked refcells
* Switched some usages of Rc to Weak
* New file hierarchy
* Fixed names
* Linter
* Breaking things and adding comments.
* Fixed touchpad panning
* Preventing default wheel event
* Zooming at constant speed
* Fixes
* Linter and test fixes
* Debug
* Removed debug
* Zoom clamping
* Better physics submodule name
* Animators now takes AnimationFrameLoop as a parameter and Bencher exposes it so we can reuse it
* Linter fixes
* Removed FIXME comment from animation.rs
* Updates based on review
* lint fix
* Manually merging master
* Adding position to animation
* Fixed tests
* Removed unused variables from text test
Co-authored-by: Wojciech Daniło <wojciech.danilo@gmail.com>
Co-authored-by: Adam Obuchowicz <obuchowiczadam@gmail.com>
Original commit: d1fcf4548b
Previously, paths in markdown links were incorrectly pointing to non-existent directories at repo root. This commit fixes them to link to existing subdirectories relative to the Readme file they're in.
Provides implementation of `HasSpan` and (newly introduced) `HasRepr` for all relevant Ast types.
Implements #379.
Wherever feasible, I tried to reduce boilerplate with macros. Certainly more can be done in that regard but that'd require spending more time on this task than we allocated.
* 60 steps per second Physics Simulator (Kinematics, Spring, Air Dragging)
* Style fix
* Review refactoring
* Moved mass to Kinematics
* Linter fixes
* Vertical alignemnt update
* Removing std::mem::forget from physics test
* Physically correct interpolated simulator
* PhysicsSimulator implementation only with one Animator
* Added source commcents
* Safer Physics mod setters
* Removed use of performance.now() in set_time
Original commit: 0596cc5097
This adds support for using `derive(Iterator)` to iterate over such structures like
```rust
struct Foo<T> {
a:(T,U,T),
b:Option<T>
}
```
i.e. where fields are dependent over last type argument, however they do not store it directly.
Dependent types like `Option<T>` are required to provide a compatible `iter` method.
Implements #407.
TextComponent supports scrolling now. During scroll we try to refresh a minimum
number of buffer fragments to make a uncovered lines actually displayed.
Original commit: a10bba9776
This PR extends `derive(Iterator)` proc macro to support enumeration type when they have variants with a single unnamed field, that implements `IntoIterator`.
Thanks to that, it is now finally possible to derive iterator for the `Shape` type and similar enum types used in AST.
Implements #385
This pull request adjusts AST data structures in Scala and Rust to be compatible, while also fixing a number of JSON format mismatches find along the way. This implements #336.