Proto commits in Ultimaker/CuraEngine

These 69 commits are when the Protocol Buffers files have changed:

Commit:680da6b
Author:Erwan MATHIEU

Properly add the Roof feature type CURA-12250

Commit:6d77384
Author:Saumya Jain

Refactor first wall travel and add new approach move feature The code changes refactor the addFirstWallTravel function in LayerPlan and implement a new feature where a special travel path to the start of a seam is implemented to start printing seamlessly. This involves optimizations in retraction, travel speed, and starting point for extrusion. CURA-11830

Commit:1348030
Author:Jelle Spijker

Fix typo in comment Contribute to NP-5

The documentation is generated from this commit.

Commit:c4f638f
Author:Jelle Spijker

Add reminder for SlotID shadow facade Contributes to NP-5

Commit:0ca2e9b
Author:Erwan MATHIEU

Set sentry user name from message data instead of environment var

Commit:241b3e2
Author:Jelle Spijker

Add optional project_name to sentry Contribute to CURA-11482

Commit:bf5e4bd
Author:Jelle Spijker

Add Sentry tracking data to slice requests Two new fields, 'sentry_id' and 'cura_version', have been added to the slice request message. The 'sentry_id' corresponds to the anonymized Sentry user ID while 'cura_version' represents the version of Cura that requested the slice. These fields will allow for tracking and analyzing usage data in a more detailed and user-specific manner. Contribute to CURA-11482

Commit:d64b336
Author:Jelle Spijker

Update converter and proxy classes to include name and version of plugins Modified the operator() in converter classes to include arguments for plugin name and version. Updated SlotProxy and PluginProxy constructors to accommodate these changes. Also updated the handshake request to include the plugin name and version in its request. This change is necessary to facilitate identification and version control for plugins during the handshake process. Contributes to CURA-10619

Commit:0f3bca7
Author:Jelle Spijker

Add GCodePaths modify to Cura.proto SlotID CURA-10446

Commit:ea0cb69
Author:Jelle Spijker

Update gRPC definitions Conform agreed upon naming scheme CURA-10805

Commit:d4e0df1
Author:Jelle Spijker

Sync SlotID Enum in the future we should really dump Arcus CURA-10618 and CURA-10475

Commit:5b47932
Author:Jelle Spijker

Allow Cura front-end to set plugins (port & address) This can currently be done by setting the environment variables: - SIMPLIFY_ENABLE: default disabled, setting this to any value will enable the plugin - SIMPLIFY_ADDRESS: defaults to localhost - SIMPLIFY_PORT: defaults to 33700 - POSTPROCESS_ENABLE: default disabled, setting this to any value will enable the plugin - POSTPROCESS_ADDRESS: defaults to localhost - POSTPROCESS_PORT: defaults to 33701 [CURA-10475]

Commit:04c177b
Author:Jelle Spijker

Use curaengine_grpc_definitions conan package [plugin.proto] Remove plugin.proto and related definitions This commit removes the plugin.proto file and its related definitions. The file contained definitions for plugin identification and validation, as well as messages and services for the SIMPLIFY and POSTPROCESS slots. These definitions are no longer needed and can be removed from the codebase. [conanfile.py] Add dependency on curaengine_grpc_definitions This commit adds a new dependency on the curaengine_grpc_definitions package. The package provides the latest gRPC definitions for CuraEngine plugins. This dependency is necessary for proper integration with the plugin system and ensures that the correct gRPC definitions are available during the build process. [include/plugins/slots.h] Update gRPC include paths This commit updates the include paths for gRPC headers in the slots.h file. It replaces the previous inclusion of "plugin.grpc.pb.h" with "simplify.grpc.pb.h" and "postprocess.grpc.pb.h". This change reflects the updated structure of the gRPC definitions and ensures that the correct headers are included for the SIMPLIFY and POSTPROCESS slots. [include/plugins/converters.h] Update gRPC include paths This commit updates the include paths for gRPC headers in the converters.h file. It replaces the previous inclusion of "plugin.grpc.pb.h" with "simplify.grpc.pb.h" and "postprocess.grpc.pb.h". This change reflects the updated structure of the gRPC definitions and ensures that the correct headers are included for the SIMPLIFY and POSTPROCESS slots. [CMakeLists.txt] Update gRPC protos variable This commit updates the GRPC_PROTOS variable in CMakeLists.txt. The variable now contains a list of all gRPC definitions provided by the curaengine_grpc_definitions package. The list is used during the build process to generate the necessary code for gRPC services and messages. The updated variable ensures that all required gRPC definitions are included in the build. [CURA-10475]

Commit:8d8ed12
Author:Jelle Spijker

