* All IPhysShapes now expose a property to get the local AABB.
* Removed IMapChunk. It's internal, we only have 1 implementation in the engine, no need for abstraction, and removing it helps perf.
* Cleaned up issues in MapChunk file.
* Encapsulate _tiles access inside MapChunk.
* Remove IEnumerable<TileRef> from MapChunk.
* Remove CollidesWithChunk
* Move CalcWorldAABB and RegenerateCollision from MapChunk to MapGrid.
Remove MapChunk.GridId.
* Removed MapChunk.GetAllTiles
* Removed the terrible mocked unit tests.
* Moved the GetTileRef functions from MapChunk to MapGrid.
* Add an event raised on MapChunk when a tile is modified.
Completely remove the IMapGrid dependency from MapChunk.
* Fix bug where you cannot change the tile damage of a tile.
* Shared/Utility: Define new FormattedMessage core types
* Shared/Utility: Move MarkupParser to a new namespace, update to new FormattedText
* Shared/Serialization: Temporary fix for FormattedMessageSerializer
* Scripting/ScriptInstanceShared: Move to new FormattedMessage.Builder
* Shared/Utility: Add a FormattedMessage loader to the .Builder
* Server/Scripting: Port SciptHost to FormattedMessage.Builder
* UserInterface/RichTextEntry: NOP out almost everything
not gonna bother fixing it until more groundwork is laid
* Shared/Utility: Expand Utility.Extensions a bit
strictly for pesonal reasons
* Client/UserInterface: Add the base TextLayout engine
* Client/Graphics: Add a Font Library manager
* Graphics/TextLayout: Finish up implementing the TextLayout engine
* Utility/FormattedMessage: Add yet another hack to keep the serializer in service
* Commands/Debug: Use FormattedMessage.Builder
* Console/Completions: Use FormattedMessage.Builder
* Utility/FormattedMessage: Add `AddMessage` methods
* Console/ScriptConsole: Use FormattedMessage.Builder
* Client/Log: Use FormattedMessage.Builder
* CustomControls/DebugConsole: Use FormattedMessage.Builder
* Controls/OutputPanel: Use FormattedMessage.Builder, NOP `Draw` pending rewrite
* Controls/RichTextLabel: Use FormattedMessage.Builder, NOP `Draw` pending rewrite
* UnitTesting: Update FormattedMessage/Markup Tests
They will NOT pass yet, but I don't care; it compiles.
* Utility/FormattedMessage: Fix some off-by-one Builder bugs
* Utility/FormattedMessage: Continue cleanup, test compliance
* Utility/FormattedMessage: Work around https://github.com/dotnet/roslyn/issues/57870
* Utility/FormattedMessage: Move ISectionable from TextLayout, implement it for FormattedMessage
* UserInterface/TextLayout: Add a `postcreate` function to set up new `TIn`s
Apparently Roslyn isn't big-brained enough to understand that a
closure of type `Func<T>` means that `var n = new(); return n;` requires
`new()` to return a `T`.
Ironically, it's significantly less cbt to add this than to convert
that big tuple in `Layout` in to a class or struct of some sort
(to initialize the `List<>`s).
* UserInterface/TextLayout: Throw if `Meta` isn't recognized
TODO warning go brrr
* Graphics/FontLibrary: Add a `DummyVariant`
* UserInterface/UITheme: Move to FontLibraries
* UserInterface/TextLayout: Move to an un-nested `ImmutableArray`
* UserInterface/RichTextEntry: Go ahead. Draw.
* Markup/Basic: Add extension & helpers for FormattedMessage.Builder
* Markup/Basic: Add `EscapeText` back in
A forgotten casualty of the great Markup separation of 2021
* Graphics/FontLibrary: Clean up bit magic, ensure that at least one font is picked
* Graphics/FontLibrary: Add diagnostics to the "no fonts" exception
* UserInterface/TextLayout: Scrap `Word`, return to `Offset`
* UserInterface/TextLayout: A whole bunch of hard-fought bugfixes
* Utility/FormattedMessage: Add a static, empty FormattedMessage
* Utility/FormattedMessage: Fix. Bugs.
* UserInterface/RichTextEntry: Bug fixin'
* UserInterface: CSS teim
* Markup/Basic: Add an optional "default" style to use
* Utility/FormattedMessage: I'm surprised I only made this mistake once.
* Log/DebugConsoleLogHandler: work around lack of a default style
* Don't generate physics contacts for non-predicted bodies
These are all just handled on the server anyway so it's a significant waste of performance on the client for busy scenes.
* Significantly optimise broadphase updates
Cache all of the broadphase data properly now and also save the cache for physics step to boot.
* Fix cross-map broadphases
* Remove unnecessary clear
* fix
* Fixes
* Numerous ray fixes