enso/lib/rust/web/js/intersection_observer.js

80 lines
1.8 KiB
JavaScript
Raw Normal View History

Camera Animation System (https://github.com/enso-org/ide/pull/60) * 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: https://github.com/enso-org/ide/commit/d1fcf4548b34b2b3b79282e5a1246e6fc458009a
2020-01-09 09:17:39 +03:00
// The IntersectionObserver interface of the Intersection Observer API provides
// a way to asynchronously observe changes in the intersection of a target
// element with an ancestor element or with a top-level document's viewport.
// The ancestor element or viewport is referred to as the root.
//
// See also
// https://developer.mozilla.org/en-US/docs/Web/API/IntersectionObserver
// ==============
// === IxPool ===
// ==============
class IxPool {
constructor() {
this.next = 0
this.free = []
}
reserve() {
let ix
if (this.free.length == 0) {
Camera Animation System (https://github.com/enso-org/ide/pull/60) * 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: https://github.com/enso-org/ide/commit/d1fcf4548b34b2b3b79282e5a1246e6fc458009a
2020-01-09 09:17:39 +03:00
ix = this.next
this.next += 1
} else {
ix = this.free.shift()
}
return ix
}
drop(ix) {
this.free.unshift(ix)
}
}
// ============
// === Pool ===
// ============
class Pool {
constructor(cons) {
this.cons = cons
this.ixs = new IxPool()
Camera Animation System (https://github.com/enso-org/ide/pull/60) * 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: https://github.com/enso-org/ide/commit/d1fcf4548b34b2b3b79282e5a1246e6fc458009a
2020-01-09 09:17:39 +03:00
}
reserve(...args) {
let ix = this.ixs.reserve()
Camera Animation System (https://github.com/enso-org/ide/pull/60) * 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: https://github.com/enso-org/ide/commit/d1fcf4548b34b2b3b79282e5a1246e6fc458009a
2020-01-09 09:17:39 +03:00
this[ix] = this.cons(...args)
return ix
}
drop(ix) {
this.ixs.drop(ix)
this[ix] = null
}
}
// ============================
// === IntersectionObserver ===
// ============================
let intersectionObserverPool = new Pool((...args) => new IntersectionObserver(...args))
Camera Animation System (https://github.com/enso-org/ide/pull/60) * 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: https://github.com/enso-org/ide/commit/d1fcf4548b34b2b3b79282e5a1246e6fc458009a
2020-01-09 09:17:39 +03:00
export function intersection_observe(target, f) {
let id = intersectionObserverPool.reserve(intersection_observer_update(f))
intersectionObserverPool[id].observe(target)
return id
}
export function intersection_unobserve(id) {
intersectionObserverPool[id].disconnect()
intersectionObserverPool.drop(id)
}
function intersection_observer_update(f) {
return entries => {
let rect = entries[0].boundingClientRect
f(rect.x, rect.y, rect.width, rect.height)
Camera Animation System (https://github.com/enso-org/ide/pull/60) * 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: https://github.com/enso-org/ide/commit/d1fcf4548b34b2b3b79282e5a1246e6fc458009a
2020-01-09 09:17:39 +03:00
}
}