* Viz behind canvas
* Visualization pointer events switching
* make branch updated as it is really necessary for me ...
* remove d3js gen
* remove d3js gen
* Scatterplot works as intended, is scrollable, cannot scroll in raw text.
* scrollbars
* not hardcoded scatterplot
* Fix visualization displaying over node
* Make all visualizations show on screen
* Make all visualizations show on screen
* It does not work the way that i want
* Works!
* get bv from other branch
* rev ready.
* rev ready.
* rev ready.
* rollback
* rev changes
* fix
* Fix event handling
* Fix compilation (I hope)
* leave a note
* leave a note
* leave a note
Co-authored-by: BinarySoftware <mkmikolajek@icloud.com>
Co-authored-by: Adam Obuchowicz <adam.obuchowicz@enso.org>
Co-authored-by: Adam Obuchowicz <adam.obuchowicz@luna-lang.org>
Original commit: 26f7ef3336
* prepare
* save state
* save state
* save state
* use style for vis
* Revert "save state"
This reverts commit db2e0641
* gray-ish bg and lighter nodes
* gray-ish bg and lighter nodes
* light bg and node
* ports
* ideal vis shadow
* better
* shadow seems fine
* borders not shadows
* changes
* back to shadow
* Using theme manager for text - both dark and light work !
* adjust
* bc
* rm changes
* better
* prepare
* breadcrumbs and text-vis use theme manager !
* rev
* clean
* info
* list view looks nice!
* save state
* rev
* typo
* nl
* Cuz every little thing
Gonna be all right
* up
* better
* better
* rm unused imports
* rev
* rev
* rev
* rev
* rev
* rev
* ln
* save state
* testing
* save state
* ready
* rev
* up
* Keyboard shortcut for changing style - issue : Program does change style, when logged new data appear, but the visual aspect stays the same.
* fix
* fix
* spaces fix
* rev
* move
* fix indent
* save
* parses
* save
* save
* progresso after espresso
* progresso after espresso
* actually works!
* generate modules
* clean
* A little redesign
* save
* save
* compiles
* works
* review ready
* review ready
* review ready
* Rev in progresso
* Rev in progresso
* works.
* works.
* rev ready.
* rev
Co-authored-by: Wojciech Daniło <wojciech.danilo@gmail.com>
Co-authored-by: Adam Obuchowicz <adam.obuchowicz@enso.org>
Original commit: 36fd6c4a12
This is a first part of Searcher Edit View: it implements the main logic, with some missing parts:
* There are no icons next to suggestion entries
* The documentation panel is not shown.
* There is not any connection when bringing Searcher having node selected.
Original commit: 0e3471e9b7
* up parser version
* js client conn
* up parser
* test with parser right before integration
* checkpoint [skip ci]
* save state
* tests
* changes
* rev
* Adam Review
* requested changes
* Ability to generate Docstr from pure doc code
* bump
Original commit: 1e31d3b1db
* updated imports declaration
* parser bump, fixing the import regression
* this should be wasm test
* cleanups
* `in` is now treated as an operator
* one more fix
Original commit: 235ebdf38e
Currently it loads and provides an initial list of suggestions. Additionally there is a raw integration with view: then the current Searcher is put into the screen, it logs all the suggestions retrieved from the Engine.
Original commit: d719cf0e56
* The last selected node may be entered by pressing Ctrl+Enter.
Not yet integrated with the controller.
* document the shortcut
* more formal wording, removing spurious component name
* [wip]
* mostly working now, needs cleaning
* [wip] more
* test for the new module code
* rc refactoring 1
* i give up, so be it
* minor
* moved executed graph from controller to module
* cleanups
* enter -> step into
* rename follow up
* cleanups
* the test
* doc update
* CR feedback
* Revert "rename follow up"
This reverts commit 728592ad6abe6f3712f5137c6266376e5615e5db.
* more CR feedback
* applying more CR feedback
* bump size limit
* minor
* clippy
* alignment
* executed graoh controller is CloneRef back again
* section header
* refactoring how the executed graph is created to make it more mistake-proof
* minor
* Update src/rust/ide/src/controller/graph/executed.rs
Co-authored-by: Adam Obuchowicz <adam.obuchowicz@luna-lang.org>
* CR feedback
* CR feedback
* cr feedback, refactored graph_for_module to the graph controller -- where it should belong
* publisher refactor
Co-authored-by: Adam Obuchowicz <adam.obuchowicz@luna-lang.org>
Original commit: 2cfd9a2ffe
1. Removes `prelude`, and renames it to `enso-prelude`.
2. Removes `shapely`, and renames it to `enso-shapely`.
3. Removes `macro-utils` and renames it to `enso-macro-utils`.
Original commit: a5069c1ae5
The package-lock json was regenerated to have 0.1.4 version of websocket-extension. The older versions have vulnerabilities.
Original commit: 4c51b84596
This introduces additional layer for module model, which synchronizes it with LanguageServer - both its state and the lifetime (it is opened in LS on creation and closed when dropped).
Original commit: e93216fdd5
The binary data protocol of the Language Server.
* a new RPC handler has been implemented. Currently it largely duplicates the previous json-rpc handler but it is supposed to supersede it, as it supports both json and binary rpc protocols;
* `mockall` library has been used to provide a mock client for data protocol;
* serialization code is still messy, not sure how much better can we make it, given the generated flatbuffers code;
Original commit: f6ff8bdf35
* Extend scaffolding for Native and HTML based visualizations.
* Use nicer dataset as an example.
* Define better S wrapper data interface.
* Refactor structs into submodules.
* Add examples of JS-based visualization.
Original commit: 48665e0498
* Implement visualisation component.
* Implement key actions to hide and show visualisations.
* Implement dummy visualisation.
Original commit: c8e7075e28
Before during SpanTree generation we treated macros as a leaves. Now we properly look into them, get all the AST nodes in their patterns and generate children of these SpanTree nodes from them.
Original commit: aeff31f2d8
Extends alias analysis support for macro-using code, including special support for lambda expressions.
Also, it fixes already standing omission where definition body identifier usage was not properly covered in the results. (We had assumed that we won't need it for connections — and we haven't for connections per se, but we need for utilities for connection ops).
Also, as I encountered a number of issues with parser, I've made sure that they are reported and created a test cases for them to easily keep track as we fix them.
Co-authored-by: Adam Obuchowicz <adam.obuchowicz@luna-lang.org>
Original commit: 761e2691bb
Implemented Set and Erase operations on SpanTree. Also modified SpanTree, that it have much more Empty nodes, and those empty nodes now are used for inserting.
Note: Because we're approaching deadline, functions added to chains have not unit tests for their own, although they're covered by spantree operations tests.
Original commit: a2701a0cdd
* Enable working alpha blending for ID pass via bit encoding of IDs in a RGB8 texture..
* Add facilities to change texture parameters.
Original commit: b46012e3fa
We don't want to set up releases right now, so the publishing is disabled.
I managed to do it with CLI option. In theory it should be done by configuration options - but those didn't work. So, for know I leave one what works.
Original commit: 9ad8a51dcb
Created a new SpanTree crate in IDE. The structure itself is quite straightforward. To generate span-tree from AST you may use method generate_tree from generator::SpanTreeGenerator trait.
Original commit: 194caafd09
* Add dummy scaffolding for port drawing capabilities to nodes.
* Add abstractions for trigonometric functions on types.
* Add Registry to handle port creation and layouting.
* Freeze `math::algebra` exports to prelude.
* Add zoom adjustments for port shapes.
* Allow setting of positions and add dummy ports.
Original commit: d24dd5e053
Before blinking cursor was done by setting width to 0.0, but this leaves a very-thin line instead of disappearing cursor entirely.
This fixes this, and make the blinking by setting color to transparent instead of setting width.
Original commit: d01523fb21
After pressing Alt-tab editor did not received keyup events so the keymask was stuck with pressed-alt state. To fix that, we clear the mask each time window lose focus.
Original commit: 29f3226f11
Add possibility to subscribe for notifications about changes of one of module representations. Today, the notifications are sent after applying code changes (there are no other operations implemented yet).
Original commit: 68b63f2891
This PR introduces node discovery logic in `double_representation/node.rs`.
The parser dependency has been bumped, due to #2154.
Improvements in definition discovery — fixed previous issue where first line in block was ignored.
Original commit: 1370aaf431
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
* 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
* 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
* 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
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
Text in text component is clipped to specified area on screen. Only visible
part of text have its data in opengl buffers. The buffer management was
somewhat adapted to quick scrolling with minimum buffer data refreshing.
Original commit: 0b39d6f89a
TextComponent will properly display text containing newline characters.
Code of the TextComponent was somewhat prepared for optimal clipping text and scrolling; each line of text have an own fixed-size buffer fragment, so the lines should be easily extended and fragments reused.
Original commit: 647430f1d8