Frontend uudelleenrakennettu: Astro-komponentit, Wasm pääsäikeessä, ei Workeria

Vanha frontend siirretty temp/. Uusi rakenne:
- StatusBar.astro, Terminal.astro, Editor.astro, Guide.astro
- global.css erillinen
- Wasm pääsäikeessä (ei Worker — yksinkertainen, debugattava)
- Tab-completion, dropdown, projektikortti, Monaco, GUIDE.md
- Ei tokenisointia eikä koodilaboratoriota

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Jaakko Vanhala
2026-04-09 20:17:39 +03:00
parent e3fdb91ac5
commit a8c4af0975
9617 changed files with 996171 additions and 5349 deletions

View File

@@ -0,0 +1,2 @@
export function merge(foo: any, bar: any): any; // TODO
export function dset<T extends object, V>(obj: T, keys: string | ArrayLike<string | number>, value: V): void;

29
network-poc/frontend/node_modules/dset/merge/index.js generated vendored Normal file
View File

@@ -0,0 +1,29 @@
function merge(a, b, k) {
if (typeof a === 'object' && typeof b === 'object')  {
if (Array.isArray(a) && Array.isArray(b)) {
for (k=0; k < b.length; k++) {
a[k] = merge(a[k], b[k]);
}
} else {
for (k in b) {
if (k === '__proto__' || k === 'constructor' || k === 'prototype') break;
a[k] = merge(a[k], b[k]);
}
}
return a;
}
return b;
}
function dset(obj, keys, val) {
keys.split && (keys=keys.split('.'));
var i=0, l=keys.length, t=obj, x, k;
while (i < l) {
k = ''+keys[i++];
if (k === '__proto__' || k === 'constructor' || k === 'prototype') break;
t = t[k] = (i === l) ? merge(t[k],val) : (typeof(x=t[k])===typeof keys) ? x : (keys[i]*0 !== 0 || !!~(''+keys[i]).indexOf('.')) ? {} : [];
}
}
exports.dset = dset;
exports.merge = merge;

View File

@@ -0,0 +1 @@
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e(t.dset={})}(this,(function(t){function e(t,o,r){if("object"==typeof t&&"object"==typeof o){if(Array.isArray(t)&&Array.isArray(o))for(r=0;r<o.length;r++)t[r]=e(t[r],o[r]);else for(r in o){if("__proto__"===r||"constructor"===r||"prototype"===r)break;t[r]=e(t[r],o[r])}return t}return o}t.dset=function(t,o,r){o.split&&(o=o.split("."));for(var f,n,i=0,p=o.length,s=t;i<p&&"__proto__"!=(n=""+o[i++])&&"constructor"!==n&&"prototype"!==n;)s=s[n]=i===p?e(s[n],r):typeof(f=s[n])==typeof o?f:0*o[i]!=0||~(""+o[i]).indexOf(".")?{}:[]},t.merge=e}));

26
network-poc/frontend/node_modules/dset/merge/index.mjs generated vendored Normal file
View File

@@ -0,0 +1,26 @@
export function merge(a, b, k) {
if (typeof a === 'object' && typeof b === 'object')  {
if (Array.isArray(a) && Array.isArray(b)) {
for (k=0; k < b.length; k++) {
a[k] = merge(a[k], b[k]);
}
} else {
for (k in b) {
if (k === '__proto__' || k === 'constructor' || k === 'prototype') break;
a[k] = merge(a[k], b[k]);
}
}
return a;
}
return b;
}
export function dset(obj, keys, val) {
keys.split && (keys=keys.split('.'));
var i=0, l=keys.length, t=obj, x, k;
while (i < l) {
k = ''+keys[i++];
if (k === '__proto__' || k === 'constructor' || k === 'prototype') break;
t = t[k] = (i === l) ? merge(t[k],val) : (typeof(x=t[k])===typeof keys) ? x : (keys[i]*0 !== 0 || !!~(''+keys[i]).indexOf('.')) ? {} : [];
}
}