Mercurial
comparison infinite_canvas/web_surface.h @ 280:49e9e591c9bb
Add persistent dictation, prewarmed WebRTC speech input, Copilot SDK routing, animated conversation lifecycle controls, parking, and architecture coverage.
| author | MrJuneJune <me@mrjunejune.com> |
|---|---|
| date | Tue, 18 Aug 2026 19:14:53 -0700 |
| parents | 8d560f50ed4c |
| children |
comparison
equal
deleted
inserted
replaced
| 279:b3b547563ec7 | 280:49e9e591c9bb |
|---|---|
| 2 #define INFINITE_CANVAS_WEB_SURFACE_H | 2 #define INFINITE_CANVAS_WEB_SURFACE_H |
| 3 | 3 |
| 4 #include "infinite_canvas/canvas.h" | 4 #include "infinite_canvas/canvas.h" |
| 5 | 5 |
| 6 #define CANVAS_MAX_WEB_VIEWS 12 | 6 #define CANVAS_MAX_WEB_VIEWS 12 |
| 7 | |
| 8 typedef enum { | |
| 9 CANVAS_DICTATION_EVENT_NONE = 0, | |
| 10 CANVAS_DICTATION_EVENT_STATUS, | |
| 11 CANVAS_DICTATION_EVENT_PARTIAL, | |
| 12 CANVAS_DICTATION_EVENT_FINAL, | |
| 13 } Canvas_Dictation_Event; | |
| 7 | 14 |
| 8 typedef struct { | 15 typedef struct { |
| 9 uint32 entity_id; | 16 uint32 entity_id; |
| 10 Canvas_Entity_Type entity_type; | 17 Canvas_Entity_Type entity_type; |
| 11 void *p_native; | 18 void *p_native; |
| 14 int32 texture_width; | 21 int32 texture_width; |
| 15 int32 texture_height; | 22 int32 texture_height; |
| 16 size_t pixel_capacity; | 23 size_t pixel_capacity; |
| 17 char source_url[CANVAS_ENTITY_TEXT_CAPACITY]; | 24 char source_url[CANVAS_ENTITY_TEXT_CAPACITY]; |
| 18 char url[CANVAS_ENTITY_TEXT_CAPACITY]; | 25 char url[CANVAS_ENTITY_TEXT_CAPACITY]; |
| 26 char dictation_text[CANVAS_ENTITY_TEXT_CAPACITY]; | |
| 27 uint32 dictation_sequence; | |
| 28 uint32 consumed_dictation_sequence; | |
| 29 int32 dictation_command; | |
| 30 Canvas_Dictation_Event dictation_event; | |
| 31 boolean is_dictation_transport; | |
| 19 boolean can_go_back; | 32 boolean can_go_back; |
| 20 boolean can_go_forward; | 33 boolean can_go_forward; |
| 21 boolean color_scheme_applied; | 34 boolean color_scheme_applied; |
| 22 boolean applied_dark_mode; | 35 boolean applied_dark_mode; |
| 23 boolean active; | 36 boolean active; |
| 29 typedef struct { | 42 typedef struct { |
| 30 Dowa_Arena *p_arena; | 43 Dowa_Arena *p_arena; |
| 31 void *p_native; | 44 void *p_native; |
| 32 Canvas_Web_View views[CANVAS_MAX_WEB_VIEWS]; | 45 Canvas_Web_View views[CANVAS_MAX_WEB_VIEWS]; |
| 33 uint32 focused_entity_id; | 46 uint32 focused_entity_id; |
| 47 int32 pending_dictation_command; | |
| 34 boolean dark_mode; | 48 boolean dark_mode; |
| 35 boolean initialized; | 49 boolean initialized; |
| 36 } Canvas_Web_Surface; | 50 } Canvas_Web_Surface; |
| 37 | 51 |
| 38 #if defined(__cplusplus) | 52 #if defined(__cplusplus) |
| 77 Canvas_Web_Surface *p_surface, | 91 Canvas_Web_Surface *p_surface, |
| 78 uint32 entity_id); | 92 uint32 entity_id); |
| 79 void Canvas_Web_Surface_Go_Forward( | 93 void Canvas_Web_Surface_Go_Forward( |
| 80 Canvas_Web_Surface *p_surface, | 94 Canvas_Web_Surface *p_surface, |
| 81 uint32 entity_id); | 95 uint32 entity_id); |
| 96 void Canvas_Web_Surface_Set_Dictation_Active( | |
| 97 Canvas_Web_Surface *p_surface, | |
| 98 boolean active); | |
| 99 void Canvas_Web_Surface_Commit_Dictation( | |
| 100 Canvas_Web_Surface *p_surface); | |
| 101 Canvas_Dictation_Event Canvas_Web_Surface_Consume_Dictation( | |
| 102 Canvas_Web_Surface *p_surface, | |
| 103 char *p_text, | |
| 104 size_t text_capacity); | |
| 82 boolean Canvas_Web_Surface_Is_Focused(const Canvas_Web_Surface *p_surface); | 105 boolean Canvas_Web_Surface_Is_Focused(const Canvas_Web_Surface *p_surface); |
| 83 void Canvas_Web_Surface_Shutdown(Canvas_Web_Surface *p_surface); | 106 void Canvas_Web_Surface_Shutdown(Canvas_Web_Surface *p_surface); |
| 84 | 107 |
| 85 #if defined(__cplusplus) | 108 #if defined(__cplusplus) |
| 86 } | 109 } |