Skip to content

Commit

Permalink
update wiki links - now located at: https://friflo.gitbook.io/friflo.…
Browse files Browse the repository at this point in the history
  • Loading branch information
friflo committed Jul 25, 2024
1 parent 3b25e81 commit 9146429
Show file tree
Hide file tree
Showing 43 changed files with 96 additions and 96 deletions.
34 changes: 17 additions & 17 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -66,10 +66,10 @@ Average Performance Ratio - see [C# ECS Benchmark Overview](https://github.com/f
- [x] Supports .NET Standard 2.1 .NET 5 .NET 6 .NET 7 .NET 8
WASM / WebAssembly, Unity (Mono, AOT/IL2CPP, WebGL), Godot, MonoGame, ... and Native AOT
- [x] **100% secure C#** 🔒. No *unsafe code*, *native dll bindings* and *access violations*.
See [Wiki ⋅ Library](https://github.com/friflo/Friflo.Json.Fliox/wiki/Library#assembly-dll).
See [Wiki ⋅ Library](https://friflo.gitbook.io/friflo.engine.ecs/package/library#assembly-dll).


Complete feature list at [Wiki ⋅ Features](https://github.com/friflo/Friflo.Json.Fliox/wiki/Features).
Complete feature list at [Wiki ⋅ Features](https://friflo.gitbook.io/friflo.engine.ecs/package/features).


Get package on [nuget](https://www.nuget.org/packages/Friflo.Engine.ECS/) or use the dotnet CLI.
Expand Down Expand Up @@ -134,10 +134,10 @@ An ECS provide two strengths:
This section contains two typical use cases when using an ECS.
More examples are in the GitHub Wiki.

[**Examples - General**](https://github.com/friflo/Friflo.Json.Fliox/wiki/Examples-~-General)
[**Examples - General**](https://friflo.gitbook.io/friflo.engine.ecs/examples/general)
Explain fundamental ECS types like *Entity*, *Component*, *Tag*, *Command Buffer*, ... and how to use them.

[**Examples - Optimization**](https://github.com/friflo/Friflo.Json.Fliox/wiki/Examples-~-Optimization)
[**Examples - Optimization**](https://friflo.gitbook.io/friflo.engine.ecs/examples/optimization)
Provide techniques how to improve ECS performance.


Expand All @@ -163,9 +163,9 @@ public static void HelloWorld()
```
In case of moving (updating) thousands or millions of entities an optimized approach can be used.
See:
[Enumerate Query Chunks](https://github.com/friflo/Friflo.Json.Fliox/wiki/Examples-~-Optimization#enumerate-query-chunks),
[Parallel Query Job](https://github.com/friflo/Friflo.Json.Fliox/wiki/Examples-~-Optimization#parallel-query-job) and
[Query Vectorization - SIMD](https://github.com/friflo/Friflo.Json.Fliox/wiki/Examples-~-Optimization#query-vectorization---simd).
[Enumerate Query Chunks](https://friflo.gitbook.io/friflo.engine.ecs/examples/optimization#enumerate-query-chunks),
[Parallel Query Job](https://friflo.gitbook.io/friflo.engine.ecs/examples/optimization#parallel-query-job) and
[Query Vectorization - SIMD](https://friflo.gitbook.io/friflo.engine.ecs/examples/optimization#query-vectorization---simd).
All query optimizations are using the same `query` but with different enumeration techniques.

<br/>
Expand All @@ -192,10 +192,10 @@ Use cases for relations:

| Use case / Example | Component interface type | Description
| ------------------------------------------------------------------------------------------------------------------------- | ------------------------- | --------------------------------------------
| [Entity Relationships](https://github.com/friflo/Friflo.Json.Fliox/wiki/Examples-~-Component-Types#entity-relationships) | **Link Component** | A single link on an entity referencing another entity
| [Entity Relationships](https://friflo.gitbook.io/friflo.engine.ecs/examples/component-types#entity-relationships) | **Link Component** | A single link on an entity referencing another entity
| | **Link Relation** | Multiple links on an entity referencing other entities
| [Relations](https://github.com/friflo/Friflo.Json.Fliox/wiki/Examples-~-Component-Types#relations) | **Relation Component** | Add multiple components of same type to an entity
| [Search & Range queries](https://github.com/friflo/Friflo.Json.Fliox/wiki/Examples-~-Component-Types#search) | **Indexed Component** | Full text search of component fields executed in O(1).<br/>Range queries on component fields having a sort order.
| [Relations](https://friflo.gitbook.io/friflo.engine.ecs/examples/component-types#relations) | **Relation Component** | Add multiple components of same type to an entity
| [Search & Range queries](https://friflo.gitbook.io/friflo.engine.ecs/examples/component-types#search) | **Indexed Component** | Full text search of component fields executed in O(1).<br/>Range queries on component fields having a sort order.

Big shout out to [**fenn**ecs](https://github.com/outfox/fennecs) and [**flecs**](https://github.com/SanderMertens/flecs)
for the challenge to improve the feature set and performance of this project!
Expand All @@ -216,7 +216,7 @@ Using Systems is optional but they have some significant advantages.

- Enable chaining multiple decoupled [QuerySystem](https://github.com/friflo/Friflo.Engine-docs/blob/main/api/QuerySystem.md) classes in a
[SystemGroup](https://github.com/friflo/Friflo.Engine-docs/blob/main/api/SystemGroup.md).
Each group provide a [CommandBuffer](https://github.com/friflo/Friflo.Json.Fliox/wiki/Examples-~-Optimization#commandbuffer).
Each group provide a [CommandBuffer](https://friflo.gitbook.io/friflo.engine.ecs/examples/optimization#commandbuffer).

- A system can have state - fields or properties - which can be used as parameters in `OnUpdate()`.
The system state can be serialized to JSON.
Expand Down Expand Up @@ -316,23 +316,23 @@ entities number of entities matching a QuerySystem

The **GitHub Wiki** provide you detailed information about the ECS and illustrate them by examples.

- [**Examples - General**](https://github.com/friflo/Friflo.Json.Fliox/wiki/Examples-~-General)
- [**Examples - General**](https://friflo.gitbook.io/friflo.engine.ecs/examples/general)
Explain fundamental ECS types like *Entity*, *Component*, *Tag*, *Command Buffer*, ... and show you how to use them.
Contains an example for [Native AOT](https://learn.microsoft.com/en-us/dotnet/core/deploying/native-aot) integration.

- [**Examples - Optimization**](https://github.com/friflo/Friflo.Json.Fliox/wiki/Examples-~-Optimization)
- [**Examples - Optimization**](https://friflo.gitbook.io/friflo.engine.ecs/examples/optimization)
Provide you techniques how to improve ECS performance.

- [**Extensions**](https://github.com/friflo/Friflo.Json.Fliox/wiki/Extensions)
- [**Extensions**](https://friflo.gitbook.io/friflo.engine.ecs/extensions/unity-extension)
Projects extending Friflo.Engine.ECS with additional features.

- [**Features**](https://github.com/friflo/Friflo.Json.Fliox/wiki/Features)
- [**Features**](https://friflo.gitbook.io/friflo.engine.ecs/package/features)
Integration possibilities, a complete feature list and performance characteristics 🔥.

- [**Library**](https://github.com/friflo/Friflo.Json.Fliox/wiki/Library)
- [**Library**](https://friflo.gitbook.io/friflo.engine.ecs/package/library)
List supported platforms, properties of the assembly dll and build statistics.

- [**Release Notes**](https://github.com/friflo/Friflo.Json.Fliox/wiki/Release-Notes)
- [**Release Notes**](https://friflo.gitbook.io/friflo.engine.ecs/package/release-notes)
List of changes of every release available on nuget.

<br/>
Expand Down
2 changes: 1 addition & 1 deletion src/ECS/Archetype/Archetype.cs
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ namespace Friflo.Engine.ECS;

/// <summary>
/// An <see cref="Archetype"/> store entities with a specific set of <see cref="IComponent"/> and <see cref="ITag"/> types.<br/>
/// See <a href="https://github.com/friflo/Friflo.Json.Fliox/wiki/Examples-~-General#archetype">Example.</a>
/// See <a href="https://friflo.gitbook.io/friflo.engine.ecs/examples/general#archetype">Example.</a>
/// </summary>
/// <remarks>
/// E.g. all entities with a <see cref="Position"/> and <see cref="Rotation"/> component are store in the same archetype.<br/>
Expand Down
2 changes: 1 addition & 1 deletion src/ECS/Batch/CreateEntityBatch.cs
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ internal BatchAlreadyReturnedException(string message) : base (message) { }
/// <summary>
/// A create batch is used to optimize entity creation.<br/>
/// Components and tags are buffered before creating an entity with <see cref="CreateEntity()"/>.<br/>
/// See <a href="https://github.com/friflo/Friflo.Json.Fliox/wiki/Examples-~-Optimization#batch---create-entity">Example.</a>
/// See <a href="https://friflo.gitbook.io/friflo.engine.ecs/examples/optimization#batch---create-entity">Example.</a>
/// </summary>
/// <remarks>
/// Multiple entities can be created using the same batch.<br/>
Expand Down
4 changes: 2 additions & 2 deletions src/ECS/Batch/EntityBatch.cs
Original file line number Diff line number Diff line change
Expand Up @@ -47,11 +47,11 @@ internal enum BatchOwner
/// <b>Bulk operation</b><br/>
/// To perform a batch on multiple entities you can use <see cref="QueryEntities.ApplyBatch"/> for <br/>
/// - the entities of an <see cref="ArchetypeQuery"/> using <see cref="ArchetypeQuery.Entities"/>.
/// See <a href="https://github.com/friflo/Friflo.Json.Fliox/wiki/Examples-~-Optimization#entitybatch---query">Example.</a><br/>
/// See <a href="https://friflo.gitbook.io/friflo.engine.ecs/examples/optimization#entitybatch---query">Example.</a><br/>
/// - all entities of an <see cref="EntityStore"/> using <see cref="EntityStore.Entities"/>.<br/>
/// - or the entities of an <see cref="Archetype"/> using <see cref="Archetype.Entities"/>.<br/>
/// To perform a batch on entities in an <see cref="EntityList"/> you can use <see cref="EntityList.ApplyBatch"/>.
/// See <a href="https://github.com/friflo/Friflo.Json.Fliox/wiki/Examples-~-Optimization#entitybatch---entitylist">Example.</a><br/>
/// See <a href="https://friflo.gitbook.io/friflo.engine.ecs/examples/optimization#entitybatch---entitylist">Example.</a><br/>
/// </remarks>
public sealed class EntityBatch
{
Expand Down
2 changes: 1 addition & 1 deletion src/ECS/Batch/EntityStore.cs
Original file line number Diff line number Diff line change
Expand Up @@ -122,7 +122,7 @@ internal void ReturnBatch(EntityBatch batch) {

/// <summary>
/// Returns a <see cref="CreateEntityBatch"/> used to create entities with components and tags added to the batch.<br/>
/// See <a href="https://github.com/friflo/Friflo.Json.Fliox/wiki/Examples-~-Optimization#batch---create-entity">Example.</a>
/// See <a href="https://friflo.gitbook.io/friflo.engine.ecs/examples/optimization#batch---create-entity">Example.</a>
/// </summary>
/// <remarks>
/// The returned batch creates an entity with previously added components and tags when calling
Expand Down
2 changes: 1 addition & 1 deletion src/ECS/Collections/EntityList.cs
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ namespace Friflo.Engine.ECS;
/// <summary>
/// A list of entities of a specific <see cref="EntityStore"/> used to apply changes to all entities in the container.<br/>
/// It's recommended to reuse instances of this class to avoid unnecessary allocations.<br/>
/// See <a href="https://github.com/friflo/Friflo.Json.Fliox/wiki/Examples-~-Optimization#entitybatch---entitylist">Example.</a>
/// See <a href="https://friflo.gitbook.io/friflo.engine.ecs/examples/optimization#entitybatch---entitylist">Example.</a>
/// </summary>
[DebuggerTypeProxy(typeof(EntityListDebugView))]
public sealed class EntityList : IList<Entity>
Expand Down
4 changes: 2 additions & 2 deletions src/ECS/CommandBuffer/CommandBuffer.cs
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ namespace Friflo.Engine.ECS;
/// <summary>
/// A command buffer recording entity changes and execute these changes when calling <see cref="Playback"/>.<br/>
/// <see cref="CommandBuffer"/> is not thread safe. To record changes on arbitrary threads use <see cref="Synced"/>.<br/>
/// See <a href="https://github.com/friflo/Friflo.Json.Fliox/wiki/Examples-~-Optimization#commandbuffer">Example.</a>
/// See <a href="https://friflo.gitbook.io/friflo.engine.ecs/examples/optimization#commandbuffer">Example.</a>
/// </summary>
// Note: CommandBuffer is not a struct. Reasons:
// - struct need to be passed as a ref parameter => easy to forget
Expand Down Expand Up @@ -145,7 +145,7 @@ public void Clear()

/// <summary>
/// Execute recorded entity changes. <see cref="Playback"/> must be called on the <b>main</b> thread.<br/>
/// See <a href="https://github.com/friflo/Friflo.Json.Fliox/wiki/Examples-~-Optimization#commandbuffer">Example.</a>
/// See <a href="https://friflo.gitbook.io/friflo.engine.ecs/examples/optimization#commandbuffer">Example.</a>
/// </summary>
/// <exception cref="InvalidOperationException">
/// When recording commands after calling <see cref="Playback"/>.<br/>
Expand Down
2 changes: 1 addition & 1 deletion src/ECS/CommandBuffer/CommandBufferSynced.cs
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ internal CommandBufferSynced(CommandBuffer commandBuffer) {

/// <summary>
/// Execute recorded entity changes. <see cref="Playback"/> must be called on the <b>main</b> thread.<br/>
/// See <a href="https://github.com/friflo/Friflo.Json.Fliox/wiki/Examples-~-Optimization#commandbuffer">Example.</a>
/// See <a href="https://friflo.gitbook.io/friflo.engine.ecs/examples/optimization#commandbuffer">Example.</a>
/// </summary>
/// <exception cref="InvalidOperationException">
/// When recording commands after calling <see cref="Playback"/>.<br/>
Expand Down
Loading

0 comments on commit 9146429

Please sign in to comment.