Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Convert mostly everything to become a node or an edge #2879

Closed
wants to merge 60 commits into from

Conversation

nickgerace
Copy link
Contributor

@nickgerace nickgerace commented Oct 18, 2023

Description

@github-actions github-actions bot added the A-dal label Oct 18, 2023
@nickgerace nickgerace changed the title Eng 1936 perform switchover ENG-1936 Perform Switchover Oct 18, 2023
@nickgerace nickgerace force-pushed the eng-1936-perform-switchover branch 2 times, most recently from d823466 to f477c9d Compare October 20, 2023 18:36
@zacharyhamm zacharyhamm force-pushed the eng-1936-perform-switchover branch from e9683ea to 3c1d406 Compare October 25, 2023 14:30
@nickgerace nickgerace force-pushed the eng-1936-perform-switchover branch from 319f774 to c211fb4 Compare October 27, 2023 17:06
@github-actions github-actions bot added A-pinga A-sdf Area: Primary backend API service [Rust] A-dal-test labels Oct 27, 2023
@zacharyhamm zacharyhamm force-pushed the eng-1936-perform-switchover branch from 0004c96 to b459518 Compare October 31, 2023 17:44
Signed-off-by: Nick Gerace <[email protected]>
Co-authored-by: Zachary Hamm <[email protected]>
Co-authored-by: Jacob Helwig <[email protected]>
@github-actions github-actions bot removed A-docs Area: Project documentation A-lang-js A-si labels Dec 13, 2023
@nickgerace nickgerace force-pushed the eng-1936-perform-switchover branch from afab082 to 59c0d00 Compare December 13, 2023 22:30
nickgerace and others added 5 commits December 13, 2023 18:04
  - import attr funcs for output sockets
  - import action prototypes
  - import validations, fix resource value func, finalize at the right time
  - continue api refactor to use impl Into<Ulid>
- Restore attribute value insertion and deletion in the new graph
- This work was commented out from when it was migrated from the (now
  deleted) "workspace_snapshot/api" module
- Remove unnecessary async usages for component and attribute values

Signed-off-by: Nick Gerace <[email protected]>
Primary:
- Restore PropertyEditorSchema with the new engine
- Restore PropertyEditorValues with the new engine
- Use an empty response for PropertyEditorValidations

Secondary:
- Add "EdgeWeightKind::Root" for the root AttributeValue
  - Components "use" both AttributeValues corresponding to providers as
    well as the root AttributeValue, so this edge indicates which one is
    root
  - It is possible we may want _both_ a "Use" and a "Root" edge for the
    root AttributeValue in the future, but until multiple edges for a
    given source and target is functional, this will suffice
- Add integration test for assembling the property editor
  - This test is trivial and is mostly useful for debugging output
- Restore the Prop "documentation" field
- Ensure "WidgetOptions" works with postcard
  - Postcard wants a known size, but there is potentially another
    solution lurking here

Signed-off-by: Nick Gerace <[email protected]>
@nickgerace nickgerace changed the title ENG-1936 Perform Switchover Convert mostly everything to become a node or an edge Dec 16, 2023
@nickgerace
Copy link
Contributor Author

nickgerace commented Dec 16, 2023

Previously, this PR was aimed to be merged into the ENG-1703 PR, #2424. Now, its base branch is main and the aforementioned PR is closed.

@zacharyhamm zacharyhamm force-pushed the eng-1936-perform-switchover branch from 627cba7 to b12bb21 Compare December 18, 2023 21:04
zacharyhamm and others added 10 commits December 19, 2023 14:43
This restores (some of) the `apply_change_set` API endpoint. It does not
restore any functionality around Actions. An appropriate rebase request
is created to update the base change set of the change set specified in
the API request, and the change set is marked as applied, if the base
change set is updated without any errors, or conflicts.

This does not attempt to report any conflicts (planned for future work).
Replace `/c` with `/viz` to see a force directed visualization of the
graph. Also filter by Schema Variant

feat(web,sdf,dal): visualize the graph

feat(web,sdf): viz of individual schema variants
…value

feat(dal,sdf): insert property editor values in graph
- Add the ability to create inter-Component edges with the new engine
  - These are called "connections"
- Extend AttributePrototypeArgument to hold side effect metadata for a
  given connection
- Add the ability to find the AttributeValue corresponding to a
  Component and an explicit InternalProvider

Secondary:
- Add an integration test to test the new functionality
- Migrate the COREOS package for integration tests
- Add accessor queries for the test

Signed-off-by: Nick Gerace <[email protected]>
All changes described in the new engine.

Primary changes:
- Add ability to create edges in the UI
- Add ability to display edges in the UI
- Replace all usages of "Node" and "Socket" with "Component" and
  "Provider" in the frontend code (side note: I am almost certain
  that I broke something in the process of doing this)
- Remove the concept of "Nodes for Components" in the frontend code
  (side note: like before, I would not be surprised if something
  exploded)
- Remove returning every single field when creating an edge in the UI
  (only return the DiagramEdgeViewId)
- Restore the ability to list DiagramEdgeViews for a workspace
- Fix the ability to list ExternalProviders and explicit
  InternalProviders for a given SchemaVariantId
  - Remove the "dbg" statements that were tracking this bug
- Restore DiagramSocketViews (returns with a slightly different name)
- Restore the "create_connection" route in SDF
- Add a README for working with the new engine

Secondary changes:
- Add "EdgeWeightKind::InterComponent" to help find inter-Component
  AttributePrototypeArguments starting from ExternalProviders
- Return the AttributePrototypeArgumentId when using
  "Component::connect", which is the lower-level interface for creating
  an edge in the diagram
- Prepend NodeSide and SocketDirection with "Diagram" to indicate that
  they are not graph-related concepts
- Extend "Component::connect" integration test to check the
  DiagramEdgeViews
- Add an integration test to test "DiagramSocketView::list"

Misc changes:
- Rename "mostly_everything_is_a_node_or_an_edge" integration test
  module to "new_engine" for ease of use

Signed-off-by: Nick Gerace <[email protected]>
@nickgerace nickgerace closed this Jan 3, 2024
@nickgerace nickgerace deleted the eng-1936-perform-switchover branch January 3, 2024 21:37
@nickgerace
Copy link
Contributor Author

nickgerace commented Jan 3, 2024

Closed because the branch was renamed to new-engine. New PR: #3113.

si-bors-ng bot added a commit that referenced this pull request Mar 4, 2024
3113: Switch to the new engine r=nickgerace a=nickgerace

## Description

Since July 2023, we have been dreaming of this moment. The changes in `new-engine` all hit `main`. This has been a journey of many squashed commits, bad git merges, pain, sweat and tears. That all changes today. Welcome to the new engine.

## History

This PR is a continuation of #2879, which was closed because the branch was renamed to `new-engine`.

Co-authored-by: Nick Gerace <[email protected]>
Co-authored-by: Jacob Helwig <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants