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.
|