* adds includedatafields to serv3
* fixes some stuff and adds tests
* checks for circular include
* fix writing
* this one should fix it frfrf
* ok now this one is gonna be it i swear
* we can save a few operations here
* goofy string
Co-authored-by: Paul <ritter.paul1@gmail.com>
* 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
* Change serialization reading to only do type checks once per type
* Optimize for sealed types in arrays
* Oops the context
* Fix ISelfSerialize node type and null values
* Add int read test
* Remove nullability from constructor and property of DeserializedValue
* Add clearing readers to serialization shutdown
* Fix struct populate default values
Remove some notnull constraints
* Replace robust gen with normal il generator
* ComponentNames are not sent over the network when components are created.
* Removed ComponentStates array from EntityState, now the state is stored directly inside the CompChange struct.
* Remove the unnecessary NetID property from ComponentState.
* Remove Component.NetworkSynchronizeExistence.
* Change GetNetComponents to return both the component and the component NetId.
* Remove public usages of the Component.NetID property.
* Adds the NetIDAttribute that can be applied to components.
* Removed Component.NetID.
* Revert changes to GetComponentState and how prediction works.
* Adds component netID automatic generation.
* Modifies ClientConsoleHost so that commands can be called before Initialize().
* Completely remove static NetIds.
* Renamed NetIDAttribute to NetworkedComponentAttribute.
* Fixing unit tests.
* Add serialization write benchmark
* Add baseline test and rename AddNode to Add in mapping extensions
* Optimize serialization writing
* Make reader delegate private
* Unhardcode baseline test
* Make serialization work with backing fields automatically
* Fix not taking priorities into account, make the test fail when that is the case
* Turn fieldDefs back into a list
* Format it better
* Remove GetInheritanceBehaviour, expose immutable array of base field definitions