Allow for default behaviour if no plugin is used This commit updates the plugin registration in the Application class in the Application.cpp file. The changes include: Adding support for default functions in the simplify_slot and postprocess_slot classes. Creating a slot_registry typedef to hold the slots for simplification and post-processing. Conditionally registering the simplify_slot based on whether the front-end starts a plugin. Registering the postprocess_slot unconditionally. Demonstrating the usage of the simplify_slot by invoking it with sample data. These changes allow for flexible plugin registration and usage in the application. Note: Further modifications may be required based on the specific requirements and configuration of the application. [CURA-10475]

Commit:a5d5a4d
Author:Jelle Spijker

Add UNKNOWN SlotID As is common practice when working with gRPC and Protobuf [CURA-10475]

Commit:eea5930
Author:Jelle Spijker

Add support for asio-grpc and update protobuf usage - Add asio-grpc to requirements and link it to _CuraEngine - Generate plugin types using asio_grpc_protobuf_generate - Update protobuf usage in conanfile.py and CMakeLists.txt - Update plugin.proto to use services and rpc calls [CURA-10475]

Commit:a6ff6a4
Author:Jelle Spijker

Add documentation Contributes to [CURA-10475]

Commit:27f0216
Author:Jelle Spijker

Added converters to the PluginProxy [CURA-10475]

Commit:5db1eae
Author:Jelle Spijker

Initial CuraEngine plugin architecture Contributes to [CURA-10475]

Commit:b9bc7f7
Author:jspijker

Clean-up gh-pages

This commit does not contain any .proto files.

Commit:f612120
Author:Jelle Spijker
Committer:GitHub

Update Cura.proto Co-authored-by: Ghostkeeper <Ghostkeeper@users.noreply.github.com>

Commit:1d054b6
Author:jspijker
Committer:jspijker

Expand Arcus with a SliceUUID message To communicate a generated UUID for that specific slice to the front end Contributes to CURA-8830

Commit:2053f4a
Author:Ghostkeeper

Decouple structure types from PrintFeatureType We may want to send out different types of information than just the printed parts, e.g. which areas it may comb through. We may also have some print feature types that are not ever going to be visualised, such as NoneType or TravelType.

Commit:921c711
Author:Ghostkeeper

Send X, Y and Z coordinates together It's more data, but otherwise the front-end has to transform this data which is inefficent too, and difficult to implement.

Commit:ee36542
Author:Ghostkeeper

Add Protobuf message for structure polygons This is how we'll transfer the data from CuraEngine to the front-end. However I'm afraid that we'll need to triangulate these polygons because visualising arbitrary complex polygons in the front-end is not going to work well.

Commit:8f27416
Author:Jaime van Kessel

Add PrimeTower type to proto file

Commit:01a86ef
Author:Lipu Fei

Put time data together in Cura.proto

Commit:a68ce52
Author:Aleksei S

Added Prime tower time to PrintTimeMaterialEstimates CURA-5932

Commit:d78684c
Author:paukstelis

Initial commit for including mesh names as comments in gcode

Commit:6411d4a
Author:Diego Prado Gesto

CURA-4526 Add information related to feedrates and line thicknesses to the messages sent to Cura. That is needed for using with the Simulation View due to the lines can be colored depending on those factors.

Commit:d319c2d
Author:Diego Prado Gesto

Add line thickness and feedrates to the data sent to Cura

Commit:1dc3ca7
Author:14bitVoid

Forgot to commit new protobuf that splits print time estimates into multiple estimates

Commit:d28d86c
Author:Tim Kuipers
Committer:Tim Kuipers

doc: better documentation of limit_to_extruder property in the proto file (CURA-2308)

Commit:281e647
Author:Tim Kuipers

refactor: global_inherits_stack ==> limit_to_extruder (CURA-2308)

Commit:bd8c501
Author:Aldo Hoeben
Committer:GitHub

Update Cura.proto Add polygon type for Support Interface CURA-2049

Commit:b8a6888
Author:Ghostkeeper

Sync from frontend: global_inherits_stack message The front-end added the global_inherits_stack SettingExtruder message. We should add it too to be able to read the message. This is a copy from the same file in Cura's front-end. Contributes to issue CURA-2011.

Commit:ddf7bbe
Author:Johan K

Changed the data type of the layer visualization data from int64 to float. Also added extruder number and point dimensionality to the message.

Commit:019116c
Author:Johan K

Merge branch 'master' of https://github.com/Ultimaker/CuraEngine into layerview_dev

Commit:b0f725c
Author:Johan K

Added extruder nr to PathSegment definition in Cura.proto

Commit:cbf7960
Author:Tim Kuipers

lil codestyle fix

Commit:fc7a60b
Author:Javier Lechuga
Committer:Tim Kuipers

SendMaterialEstimatesOfBothExtrudersToFrontend. First commit not ready yet. CURA-1687

Commit:c202d1b
Author:Johan K

Changed the message used to send the final slice result to the front-end to LayerOptimized Corrected the name of the data from polygon to path segment and left the old message for future visualization of the earlier stages.

Commit:0b05457
Author:Johan K

