Commit graph

66 commits

Author SHA1 Message Date
Adam
ffe9bcb9a8 bump versions
- kotlinx js wrappers
- kotest

also fix kotest dependencies
2022-05-14 12:22:47 +02:00
Adam
5a000b9327 fix entity position type, fix Entity proto property name clash, and update ts-schema 2022-05-07 23:02:31 +02:00
Adam
4cb7d0e1f3 add entity prototype 2022-05-07 20:29:39 +02:00
Adam
688b2c7bcb - add tile deconstruction (concrete tiles can be removed)
- add @SerialName to all packets
- start implementing Entity prototype
- start implementing Entity updates
- clean up some old commented out code
- refactor how debounced events track the triggering events (now include timestamps per event)
- bump tstl
2022-05-07 20:29:24 +02:00
Adam
ee3c7956cd events-server: fix tile grouping, chunking, saving
- debounce chunk and tile updates
- make the tile output-dir configurable
- basic test for manual checking
2022-05-01 15:50:44 +02:00
Adam
bb54f6666b fix 'prototype key' in MapTileDictionary 2022-04-20 23:15:20 +02:00
Adam
b0a6151c36 move from schema2 to schema 2022-04-20 17:18:09 +02:00
Adam
6bfcd30558 use tuples for colours 2022-04-20 17:14:00 +02:00
Adam
1c55fae236 tidying up schema files 2022-04-20 17:03:23 +02:00
Adam
d1353eec60 fix broken tests 2022-04-20 12:58:04 +02:00
Adam
8bf393f9c3 start tidying up after schema->schema2 migration 2022-04-20 11:28:30 +02:00
Adam
3fff57d46d biggest refactor ever...
- use kxs-ts-gen for TypeScript schemas
- update schema files, so they're tidier (no need for typescript-generator workarounds)
- version bumps (kotlin, gradle, tstl, factorio, kotest)
- improve kxs binary format (use okio)
- move schema files package ('events' wasn't needed)
- tidy up topic creation, naming. base it off classes, make util functions
2022-04-20 10:17:41 +02:00
Adam
db14865ca9 start simplifying schema packets 2022-03-16 23:27:37 +01:00
Adam
8d36111d9a - start code clean up by commenting out unused/deprecated code (start moving towards the 'event updates' Kafkatorio packets
- bring back the event Queue, and the command to emit lots of chunks
- allow setting the event update timeout directly when debouncing/throttling an update
2022-03-14 00:05:15 +01:00
Adam
1fbe0d87b0 fix EntityIdentifiers deserialization bug (kxs has polymorphism problems with interfaces) 2022-03-14 00:02:22 +01:00
Adam
3ebc8997d2 code tidy 2022-03-13 11:04:18 +01:00
Adam
b8ba8b7c9e - tidy up groupMapChunks.kt
- add ticks to all Kafkatorio Packets
- add Kafka Streams test for groupMapChunks.kt
2022-03-12 16:42:24 +01:00
Adam
19bfe3a232 shutdown all KafkaStream apps if one crashes 2022-03-12 01:39:19 +01:00
Adam
a9782a4d90 version bumps, schema tweaks, code tweaks, 2022-03-04 23:54:45 +01:00
Adam
b055397d25 - wicked sick size optimisation of map-tiles update packet
- fix ts-generator recursive value class unwrapping
- move kafka state dir
- try fixing kafka streams for tile generation (simplifying it, and fixing some nullability problems)
2022-03-02 18:39:03 +01:00
Adam
ebb8482201 make factorio ID value classes, nicer, and remove 'EncodeDefault' from colours 2022-02-27 01:02:33 +01:00
Adam
1ba4371b14 update packet, add 'eventCounts' 2022-02-26 22:23:08 +01:00
Adam
758fea4195 only log a message if there are event cache entries, and formatting 2022-02-25 21:44:34 +01:00
Adam
93e02e852a code tidy 2022-02-24 22:17:00 +01:00
Adam
8e7208ba08 - update data model: simplify key/data (by removing data) 2022-02-24 00:07:28 +01:00
Adam
5208d9affd - make each event update have a key/data interface
- separate .d.ts file for event updates
-  fix initialisation of global items
2022-02-23 11:51:28 +01:00
Adam
494913d3b9 fix init of global vars, make MapTile DTO more concise, and version bump 2022-02-21 15:36:12 +01:00
Adam
7481c8162a fixing 'when' statements, tidying up some code, 2022-02-20 22:30:56 +01:00
Adam
dd45bece53 model updates, and fix tests 2022-02-20 22:16:21 +01:00
Adam
8f9ebdb1e1 update events schema
- unwrap value classes when generating TS
- add value classes for some data types
- add FactorioEventUpdates (for new incremental event updates)
- use static lists for enum values (better performance)
- add LuaControl for sharing Player/Entity fields
2022-02-20 12:29:34 +01:00
Adam
5a59b3bd6d workinggggg!!!!!!!
- fix map tiles proto colours KTable
- test and tidy up Colour/ColourHex
- reset event-server application
2022-02-08 11:51:16 +01:00
Adam
bdb2d9577f so close to working performantly.... just the tiles are transparent???
- bump some versions
- MapTile no longer has objectName field
- fix nulls/optional fields in FactorioConfigurationUpdate
- use bytes to encode rgba colours - waaaayyyy smaller
- increase Kafka record size to ~10mb
2022-02-08 01:35:52 +01:00
Adam
ea0bfb350b - MapTile/LuaTile no longer a FactorioObjectData (it doesn't get sent as a packet)
- trying to optimise the topology so it's faster... almost there but the records are now too large
- map tile pngs, multiple zoom levels
- use coroutines for faster map tiles
2022-02-06 21:05:37 +01:00
Adam
97d0de56e7 tidy up event-schema ksx json stuff, and make the "empty list <-> empty object" thing contextual 2022-01-23 13:52:54 +01:00
Adam
560a5d4172 the performance increase wasn't that good actually - so split up the topology into separate files so it's easier to read, and simplifying the png tile process so it joins tiles and prototypes sooner, with less info 2022-01-21 07:55:36 +01:00
Adam
a7a095ecbf map tiles are now saved! 2022-01-19 16:53:24 +01:00
Adam
8533be0af8 chunk pngs almost working...
- rm yarn lock, it should be in ./gradle/kotlin-js-store
 - move kafka extensions to another project, kotka-streams
 - move prototypes to their own package
 - create a Factorio command for emitting prototypes
 - add bounding box to chunk updates
 - bump typed-factorio version
 - fix MapEntityPosition -> MapChunkPosition x/y rounding
 - lots of work on the Kafka Streams topology
2022-01-16 23:16:09 +01:00
Adam
49ad3654a3 tiles from kafka -> image tiles... maybe??? 2022-01-13 00:00:59 +01:00
Adam
723c7ae6e8 test LuaTiles 2022-01-09 19:01:47 +01:00
Adam
4d2926ebe2 try making map tiles better, listen to events for changed tiles 2022-01-09 17:40:28 +01:00
Adam
b9190b1948 make the json a little less verbose by having separate position types instead of a discriminator 2022-01-09 16:33:23 +01:00
Adam
4d2f574827 fix typescript after updates 2022-01-09 15:15:52 +01:00
Adam
4d94e2f395 finish fixing the schema 2022-01-09 15:07:36 +01:00
Adam
524aa218fc pre-emptively fixing kxs generics on factorioPrototypes.kt 2022-01-09 14:08:41 +01:00
Adam
7486961fc2 cleaning up comments and old code 2022-01-09 14:07:19 +01:00
Adam
beb73d1584 - make tests multi-platform
- fix polymorphism finally???
2022-01-09 14:01:48 +01:00
Adam
2208c91652 fix polymorphic serialization, and update the names of some schema objects 2022-01-09 12:37:26 +01:00
Adam
f16e7405f6 update json serde tests 2022-01-09 11:05:52 +01:00
Adam
51e0aff823 improve event-schema polymorphism with enums 2022-01-08 23:09:27 +01:00
Adam
e6d424960e fix tests 2022-01-08 14:02:38 +01:00