Merged
Conversation
- Added FrameComponent - Added filter(componentType:) to runtime frame - Changed InternalSystemError to struct with more details such as system name, message and context - Fixed scheduler initialiser
- runtime frame has new issue protocol - new expression parser system
- changed system group to contain types not instances - adjusted access modifiers
- Split constraint checker methods to validate (quick fail on first) and diagnose (returns result) - renamed FrameValidationError to FrameValidationResult (diagnostic struct) - moving towards DesignFrame being ValidatedFrame (it has diesing and therefore metamodel associated with it) - Design.accept(...) and related methods now throw FrameValidationError with more options, not just structural integrity - Moved broken references to new structural validator - Moved all structure validation to new structural validator - Added metamodel validation mode (sketch, unused) - Made most of the frame accepting methods to accept `some Frame` instead of design frame - Added Metamodel.hasType(name:) and hasType(type:) TODO: Some tests still need fixing.
- DesignFrame is now considered to be validated.
- changed Issue requirement for error to be optional, made message and hints to be set on init() - added non-system initialiser to Issue - removed old code
- Allow loading of (semi-corrupted) designs without frames as single-frame designs - Added DesignLoader option .collectOrphans - Allocate single frame ID
- Added RuntimeIdentityID - Added EphemeralID - Added generation of ephemeral ID - Removed frame components, replaced with ephemeral ID .Frame
- do not pass all snapshots, just snapshots from the current frame
- added ObjectID version of setComponent (...) - added runtimeFilter(...) that reutns (runtime entity ID, T) - added objectID computed property to runtime id
- Added "strict" flag to system group: whether the system dependency is required to be present in the list of systems or not. - Instantiate once on first update(:) - Added AugmentedFrame.removeComponentForAll - Added AugmentedFrame.first(withComponent:)
- Added strict system dependency "requires", made before/after to be soft - Removed "strict:" flag from system group - Added DesignFrame.isEmpty - Added AugmentedFrame.isEmpty - includes ephemeral entities
- changed Frame.contained(ids:) from array to some Collection - Made Selection a component -
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Added new Systems based runtime with AugmentedFrame