1
0
Fork 0
mirror of https://github.com/sbrl/Nibriboard.git synced 2018-01-10 21:33:49 +00:00
Commit graph

300 commits

Author SHA1 Message Date
fddfa31939 Fix the saving system. It works! 2017-07-23 19:36:28 +01:00
99ac0634ad Reworkt he saving system a bit. 2017-07-20 20:02:50 +01:00
3d013e208c Start creating logic for saving planes & chunks 2017-07-20 13:27:13 +01:00
d79a89423c Create simple command console 2017-07-20 13:15:11 +01:00
34d74281e3 Extensively refactor core to allow for loading. Also work on a bit of saving too.
Now I can see why they say that you should build this in from the beginning....
2017-07-18 20:43:34 +01:00
37fd8bff81 Start filling in all the missing saving/loading logic 2017-07-15 22:41:31 +01:00
af8fe9bbc2 Get live line rendering working for *other* clients! Yay!
It _works_. It actually _works_! I'm so happy right now :D

It's taken 204 commits and 6 months to get to this point. Wow.
2017-07-09 15:28:12 +01:00
59db921100 [client] Finish (untested!) other clients handling logic. 2017-07-09 15:18:45 +01:00
53ba0b1c06 [client] Add debug statement 2017-07-01 22:20:48 +01:00
edb50e2619 [client] Bugfix the latest live line refactor.
Also send all the right events with the right attachments.
2017-07-01 13:29:45 +01:00
c49f2b2278 [client] Start extensive refactoring of OtherClient logic 2017-06-30 21:09:37 +01:00
23514f788d [server] Add line start event. 2017-06-30 16:47:29 +01:00
dd184b38ac [server] Add LineCompleteReflection message & hooks 2017-06-30 15:42:02 +01:00
e0d7bf4bc4 [server] Rework line part reflections. 2017-06-30 10:33:35 +01:00
551ceeb17e Add & hook up empty OnLinePartAddition handler to NibriClient 2017-06-27 15:14:40 +01:00
ecbece8f22 [server] Get the LineIncubator to emit OnLinePartAddition events 2017-06-27 14:42:36 +01:00
058511be19 [server] Add new event to LineIncubator 2017-06-27 12:10:14 +01:00
bfdf1b0c6e [server] Fix LineIncubator DrawnLine id assignment to enable tracking 2017-06-27 12:03:21 +01:00
fcfc330b28 [client] Finish client cursor synchronisation 2017-06-27 12:02:45 +01:00
eeee26e720 [client] Fix phantom disconnect on page load 2017-06-27 10:57:50 +01:00
41e6b46311 [server] Add addtional error handling to enbedded file server 2017-06-26 22:31:48 +01:00
75641b4f30 [client] Add number keyboard shortcuts to tools 2017-06-26 18:04:42 +01:00
1845e38613 Clamp the zoom to avoid crashes. 2017-06-26 17:53:18 +01:00
441cb5a283 Change the cursor depending on the tool selected 2017-06-26 17:18:37 +01:00
247d3f3cc6 Implement pan & pointer tools 2017-06-26 16:57:26 +01:00
1f4afe1f78 [server] Fix strange bug in ChunkUpdateRequest 2017-06-26 12:48:58 +01:00
914e3abfe3 [server] Fix ChunkTools.GetContainingChunkReferences 2017-06-24 20:42:43 +01:00
bfe8c25b6c [client] Add new debug display param & implement some chunk update request logic. It's buggy though apparently. 2017-06-24 20:24:56 +01:00
2929bca212 [server] Add missing RawChunkReference 2017-06-24 20:19:57 +01:00
55cdcf982c [server] Rework ChunkUpdateRequest logic 2017-06-24 20:14:43 +01:00
334acdbc18 Start work on the chunk update request handling.
There's a thorny issue with deserialising into ChunkReference in the server.... that should be fun to solve. I'll have to do some head scratching\!
2017-06-23 21:32:29 +01:00
1935f6350e [client] Refactor ChunkCache a bit to start adding chunk loading logic 2017-06-22 22:38:05 +01:00
5e59d7098a Enchance chunk hightlighting and add keyboard control 2017-06-22 21:00:59 +01:00
0bbe117f3d [client] Add todo 2017-06-15 17:27:24 +01:00
ce1f8545a6 [client] Fix chunk loading at high zooms 2017-06-15 17:25:11 +01:00
4ff91f700b [client] Remove viewport console debug, as we've now got the debugging info panel :D 2017-06-15 17:21:47 +01:00
dc795f6d00 Fix chunk loading when zoomed in. 2017-06-15 17:20:22 +01:00
653df90674 Create simple debug panel 2017-06-15 13:12:30 +01:00
74a0010e59 [client] Tidy up translations 2017-06-12 20:46:50 +01:00
636bc0535a Fix pencil live preview and more zomming issues 2017-06-12 19:53:05 +01:00
70ed434f1b Finish accounting for zoom level in the pencil 2017-06-12 19:13:22 +01:00
aec619a34b Start accounting for the zoom level when drawaing things to the screen 2017-06-12 18:53:32 +01:00
62dd7af656 Fix visible chunk area calculations 2017-06-12 18:48:08 +01:00
0808c05f05 Improve bindings between pencil and interface 2017-06-12 18:15:49 +01:00
b043362f29 [client] Account for zoom when rendering chunks. 2017-06-11 22:01:12 +01:00
00117a35a9 [client] Get chunks to account for position on canvas 2017-06-11 21:47:38 +01:00
6a0d3180a7 [client] Fix chunk update piping & display logic 2017-06-11 21:39:33 +01:00
6ca05e8d44 [client] Update chunk cache 2017-05-29 21:59:15 +01:00
a7132d344d Get chunks and references serialising correctly 2017-05-29 13:14:56 +01:00
db4a9311d5 [server] Properly retain line properties when splitting a line on chunk boundaries 2017-05-29 12:56:32 +01:00
8d38086eaf [client] Fix crash by fiddling with imports 2017-05-04 21:38:30 +01:00
e7b6293278 [client] Fix new WebSocket pathing 2017-05-04 21:38:03 +01:00
abce0b2af7 [server] Add plane name property to Chunk for serialistion purposes.... which doesn't appear to be working right. Hrm. 2017-05-04 21:37:22 +01:00
53f5d9e400 [server] Fix infinite loop in chunk sending logic in plane changer 2017-05-04 21:36:24 +01:00
1b2d50b7af [server] Fix Rectangle Overlap() method 2017-05-04 21:35:27 +01:00
19412e4361 Update connection to be ip address agnostic 2017-05-04 19:53:38 +01:00
0498b5ad9a [server] Send visible chunks to the client when changing planes 2017-05-01 19:12:26 +01:00
ccb93f9850 [client] Finish ChunkCache renderer & start hooking up a chunk update mechanism 2017-05-01 14:40:05 +01:00
2e97f91efe [server] Make *Reference classes implement ICloneable 2017-05-01 14:38:57 +01:00
451b3a0171 [server] Remove a few stray usings 2017-04-30 14:41:20 +01:00
5d716fe925 [client] Write ChunkCache renderer method renderVisible() 2017-04-30 14:40:53 +01:00
4e2a27df94 [client] Start creating chunk representation system 2017-04-29 13:56:33 +01:00
d582396f74 [client] Fix the cursor update frequency 2017-04-29 13:43:50 +01:00
d79fdc8d04 [server] Fix ripplespace representation 2017-04-29 13:43:19 +01:00
b21608d261 [server] Fix line splitting logic.... except it broke again :-( 2017-04-28 22:25:55 +01:00
4954d53523 [server] Initialise value of list in message object 2017-04-28 18:22:33 +01:00
2ded353c12 [client] Fix connection status indicator 2017-04-28 18:22:09 +01:00
4efeff5a06 [server] DrawnLine.LineWidth -> Width, and extra logging 2017-04-28 18:14:14 +01:00
d44012044b [client] Tweak brush indicator, and add keyboard controls 2017-04-28 18:13:41 +01:00
ce7c4b22c4 Create brush indicator 2017-04-28 12:42:34 +01:00
903fe26af9 [client] Add to interface 2017-04-27 21:53:07 +01:00
e1f2b2910a [client] Add better background to sidebar and create Interface class 2017-04-27 18:36:45 +01:00
5b75eff4eb [client] Tidy up dependencies 2017-04-25 20:08:50 +01:00
d9ad49bddb [server] Support serving embedded files from subfolders 2017-04-25 20:08:30 +01:00
ad8fc60db8 [client] Upgrade sidebar. It's not totally functional yet :P 2017-04-25 19:34:03 +01:00
16f726b32e [client] Update the logo <img /> to reference the symlink 2017-04-25 11:51:14 +01:00
f140c8aeaa [client] Create symlink to temporary logo to allow it to be easily included as an embedded resource 2017-04-25 11:50:21 +01:00
0571c18b4a [client] Create html shell for ui 2017-04-25 11:45:27 +01:00
43989cf299 [client] Emit keydown events just like keyup does, and log DownKeys for debugging purposes 2017-04-24 22:03:23 +01:00
9e391a90d9 [client] Keep the pencil off the page if the ctrl key is held down (for panning) 2017-04-24 21:49:07 +01:00
d0ed30b6d3 [client] un-invert the panning 2017-04-24 21:43:52 +01:00
bb084d70a4 [client] Fix the grid drawing. Hooray\! :D :D :D 2017-04-24 21:42:31 +01:00
fec2530576 [server] Tweak log message 2017-04-24 20:18:09 +01:00
fb25d09461 Draw debug grid (off by default, press g to toggle) 2017-04-24 20:12:27 +01:00
c394c5b1e9 [client] Get Keyboard class to emit events with names depending on which key was released 2017-04-24 19:43:31 +01:00
402a6b2b26 Change the way plane changes are acknowledged 2017-04-24 19:32:28 +01:00
96485f3f0e [server] Fix LineIncubator->LineExists() 2017-04-24 18:09:18 +01:00
9cd578512b [client] Fix linepart pushes 2017-04-23 18:16:18 +01:00
6e58139eea [server] Be more chatty about what's going on 2017-04-23 18:06:58 +01:00
31d9507fdb [server] Log about new messages received - except CursorPosition messages, of course :P 2017-04-23 17:41:41 +01:00
5914ee6d56 [server] Correct name of handleChunkUpdate() method 2017-04-23 17:41:15 +01:00
27390a33b8 [client] Land on a default plane when first connecting 2017-04-23 17:40:41 +01:00
ffd2b32abb [client] Show errors sent by the server in the console. 2017-04-23 17:26:29 +01:00
363fdbb20c Send an ErrorMessage to the client if they try to draw a line before selecting a plane 2017-04-23 17:22:21 +01:00
48056bd888 [server] Guid -> string for line ids 2017-04-23 17:11:46 +01:00
71b1042e13 [client] More contains -> includes 2017-04-16 16:53:06 +01:00
3cb7c1576f [client] contains -> includes 2017-04-16 16:51:52 +01:00
a89608e36f [server] Correct event names in event map 2017-04-16 16:48:37 +01:00
e5342b07db [client] Fix bugs in Mouse and Pencil.js 2017-04-16 16:25:32 +01:00
4a55f7a941 [client] Only render the pencil if it actually exists 2017-04-16 16:18:45 +01:00
ec5f7e0bd9 [client] Make the pencil listen to mouse events on the canvas, not the document 2017-04-16 16:10:27 +01:00
aa0852a3b2 [server] Prevent exception from being thrown if a rogue LineComplete message is received 2017-04-16 16:00:49 +01:00
405a5aad85 [server] Update the line incubator to add additional methods for later 2017-04-16 15:54:59 +01:00
2b36c9a09d [server] Create planes that don't exist if the client requests one 2017-04-16 15:54:29 +01:00
fa7fbfd0ac [server] Allow RippleSpaceManagers to create new planes. 2017-04-16 15:24:37 +01:00
48c2011500 [server] Get nibri clients to listen for chunk updates and send them down the wire 2017-04-16 15:19:59 +01:00
ce3197dd98 [server] ChunkUpdateEvent -> OnChunkUpdate 2017-04-16 15:03:51 +01:00
4d09301187 [server] Add ReflectPlane method for sending messages later 2017-04-15 16:45:56 +01:00
5dc1a2d9e5 [server] Start handling line part and line complete udpates correctly. Also add more logic to the chunk/plane system ready for later. 2017-04-15 16:40:25 +01:00
b6f50a48ba [client] Notify the server when we complete a line. 2017-04-15 16:20:30 +01:00
bb05a16e40 Fill out more of the live line system. 2017-04-15 13:13:07 +01:00
a85d1fa0ed Create initial keyboard handler, and start processing pan-zoom events 2017-04-14 21:08:36 +01:00
89b576260f Implement more of the pencil 2017-04-14 20:22:01 +01:00
be15bf85cb Prepare Rectangle.cs and Vector2.cs to be promoted to a gist! 2017-04-01 10:17:36 +01:00
53c43f10fc Add LinePart class 2017-03-31 18:58:47 +01:00
c5bef6dc52 [server] Session end 2017-03-29 21:35:04 +01:00
62857c1004 [server] Add line incubator and start writing line part handler 2017-03-29 21:34:24 +01:00
a8c1b8e99c [server] Add LinePart event message class 2017-03-29 21:21:11 +01:00
7d4c521877 [client] Port the server's DrawnLine class to the client 2017-03-28 21:03:26 +01:00
4350d53723 [client] Add color npm class depencency 2017-03-28 21:03:26 +01:00
b14f7c9948 [client] Make Chunk/Location reference classes inherit from Vector 2017-03-28 21:03:21 +01:00
2ea097fdbc [client] Add cuid npm module 2017-03-28 20:36:49 +01:00
7829f4d733 [client] Add Pencil class. It isn't finished yet. 2017-03-28 20:26:30 +01:00
4b5a895f0e [client] Add mouse manager class 2017-03-28 20:26:26 +01:00
507211cd0e [client] Create Chunk class 2017-03-28 19:50:03 +01:00
7f0574a67c [client] Create client-side chunk cache and {Location,Chunk}Reference classes 2017-03-28 19:40:24 +01:00
77ce5b4d71 [server] Continue wiring the ripplespace to nibri client, mainly by implementing the ChunkUpdateRequest message handler and all it's reuqired backend methods & classes. 2017-03-25 19:49:44 +00:00
22a03d9ab9 [server] Implement Rectangle.Overlap() 2017-03-20 19:47:33 +00:00
e193220846 [server] Update ChunkReference 2017-03-20 18:47:21 +00:00
535c0436de [server] Update the nibri client to be plane-aware 2017-03-20 18:34:34 +00:00
525399a0a6 [server] Add PlaneChangeMessage to list of handled message types 2017-03-20 18:29:50 +00:00
3442639631 [server] Add BroadcastPlane 2017-03-20 18:28:56 +00:00
e8beaec1c3 [server] Add ExcecptionMessage 2017-03-20 18:21:41 +00:00
c4947474cd [server] Fill out PlaneChangeMessage 2017-03-20 18:10:28 +00:00
f454ff0c61 [server] Update NuGet packages 2017-03-20 18:06:45 +00:00
d846d335b1 [server] Fill out more nibri client <--> plane interaction logic 2017-03-20 18:06:20 +00:00
c559e6eaef [server] Create NibriClient.CanSee() method stub 2017-03-04 21:54:06 +00:00
b2be6e590b [server] Start sorting out chunk synchronisation 2017-03-04 21:49:51 +00:00
f3c2806243 Add references to the ripple space manager to allow the nibri clients to interact with it. 2017-03-04 19:59:22 +00:00
8572ed6d52 [client] Spelling currection 2017-03-02 20:36:27 +00:00
f72b0819ba Add some required packages to package.json 2017-02-23 19:29:25 +00:00
38993fc4cb Bugfix Rectangle.js 2017-02-23 18:15:18 +00:00
cfbb0ec2f1 Comment out exit 1 in validate.sh 2017-02-23 18:13:53 +00:00
394f7f4284 Bugfix validate.sh 2017-02-23 18:09:48 +00:00
23af3da0df Start working on es6 validation bash script that uses acorn 2017-02-22 22:25:34 +00:00
56b1cb5148 Looks like acorn is going to be the package to use to validate es6! 2017-02-21 20:34:53 +00:00
74c7c64015 [client] Refactor OtherClient data into class. 2017-02-21 20:34:18 +00:00
3689f685b9 [server] Bugfix: Correct Rectangle logic 2017-02-21 18:25:48 +00:00
6f4388c50f [server] Rename ClientState.AbsCursorPosition to ClientState.CursorPosition 2017-02-21 18:11:17 +00:00
686dd2f56d Put some infrastructure in palce to better handle disconnects and shutdowns. 2017-02-19 16:35:12 +00:00