Commit Graph

326 Commits

Author SHA1 Message Date
Adam Obuchowicz
d87b3d8c4d Calling Text API of Language Server on each module change (https://github.com/enso-org/ide/pull/437)
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
2020-05-25 12:00:27 +02:00
Michał Wawrzyniec Urbańczyk
ecf5911f9d Language Server Binary Protocol Client (https://github.com/enso-org/ide/pull/438)
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
2020-05-24 18:19:57 +02:00
Wojciech Daniło
9adc18e5cd Graph Editor bug fixes (https://github.com/enso-org/ide/pull/445)
Original commit: 3e7f817b51
2020-05-21 17:44:04 +02:00
Adam Obuchowicz
04107422d2 Connections integration (https://github.com/enso-org/ide/pull/428)
Original commit: 3c5964f63e
2020-05-21 14:06:33 +02:00
Michael Mauderer
de148f16b8 Visualization Registry (https://github.com/enso-org/ide/pull/429)
* Implement registry.
* Refactor code to use a trait `Class` as the builder of `Visualization`s.

Original commit: 48b8d88dc3
2020-05-21 12:56:39 +02:00
Wojciech Daniło
2b5353b594 Ability to change text on nodes. (https://github.com/enso-org/ide/pull/439)
Original commit: 08f0db81cb
2020-05-20 11:49:00 +02:00
Wojciech Daniło
1ebec3b8a8 Exposing graph editor FRP outputs (https://github.com/enso-org/ide/pull/435)
Original commit: 1f4d5fd10e
2020-05-19 14:24:12 +02:00
Josef
963ebfc382 Assign IDs to all nodes but few. (https://github.com/enso-org/ide/pull/425)
Original commit: 9ee7f25a9d
2020-05-19 13:27:48 +02:00
Michał Wawrzyniec Urbańczyk
d65e813541 Update Engine API (https://github.com/enso-org/ide/pull/432)
follow up to change in engine API in 7d82b1abee


Original commit: b395c7f6a4
2020-05-15 16:37:09 +02:00
Danilo Guanabara
38ede38a66 Zero-copy JSON-RPC methods (https://github.com/enso-org/ide/pull/431)
Original commit: fe5abb6dba
2020-05-15 08:49:05 -03:00
Michael Mauderer
e454c125d6 Visualization Data Type (https://github.com/enso-org/ide/pull/413)
* 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
2020-05-14 14:41:24 +02:00
Josef
24961ca674 Generate rust code from FlatBuffers specification. (https://github.com/enso-org/ide/pull/410)
Original commit: 4b0dc4390e
2020-05-14 13:27:52 +02:00
Michał Wawrzyniec Urbańczyk
d09465da7f Binary Message Support In Transport (https://github.com/enso-org/ide/pull/424)
Original commit: f003b6bef0
2020-05-13 17:28:39 +02:00
Adam Obuchowicz
7d4529885b Execution Context (https://github.com/enso-org/ide/pull/419)
This PR introduces Executed Graph Controller, which is a Graph Controller with additional info about execution context.

Original commit: 026a2585ae
2020-05-13 13:57:36 +02:00
Wojciech Daniło
f8bd0d56e2 Initial connection implementation (https://github.com/enso-org/ide/pull/402)
Original commit: f681273584
2020-05-13 10:21:45 +02:00
Adam Obuchowicz
f5d194b92a Fix BitField (https://github.com/enso-org/ide/pull/422)
Original commit: ad4095d53e
2020-05-13 10:18:57 +02:00
Michał Wawrzyniec Urbańczyk
b66f4e10da Properly Handle JSON-RPC Errors (https://github.com/enso-org/ide/pull/420)
Co-authored-by: Adam Obuchowicz <adam.obuchowicz@luna-lang.org>

Original commit: 7daa7e9262
2020-05-12 23:06:33 +02:00
Danilo Guanabara
277b4f26ab Text file operations and execution management (https://github.com/enso-org/ide/pull/411)
Original commit: d8eae54fe4
2020-05-12 15:20:29 +02:00
Adam Obuchowicz
619249f061 Fix CI package size checking (https://github.com/enso-org/ide/pull/421)
Original commit: cd8c0090a3
2020-05-12 12:18:32 +02:00
Michael Mauderer
97c3500782 Displaying visualizations on nodes (https://github.com/enso-org/ide/pull/390)
* Implement visualisation component.
* Implement key actions to hide and show visualisations.
* Implement dummy visualisation.

Original commit: c8e7075e28
2020-05-11 09:50:48 +02:00
Danilo Guanabara
306b1a9417 Intregration of Project Manager and File Manager to IDE (https://github.com/enso-org/ide/pull/409)
Location was removed because enso_protocol::file_manger::Path is more complete now.

Original commit: 7cd0df574d
2020-05-07 16:19:38 +02:00
Michał Wawrzyniec Urbańczyk
6f21f6505e Reorder nodes when connecting, if needed. (https://github.com/enso-org/ide/pull/403)
Co-authored-by: Adam Obuchowicz <adam.obuchowicz@luna-lang.org>

Original commit: e1df22ee6d
2020-05-06 15:35:15 +02:00
Danilo Guanabara
8bafe983a5 File Manager Client (https://github.com/enso-org/ide/pull/391)
Co-authored-by: mwu <mwu-tow@gazeta.pl>
Co-authored-by: Adam Obuchowicz <adam.obuchowicz@luna-lang.org>

Original commit: 24fc48f48b
2020-05-06 01:23:41 +02:00
Danilo Guanabara
817fd766c6 Project manager client (https://github.com/enso-org/ide/pull/366)
Original commit: 5bc3b7b3a3
2020-05-04 20:59:43 +02:00
Adam Obuchowicz
8abda0e5b8 Add endpoints to GraphEditor (https://github.com/enso-org/ide/pull/394)
Original commit: 86856b6332
2020-05-04 11:09:59 +02:00
Michael Mauderer
b63ba0c8e3 Update Contributing Guide to address test suite requirements. (https://github.com/enso-org/ide/pull/294)
Original commit: 73ee3a53f8
2020-05-01 00:35:46 +02:00
Wojciech Daniło
28386025b5 Adding vis docs (https://github.com/enso-org/ide/pull/397)
Original commit: 04b10ca9c8
2020-05-01 00:30:51 +02:00
Michał Wawrzyniec Urbańczyk
45b21c5b07 Connection Operations Refactoring (https://github.com/enso-org/ide/pull/395)
Co-authored-by: Adam Obuchowicz <adam.obuchowicz@luna-lang.org>

Original commit: 26ab3c623e
2020-04-30 21:23:41 +02:00
Adam Obuchowicz
4b5a0dc0c0 Fix crashes on IDE startup (https://github.com/enso-org/ide/pull/393)
Original commit: e4904224c5
2020-04-30 14:42:18 +02:00
Adam Obuchowicz
ef5cb279a3 Generating SpanTree from macros (https://github.com/enso-org/ide/pull/389)
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
2020-04-30 12:23:19 +02:00
Michał Wawrzyniec Urbańczyk
bc2551daf6 Alias analysis support for macros (https://github.com/enso-org/ide/pull/388)
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
2020-04-29 19:29:37 +02:00
Wojciech Daniło
d4b4a211c2 Fixing blurred shapes on MacOS
Original commit: e7afdb245b
2020-04-29 05:32:43 +02:00
Wojciech Daniło
1bb1a5f8de Theme manager (https://github.com/enso-org/ide/pull/386)
Original commit: ddf6fab49f
2020-04-29 04:09:45 +02:00
Adam Obuchowicz
e6a0461674 Double Representation Connection operations (https://github.com/enso-org/ide/pull/387)
Original commit: 1d8c282344
2020-04-28 17:48:06 +02:00
Adam Obuchowicz
de7683c2a9 Span Tree Operations (https://github.com/enso-org/ide/pull/383)
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
2020-04-28 12:52:40 +02:00
Josef
3194dd93a2 Crumb implementation for Match and Ambiguous. (https://github.com/enso-org/ide/pull/381)
Original commit: abd6dab38e
2020-04-24 17:15:54 +02:00
Michael Mauderer
3e2c8bef84 Enable alpha blending for ID pass (https://github.com/enso-org/ide/pull/364)
* 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
2020-04-24 13:12:40 +02:00
Adam Obuchowicz
c1a399804f Fix failing CI (https://github.com/enso-org/ide/pull/378)
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
2020-04-24 08:52:26 +02:00
Wojciech Daniło
23cb61d611 Style manager (https://github.com/enso-org/ide/pull/382)
Original commit: 03bac5867a
2020-04-23 23:06:17 +02:00
Danilo Guanabara
e1973c3ae9 Added MacOS specific shortcuts (https://github.com/enso-org/ide/pull/353)
Original commit: 9ce0e35053
2020-04-21 22:03:36 -03:00
Wojciech Daniło
ef0562d148 Update README.md
Original commit: 0c8052d28e
2020-04-21 21:48:13 +02:00
Wojciech Daniło
0f2dd1cd57 Update README.md
Original commit: 359b20b87d
2020-04-21 21:41:58 +02:00
Wojciech Daniło
336eeaa9db Update README.md
Original commit: b3ae62d170
2020-04-21 21:36:41 +02:00
Wojciech Daniło
54480c2342 Update README.md
Original commit: bde2de9e2b
2020-04-21 21:34:06 +02:00
Josef
dcd245da5c Flexer: Automata implementation. (https://github.com/enso-org/ide/pull/347)
Original commit: 5ea54b473e
2020-04-21 20:59:33 +02:00
Adam Obuchowicz
95cc8b8d47 Span Tree (https://github.com/enso-org/ide/pull/358)
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
2020-04-21 15:33:46 +02:00
Michał Wawrzyniec Urbańczyk
6f3a328c23 Connection Discovery (https://github.com/enso-org/ide/pull/380)
ref #2203

Original commit: c1c68bf6a0
2020-04-20 21:42:05 +02:00
Wojciech Daniło
5a8d1a9c05 FRP Improvements. (https://github.com/enso-org/ide/pull/365)
Original commit: 896c08aab7
2020-04-18 04:14:23 +02:00
Michael Mauderer
03f6183244 Port Drawing (https://github.com/enso-org/ide/pull/333)
* 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
2020-04-16 17:55:20 +02:00
Michael Mauderer
98b5fe197b Add a debug view that renders shape IDs (https://github.com/enso-org/ide/pull/356)
* Add display mode that can visualise shape IDs.
* Add key toggle on "2" to switch to debug view.

Original commit: 3a868ea282
2020-04-16 17:02:51 +02:00
Wojciech Daniło
7621c36db2 FRP 2.0 (improved component model, and better keyboard management) (https://github.com/enso-org/ide/pull/348)
Original commit: 4cd9dc5676
2020-04-15 23:52:15 +02:00
Michał Wawrzyniec Urbańczyk
bc424c2a98 Alias analysis (https://github.com/enso-org/ide/pull/363)
Original commit: 7718d6a348
2020-04-15 21:01:08 +02:00
Danilo Guanabara
5dc8973a05 async sleep function (https://github.com/enso-org/ide/pull/357)
Original commit: 9b1cc066f9
2020-04-15 10:46:22 -03:00
Danilo Guanabara
8ebb17d538 Fixed PageUp and PageDown (https://github.com/enso-org/ide/pull/340)
Original commit: 87c1628448
2020-04-15 10:10:10 -03:00
Wojciech Daniło
ad6fd9321e Update contributing.md
Original commit: b1a5b34b67
2020-04-08 11:29:01 +02:00
Wojciech Daniło
ca7ac0d5c5 Update contributing.md
Original commit: fdaa86fabb
2020-04-08 11:16:32 +02:00
Wojciech Daniło
d601a09273 Update contributing.md
Original commit: ff64c11d8f
2020-04-08 11:14:35 +02:00
Wojciech Daniło
a28a2e3dcd Update contributing.md
Original commit: b9ec34180b
2020-04-08 11:13:58 +02:00
Ara Adkins
c94325b395 Update documentation to refer to new domain (https://github.com/enso-org/ide/pull/352)
Original commit: b6b914acbd
2020-04-07 07:04:45 +02:00
Wojciech Daniło
05d1e3c13d Node Model (https://github.com/enso-org/ide/pull/268)
Original commit: 169b3d145a
2020-04-03 13:18:22 +02:00
Michał Wawrzyniec Urbańczyk
0c5b5b8081 #[derive(CloneRef)] also works on types with type-level bounds. (https://github.com/enso-org/ide/pull/323)
Original commit: b9f9c37d96
2020-04-03 08:16:52 +02:00
Danilo Guanabara
546aeb4ec0 Create crumbs for missing Shapes (https://github.com/enso-org/ide/pull/313)
Original commit: f746857cc9
2020-04-01 21:50:16 -03:00
Adam Obuchowicz
97c146fbdc Fix problems with tests run in parallel (https://github.com/enso-org/ide/pull/332)
Global spawner was made thread local.

Original commit: 8931df9b44
2020-04-01 17:33:04 +02:00
Adam Obuchowicz
160811f506 IDE controllers refactoring (https://github.com/enso-org/ide/pull/314)
This change refactor controllers such way, that use RefCells only 
when it is necessary, and do some more code cleanup.


Original commit: 56ae2d48a4
2020-03-31 18:37:36 +02:00
Josef
4d92869db2 Cache dependencies for CI. (https://github.com/enso-org/ide/pull/277)
Original commit: 4e55dc5a9c
2020-03-31 14:10:37 +02:00
Michał Wawrzyniec Urbańczyk
c2ef15c0bf Fix #[derive(CloneRef)] for generic types with more than one type parameter. (https://github.com/enso-org/ide/pull/316)
Original commit: 7f8541ad54
2020-03-29 01:29:10 +01:00
Michał Wawrzyniec Urbańczyk
f39686e152 Proc macro for #[derive(CloneRef)] (https://github.com/enso-org/ide/pull/315)
Original commit: 6378d9ef11
2020-03-28 02:10:09 +01:00
Michał Wawrzyniec Urbańczyk
fd269d2457 Node Operations (https://github.com/enso-org/ide/pull/298)
Original commit: cf01ebf061
2020-03-27 23:59:02 +01:00
Danilo Guanabara
6552176247 CI fails on error (https://github.com/enso-org/ide/pull/291)
Original commit: 1de3c3413a
2020-03-27 09:25:55 -03:00
Adam Obuchowicz
4af19c5745 Fix drawing instance with empty buffers (https://github.com/enso-org/ide/pull/292)
This code was developed as a fix for occuring "crashes" on Windows, 
which were in fact a "contextLost" events of WebGl.


Original commit: 92b95df814
2020-03-25 15:29:36 +01:00
Michael Mauderer
1b573988a7 Fix instructions to set up toolchain for project build. Fixes #2179. (https://github.com/enso-org/ide/pull/284)
Original commit: cad50bb093
2020-03-23 21:26:30 +01:00
Josef
248a1caace Graph API - Node position in metadata (https://github.com/enso-org/ide/pull/274)
authored-by: Josef <j.f.vonasek@gmail.com>

Original commit: e4a9d7742a
2020-03-20 08:37:28 +01:00
Danilo Guanabara
cac0dfc0c3 Cursor word step tests fix (https://github.com/enso-org/ide/pull/278)
Original commit: 6d3fe6472d
2020-03-18 17:29:45 -03:00
Adam Obuchowicz
cd31d690b3 Mac and Windows shortcuts fixes (https://github.com/enso-org/ide/pull/273)
* Fix pasting on Mac
* Fix AltGraph handling on Windows

Original commit: c077e466b2
2020-03-18 16:09:11 +01:00
Josef
81ad282d84 removed idmap (https://github.com/enso-org/ide/pull/276)
Original commit: b6ce9ef2ea
2020-03-18 10:40:39 +01:00
Adam Obuchowicz
32a4cc37ea Improve cursor blinking (https://github.com/enso-org/ide/pull/271)
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
2020-03-18 09:19:12 +01:00
Michał Wawrzyniec Urbańczyk
83c66d265a Graph and Node controllers stub and mock implementations (https://github.com/enso-org/ide/pull/262)
For early design / API review.
Authored by michal.urbanczyk@luna-lang.org

Original commit: 461e6ae780
2020-03-18 08:43:52 +01:00
Danilo Guanabara
ef070434f3 Make the extra cursor navigation operations in TextField (https://github.com/enso-org/ide/pull/241)
Original commit: 3a9ed82efd
2020-03-17 19:50:45 -03:00
Adam Obuchowicz
46d0376c81 Fix build script (https://github.com/enso-org/ide/pull/269)
See https://doc.rust-lang.org/cargo/reference/build-scripts.html#rerun-if-changed for reference

Original commit: a342ecfea4
2020-03-17 17:30:43 +01:00
Adam Obuchowicz
b4ad324cf5 Fix stuck keymask after alt-tabbing (https://github.com/enso-org/ide/pull/270)
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
2020-03-17 17:06:12 +01:00
Wojciech Daniło
0a2164110d Update README.md
Original commit: 0d33957957
2020-03-17 03:56:07 +01:00
Wojciech Daniło
4f95075f2f Improving Electron App (https://github.com/enso-org/ide/pull/263)
Original commit: da0872f05a
2020-03-17 03:44:27 +01:00
Adam Obuchowicz
e207e0afa9 Fix text selection (https://github.com/enso-org/ide/pull/265)
Original commit: ada57d9078
2020-03-16 11:56:53 +01:00
Wojciech Daniło
6009caa205 Making tests on CI faster by running them in parallel (https://github.com/enso-org/ide/pull/264)
Original commit: 44df1d6706
2020-03-16 11:16:16 +01:00
Wojciech Daniło
500c8c21ed Update README.md
Original commit: d8b7dc348f
2020-03-16 04:29:03 +01:00
Wojciech Daniło
e10fc464a8 Refactoring file structure (https://github.com/enso-org/ide/pull/260)
Original commit: c38ca0d5a4
2020-03-16 03:58:00 +01:00
Michał Wawrzyniec Urbańczyk
757b4cbe7d Shape now implements Clone and Ast allows setting/removing id. (https://github.com/enso-org/ide/pull/261)
Original commit: 79e886c3de
2020-03-14 03:44:35 +01:00
Josef
a013563ce2 Metadata storage for module controller. (https://github.com/enso-org/ide/pull/237)
Original commit: c93076e7cf
2020-03-13 21:34:15 +01:00
Adam Obuchowicz
f26d88593c Implemented notification about text&graph changes brokering (https://github.com/enso-org/ide/pull/231)
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
2020-03-13 17:52:41 +01:00
Wojciech Daniło
4fd137bfc3 Refactoring & Performance Improvements (https://github.com/enso-org/ide/pull/255)
Original commit: b2ee9388e4
2020-03-13 05:10:08 +01:00
Michał Wawrzyniec Urbańczyk
17f729874e Node Discovery (https://github.com/enso-org/ide/pull/250)
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
2020-03-10 17:54:28 +01:00
Wojciech Daniło
619eb4fabd Fixing node version (https://github.com/enso-org/ide/pull/251)
Original commit: af54d2876c
2020-03-10 15:33:02 +01:00
Wojciech Daniło
c57c57d7f1 Update README.md
Original commit: 54c4d6393f
2020-03-07 21:16:14 +01:00
Wojciech Daniło
7631be9951 Update README.md
Original commit: 5e3f07d5de
2020-03-07 21:15:06 +01:00
Wojciech Daniło
02cea5ddee Update README.md
Original commit: 54edd76976
2020-03-07 20:25:57 +01:00
Wojciech Daniło
28a5644090 Update README.md
Original commit: 7b25827351
2020-03-06 21:05:07 +01:00
Wojciech Daniło
a52cf702ad Update README.md
Original commit: c939b175a8
2020-03-06 21:04:13 +01:00
Wojciech Daniło
2706c6f008 Update README.md
Original commit: e9444e4267
2020-03-06 21:01:55 +01:00
Wojciech Daniło
a3789aab2d Update README.md
Original commit: 6b37483b93
2020-03-06 20:58:21 +01:00
Wojciech Daniło
0335721b80 Update README.md
Original commit: 5079cad2f6
2020-03-06 20:56:32 +01:00
Wojciech Daniło
ee727745fc Update README.md
Original commit: a853dceff3
2020-03-06 20:53:46 +01:00
Wojciech Daniło
d3f782ea9d Update README.md
Original commit: e54672e192
2020-03-06 20:33:35 +01:00
Wojciech Daniło
51bb59421d Fixing wrong npm LTS version.
Original commit: 87e71f60f1
2020-03-06 16:50:17 +01:00
Michał Wawrzyniec Urbańczyk
23425718ff Definition Discovery (https://github.com/enso-org/ide/pull/225)
Original commit: 41895d7a94
2020-03-06 14:05:59 +01:00
Wojciech Daniło
d2a70667fc Cleaning codebase (https://github.com/enso-org/ide/pull/235)
Original commit: 820113e061
2020-03-05 20:00:47 +01:00
Wojciech Daniło
7d197fd5cf Update README.md
Original commit: 2f4eb02c1b
2020-03-05 18:39:51 +01:00
Wojciech Danilo
48c262f007 Fixing electron internal path bug.
Original commit: 11cdeadf66
2020-03-05 06:55:13 +01:00
Wojciech Daniło
b38bcac15a Fixing documentation links.
Original commit: 56992d239f
2020-03-05 06:29:34 +01:00
Wojciech Daniło
68601ba9e9 Electron support (https://github.com/enso-org/ide/pull/223)
Original commit: d0b71bb46c
2020-03-05 06:25:00 +01:00
Josef
f0075eba50 Generate idmap from AST. (https://github.com/enso-org/ide/pull/215)
Authored by josev

Original commit: 6614e2ab1e
2020-03-04 15:00:49 +01:00
Danilo Guanabara
ce9a1d7f5f Keep cursor positions on text refresh (https://github.com/enso-org/ide/pull/232)
Original commit: 0b8efa24fd
2020-03-04 05:06:38 -03:00
Danilo Guanabara
dac19291dc Selecting word occurrences (https://github.com/enso-org/ide/pull/224)
Original commit: d83b53e1c6
2020-03-03 10:05:21 -03:00
Adam Obuchowicz
58e12104b0 Minimal Text API for Double Representation (https://github.com/enso-org/ide/pull/221)
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
2020-02-28 19:29:37 +01:00
Wojciech Daniło
8b3eba16b0 Initial shape of collapsed nodes + progress bar.
Original commit: 19d6b6636b
2020-02-28 00:06:22 +01:00
Danilo Guanabara
81a7147387 View x Controller integration (https://github.com/enso-org/ide/pull/219)
Original commit: ff80159116
2020-02-26 16:12:38 -03:00
Josef
edebe6b661 Pass IDMap to scala parser. (https://github.com/enso-org/ide/pull/212)
Original commit: ae92ae1a96
2020-02-26 14:11:40 +01:00
Danilo Guanabara
5c3f1dadec Using Chrome in ./script/test.sh (https://github.com/enso-org/ide/pull/171)
Original commit: b9b9c510f0
2020-02-24 02:56:32 -03:00
Michał Wawrzyniec Urbańczyk
5a9c32360e File Manager Integration (https://github.com/enso-org/ide/pull/203)
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
2020-02-21 16:54:42 +01:00
Danilo Guanabara
5c4e444e4e Navigator refactoring and other improvements on the new MouseManager (https://github.com/enso-org/ide/pull/201)
Original commit: f4e3f13f5c
2020-02-20 00:36:55 -03:00
Adam Obuchowicz
1a796a2e07 Text controller implementation (https://github.com/enso-org/ide/pull/180)
This contains an initial TextController implementation, which can read and store the file content, and is obtainable from ProjectController.

Original commit: 66f4dfd0fa
2020-02-18 21:06:37 +01:00
Danilo Guanabara
a9f2de5b00 Initial Project View (https://github.com/enso-org/ide/pull/159)
Original commit: bfe5377ba5
2020-02-18 14:40:24 -03:00
Michał Wawrzyniec Urbańczyk
6897884a9e fixes for rendering on windows/chrome (https://github.com/enso-org/ide/pull/183)
Original commit: ef6fdb59d4
2020-02-18 14:01:59 +01:00
Adam Obuchowicz
ca9497e879 TextField mouse input (https://github.com/enso-org/ide/pull/175)
Implemented FRP graph handling mouse events for TextField. Alt+Shift click add new cursor, enabling multicursor edit.

Original commit: 1f5a8257b4
2020-02-14 17:08:47 +01:00
Danilo Guanabara
8527741ad3 Fix renderer & navigator resizing (https://github.com/enso-org/ide/pull/165)
Original commit: fb3ad45f8c
2020-02-13 10:02:18 -03:00
Adam Obuchowicz
0fe5b0fe8e TextField keyboard input. (https://github.com/enso-org/ide/pull/170)
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
2020-02-13 10:26:42 +01:00
Michał Wawrzyniec Urbańczyk
dc1ce292b0 Make JSON-RPC handler more async-compatible (https://github.com/enso-org/ide/pull/172)
Original commit: 0dd46b3013
2020-02-13 03:16:38 +01:00
Michał Wawrzyniec Urbańczyk
10f78ec5c3 JSON-RPC uses params, not input (https://github.com/enso-org/ide/pull/173)
Original commit: ecd09ab2ac
2020-02-12 23:42:30 +01:00
Michał Wawrzyniec Urbańczyk
e184719b95 Fixes and Improvements for File Manager Mock Server (https://github.com/enso-org/ide/pull/174)
Original commit: 08525ce337
2020-02-12 22:40:21 +01:00
Michał Wawrzyniec Urbańczyk
91f3703663 Mock File Manager Server (https://github.com/enso-org/ide/pull/167)
Ref #2106 

Original commit: a6569fefa7
2020-02-12 02:54:21 +01:00
Wojciech Daniło
b3c8d954de Update README.md
Original commit: 27adb447dc
2020-02-11 23:52:44 +01:00
Wojciech Daniło
ecda629e98 Node shapes part 1, build time optimization, lazy WASM loader. (https://github.com/enso-org/ide/pull/162)
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
2020-02-11 00:47:03 +01:00
Adam Obuchowicz
d6d59d224d Moving cursors after each edit (https://github.com/enso-org/ide/pull/160)
Before, all edits did not adjust the cursor positions, but they remained with their selection in the same location. 

Original commit: 57cdbbf588
2020-02-10 18:20:47 +01:00
Adam Obuchowicz
81d0bb555b Wip/ao/clipboard (https://github.com/enso-org/ide/pull/154)
The implementation of clipboard operations on TextField.

Original commit: cee54a7614
2020-02-10 14:04:52 +01:00
Michał Wawrzyniec Urbańczyk
1879b97b57 Utilities for safe usage of handles with RefCell values. (https://github.com/enso-org/ide/pull/156)
Original commit: 23ea51b92d
2020-02-07 04:02:18 +01:00
Danilo Guanabara
685c6d0c37 World Integration 🌎🕊️ to Css3dSystem (https://github.com/enso-org/ide/pull/133)
CSS 3D System x World integration

Original commit: 7c47432a09
2020-02-06 13:09:29 -03:00
Danilo Guanabara
692432e498 File size checking 📏 (https://github.com/enso-org/ide/pull/148)
File size checking

Original commit: cce31b31ae
2020-02-06 07:13:07 -03:00
Wojciech Daniło
ca2b242a33 Create CODEOWNERS
Original commit: b80f1d9643
2020-02-06 03:49:42 +01:00
Wojciech Daniło
adf6a10fb9 Implementation of optimization passes to the FRP engine. (https://github.com/enso-org/ide/pull/135)
Original commit: 675039a37d
2020-02-05 22:13:37 +01:00
Adam Obuchowicz
3c95b1502f New Text Component (https://github.com/enso-org/ide/pull/132)
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
2020-02-04 20:07:08 +01:00
Michał Wawrzyniec Urbańczyk
e6642e8df3 fixed accidental replace (https://github.com/enso-org/ide/pull/131)
Original commit: 568fa87533
2020-02-01 02:33:49 +01:00
Adam Obuchowicz
df1d78dd74 Glyph system (https://github.com/enso-org/ide/pull/121)
Original commit: afcaff970c
2020-02-01 02:31:31 +01:00
Michał Wawrzyniec Urbańczyk
e49daec321 Run wasm-pack test on Windows and macOS (https://github.com/enso-org/ide/pull/127)
Original commit: 862ff6938d
2020-01-30 15:00:58 +01:00
Wojciech Daniło
152a14f1c3 Fixing global state (https://github.com/enso-org/ide/pull/130)
Original commit: 17b0d32159
2020-01-30 10:07:17 +01:00
Michał Wawrzyniec Urbańczyk
db977692f7 Add IDE Code From enso Repository (https://github.com/enso-org/ide/pull/128)
As per https://github.com/luna/enso/issues/431

Original commit: 8f993cc1d2
2020-01-29 21:30:09 +01:00
Danilo Guanabara
ebfc075938 Adding lints to the codebase (https://github.com/enso-org/ide/pull/126)
Addings lints to the codebase

Original commit: cf45cd64ac
2020-01-28 23:25:22 -03:00
Wojciech Daniło
d068dfb829 Initial FRP engine implementation. (https://github.com/enso-org/ide/pull/122)
Original commit: cf25c22bb1
2020-01-28 15:50:15 +01:00
Danilo Guanabara
8478df259b Integration of WebGL and CSS scenes and renderers (https://github.com/enso-org/ide/pull/119)
* 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
2020-01-27 23:09:59 -03:00
Paul Kapustin
b2edfbbc28 Minor language improvements (https://github.com/enso-org/ide/pull/120)
Original commit: 2696f77d04
2020-01-22 16:01:11 +01:00
Wojciech Daniło
22785293c2 Renderpasses (https://github.com/enso-org/ide/pull/114)
Original commit: 25bb702b48
2020-01-22 15:38:24 +01:00
Danilo Guanabara
4fb53686ad Animation Manager (aka EasingAnimator) (https://github.com/enso-org/ide/pull/108)
* 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
2020-01-18 23:31:13 -03:00