diff --git a/src/extension.ts b/src/extension.ts
index 6593540..0f4e74e 100644
--- a/src/extension.ts
+++ b/src/extension.ts
@@ -122,62 +122,10 @@ function createPanel(context : vscode.ExtensionContext, javaWatcher : JavaFileWa
// html content for the web viewer
panel.webview.html = getWebviewContent(panel.webview, context.extensionUri);
//listen for messages FROM the webview
- panel.webview.onDidReceiveMessage(async message => {
+ panel.webview.onDidReceiveMessage(message => {
console.log('Received from webview:', message);
- if (message.type === 'EXPORT_HTML') {
- const htmlContent = generateStandaloneHtml(message.payload.fileData);
- const uri = await vscode.window.showSaveDialog({
- filters: { 'HTML': ['html'] },
- defaultUri: vscode.Uri.file('codescape-city.html')
- });
- if (uri) {
- await vscode.workspace.fs.writeFile(uri, Buffer.from(htmlContent));
- vscode.window.showInformationMessage('City exported as HTML!');
- }
- }
- if (message.type === 'EXPORT_JSON') {
- const uri = await vscode.window.showSaveDialog({
- filters: { 'JSON': ['json'] },
- defaultUri: vscode.Uri.file('codescape-city.json')
- });
- if (uri) {
- await vscode.workspace.fs.writeFile(
- uri,
- Buffer.from(JSON.stringify(message.payload, null, 2))
- );
- vscode.window.showInformationMessage('City state exported as JSON!');
- }
- }
- });
-
- function generateStandaloneHtml(fileData: any[]): string {
- // Read the JS files and inline them
- return `
-
-
-
- Codescape City
-
-
-
-
-
-
-
- `;
- }
-
- //send mock data TO the webview
javaWatcher.addWebview(panel.webview);
+ });
//send mock data TO the webview (Change this to run a full state change)
panel.webview.postMessage({
@@ -572,48 +520,6 @@ function getWebviewContent(webview: vscode.Webview, extensionUri: vscode.Uri) {
render();
});
- // export button
- const exportBtn = document.createElement('button');
- exportBtn.textContent = 'Export PNG';
- exportBtn.style.cssText = 'position:fixed;top:10px;right:10px;z-index:100;padding:4px 8px;background:#598BAF;color:white;border:none;border-radius:4px;cursor:pointer;font-family:monospace;';
- document.body.appendChild(exportBtn);
-
- const exportHtmlBtn = document.createElement('button');
- exportHtmlBtn.textContent = 'Export HTML';
- exportHtmlBtn.style.cssText = 'position:fixed;top:35px;right:10px;z-index:100;padding:4px 8px;background:#8B5CF6;color:white;border:none;border-radius:4px;cursor:pointer;font-family:monospace;';
- document.body.appendChild(exportHtmlBtn);
-
- const exportJsonBtn = document.createElement('button');
- exportJsonBtn.textContent = 'Export JSON';
- exportJsonBtn.style.cssText = 'position:fixed;top:60px;right:10px;z-index:100;padding:4px 8px;background:#10B981;color:white;border:none;border-radius:4px;cursor:pointer;font-family:monospace;';
- document.body.appendChild(exportJsonBtn);
-
- exportBtn.addEventListener('click', () => {
- // Re-render without zoom to get clean capture
- const link = document.createElement('a');
- link.download = 'codescape-city.png';
- link.href = canvas.toDataURL('image/png');
- link.click();
- });
-
- exportHtmlBtn.addEventListener('click', () => {
- vscode.postMessage({
- type: 'EXPORT_HTML',
- payload: { fileData: fileData }
- });
- });
-
- exportJsonBtn.addEventListener('click', () => {
- vscode.postMessage({
- type: 'EXPORT_JSON',
- payload: {
- fileData: fileData,
- zoomLevel: zoomLevel,
- tileSize: TILE_L
- }
- });
- });
-
//initial render
render();