Skip to content

Commit

Permalink
Link structure and project relative paths fixed
Browse files Browse the repository at this point in the history
  • Loading branch information
thygrrr committed Oct 17, 2024
1 parent c655504 commit 36fbf8b
Show file tree
Hide file tree
Showing 12 changed files with 27 additions and 21 deletions.
8 changes: 7 additions & 1 deletion .github/workflows/vitepress-deploy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,15 @@ jobs:
runs-on: ubuntu-latest

steps:
- name: Checkout repository
- name: Checkout www repo
uses: actions/checkout@v4

- name: Checkout fennecs
uses: actions/checkout@v4
with:
repository: outfox/fennecs
path: fennecs

- name: Set up Node.js
uses: actions/setup-node@v4
with:
Expand Down
4 changes: 2 additions & 2 deletions cookbook/appetizers/InitialD.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,6 @@ Let's build a sleeper drift racing championship car out of nothing but Entities

### Recipe
::: code-group
<<< ../../../cookbook/InitialD.cs {cs:line-numbers} [Implementation]
<<< ../../../cookbook/InitialD.output.txt{txt} [Output]
<<< ../../../fennecs/cookbook/InitialD.cs {cs:line-numbers} [Implementation]
<<< ../../../fennecs/cookbook/InitialD.output.txt{txt} [Output]
:::
6 changes: 3 additions & 3 deletions cookbook/appetizers/KillBill.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,12 +19,12 @@ All `.csproj` and `.cs` files are [over here on Github!](https://github.com/outf
### Premise
To settle an old score, we need to get even with five ~~former friends~~ Entities... we need to find those that wronged us, and wrong them right back in their face.

We create the Entities and define the [Relation](/docs/Components/Relation.md) (`struct Betrayed`) they have with us, and also ours (`struct Grudge`) with them. We include a plain [Component](/docs/Components/) (`struct Location`) as useful data to everyone involved.
We create the Entities and define the [Relation](/docs/Keys/Relation.md) (`struct Betrayed`) they have with us, and also ours (`struct Grudge`) with them. We include a plain [Component](/docs/Components/) (`struct Location`) as useful data to everyone involved.

Next, we query for the Relation, say hello, and ~~unalive~~ interact with the Entities in a [Stream<>.For](/docs/Streams/Stream.For.md). This removes our `Grudge` for them.

### Recipe
::: code-group
<<< ../../../cookbook/KillBill.cs {cs:line-numbers} [Implementation]
<<< ../../../cookbook/KillBill.output.txt{txt} [Output]
<<< ../../../fennecs/cookbook/KillBill.cs {cs:line-numbers} [Implementation]
<<< ../../../fennecs/cookbook/KillBill.output.txt{txt} [Output]
:::
6 changes: 3 additions & 3 deletions cookbook/appetizers/OneRing.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,16 +18,16 @@ All `.csproj` and `.cs` files are [over here on Github!](https://github.com/outf
### Premise
In this example, we'll recreate the forging of the Rings of Power in the Land of Mordor, as told in the legendary story.

We'll use the [Object Link](/docs/Components/Link.md) system to model the binding relationship between the One Ring and the other Rings it rules.
We'll use the [Object Link](/docs/Keys/Link.md) system to model the binding relationship between the One Ring and the other Rings it rules.

First, we [group spawn](/docs/Entities/Spawning.md#fast-flexible-spawns) Entities for each of the other Rings and its Bearer, and link all of them to our singleton instance of the One Ring.

Then, we bind them all in darkness with a `Stream<>.For` runner.

### Recipe
::: code-group
<<< ../../../cookbook/OneRing.cs {cs:line-numbers} [Implementation]
<<< ../../../cookbook/OneRing.output.txt{txt} [Output]
<<< ../../../fennecs/cookbook/OneRing.cs {cs:line-numbers} [Implementation]
<<< ../../../fennecs/cookbook/OneRing.output.txt{txt} [Output]
:::

In this example:
Expand Down
4 changes: 2 additions & 2 deletions cookbook/appetizers/StarTrek.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,6 @@ We spawn a unique [Entity](/docs/Entities/index.md) for each captain; but `kirk`

### Recipe
::: code-group
<<< ../../../cookbook/StarTrek.cs {cs:line-numbers} [Implementation]
<<< ../../../cookbook/StarTrek.output.txt{txt} [Output]
<<< ../../../fennecs/cookbook/StarTrek.cs {cs:line-numbers} [Implementation]
<<< ../../../fennecs/cookbook/StarTrek.output.txt{txt} [Output]
:::
4 changes: 2 additions & 2 deletions cookbook/appetizers/Thanos.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,6 @@ I'm sure you already see that nothing can go wrong! Let's get snapping!


::: code-group
<<< ../../../cookbook/Thanos.cs {cs:line-numbers} [Implementation]
<<< ../../../cookbook/Thanos.output.txt{txt} [Output]
<<< ../../../fennecs/cookbook/Thanos.cs {cs:line-numbers} [Implementation]
<<< ../../../fennecs/cookbook/Thanos.output.txt{txt} [Output]
:::
4 changes: 2 additions & 2 deletions cookbook/appetizers/Tsubasa.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,6 @@ In our "game" loop, we get the current position of our ball Entity, and let each

### Recipe
::: code-group
<<< ../../../cookbook/Tsubasa.cs{cs:line-numbers} [Implementation]
<<< ../../../cookbook/Tsubasa.output.txt{txt} [Output]
<<< ../../../fennecs/cookbook/Tsubasa.cs{cs:line-numbers} [Implementation]
<<< ../../../fennecs/cookbook/Tsubasa.output.txt{txt} [Output]
:::
4 changes: 2 additions & 2 deletions docs/Concepts.md
Original file line number Diff line number Diff line change
Expand Up @@ -42,10 +42,10 @@ Structurally similar Entities are packed into [Archetypes](/docs/Components/inde
### [Streams](Streams/) expose *fast* Iteration and SIMD Operations
Quickly & safely [iterate entities](Streams/Stream.For.md), or [modify](Streams/SIMD.md#streamblitc) Components in bulk, or process entire [memory blocks](Streams/Stream.Raw.md).

### [Relations](/docs/Components/Relation.md) are Components with an [Entity Target](Queries/Matching.md#match-targets).
### [Relations](/docs/Keys/Relation.md) are Components with an [Entity Target](Queries/Matching.md#match-targets).
These add expressive, powerful grouping semantics. Relations can be backed by any type.

### [Links](/docs/Components/Link.md) are Components backed by an [Object Target](Queries/Matching.md#match-targets).
### [Links](/docs/Keys/Link.md) are Components backed by an [Object Target](Queries/Matching.md#match-targets).
Group Entities logically and in memory by linking them to shared data, like a physics world.

### Queries expose Structural Changes (just as Entities do)
Expand Down
2 changes: 1 addition & 1 deletion docs/Entities/CRUD.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ outline: [1, 2]

# Create, Read, Update, Delete

`fennecs.Entity` is a builder struct that combines its associated `fennecs.World` and `fennecs.Identity` to form an easily usable access pattern which exposes operations to add, remove, and read [Components](/docs/Components/) , [Links](/docs/Components/Link.md) , and [Relations](/docs/Components/Relation.md). You can also conveniently Despawn the Entity.
`fennecs.Entity` is a builder struct that combines its associated `fennecs.World` and `fennecs.Identity` to form an easily usable access pattern which exposes operations to add, remove, and read [Components](/docs/Components/) , [Links](/docs/Keys/Link.md) , and [Relations](/docs/Keys/Relation.md). You can also conveniently Despawn the Entity.


The component data is accessed and processed in bulk through [Queries](/docs/Queries/), a typical way that ECS provide composable functionality.
Expand Down
2 changes: 1 addition & 1 deletion docs/Entities/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ Despawned Entities are recycled, so they are extremely cheap to spawn and proces
Entities can have any number of [Components](/docs/Components/) attached to them. This is how the **fenn**ecs Entity-Component Systems provides composable, structured data semantics.


They can also serve as the `secondary key` in a [Relation](/docs/Components/Relation.md)) between two Entities.
They can also serve as the `secondary key` in a [Relation](/docs/Keys/Relation.md)) between two Entities.

Entities with the identical combinations of Component ==Type Expressions== share the same [Archetype](../Components/index.md#archetypes).

Expand Down
2 changes: 1 addition & 1 deletion docs/Keys/Relation.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ Relations are **unidirectional**, so the Target doesn't "know" it is being relat
But despawning the Target of one or more Relations <u>will remove</u> these Relation Components from any Entities that reference it. See the ending of the [Kill Bill](/cookbook/appetizers/KillBill.md) appetizer for a demonstration.
:::

Relations can be backed by any type (reference or value types). The backing data is only shared if the component is a [shared component](Shareables.md) itself.
Relations can be backed by any type (reference or value types). The backing data is only shared if the component is a [shared component](/docs/Components/Shareables.md) itself.

The target of a relation must be [Alive](/docs/Entities/Liveness.md).

Expand Down
2 changes: 1 addition & 1 deletion examples/NBody.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ Case in point here is not raw performance (although the basic GDscript-driven li

::: code-group

<<< ../../demos/godot/N-Body/NBodyDemo.cs#Showcase [Showcase]
<<< ../../fennecs/demos/godot/N-Body/NBodyDemo.cs#Showcase [Showcase]

:::

Expand Down

0 comments on commit 36fbf8b

Please sign in to comment.