summaryrefslogtreecommitdiffstats
path: root/_log/bumblebee.md
blob: 25f08e4cb1d037a7a6744c86422cb64106951a51 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
---
title: 'Bumblebee: web script synthesizer'
date: 2025-04-02
layout: post
project: true
thumbnail: thumb_sm.png
---

Work project. Browser session-to-code conversion.

<video style="max-width:100%; margin-bottom: 10px" controls="" poster="poster.png">
  <source src="bee.mp4" type="video/mp4">
</video>

Architecture: C# WinForms host, embedded browser, code editor. Browser
extension rejected due to security policy and shallow event control.

Tool evaluation:

 - CefSharp: Discarded. API lacked elegance.
 - WebView2: Selected. Better WinForms integration. Hard dependency on
   Microsoft Edge--acceptable for corporate Windows environments.

Implementation:

 1. Interception: Injected JS hooks; internal browser event monitoring
    (pop-ups/downloads). 
 2. Transformation: Event → Token → Instruction Table → String.
 3. Optimization: Parallel event/text lists processing; rendered
    in <a href="https://github.com/desjarlais/Scintilla.NET" class="external"
    target="_blank" rel="noopener noreferrer">Scintilla.NET</a> 

Bug: Manual mid-session overrides desync code/event lists, bypassing optimizer.
Linear lists inadequate for state synchronization. Need to rethink data
structures; look to compiler Abstract Syntax Trees (AST) for intermediate
representation.

Verdict: Serves its purpose.