smol update
This commit is contained in:
@ -7,6 +7,8 @@ interface WorkerMessage {
|
||||
height?: number;
|
||||
time?: number;
|
||||
renderMode?: string;
|
||||
mouseX?: number;
|
||||
mouseY?: number;
|
||||
}
|
||||
|
||||
interface WorkerResponse {
|
||||
@ -34,7 +36,7 @@ class ShaderWorker {
|
||||
this.compileShader(message.id, message.code!);
|
||||
break;
|
||||
case 'render':
|
||||
this.renderShader(message.id, message.width!, message.height!, message.time!, message.renderMode || 'classic');
|
||||
this.renderShader(message.id, message.width!, message.height!, message.time!, message.renderMode || 'classic', message.mouseX || 0, message.mouseY || 0);
|
||||
break;
|
||||
}
|
||||
} catch (error) {
|
||||
@ -50,7 +52,7 @@ class ShaderWorker {
|
||||
|
||||
try {
|
||||
const safeCode = this.sanitizeCode(code);
|
||||
this.compiledFunction = new Function('x', 'y', 't', 'i', `
|
||||
this.compiledFunction = new Function('x', 'y', 't', 'i', 'mouseX', 'mouseY', `
|
||||
// Timeout protection
|
||||
const startTime = performance.now();
|
||||
let iterations = 0;
|
||||
@ -76,7 +78,7 @@ class ShaderWorker {
|
||||
}
|
||||
}
|
||||
|
||||
private renderShader(id: string, width: number, height: number, time: number, renderMode: string): void {
|
||||
private renderShader(id: string, width: number, height: number, time: number, renderMode: string, mouseX: number, mouseY: number): void {
|
||||
if (!this.compiledFunction) {
|
||||
this.postError(id, 'No compiled shader');
|
||||
return;
|
||||
@ -109,7 +111,7 @@ class ShaderWorker {
|
||||
const pixelIndex = y * width + x;
|
||||
|
||||
try {
|
||||
const value = this.compiledFunction(x, y, time, pixelIndex);
|
||||
const value = this.compiledFunction(x, y, time, pixelIndex, mouseX, mouseY);
|
||||
const safeValue = isFinite(value) ? value : 0;
|
||||
const [r, g, b] = this.calculateColor(safeValue, renderMode);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user