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 IDE code
* updated readme, removed ide dir
* typo
* Update README.md
Co-Authored-By: Ara Adkins <iamrecursion@users.noreply.github.com>
* flatten common/scala to scala
Co-authored-by: Ara Adkins <iamrecursion@users.noreply.github.com>
* 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
* 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.