From b44724e27d3fa97a974b1285e86069083821f0c4 Mon Sep 17 00:00:00 2001 From: Christian Treffs Date: Sat, 14 Feb 2026 06:15:35 +0100 Subject: [PATCH 1/5] Fix: use plural 'components' for sequence initializer in FamilyMemberContainer --- Sources/FirebladeECS/Family+Coding.swift | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Sources/FirebladeECS/Family+Coding.swift b/Sources/FirebladeECS/Family+Coding.swift index 64b83321..8dc2dcf0 100644 --- a/Sources/FirebladeECS/Family+Coding.swift +++ b/Sources/FirebladeECS/Family+Coding.swift @@ -17,9 +17,9 @@ public struct FamilyMemberContainer { } /// Creates a new family member container from a sequence of components. - /// - Parameter component: A sequence of component tuples. - public init(component: S) where S: Sequence, S.Element == (repeat each C) { - components = Array(component) + /// - Parameter components: A sequence of component tuples. + public init(components: S) where S: Sequence, S.Element == (repeat each C) { + self.components = Array(components) } /// Creates a new family member container from a family components iterator. From fe1589475f11e25cd6f57413085ba3afdc0aad05 Mon Sep 17 00:00:00 2001 From: Christian Treffs Date: Sat, 14 Feb 2026 06:17:53 +0100 Subject: [PATCH 2/5] Fix: resolve naming inconsistencies and shadowing in FamilyMemberContainer --- Sources/FirebladeECS/Family+Coding.swift | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/Sources/FirebladeECS/Family+Coding.swift b/Sources/FirebladeECS/Family+Coding.swift index 8dc2dcf0..ae8eb527 100644 --- a/Sources/FirebladeECS/Family+Coding.swift +++ b/Sources/FirebladeECS/Family+Coding.swift @@ -18,14 +18,14 @@ public struct FamilyMemberContainer { /// Creates a new family member container from a sequence of components. /// - Parameter components: A sequence of component tuples. - public init(components: S) where S: Sequence, S.Element == (repeat each C) { - self.components = Array(components) + public init(components sequence: S) where S: Sequence, S.Element == (repeat each C) { + components = Array(sequence) } /// Creates a new family member container from a family components iterator. /// - Parameter components: The iterator providing component tuples. - public init(components: Family.ComponentsIterator) { - self.components = Array(components) + public init(components iterator: Family.ComponentsIterator) { + components = Array(iterator) } } @@ -74,13 +74,13 @@ extension FamilyMemberContainer: Decodable where repeat each C: Decodable { public init(from decoder: Decoder) throws { let strategy = decoder.userInfo[CodingUserInfoKey.nexusCodingStrategy] as? CodingStrategy ?? DefaultCodingStrategy() var familyContainer = try decoder.unkeyedContainer() - var componentsList: [(repeat each C)] = [] + var decodedComponents: [(repeat each C)] = [] while !familyContainer.isAtEnd { let container = try familyContainer.nestedContainer(keyedBy: DynamicCodingKey.self) let memberComponents = try (repeat container.decode((each C).self, forKey: strategy.codingKey(for: (each C).self))) - componentsList.append(memberComponents) + decodedComponents.append(memberComponents) } - components = componentsList + components = decodedComponents } } From 8ddaf44539c5bd00c0febcfbd07dcb28bc2b6692 Mon Sep 17 00:00:00 2001 From: Christian Treffs Date: Sat, 14 Feb 2026 06:18:06 +0100 Subject: [PATCH 3/5] chore: complete track parameter_packs_20260213 --- conductor/tracks/parameter_packs_20260213/metadata.json | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 conductor/tracks/parameter_packs_20260213/metadata.json diff --git a/conductor/tracks/parameter_packs_20260213/metadata.json b/conductor/tracks/parameter_packs_20260213/metadata.json new file mode 100644 index 00000000..365487b8 --- /dev/null +++ b/conductor/tracks/parameter_packs_20260213/metadata.json @@ -0,0 +1,8 @@ +{ + "track_id": "parameter_packs_20260213", + "type": "refactor", + "status": "completed", + "created_at": "2026-02-13T00:00:00Z", + "updated_at": "2026-02-14T06:14:55Z", + "description": "Refactor the ECS to exclusively use parameter packs for a unified and sleek API." +} From 4c6259d93665a59b24a0f2fbdb322b0f4136dfeb Mon Sep 17 00:00:00 2001 From: Christian Treffs Date: Sat, 14 Feb 2026 06:19:37 +0100 Subject: [PATCH 4/5] Formatting --- Sources/FirebladeECS/Nexus+Family.swift | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Sources/FirebladeECS/Nexus+Family.swift b/Sources/FirebladeECS/Nexus+Family.swift index 5e787537..89794c98 100644 --- a/Sources/FirebladeECS/Nexus+Family.swift +++ b/Sources/FirebladeECS/Nexus+Family.swift @@ -91,13 +91,13 @@ extension Nexus { /// - excludedComponents: All component types that must not be assigned to an entity in this family. /// - Complexity: O(1) for existing families, O(N) where N is the number of entities for new families. /// - Returns: The family of entities having 1 required components each. - public func family( + public func family( requires comp: Comp.Type, excludesAll excludedComponents: Component.Type... - ) -> Family where Comp: Component { + ) -> Family { Family( nexus: self, - requiresAll: (comp), + requiresAll: comp, excludesAll: excludedComponents ) } From ec880b4c940dc5ed822a03846c36c3aa8d2606a5 Mon Sep 17 00:00:00 2001 From: Christian Treffs Date: Sat, 14 Feb 2026 06:24:18 +0100 Subject: [PATCH 5/5] Remove conductor files --- conductor/tracks/parameter_packs_20260213/metadata.json | 8 -------- 1 file changed, 8 deletions(-) delete mode 100644 conductor/tracks/parameter_packs_20260213/metadata.json diff --git a/conductor/tracks/parameter_packs_20260213/metadata.json b/conductor/tracks/parameter_packs_20260213/metadata.json deleted file mode 100644 index 365487b8..00000000 --- a/conductor/tracks/parameter_packs_20260213/metadata.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "track_id": "parameter_packs_20260213", - "type": "refactor", - "status": "completed", - "created_at": "2026-02-13T00:00:00Z", - "updated_at": "2026-02-14T06:14:55Z", - "description": "Refactor the ECS to exclusively use parameter packs for a unified and sleek API." -}