Adding polygon packing feature and change the structure of the layer data sent to the front-end to speed up the layer view

Commit:28b8b41
Author:Tim Kuipers

Added extruder to proto message CURA-1681 CURA-1682

Commit:ffcd076
Author:Tim Kuipers

doc: commented proto file (CURA-1682 CURA-1681)

Commit:3194e30
Author:Tim Kuipers

Updated proto file Objects & global settings are now sent in one message. Also added support for extruder settings CURA-1681 CURA-1682

Commit:6bcdd94
Author:Ghostkeeper
Committer:Ghostkeeper

Copy protocol file from front-end This synchronises the whitespace and comments from the front-end. The typeids are not necessary any more. Contributes to issue CURA-1210.

Commit:5da1632
Author:Ghostkeeper
Committer:Ghostkeeper

Remove sliced object lists from protocol Each layer is now sent individually, instead of grouped by object and grouping those objects in a sliced object list. The list was sometimes too large to send in one message. The objects weren't used by the front-end anyway. Contributes to issue CURA-1210.

Commit:cbf1152
Author:Ghostkeeper
Committer:Ghostkeeper

Remove object ID from layer Turns out that it is not needed in the front-end either any more. If we need it in the future, we'll add it again. Contributes to issue CURA-1210.

Commit:2273c5a
Author:Ghostkeeper
Committer:Ghostkeeper

Alter protocol to no longer group sliced objects They will be sent with one message per layer from now on. Contributes to issue CURA-1210.

Commit:94d8c3f
Author:Ghostkeeper
Committer:Ghostkeeper

Document protobuf message typeid Contributes to issue CURA-427.

Commit:e50b00f
Author:Tim Kuipers

fix: introduced new socket msg SlicingFinished (CURA-427)

Commit:05cfe62
Author:Hajo Nils Krabbenhöft
Committer:Arjen Hiemstra

add new types to protobuf

Commit:6516ae0
Author:Hajo Nils Krabbenhöft

add new types to protobuf

Commit:f999e1b
Author:Arjen Hiemstra
Committer:Arjen Hiemstra

Extend per-object setting support to MeshGroup

Commit:d43774c
Author:Arjen Hiemstra

Merge branch '15.06' * 15.06: (21 commits) bugfix: empty arcus messages bugfix & feature: insets support smaller outer wall line width Statically link libstdc++ on Linux to prevent issues with newer libstc++ bugfixes for raft problems: unregistered settings, printZ computed doubly, printZ didn't account for difference in initial slice Z and print Z, initial layer height should be appleid when using raft, wrong (negative) layer comments bugfix: extrusion per mm to extrusion mm3 per mm is_volumetric set bugfix: speed compensation for stable feedrate also changed the extrusion per mm bugfix: speed compensation for stable feedrate also changed the extrusion per mm bugfix+refactor: extrusion always per mm3 bugfix: no support for too low models bugfix: no support for too low models Also send infill polygon data to the UI, not just oultines Also send line width to the UI along with the polygon's points Add support for sending layer height and thickness to the UI Properly reset the extrusion amount between slicing tasks. Properly initialize extrusion_volume_per_mm variable bugfix: reset filament at new print Add missing <string> include so we can build on MacOSX Install the created executable bugfix gcode.writeMove(x,y,z) where z didn't get processed. = bug for wireprinting Fix support generation by making sure "True" is also recognised as true ...

Commit:debe1c5
Author:Jaime van Kessel

Renamed namespace of protobuff from Cura to cura::proto

Commit:b3de3b7
Author:Jaime van Kessel

Changes to make one at a time work (WIP)

Commit:5e8c73a
Author:Jaime van Kessel

Moar naming

Commit:d965f1b
Author:Arjen Hiemstra

Also send infill polygon data to the UI, not just oultines Contributes to Ultimaker/Cura#52

Commit:172722c
Author:Arjen Hiemstra

Also send line width to the UI along with the polygon's points Contributes to Ultimaker/Cura#52

Commit:702564f
Author:Arjen Hiemstra

Add support for sending layer height and thickness to the UI Contributes to Ultimaker/Cura#52

Commit:5f47023
Author:Arjen Hiemstra

Add print material amount and simplify print time message

Commit:b2e00b0
Author:daid

Send the proper prefix for UltiGCode for the Ultimaker2.

Commit:c851427
Author:daid

Allow setting of settings per mesh, useful for dual-extrusion.

Commit:d4f3d0c
Author:daid

Update engine to no longer use temp files to communicate the gcode to the frontend.

Commit:8a29563
Author:Arjen Hiemstra
Committer:Arjen Hiemstra

Add an id to the GCode message so we can track the object on the ui side

Commit:6b7d61d
Author:Arjen Hiemstra

Add SettingList and Setting messages to the protocol

Commit:866a1b4
Author:Arjen Hiemstra
Committer:Arjen Hiemstra

Add Cura protobug protocol file