The internal hot path now uses gRPC from collab -> canvas-service. These
- * endpoints remain useful for manual inspection and debugging because they are
- * easy to exercise with curl/Postman during local development.
- */
-@RestController
-@RequestMapping("/api/canvases")
-@CrossOrigin(origins = "*")
-public class CanvasController {
-
- private final CanvasService canvasService;
-
- public CanvasController(CanvasService canvasService) {
- this.canvasService = canvasService;
- }
-
- /**
- * Return the current durable canvas state.
- */
- @GetMapping("/{canvasId}")
- public CanvasSnapshot getSnapshot(@PathVariable String canvasId) {
- return canvasService.getSnapshot(canvasId);
- }
-
- /**
- * Return committed structural ops newer than the caller's last known version.
- */
- @GetMapping("/{canvasId}/ops")
- public List The HTTP controller can remain available as a debug surface, but internal
- * service-to-service traffic should use this gRPC contract so collab and canvas
- * share one compile-time-checked interface.
+ * This is the only service-to-service transport for durable canvas state.
+ * Keeping the boundary on gRPC avoids a second parallel contract drifting away
+ * from the real persistence and sequencing path.
*/
@GrpcService
public class CanvasGrpcService extends CanvasServiceGrpc.CanvasServiceImplBase {
diff --git a/services/canvas/src/main/java/com/leetdoodle/canvas/service/CanvasService.java b/services/canvas/src/main/java/com/leetdoodle/canvas/service/CanvasService.java
index 0723cef..7a7ce55 100644
--- a/services/canvas/src/main/java/com/leetdoodle/canvas/service/CanvasService.java
+++ b/services/canvas/src/main/java/com/leetdoodle/canvas/service/CanvasService.java
@@ -33,9 +33,8 @@
* Application service for durable structural canvas operations.
*
* This service owns the "persisted truth" for nodes, edges, and structural
- * sequencing. A future collab integration can call into this service for
- * durable operations while continuing to relay ephemeral events like cursors in
- * memory.
+ * sequencing. Collab already calls into this service for durable operations
+ * while continuing to relay ephemeral events like cursors in memory.
*/
@Service
public class CanvasService {
diff --git a/services/canvas/src/main/resources/application.properties b/services/canvas/src/main/resources/application.properties
index f3040d2..84a5e54 100644
--- a/services/canvas/src/main/resources/application.properties
+++ b/services/canvas/src/main/resources/application.properties
@@ -1,5 +1,4 @@
spring.application.name=canvas-service
-server.port=8084
spring.datasource.url=jdbc:postgresql://localhost:5432/leetdoodle
spring.datasource.username=leetdoodle