Skip to content
This repository has been archived by the owner on Jul 23, 2019. It is now read-only.

Commit

Permalink
Merge pull request #47 from atom/update-2018-03-19
Browse files Browse the repository at this point in the history
Add update for 2018-03-19
  • Loading branch information
Nathan Sobo committed Mar 19, 2018
2 parents 66da850 + 170ec12 commit 944d5ed
Show file tree
Hide file tree
Showing 2 changed files with 18 additions and 0 deletions.
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ Xray is an experimental Electron-based text editor informed by what we've learne

## Updates

* [March 19, 2018](./docs/updates/2018_03_19.md)
* [March 12, 2018](./docs/updates/2018_03_12.md)
* [March 5, 2018](./docs/updates/2018_03_05.md)

Expand Down
17 changes: 17 additions & 0 deletions docs/updates/2018_03_19.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
# Update for March 19, 2018

## Contributions

We have a couple of PRs pending ([#36](https://github.com/atom/xray/pull/36) and [#34](https://github.com/atom/xray/pull/34)), but we're holding off on merging anything until we complete some major architectural changes. Sorry for the delay [@LucaT1](https://github.com/LucaT1) and [@breezykermo](https://github.com/breezykermo).

## Selections optimizations

[I merged a PR](https://github.com/atom/xray/pull/45) from [@as-cii](https://github.com/as-cii) that optimized our initial implementation of selections. While we still think there is room for more optimization, we're pretty happy with our early results. On Antonio's machine, he's moving 1k selections in a document with 10k edits in under 2ms. Based on some hacky experimentation to avoid allocations, we think we can make that even faster. At some point, with some number of selections, we're going to end up blowing our frame budget, but we think maintaining it into the thousands of selections ought to be acceptable.

## Significant progress switching to a client/server architecture

[@as-cii](https://github.com/as-cii), [@maxbrunsfeld](https://github.com/maxbrunsfeld) and I have made decent progress on a PR to switch Xray to the client/server architecture I [discussed last week](./2018_03_12.md#big-architectural-changes-incoming).

We're implementing an event-driven server using [Tokio](https://tokio.rs/), and have what seems like a viable approach for relaying data between the server and the window that will leave the door open to packages implementing custom views that slot in cleanly next to built-in features.

Check out the [#46](https://github.com/atom/xray/pull/46) for details. I've also written [a fairly detailed document](https://github.com/atom/xray/blob/server/docs/architecture/client_server_protocol.md) explaining our architecture and the protocol that will become a permanent part of Xray's documentation once this PR is merged.

0 comments on commit 944d5ed

Please sign in to comment.