s30 Input v0 EventBus EventEmitterUseful 0.84 EventEmitterUseful 0.84 Both useful Present Pre-rename JavaScript · s30 / v0 ×
Declaration · line 4 "use strict";
(() => {
var v0 = class {
constructor() {
this._listeners = {};
}
on(v1, v2) {
(this._listeners[v1] ||= []).push(v2);
return () => this.off(v1, v2);
}
off(v3, v4) {
const v5 = this._listeners[v3];
if (v5) this._listeners[v3] = v5.filter(v6 => v6 !== v4);
… Reference · line 612 …
this.panX = (v4f - this.width * this.zoom) / 2;
this.panY = (v4g - this.height * this.zoom) / 2;
}
};
var v4i = new v0 ();
var v4j = class {
constructor() {
this.viewport = document.getElementById("viewport");
this.bgCanvas = document.getElementById("canvas-bg");
this.mainCanvas = document.getElementById("canvas-main");
this.overlayCanvas = document.getElementById("canvas-overlay");
…
s104 Input v1 event eventUseful 0.84 eventUseful 0.84 Both useful Present Pre-rename JavaScript · s104 / v1 ×
Declaration · line 8 …
(() => {
var v0 = class {
constructor() {
this._listeners = {};
}
on(v1 , v2) {
(this._listeners[v1] ||= []).push(v2);
return () => this.off(v1, v2);
}
off(v3, v4) {
const v5 = this._listeners[v3];
if (v5) this._listeners[v3] = v5.filter(v6 => v6 !== v4);
}
emit(v7, ...v8) {
…
s108 Input v2 fn listenerUseful 0.77 listener11Useful 0.44 FlowName better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s108 / v2 ×
Declaration · line 8 …
(() => {
var v0 = class {
constructor() {
this._listeners = {};
}
on(v1, v2 ) {
(this._listeners[v1] ||= []).push(v2);
return () => this.off(v1, v2);
}
off(v3, v4) {
const v5 = this._listeners[v3];
if (v5) this._listeners[v3] = v5.filter(v6 => v6 !== v4);
}
emit(v7, ...v8) {
…
s210 Input v3 event eventUseful 0.86 eventName3Useful 0.45 FlowName better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s210 / v3 ×
Declaration · line 12 …
(this._listeners[v1] ||= []).push(v2);
return () => this.off(v1, v2);
}
off(v3 , v4) {
const v5 = this._listeners[v3];
if (v5) this._listeners[v3] = v5.filter(v6 => v6 !== v4);
}
emit(v7, ...v8) {
for (const v9 of this._listeners[v7] || []) v9(...v8);
}
};
var va = class vb {
constructor(vc, vd, ve = "Layer") {
…
s214 Input v4 fn listener2Useful 0.42 listener11Useful 0.41 Both poor Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s214 / v4 ×
Declaration · line 12 …
(this._listeners[v1] ||= []).push(v2);
return () => this.off(v1, v2);
}
off(v3, v4 ) {
const v5 = this._listeners[v3];
if (v5) this._listeners[v3] = v5.filter(v6 => v6 !== v4);
}
emit(v7, ...v8) {
for (const v9 of this._listeners[v7] || []) v9(...v8);
}
};
var va = class vb {
constructor(vc, vd, ve = "Layer") {
…
s232 Input v5 a listenersUseful 0.88 listeners4Useful 0.30 FlowName better Present Pre-rename JavaScript · s232 / v5 ×
Declaration · line 13 …
(this._listeners[v1] ||= []).push(v2);
return () => this.off(v1, v2);
}
off(v3, v4) {
const v5 = this._listeners[v3];
if (v5) this._listeners[v3] = v5.filter(v6 => v6 !== v4);
}
emit(v7, ...v8) {
for (const v9 of this._listeners[v7] || []) v9(...v8);
}
};
var va = class vb {
constructor(vc, vd, ve = "Layer") {
…
s304 Input v6 f listenerUseful 0.79 itemUseful 0.33 FlowName better Present Pre-rename JavaScript · s304 / v6 ×
Declaration · line 14 …
off(v3, v4) {
const v5 = this._listeners[v3];
if (v5) this._listeners[v3] = v5.filter(v6 => v6 !== v4);
}
emit(v7, ...v8) {
for (const v9 of this._listeners[v7] || []) v9(...v8);
}
};
var va = class vb {
constructor(vc, vd, ve = "Layer") {
this.canvas = document.createElement("canvas");
this.canvas.width = vc;
…
s337 Input v7 event eventNameUseful 0.80 eventName3Useful 0.34 FlowName better Present Pre-rename JavaScript · s337 / v7 ×
Declaration · line 16 …
const v5 = this._listeners[v3];
if (v5) this._listeners[v3] = v5.filter(v6 => v6 !== v4);
}
emit(v7 , ...v8) {
for (const v9 of this._listeners[v7] || []) v9(...v8);
}
};
var va = class vb {
constructor(vc, vd, ve = "Layer") {
this.canvas = document.createElement("canvas");
this.canvas.width = vc;
this.canvas.height = vd;
…
s344 Input v8 args argsUseful 0.72 eventArgsUseful 0.72 Humanify better Present Pre-rename JavaScript · s344 / v8 ×
Declaration · line 16 …
const v5 = this._listeners[v3];
if (v5) this._listeners[v3] = v5.filter(v6 => v6 !== v4);
}
emit(v7, ...v8 ) {
for (const v9 of this._listeners[v7] || []) v9(...v8);
}
};
var va = class vb {
constructor(vc, vd, ve = "Layer") {
this.canvas = document.createElement("canvas");
this.canvas.width = vc;
this.canvas.height = vd;
…
s367 Input v9 fn listenerUseful 0.71 listener11Useful 0.41 FlowName better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s367 / v9 ×
Declaration · line 17 …
if (v5) this._listeners[v3] = v5.filter(v6 => v6 !== v4);
}
emit(v7, ...v8) {
for (const v9 of this._listeners[v7] || []) v9(...v8);
}
};
var va = class vb {
constructor(vc, vd, ve = "Layer") {
this.canvas = document.createElement("canvas");
this.canvas.width = vc;
this.canvas.height = vd;
this.ctx = this.canvas.getContext("2d");
…
s428 Input va Layer Layer2Useful 0.34 LayerUseful 0.96 Humanify better Present Pre-rename JavaScript · s428 / va ×
Declaration · line 20 …
emit(v7, ...v8) {
for (const v9 of this._listeners[v7] || []) v9(...v8);
}
};
var va = class vb {
constructor(vc, vd, ve = "Layer") {
this.canvas = document.createElement("canvas");
this.canvas.width = vc;
this.canvas.height = vd;
this.ctx = this.canvas.getContext("2d");
this.name = ve;
this.opacity = 1;
… Reference · line 302 …
this.composite.height = v2m;
this.compositeCtx = this.composite.getContext("2d");
const v2p = new va (v2l, v2m, "Background");
if (v2o === "white") {
v2p.ctx.fillStyle = "#ffffff";
v2p.ctx.fillRect(0, 0, v2l, v2m);
} else if (v2o === "black") {
v2p.ctx.fillStyle = "#000000";
v2p.ctx.fillRect(0, 0, v2l, v2m);
…
s439 Input vb _Layer LayerUseful 0.93 Layer3Useful 0.31 FlowName better Present Pre-rename JavaScript · s439 / vb ×
Declaration · line 20 …
emit(v7, ...v8) {
for (const v9 of this._listeners[v7] || []) v9(...v8);
}
};
var va = class vb {
constructor(vc, vd, ve = "Layer") {
this.canvas = document.createElement("canvas");
this.canvas.width = vc;
this.canvas.height = vd;
this.ctx = this.canvas.getContext("2d");
this.name = ve;
this.opacity = 1;
… Reference · line 42 …
this.ctx.clearRect(0, 0, this.canvas.width, this.canvas.height);
this.ctx.putImageData(vf, 0, 0);
}
clone() {
const vg = new vb (this.canvas.width, this.canvas.height, this.name);
vg.ctx.drawImage(this.canvas, 0, 0);
vg.opacity = this.opacity;
vg.visible = this.visible;
vg.blendMode = this.blendMode;
return vg;
}
toDataURL() {
…
s460 Input vc width widthUseful 0.96 widthUseful 0.96 Both useful Present Pre-rename JavaScript · s460 / vc ×
Declaration · line 21 …
for (const v9 of this._listeners[v7] || []) v9(...v8);
}
};
var va = class vb {
constructor(vc , vd, ve = "Layer") {
this.canvas = document.createElement("canvas");
this.canvas.width = vc;
this.canvas.height = vd;
this.ctx = this.canvas.getContext("2d");
this.name = ve;
this.opacity = 1;
this.visible = true;
…
s464 Input vd height heightUseful 0.95 heightUseful 0.95 Both useful Present Pre-rename JavaScript · s464 / vd ×
Declaration · line 21 …
for (const v9 of this._listeners[v7] || []) v9(...v8);
}
};
var va = class vb {
constructor(vc, vd , ve = "Layer") {
this.canvas = document.createElement("canvas");
this.canvas.width = vc;
this.canvas.height = vd;
this.ctx = this.canvas.getContext("2d");
this.name = ve;
this.opacity = 1;
this.visible = true;
…
s468 Input ve name layerNameUseful 0.90 layerNameUseful 0.90 Both useful Present Pre-rename JavaScript · s468 / ve ×
Declaration · line 21 …
for (const v9 of this._listeners[v7] || []) v9(...v8);
}
};
var va = class vb {
constructor(vc, vd, ve = "Layer") {
this.canvas = document.createElement("canvas");
this.canvas.width = vc;
this.canvas.height = vd;
this.ctx = this.canvas.getContext("2d");
this.name = ve;
this.opacity = 1;
this.visible = true;
…
s981 Input vf imageData snapshotUseful 0.45 imageDataUseful 0.84 Humanify better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s981 / vf ×
Declaration · line 37 …
return this.ctx.getImageData(0, 0, this.canvas.width, this.canvas.height);
}
restoreSnapshot(vf ) {
this.ctx.clearRect(0, 0, this.canvas.width, this.canvas.height);
this.ctx.putImageData(vf, 0, 0);
}
clone() {
const vg = new vb(this.canvas.width, this.canvas.height, this.name);
vg.ctx.drawImage(this.canvas, 0, 0);
…
s1129 Input vg l clonedLayerUseful 0.82 clonedLayerUseful 0.82 Both useful Present Pre-rename JavaScript · s1129 / vg ×
Declaration · line 42 …
this.ctx.clearRect(0, 0, this.canvas.width, this.canvas.height);
this.ctx.putImageData(vf, 0, 0);
}
clone() {
const vg = new vb(this.canvas.width, this.canvas.height, this.name);
vg.ctx.drawImage(this.canvas, 0, 0);
vg.opacity = this.opacity;
vg.visible = this.visible;
vg.blendMode = this.blendMode;
return vg;
}
toDataURL() {
…
s1445 Input vi History HistoryManagerUseful 0.80 EventEmitter2Useful 0.03 FlowName better Absent Pre-rename JavaScript · s1445 / vi ×
Declaration · line 53 …
}
toDataURL() {
return this.canvas.toDataURL("image/png");
}
};
var vi = class {
constructor(vj = 50) {
this.states = [];
this.index = -1;
this.maxSteps = vj;
}
push(vk) {
this.states = this.states.slice(0, this.index + 1);
this.states.push(vk);
if (this.states.length > this.maxSteps) this.states.shift();
… Reference · line 292 …
this.projectPath = null;
this.layers = [];
this.activeLayerIndex = 0;
this.history = new vi ();
this.zoom = 1;
this.panX = 0;
this.panY = 0;
this.selection = new vl(v2l, v2m);
this.dirty = false;
this.composite = document.createElement("canvas");
this.composite.width = v2l;
this.composite.height = v2m;
…
s1474 Input vj maxSteps maxStepsUseful 0.90 maxStepsUseful 0.90 Both useful Present Pre-rename JavaScript · s1474 / vj ×
Declaration · line 54 …
return this.canvas.toDataURL("image/png");
}
};
var vi = class {
constructor(vj = 50) {
this.states = [];
this.index = -1;
this.maxSteps = vj;
}
push(vk) {
this.states = this.states.slice(0, this.index + 1);
this.states.push(vk);
if (this.states.length > this.maxSteps) this.states.shift();
…
s1573 Input vk state stateUseful 0.85 stateUseful 0.85 Both useful Present Pre-rename JavaScript · s1573 / vk ×
Declaration · line 59 …
constructor(vj = 50) {
this.states = [];
this.index = -1;
this.maxSteps = vj;
}
push(vk ) {
this.states = this.states.slice(0, this.index + 1);
this.states.push(vk);
if (this.states.length > this.maxSteps) this.states.shift();
this.index = this.states.length - 1;
}
canUndo() {
return this.index >= 0;
…
s2181 Input vl Selection SelectionMaskUseful 0.32 EventEmitter3Useful 0.02 Both poor Absent Pre-rename JavaScript · s2181 / vl ×
Declaration · line 84 …
return this.states[++this.index];
}
clear() {
this.states = [];
this.index = -1;
}
};
var vl = class {
constructor(vm, vn) {
this.width = vm;
this.height = vn;
this.mask = null;
this.bounds = null;
this.active = false;
this._animOffset = 0;
this._contours = null;
}
setRect(vo, vq, vr, vs) {
… Reference · line 296 …
this.zoom = 1;
this.panX = 0;
this.panY = 0;
this.selection = new vl (v2l, v2m);
this.dirty = false;
this.composite = document.createElement("canvas");
this.composite.width = v2l;
this.composite.height = v2m;
this.compositeCtx = this.composite.getContext("2d");
const v2p = new va(v2l, v2m, "Background");
…
s2210 Input vm width widthUseful 0.93 widthUseful 0.93 Both useful Present Pre-rename JavaScript · s2210 / vm ×
Declaration · line 85 …
this.states = [];
this.index = -1;
}
};
var vl = class {
constructor(vm , vn) {
this.width = vm;
this.height = vn;
this.mask = null;
this.bounds = null;
this.active = false;
this._animOffset = 0;
this._contours = null;
}
setRect(vo, vq, vr, vs) {
vo = Math.max(0, Math.round(vo));
…
s2214 Input vn height heightUseful 0.95 heightUseful 0.95 Both useful Present Pre-rename JavaScript · s2214 / vn ×
Declaration · line 85 …
this.states = [];
this.index = -1;
}
};
var vl = class {
constructor(vm, vn ) {
this.width = vm;
this.height = vn;
this.mask = null;
this.bounds = null;
this.active = false;
this._animOffset = 0;
this._contours = null;
}
setRect(vo, vq, vr, vs) {
vo = Math.max(0, Math.round(vo));
…
s2419 Input vo x xUseful 0.59 startXUseful 0.70 Both useful Present Usefulness probability is near the provisional 0.5 boundary. Preference confidence is low. Pre-rename JavaScript · s2419 / vo ×
Declaration · line 94 …
this.active = false;
this._animOffset = 0;
this._contours = null;
}
setRect(vo , vq, vr, vs) {
vo = Math.max(0, Math.round(vo));
vq = Math.max(0, Math.round(vq));
vr = Math.min(this.width - vo, Math.round(vr));
vs = Math.min(this.height - vq, Math.round(vs));
if (vr <= 0 || vs <= 0) {
this.clear();
… Reference · line 104 …
this.mask = new Uint8Array(this.width * this.height);
for (let vt = vq; vt < vq + vs; vt++) for (let vu = vo ; vu < vo + vr; vu++) this.mask[vt * this.width + vu] = 1;
this.bounds = {
x: vo,
y: vq,
w: vr,
h: vs
};
this._contours = null;
this.active = true;
}
setMask(vv, vx) {
this.mask = vv;
…
s2423 Input vq y yUseful 0.77 yUseful 0.77 Both useful Present Pre-rename JavaScript · s2423 / vq ×
Declaration · line 94 …
this.active = false;
this._animOffset = 0;
this._contours = null;
}
setRect(vo, vq , vr, vs) {
vo = Math.max(0, Math.round(vo));
vq = Math.max(0, Math.round(vq));
vr = Math.min(this.width - vo, Math.round(vr));
vs = Math.min(this.height - vq, Math.round(vs));
if (vr <= 0 || vs <= 0) {
this.clear();
… Reference · line 104 …
return;
}
this.mask = new Uint8Array(this.width * this.height);
for (let vt = vq ; vt < vq + vs; vt++) for (let vu = vo; vu < vo + vr; vu++) this.mask[vt * this.width + vu] = 1;
this.bounds = {
x: vo,
y: vq,
w: vr,
h: vs
};
this._contours = null;
this.active = true;
…
s2427 Input vr w widthUseful 0.67 widthUseful 0.67 Both useful Present Pre-rename JavaScript · s2427 / vr ×
Declaration · line 94 …
this.active = false;
this._animOffset = 0;
this._contours = null;
}
setRect(vo, vq, vr , vs) {
vo = Math.max(0, Math.round(vo));
vq = Math.max(0, Math.round(vq));
vr = Math.min(this.width - vo, Math.round(vr));
vs = Math.min(this.height - vq, Math.round(vs));
if (vr <= 0 || vs <= 0) {
this.clear();
… Reference · line 104 …
this.mask = new Uint8Array(this.width * this.height);
for (let vt = vq; vt < vq + vs; vt++) for (let vu = vo; vu < vo + vr ; vu++) this.mask[vt * this.width + vu] = 1;
this.bounds = {
x: vo,
y: vq,
w: vr,
h: vs
};
this._contours = null;
this.active = true;
}
setMask(vv, vx) {
this.mask = vv;
…
s2431 Input vs h heightUseful 0.86 heightUseful 0.86 Both useful Present Pre-rename JavaScript · s2431 / vs ×
Declaration · line 94 …
this.active = false;
this._animOffset = 0;
this._contours = null;
}
setRect(vo, vq, vr, vs ) {
vo = Math.max(0, Math.round(vo));
vq = Math.max(0, Math.round(vq));
vr = Math.min(this.width - vo, Math.round(vr));
vs = Math.min(this.height - vq, Math.round(vs));
if (vr <= 0 || vs <= 0) {
this.clear();
… Reference · line 104 …
this.mask = new Uint8Array(this.width * this.height);
for (let vt = vq; vt < vq + vs ; vt++) for (let vu = vo; vu < vo + vr; vu++) this.mask[vt * this.width + vu] = 1;
this.bounds = {
x: vo,
y: vq,
w: vr,
h: vs
};
this._contours = null;
this.active = true;
}
setMask(vv, vx) {
…
s2779 Input vt row rowUseful 0.83 y2Useful 0.07 FlowName better Present Pre-rename JavaScript · s2779 / vt ×
Declaration · line 104 …
return;
}
this.mask = new Uint8Array(this.width * this.height);
for (let vt = vq; vt < vq + vs; vt++) for (let vu = vo; vu < vo + vr; vu++) this.mask[vt * this.width + vu] = 1;
this.bounds = {
x: vo,
y: vq,
w: vr,
h: vs
};
this._contours = null;
this.active = true;
…
s2817 Input vu col colUseful 0.90 colIndexUseful 0.80 FlowName better Present Pre-rename JavaScript · s2817 / vu ×
Declaration · line 104 …
this.mask = new Uint8Array(this.width * this.height);
for (let vt = vq; vt < vq + vs; vt++) for (let vu = vo; vu < vo + vr; vu++) this.mask[vt * this.width + vu] = 1;
this.bounds = {
x: vo,
y: vq,
w: vr,
h: vs
};
this._contours = null;
this.active = true;
}
setMask(vv, vx) {
this.mask = vv;
…
s3046 Input vv mask maskUseful 0.93 maskUseful 0.93 Both useful Present Pre-rename JavaScript · s3046 / vv ×
Declaration · line 114 …
h: vs
};
this._contours = null;
this.active = true;
}
setMask(vv , vx) {
this.mask = vv;
this.bounds = vx;
this._computeEdges();
this.active = true;
}
clear() {
this.mask = null;
this.bounds = null;
this._contours = null;
this.active = false;
}
…
s3050 Input vx bounds boundsUseful 0.91 boundsUseful 0.91 Both useful Present Pre-rename JavaScript · s3050 / vx ×
Declaration · line 114 …
h: vs
};
this._contours = null;
this.active = true;
}
setMask(vv, vx ) {
this.mask = vv;
this.bounds = vx;
this._computeEdges();
this.active = true;
}
clear() {
this.mask = null;
this.bounds = null;
this._contours = null;
this.active = false;
}
isSelected(vy, vz) {
…
s3303 Input vy px xUseful 0.73 xUseful 0.73 Both useful Present Pre-rename JavaScript · s3303 / vy ×
Declaration · line 126 …
this.bounds = null;
this._contours = null;
this.active = false;
}
isSelected(vy , vz) {
if (!this.active || !this.mask) return true;
if (vy < 0 || vy >= this.width || vz < 0 || vz >= this.height) return false;
return this.mask[vz * this.width + vy] === 1;
}
clipCanvas() {
if (!this.active || !this.mask) return null;
…
s3307 Input vz py yUseful 0.62 yCoordUseful 0.70 Humanify better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s3307 / vz ×
Declaration · line 126 …
this.bounds = null;
this._contours = null;
this.active = false;
}
isSelected(vy, vz ) {
if (!this.active || !this.mask) return true;
if (vy < 0 || vy >= this.width || vz < 0 || vz >= this.height) return false;
return this.mask[vz * this.width + vy] === 1;
}
clipCanvas() {
if (!this.active || !this.mask) return null;
…
s3587 Input v10 c canvasElementUseful 0.86 canvasElementUseful 0.86 Both useful Present Pre-rename JavaScript · s3587 / v10 ×
Declaration · line 133 …
return this.mask[vz * this.width + vy] === 1;
}
clipCanvas() {
if (!this.active || !this.mask) return null;
const v10 = document.createElement("canvas");
v10.width = this.width;
v10.height = this.height;
const v11 = v10.getContext("2d");
const v12 = v11.createImageData(this.width, this.height);
for (let v13 = 0; v13 < this.mask.length; v13++) {
… Reference · line 144 …
v12.data[v13 * 4 + 3] = 255;
}
}
v11.putImageData(v12, 0, 0);
return v10 ;
}
applyClip(v14) {
if (!this.active || !this.bounds) return;
const v15 = this.bounds;
if (this._isRectangular()) {
v14.beginPath();
v14.rect(v15.x, v15.y, v15.w, v15.h);
v14.clip();
} else {
…
s3701 Input v11 ctx canvasContextUseful 0.83 contextUseful 0.83 Both useful Present Preference confidence is low. Pre-rename JavaScript · s3701 / v11 ×
Declaration · line 136 …
const v10 = document.createElement("canvas");
v10.width = this.width;
v10.height = this.height;
const v11 = v10.getContext("2d");
const v12 = v11.createImageData(this.width, this.height);
for (let v13 = 0; v13 < this.mask.length; v13++) {
if (this.mask[v13]) {
v12.data[v13 * 4 + 3] = 255;
}
}
v11.putImageData(v12, 0, 0);
…
s3741 Input v12 id imageDataUseful 0.89 imageDataUseful 0.89 Both useful Present Pre-rename JavaScript · s3741 / v12 ×
Declaration · line 137 …
v10.width = this.width;
v10.height = this.height;
const v11 = v10.getContext("2d");
const v12 = v11.createImageData(this.width, this.height);
for (let v13 = 0; v13 < this.mask.length; v13++) {
if (this.mask[v13]) {
v12.data[v13 * 4 + 3] = 255;
}
}
v11.putImageData(v12, 0, 0);
return v10;
…
s3808 Input v13 i pixelIndexUseful 0.67 iUseful 0.39 FlowName better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s3808 / v13 ×
Declaration · line 138 …
const v11 = v10.getContext("2d");
const v12 = v11.createImageData(this.width, this.height);
for (let v13 = 0; v13 < this.mask.length; v13++) {
if (this.mask[v13]) {
v12.data[v13 * 4 + 3] = 255;
}
}
v11.putImageData(v12, 0, 0);
return v10;
}
applyClip(v14) {
if (!this.active || !this.bounds) return;
…
s4010 Input v14 ctx ctxUseful 0.84 ctxUseful 0.84 Both useful Present Pre-rename JavaScript · s4010 / v14 ×
Declaration · line 146 …
}
}
v11.putImageData(v12, 0, 0);
return v10;
}
applyClip(v14 ) {
if (!this.active || !this.bounds) return;
const v15 = this.bounds;
if (this._isRectangular()) {
v14.beginPath();
v14.rect(v15.x, v15.y, v15.w, v15.h);
v14.clip();
} else {
v14.beginPath();
… Reference · line 155 …
v14.rect(v15.x, v15.y, v15.w, v15.h);
v14.clip();
} else {
v14.beginPath();
v14 .rect(v15.x, v15.y, v15.w, v15.h);
v14.clip();
}
}
_isRectangular() {
if (!this.mask || !this.bounds) return false;
const {
x: v16,
y: v17,
w: v18,
h: v19
} = this.bounds;
…
s4077 Input v15 b boundsUseful 0.88 boundsUseful 0.88 Both useful Present Pre-rename JavaScript · s4077 / v15 ×
Declaration · line 148 …
return v10;
}
applyClip(v14) {
if (!this.active || !this.bounds) return;
const v15 = this.bounds;
if (this._isRectangular()) {
v14.beginPath();
v14.rect(v15.x, v15.y, v15.w, v15.h);
v14.clip();
} else {
v14.beginPath();
v14.rect(v15.x, v15.y, v15.w, v15.h);
v14.clip();
…
s4442 Input v16 x xUseful 0.82 boundsXUseful 0.67 Both useful Present Preference confidence is low. Pre-rename JavaScript · s4442 / v16 ×
Declaration · line 162 …
_isRectangular() {
if (!this.mask || !this.bounds) return false;
const {
x: v16 ,
y: v17,
w: v18,
h: v19
} = this.bounds;
for (let v1a = v17; v1a < v17 + v19; v1a++) for (let v1b = v16; v1b < v16 + v18; v1b++) if (!this.mask[v1a * this.width + v1b]) return false;
return true;
…
s4458 Input v17 y yUseful 0.84 boundsYUseful 0.71 Both useful Present Preference confidence is low. Pre-rename JavaScript · s4458 / v17 ×
Declaration · line 163 …
if (!this.mask || !this.bounds) return false;
const {
x: v16,
y: v17 ,
w: v18,
h: v19
} = this.bounds;
for (let v1a = v17; v1a < v17 + v19; v1a++) for (let v1b = v16; v1b < v16 + v18; v1b++) if (!this.mask[v1a * this.width + v1b]) return false;
return true;
}
maskLayer(v1c, v1d) {
…
s4474 Input v18 w wUseful 0.43 widthUseful 0.16 Both poor Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s4474 / v18 ×
Declaration · line 164 …
if (!this.mask || !this.bounds) return false;
const {
x: v16,
y: v17,
w: v18 ,
h: v19
} = this.bounds;
for (let v1a = v17; v1a < v17 + v19; v1a++) for (let v1b = v16; v1b < v16 + v18; v1b++) if (!this.mask[v1a * this.width + v1b]) return false;
return true;
}
maskLayer(v1c, v1d) {
…
s4490 Input v19 h hUseful 0.43 heightUseful 0.90 Humanify better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s4490 / v19 ×
Declaration · line 165 …
if (!this.mask || !this.bounds) return false;
const {
x: v16,
y: v17,
w: v18,
h: v19
} = this.bounds;
for (let v1a = v17; v1a < v17 + v19; v1a++) for (let v1b = v16; v1b < v16 + v18; v1b++) if (!this.mask[v1a * this.width + v1b]) return false;
return true;
}
maskLayer(v1c, v1d) {
if (!this.active || !this.mask || this._isRectangular()) return;
…
s4532 Input v1a row rowUseful 0.76 yUseful 0.08 FlowName better Present Pre-rename JavaScript · s4532 / v1a ×
Declaration · line 167 …
x: v16,
y: v17,
w: v18,
h: v19
} = this.bounds;
for (let v1a = v17; v1a < v17 + v19; v1a++) for (let v1b = v16; v1b < v16 + v18; v1b++) if (!this.mask[v1a * this.width + v1b]) return false;
return true;
}
maskLayer(v1c, v1d) {
if (!this.active || !this.mask || this._isRectangular()) return;
…
s4576 Input v1b col colUseful 0.87 colIndexUseful 0.75 FlowName better Present Pre-rename JavaScript · s4576 / v1b ×
Declaration · line 167 …
h: v19
} = this.bounds;
for (let v1a = v17; v1a < v17 + v19; v1a++) for (let v1b = v16; v1b < v16 + v18; v1b++) if (!this.mask[v1a * this.width + v1b]) return false;
return true;
}
maskLayer(v1c, v1d) {
if (!this.active || !this.mask || this._isRectangular()) return;
const v1e = v1c.ctx.getImageData(0, 0, this.width, this.height);
…
s4704 Input v1c layer targetLayerUseful 0.58 targetLayerUseful 0.58 Both useful Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s4704 / v1c ×
Declaration · line 170 …
1a < v17 + v19; v1a++) for (let v1b = v16; v1b < v16 + v18; v1b++) if (!this.mask[v1a * this.width + v1b]) return false;
return true;
}
maskLayer(v1c , v1d) {
if (!this.active || !this.mask || this._isRectangular()) return;
const v1e = v1c.ctx.getImageData(0, 0, this.width, this.height);
const v1f = v1d.data;
const v1g = v1e.data;
for (let v1h = 0; v1h < this.mask.length; v1h++) {
… Reference · line 184 …
v1g[v1i + 2] = v1f[v1i + 2];
v1g[v1i + 3] = v1f[v1i + 3];
}
}
v1c .ctx.putImageData(v1e, 0, 0);
}
_computeEdges() {
if (!this.mask || !this.bounds) {
this._contours = null;
return;
}
const {
x: v1j,
y: v1k,
w: v1l,
h: v1m
} = this.bounds;
…
s4709 Input v1d beforeSnapshot sourceDataUseful 0.44 sourceImageDataUseful 0.62 Humanify better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s4709 / v1d ×
Declaration · line 170 …
v17 + v19; v1a++) for (let v1b = v16; v1b < v16 + v18; v1b++) if (!this.mask[v1a * this.width + v1b]) return false;
return true;
}
maskLayer(v1c, v1d ) {
if (!this.active || !this.mask || this._isRectangular()) return;
const v1e = v1c.ctx.getImageData(0, 0, this.width, this.height);
const v1f = v1d.data;
const v1g = v1e.data;
for (let v1h = 0; v1h < this.mask.length; v1h++) {
…
s4799 Input v1e cur imageDataUseful 0.84 imageDataUseful 0.84 Both useful Present Pre-rename JavaScript · s4799 / v1e ×
Declaration · line 172 …
maskLayer(v1c, v1d) {
if (!this.active || !this.mask || this._isRectangular()) return;
const v1e = v1c.ctx.getImageData(0, 0, this.width, this.height);
const v1f = v1d.data;
const v1g = v1e.data;
for (let v1h = 0; v1h < this.mask.length; v1h++) {
if (!this.mask[v1h]) {
const v1i = v1h * 4;
v1g[v1i] = v1f[v1i];
… Reference · line 184 …
v1g[v1i + 2] = v1f[v1i + 2];
v1g[v1i + 3] = v1f[v1i + 3];
}
}
v1c.ctx.putImageData(v1e , 0, 0);
}
_computeEdges() {
if (!this.mask || !this.bounds) {
this._contours = null;
return;
}
const {
x: v1j,
y: v1k,
w: v1l,
h: v1m
} = this.bounds;
const v1n = this.width,
…
s4870 Input v1f prev sourceLayerUseful 0.12 sourceImageData2Useful 0.42 Both poor Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s4870 / v1f ×
Declaration · line 173 …
if (!this.active || !this.mask || this._isRectangular()) return;
const v1e = v1c.ctx.getImageData(0, 0, this.width, this.height);
const v1f = v1d.data;
const v1g = v1e.data;
for (let v1h = 0; v1h < this.mask.length; v1h++) {
if (!this.mask[v1h]) {
const v1i = v1h * 4;
v1g[v1i] = v1f[v1i];
v1g[v1i + 1] = v1f[v1i + 1];
v1g[v1i + 2] = v1f[v1i + 2];
… Reference · line 181 …
v1g[v1i + 1] = v1f[v1i + 1];
v1g[v1i + 2] = v1f[v1i + 2];
v1g[v1i + 3] = v1f [v1i + 3];
}
}
v1c.ctx.putImageData(v1e, 0, 0);
}
_computeEdges() {
if (!this.mask || !this.bounds) {
this._contours = null;
return;
}
const {
x: v1j,
y: v1k,
w: v1l,
…
s4898 Input v1g data targetDataUseful 0.60 targetImageDataUseful 0.35 FlowName better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s4898 / v1g ×
Declaration · line 174 …
const v1e = v1c.ctx.getImageData(0, 0, this.width, this.height);
const v1f = v1d.data;
const v1g = v1e.data;
for (let v1h = 0; v1h < this.mask.length; v1h++) {
if (!this.mask[v1h]) {
const v1i = v1h * 4;
v1g[v1i] = v1f[v1i];
v1g[v1i + 1] = v1f[v1i + 1];
v1g[v1i + 2] = v1f[v1i + 2];
… Reference · line 181 …
v1g[v1i] = v1f[v1i];
v1g[v1i + 1] = v1f[v1i + 1];
v1g[v1i + 2] = v1f[v1i + 2];
v1g [v1i + 3] = v1f[v1i + 3];
}
}
v1c.ctx.putImageData(v1e, 0, 0);
}
_computeEdges() {
if (!this.mask || !this.bounds) {
this._contours = null;
return;
}
const {
x: v1j,
y: v1k,
…
s4929 Input v1h i iUseful 0.63 iUseful 0.63 Both useful Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s4929 / v1h ×
Declaration · line 175 …
const v1e = v1c.ctx.getImageData(0, 0, this.width, this.height);
const v1f = v1d.data;
const v1g = v1e.data;
for (let v1h = 0; v1h < this.mask.length; v1h++) {
if (!this.mask[v1h]) {
const v1i = v1h * 4;
v1g[v1i] = v1f[v1i];
v1g[v1i + 1] = v1f[v1i + 1];
v1g[v1i + 2] = v1f[v1i + 2];
v1g[v1i + 3] = v1f[v1i + 3];
…
s5018 Input v1i pi pixelIndexUseful 0.87 pixelIndexUseful 0.87 Both useful Present Pre-rename JavaScript · s5018 / v1i ×
Declaration · line 177 …
for (let v1h = 0; v1h < this.mask.length; v1h++) {
if (!this.mask[v1h]) {
const v1i = v1h * 4;
v1g[v1i] = v1f[v1i];
v1g[v1i + 1] = v1f[v1i + 1];
v1g[v1i + 2] = v1f[v1i + 2];
v1g[v1i + 3] = v1f[v1i + 3];
}
}
v1c.ctx.putImageData(v1e, 0, 0);
}
_computeEdges() {
…
s5386 Input v1j bx boundsXUseful 0.79 boundsXUseful 0.79 Both useful Present Pre-rename JavaScript · s5386 / v1j ×
Declaration · line 192 …
if (!this.mask || !this.bounds) {
this._contours = null;
return;
}
const {
x: v1j ,
y: v1k,
w: v1l,
h: v1m
} = this.bounds;
const v1n = this.width,
v1o = this.mask;
const v1p = new Map();
const v1q = (v1r, v1s, v1t, v1u) => {
const v1v = v1r + "," + v1s;
if (!v1p.has(v1v)) v1p.set(v1v, []);
… Reference · line 209 …
});
};
for (let v1w = v1k; v1w < v1k + v1m; v1w++) {
for (let v1x = v1j ; v1x < v1j + v1l; v1x++) {
if (!v1o[v1w * v1n + v1x]) continue;
if (v1w === 0 || !v1o[(v1w - 1) * v1n + v1x]) v1q(v1x, v1w, v1x + 1, v1w);
if (v1w === this.height - 1 || !v1o[(v1w + 1) * v1n + v1x]) v1q(v1x + 1, v1w + 1, v1x, v1w + 1);
…
s5402 Input v1k by boundsYUseful 0.47 boundsYUseful 0.47 Both poor Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s5402 / v1k ×
Declaration · line 193 …
this._contours = null;
return;
}
const {
x: v1j,
y: v1k ,
w: v1l,
h: v1m
} = this.bounds;
const v1n = this.width,
v1o = this.mask;
const v1p = new Map();
const v1q = (v1r, v1s, v1t, v1u) => {
const v1v = v1r + "," + v1s;
if (!v1p.has(v1v)) v1p.set(v1v, []);
… Reference · line 208 …
v1p.get(v1v).push({
x: v1t,
y: v1u
});
};
for (let v1w = v1k ; v1w < v1k + v1m; v1w++) {
for (let v1x = v1j; v1x < v1j + v1l; v1x++) {
if (!v1o[v1w * v1n + v1x]) continue;
if (v1w === 0 || !v1o[(v1w - 1) * v1n + v1x]) v1q(v1x, v1w, v1x + 1, v1w);
if (v1w === this.height - 1 || !v1o[(v1w + 1) * v1n + v1x]) v1q(v1x + 1, v1w + 1, v1x, v1w +
…
s5418 Input v1l bw boundsWidthUseful 0.84 boundsWidthUseful 0.84 Both useful Present Pre-rename JavaScript · s5418 / v1l ×
Declaration · line 194 …
this._contours = null;
return;
}
const {
x: v1j,
y: v1k,
w: v1l ,
h: v1m
} = this.bounds;
const v1n = this.width,
v1o = this.mask;
const v1p = new Map();
const v1q = (v1r, v1s, v1t, v1u) => {
const v1v = v1r + "," + v1s;
if (!v1p.has(v1v)) v1p.set(v1v, []);
… Reference · line 209 …
for (let v1w = v1k; v1w < v1k + v1m; v1w++) {
for (let v1x = v1j; v1x < v1j + v1l ; v1x++) {
if (!v1o[v1w * v1n + v1x]) continue;
if (v1w === 0 || !v1o[(v1w - 1) * v1n + v1x]) v1q(v1x, v1w, v1x + 1, v1w);
if (v1w === this.height - 1 || !v1o[(v1w + 1) * v1n + v1x]) v1q(v1x + 1, v1w + 1, v1x, v1w + 1);
…
s5434 Input v1m bh boundsHeightUseful 0.43 heightUseful 0.39 Both poor Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s5434 / v1m ×
Declaration · line 195 …
return;
}
const {
x: v1j,
y: v1k,
w: v1l,
h: v1m
} = this.bounds;
const v1n = this.width,
v1o = this.mask;
const v1p = new Map();
const v1q = (v1r, v1s, v1t, v1u) => {
const v1v = v1r + "," + v1s;
if (!v1p.has(v1v)) v1p.set(v1v, []);
v1p.get(v1v).push({
… Reference · line 208 …
x: v1t,
y: v1u
});
};
for (let v1w = v1k; v1w < v1k + v1m ; v1w++) {
for (let v1x = v1j; v1x < v1j + v1l; v1x++) {
if (!v1o[v1w * v1n + v1x]) continue;
if (v1w === 0 || !v1o[(v1w - 1) * v1n + v1x]) v1q(v1x, v1w, v1x + 1, v1w);
if (v1w === this.height - 1 || !v1o[(v1w + 1) * v1n + v1x]) v1q(v1x + 1, v1w + 1, v1x, v1w + 1);
…
s5473 Input v1n W imageWidthUseful 0.68 widthUseful 0.81 Humanify better Present Pre-rename JavaScript · s5473 / v1n ×
Declaration · line 197 …
x: v1j,
y: v1k,
w: v1l,
h: v1m
} = this.bounds;
const v1n = this.width,
v1o = this.mask;
const v1p = new Map();
const v1q = (v1r, v1s, v1t, v1u) => {
const v1v = v1r + "," + v1s;
if (!v1p.has(v1v)) v1p.set(v1v, []);
v1p.get(v1v).push({
x: v1t,
… Reference · line 210 …
for (let v1w = v1k; v1w < v1k + v1m; v1w++) {
for (let v1x = v1j; v1x < v1j + v1l; v1x++) {
if (!v1o[v1w * v1n + v1x]) continue;
if (v1w === 0 || !v1o[(v1w - 1) * v1n + v1x]) v1q(v1x, v1w, v1x + 1, v1w);
if (v1w === this.height - 1 || !v1o[(v1w + 1) * v1n + v1x]) v1q(v1x + 1, v1w + 1, v1x, v1w + 1);
if (v1x === 0 || !v1o[v1w * v1n + (v1x - 1)]) v1q(v1x, v1w + 1, v1x, v1w);
…
s5499 Input v1o mask maskUseful 0.93 maskUseful 0.93 Both useful Present Pre-rename JavaScript · s5499 / v1o ×
Declaration · line 198 …
w: v1l,
h: v1m
} = this.bounds;
const v1n = this.width,
v1o = this.mask;
const v1p = new Map();
const v1q = (v1r, v1s, v1t, v1u) => {
const v1v = v1r + "," + v1s;
if (!v1p.has(v1v)) v1p.set(v1v, []);
v1p.get(v1v).push({
x: v1t,
y: v1u
});
… Reference · line 210 …
for (let v1w = v1k; v1w < v1k + v1m; v1w++) {
for (let v1x = v1j; v1x < v1j + v1l; v1x++) {
if (!v1o [v1w * v1n + v1x]) continue;
if (v1w === 0 || !v1o[(v1w - 1) * v1n + v1x]) v1q(v1x, v1w, v1x + 1, v1w);
if (v1w === this.height - 1 || !v1o[(v1w + 1) * v1n + v1x]) v1q(v1x + 1, v1w + 1, v1x, v1w + 1);
if (v1x === 0 || !v1o[v1w * v1n + (v1x - 1)]) v1q(v1x, v1w + 1, v1x, v1w);
…
s5528 Input v1p edgeMap edgesMapUseful 0.74 vertexMapUseful 0.25 FlowName better Present Pre-rename JavaScript · s5528 / v1p ×
Declaration · line 199 …
} = this.bounds;
const v1n = this.width,
v1o = this.mask;
const v1p = new Map();
const v1q = (v1r, v1s, v1t, v1u) => {
const v1v = v1r + "," + v1s;
if (!v1p.has(v1v)) v1p.set(v1v, []);
v1p.get(v1v).push({
x: v1t,
y: v1u
});
};
for (let v1w = v1k; v1w < v1k + v1m; v1w++) {
… Reference · line 218 …
if (v1x === this.width - 1 || !v1o[v1w * v1n + (v1x + 1)]) v1q(v1x + 1, v1w, v1x + 1, v1w + 1);
}
}
const v1y = [];
while (v1p .size > 0) {
const [v1z] = v1p.keys();
const [v20, v21] = v1z.split(",").map(Number);
const v22 = [{
x: v20,
y: v21
}];
let v23 = v20,
v24 = v21;
while (true) {
…
s5557 Input v1q addEdge addEdgeUseful 0.95 addEdgeUseful 0.95 Both useful Present Pre-rename JavaScript · s5557 / v1q ×
Declaration · line 200 …
const v1n = this.width,
v1o = this.mask;
const v1p = new Map();
const v1q = (v1r, v1s, v1t, v1u) => {
const v1v = v1r + "," + v1s;
if (!v1p.has(v1v)) v1p.set(v1v, []);
v1p.get(v1v).push({
x: v1t,
y: v1u
});
};
for (let v1w = v1k; v1w < v1k + v1m; v1w++) {
… Reference · line 211 …
if (!v1o[v1w * v1n + v1x]) continue;
if (v1w === 0 || !v1o[(v1w - 1) * v1n + v1x]) v1q (v1x, v1w, v1x + 1, v1w);
if (v1w === this.height - 1 || !v1o[(v1w + 1) * v1n + v1x]) v1q(v1x + 1, v1w + 1, v1x, v1w + 1);
if (v1x === 0 || !v1o[v1w * v1n + (v1x - 1)]) v1q(v1x, v1w + 1, v1x, v1w);
if (v1x === this.width - 1 || !v1o[v1w * v1n + (v1x + 1)]) v1q(v1x + 1, v1w, v1x + 1, v1w
…
s5564 Input v1r x1 edgeKey2Useful 0.34 gridXUseful 0.17 Both poor Present Pre-rename JavaScript · s5564 / v1r ×
Declaration · line 200 …
const v1n = this.width,
v1o = this.mask;
const v1p = new Map();
const v1q = (v1r , v1s, v1t, v1u) => {
const v1v = v1r + "," + v1s;
if (!v1p.has(v1v)) v1p.set(v1v, []);
v1p.get(v1v).push({
x: v1t,
y: v1u
});
};
for (let v1w = v1k; v1w < v1k + v1m; v1w++) {
…
s5569 Input v1s y1 colIndexUseful 0.23 yCoordUseful 0.68 Humanify better Present Pre-rename JavaScript · s5569 / v1s ×
Declaration · line 200 …
const v1n = this.width,
v1o = this.mask;
const v1p = new Map();
const v1q = (v1r, v1s , v1t, v1u) => {
const v1v = v1r + "," + v1s;
if (!v1p.has(v1v)) v1p.set(v1v, []);
v1p.get(v1v).push({
x: v1t,
y: v1u
});
};
for (let v1w = v1k; v1w < v1k + v1m; v1w++) {
for (let v1x = v1j; v1x < v1j + v1l; v1x++) {
…
s5574 Input v1t x2 x1Useful 0.59 xUseful 0.43 FlowName better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s5574 / v1t ×
Declaration · line 200 …
const v1n = this.width,
v1o = this.mask;
const v1p = new Map();
const v1q = (v1r, v1s, v1t , v1u) => {
const v1v = v1r + "," + v1s;
if (!v1p.has(v1v)) v1p.set(v1v, []);
v1p.get(v1v).push({
x: v1t,
y: v1u
});
};
for (let v1w = v1k; v1w < v1k + v1m; v1w++) {
for (let v1x = v1j; v1x < v1j + v1l; v1x++) {
…
s5579 Input v1u y2 y1Useful 0.65 yCoord2Useful 0.58 Both useful Present Usefulness probability is near the provisional 0.5 boundary. Preference confidence is low. Pre-rename JavaScript · s5579 / v1u ×
Declaration · line 200 …
const v1n = this.width,
v1o = this.mask;
const v1p = new Map();
const v1q = (v1r, v1s, v1t, v1u ) => {
const v1v = v1r + "," + v1s;
if (!v1p.has(v1v)) v1p.set(v1v, []);
v1p.get(v1v).push({
x: v1t,
y: v1u
});
};
for (let v1w = v1k; v1w < v1k + v1m; v1w++) {
for (let v1x = v1j; v1x < v1j + v1l; v1x++) {
…
s5603 Input v1v key edgeKeyUseful 0.57 coordKeyUseful 0.79 Humanify better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s5603 / v1v ×
Declaration · line 201 …
v1o = this.mask;
const v1p = new Map();
const v1q = (v1r, v1s, v1t, v1u) => {
const v1v = v1r + "," + v1s;
if (!v1p.has(v1v)) v1p.set(v1v, []);
v1p.get(v1v).push({
x: v1t,
y: v1u
});
};
for (let v1w = v1k; v1w < v1k + v1m; v1w++) {
for (let v1x = v1j; v1x < v1j + v1l; v1x++) {
…
s5770 Input v1w py yUseful 0.66 yCoordUseful 0.69 Both useful Present Preference confidence is low. Pre-rename JavaScript · s5770 / v1w ×
Declaration · line 208 …
v1p.get(v1v).push({
x: v1t,
y: v1u
});
};
for (let v1w = v1k; v1w < v1k + v1m; v1w++) {
for (let v1x = v1j; v1x < v1j + v1l; v1x++) {
if (!v1o[v1w * v1n + v1x]) continue;
if (v1w === 0 || !v1o[(v1w - 1) * v1n + v1x]) v1q(v1x, v1w, v1x + 1, v1w);
if (v1w === this.height - 1 || !v1o[(v1w + 1) * v1n + v1x]) v1q(v1x + 1, v1w + 1, v1x,
… Reference · line 212 …
if (v1w === this.height - 1 || !v1o[(v1w + 1) * v1n + v1x]) v1q(v1x + 1, v1w + 1, v1x, v1w + 1);
if (v1x === 0 || !v1o[v1w * v1n + (v1x - 1)]) v1q(v1x, v1w + 1, v1x, v1w);
if (v1x === this.width - 1 || !v1o[v1w * v1n + (v1x + 1)]) v1q(v1x + 1, v1w, v1x + 1, v1w + 1);
}
}
const v1y = [];
…
s5824 Input v1x px xUseful 0.67 xUseful 0.67 Both useful Present Pre-rename JavaScript · s5824 / v1x ×
Declaration · line 209 …
});
};
for (let v1w = v1k; v1w < v1k + v1m; v1w++) {
for (let v1x = v1j; v1x < v1j + v1l; v1x++) {
if (!v1o[v1w * v1n + v1x]) continue;
if (v1w === 0 || !v1o[(v1w - 1) * v1n + v1x]) v1q(v1x, v1w, v1x + 1, v1w);
if (v1w === this.height - 1 || !v1o[(v1w + 1) * v1n + v1x]) v1q(v1x + 1, v1w + 1, v1x, v1w + 1);
… Reference · line 213 …
if (v1w === this.height - 1 || !v1o[(v1w + 1) * v1n + v1x]) v1q(v1x + 1, v1w + 1, v1x, v1w + 1);
if (v1x === 0 || !v1o[v1w * v1n + (v1x - 1)]) v1q(v1x, v1w + 1, v1x, v1w);
if (v1x === this.width - 1 || !v1o[v1w * v1n + (v1x + 1)]) v1q(v1x + 1, v1w, v1x + 1, v1w + 1);
}
}
const v1y = [];
while (v1p.size > 0) {
…
s6321 Input v1y contours contoursListUseful 0.85 pointMapUseful 0.06 FlowName better Absent Pre-rename JavaScript · s6321 / v1y ×
Declaration · line 217 …
if (v1x === this.width - 1 || !v1o[v1w * v1n + (v1x + 1)]) v1q(v1x + 1, v1w, v1x + 1, v1w + 1);
}
}
const v1y = [];
while (v1p.size > 0) {
const [v1z] = v1p.keys();
const [v20, v21] = v1z.split(",").map(Number);
const v22 = [{
x: v20,
y: v21
}];
let v23 = v20,
v24 = v21;
… Reference · line 244 …
});
if (v23 === v20 && v24 === v21) break;
}
if (v22.length > 2) v1y .push(v22);
}
this._contours = v1y.length > 0 ? v1y : null;
}
drawAnts(v28, v29, v2a, v2b) {
if (!this.active || !this.bounds) return;
this._animOffset = (this._animOffset + 0.5) % 16;
v28.save();
v28.setLineDash([4, 4]);
…
s6375 Input v1z startKey coordKeyUseful 0.63 firstKeyUseful 0.50 FlowName better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s6375 / v1z ×
Declaration · line 219 …
th - 1 || !v1o[v1w * v1n + (v1x + 1)]) v1q(v1x + 1, v1w, v1x + 1, v1w + 1);
}
}
const v1y = [];
while (v1p.size > 0) {
const [v1z ] = v1p.keys();
const [v20, v21] = v1z.split(",").map(Number);
const v22 = [{
x: v20,
y: v21
}];
let v23 = v20,
v24 = v21;
while (true) {
const v25 = v23 + "," + v24;
…
s6409 Input v20 sx currentXUseful 0.74 startXUseful 0.20 FlowName better Present Pre-rename JavaScript · s6409 / v20 ×
Declaration · line 220 …
const v1y = [];
while (v1p.size > 0) {
const [v1z] = v1p.keys();
const [v20 , v21] = v1z.split(",").map(Number);
const v22 = [{
x: v20,
y: v21
}];
let v23 = v20,
v24 = v21;
while (true) {
const v25 = v23 + "," + v24;
const v26 = v1p.get(v25);
… Reference · line 242 …
v22.push({
x: v23,
y: v24
});
if (v23 === v20 && v24 === v21) break;
}
if (v22.length > 2) v1y.push(v22);
}
this._contours = v1y.length > 0 ? v1y : null;
}
drawAnts(v28, v29, v2a, v2b) {
if (!this.active || !this.bounds) return;
this._animOffset = (this._animOffset + 0.5) % 16;
…
s6414 Input v21 sy currentYUseful 0.58 startYUseful 0.13 FlowName better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s6414 / v21 ×
Declaration · line 220 …
const v1y = [];
while (v1p.size > 0) {
const [v1z] = v1p.keys();
const [v20, v21 ] = v1z.split(",").map(Number);
const v22 = [{
x: v20,
y: v21
}];
let v23 = v20,
v24 = v21;
while (true) {
const v25 = v23 + "," + v24;
const v26 = v1p.get(v25);
… Reference · line 242 …
x: v23,
y: v24
});
if (v23 === v20 && v24 === v21 ) break;
}
if (v22.length > 2) v1y.push(v22);
}
this._contours = v1y.length > 0 ? v1y : null;
}
drawAnts(v28, v29, v2a, v2b) {
if (!this.active || !this.bounds) return;
this._animOffset = (this._animOffset + 0.5) % 16;
…
s6463 Input v22 path currentContourUseful 0.26 pathPointsUseful 0.74 Humanify better Present Pre-rename JavaScript · s6463 / v22 ×
Declaration · line 221 …
const [v1z] = v1p.keys();
const [v20, v21] = v1z.split(",").map(Number);
const v22 = [{
x: v20,
y: v21
}];
let v23 = v20,
v24 = v21;
while (true) {
const v25 = v23 + "," + v24;
const v26 = v1p.get(v25);
if (!v26 || v26.length === 0) {
v1p.delete(v25);
… Reference · line 238 …
if (v26.length === 0) v1p.delete(v25);
v23 = v27.x;
v24 = v27.y;
v22 .push({
x: v23,
y: v24
});
if (v23 === v20 && v24 === v21) break;
}
if (v22.length > 2) v1y.push(v22);
}
this._contours = v1y.length > 0 ? v1y : null;
}
drawAnts(v28, v29, v2a, v2b) {
…
s6531 Input v23 cx startXUseful 0.09 currentXUseful 0.85 Humanify better Present Pre-rename JavaScript · s6531 / v23 ×
Declaration · line 225 …
const [v20, v21] = v1z.split(",").map(Number);
const v22 = [{
x: v20,
y: v21
}];
let v23 = v20,
v24 = v21;
while (true) {
const v25 = v23 + "," + v24;
const v26 = v1p.get(v25);
if (!v26 || v26.length === 0) {
v1p.delete(v25);
break;
}
const v27 = v26.pop();
… Reference · line 236 …
const v27 = v26.pop();
if (v26.length === 0) v1p.delete(v25);
v23 = v27.x;
v24 = v27.y;
v22.push({
x: v23,
y: v24
});
if (v23 === v20 && v24 === v21) break;
}
if (v22.length > 2) v1y.push(v22);
}
this._contours = v1y.length > 0 ? v1y : null;
…
s6552 Input v24 cy startYUseful 0.15 currentYUseful 0.80 Humanify better Present Pre-rename JavaScript · s6552 / v24 ×
Declaration · line 226 …
const v22 = [{
x: v20,
y: v21
}];
let v23 = v20,
v24 = v21;
while (true) {
const v25 = v23 + "," + v24;
const v26 = v1p.get(v25);
if (!v26 || v26.length === 0) {
v1p.delete(v25);
break;
}
const v27 = v26.pop();
… Reference · line 237 …
const v27 = v26.pop();
if (v26.length === 0) v1p.delete(v25);
v23 = v27.x;
v24 = v27.y;
v22.push({
x: v23,
y: v24
});
if (v23 === v20 && v24 === v21) break;
}
if (v22.length > 2) v1y.push(v22);
}
this._contours = v1y.length > 0 ? v1y : null;
…
s6602 Input v25 key edgeKeyUseful 0.75 cacheKeyUseful 0.22 FlowName better Present Pre-rename JavaScript · s6602 / v25 ×
Declaration · line 228 …
}];
let v23 = v20,
v24 = v21;
while (true) {
const v25 = v23 + "," + v24;
const v26 = v1p.get(v25);
if (!v26 || v26.length === 0) {
v1p.delete(v25);
break;
}
const v27 = v26.pop();
if (v26.length === 0) v1p.delete(v25);
…
s6641 Input v26 neighbors edgeListUseful 0.09 edgeListUseful 0.09 Both poor Present Pre-rename JavaScript · s6641 / v26 ×
Declaration · line 229 …
v24 = v21;
while (true) {
const v25 = v23 + "," + v24;
const v26 = v1p.get(v25);
if (!v26 || v26.length === 0) {
v1p.delete(v25);
break;
}
const v27 = v26.pop();
if (v26.length === 0) v1p.delete(v25);
v23 = v27.x;
v24 = v27.y;
…
s6779 Input v27 next nextPointUseful 0.75 currentPointUseful 0.22 FlowName better Present Pre-rename JavaScript · s6779 / v27 ×
Declaration · line 234 …
if (!v26 || v26.length === 0) {
v1p.delete(v25);
break;
}
const v27 = v26.pop();
if (v26.length === 0) v1p.delete(v25);
v23 = v27.x;
v24 = v27.y;
v22.push({
x: v23,
y: v24
});
if (v23 === v20 && v24 === v21) break;
}
…
s7146 Input v28 ctx ctxUseful 0.88 ctxUseful 0.88 Both useful Present Pre-rename JavaScript · s7146 / v28 ×
Declaration · line 248 …
if (v22.length > 2) v1y.push(v22);
}
this._contours = v1y.length > 0 ? v1y : null;
}
drawAnts(v28 , v29, v2a, v2b) {
if (!this.active || !this.bounds) return;
this._animOffset = (this._animOffset + 0.5) % 16;
v28.save();
v28.setLineDash([4, 4]);
v28.lineWidth = 1;
if (this._contours) {
for (let v2c = 0; v2c < 2; v2c++) {
… Reference · line 256 …
v28.lineWidth = 1;
if (this._contours) {
for (let v2c = 0; v2c < 2; v2c++) {
v28 .strokeStyle = v2c === 0 ? "white" : "black";
v28.lineDashOffset = -(this._animOffset + v2c * 4);
v28.beginPath();
for (const v2d of this._contours) {
v28.moveTo(v2d[0].x * v29 + v2a + 0.5, v2d[0].y * v29 + v2b + 0.5);
…
s7151 Input v29 zoom scaleUseful 0.82 heightUseful 0.06 FlowName better Present Pre-rename JavaScript · s7151 / v29 ×
Declaration · line 248 …
if (v22.length > 2) v1y.push(v22);
}
this._contours = v1y.length > 0 ? v1y : null;
}
drawAnts(v28, v29 , v2a, v2b) {
if (!this.active || !this.bounds) return;
this._animOffset = (this._animOffset + 0.5) % 16;
v28.save();
v28.setLineDash([4, 4]);
v28.lineWidth = 1;
if (this._contours) {
for (let v2c = 0; v2c < 2; v2c++) {
… Reference · line 260 …
v28.beginPath();
for (const v2d of this._contours) {
v28.moveTo(v2d[0].x * v29 + v2a + 0.5, v2d[0].y * v29 + v2b + 0.5);
for (let v2e = 1; v2e < v2d.length; v2e++) {
v28.lineTo(v2d[v2e].x * v29 + v2a + 0.5, v2d[v2e].y * v29 + v2b + 0.5);
}
}
v28.stroke();
}
…
s7156 Input v2a panX offsetXUseful 0.64 contextUseful 0.12 FlowName better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s7156 / v2a ×
Declaration · line 248 …
if (v22.length > 2) v1y.push(v22);
}
this._contours = v1y.length > 0 ? v1y : null;
}
drawAnts(v28, v29, v2a , v2b) {
if (!this.active || !this.bounds) return;
this._animOffset = (this._animOffset + 0.5) % 16;
v28.save();
v28.setLineDash([4, 4]);
v28.lineWidth = 1;
if (this._contours) {
for (let v2c = 0; v2c < 2; v2c++) {
… Reference · line 260 …
v28.beginPath();
for (const v2d of this._contours) {
v28.moveTo(v2d[0].x * v29 + v2a + 0.5, v2d[0].y * v29 + v2b + 0.5);
for (let v2e = 1; v2e < v2d.length; v2e++) {
v28.lineTo(v2d[v2e].x * v29 + v2a + 0.5, v2d[v2e].y * v29 + v2b + 0.5);
}
}
v28.stroke();
}
…
s7161 Input v2b panY offsetYUseful 0.15 eventUseful 0.05 Both poor Present Pre-rename JavaScript · s7161 / v2b ×
Declaration · line 248 …
}
this._contours = v1y.length > 0 ? v1y : null;
}
drawAnts(v28, v29, v2a, v2b ) {
if (!this.active || !this.bounds) return;
this._animOffset = (this._animOffset + 0.5) % 16;
v28.save();
v28.setLineDash([4, 4]);
v28.lineWidth = 1;
if (this._contours) {
for (let v2c = 0; v2c < 2; v2c++) {
… Reference · line 260 …
for (const v2d of this._contours) {
v28.moveTo(v2d[0].x * v29 + v2a + 0.5, v2d[0].y * v29 + v2b + 0.5);
for (let v2e = 1; v2e < v2d.length; v2e++) {
v28.lineTo(v2d[v2e].x * v29 + v2a + 0.5, v2d[v2e].y * v29 + v2b + 0.5);
}
}
v28.stroke();
}
} else {
const v2f = this.bounds;
…
s7391 Input v2c pass contourIndexUseful 0.05 passIndexUseful 0.80 Humanify better Present Pre-rename JavaScript · s7391 / v2c ×
Declaration · line 255 …
v28.setLineDash([4, 4]);
v28.lineWidth = 1;
if (this._contours) {
for (let v2c = 0; v2c < 2; v2c++) {
v28.strokeStyle = v2c === 0 ? "white" : "black";
v28.lineDashOffset = -(this._animOffset + v2c * 4);
v28.beginPath();
for (const v2d of this._contours) {
v28.moveTo(v2d[0].x * v29 + v2a + 0.5, v2d[0].y * v29 + v2b + 0.5);
…
s7587 Input v2d path contourUseful 0.65 contourUseful 0.65 Both useful Present Pre-rename JavaScript · s7587 / v2d ×
Declaration · line 259 …
v28.lineDashOffset = -(this._animOffset + v2c * 4);
v28.beginPath();
for (const v2d of this._contours) {
v28.moveTo(v2d[0].x * v29 + v2a + 0.5, v2d[0].y * v29 + v2b + 0.5);
for (let v2e = 1; v2e < v2d.length; v2e++) {
v28.lineTo(v2d[v2e].x * v29 + v2a + 0.5, v2d[v2e].y * v29 + v2b + 0.5);
…
s7713 Input v2e i iUseful 0.60 iUseful 0.60 Both useful Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s7713 / v2e ×
Declaration · line 261 …
v28.moveTo(v2d[0].x * v29 + v2a + 0.5, v2d[0].y * v29 + v2b + 0.5);
for (let v2e = 1; v2e < v2d.length; v2e++) {
v28.lineTo(v2d[v2e].x * v29 + v2a + 0.5, v2d[v2e].y * v29 + v2b + 0.5);
}
}
v28.stroke();
}
} else {
const v2f = this.bounds;
const v2g = v2f.x * v29 + v2a + 0.5,
…
s7924 Input v2f b boundsUseful 0.89 boundsUseful 0.89 Both useful Present Pre-rename JavaScript · s7924 / v2f ×
Declaration · line 268 …
28.lineTo(v2d[v2e].x * v29 + v2a + 0.5, v2d[v2e].y * v29 + v2b + 0.5);
}
}
v28.stroke();
}
} else {
const v2f = this.bounds;
const v2g = v2f.x * v29 + v2a + 0.5,
v2h = v2f.y * v29 + v2b + 0.5;
const v2i = v2f.w * v29,
v2j = v2f.h * v29;
v28.lineDashOffset = -this._animOffset;
v28.strokeStyle = "white";
…
s7957 Input v2g sx xUseful 0.44 renderXUseful 0.53 Humanify better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s7957 / v2g ×
Declaration · line 269 …
v28.stroke();
}
} else {
const v2f = this.bounds;
const v2g = v2f.x * v29 + v2a + 0.5,
v2h = v2f.y * v29 + v2b + 0.5;
const v2i = v2f.w * v29,
v2j = v2f.h * v29;
v28.lineDashOffset = -this._animOffset;
v28.strokeStyle = "white";
v28.strokeRect(v2g, v2h, v2i, v2j);
… Reference · line 278 …
v28.lineDashOffset = -(this._animOffset + 4);
v28.strokeStyle = "black";
v28.strokeRect(v2g , v2h, v2i, v2j);
}
v28.restore();
}
};
var v2k = class {
constructor(v2l, v2m, v2n = "Untitled", v2o = "white") {
this.width = v2l;
this.height = v2m;
this.name = v2n;
this.path = null;
this.projectPath = null;
…
s7998 Input v2h sy yUseful 0.60 yUseful 0.60 Both useful Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s7998 / v2h ×
Declaration · line 270 …
} else {
const v2f = this.bounds;
const v2g = v2f.x * v29 + v2a + 0.5,
v2h = v2f.y * v29 + v2b + 0.5;
const v2i = v2f.w * v29,
v2j = v2f.h * v29;
v28.lineDashOffset = -this._animOffset;
v28.strokeStyle = "white";
v28.strokeRect(v2g, v2h, v2i, v2j);
v28.lineDashOffset = -(this._animOffset + 4);
… Reference · line 278 …
v28.lineDashOffset = -(this._animOffset + 4);
v28.strokeStyle = "black";
v28.strokeRect(v2g, v2h , v2i, v2j);
}
v28.restore();
}
};
var v2k = class {
constructor(v2l, v2m, v2n = "Untitled", v2o = "white") {
this.width = v2l;
this.height = v2m;
this.name = v2n;
this.path = null;
this.projectPath = null;
…
s8043 Input v2i sw wUseful 0.52 widthUseful 0.21 FlowName better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s8043 / v2i ×
Declaration · line 271 …
const v2g = v2f.x * v29 + v2a + 0.5,
v2h = v2f.y * v29 + v2b + 0.5;
const v2i = v2f.w * v29,
v2j = v2f.h * v29;
v28.lineDashOffset = -this._animOffset;
v28.strokeStyle = "white";
v28.strokeRect(v2g, v2h, v2i, v2j);
v28.lineDashOffset = -(this._animOffset + 4);
v28.strokeStyle = "black";
… Reference · line 278 …
v28.lineDashOffset = -(this._animOffset + 4);
v28.strokeStyle = "black";
v28.strokeRect(v2g, v2h, v2i , v2j);
}
v28.restore();
}
};
var v2k = class {
constructor(v2l, v2m, v2n = "Untitled", v2o = "white") {
this.width = v2l;
this.height = v2m;
this.name = v2n;
this.path = null;
this.projectPath = null;
…
s8072 Input v2j sh hUseful 0.73 height2Useful 0.30 FlowName better Present Pre-rename JavaScript · s8072 / v2j ×
Declaration · line 272 …
const v2g = v2f.x * v29 + v2a + 0.5,
v2h = v2f.y * v29 + v2b + 0.5;
const v2i = v2f.w * v29,
v2j = v2f.h * v29;
v28.lineDashOffset = -this._animOffset;
v28.strokeStyle = "white";
v28.strokeRect(v2g, v2h, v2i, v2j);
v28.lineDashOffset = -(this._animOffset + 4);
v28.strokeStyle = "black";
v28.strokeRect(v2g, v2h, v2i, v2j);
…
s8397 Input v2k PaintDocument DocumentUseful 0.64 listenerUseful 0.04 FlowName better Absent Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s8397 / v2k ×
Declaration · line 283 …
v28.strokeRect(v2g, v2h, v2i, v2j);
}
v28.restore();
}
};
var v2k = class {
constructor(v2l, v2m, v2n = "Untitled", v2o = "white") {
this.width = v2l;
this.height = v2m;
this.name = v2n;
this.path = null;
this.projectPath = null;
this.layers = [];
this.activeLayerIndex = 0;
… Reference · line 3161 …
createDoc(vuc = 1280, vud = 720, vue = "Untitled", vuf = "white") {
const vug = new v2k (vuc, vud, vue, vuf);
this.docs.push(vug);
this.switchTo(this.docs.length - 1);
return vug;
}
switchTo(vuh) {
if (vuh < 0 || vuh >= this.docs.length) return;
this.activeIndex = vuh;
const vui = this.docs[vuh];
…
s8427 Input v2l width widthUseful 0.95 widthUseful 0.95 Both useful Present Pre-rename JavaScript · s8427 / v2l ×
Declaration · line 284 …
v28.strokeRect(v2g, v2h, v2i, v2j);
}
v28.restore();
}
};
var v2k = class {
constructor(v2l , v2m, v2n = "Untitled", v2o = "white") {
this.width = v2l;
this.height = v2m;
this.name = v2n;
this.path = null;
this.projectPath = null;
this.layers = [];
this.activeLayerIndex = 0;
this.history = new vi();
… Reference · line 296 …
this.zoom = 1;
this.panX = 0;
this.panY = 0;
this.selection = new vl(v2l , v2m);
this.dirty = false;
this.composite = document.createElement("canvas");
this.composite.width = v2l;
this.composite.height = v2m;
this.compositeCtx = this.composite.getContext("2d");
const v2p = new va(v2l, v2m, "Background");
…
s8432 Input v2m height heightUseful 0.96 heightUseful 0.96 Both useful Present Pre-rename JavaScript · s8432 / v2m ×
Declaration · line 284 …
v28.strokeRect(v2g, v2h, v2i, v2j);
}
v28.restore();
}
};
var v2k = class {
constructor(v2l, v2m , v2n = "Untitled", v2o = "white") {
this.width = v2l;
this.height = v2m;
this.name = v2n;
this.path = null;
this.projectPath = null;
this.layers = [];
this.activeLayerIndex = 0;
this.history = new vi();
… Reference · line 296 …
this.zoom = 1;
this.panX = 0;
this.panY = 0;
this.selection = new vl(v2l, v2m );
this.dirty = false;
this.composite = document.createElement("canvas");
this.composite.width = v2l;
this.composite.height = v2m;
this.compositeCtx = this.composite.getContext("2d");
const v2p = new va(v2l, v2m, "Background");
…
s8437 Input v2n name defaultNameUseful 0.27 documentNameUseful 0.74 Humanify better Present Pre-rename JavaScript · s8437 / v2n ×
Declaration · line 284 …
v28.strokeRect(v2g, v2h, v2i, v2j);
}
v28.restore();
}
};
var v2k = class {
constructor(v2l, v2m, v2n = "Untitled", v2o = "white") {
this.width = v2l;
this.height = v2m;
this.name = v2n;
this.path = null;
this.projectPath = null;
this.layers = [];
this.activeLayerIndex = 0;
this.history = new vi();
…
s8455 Input v2o bgColor defaultColorUseful 0.19 backgroundColorUseful 0.93 Humanify better Present Pre-rename JavaScript · s8455 / v2o ×
Declaration · line 284 …
v28.restore();
}
};
var v2k = class {
constructor(v2l, v2m, v2n = "Untitled", v2o = "white") {
this.width = v2l;
this.height = v2m;
this.name = v2n;
this.path = null;
this.projectPath = null;
this.layers = [];
this.activeLayerIndex = 0;
this.history = new vi();
this.zoom = 1;
… Reference · line 303 …
this.compositeCtx = this.composite.getContext("2d");
const v2p = new va(v2l, v2m, "Background");
if (v2o === "white") {
v2p.ctx.fillStyle = "#ffffff";
v2p.ctx.fillRect(0, 0, v2l, v2m);
} else if (v2o === "black") {
v2p.ctx.fillStyle = "#000000";
v2p.ctx.fillRect(0, 0, v2l, v2m);
}
this.layers.push(v2p);
…
s9014 Input v2p layer backgroundLayerUseful 0.51 compositeHeightUseful 0.04 FlowName better Absent Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s9014 / v2p ×
Declaration · line 302 …
this.composite.height = v2m;
this.compositeCtx = this.composite.getContext("2d");
const v2p = new va(v2l, v2m, "Background");
if (v2o === "white") {
v2p.ctx.fillStyle = "#ffffff";
v2p.ctx.fillRect(0, 0, v2l, v2m);
} else if (v2o === "black") {
v2p.ctx.fillStyle = "#000000";
v2p.ctx.fillRect(0, 0, v2l, v2m);
… Reference · line 310 …
v2p.ctx.fillStyle = "#000000";
v2p.ctx.fillRect(0, 0, v2l, v2m);
}
this.layers.push(v2p );
}
get activeLayer() {
return this.layers[this.activeLayerIndex];
}
addLayer(v2q, v2r) {
const v2s = new va(this.width, this.height, v2q || `Layer ${this.layers.length + 1}`);
const v2t = v2r !== void 0 ? v2r : this.activeLayerIndex + 1;
…
s9414 Input v2q name layerNameUseful 0.85 layerNameUseful 0.85 Both useful Present Pre-rename JavaScript · s9414 / v2q ×
Declaration · line 315 …
get activeLayer() {
return this.layers[this.activeLayerIndex];
}
addLayer(v2q , v2r) {
const v2s = new va(this.width, this.height, v2q || `Layer ${this.layers.length + 1}`);
const v2t = v2r !== void 0 ? v2r : this.activeLayerIndex + 1;
this.layers.splice(v2t, 0, v2s);
this.activeLayerIndex = v2t;
…
s9419 Input v2r index targetIndex2Useful 0.43 targetIndexUseful 0.79 Humanify better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s9419 / v2r ×
Declaration · line 315 …
get activeLayer() {
return this.layers[this.activeLayerIndex];
}
addLayer(v2q, v2r ) {
const v2s = new va(this.width, this.height, v2q || `Layer ${this.layers.length + 1}`);
const v2t = v2r !== void 0 ? v2r : this.activeLayerIndex + 1;
this.layers.splice(v2t, 0, v2s);
this.activeLayerIndex = v2t;
…
s9438 Input v2s layer newLayerUseful 0.74 newLayerUseful 0.74 Both useful Present Pre-rename JavaScript · s9438 / v2s ×
Declaration · line 316 …
return this.layers[this.activeLayerIndex];
}
addLayer(v2q, v2r) {
const v2s = new va(this.width, this.height, v2q || `Layer ${this.layers.length + 1}`);
const v2t = v2r !== void 0 ? v2r : this.activeLayerIndex + 1;
this.layers.splice(v2t, 0, v2s);
this.activeLayerIndex = v2t;
return v2s;
…
s9531 Input v2t idx targetIndexUseful 0.83 targetIndex2Useful 0.55 FlowName better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s9531 / v2t ×
Declaration · line 317 …
const v2s = new va(this.width, this.height, v2q || `Layer ${this.layers.length + 1}`);
const v2t = v2r !== void 0 ? v2r : this.activeLayerIndex + 1;
this.layers.splice(v2t, 0, v2s);
this.activeLayerIndex = v2t;
return v2s;
}
removeLayer(v2u) {
if (this.layers.length <= 1) return;
const v2v = v2u !== void 0 ? v2u : this.activeLayerIndex;
…
s9701 Input v2u index layerIndexUseful 0.77 layerIndexUseful 0.77 Both useful Present Pre-rename JavaScript · s9701 / v2u ×
Declaration · line 322 …
this.layers.splice(v2t, 0, v2s);
this.activeLayerIndex = v2t;
return v2s;
}
removeLayer(v2u ) {
if (this.layers.length <= 1) return;
const v2v = v2u !== void 0 ? v2u : this.activeLayerIndex;
this.layers.splice(v2v, 1);
if (this.activeLayerIndex >= this.layers.length) this.activeLayerIndex = this.layers.length - 1;
…
s9763 Input v2v idx targetLayerIndexUseful 0.51 targetIndexUseful 0.56 Both useful Present Usefulness probability is near the provisional 0.5 boundary. Preference confidence is low. Pre-rename JavaScript · s9763 / v2v ×
Declaration · line 324 …
return v2s;
}
removeLayer(v2u) {
if (this.layers.length <= 1) return;
const v2v = v2u !== void 0 ? v2u : this.activeLayerIndex;
this.layers.splice(v2v, 1);
if (this.activeLayerIndex >= this.layers.length) this.activeLayerIndex = this.layers.length - 1;
}
moveLayer(v2w, v2x) {
if (v2x < 0 || v2x >= this.layers.length) return;
…
s9972 Input v2w from fromIndexUseful 0.88 fromIndexUseful 0.88 Both useful Present Pre-rename JavaScript · s9972 / v2w ×
Declaration · line 328 …
if (this.activeLayerIndex >= this.layers.length) this.activeLayerIndex = this.layers.length - 1;
}
moveLayer(v2w , v2x) {
if (v2x < 0 || v2x >= this.layers.length) return;
const [v2y] = this.layers.splice(v2w, 1);
this.layers.splice(v2x, 0, v2y);
this.activeLayerIndex = v2x;
}
duplicateLayer(v2z) {
const v30 = v2z !== void 0 ? v2z : this.activeLayerIndex;
…
s9977 Input v2x to toIndexUseful 0.85 targetIndexUseful 0.83 Both useful Present Preference confidence is low. Pre-rename JavaScript · s9977 / v2x ×
Declaration · line 328 …
if (this.activeLayerIndex >= this.layers.length) this.activeLayerIndex = this.layers.length - 1;
}
moveLayer(v2w, v2x ) {
if (v2x < 0 || v2x >= this.layers.length) return;
const [v2y] = this.layers.splice(v2w, 1);
this.layers.splice(v2x, 0, v2y);
this.activeLayerIndex = v2x;
}
duplicateLayer(v2z) {
const v30 = v2z !== void 0 ? v2z : this.activeLayerIndex;
…
s10053 Input v2y layer layerUseful 0.92 layerUseful 0.92 Both useful Present Pre-rename JavaScript · s10053 / v2y ×
Declaration · line 330 …
moveLayer(v2w, v2x) {
if (v2x < 0 || v2x >= this.layers.length) return;
const [v2y ] = this.layers.splice(v2w, 1);
this.layers.splice(v2x, 0, v2y);
this.activeLayerIndex = v2x;
}
duplicateLayer(v2z) {
const v30 = v2z !== void 0 ? v2z : this.activeLayerIndex;
const v31 = this.layers[v30].clone();
…
s10187 Input v2z index layerIndexUseful 0.72 layerIndexUseful 0.72 Both useful Present Pre-rename JavaScript · s10187 / v2z ×
Declaration · line 334 …
this.layers.splice(v2x, 0, v2y);
this.activeLayerIndex = v2x;
}
duplicateLayer(v2z ) {
const v30 = v2z !== void 0 ? v2z : this.activeLayerIndex;
const v31 = this.layers[v30].clone();
v31.name = v31.name + " copy";
this.layers.splice(v30 + 1, 0, v31);
this.activeLayerIndex = v30 + 1;
}
mergeDown(v32) {
…
s10206 Input v30 idx targetIndexUseful 0.50 layerIndex2Useful 0.35 FlowName better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s10206 / v30 ×
Declaration · line 335 …
this.layers.splice(v2x, 0, v2y);
this.activeLayerIndex = v2x;
}
duplicateLayer(v2z) {
const v30 = v2z !== void 0 ? v2z : this.activeLayerIndex;
const v31 = this.layers[v30].clone();
v31.name = v31.name + " copy";
this.layers.splice(v30 + 1, 0, v31);
this.activeLayerIndex = v30 + 1;
}
mergeDown(v32) {
…
s10270 Input v31 clone clonedLayerUseful 0.87 clonedLayerUseful 0.87 Both useful Present Pre-rename JavaScript · s10270 / v31 ×
Declaration · line 336 …
duplicateLayer(v2z) {
const v30 = v2z !== void 0 ? v2z : this.activeLayerIndex;
const v31 = this.layers[v30].clone();
v31.name = v31.name + " copy";
this.layers.splice(v30 + 1, 0, v31);
this.activeLayerIndex = v30 + 1;
}
mergeDown(v32) {
const v33 = v32 !== void 0 ? v32 : this.activeLayerIndex;
…
s10441 Input v32 index layerIndexUseful 0.74 layerIndexUseful 0.74 Both useful Present Pre-rename JavaScript · s10441 / v32 ×
Declaration · line 341 …
this.layers.splice(v30 + 1, 0, v31);
this.activeLayerIndex = v30 + 1;
}
mergeDown(v32 ) {
const v33 = v32 !== void 0 ? v32 : this.activeLayerIndex;
if (v33 <= 0) return;
const v34 = this.layers[v33];
const v35 = this.layers[v33 - 1];
v35.ctx.globalAlpha = v34.opacity;
v35.ctx.globalCompositeOperation = v34.blendMode;
…
s10460 Input v33 idx targetLayerIndexUseful 0.67 targetIndexUseful 0.49 FlowName better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s10460 / v33 ×
Declaration · line 342 …
this.layers.splice(v30 + 1, 0, v31);
this.activeLayerIndex = v30 + 1;
}
mergeDown(v32) {
const v33 = v32 !== void 0 ? v32 : this.activeLayerIndex;
if (v33 <= 0) return;
const v34 = this.layers[v33];
const v35 = this.layers[v33 - 1];
v35.ctx.globalAlpha = v34.opacity;
v35.ctx.globalCompositeOperation = v34.blendMode;
… Reference · line 351 …
v35.ctx.globalAlpha = 1;
v35.ctx.globalCompositeOperation = "source-over";
this.layers.splice(v33 , 1);
this.activeLayerIndex = v33 - 1;
}
resizeCanvas(v36, v37, v38 = 0, v39 = 0) {
for (const v3a of this.layers) {
const v3b = document.createElement("canvas");
v3b.width = v3a.canvas.width;
v3b.height = v3a.canvas.height;
…
s10552 Input v34 upper topLayerUseful 0.48 currentLayerUseful 0.41 Both poor Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s10552 / v34 ×
Declaration · line 344 …
const v33 = v32 !== void 0 ? v32 : this.activeLayerIndex;
if (v33 <= 0) return;
const v34 = this.layers[v33];
const v35 = this.layers[v33 - 1];
v35.ctx.globalAlpha = v34.opacity;
v35.ctx.globalCompositeOperation = v34.blendMode;
v35.ctx.drawImage(v34.canvas, 0, 0);
v35.ctx.globalAlpha = 1;
v35.ctx.globalCompositeOperation = "source-over";
…
s10588 Input v35 lower bottomLayerUseful 0.63 targetLayerUseful 0.32 FlowName better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s10588 / v35 ×
Declaration · line 345 …
const v33 = v32 !== void 0 ? v32 : this.activeLayerIndex;
if (v33 <= 0) return;
const v34 = this.layers[v33];
const v35 = this.layers[v33 - 1];
v35.ctx.globalAlpha = v34.opacity;
v35.ctx.globalCompositeOperation = v34.blendMode;
v35.ctx.drawImage(v34.canvas, 0, 0);
v35.ctx.globalAlpha = 1;
v35.ctx.globalCompositeOperation = "source-over";
…
s10939 Input v36 newW widthUseful 0.41 newWidthUseful 0.86 Humanify better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s10939 / v36 ×
Declaration · line 354 …
this.layers.splice(v33, 1);
this.activeLayerIndex = v33 - 1;
}
resizeCanvas(v36 , v37, v38 = 0, v39 = 0) {
for (const v3a of this.layers) {
const v3b = document.createElement("canvas");
v3b.width = v3a.canvas.width;
v3b.height = v3a.canvas.height;
v3b.getContext("2d").drawImage(v3a.canvas, 0, 0);
… Reference · line 360 …
v3b.height = v3a.canvas.height;
v3b.getContext("2d").drawImage(v3a.canvas, 0, 0);
v3a.canvas.width = v36 ;
v3a.canvas.height = v37;
v3a.ctx.clearRect(0, 0, v36, v37);
v3a.ctx.drawImage(v3b, v38, v39);
}
this.width = v36;
this.height = v37;
this.composite.width = v36;
this.composite.height = v37;
…
s10944 Input v37 newH heightUseful 0.48 newHeightUseful 0.82 Humanify better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s10944 / v37 ×
Declaration · line 354 …
this.layers.splice(v33, 1);
this.activeLayerIndex = v33 - 1;
}
resizeCanvas(v36, v37 , v38 = 0, v39 = 0) {
for (const v3a of this.layers) {
const v3b = document.createElement("canvas");
v3b.width = v3a.canvas.width;
v3b.height = v3a.canvas.height;
v3b.getContext("2d").drawImage(v3a.canvas, 0, 0);
… Reference · line 361 …
v3b.getContext("2d").drawImage(v3a.canvas, 0, 0);
v3a.canvas.width = v36;
v3a.canvas.height = v37 ;
v3a.ctx.clearRect(0, 0, v36, v37);
v3a.ctx.drawImage(v3b, v38, v39);
}
this.width = v36;
this.height = v37;
this.composite.width = v36;
this.composite.height = v37;
this.selection = new vl(v36, v37);
…
s10949 Input v38 offsetX xUseful 0.48 offsetXUseful 0.94 Humanify better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s10949 / v38 ×
Declaration · line 354 …
this.layers.splice(v33, 1);
this.activeLayerIndex = v33 - 1;
}
resizeCanvas(v36, v37, v38 = 0, v39 = 0) {
for (const v3a of this.layers) {
const v3b = document.createElement("canvas");
v3b.width = v3a.canvas.width;
v3b.height = v3a.canvas.height;
v3b.getContext("2d").drawImage(v3a.canvas, 0, 0);
… Reference · line 363 …
v3a.canvas.height = v37;
v3a.ctx.clearRect(0, 0, v36, v37);
v3a.ctx.drawImage(v3b, v38 , v39);
}
this.width = v36;
this.height = v37;
this.composite.width = v36;
this.composite.height = v37;
this.selection = new vl(v36, v37);
}
cropToSelection() {
if (!this.selection.active || !this.selection.bounds) return;
…
s10958 Input v39 offsetY yUseful 0.66 offsetYUseful 0.94 Humanify better Present Pre-rename JavaScript · s10958 / v39 ×
Declaration · line 354 …
this.layers.splice(v33, 1);
this.activeLayerIndex = v33 - 1;
}
resizeCanvas(v36, v37, v38 = 0, v39 = 0) {
for (const v3a of this.layers) {
const v3b = document.createElement("canvas");
v3b.width = v3a.canvas.width;
v3b.height = v3a.canvas.height;
v3b.getContext("2d").drawImage(v3a.canvas, 0, 0);
v3a.canvas.width = v36;
… Reference · line 363 …
v3a.canvas.height = v37;
v3a.ctx.clearRect(0, 0, v36, v37);
v3a.ctx.drawImage(v3b, v38, v39 );
}
this.width = v36;
this.height = v37;
this.composite.width = v36;
this.composite.height = v37;
this.selection = new vl(v36, v37);
}
cropToSelection() {
if (!this.selection.active || !this.selection.bounds) return;
…
s10986 Input v3a layer layerUseful 0.92 layerUseful 0.92 Both useful Present Pre-rename JavaScript · s10986 / v3a ×
Declaration · line 355 …
this.activeLayerIndex = v33 - 1;
}
resizeCanvas(v36, v37, v38 = 0, v39 = 0) {
for (const v3a of this.layers) {
const v3b = document.createElement("canvas");
v3b.width = v3a.canvas.width;
v3b.height = v3a.canvas.height;
v3b.getContext("2d").drawImage(v3a.canvas, 0, 0);
v3a.canvas.width = v36;
… Reference · line 361 …
v3b.getContext("2d").drawImage(v3a.canvas, 0, 0);
v3a.canvas.width = v36;
v3a .canvas.height = v37;
v3a.ctx.clearRect(0, 0, v36, v37);
v3a.ctx.drawImage(v3b, v38, v39);
}
this.width = v36;
this.height = v37;
this.composite.width = v36;
this.composite.height = v37;
this.selection = new vl(v36, v37);
…
s11022 Input v3b old tempCanvasUseful 0.79 tempCanvasUseful 0.79 Both useful Present Pre-rename JavaScript · s11022 / v3b ×
Declaration · line 356 …
resizeCanvas(v36, v37, v38 = 0, v39 = 0) {
for (const v3a of this.layers) {
const v3b = document.createElement("canvas");
v3b.width = v3a.canvas.width;
v3b.height = v3a.canvas.height;
v3b.getContext("2d").drawImage(v3a.canvas, 0, 0);
v3a.canvas.width = v36;
v3a.canvas.height = v37;
… Reference · line 363 …
v3a.canvas.height = v37;
v3a.ctx.clearRect(0, 0, v36, v37);
v3a.ctx.drawImage(v3b , v38, v39);
}
this.width = v36;
this.height = v37;
this.composite.width = v36;
this.composite.height = v37;
this.selection = new vl(v36, v37);
}
cropToSelection() {
if (!this.selection.active || !this.selection.bounds) return;
…
s11638 Input v3c x selectionXUseful 0.74 selectionXUseful 0.74 Both useful Present Pre-rename JavaScript · s11638 / v3c ×
Declaration · line 374 …
if (!this.selection.active || !this.selection.bounds) return;
const {
x: v3c ,
y: v3d,
w: v3e,
h: v3f
} = this.selection.bounds;
if (v3e <= 0 || v3f <= 0) return;
for (const v3g of this.layers) {
const v3h = v3g.ctx.getImageData(v3c, v3d, v3e, v3f);
v3g.canvas.width = v3e;
…
s11654 Input v3d y selectionYUseful 0.75 selectionYUseful 0.75 Both useful Present Pre-rename JavaScript · s11654 / v3d ×
Declaration · line 375 …
if (!this.selection.active || !this.selection.bounds) return;
const {
x: v3c,
y: v3d ,
w: v3e,
h: v3f
} = this.selection.bounds;
if (v3e <= 0 || v3f <= 0) return;
for (const v3g of this.layers) {
const v3h = v3g.ctx.getImageData(v3c, v3d, v3e, v3f);
v3g.canvas.width = v3e;
…
s11670 Input v3e w selectionWidthUseful 0.87 selectionWidthUseful 0.87 Both useful Present Pre-rename JavaScript · s11670 / v3e ×
Declaration · line 376 …
if (!this.selection.active || !this.selection.bounds) return;
const {
x: v3c,
y: v3d,
w: v3e ,
h: v3f
} = this.selection.bounds;
if (v3e <= 0 || v3f <= 0) return;
for (const v3g of this.layers) {
const v3h = v3g.ctx.getImageData(v3c, v3d, v3e, v3f);
v3g.canvas.width = v3e;
v3g.canvas.height = v3f;
… Reference · line 386 …
v3g.canvas.height = v3f;
v3g.ctx.putImageData(v3h, 0, 0);
}
this.width = v3e ;
this.height = v3f;
this.composite.width = v3e;
this.composite.height = v3f;
this.selection = new vl(v3e, v3f);
}
scaleImage(v3i, v3j, v3k = "bilinear") {
for (const v3l of this.layers) {
const v3m = document.createElement("canvas");
…
s11686 Input v3f h selectionHeightUseful 0.83 selectionHeightUseful 0.83 Both useful Present Pre-rename JavaScript · s11686 / v3f ×
Declaration · line 377 …
if (!this.selection.active || !this.selection.bounds) return;
const {
x: v3c,
y: v3d,
w: v3e,
h: v3f
} = this.selection.bounds;
if (v3e <= 0 || v3f <= 0) return;
for (const v3g of this.layers) {
const v3h = v3g.ctx.getImageData(v3c, v3d, v3e, v3f);
v3g.canvas.width = v3e;
v3g.canvas.height = v3f;
… Reference · line 387 …
v3g.ctx.putImageData(v3h, 0, 0);
}
this.width = v3e;
this.height = v3f ;
this.composite.width = v3e;
this.composite.height = v3f;
this.selection = new vl(v3e, v3f);
}
scaleImage(v3i, v3j, v3k = "bilinear") {
for (const v3l of this.layers) {
const v3m = document.createElement("canvas");
…
s11780 Input v3g layer layerUseful 0.91 layerUseful 0.91 Both useful Present Pre-rename JavaScript · s11780 / v3g ×
Declaration · line 380 …
} = this.selection.bounds;
if (v3e <= 0 || v3f <= 0) return;
for (const v3g of this.layers) {
const v3h = v3g.ctx.getImageData(v3c, v3d, v3e, v3f);
v3g.canvas.width = v3e;
v3g.canvas.height = v3f;
v3g.ctx.putImageData(v3h, 0, 0);
}
this.width = v3e;
this.height = v3f;
…
s11816 Input v3h cropped imageDataUseful 0.78 imageDataUseful 0.78 Both useful Present Pre-rename JavaScript · s11816 / v3h ×
Declaration · line 381 …
if (v3e <= 0 || v3f <= 0) return;
for (const v3g of this.layers) {
const v3h = v3g.ctx.getImageData(v3c, v3d, v3e, v3f);
v3g.canvas.width = v3e;
v3g.canvas.height = v3f;
v3g.ctx.putImageData(v3h, 0, 0);
}
this.width = v3e;
this.height = v3f;
this.composite.width = v3e;
…
s12158 Input v3i newW targetWidthUseful 0.87 targetWidthUseful 0.87 Both useful Present Pre-rename JavaScript · s12158 / v3i ×
Declaration · line 392 …
this.composite.height = v3f;
this.selection = new vl(v3e, v3f);
}
scaleImage(v3i , v3j, v3k = "bilinear") {
for (const v3l of this.layers) {
const v3m = document.createElement("canvas");
v3m.width = v3l.canvas.width;
v3m.height = v3l.canvas.height;
v3m.getContext("2d").drawImage(v3l.canvas, 0, 0);
… Reference · line 398 …
v3m.height = v3l.canvas.height;
v3m.getContext("2d").drawImage(v3l.canvas, 0, 0);
v3l.canvas.width = v3i ;
v3l.canvas.height = v3j;
v3l.ctx.imageSmoothingEnabled = v3k !== "nearest";
if (v3k === "bicubic") v3l.ctx.imageSmoothingQuality = "high";else v3l.ctx.imageSmoothingQuality = "low";
v3l.ctx.drawImage(v3m, 0, 0, v3i, v3j);
…
s12163 Input v3j newH targetHeightUseful 0.80 targetHeightUseful 0.80 Both useful Present Pre-rename JavaScript · s12163 / v3j ×
Declaration · line 392 …
this.composite.height = v3f;
this.selection = new vl(v3e, v3f);
}
scaleImage(v3i, v3j , v3k = "bilinear") {
for (const v3l of this.layers) {
const v3m = document.createElement("canvas");
v3m.width = v3l.canvas.width;
v3m.height = v3l.canvas.height;
v3m.getContext("2d").drawImage(v3l.canvas, 0, 0);
… Reference · line 399 …
v3m.getContext("2d").drawImage(v3l.canvas, 0, 0);
v3l.canvas.width = v3i;
v3l.canvas.height = v3j ;
v3l.ctx.imageSmoothingEnabled = v3k !== "nearest";
if (v3k === "bicubic") v3l.ctx.imageSmoothingQuality = "high";else v3l.ctx.imageSmoothingQuality = "low";
v3l.ctx.drawImage(v3m, 0, 0, v3i, v3j);
v3l.ctx.imageSmoothingEnabled = false;
…
s12168 Input v3k interpolation resampleModeUseful 0.73 interpolationMethodUseful 0.82 Humanify better Present Pre-rename JavaScript · s12168 / v3k ×
Declaration · line 392 …
this.composite.height = v3f;
this.selection = new vl(v3e, v3f);
}
scaleImage(v3i, v3j, v3k = "bilinear") {
for (const v3l of this.layers) {
const v3m = document.createElement("canvas");
v3m.width = v3l.canvas.width;
v3m.height = v3l.canvas.height;
v3m.getContext("2d").drawImage(v3l.canvas, 0, 0);
… Reference · line 400 …
v3l.canvas.width = v3i;
v3l.canvas.height = v3j;
v3l.ctx.imageSmoothingEnabled = v3k !== "nearest";
if (v3k === "bicubic") v3l.ctx.imageSmoothingQuality = "high";else v3l.ctx.imageSmoothingQuality = "low";
v3l.ctx.drawImage(v3m, 0, 0, v3i, v3j);
v3l.ctx.imageSmoothingEnabled = false;
}
this.width = v3i;
…
s12205 Input v3l layer layerUseful 0.91 layerUseful 0.91 Both useful Present Pre-rename JavaScript · s12205 / v3l ×
Declaration · line 393 …
this.selection = new vl(v3e, v3f);
}
scaleImage(v3i, v3j, v3k = "bilinear") {
for (const v3l of this.layers) {
const v3m = document.createElement("canvas");
v3m.width = v3l.canvas.width;
v3m.height = v3l.canvas.height;
v3m.getContext("2d").drawImage(v3l.canvas, 0, 0);
v3l.canvas.width = v3i;
… Reference · line 399 …
v3m.getContext("2d").drawImage(v3l.canvas, 0, 0);
v3l.canvas.width = v3i;
v3l .canvas.height = v3j;
v3l.ctx.imageSmoothingEnabled = v3k !== "nearest";
if (v3k === "bicubic") v3l.ctx.imageSmoothingQuality = "high";else v3l.ctx.imageSmoothingQuality = "low";
v3l.ctx.drawImage(v3m, 0, 0, v3i, v3j);
…
s12241 Input v3m old tempCanvasUseful 0.82 tempCanvasUseful 0.82 Both useful Present Pre-rename JavaScript · s12241 / v3m ×
Declaration · line 394 …
scaleImage(v3i, v3j, v3k = "bilinear") {
for (const v3l of this.layers) {
const v3m = document.createElement("canvas");
v3m.width = v3l.canvas.width;
v3m.height = v3l.canvas.height;
v3m.getContext("2d").drawImage(v3l.canvas, 0, 0);
v3l.canvas.width = v3i;
v3l.canvas.height = v3j;
… Reference · line 402 …
if (v3k === "bicubic") v3l.ctx.imageSmoothingQuality = "high";else v3l.ctx.imageSmoothingQuality = "low";
v3l.ctx.drawImage(v3m , 0, 0, v3i, v3j);
v3l.ctx.imageSmoothingEnabled = false;
}
this.width = v3i;
this.height = v3j;
this.composite.width = v3i;
this.composite.height = v3j;
this.selection = new vl(v3i, v3j);
}
…
s12956 Input v3n ctx compositeCtxUseful 0.58 ctxUseful 0.75 Both useful Present Usefulness probability is near the provisional 0.5 boundary. Preference confidence is low. Pre-rename JavaScript · s12956 / v3n ×
Declaration · line 412 …
this.composite.height = v3j;
this.selection = new vl(v3i, v3j);
}
compositeAll() {
const v3n = this.compositeCtx;
v3n.clearRect(0, 0, this.width, this.height);
for (const v3o of this.layers) {
if (!v3o.visible) continue;
v3n.globalAlpha = v3o.opacity;
v3n.globalCompositeOperation = v3o.blendMode;
… Reference · line 418 …
v3n.globalAlpha = v3o.opacity;
v3n.globalCompositeOperation = v3o.blendMode;
v3n .drawImage(v3o.canvas, 0, 0);
}
v3n.globalAlpha = 1;
v3n.globalCompositeOperation = "source-over";
}
saveDrawState(v3p, v3q) {
let v3r;
if (typeof v3p === "string") {
v3q = v3p;
v3r = this.activeLayerIndex;
…
s13050 Input v3o layer layerUseful 0.93 layerUseful 0.93 Both useful Present Pre-rename JavaScript · s13050 / v3o ×
Declaration · line 414 …
const v3n = this.compositeCtx;
v3n.clearRect(0, 0, this.width, this.height);
for (const v3o of this.layers) {
if (!v3o.visible) continue;
v3n.globalAlpha = v3o.opacity;
v3n.globalCompositeOperation = v3o.blendMode;
v3n.drawImage(v3o.canvas, 0, 0);
}
v3n.globalAlpha = 1;
v3n.globalCompositeOperation = "source-over";
…
s13353 Input v3p layerIndexOrLabel layerIndexOrLabelUseful 0.89 layerIndexOrLabelUseful 0.89 Both useful Present Pre-rename JavaScript · s13353 / v3p ×
Declaration · line 423 …
v3n.globalAlpha = 1;
v3n.globalCompositeOperation = "source-over";
}
saveDrawState(v3p , v3q) {
let v3r;
if (typeof v3p === "string") {
v3q = v3p;
v3r = this.activeLayerIndex;
} else {
v3r = v3p !== void 0 ? v3p : this.activeLayerIndex;
}
this.history.push({
type: "draw",
…
s13358 Input v3q label labelUseful 0.87 labelUseful 0.87 Both useful Present Pre-rename JavaScript · s13358 / v3q ×
Declaration · line 423 …
v3n.globalAlpha = 1;
v3n.globalCompositeOperation = "source-over";
}
saveDrawState(v3p, v3q ) {
let v3r;
if (typeof v3p === "string") {
v3q = v3p;
v3r = this.activeLayerIndex;
} else {
v3r = v3p !== void 0 ? v3p : this.activeLayerIndex;
}
this.history.push({
type: "draw",
… Reference · line 433 …
v3r = v3p !== void 0 ? v3p : this.activeLayerIndex;
}
this.history.push({
type: "draw",
label: v3q || "Draw",
layerIndex: v3r,
imageData: this.layers[v3r].getSnapshot()
});
this.dirty = true;
}
saveSelectionState(v3s) {
this.history.push({
type: "selection",
label: v3s || "Selection",
…
s13375 Input v3r idx layerIndexUseful 0.90 layerIndexUseful 0.90 Both useful Present Pre-rename JavaScript · s13375 / v3r ×
Declaration · line 424 …
v3n.globalCompositeOperation = "source-over";
}
saveDrawState(v3p, v3q) {
let v3r ;
if (typeof v3p === "string") {
v3q = v3p;
v3r = this.activeLayerIndex;
} else {
v3r = v3p !== void 0 ? v3p : this.activeLayerIndex;
}
this.history.push({
type: "draw",
label: v3q || "Draw",
… Reference · line 434 …
this.history.push({
type: "draw",
label: v3q || "Draw",
layerIndex: v3r ,
imageData: this.layers[v3r].getSnapshot()
});
this.dirty = true;
}
saveSelectionState(v3s) {
this.history.push({
type: "selection",
label: v3s || "Selection",
mask: this.selection.mask ? new Uint8Array(this.selection.mask) : null,
…
s13773 Input v3s label selectionLabelUseful 0.73 labelUseful 0.77 Both useful Present Preference confidence is low. Pre-rename JavaScript · s13773 / v3s ×
Declaration · line 439 …
imageData: this.layers[v3r].getSnapshot()
});
this.dirty = true;
}
saveSelectionState(v3s ) {
this.history.push({
type: "selection",
label: v3s || "Selection",
mask: this.selection.mask ? new Uint8Array(this.selection.mask) : null,
bounds: this.selection.bounds ? {
...this.selection.bounds
…
s14120 Input v3t label structureStateUseful 0.48 actionLabelUseful 0.28 Both poor Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s14120 / v3t ×
Declaration · line 450 …
} : null,
active: this.selection.active
});
}
saveStructureState(v3t ) {
this.history.push({
type: "structure",
label: v3t || "Structure",
width: this.width,
height: this.height,
layerCount: this.layers.length,
activeIndex: this.activeLayerIndex,
layers: this.layers.map(v3u => ({
…
s14387 Input v3u l layerUseful 0.89 layerUseful 0.89 Both useful Present Pre-rename JavaScript · s14387 / v3u ×
Declaration · line 458 …
layerCount: this.layers.length,
activeIndex: this.activeLayerIndex,
layers: this.layers.map(v3u => ({
imageData: v3u.getSnapshot(),
name: v3u.name,
opacity: v3u.opacity,
visible: v3u.visible,
blendMode: v3u.blendMode
}))
});
this.dirty = true;
}
undo() {
…
s14640 Input v3v state historyActionUseful 0.49 undoActionUseful 0.39 Both poor Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s14640 / v3v ×
Declaration · line 469 …
blendMode: v3u.blendMode
}))
});
this.dirty = true;
}
undo() {
const v3v = this.history.undo();
if (!v3v) return false;
if (v3v.type === "draw") {
const v3w = this.layers[v3v.layerIndex].getSnapshot();
this.layers[v3v.layerIndex].restoreSnapshot(v3v.imageData);
v3v.imageData = v3w;
… Reference · line 475 …
this.layers[v3v.layerIndex].restoreSnapshot(v3v.imageData);
v3v.imageData = v3w;
} else if (v3v .type === "selection") {
const v3x = {
type: "selection",
mask: this.selection.mask ? new Uint8Array(this.selection.mask) : null,
bounds: this.selection.bounds ? {
...this.selection.bounds
…
s14744 Input v3w current layerSnapshotUseful 0.71 previousSnapshotUseful 0.59 FlowName better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s14744 / v3w ×
Declaration · line 472 …
const v3v = this.history.undo();
if (!v3v) return false;
if (v3v.type === "draw") {
const v3w = this.layers[v3v.layerIndex].getSnapshot();
this.layers[v3v.layerIndex].restoreSnapshot(v3v.imageData);
v3v.imageData = v3w;
} else if (v3v.type === "selection") {
const v3x = {
type: "selection",
…
s14949 Input v3x cur selectionDataUseful 0.57 serializedSelectionUseful 0.41 FlowName better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s14949 / v3x ×
Declaration · line 476 …
this.layers[v3v.layerIndex].restoreSnapshot(v3v.imageData);
v3v.imageData = v3w;
} else if (v3v.type === "selection") {
const v3x = {
type: "selection",
mask: this.selection.mask ? new Uint8Array(this.selection.mask) : null,
bounds: this.selection.bounds ? {
...this.selection.bounds
} : null,
active: this.selection.active
… Reference · line 492 …
this.selection.active = v3v.active;
} else {
this.selection.clear();
}
v3v.mask = v3x .mask;
v3v.bounds = v3x.bounds;
v3v.active = v3x.active;
} else if (v3v.type === "structure") {
const v3y = {
type: "structure",
width: this.width,
height: this.height,
layerCount: this.layers.length,
…
s15635 Input v3y current structureNodeUseful 0.28 structureSnapshotUseful 0.67 Humanify better Present Pre-rename JavaScript · s15635 / v3y ×
Declaration · line 496 …
v3v.active = v3x.active;
} else if (v3v.type === "structure") {
const v3y = {
type: "structure",
width: this.width,
height: this.height,
layerCount: this.layers.length,
activeIndex: this.activeLayerIndex,
layers: this.layers.map(v3z => ({
imageData: v3z.getSnapshot(),
… Reference · line 526 …
return v43;
});
this.activeLayerIndex = v3v.activeIndex;
v3v.layers = v3y .layers;
v3v.activeIndex = v3y.activeIndex;
v3v.layerCount = v3y.layerCount;
v3v.width = v3y.width;
v3v.height = v3y.height;
}
return true;
}
redo() {
const v44 = this.history.redo();
…
s15854 Input v3z l layerUseful 0.87 layerUseful 0.87 Both useful Present Pre-rename JavaScript · s15854 / v3z ×
Declaration · line 502 …
layerCount: this.layers.length,
activeIndex: this.activeLayerIndex,
layers: this.layers.map(v3z => ({
imageData: v3z.getSnapshot(),
name: v3z.name,
opacity: v3z.opacity,
visible: v3z.visible,
blendMode: v3z.blendMode
}))
};
const v40 = v3v.width || this.width;
…
s16078 Input v40 restoreW layerWidthUseful 0.34 targetWidthUseful 0.40 Both poor Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s16078 / v40 ×
Declaration · line 510 …
visible: v3z.visible,
blendMode: v3z.blendMode
}))
};
const v40 = v3v.width || this.width;
const v41 = v3v.height || this.height;
this.width = v40;
this.height = v41;
this.composite.width = v40;
this.composite.height = v41;
this.selection = new vl(v40, v41);
… Reference · line 518 …
this.selection = new vl(v40, v41);
this.layers = v3v.layers.map(v42 => {
const v43 = new va(v40 , v41, v42.name);
v43.restoreSnapshot(v42.imageData);
v43.opacity = v42.opacity;
v43.visible = v42.visible;
v43.blendMode = v42.blendMode;
return v43;
});
this.activeLayerIndex = v3v.activeIndex;
…
s16123 Input v41 restoreH layerHeightUseful 0.18 targetWidth2Useful 0.15 Both poor Absent Pre-rename JavaScript · s16123 / v41 ×
Declaration · line 511 …
blendMode: v3z.blendMode
}))
};
const v40 = v3v.width || this.width;
const v41 = v3v.height || this.height;
this.width = v40;
this.height = v41;
this.composite.width = v40;
this.composite.height = v41;
this.selection = new vl(v40, v41);
this.layers = v3v.layers.map(v42 => {
… Reference · line 518 …
this.selection = new vl(v40, v41);
this.layers = v3v.layers.map(v42 => {
const v43 = new va(v40, v41 , v42.name);
v43.restoreSnapshot(v42.imageData);
v43.opacity = v42.opacity;
v43.visible = v42.visible;
v43.blendMode = v42.blendMode;
return v43;
});
this.activeLayerIndex = v3v.activeIndex;
…
s16362 Input v42 s layerDataUseful 0.59 layerDataUseful 0.59 Both useful Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s16362 / v42 ×
Declaration · line 517 …
this.composite.height = v41;
this.selection = new vl(v40, v41);
this.layers = v3v.layers.map(v42 => {
const v43 = new va(v40, v41, v42.name);
v43.restoreSnapshot(v42.imageData);
v43.opacity = v42.opacity;
v43.visible = v42.visible;
v43.blendMode = v42.blendMode;
return v43;
…
s16387 Input v43 l layerUseful 0.85 layerUseful 0.85 Both useful Present Pre-rename JavaScript · s16387 / v43 ×
Declaration · line 518 …
this.selection = new vl(v40, v41);
this.layers = v3v.layers.map(v42 => {
const v43 = new va(v40, v41, v42.name);
v43.restoreSnapshot(v42.imageData);
v43.opacity = v42.opacity;
v43.visible = v42.visible;
v43.blendMode = v42.blendMode;
return v43;
});
this.activeLayerIndex = v3v.activeIndex;
…
s16904 Input v44 state actionItemUseful 0.23 actionUseful 0.21 Both poor Present Pre-rename JavaScript · s16904 / v44 ×
Declaration · line 535 …
v3v.height = v3y.height;
}
return true;
}
redo() {
const v44 = this.history.redo();
if (!v44) return false;
if (v44.type === "draw") {
const v45 = this.layers[v44.layerIndex].getSnapshot();
this.layers[v44.layerIndex].restoreSnapshot(v44.imageData);
v44.imageData = v45;
… Reference · line 541 …
this.layers[v44.layerIndex].restoreSnapshot(v44.imageData);
v44.imageData = v45;
} else if (v44 .type === "selection") {
const v46 = {
type: "selection",
mask: this.selection.mask ? new Uint8Array(this.selection.mask) : null,
bounds: this.selection.bounds ? {
...this.selection.bounds
…
s17008 Input v45 current layerSnapshotUseful 0.68 previousSnapshotUseful 0.52 FlowName better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s17008 / v45 ×
Declaration · line 538 …
const v44 = this.history.redo();
if (!v44) return false;
if (v44.type === "draw") {
const v45 = this.layers[v44.layerIndex].getSnapshot();
this.layers[v44.layerIndex].restoreSnapshot(v44.imageData);
v44.imageData = v45;
} else if (v44.type === "selection") {
const v46 = {
type: "selection",
…
s17213 Input v46 cur selectionObjectUseful 0.44 selectionStateUseful 0.55 Humanify better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s17213 / v46 ×
Declaration · line 542 …
this.layers[v44.layerIndex].restoreSnapshot(v44.imageData);
v44.imageData = v45;
} else if (v44.type === "selection") {
const v46 = {
type: "selection",
mask: this.selection.mask ? new Uint8Array(this.selection.mask) : null,
bounds: this.selection.bounds ? {
...this.selection.bounds
} : null,
active: this.selection.active
… Reference · line 558 …
this.selection.active = v44.active;
} else {
this.selection.clear();
}
v44.mask = v46 .mask;
v44.bounds = v46.bounds;
v44.active = v46.active;
} else if (v44.type === "structure") {
const v47 = {
type: "structure",
width: this.width,
height: this.height,
layerCount: this.layers.length,
…
s17899 Input v47 current structureObjUseful 0.53 structureSnapshotUseful 0.71 Humanify better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s17899 / v47 ×
Declaration · line 562 …
v44.active = v46.active;
} else if (v44.type === "structure") {
const v47 = {
type: "structure",
width: this.width,
height: this.height,
layerCount: this.layers.length,
activeIndex: this.activeLayerIndex,
layers: this.layers.map(v48 => ({
imageData: v48.getSnapshot(),
… Reference · line 592 …
return v4c;
});
this.activeLayerIndex = v44.activeIndex;
v44.layers = v47 .layers;
v44.activeIndex = v47.activeIndex;
v44.width = v47.width;
v44.height = v47.height;
}
return true;
}
screenToDoc(v4d, v4e) {
return {
x: (v4d - this.panX) / this.zoom,
y: (v4e - this.panY) / this.zoom
…
s18118 Input v48 l layerUseful 0.88 layerUseful 0.88 Both useful Present Pre-rename JavaScript · s18118 / v48 ×
Declaration · line 568 …
layerCount: this.layers.length,
activeIndex: this.activeLayerIndex,
layers: this.layers.map(v48 => ({
imageData: v48.getSnapshot(),
name: v48.name,
opacity: v48.opacity,
visible: v48.visible,
blendMode: v48.blendMode
}))
};
const v49 = v44.width || this.width;
…
s18342 Input v49 restoreW layerWidthUseful 0.37 targetWidthUseful 0.44 Both poor Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s18342 / v49 ×
Declaration · line 576 …
visible: v48.visible,
blendMode: v48.blendMode
}))
};
const v49 = v44.width || this.width;
const v4a = v44.height || this.height;
this.width = v49;
this.height = v4a;
this.composite.width = v49;
this.composite.height = v4a;
this.selection = new vl(v49, v4a);
… Reference · line 584 …
this.selection = new vl(v49, v4a);
this.layers = v44.layers.map(v4b => {
const v4c = new va(v49 , v4a, v4b.name);
v4c.restoreSnapshot(v4b.imageData);
v4c.opacity = v4b.opacity;
v4c.visible = v4b.visible;
v4c.blendMode = v4b.blendMode;
return v4c;
});
this.activeLayerIndex = v44.activeIndex;
…
s18387 Input v4a restoreH layerHeightUseful 0.18 structureSnapshot2Useful 0.07 Both poor Absent Pre-rename JavaScript · s18387 / v4a ×
Declaration · line 577 …
blendMode: v48.blendMode
}))
};
const v49 = v44.width || this.width;
const v4a = v44.height || this.height;
this.width = v49;
this.height = v4a;
this.composite.width = v49;
this.composite.height = v4a;
this.selection = new vl(v49, v4a);
this.layers = v44.layers.map(v4b => {
… Reference · line 584 …
this.selection = new vl(v49, v4a);
this.layers = v44.layers.map(v4b => {
const v4c = new va(v49, v4a , v4b.name);
v4c.restoreSnapshot(v4b.imageData);
v4c.opacity = v4b.opacity;
v4c.visible = v4b.visible;
v4c.blendMode = v4b.blendMode;
return v4c;
});
this.activeLayerIndex = v44.activeIndex;
…
s18626 Input v4b s layer2Useful 0.14 layerDataUseful 0.52 Humanify better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s18626 / v4b ×
Declaration · line 583 …
this.composite.height = v4a;
this.selection = new vl(v49, v4a);
this.layers = v44.layers.map(v4b => {
const v4c = new va(v49, v4a, v4b.name);
v4c.restoreSnapshot(v4b.imageData);
v4c.opacity = v4b.opacity;
v4c.visible = v4b.visible;
v4c.blendMode = v4b.blendMode;
return v4c;
…
s18651 Input v4c l layerUseful 0.91 layerUseful 0.91 Both useful Present Pre-rename JavaScript · s18651 / v4c ×
Declaration · line 584 …
this.selection = new vl(v49, v4a);
this.layers = v44.layers.map(v4b => {
const v4c = new va(v49, v4a, v4b.name);
v4c.restoreSnapshot(v4b.imageData);
v4c.opacity = v4b.opacity;
v4c.visible = v4b.visible;
v4c.blendMode = v4b.blendMode;
return v4c;
});
this.activeLayerIndex = v44.activeIndex;
…
s19118 Input v4d sx screenXUseful 0.70 clientXUseful 0.44 FlowName better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s19118 / v4d ×
Declaration · line 599 …
v44.width = v47.width;
v44.height = v47.height;
}
return true;
}
screenToDoc(v4d , v4e) {
return {
x: (v4d - this.panX) / this.zoom,
y: (v4e - this.panY) / this.zoom
};
}
fitInView(v4f, v4g) {
const v4h = Math.min(v4f / this.width, v4g / this.height) * 0.9;
this.zoom = Math.min(v4h, 1);
…
s19123 Input v4e sy screenYUseful 0.64 clientYUseful 0.45 FlowName better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s19123 / v4e ×
Declaration · line 599 …
v44.width = v47.width;
v44.height = v47.height;
}
return true;
}
screenToDoc(v4d, v4e ) {
return {
x: (v4d - this.panX) / this.zoom,
y: (v4e - this.panY) / this.zoom
};
}
fitInView(v4f, v4g) {
const v4h = Math.min(v4f / this.width, v4g / this.height) * 0.9;
this.zoom = Math.min(v4h, 1);
…
s19257 Input v4f viewW targetWidthUseful 0.58 containerWidthUseful 0.54 Both useful Present Usefulness probability is near the provisional 0.5 boundary. Preference confidence is low. Pre-rename JavaScript · s19257 / v4f ×
Declaration · line 605 …
x: (v4d - this.panX) / this.zoom,
y: (v4e - this.panY) / this.zoom
};
}
fitInView(v4f , v4g) {
const v4h = Math.min(v4f / this.width, v4g / this.height) * 0.9;
this.zoom = Math.min(v4h, 1);
this.panX = (v4f - this.width * this.zoom) / 2;
this.panY = (v4g - this.height * this.zoom) / 2;
}
};
var v4i = new v0();
…
s19262 Input v4g viewH targetHeightUseful 0.43 containerHeightUseful 0.45 Both poor Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s19262 / v4g ×
Declaration · line 605 …
x: (v4d - this.panX) / this.zoom,
y: (v4e - this.panY) / this.zoom
};
}
fitInView(v4f, v4g ) {
const v4h = Math.min(v4f / this.width, v4g / this.height) * 0.9;
this.zoom = Math.min(v4h, 1);
this.panX = (v4f - this.width * this.zoom) / 2;
this.panY = (v4g - this.height * this.zoom) / 2;
}
};
var v4i = new v0();
…
s19281 Input v4h scale scaleUseful 0.90 scaleUseful 0.90 Both useful Present Pre-rename JavaScript · s19281 / v4h ×
Declaration · line 606 …
y: (v4e - this.panY) / this.zoom
};
}
fitInView(v4f, v4g) {
const v4h = Math.min(v4f / this.width, v4g / this.height) * 0.9;
this.zoom = Math.min(v4h, 1);
this.panX = (v4f - this.width * this.zoom) / 2;
this.panY = (v4g - this.height * this.zoom) / 2;
}
};
var v4i = new v0();
var v4j = class {
…
s19502 Input v4i bus appStateUseful 0.07 listener2Useful 0.13 Both poor Absent Pre-rename JavaScript · s19502 / v4i ×
Declaration · line 612 …
this.panX = (v4f - this.width * this.zoom) / 2;
this.panY = (v4g - this.height * this.zoom) / 2;
}
};
var v4i = new v0();
var v4j = class {
constructor() {
this.viewport = document.getElementById("viewport");
this.bgCanvas = document.getElementById("canvas-bg");
this.mainCanvas = document.getElementById("canvas-main");
this.overlayCanvas = document.getElementById("canvas-overlay");
… Reference · line 629 …
this.gridSizeX = 16;
this.gridSizeY = 16;
this.gridColor = "rgba(255,255,255,0.2)";
v4i .on("grid:toggle", () => {
this.gridEnabled = !this.gridEnabled;
this._dirty = true;
});
v4i.on("grid:set-size", (v4k, v4l) => {
this.gridSizeX = v4k;
this.gridSizeY = v4l !== void 0 ? v4l : v4k;
…
s19524 Input v4j Renderer RendererUseful 0.92 listener3Useful 0.04 FlowName better Absent Pre-rename JavaScript · s19524 / v4j ×
Declaration · line 613 …
this.panY = (v4g - this.height * this.zoom) / 2;
}
};
var v4i = new v0();
var v4j = class {
constructor() {
this.viewport = document.getElementById("viewport");
this.bgCanvas = document.getElementById("canvas-bg");
this.mainCanvas = document.getElementById("canvas-main");
this.overlayCanvas = document.getElementById("canvas-overlay");
… Reference · line 4375 …
v4i._app = this;
v4i._mouseX = 0;
v4i._mouseY = 0;
this.renderer = new v4j ();
this.toolManager = new vq7();
this.colorSystem = new vrc();
this.layersPanel = new vsw();
this.historyPanel = new vtt();
this.docManager = new vu2();
this.toolOptions = new vw6();
this.menuBar = new vxj(this);
…
s20338 Input v4k x gridSizeXUseful 0.84 gridSizeXUseful 0.84 Both useful Present Pre-rename JavaScript · s20338 / v4k ×
Declaration · line 633 …
this.gridEnabled = !this.gridEnabled;
this._dirty = true;
});
v4i.on("grid:set-size", (v4k , v4l) => {
this.gridSizeX = v4k;
this.gridSizeY = v4l !== void 0 ? v4l : v4k;
this._dirty = true;
});
v4i.on("grid:set-color", v4m => {
this.gridColor = v4m;
this._dirty = true;
});
…
s20343 Input v4l y gridSizeYUseful 0.88 gridSizeYUseful 0.88 Both useful Present Pre-rename JavaScript · s20343 / v4l ×
Declaration · line 633 …
this.gridEnabled = !this.gridEnabled;
this._dirty = true;
});
v4i.on("grid:set-size", (v4k, v4l ) => {
this.gridSizeX = v4k;
this.gridSizeY = v4l !== void 0 ? v4l : v4k;
this._dirty = true;
});
v4i.on("grid:set-color", v4m => {
this.gridColor = v4m;
this._dirty = true;
});
this._checkerPattern = this._createCheckerPattern();
…
s20505 Input v4m c gridColorUseful 0.87 gridColorUseful 0.87 Both useful Present Pre-rename JavaScript · s20505 / v4m ×
Declaration · line 638 …
this.gridSizeY = v4l !== void 0 ? v4l : v4k;
this._dirty = true;
});
v4i.on("grid:set-color", v4m => {
this.gridColor = v4m;
this._dirty = true;
});
this._checkerPattern = this._createCheckerPattern();
this._resize();
window.addEventListener("resize", () => this._resize());
v4i.on("doc:switched", v4n => this.setDoc(v4n));
…
s20755 Input v4n doc documentUseful 0.37 docUseful 0.72 Humanify better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s20755 / v4n ×
Declaration · line 645 …
window.addEventListener("resize", () => this._resize());
v4i.on("doc:switched", v4n => this.setDoc(v4n));
v4i.on("canvas:dirty", () => this.markDirty());
v4i.on("render:overlay", () => this._renderOverlay());
this._loop();
}
_createCheckerPattern() {
const v4o = document.createElement("canvas");
…
s20964 Input v4o c canvasUseful 0.84 canvasElementUseful 0.83 Both useful Present Preference confidence is low. Pre-rename JavaScript · s20964 / v4o ×
Declaration · line 651 …
v4i.on("render:overlay", () => this._renderOverlay());
this._loop();
}
_createCheckerPattern() {
const v4o = document.createElement("canvas");
v4o.width = 16;
v4o.height = 16;
const v4p = v4o.getContext("2d");
v4p.fillStyle = "#999";
v4p.fillRect(0, 0, 16, 16);
v4p.fillStyle = "#666";
v4p.fillRect(0, 0, 8, 8);
… Reference · line 660 …
v4p.fillStyle = "#666";
v4p.fillRect(0, 0, 8, 8);
v4p.fillRect(8, 8, 8, 8);
return v4o ;
}
_resize() {
const v4q = this.viewport.getBoundingClientRect();
const v4r = this.mainCanvas.width;
const v4s = this.mainCanvas.height;
const v4t = Math.floor(v4q.width);
const v4u = Math.floor(v4q.height);
…
s21061 Input v4p ctx ctxUseful 0.91 ctxUseful 0.91 Both useful Present Pre-rename JavaScript · s21061 / v4p ×
Declaration · line 654 …
const v4o = document.createElement("canvas");
v4o.width = 16;
v4o.height = 16;
const v4p = v4o.getContext("2d");
v4p.fillStyle = "#999";
v4p.fillRect(0, 0, 16, 16);
v4p.fillStyle = "#666";
v4p.fillRect(0, 0, 8, 8);
v4p.fillRect(8, 8, 8, 8);
return v4o;
}
_resize() {
const v4q = this.viewport.getBoundingClientRect();
…
s21299 Input v4q r viewportRectUseful 0.83 viewportRectUseful 0.83 Both useful Present Pre-rename JavaScript · s21299 / v4q ×
Declaration · line 663 …
v4p.fillRect(0, 0, 8, 8);
v4p.fillRect(8, 8, 8, 8);
return v4o;
}
_resize() {
const v4q = this.viewport.getBoundingClientRect();
const v4r = this.mainCanvas.width;
const v4s = this.mainCanvas.height;
const v4t = Math.floor(v4q.width);
const v4u = Math.floor(v4q.height);
for (const v4v of [this.bgCanvas, this.mainCanvas, this.overlayCanvas]) {
…
s21356 Input v4r oldW currentWidthUseful 0.14 previousWidthUseful 0.85 Humanify better Present Pre-rename JavaScript · s21356 / v4r ×
Declaration · line 664 …
}
_resize() {
const v4q = this.viewport.getBoundingClientRect();
const v4r = this.mainCanvas.width;
const v4s = this.mainCanvas.height;
const v4t = Math.floor(v4q.width);
const v4u = Math.floor(v4q.height);
for (const v4v of [this.bgCanvas, this.mainCanvas, this.overlayCanvas]) {
v4v.width = v4t;
… Reference · line 674 …
v4v.style.width = v4t + "px";
v4v.style.height = v4u + "px";
}
if (this.doc && v4r > 0 && v4s > 0) {
this.doc.panX += (v4t - v4r) / 2;
this.doc.panY += (v4u - v4s) / 2;
}
this._dirty = true;
}
setDoc(v4w) {
this.doc = v4w;
this._dirty = true;
}
markDirty() {
this._dirty = true;
…
s21397 Input v4s oldH currentHeightUseful 0.17 oldHeightUseful 0.92 Humanify better Present Pre-rename JavaScript · s21397 / v4s ×
Declaration · line 665 …
const v4q = this.viewport.getBoundingClientRect();
const v4r = this.mainCanvas.width;
const v4s = this.mainCanvas.height;
const v4t = Math.floor(v4q.width);
const v4u = Math.floor(v4q.height);
for (const v4v of [this.bgCanvas, this.mainCanvas, this.overlayCanvas]) {
v4v.width = v4t;
v4v.height = v4u;
… Reference · line 674 …
v4v.style.width = v4t + "px";
v4v.style.height = v4u + "px";
}
if (this.doc && v4r > 0 && v4s > 0) {
this.doc.panX += (v4t - v4r) / 2;
this.doc.panY += (v4u - v4s) / 2;
}
this._dirty = true;
}
setDoc(v4w) {
this.doc = v4w;
this._dirty = true;
}
markDirty() {
this._dirty = true;
…
s21439 Input v4t w targetWidthUseful 0.61 newWidthUseful 0.71 Both useful Present Usefulness probability is near the provisional 0.5 boundary. Preference confidence is low. Pre-rename JavaScript · s21439 / v4t ×
Declaration · line 666 …
const v4r = this.mainCanvas.width;
const v4s = this.mainCanvas.height;
const v4t = Math.floor(v4q.width);
const v4u = Math.floor(v4q.height);
for (const v4v of [this.bgCanvas, this.mainCanvas, this.overlayCanvas]) {
v4v.width = v4t;
v4v.height = v4u;
v4v.style.width = v4t + "px";
v4v.style.height = v4u + "px";
… Reference · line 675 …
v4v.style.height = v4u + "px";
}
if (this.doc && v4r > 0 && v4s > 0) {
this.doc.panX += (v4t - v4r) / 2;
this.doc.panY += (v4u - v4s) / 2;
}
this._dirty = true;
}
setDoc(v4w) {
this.doc = v4w;
this._dirty = true;
}
markDirty() {
this._dirty = true;
}
get viewWidth() {
…
s21480 Input v4u h targetHeightUseful 0.44 viewportHeightUseful 0.23 Both poor Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s21480 / v4u ×
Declaration · line 667 …
const v4s = this.mainCanvas.height;
const v4t = Math.floor(v4q.width);
const v4u = Math.floor(v4q.height);
for (const v4v of [this.bgCanvas, this.mainCanvas, this.overlayCanvas]) {
v4v.width = v4t;
v4v.height = v4u;
v4v.style.width = v4t + "px";
v4v.style.height = v4u + "px";
}
… Reference · line 676 …
if (this.doc && v4r > 0 && v4s > 0) {
this.doc.panX += (v4t - v4r) / 2;
this.doc.panY += (v4u - v4s) / 2;
}
this._dirty = true;
}
setDoc(v4w) {
this.doc = v4w;
this._dirty = true;
}
markDirty() {
this._dirty = true;
}
get viewWidth() {
return this.mainCanvas.width;
}
…
s21527 Input v4v c canvasUseful 0.58 canvasUseful 0.58 Both useful Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s21527 / v4v ×
Declaration · line 668 …
const v4t = Math.floor(v4q.width);
const v4u = Math.floor(v4q.height);
for (const v4v of [this.bgCanvas, this.mainCanvas, this.overlayCanvas]) {
v4v.width = v4t;
v4v.height = v4u;
v4v.style.width = v4t + "px";
v4v.style.height = v4u + "px";
}
if (this.doc && v4r > 0 && v4s > 0) {
…
s21905 Input v4w doc docUseful 0.80 documentUseful 0.53 FlowName better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s21905 / v4w ×
Declaration · line 680 …
this.doc.panY += (v4u - v4s) / 2;
}
this._dirty = true;
}
setDoc(v4w ) {
this.doc = v4w;
this._dirty = true;
}
markDirty() {
this._dirty = true;
}
get viewWidth() {
return this.mainCanvas.width;
}
get viewHeight() {
return this.mainCanvas.height;
}
…
s22372 Input v4x doc docUseful 0.73 documentStateUseful 0.50 Both useful Present Usefulness probability is near the provisional 0.5 boundary. Preference confidence is low. Pre-rename JavaScript · s22372 / v4x ×
Declaration · line 702 …
this._rafId = requestAnimationFrame(() => this._loop());
}
_render() {
const v4x = this.doc;
if (!v4x) return;
const {
zoom: v4y,
panX: v4z,
panY: v50,
width: v51,
height: v52
} = v4x;
const v53 = this.viewWidth;
const v54 = this.viewHeight;
const v55 = this.bgCtx;
… Reference · line 728 …
v55.setTransform(1, 0, 0, 1, v4z, v50);
v55.fillRect(0, 0, v51 * v4y, v52 * v4y);
v55.restore();
v4x .compositeAll();
const v57 = this.mainCtx;
v57.clearRect(0, 0, v53, v54);
v57.imageSmoothingEnabled = false;
v57.save();
v57.translate(v4z, v50);
v57.scale(v4y, v4y);
v57.drawImage(v4x.composite, 0, 0);
…
s22440 Input v4y zoom zoomUseful 0.91 zoomUseful 0.91 Both useful Present Pre-rename JavaScript · s22440 / v4y ×
Declaration · line 705 …
_render() {
const v4x = this.doc;
if (!v4x) return;
const {
zoom: v4y ,
panX: v4z,
panY: v50,
width: v51,
height: v52
} = v4x;
const v53 = this.viewWidth;
const v54 = this.viewHeight;
const v55 = this.bgCtx;
v55.clearRect(0, 0, v53, v54);
v55.fillStyle = "#181b24";
… Reference · line 719 …
v55.fillRect(0, 0, v53, v54);
v55.save();
v55.translate(v4z, v50);
v55.scale(v4y , v4y);
v55.beginPath();
v55.rect(0, 0, v51, v52);
v55.clip();
const v56 = v55.createPattern(this._checkerPattern, "repeat");
v55.fillStyle = v56;
v55.setTransform(1, 0, 0, 1, v4z, v50);
v55.fillRect(0, 0, v51 * v4y, v52 * v4y);
…
s22459 Input v4z panX panXUseful 0.92 panXUseful 0.92 Both useful Present Pre-rename JavaScript · s22459 / v4z ×
Declaration · line 706 …
const v4x = this.doc;
if (!v4x) return;
const {
zoom: v4y,
panX: v4z ,
panY: v50,
width: v51,
height: v52
} = v4x;
const v53 = this.viewWidth;
const v54 = this.viewHeight;
const v55 = this.bgCtx;
v55.clearRect(0, 0, v53, v54);
v55.fillStyle = "#181b24";
… Reference · line 718 …
v55.fillStyle = "#181b24";
v55.fillRect(0, 0, v53, v54);
v55.save();
v55.translate(v4z , v50);
v55.scale(v4y, v4y);
v55.beginPath();
v55.rect(0, 0, v51, v52);
v55.clip();
const v56 = v55.createPattern(this._checkerPattern, "repeat");
v55.fillStyle = v56;
v55.setTransform(1, 0, 0, 1, v4z, v50);
…
s22478 Input v50 panY panYUseful 0.90 panYUseful 0.90 Both useful Present Pre-rename JavaScript · s22478 / v50 ×
Declaration · line 707 …
if (!v4x) return;
const {
zoom: v4y,
panX: v4z,
panY: v50 ,
width: v51,
height: v52
} = v4x;
const v53 = this.viewWidth;
const v54 = this.viewHeight;
const v55 = this.bgCtx;
v55.clearRect(0, 0, v53, v54);
v55.fillStyle = "#181b24";
v55.fillRect(0, 0, v53, v54);
… Reference · line 718 …
v55.fillStyle = "#181b24";
v55.fillRect(0, 0, v53, v54);
v55.save();
v55.translate(v4z, v50 );
v55.scale(v4y, v4y);
v55.beginPath();
v55.rect(0, 0, v51, v52);
v55.clip();
const v56 = v55.createPattern(this._checkerPattern, "repeat");
v55.fillStyle = v56;
v55.setTransform(1, 0, 0, 1, v4z, v50);
…
s22498 Input v51 width widthUseful 0.90 docWidthUseful 0.73 Both useful Present Preference confidence is low. Pre-rename JavaScript · s22498 / v51 ×
Declaration · line 708 …
if (!v4x) return;
const {
zoom: v4y,
panX: v4z,
panY: v50,
width: v51 ,
height: v52
} = v4x;
const v53 = this.viewWidth;
const v54 = this.viewHeight;
const v55 = this.bgCtx;
v55.clearRect(0, 0, v53, v54);
v55.fillStyle = "#181b24";
v55.fillRect(0, 0, v53, v54);
… Reference · line 721 …
v55.translate(v4z, v50);
v55.scale(v4y, v4y);
v55.beginPath();
v55.rect(0, 0, v51 , v52);
v55.clip();
const v56 = v55.createPattern(this._checkerPattern, "repeat");
v55.fillStyle = v56;
v55.setTransform(1, 0, 0, 1, v4z, v50);
v55.fillRect(0, 0, v51 * v4y, v52 * v4y);
v55.restore();
v4x.compositeAll();
…
s22519 Input v52 height heightUseful 0.91 docHeightUseful 0.67 FlowName better Present Pre-rename JavaScript · s22519 / v52 ×
Declaration · line 709 …
zoom: v4y,
panX: v4z,
panY: v50,
width: v51,
height: v52
} = v4x;
const v53 = this.viewWidth;
const v54 = this.viewHeight;
const v55 = this.bgCtx;
v55.clearRect(0, 0, v53, v54);
v55.fillStyle = "#181b24";
v55.fillRect(0, 0, v53, v54);
v55.save();
… Reference · line 721 …
v55.translate(v4z, v50);
v55.scale(v4y, v4y);
v55.beginPath();
v55.rect(0, 0, v51, v52 );
v55.clip();
const v56 = v55.createPattern(this._checkerPattern, "repeat");
v55.fillStyle = v56;
v55.setTransform(1, 0, 0, 1, v4z, v50);
v55.fillRect(0, 0, v51 * v4y, v52 * v4y);
v55.restore();
v4x.compositeAll();
…
s22550 Input v53 vw viewWidthUseful 0.91 viewWidthUseful 0.91 Both useful Present Pre-rename JavaScript · s22550 / v53 ×
Declaration · line 711 …
panX: v4z,
panY: v50,
width: v51,
height: v52
} = v4x;
const v53 = this.viewWidth;
const v54 = this.viewHeight;
const v55 = this.bgCtx;
v55.clearRect(0, 0, v53, v54);
v55.fillStyle = "#181b24";
v55.fillRect(0, 0, v53, v54);
v55.save();
v55.translate(v4z, v50);
… Reference · line 730 …
v55.restore();
v4x.compositeAll();
const v57 = this.mainCtx;
v57.clearRect(0, 0, v53 , v54);
v57.imageSmoothingEnabled = false;
v57.save();
v57.translate(v4z, v50);
v57.scale(v4y, v4y);
v57.drawImage(v4x.composite, 0, 0);
v57.restore();
v57.strokeStyle = "rgba(255,255,255,0.2)";
v57.lineWidth = 1;
…
s22584 Input v54 vh viewHeightUseful 0.91 viewHeightUseful 0.91 Both useful Present Pre-rename JavaScript · s22584 / v54 ×
Declaration · line 712 …
width: v51,
height: v52
} = v4x;
const v53 = this.viewWidth;
const v54 = this.viewHeight;
const v55 = this.bgCtx;
v55.clearRect(0, 0, v53, v54);
v55.fillStyle = "#181b24";
v55.fillRect(0, 0, v53, v54);
v55.save();
v55.translate(v4z, v50);
v55.scale(v4y, v4y);
v55.beginPath();
… Reference · line 730 …
v55.restore();
v4x.compositeAll();
const v57 = this.mainCtx;
v57.clearRect(0, 0, v53, v54 );
v57.imageSmoothingEnabled = false;
v57.save();
v57.translate(v4z, v50);
v57.scale(v4y, v4y);
v57.drawImage(v4x.composite, 0, 0);
v57.restore();
v57.strokeStyle = "rgba(255,255,255,0.2)";
v57.lineWidth = 1;
…
s22619 Input v55 bgCtx bgCtxUseful 0.93 bgContextUseful 0.88 FlowName better Present Pre-rename JavaScript · s22619 / v55 ×
Declaration · line 713 …
} = v4x;
const v53 = this.viewWidth;
const v54 = this.viewHeight;
const v55 = this.bgCtx;
v55.clearRect(0, 0, v53, v54);
v55.fillStyle = "#181b24";
v55.fillRect(0, 0, v53, v54);
v55.save();
v55.translate(v4z, v50);
v55.scale(v4y, v4y);
v55.beginPath();
v55.rect(0, 0, v51, v52);
… Reference · line 722 …
v55.translate(v4z, v50);
v55.scale(v4y, v4y);
v55.beginPath();
v55.rect(0, 0, v51, v52);
v55 .clip();
const v56 = v55.createPattern(this._checkerPattern, "repeat");
v55.fillStyle = v56;
v55.setTransform(1, 0, 0, 1, v4z, v50);
v55.fillRect(0, 0, v51 * v4y, v52 * v4y);
v55.restore();
v4x.compositeAll();
…
s22904 Input v56 pattern checkerPatternUseful 0.30 bgCtxUseful 0.20 Both poor Absent Pre-rename JavaScript · s22904 / v56 ×
Declaration · line 723 …
v55.scale(v4y, v4y);
v55.beginPath();
v55.rect(0, 0, v51, v52);
v55.clip();
const v56 = v55.createPattern(this._checkerPattern, "repeat");
v55.fillStyle = v56;
v55.setTransform(1, 0, 0, 1, v4z, v50);
v55.fillRect(0, 0, v51 * v4y, v52 * v4y);
v55.restore();
v4x.compositeAll();
const v57 = this.mainCtx;
…
s23141 Input v57 mainCtx mainCtxUseful 0.89 viewHeight2Useful 0.04 FlowName better Absent Pre-rename JavaScript · s23141 / v57 ×
Declaration · line 729 …
v55.fillRect(0, 0, v51 * v4y, v52 * v4y);
v55.restore();
v4x.compositeAll();
const v57 = this.mainCtx;
v57.clearRect(0, 0, v53, v54);
v57.imageSmoothingEnabled = false;
v57.save();
v57.translate(v4z, v50);
v57.scale(v4y, v4y);
v57.drawImage(v4x.composite, 0, 0);
v57.restore();
v57.strokeStyle = "rgba(255,255,255,0.2)";
… Reference · line 738 …
v57.drawImage(v4x.composite, 0, 0);
v57.restore();
v57.strokeStyle = "rgba(255,255,255,0.2)";
v57 .lineWidth = 1;
v57.strokeRect(v4z - 0.5, v50 - 0.5, v51 * v4y + 1, v52 * v4y + 1);
}
_renderOverlay() {
const v58 = this.doc;
if (!v58) return;
const v59 = this.overlayCtx;
const v5a = this.viewWidth;
…
s23567 Input v58 doc documentViewUseful 0.29 documentUseful 0.53 Humanify better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s23567 / v58 ×
Declaration · line 742 …
v57.strokeRect(v4z - 0.5, v50 - 0.5, v51 * v4y + 1, v52 * v4y + 1);
}
_renderOverlay() {
const v58 = this.doc;
if (!v58) return;
const v59 = this.overlayCtx;
const v5a = this.viewWidth;
const v5b = this.viewHeight;
v59.clearRect(0, 0, v5a, v5b);
if (this.gridEnabled) {
this._drawGrid(v59, v58);
… Reference · line 751 …
v59.clearRect(0, 0, v5a, v5b);
if (this.gridEnabled) {
this._drawGrid(v59, v58);
}
if (v58 .selection.active) {
v58.selection.drawAnts(v59, v58.zoom, v58.panX, v58.panY);
}
v4i.emit("render:tool-overlay", v59, v58);
}
_drawGrid(v5c, v5d) {
const {
zoom: v5e,
panX: v5f,
panY: v5g,
…
s23619 Input v59 ctx overlayCtxUseful 0.86 overlayContextUseful 0.88 Both useful Present Preference confidence is low. Pre-rename JavaScript · s23619 / v59 ×
Declaration · line 744 …
}
_renderOverlay() {
const v58 = this.doc;
if (!v58) return;
const v59 = this.overlayCtx;
const v5a = this.viewWidth;
const v5b = this.viewHeight;
v59.clearRect(0, 0, v5a, v5b);
if (this.gridEnabled) {
this._drawGrid(v59, v58);
}
if (v58.selection.active) {
v58.selection.drawAnts(v59, v58.zoom, v58.panX, v58.panY);
… Reference · line 754 …
v58.selection.drawAnts(v59, v58.zoom, v58.panX, v58.panY);
}
v4i.emit("render:tool-overlay", v59 , v58);
}
_drawGrid(v5c, v5d) {
const {
zoom: v5e,
panX: v5f,
panY: v5g,
width: v5h,
height: v5i
} = v5d;
const v5j = this.gridSizeX;
const v5k = this.gridSizeY;
if (v5j * v5e < 4 && v5k * v5e < 4) return;
…
s23654 Input v5a vw viewWidthUseful 0.93 viewWidthUseful 0.93 Both useful Present Pre-rename JavaScript · s23654 / v5a ×
Declaration · line 745 …
const v58 = this.doc;
if (!v58) return;
const v59 = this.overlayCtx;
const v5a = this.viewWidth;
const v5b = this.viewHeight;
v59.clearRect(0, 0, v5a, v5b);
if (this.gridEnabled) {
this._drawGrid(v59, v58);
}
if (v58.selection.active) {
v58.selection.drawAnts(v59, v58.zoom, v58.panX, v58.panY);
…
s23688 Input v5b vh viewHeightUseful 0.94 viewHeightUseful 0.94 Both useful Present Pre-rename JavaScript · s23688 / v5b ×
Declaration · line 746 …
if (!v58) return;
const v59 = this.overlayCtx;
const v5a = this.viewWidth;
const v5b = this.viewHeight;
v59.clearRect(0, 0, v5a, v5b);
if (this.gridEnabled) {
this._drawGrid(v59, v58);
}
if (v58.selection.active) {
v58.selection.drawAnts(v59, v58.zoom, v58.panX, v58.panY);
}
…
s23998 Input v5c ctx ctxUseful 0.89 ctxUseful 0.89 Both useful Present Pre-rename JavaScript · s23998 / v5c ×
Declaration · line 756 …
v58.selection.drawAnts(v59, v58.zoom, v58.panX, v58.panY);
}
v4i.emit("render:tool-overlay", v59, v58);
}
_drawGrid(v5c , v5d) {
const {
zoom: v5e,
panX: v5f,
panY: v5g,
width: v5h,
height: v5i
} = v5d;
const v5j = this.gridSizeX;
const v5k = this.gridSizeY;
if (v5j * v5e < 4 && v5k * v5e < 4) return;
… Reference · line 769 …
if (v5j * v5e < 4 && v5k * v5e < 4) return;
const v5l = this.viewWidth;
const v5m = this.viewHeight;
v5c .save();
v5c.beginPath();
v5c.rect(v5f, v5g, v5h * v5e, v5i * v5e);
v5c.clip();
const v5n = [{
color: "rgba(0,0,0,0.4)",
offset: 0
}, {
color: "rgba(255,255,255,0.4)",
offset: 1
…
s24003 Input v5d doc viewportUseful 0.44 viewportUseful 0.44 Both poor Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s24003 / v5d ×
Declaration · line 756 …
v58.selection.drawAnts(v59, v58.zoom, v58.panX, v58.panY);
}
v4i.emit("render:tool-overlay", v59, v58);
}
_drawGrid(v5c, v5d ) {
const {
zoom: v5e,
panX: v5f,
panY: v5g,
width: v5h,
height: v5i
} = v5d;
const v5j = this.gridSizeX;
const v5k = this.gridSizeY;
if (v5j * v5e < 4 && v5k * v5e < 4) return;
…
s24038 Input v5e zoom zoomUseful 0.92 zoomLevelUseful 0.76 FlowName better Present Pre-rename JavaScript · s24038 / v5e ×
Declaration · line 758 …
v4i.emit("render:tool-overlay", v59, v58);
}
_drawGrid(v5c, v5d) {
const {
zoom: v5e ,
panX: v5f,
panY: v5g,
width: v5h,
height: v5i
} = v5d;
const v5j = this.gridSizeX;
const v5k = this.gridSizeY;
if (v5j * v5e < 4 && v5k * v5e < 4) return;
const v5l = this.viewWidth;
… Reference · line 771 …
const v5m = this.viewHeight;
v5c.save();
v5c.beginPath();
v5c.rect(v5f, v5g, v5h * v5e , v5i * v5e);
v5c.clip();
const v5n = [{
color: "rgba(0,0,0,0.4)",
offset: 0
}, {
color: "rgba(255,255,255,0.4)",
offset: 1
}];
for (const v5o of v5n) {
v5c.strokeStyle = v5o.color;
…
s24057 Input v5f panX panXUseful 0.94 panXUseful 0.94 Both useful Present Pre-rename JavaScript · s24057 / v5f ×
Declaration · line 759 …
v4i.emit("render:tool-overlay", v59, v58);
}
_drawGrid(v5c, v5d) {
const {
zoom: v5e,
panX: v5f ,
panY: v5g,
width: v5h,
height: v5i
} = v5d;
const v5j = this.gridSizeX;
const v5k = this.gridSizeY;
if (v5j * v5e < 4 && v5k * v5e < 4) return;
const v5l = this.viewWidth;
const v5m = this.viewHeight;
… Reference · line 771 …
const v5m = this.viewHeight;
v5c.save();
v5c.beginPath();
v5c.rect(v5f , v5g, v5h * v5e, v5i * v5e);
v5c.clip();
const v5n = [{
color: "rgba(0,0,0,0.4)",
offset: 0
}, {
color: "rgba(255,255,255,0.4)",
offset: 1
}];
for (const v5o of v5n) {
v5c.strokeStyle = v5o.color;
…
s24076 Input v5g panY panYUseful 0.94 panYUseful 0.94 Both useful Present Pre-rename JavaScript · s24076 / v5g ×
Declaration · line 760 …
_drawGrid(v5c, v5d) {
const {
zoom: v5e,
panX: v5f,
panY: v5g ,
width: v5h,
height: v5i
} = v5d;
const v5j = this.gridSizeX;
const v5k = this.gridSizeY;
if (v5j * v5e < 4 && v5k * v5e < 4) return;
const v5l = this.viewWidth;
const v5m = this.viewHeight;
… Reference · line 771 …
const v5m = this.viewHeight;
v5c.save();
v5c.beginPath();
v5c.rect(v5f, v5g , v5h * v5e, v5i * v5e);
v5c.clip();
const v5n = [{
color: "rgba(0,0,0,0.4)",
offset: 0
}, {
color: "rgba(255,255,255,0.4)",
offset: 1
}];
for (const v5o of v5n) {
v5c.strokeStyle = v5o.color;
…
s24096 Input v5h width widthUseful 0.89 scaledWidthUseful 0.22 FlowName better Present Pre-rename JavaScript · s24096 / v5h ×
Declaration · line 761 …
_drawGrid(v5c, v5d) {
const {
zoom: v5e,
panX: v5f,
panY: v5g,
width: v5h ,
height: v5i
} = v5d;
const v5j = this.gridSizeX;
const v5k = this.gridSizeY;
if (v5j * v5e < 4 && v5k * v5e < 4) return;
const v5l = this.viewWidth;
const v5m = this.viewHeight;
v5c.save();
… Reference · line 771 …
const v5m = this.viewHeight;
v5c.save();
v5c.beginPath();
v5c.rect(v5f, v5g, v5h * v5e, v5i * v5e);
v5c.clip();
const v5n = [{
color: "rgba(0,0,0,0.4)",
offset: 0
}, {
color: "rgba(255,255,255,0.4)",
offset: 1
}];
for (const v5o of v5n) {
v5c.strokeStyle = v5o.color;
…
s24117 Input v5i height heightUseful 0.94 heightUseful 0.94 Both useful Present Pre-rename JavaScript · s24117 / v5i ×
Declaration · line 762 …
zoom: v5e,
panX: v5f,
panY: v5g,
width: v5h,
height: v5i
} = v5d;
const v5j = this.gridSizeX;
const v5k = this.gridSizeY;
if (v5j * v5e < 4 && v5k * v5e < 4) return;
const v5l = this.viewWidth;
const v5m = this.viewHeight;
v5c.save();
v5c.beginPath();
… Reference · line 771 …
const v5m = this.viewHeight;
v5c.save();
v5c.beginPath();
v5c.rect(v5f, v5g, v5h * v5e, v5i * v5e);
v5c.clip();
const v5n = [{
color: "rgba(0,0,0,0.4)",
offset: 0
}, {
color: "rgba(255,255,255,0.4)",
offset: 1
}];
for (const v5o of v5n) {
v5c.strokeStyle = v5o.color;
…
s24148 Input v5j gx gridSizeXUseful 0.93 gridSizeXUseful 0.93 Both useful Present Pre-rename JavaScript · s24148 / v5j ×
Declaration · line 764 …
panX: v5f,
panY: v5g,
width: v5h,
height: v5i
} = v5d;
const v5j = this.gridSizeX;
const v5k = this.gridSizeY;
if (v5j * v5e < 4 && v5k * v5e < 4) return;
const v5l = this.viewWidth;
const v5m = this.viewHeight;
v5c.save();
v5c.beginPath();
v5c.rect(v5f, v5g, v5h * v5e, v5i * v5e);
… Reference · line 784 …
v5c.strokeStyle = v5o.color;
v5c.lineWidth = 1;
v5c.beginPath();
if (v5j * v5e >= 4) {
const v5p = Math.max(0, Math.floor(-v5f / (v5j * v5e)) * v5j);
for (let v5q = v5p; v5q <= v5h; v5q += v5j) {
const v5r = Math.round(v5q * v5e + v5f) + 0.5 + v5o.offset;
v5c.moveTo(v5r, Math.max(0, v5g));
…
s24182 Input v5k gy gridSizeYUseful 0.95 gridSizeYUseful 0.95 Both useful Present Pre-rename JavaScript · s24182 / v5k ×
Declaration · line 765 …
width: v5h,
height: v5i
} = v5d;
const v5j = this.gridSizeX;
const v5k = this.gridSizeY;
if (v5j * v5e < 4 && v5k * v5e < 4) return;
const v5l = this.viewWidth;
const v5m = this.viewHeight;
v5c.save();
v5c.beginPath();
v5c.rect(v5f, v5g, v5h * v5e, v5i * v5e);
v5c.clip();
… Reference · line 792 …
v5c.lineTo(v5r, Math.min(v5m, v5g + v5i * v5e));
}
}
if (v5k * v5e >= 4) {
const v5s = Math.max(0, Math.floor(-v5g / (v5k * v5e)) * v5k);
for (let v5t = v5s; v5t <= v5i; v5t += v5k) {
const v5u = Math.round(v5t * v5e + v5g) + 0.5 + v5o.offset;
v5c.moveTo(Math.max(0, v5f), v5u);
…
s24266 Input v5l vw viewWidthUseful 0.93 viewWidthUseful 0.93 Both useful Present Pre-rename JavaScript · s24266 / v5l ×
Declaration · line 767 …
const v5k = this.gridSizeY;
if (v5j * v5e < 4 && v5k * v5e < 4) return;
const v5l = this.viewWidth;
const v5m = this.viewHeight;
v5c.save();
v5c.beginPath();
v5c.rect(v5f, v5g, v5h * v5e, v5i * v5e);
v5c.clip();
const v5n = [{
color: "rgba(0,0,0,0.4)",
offset: 0
}, {
… Reference · line 797 …
const v5u = Math.round(v5t * v5e + v5g) + 0.5 + v5o.offset;
v5c.moveTo(Math.max(0, v5f), v5u);
v5c.lineTo(Math.min(v5l , v5f + v5h * v5e), v5u);
}
}
v5c.stroke();
}
v5c.restore();
}
};
function v5v(v5w, v5x, v5y) {
return v5w + (v5x - v5w) * v5y;
}
function v5z(v60, v61, v62, v63, v64) {
v60 = Math.round(v60);
…
s24300 Input v5m vh viewHeightUseful 0.95 viewHeightUseful 0.95 Both useful Present Pre-rename JavaScript · s24300 / v5m ×
Declaration · line 768 …
if (v5j * v5e < 4 && v5k * v5e < 4) return;
const v5l = this.viewWidth;
const v5m = this.viewHeight;
v5c.save();
v5c.beginPath();
v5c.rect(v5f, v5g, v5h * v5e, v5i * v5e);
v5c.clip();
const v5n = [{
color: "rgba(0,0,0,0.4)",
offset: 0
}, {
color: "rgba(255,255,255,0.4)",
… Reference · line 789 …
const v5r = Math.round(v5q * v5e + v5f) + 0.5 + v5o.offset;
v5c.moveTo(v5r, Math.max(0, v5g));
v5c.lineTo(v5r, Math.min(v5m , v5g + v5i * v5e));
}
}
if (v5k * v5e >= 4) {
const v5s = Math.max(0, Math.floor(-v5g / (v5k * v5e)) * v5k);
for (let v5t = v5s; v5t <= v5i; v5t += v5k) {
const v5u = Math.round(v5t * v5e + v5g) + 0.5 + v5o.offset;
…
s24442 Input v5n passes gradientStopsUseful 0.18 gridColorStopsUseful 0.59 Humanify better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s24442 / v5n ×
Declaration · line 773 …
v5c.beginPath();
v5c.rect(v5f, v5g, v5h * v5e, v5i * v5e);
v5c.clip();
const v5n = [{
color: "rgba(0,0,0,0.4)",
offset: 0
}, {
color: "rgba(255,255,255,0.4)",
offset: 1
}];
for (const v5o of v5n) {
v5c.strokeStyle = v5o.color;
v5c.lineWidth = 1;
v5c.beginPath();
…
s24599 Input v5o pass strokeConfigUseful 0.54 gridLineUseful 0.38 FlowName better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s24599 / v5o ×
Declaration · line 780 …
}, {
color: "rgba(255,255,255,0.4)",
offset: 1
}];
for (const v5o of v5n) {
v5c.strokeStyle = v5o.color;
v5c.lineWidth = 1;
v5c.beginPath();
if (v5j * v5e >= 4) {
const v5p = Math.max(0, Math.floor(-v5f / (v5j * v5e)) * v5j);
for (let v5q = v5p; v5q <= v5h; v5q += v5j) {
… Reference · line 787 …
for (let v5q = v5p; v5q <= v5h; v5q += v5j) {
const v5r = Math.round(v5q * v5e + v5f) + 0.5 + v5o .offset;
v5c.moveTo(v5r, Math.max(0, v5g));
v5c.lineTo(v5r, Math.min(v5m, v5g + v5i * v5e));
}
}
if (v5k * v5e >= 4) {
const v5s = Math.max(0, Math.floor(-v5g / (v5k * v5e)) * v5k);
…
s24748 Input v5p startCol xStartUseful 0.80 startIndexUseful 0.15 FlowName better Present Pre-rename JavaScript · s24748 / v5p ×
Declaration · line 785 …
v5c.lineWidth = 1;
v5c.beginPath();
if (v5j * v5e >= 4) {
const v5p = Math.max(0, Math.floor(-v5f / (v5j * v5e)) * v5j);
for (let v5q = v5p; v5q <= v5h; v5q += v5j) {
const v5r = Math.round(v5q * v5e + v5f) + 0.5 + v5o.offset;
v5c.moveTo(v5r, Math.max(0, v5g));
v5c.lineTo(v5r, Math.min(v5m, v5g + v5i * v5e));
…
s24824 Input v5q x xStepUseful 0.38 currentValueUseful 0.08 Both poor Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s24824 / v5q ×
Declaration · line 786 …
const v5p = Math.max(0, Math.floor(-v5f / (v5j * v5e)) * v5j);
for (let v5q = v5p; v5q <= v5h; v5q += v5j) {
const v5r = Math.round(v5q * v5e + v5f) + 0.5 + v5o.offset;
v5c.moveTo(v5r, Math.max(0, v5g));
v5c.lineTo(v5r, Math.min(v5m, v5g + v5i * v5e));
}
}
if (v5k * v5e >= 4) {
…
s24879 Input v5r sx xCoordUseful 0.68 xPositionUseful 0.61 Both useful Present Usefulness probability is near the provisional 0.5 boundary. Preference confidence is low. Pre-rename JavaScript · s24879 / v5r ×
Declaration · line 787 …
const v5p = Math.max(0, Math.floor(-v5f / (v5j * v5e)) * v5j);
for (let v5q = v5p; v5q <= v5h; v5q += v5j) {
const v5r = Math.round(v5q * v5e + v5f) + 0.5 + v5o.offset;
v5c.moveTo(v5r, Math.max(0, v5g));
v5c.lineTo(v5r, Math.min(v5m, v5g + v5i * v5e));
}
}
if (v5k * v5e >= 4) {
const v5s = Math.max(0, Math.floor(-v5g / (v5k * v5e)) * v5k);
…
s25109 Input v5s startRow yStartUseful 0.84 startIndexUseful 0.22 FlowName better Present Pre-rename JavaScript · s25109 / v5s ×
Declaration · line 793 …
v5c.lineTo(v5r, Math.min(v5m, v5g + v5i * v5e));
}
}
if (v5k * v5e >= 4) {
const v5s = Math.max(0, Math.floor(-v5g / (v5k * v5e)) * v5k);
for (let v5t = v5s; v5t <= v5i; v5t += v5k) {
const v5u = Math.round(v5t * v5e + v5g) + 0.5 + v5o.offset;
v5c.moveTo(Math.max(0, v5f), v5u);
v5c.lineTo(Math.min(v5l, v5f + v5h * v5e), v5u);
…
s25185 Input v5t y yStepUseful 0.62 currentValueUseful 0.13 FlowName better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s25185 / v5t ×
Declaration · line 794 …
const v5s = Math.max(0, Math.floor(-v5g / (v5k * v5e)) * v5k);
for (let v5t = v5s; v5t <= v5i; v5t += v5k) {
const v5u = Math.round(v5t * v5e + v5g) + 0.5 + v5o.offset;
v5c.moveTo(Math.max(0, v5f), v5u);
v5c.lineTo(Math.min(v5l, v5f + v5h * v5e), v5u);
}
}
v5c.stroke();
…
s25240 Input v5u sy yCoordUseful 0.77 yCoordinateUseful 0.67 Both useful Present Preference confidence is low. Pre-rename JavaScript · s25240 / v5u ×
Declaration · line 795 …
const v5s = Math.max(0, Math.floor(-v5g / (v5k * v5e)) * v5k);
for (let v5t = v5s; v5t <= v5i; v5t += v5k) {
const v5u = Math.round(v5t * v5e + v5g) + 0.5 + v5o.offset;
v5c.moveTo(Math.max(0, v5f), v5u);
v5c.lineTo(Math.min(v5l, v5f + v5h * v5e), v5u);
}
}
v5c.stroke();
}
v5c.restore();
}
…
s25497 Input v5v lerp lerpUseful 0.95 listenersUseful 0.02 FlowName better Absent Pre-rename JavaScript · s25497 / v5v ×
Declaration · line 805 …
}
}
v5c.stroke();
}
v5c.restore();
}
};
function v5v (v5w, v5x, v5y) {
return v5w + (v5x - v5w) * v5y;
}
function v5z(v60, v61, v62, v63, v64) {
v60 = Math.round(v60);
v61 = Math.round(v61);
v62 = Math.round(v62);
v63 = Math.round(v63);
const v65 = Math.abs(v62 - v60),
… Reference · line 847 …
for (let v6m = 1; v6m <= v6l; v6m++) {
const v6n = v6m / v6l;
v6k.push({
x: v5v (v6c, v6e, v6n),
y: v5v(v6d, v6f, v6n)
});
}
}
return v6k;
}
function v6o(v6p, v6q, v6r, v6s, v6t, v6u, v6v, v6w, v6x) {
const {
width: v6y,
height: v6z,
data: v70
} = v6p;
v6q = Math.round(v6q);
…
s25501 Input v5w a startUseful 0.38 startUseful 0.38 Both poor Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s25501 / v5w ×
Declaration · line 805 …
}
}
v5c.stroke();
}
v5c.restore();
}
};
function v5v(v5w , v5x, v5y) {
return v5w + (v5x - v5w) * v5y;
}
function v5z(v60, v61, v62, v63, v64) {
v60 = Math.round(v60);
v61 = Math.round(v61);
v62 = Math.round(v62);
v63 = Math.round(v63);
const v65 = Math.abs(v62 - v60),
…
s25506 Input v5x b endUseful 0.30 endValueUseful 0.53 Humanify better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s25506 / v5x ×
Declaration · line 805 …
}
v5c.stroke();
}
v5c.restore();
}
};
function v5v(v5w, v5x , v5y) {
return v5w + (v5x - v5w) * v5y;
}
function v5z(v60, v61, v62, v63, v64) {
v60 = Math.round(v60);
v61 = Math.round(v61);
v62 = Math.round(v62);
v63 = Math.round(v63);
const v65 = Math.abs(v62 - v60),
v66 = Math.abs(v63 - v61);
…
s25511 Input v5y t amountUseful 0.35 amountUseful 0.35 Both poor Present Pre-rename JavaScript · s25511 / v5y ×
Declaration · line 805 …
}
v5c.stroke();
}
v5c.restore();
}
};
function v5v(v5w, v5x, v5y ) {
return v5w + (v5x - v5w) * v5y;
}
function v5z(v60, v61, v62, v63, v64) {
v60 = Math.round(v60);
v61 = Math.round(v61);
v62 = Math.round(v62);
v63 = Math.round(v63);
const v65 = Math.abs(v62 - v60),
v66 = Math.abs(v63 - v61);
…
s25569 Input v5z bresenhamLine bresenhamLineUseful 0.91 listeners2Useful 0.02 FlowName better Absent Pre-rename JavaScript · s25569 / v5z ×
Declaration · line 808 …
}
};
function v5v(v5w, v5x, v5y) {
return v5w + (v5x - v5w) * v5y;
}
function v5z (v60, v61, v62, v63, v64) {
v60 = Math.round(v60);
v61 = Math.round(v61);
v62 = Math.round(v62);
v63 = Math.round(v63);
const v65 = Math.abs(v62 - v60),
v66 = Math.abs(v63 - v61);
const v67 = v60 < v62 ? 1 : -1,
… Reference · line 1274 …
const vck = Math.floor(vcf),
vcl = Math.floor(vcg);
const vcm = vce.selection;
v5z (this._lastX, this._lastY, vck, vcl, (vcn, vco) => {
if (!vcm.active || vcm.isSelected(vcn, vco)) vci.ctx.fillRect(vcn, vco, 1, 1);
});
this._lastX = vck;
this._lastY = vcl;
v4i.emit("canvas:dirty");
}
…
s25573 Input v60 x0 x0Useful 0.68 startXUseful 0.81 Both useful Present Preference confidence is low. Pre-rename JavaScript · s25573 / v60 ×
Declaration · line 808 …
};
function v5v(v5w, v5x, v5y) {
return v5w + (v5x - v5w) * v5y;
}
function v5z(v60 , v61, v62, v63, v64) {
v60 = Math.round(v60);
v61 = Math.round(v61);
v62 = Math.round(v62);
v63 = Math.round(v63);
const v65 = Math.abs(v62 - v60),
v66 = Math.abs(v63 - v61);
const v67 = v60 < v62 ? 1 : -1,
… Reference · line 819 …
const v67 = v60 < v62 ? 1 : -1,
v68 = v61 < v63 ? 1 : -1;
let v69 = v65 - v66;
while (true) {
v64(v60 , v61);
if (v60 === v62 && v61 === v63) break;
const v6a = 2 * v69;
if (v6a > -v66) {
v69 -= v66;
v60 += v67;
}
if (v6a < v65) {
v69 += v65;
v61 += v68;
}
}
}
function v6b(v6c, v6d, v6e, v6f, v6g) {
…
s25578 Input v61 y0 y0Useful 0.84 y0Useful 0.84 Both useful Present Pre-rename JavaScript · s25578 / v61 ×
Declaration · line 808 …
function v5v(v5w, v5x, v5y) {
return v5w + (v5x - v5w) * v5y;
}
function v5z(v60, v61 , v62, v63, v64) {
v60 = Math.round(v60);
v61 = Math.round(v61);
v62 = Math.round(v62);
v63 = Math.round(v63);
const v65 = Math.abs(v62 - v60),
v66 = Math.abs(v63 - v61);
const v67 = v60 < v62 ? 1 : -1,
v68 = v61 < v63 ? 1 : -1;
… Reference · line 819 …
v68 = v61 < v63 ? 1 : -1;
let v69 = v65 - v66;
while (true) {
v64(v60, v61 );
if (v60 === v62 && v61 === v63) break;
const v6a = 2 * v69;
if (v6a > -v66) {
v69 -= v66;
v60 += v67;
}
if (v6a < v65) {
v69 += v65;
v61 += v68;
}
}
}
function v6b(v6c, v6d, v6e, v6f, v6g) {
…
s25583 Input v62 x1 x1Useful 0.76 endXUseful 0.80 Both useful Present Preference confidence is low. Pre-rename JavaScript · s25583 / v62 ×
Declaration · line 808 …
function v5v(v5w, v5x, v5y) {
return v5w + (v5x - v5w) * v5y;
}
function v5z(v60, v61, v62 , v63, v64) {
v60 = Math.round(v60);
v61 = Math.round(v61);
v62 = Math.round(v62);
v63 = Math.round(v63);
const v65 = Math.abs(v62 - v60),
v66 = Math.abs(v63 - v61);
const v67 = v60 < v62 ? 1 : -1,
v68 = v61 < v63 ? 1 : -1;
… Reference · line 820 …
v68 = v61 < v63 ? 1 : -1;
let v69 = v65 - v66;
while (true) {
v64(v60, v61);
if (v60 === v62 && v61 === v63) break;
const v6a = 2 * v69;
if (v6a > -v66) {
v69 -= v66;
v60 += v67;
}
if (v6a < v65) {
v69 += v65;
v61 += v68;
}
}
}
function v6b(v6c, v6d, v6e, v6f, v6g) {
…
s25588 Input v63 y1 y1Useful 0.70 y1Useful 0.70 Both useful Present Pre-rename JavaScript · s25588 / v63 ×
Declaration · line 808 …
function v5v(v5w, v5x, v5y) {
return v5w + (v5x - v5w) * v5y;
}
function v5z(v60, v61, v62, v63 , v64) {
v60 = Math.round(v60);
v61 = Math.round(v61);
v62 = Math.round(v62);
v63 = Math.round(v63);
const v65 = Math.abs(v62 - v60),
v66 = Math.abs(v63 - v61);
const v67 = v60 < v62 ? 1 : -1,
v68 = v61 < v63 ? 1 : -1;
… Reference · line 820 …
let v69 = v65 - v66;
while (true) {
v64(v60, v61);
if (v60 === v62 && v61 === v63 ) break;
const v6a = 2 * v69;
if (v6a > -v66) {
v69 -= v66;
v60 += v67;
}
if (v6a < v65) {
v69 += v65;
v61 += v68;
}
}
}
function v6b(v6c, v6d, v6e, v6f, v6g) {
const v6h = v6e - v6c,
…
s25593 Input v64 cb plotUseful 0.26 plotPixelUseful 0.75 Humanify better Present Pre-rename JavaScript · s25593 / v64 ×
Declaration · line 808 …
function v5v(v5w, v5x, v5y) {
return v5w + (v5x - v5w) * v5y;
}
function v5z(v60, v61, v62, v63, v64 ) {
v60 = Math.round(v60);
v61 = Math.round(v61);
v62 = Math.round(v62);
v63 = Math.round(v63);
const v65 = Math.abs(v62 - v60),
v66 = Math.abs(v63 - v61);
const v67 = v60 < v62 ? 1 : -1,
v68 = v61 < v63 ? 1 : -1;
… Reference · line 819 …
const v67 = v60 < v62 ? 1 : -1,
v68 = v61 < v63 ? 1 : -1;
let v69 = v65 - v66;
while (true) {
v64 (v60, v61);
if (v60 === v62 && v61 === v63) break;
const v6a = 2 * v69;
if (v6a > -v66) {
v69 -= v66;
v60 += v67;
}
if (v6a < v65) {
v69 += v65;
v61 += v68;
}
}
}
function v6b(v6c, v6d, v6e, v6f, v6g) {
…
s25718 Input v65 dx dxUseful 0.87 dxUseful 0.87 Both useful Present Pre-rename JavaScript · s25718 / v65 ×
Declaration · line 813 …
v61 = Math.round(v61);
v62 = Math.round(v62);
v63 = Math.round(v63);
const v65 = Math.abs(v62 - v60),
v66 = Math.abs(v63 - v61);
const v67 = v60 < v62 ? 1 : -1,
v68 = v61 < v63 ? 1 : -1;
let v69 = v65 - v66;
while (true) {
v64(v60, v61);
if (v60 === v62 && v61 === v63) break;
const v6a = 2 * v69;
… Reference · line 826 …
const v6a = 2 * v69;
if (v6a > -v66) {
v69 -= v66;
v60 += v67;
}
if (v6a < v65 ) {
v69 += v65;
v61 += v68;
}
}
}
function v6b(v6c, v6d, v6e, v6f, v6g) {
const v6h = v6e - v6c,
v6i = v6f - v6d;
const v6j = Math.sqrt(v6h * v6h + v6i * v6i);
const v6k = [];
if (v6j < v6g) {
…
s25751 Input v66 dy dyUseful 0.84 dyUseful 0.84 Both useful Present Pre-rename JavaScript · s25751 / v66 ×
Declaration · line 814 …
v62 = Math.round(v62);
v63 = Math.round(v63);
const v65 = Math.abs(v62 - v60),
v66 = Math.abs(v63 - v61);
const v67 = v60 < v62 ? 1 : -1,
v68 = v61 < v63 ? 1 : -1;
let v69 = v65 - v66;
while (true) {
v64(v60, v61);
if (v60 === v62 && v61 === v63) break;
const v6a = 2 * v69;
if (v6a > -v66) {
… Reference · line 823 …
if (v60 === v62 && v61 === v63) break;
const v6a = 2 * v69;
if (v6a > -v66) {
v69 -= v66 ;
v60 += v67;
}
if (v6a < v65) {
v69 += v65;
v61 += v68;
}
}
}
function v6b(v6c, v6d, v6e, v6f, v6g) {
const v6h = v6e - v6c,
v6i = v6f - v6d;
const v6j = Math.sqrt(v6h * v6h + v6i * v6i);
…
s25788 Input v67 sx sxUseful 0.74 stepXUseful 0.66 Both useful Present Preference confidence is low. Pre-rename JavaScript · s25788 / v67 ×
Declaration · line 815 …
v63 = Math.round(v63);
const v65 = Math.abs(v62 - v60),
v66 = Math.abs(v63 - v61);
const v67 = v60 < v62 ? 1 : -1,
v68 = v61 < v63 ? 1 : -1;
let v69 = v65 - v66;
while (true) {
v64(v60, v61);
if (v60 === v62 && v61 === v63) break;
const v6a = 2 * v69;
if (v6a > -v66) {
v69 -= v66;
v60 += v67;
…
s25820 Input v68 sy syUseful 0.67 stepYUseful 0.34 FlowName better Present Pre-rename JavaScript · s25820 / v68 ×
Declaration · line 816 …
const v65 = Math.abs(v62 - v60),
v66 = Math.abs(v63 - v61);
const v67 = v60 < v62 ? 1 : -1,
v68 = v61 < v63 ? 1 : -1;
let v69 = v65 - v66;
while (true) {
v64(v60, v61);
if (v60 === v62 && v61 === v63) break;
const v6a = 2 * v69;
if (v6a > -v66) {
v69 -= v66;
v60 += v67;
}
if (v6a < v65) {
… Reference · line 828 …
v69 -= v66;
v60 += v67;
}
if (v6a < v65) {
v69 += v65;
v61 += v68 ;
}
}
}
function v6b(v6c, v6d, v6e, v6f, v6g) {
const v6h = v6e - v6c,
v6i = v6f - v6d;
const v6j = Math.sqrt(v6h * v6h + v6i * v6i);
const v6k = [];
if (v6j < v6g) {
v6k.push({
x: v6e,
y: v6f
…
s25854 Input v69 err errUseful 0.86 errorUseful 0.76 FlowName better Present Pre-rename JavaScript · s25854 / v69 ×
Declaration · line 817 …
v66 = Math.abs(v63 - v61);
const v67 = v60 < v62 ? 1 : -1,
v68 = v61 < v63 ? 1 : -1;
let v69 = v65 - v66;
while (true) {
v64(v60, v61);
if (v60 === v62 && v61 === v63) break;
const v6a = 2 * v69;
if (v6a > -v66) {
v69 -= v66;
v60 += v67;
}
if (v6a < v65) {
v69 += v65;
…
s25968 Input v6a e2 e2Useful 0.41 errorTermUseful 0.85 Humanify better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s25968 / v6a ×
Declaration · line 821 …
while (true) {
v64(v60, v61);
if (v60 === v62 && v61 === v63) break;
const v6a = 2 * v69;
if (v6a > -v66) {
v69 -= v66;
v60 += v67;
}
if (v6a < v65) {
v69 += v65;
v61 += v68;
}
}
}
function v6b(v6c, v6d, v6e, v6f, v6g) {
const v6h = v6e - v6c,
v6i = v6f - v6d;
…
s26147 Input v6b interpolatePoints interpolatePathUseful 0.37 listener4Useful 0.03 Both poor Absent Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s26147 / v6b ×
Declaration · line 832 …
if (v6a < v65) {
v69 += v65;
v61 += v68;
}
}
}
function v6b (v6c, v6d, v6e, v6f, v6g) {
const v6h = v6e - v6c,
v6i = v6f - v6d;
const v6j = Math.sqrt(v6h * v6h + v6i * v6i);
const v6k = [];
if (v6j < v6g) {
v6k.push({
x: v6e,
y: v6f
});
} else {
… Reference · line 1312 …
const vd0 = vcw.activeLayer;
const vd1 = Math.max(1, v4i._brushSize / 4);
const vd2 = v6b (this._lastX, this._lastY, vcx, vcy, vd1);
for (const vd3 of vd2) this._drawDab(vcw, vd0, vd3.x, vd3.y);
this._lastX = vcx;
this._lastY = vcy;
v4i.emit("canvas:dirty");
}
onPointerUp(vd4) {
if (!this._drawing) return;
…
s26151 Input v6c x0 x1Useful 0.35 startXUseful 0.23 Both poor Present Pre-rename JavaScript · s26151 / v6c ×
Declaration · line 832 …
if (v6a < v65) {
v69 += v65;
v61 += v68;
}
}
}
function v6b(v6c , v6d, v6e, v6f, v6g) {
const v6h = v6e - v6c,
v6i = v6f - v6d;
const v6j = Math.sqrt(v6h * v6h + v6i * v6i);
const v6k = [];
if (v6j < v6g) {
v6k.push({
x: v6e,
y: v6f
});
} else {
const v6l = Math.ceil(v6j / v6g);
… Reference · line 847 …
for (let v6m = 1; v6m <= v6l; v6m++) {
const v6n = v6m / v6l;
v6k.push({
x: v5v(v6c , v6e, v6n),
y: v5v(v6d, v6f, v6n)
});
}
}
return v6k;
}
function v6o(v6p, v6q, v6r, v6s, v6t, v6u, v6v, v6w, v6x) {
const {
width: v6y,
height: v6z,
data: v70
} = v6p;
v6q = Math.round(v6q);
…
s26156 Input v6d y0 x2Useful 0.19 startYUseful 0.30 Both poor Present Pre-rename JavaScript · s26156 / v6d ×
Declaration · line 832 …
if (v6a < v65) {
v69 += v65;
v61 += v68;
}
}
}
function v6b(v6c, v6d , v6e, v6f, v6g) {
const v6h = v6e - v6c,
v6i = v6f - v6d;
const v6j = Math.sqrt(v6h * v6h + v6i * v6i);
const v6k = [];
if (v6j < v6g) {
v6k.push({
x: v6e,
y: v6f
});
} else {
const v6l = Math.ceil(v6j / v6g);
… Reference · line 848 …
const v6n = v6m / v6l;
v6k.push({
x: v5v(v6c, v6e, v6n),
y: v5v(v6d , v6f, v6n)
});
}
}
return v6k;
}
function v6o(v6p, v6q, v6r, v6s, v6t, v6u, v6v, v6w, v6x) {
const {
width: v6y,
height: v6z,
data: v70
} = v6p;
v6q = Math.round(v6q);
v6r = Math.round(v6r);
…
s26161 Input v6e x1 y1Useful 0.54 targetXUseful 0.41 FlowName better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s26161 / v6e ×
Declaration · line 832 …
if (v6a < v65) {
v69 += v65;
v61 += v68;
}
}
}
function v6b(v6c, v6d, v6e , v6f, v6g) {
const v6h = v6e - v6c,
v6i = v6f - v6d;
const v6j = Math.sqrt(v6h * v6h + v6i * v6i);
const v6k = [];
if (v6j < v6g) {
v6k.push({
x: v6e,
y: v6f
});
} else {
const v6l = Math.ceil(v6j / v6g);
… Reference · line 847 …
for (let v6m = 1; v6m <= v6l; v6m++) {
const v6n = v6m / v6l;
v6k.push({
x: v5v(v6c, v6e , v6n),
y: v5v(v6d, v6f, v6n)
});
}
}
return v6k;
}
function v6o(v6p, v6q, v6r, v6s, v6t, v6u, v6v, v6w, v6x) {
const {
width: v6y,
height: v6z,
data: v70
} = v6p;
v6q = Math.round(v6q);
…
s26166 Input v6f y1 y2Useful 0.25 y2Useful 0.25 Both poor Present Pre-rename JavaScript · s26166 / v6f ×
Declaration · line 832 …
if (v6a < v65) {
v69 += v65;
v61 += v68;
}
}
}
function v6b(v6c, v6d, v6e, v6f , v6g) {
const v6h = v6e - v6c,
v6i = v6f - v6d;
const v6j = Math.sqrt(v6h * v6h + v6i * v6i);
const v6k = [];
if (v6j < v6g) {
v6k.push({
x: v6e,
y: v6f
});
} else {
const v6l = Math.ceil(v6j / v6g);
… Reference · line 848 …
const v6n = v6m / v6l;
v6k.push({
x: v5v(v6c, v6e, v6n),
y: v5v(v6d, v6f , v6n)
});
}
}
return v6k;
}
function v6o(v6p, v6q, v6r, v6s, v6t, v6u, v6v, v6w, v6x) {
const {
width: v6y,
height: v6z,
data: v70
} = v6p;
v6q = Math.round(v6q);
v6r = Math.round(v6r);
…
s26171 Input v6g spacing maxDistanceUseful 0.21 maxDistanceUseful 0.21 Both poor Present Pre-rename JavaScript · s26171 / v6g ×
Declaration · line 832 …
v69 += v65;
v61 += v68;
}
}
}
function v6b(v6c, v6d, v6e, v6f, v6g ) {
const v6h = v6e - v6c,
v6i = v6f - v6d;
const v6j = Math.sqrt(v6h * v6h + v6i * v6i);
const v6k = [];
if (v6j < v6g) {
v6k.push({
x: v6e,
y: v6f
});
} else {
const v6l = Math.ceil(v6j / v6g);
…
s26188 Input v6h dx dxUseful 0.93 deltaXUseful 0.90 FlowName better Present Pre-rename JavaScript · s26188 / v6h ×
Declaration · line 833 …
v61 += v68;
}
}
}
function v6b(v6c, v6d, v6e, v6f, v6g) {
const v6h = v6e - v6c,
v6i = v6f - v6d;
const v6j = Math.sqrt(v6h * v6h + v6i * v6i);
const v6k = [];
if (v6j < v6g) {
v6k.push({
x: v6e,
y: v6f
});
} else {
const v6l = Math.ceil(v6j / v6g);
…
s26211 Input v6i dy dyUseful 0.87 deltaYUseful 0.87 Both useful Present Preference confidence is low. Pre-rename JavaScript · s26211 / v6i ×
Declaration · line 834 …
}
}
}
function v6b(v6c, v6d, v6e, v6f, v6g) {
const v6h = v6e - v6c,
v6i = v6f - v6d;
const v6j = Math.sqrt(v6h * v6h + v6i * v6i);
const v6k = [];
if (v6j < v6g) {
v6k.push({
x: v6e,
y: v6f
});
} else {
const v6l = Math.ceil(v6j / v6g);
for (let v6m = 1; v6m <= v6l; v6m++) {
…
s26238 Input v6j dist distanceUseful 0.95 distanceUseful 0.95 Both useful Present Pre-rename JavaScript · s26238 / v6j ×
Declaration · line 835 …
function v6b(v6c, v6d, v6e, v6f, v6g) {
const v6h = v6e - v6c,
v6i = v6f - v6d;
const v6j = Math.sqrt(v6h * v6h + v6i * v6i);
const v6k = [];
if (v6j < v6g) {
v6k.push({
x: v6e,
y: v6f
});
} else {
const v6l = Math.ceil(v6j / v6g);
for (let v6m = 1; v6m <= v6l; v6m++) {
const v6n = v6m / v6l;
…
s26288 Input v6k points pointsUseful 0.92 pointsUseful 0.92 Both useful Present Pre-rename JavaScript · s26288 / v6k ×
Declaration · line 836 …
const v6h = v6e - v6c,
v6i = v6f - v6d;
const v6j = Math.sqrt(v6h * v6h + v6i * v6i);
const v6k = [];
if (v6j < v6g) {
v6k.push({
x: v6e,
y: v6f
});
} else {
const v6l = Math.ceil(v6j / v6g);
for (let v6m = 1; v6m <= v6l; v6m++) {
const v6n = v6m / v6l;
v6k.push({
x: v5v(v6c, v6e, v6n),
… Reference · line 852 …
x: v5v(v6c, v6e, v6n),
y: v5v(v6d, v6f, v6n)
});
}
}
return v6k ;
}
function v6o(v6p, v6q, v6r, v6s, v6t, v6u, v6v, v6w, v6x) {
const {
width: v6y,
height: v6z,
data: v70
} = v6p;
v6q = Math.round(v6q);
v6r = Math.round(v6r);
if (v6q < 0 || v6q >= v6y || v6r < 0 || v6r >= v6z) return v6p;
…
s26402 Input v6l steps numStepsUseful 0.85 totalStepsUseful 0.79 Both useful Present Preference confidence is low. Pre-rename JavaScript · s26402 / v6l ×
Declaration · line 843 …
if (v6j < v6g) {
v6k.push({
x: v6e,
y: v6f
});
} else {
const v6l = Math.ceil(v6j / v6g);
for (let v6m = 1; v6m <= v6l; v6m++) {
const v6n = v6m / v6l;
v6k.push({
x: v5v(v6c, v6e, v6n),
y: v5v(v6d, v6f, v6n)
});
}
}
return v6k;
}
function v6o(v6p, v6q, v6r, v6s, v6t, v6u, v6v, v6w, v6x) {
…
s26445 Input v6m i xUseful 0.13 stepIndexUseful 0.76 Humanify better Present Pre-rename JavaScript · s26445 / v6m ×
Declaration · line 844 …
y: v6f
});
} else {
const v6l = Math.ceil(v6j / v6g);
for (let v6m = 1; v6m <= v6l; v6m++) {
const v6n = v6m / v6l;
v6k.push({
x: v5v(v6c, v6e, v6n),
y: v5v(v6d, v6f, v6n)
});
}
}
return v6k;
}
function v6o(v6p, v6q, v6r, v6s, v6t, v6u, v6v, v6w, v6x) {
…
s26489 Input v6n t tUseful 0.52 progressRatioUseful 0.86 Humanify better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s26489 / v6n ×
Declaration · line 845 …
const v6l = Math.ceil(v6j / v6g);
for (let v6m = 1; v6m <= v6l; v6m++) {
const v6n = v6m / v6l;
v6k.push({
x: v5v(v6c, v6e, v6n),
y: v5v(v6d, v6f, v6n)
});
}
}
return v6k;
}
function v6o(v6p, v6q, v6r, v6s, v6t, v6u, v6v, v6w, v6x) {
const {
width: v6y,
height: v6z,
…
s26647 Input v6o floodFill floodFill2Useful 0.67 listener5Useful 0.03 FlowName better Absent Pre-rename JavaScript · s26647 / v6o ×
Declaration · line 854 …
x: v5v(v6c, v6e, v6n),
y: v5v(v6d, v6f, v6n)
});
}
}
return v6k;
}
function v6o (v6p, v6q, v6r, v6s, v6t, v6u, v6v, v6w, v6x) {
const {
width: v6y,
height: v6z,
data: v70
} = v6p;
v6q = Math.round(v6q);
v6r = Math.round(v6r);
if (v6q < 0 || v6q >= v6y || v6r < 0 || v6r >= v6z) return v6p;
… Reference · line 1460 …
const vez = vem.selection.active ? vem.selection.mask : null;
const vf0 = v4i._fillGlobal ? v7e : v6o ;
vf0(vey, ver, ves, veu, vev, vew, vex, v4i._tolerance, vez);
veq.ctx.putImageData(vey, 0, 0);
v4i.emit("canvas:dirty");
}
};
var vf1 = class extends vbq {
constructor() {
super("Eyedropper", "i");
this._button = 0;
…
s26651 Input v6p imageData imageDataUseful 0.92 imageDataUseful 0.92 Both useful Present Pre-rename JavaScript · s26651 / v6p ×
Declaration · line 854 …
y: v5v(v6d, v6f, v6n)
});
}
}
return v6k;
}
function v6o(v6p , v6q, v6r, v6s, v6t, v6u, v6v, v6w, v6x) {
const {
width: v6y,
height: v6z,
data: v70
} = v6p;
v6q = Math.round(v6q);
v6r = Math.round(v6r);
if (v6q < 0 || v6q >= v6y || v6r < 0 || v6r >= v6z) return v6p;
… Reference · line 868 …
v75 = v70[v71 + 3];
if (v72 === v6s && v73 === v6t && v74 === v6u && v75 === v6v) return v6p ;
const v76 = v6w * 4;
const v77 = new Uint8Array(v6y * v6z);
const v78 = [v6q, v6r];
while (v78.length > 0) {
const v79 = v78.pop();
const v7a = v78.pop();
if (v7a < 0 || v7a >= v6y || v79 < 0 || v79 >= v6z) continue;
…
s26656 Input v6q startX startXUseful 0.93 startXUseful 0.93 Both useful Present Pre-rename JavaScript · s26656 / v6q ×
Declaration · line 854 …
y: v5v(v6d, v6f, v6n)
});
}
}
return v6k;
}
function v6o(v6p, v6q , v6r, v6s, v6t, v6u, v6v, v6w, v6x) {
const {
width: v6y,
height: v6z,
data: v70
} = v6p;
v6q = Math.round(v6q);
v6r = Math.round(v6r);
if (v6q < 0 || v6q >= v6y || v6r < 0 || v6r >= v6z) return v6p;
… Reference · line 863 …
if (v6q < 0 || v6q >= v6y || v6r < 0 || v6r >= v6z) return v6p;
const v71 = (v6r * v6y + v6q ) * 4;
const v72 = v70[v71],
v73 = v70[v71 + 1],
v74 = v70[v71 + 2],
v75 = v70[v71 + 3];
if (v72 === v6s && v73 === v6t && v74 === v6u && v75 === v6v) return v6p;
const v76 = v6w * 4;
const v77 = new Uint8Array(v6y * v6z);
…
s26661 Input v6r startY startYUseful 0.86 yUseful 0.15 FlowName better Present Pre-rename JavaScript · s26661 / v6r ×
Declaration · line 854 …
y: v5v(v6d, v6f, v6n)
});
}
}
return v6k;
}
function v6o(v6p, v6q, v6r , v6s, v6t, v6u, v6v, v6w, v6x) {
const {
width: v6y,
height: v6z,
data: v70
} = v6p;
v6q = Math.round(v6q);
v6r = Math.round(v6r);
if (v6q < 0 || v6q >= v6y || v6r < 0 || v6r >= v6z) return v6p;
const v71 = (v6r * v6y + v6q) * 4;
… Reference · line 871 …
const v76 = v6w * 4;
const v77 = new Uint8Array(v6y * v6z);
const v78 = [v6q, v6r ];
while (v78.length > 0) {
const v79 = v78.pop();
const v7a = v78.pop();
if (v7a < 0 || v7a >= v6y || v79 < 0 || v79 >= v6z) continue;
const v7b = v79 * v6y + v7a;
if (v77[v7b]) continue;
if (v6x && !v6x[v7b]) continue;
…
s26666 Input v6s fillR targetRedUseful 0.82 targetRedUseful 0.82 Both useful Present Pre-rename JavaScript · s26666 / v6s ×
Declaration · line 854 …
y: v5v(v6d, v6f, v6n)
});
}
}
return v6k;
}
function v6o(v6p, v6q, v6r, v6s , v6t, v6u, v6v, v6w, v6x) {
const {
width: v6y,
height: v6z,
data: v70
} = v6p;
v6q = Math.round(v6q);
v6r = Math.round(v6r);
if (v6q < 0 || v6q >= v6y || v6r < 0 || v6r >= v6z) return v6p;
const v71 = (v6r * v6y + v6q) * 4;
… Reference · line 868 …
v73 = v70[v71 + 1],
v74 = v70[v71 + 2],
v75 = v70[v71 + 3];
if (v72 === v6s && v73 === v6t && v74 === v6u && v75 === v6v) return v6p;
const v76 = v6w * 4;
const v77 = new Uint8Array(v6y * v6z);
const v78 = [v6q, v6r];
while (v78.length > 0) {
const v79 = v78.pop();
const v7a = v78.pop();
…
s26671 Input v6t fillG targetGreenUseful 0.44 greenUseful 0.74 Humanify better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s26671 / v6t ×
Declaration · line 854 …
y: v5v(v6d, v6f, v6n)
});
}
}
return v6k;
}
function v6o(v6p, v6q, v6r, v6s, v6t , v6u, v6v, v6w, v6x) {
const {
width: v6y,
height: v6z,
data: v70
} = v6p;
v6q = Math.round(v6q);
v6r = Math.round(v6r);
if (v6q < 0 || v6q >= v6y || v6r < 0 || v6r >= v6z) return v6p;
const v71 = (v6r * v6y + v6q) * 4;
… Reference · line 868 …
v73 = v70[v71 + 1],
v74 = v70[v71 + 2],
v75 = v70[v71 + 3];
if (v72 === v6s && v73 === v6t && v74 === v6u && v75 === v6v) return v6p;
const v76 = v6w * 4;
const v77 = new Uint8Array(v6y * v6z);
const v78 = [v6q, v6r];
while (v78.length > 0) {
const v79 = v78.pop();
const v7a = v78.pop();
if (v7a < 0 || v7a >= v6y || v79 < 0 || v79 >= v6z) continue;
…
s26676 Input v6u fillB targetBlueUseful 0.64 targetBlueUseful 0.64 Both useful Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s26676 / v6u ×
Declaration · line 854 …
y: v5v(v6d, v6f, v6n)
});
}
}
return v6k;
}
function v6o(v6p, v6q, v6r, v6s, v6t, v6u , v6v, v6w, v6x) {
const {
width: v6y,
height: v6z,
data: v70
} = v6p;
v6q = Math.round(v6q);
v6r = Math.round(v6r);
if (v6q < 0 || v6q >= v6y || v6r < 0 || v6r >= v6z) return v6p;
const v71 = (v6r * v6y + v6q) * 4;
… Reference · line 868 …
v74 = v70[v71 + 2],
v75 = v70[v71 + 3];
if (v72 === v6s && v73 === v6t && v74 === v6u && v75 === v6v) return v6p;
const v76 = v6w * 4;
const v77 = new Uint8Array(v6y * v6z);
const v78 = [v6q, v6r];
while (v78.length > 0) {
const v79 = v78.pop();
const v7a = v78.pop();
if (v7a < 0 || v7a >= v6y || v79 < 0 || v79 >= v6z) continue;
…
s26681 Input v6v fillA targetAlphaUseful 0.81 targetAlphaUseful 0.81 Both useful Present Pre-rename JavaScript · s26681 / v6v ×
Declaration · line 854 …
});
}
}
return v6k;
}
function v6o(v6p, v6q, v6r, v6s, v6t, v6u, v6v , v6w, v6x) {
const {
width: v6y,
height: v6z,
data: v70
} = v6p;
v6q = Math.round(v6q);
v6r = Math.round(v6r);
if (v6q < 0 || v6q >= v6y || v6r < 0 || v6r >= v6z) return v6p;
const v71 = (v6r * v6y + v6q) * 4;
… Reference · line 868 …
v74 = v70[v71 + 2],
v75 = v70[v71 + 3];
if (v72 === v6s && v73 === v6t && v74 === v6u && v75 === v6v ) return v6p;
const v76 = v6w * 4;
const v77 = new Uint8Array(v6y * v6z);
const v78 = [v6q, v6r];
while (v78.length > 0) {
const v79 = v78.pop();
const v7a = v78.pop();
if (v7a < 0 || v7a >= v6y || v79 < 0 || v79 >= v6z) continue;
…
s26686 Input v6w tolerance rowBytes2Useful 0.03 toleranceUseful 0.92 Humanify better Present Pre-rename JavaScript · s26686 / v6w ×
Declaration · line 854 …
});
}
}
return v6k;
}
function v6o(v6p, v6q, v6r, v6s, v6t, v6u, v6v, v6w , v6x) {
const {
width: v6y,
height: v6z,
data: v70
} = v6p;
v6q = Math.round(v6q);
v6r = Math.round(v6r);
if (v6q < 0 || v6q >= v6y || v6r < 0 || v6r >= v6z) return v6p;
const v71 = (v6r * v6y + v6q) * 4;
… Reference · line 869 …
if (v72 === v6s && v73 === v6t && v74 === v6u && v75 === v6v) return v6p;
const v76 = v6w * 4;
const v77 = new Uint8Array(v6y * v6z);
const v78 = [v6q, v6r];
while (v78.length > 0) {
const v79 = v78.pop();
const v7a = v78.pop();
if (v7a < 0 || v7a >= v6y || v79 < 0 || v79 >= v6z) continue;
const v7b = v79 * v6y + v7a;
…
s26691 Input v6x selMask visited2Useful 0.08 tolerance2Useful 0.23 Both poor Present Pre-rename JavaScript · s26691 / v6x ×
Declaration · line 854 …
});
}
}
return v6k;
}
function v6o(v6p, v6q, v6r, v6s, v6t, v6u, v6v, v6w, v6x ) {
const {
width: v6y,
height: v6z,
data: v70
} = v6p;
v6q = Math.round(v6q);
v6r = Math.round(v6r);
if (v6q < 0 || v6q >= v6y || v6r < 0 || v6r >= v6z) return v6p;
const v71 = (v6r * v6y + v6q) * 4;
… Reference · line 878 …
if (v7a < 0 || v7a >= v6y || v79 < 0 || v79 >= v6z) continue;
const v7b = v79 * v6y + v7a;
if (v77[v7b]) continue;
if (v6x && !v6x[v7b]) continue;
const v7c = v7b * 4;
const v7d = Math.abs(v70[v7c] - v72) + Math.abs(v70[v7c + 1] - v73) + Math.abs(v70[v7c + 2] - v74) + Math.abs(v70[v7c + 3] - v75);
if (v7d > v76) continue;
v77[v7b] = 1;
…
s26723 Input v6y width widthUseful 0.96 widthUseful 0.96 Both useful Present Pre-rename JavaScript · s26723 / v6y ×
Declaration · line 856 …
}
function v6o(v6p, v6q, v6r, v6s, v6t, v6u, v6v, v6w, v6x) {
const {
width: v6y ,
height: v6z,
data: v70
} = v6p;
v6q = Math.round(v6q);
v6r = Math.round(v6r);
if (v6q < 0 || v6q >= v6y || v6r < 0 || v6r >= v6z) return v6p;
const v71 = (v6r * v6y + v6q) * 4;
const v72 = v70[v71],
v73 = v70[v71 + 1],
… Reference · line 870 …
if (v72 === v6s && v73 === v6t && v74 === v6u && v75 === v6v) return v6p;
const v76 = v6w * 4;
const v77 = new Uint8Array(v6y * v6z);
const v78 = [v6q, v6r];
while (v78.length > 0) {
const v79 = v78.pop();
const v7a = v78.pop();
if (v7a < 0 || v7a >= v6y || v79 < 0 || v79 >= v6z) continue;
const v7b = v79 * v6y + v7a;
if (v77[v7b]) continue;
…
s26742 Input v6z height heightUseful 0.95 heightUseful 0.95 Both useful Present Pre-rename JavaScript · s26742 / v6z ×
Declaration · line 857 …
function v6o(v6p, v6q, v6r, v6s, v6t, v6u, v6v, v6w, v6x) {
const {
width: v6y,
height: v6z ,
data: v70
} = v6p;
v6q = Math.round(v6q);
v6r = Math.round(v6r);
if (v6q < 0 || v6q >= v6y || v6r < 0 || v6r >= v6z) return v6p;
const v71 = (v6r * v6y + v6q) * 4;
const v72 = v70[v71],
v73 = v70[v71 + 1],
… Reference · line 870 …
if (v72 === v6s && v73 === v6t && v74 === v6u && v75 === v6v) return v6p;
const v76 = v6w * 4;
const v77 = new Uint8Array(v6y * v6z );
const v78 = [v6q, v6r];
while (v78.length > 0) {
const v79 = v78.pop();
const v7a = v78.pop();
if (v7a < 0 || v7a >= v6y || v79 < 0 || v79 >= v6z) continue;
const v7b = v79 * v6y + v7a;
if (v77[v7b]) continue;
…
s26759 Input v70 data dataUseful 0.77 pixelDataUseful 0.71 Both useful Present Preference confidence is low. Pre-rename JavaScript · s26759 / v70 ×
Declaration · line 858 …
function v6o(v6p, v6q, v6r, v6s, v6t, v6u, v6v, v6w, v6x) {
const {
width: v6y,
height: v6z,
data: v70
} = v6p;
v6q = Math.round(v6q);
v6r = Math.round(v6r);
if (v6q < 0 || v6q >= v6y || v6r < 0 || v6r >= v6z) return v6p;
const v71 = (v6r * v6y + v6q) * 4;
const v72 = v70[v71],
v73 = v70[v71 + 1],
v74 = v70[v71 + 2],
… Reference · line 867 …
const v72 = v70[v71],
v73 = v70[v71 + 1],
v74 = v70[v71 + 2],
v75 = v70 [v71 + 3];
if (v72 === v6s && v73 === v6t && v74 === v6u && v75 === v6v) return v6p;
const v76 = v6w * 4;
const v77 = new Uint8Array(v6y * v6z);
const v78 = [v6q, v6r];
while (v78.length > 0) {
const v79 = v78.pop();
…
s26908 Input v71 si startIndexUseful 0.74 pixelIndexUseful 0.67 FlowName better Present Pre-rename JavaScript · s26908 / v71 ×
Declaration · line 863 …
v6r = Math.round(v6r);
if (v6q < 0 || v6q >= v6y || v6r < 0 || v6r >= v6z) return v6p;
const v71 = (v6r * v6y + v6q) * 4;
const v72 = v70[v71],
v73 = v70[v71 + 1],
v74 = v70[v71 + 2],
v75 = v70[v71 + 3];
if (v72 === v6s && v73 === v6t && v74 === v6u && v75 === v6v) return v6p;
const v76 = v6w * 4;
const v77 = new Uint8Array(v6y * v6z);
…
s26947 Input v72 sr startRUseful 0.70 redChannelUseful 0.71 Both useful Present Preference confidence is low. Pre-rename JavaScript · s26947 / v72 ×
Declaration · line 864 …
if (v6q < 0 || v6q >= v6y || v6r < 0 || v6r >= v6z) return v6p;
const v71 = (v6r * v6y + v6q) * 4;
const v72 = v70[v71],
v73 = v70[v71 + 1],
v74 = v70[v71 + 2],
v75 = v70[v71 + 3];
if (v72 === v6s && v73 === v6t && v74 === v6u && v75 === v6v) return v6p;
const v76 = v6w * 4;
const v77 = new Uint8Array(v6y * v6z);
const v78 = [v6q, v6r];
… Reference · line 880 …
if (v6x && !v6x[v7b]) continue;
const v7c = v7b * 4;
const v7d = Math.abs(v70[v7c] - v72 ) + Math.abs(v70[v7c + 1] - v73) + Math.abs(v70[v7c + 2] - v74) + Math.abs(v70[v7c + 3] - v75);
if (v7d > v76) continue;
v77[v7b] = 1;
v70[v7c] = v6s;
v70[v7c + 1] = v6t;
v70[v7c + 2] = v6u;
v70[v7c + 3] = v6v;
…
s26969 Input v73 sg startGUseful 0.38 greenValueUseful 0.68 Humanify better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s26969 / v73 ×
Declaration · line 865 …
if (v6q < 0 || v6q >= v6y || v6r < 0 || v6r >= v6z) return v6p;
const v71 = (v6r * v6y + v6q) * 4;
const v72 = v70[v71],
v73 = v70[v71 + 1],
v74 = v70[v71 + 2],
v75 = v70[v71 + 3];
if (v72 === v6s && v73 === v6t && v74 === v6u && v75 === v6v) return v6p;
const v76 = v6w * 4;
const v77 = new Uint8Array(v6y * v6z);
const v78 = [v6q, v6r];
… Reference · line 880 …
const v7c = v7b * 4;
const v7d = Math.abs(v70[v7c] - v72) + Math.abs(v70[v7c + 1] - v73 ) + Math.abs(v70[v7c + 2] - v74) + Math.abs(v70[v7c + 3] - v75);
if (v7d > v76) continue;
v77[v7b] = 1;
v70[v7c] = v6s;
v70[v7c + 1] = v6t;
v70[v7c + 2] = v6u;
v70[v7c + 3] = v6v;
v78.push(v7a + 1, v79, v7a - 1, v79, v7a, v79 + 1, v7a, v79 - 1);
…
s26995 Input v74 sb startBUseful 0.18 blueValueUseful 0.62 Humanify better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s26995 / v74 ×
Declaration · line 866 …
const v71 = (v6r * v6y + v6q) * 4;
const v72 = v70[v71],
v73 = v70[v71 + 1],
v74 = v70[v71 + 2],
v75 = v70[v71 + 3];
if (v72 === v6s && v73 === v6t && v74 === v6u && v75 === v6v) return v6p;
const v76 = v6w * 4;
const v77 = new Uint8Array(v6y * v6z);
const v78 = [v6q, v6r];
while (v78.length > 0) {
… Reference · line 880 …
const v7d = Math.abs(v70[v7c] - v72) + Math.abs(v70[v7c + 1] - v73) + Math.abs(v70[v7c + 2] - v74 ) + Math.abs(v70[v7c + 3] - v75);
if (v7d > v76) continue;
v77[v7b] = 1;
v70[v7c] = v6s;
v70[v7c + 1] = v6t;
v70[v7c + 2] = v6u;
v70[v7c + 3] = v6v;
v78.push(v7a + 1, v79, v7a - 1, v79, v7a, v79 + 1, v7a, v79 - 1);
…
s27021 Input v75 sa startAUseful 0.35 originalAlphaUseful 0.34 Both poor Present Pre-rename JavaScript · s27021 / v75 ×
Declaration · line 867 …
const v71 = (v6r * v6y + v6q) * 4;
const v72 = v70[v71],
v73 = v70[v71 + 1],
v74 = v70[v71 + 2],
v75 = v70[v71 + 3];
if (v72 === v6s && v73 === v6t && v74 === v6u && v75 === v6v) return v6p;
const v76 = v6w * 4;
const v77 = new Uint8Array(v6y * v6z);
const v78 = [v6q, v6r];
while (v78.length > 0) {
const v79 = v78.pop();
… Reference · line 880 …
const v7d = Math.abs(v70[v7c] - v72) + Math.abs(v70[v7c + 1] - v73) + Math.abs(v70[v7c + 2] - v74) + Math.abs(v70[v7c + 3] - v75 );
if (v7d > v76) continue;
v77[v7b] = 1;
v70[v7c] = v6s;
v70[v7c + 1] = v6t;
v70[v7c + 2] = v6u;
v70[v7c + 3] = v6v;
v78.push(v7a + 1, v79, v7a - 1, v79, v7a, v79 + 1, v7a, v79 - 1);
}
return v6p;
…
s27129 Input v76 tol rowBytesUseful 0.04 floodFillQueueUseful 0.06 Both poor Present Pre-rename JavaScript · s27129 / v76 ×
Declaration · line 869 …
v75 = v70[v71 + 3];
if (v72 === v6s && v73 === v6t && v74 === v6u && v75 === v6v) return v6p;
const v76 = v6w * 4;
const v77 = new Uint8Array(v6y * v6z);
const v78 = [v6q, v6r];
while (v78.length > 0) {
const v79 = v78.pop();
const v7a = v78.pop();
if (v7a < 0 || v7a >= v6y || v79 < 0 || v79 >= v6z) continue;
… Reference · line 881 …
const v7d = Math.abs(v70[v7c] - v72) + Math.abs(v70[v7c + 1] - v73) + Math.abs(v70[v7c + 2] - v74) + Math.abs(v70[v7c + 3] - v75);
if (v7d > v76 ) continue;
v77[v7b] = 1;
v70[v7c] = v6s;
v70[v7c + 1] = v6t;
v70[v7c + 2] = v6u;
v70[v7c + 3] = v6v;
v78.push(v7a + 1, v79, v7a - 1, v79, v7a, v79 + 1, v7a, v79 - 1);
}
return v6p;
}
function v7e(v7f, v7g, v7h, v7i, v7j, v7k, v7l, v7m, v7n) {
…
s27154 Input v77 visited visitedUseful 0.93 thresholdUseful 0.05 FlowName better Absent Pre-rename JavaScript · s27154 / v77 ×
Declaration · line 870 …
if (v72 === v6s && v73 === v6t && v74 === v6u && v75 === v6v) return v6p;
const v76 = v6w * 4;
const v77 = new Uint8Array(v6y * v6z);
const v78 = [v6q, v6r];
while (v78.length > 0) {
const v79 = v78.pop();
const v7a = v78.pop();
if (v7a < 0 || v7a >= v6y || v79 < 0 || v79 >= v6z) continue;
const v7b = v79 * v6y + v7a;
… Reference · line 877 …
if (v7a < 0 || v7a >= v6y || v79 < 0 || v79 >= v6z) continue;
const v7b = v79 * v6y + v7a;
if (v77 [v7b]) continue;
if (v6x && !v6x[v7b]) continue;
const v7c = v7b * 4;
const v7d = Math.abs(v70[v7c] - v72) + Math.abs(v70[v7c + 1] - v73) + Math.abs(v70[v7c + 2] - v74) + Math.abs(v70[v7c + 3] - v75);
if (v7d > v76) continue;
…
s27197 Input v78 stack pixelQueueUseful 0.61 targetColorUseful 0.06 FlowName better Absent Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s27197 / v78 ×
Declaration · line 871 …
if (v72 === v6s && v73 === v6t && v74 === v6u && v75 === v6v) return v6p;
const v76 = v6w * 4;
const v77 = new Uint8Array(v6y * v6z);
const v78 = [v6q, v6r];
while (v78.length > 0) {
const v79 = v78.pop();
const v7a = v78.pop();
if (v7a < 0 || v7a >= v6y || v79 < 0 || v79 >= v6z) continue;
const v7b = v79 * v6y + v7a;
if (v77[v7b]) continue;
if (v6x && !v6x[v7b]) continue;
… Reference · line 887 …
v70[v7c] = v6s;
v70[v7c + 1] = v6t;
v70[v7c + 2] = v6u;
v70[v7c + 3] = v6v;
v78 .push(v7a + 1, v79, v7a - 1, v79, v7a, v79 + 1, v7a, v79 - 1);
}
return v6p;
}
function v7e(v7f, v7g, v7h, v7i, v7j, v7k, v7l, v7m, v7n) {
const {
width: v7o,
height: v7p,
data: v7q
} = v7f;
v7g = Math.round(v7g);
…
s27256 Input v79 y currYUseful 0.74 yCoordUseful 0.79 Both useful Present Preference confidence is low. Pre-rename JavaScript · s27256 / v79 ×
Declaration · line 873 …
const v77 = new Uint8Array(v6y * v6z);
const v78 = [v6q, v6r];
while (v78.length > 0) {
const v79 = v78.pop();
const v7a = v78.pop();
if (v7a < 0 || v7a >= v6y || v79 < 0 || v79 >= v6z) continue;
const v7b = v79 * v6y + v7a;
if (v77[v7b]) continue;
if (v6x && !v6x[v7b]) continue;
const v7c = v7b * 4;
… Reference · line 887 …
v70[v7c + 1] = v6t;
v70[v7c + 2] = v6u;
v70[v7c + 3] = v6v;
v78.push(v7a + 1, v79 , v7a - 1, v79, v7a, v79 + 1, v7a, v79 - 1);
}
return v6p;
}
function v7e(v7f, v7g, v7h, v7i, v7j, v7k, v7l, v7m, v7n) {
const {
width: v7o,
height: v7p,
data: v7q
} = v7f;
v7g = Math.round(v7g);
…
s27285 Input v7a x currXUseful 0.76 xCoordUseful 0.81 Both useful Present Preference confidence is low. Pre-rename JavaScript · s27285 / v7a ×
Declaration · line 874 …
const v78 = [v6q, v6r];
while (v78.length > 0) {
const v79 = v78.pop();
const v7a = v78.pop();
if (v7a < 0 || v7a >= v6y || v79 < 0 || v79 >= v6z) continue;
const v7b = v79 * v6y + v7a;
if (v77[v7b]) continue;
if (v6x && !v6x[v7b]) continue;
const v7c = v7b * 4;
const v7d = Math.abs(v70[v7c] - v72) + Math.abs(v70[v7c + 1] - v73) + Math.abs(v70[v7c + 2] - v74)
… Reference · line 887 …
v70[v7c + 1] = v6t;
v70[v7c + 2] = v6u;
v70[v7c + 3] = v6v;
v78.push(v7a + 1, v79, v7a - 1, v79, v7a, v79 + 1, v7a, v79 - 1);
}
return v6p;
}
function v7e(v7f, v7g, v7h, v7i, v7j, v7k, v7l, v7m, v7n) {
const {
width: v7o,
height: v7p,
data: v7q
} = v7f;
v7g = Math.round(v7g);
…
s27382 Input v7b idx pixelIndexUseful 0.84 pixelIndex2Useful 0.62 FlowName better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s27382 / v7b ×
Declaration · line 876 …
const v7a = v78.pop();
if (v7a < 0 || v7a >= v6y || v79 < 0 || v79 >= v6z) continue;
const v7b = v79 * v6y + v7a;
if (v77[v7b]) continue;
if (v6x && !v6x[v7b]) continue;
const v7c = v7b * 4;
const v7d = Math.abs(v70[v7c] - v72) + Math.abs(v70[v7c + 1] - v73) + Math.abs(v70[v7c + 2] - v74) + Math.abs(v70[v7c + 3] - v75);
… Reference · line 882 …
Math.abs(v70[v7c] - v72) + Math.abs(v70[v7c + 1] - v73) + Math.abs(v70[v7c + 2] - v74) + Math.abs(v70[v7c + 3] - v75);
if (v7d > v76) continue;
v77[v7b ] = 1;
v70[v7c] = v6s;
v70[v7c + 1] = v6t;
v70[v7c + 2] = v6u;
v70[v7c + 3] = v6v;
v78.push(v7a + 1, v79, v7a - 1, v79, v7a, v79 + 1, v7a, v79 - 1);
}
return v6p;
}
function v7e(v7f, v7g, v7h, v7i, v7j, v7k, v7l, v7m, v7n) {
…
s27485 Input v7c pi currPixelIndexUseful 0.74 pixelIndex3Useful 0.59 FlowName better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s27485 / v7c ×
Declaration · line 879 …
const v7b = v79 * v6y + v7a;
if (v77[v7b]) continue;
if (v6x && !v6x[v7b]) continue;
const v7c = v7b * 4;
const v7d = Math.abs(v70[v7c] - v72) + Math.abs(v70[v7c + 1] - v73) + Math.abs(v70[v7c + 2] - v74) + Math.abs(v70[v7c + 3] - v75);
if (v7d > v76) continue;
v77[v7b] = 1;
v70[v7c] = v6s;
v70[v7c + 1] = v6t;
… Reference · line 885 …
if (v7d > v76) continue;
v77[v7b] = 1;
v70[v7c] = v6s;
v70[v7c + 1] = v6t;
v70[v7c + 2] = v6u;
v70[v7c + 3] = v6v;
v78.push(v7a + 1, v79, v7a - 1, v79, v7a, v79 + 1, v7a, v79 - 1);
}
return v6p;
}
function v7e(v7f, v7g, v7h, v7i, v7j, v7k, v7l, v7m, v7n) {
const {
width: v7o,
height: v7p,
…
s27512 Input v7d diff colorDifferenceUseful 0.74 colorDifferenceUseful 0.74 Both useful Present Pre-rename JavaScript · s27512 / v7d ×
Declaration · line 880 …
if (v77[v7b]) continue;
if (v6x && !v6x[v7b]) continue;
const v7c = v7b * 4;
const v7d = Math.abs(v70[v7c] - v72) + Math.abs(v70[v7c + 1] - v73) + Math.abs(v70[v7c + 2] - v74) + Math.abs(v70[v7c + 3] - v75);
if (v7d > v76) continue;
v77[v7b] = 1;
v70[v7c] = v6s;
v70[v7c + 1] = v6t;
v70[v7c + 2] = v6u;
…
s27897 Input v7e globalFill floodFillZoomedUseful 0.08 eventNameUseful 0.04 Both poor Absent Pre-rename JavaScript · s27897 / v7e ×
Declaration · line 891 …
v78.push(v7a + 1, v79, v7a - 1, v79, v7a, v79 + 1, v7a, v79 - 1);
}
return v6p;
}
function v7e (v7f, v7g, v7h, v7i, v7j, v7k, v7l, v7m, v7n) {
const {
width: v7o,
height: v7p,
data: v7q
} = v7f;
v7g = Math.round(v7g);
v7h = Math.round(v7h);
if (v7g < 0 || v7g >= v7o || v7h < 0 || v7h >= v7p) return v7f;
… Reference · line 1460 …
const vez = vem.selection.active ? vem.selection.mask : null;
const vf0 = v4i._fillGlobal ? v7e : v6o;
vf0(vey, ver, ves, veu, vev, vew, vex, v4i._tolerance, vez);
veq.ctx.putImageData(vey, 0, 0);
v4i.emit("canvas:dirty");
}
};
var vf1 = class extends vbq {
constructor() {
super("Eyedropper", "i");
…
s27901 Input v7f imageData imageDataUseful 0.93 imageDataUseful 0.93 Both useful Present Pre-rename JavaScript · s27901 / v7f ×
Declaration · line 891 …
v78.push(v7a + 1, v79, v7a - 1, v79, v7a, v79 + 1, v7a, v79 - 1);
}
return v6p;
}
function v7e(v7f , v7g, v7h, v7i, v7j, v7k, v7l, v7m, v7n) {
const {
width: v7o,
height: v7p,
data: v7q
} = v7f;
v7g = Math.round(v7g);
v7h = Math.round(v7h);
if (v7g < 0 || v7g >= v7o || v7h < 0 || v7h >= v7p) return v7f;
… Reference · line 917 …
v7q[v7y + 1] = v7j;
v7q[v7y + 2] = v7k;
v7q[v7y + 3] = v7l;
}
}
return v7f ;
}
function v80(v81, v82, v83, v84) {
const {
width: v85,
height: v86,
data: v87
} = v81;
v82 = Math.round(v82);
v83 = Math.round(v83);
if (v82 < 0 || v82 >= v85 || v83 < 0 || v83 >= v86) return null;
…
s27906 Input v7g startX startXUseful 0.95 targetXUseful 0.10 FlowName better Present Pre-rename JavaScript · s27906 / v7g ×
Declaration · line 891 …
v78.push(v7a + 1, v79, v7a - 1, v79, v7a, v79 + 1, v7a, v79 - 1);
}
return v6p;
}
function v7e(v7f, v7g , v7h, v7i, v7j, v7k, v7l, v7m, v7n) {
const {
width: v7o,
height: v7p,
data: v7q
} = v7f;
v7g = Math.round(v7g);
v7h = Math.round(v7h);
if (v7g < 0 || v7g >= v7o || v7h < 0 || v7h >= v7p) return v7f;
… Reference · line 900 …
if (v7g < 0 || v7g >= v7o || v7h < 0 || v7h >= v7p) return v7f;
const v7r = (v7h * v7o + v7g ) * 4;
const v7s = v7q[v7r],
v7t = v7q[v7r + 1],
v7u = v7q[v7r + 2],
v7v = v7q[v7r + 3];
const v7w = v7m * 4;
for (let v7x = 0; v7x < v7o * v7p; v7x++) {
if (v7n && !v7n[v7x]) continue;
const v7y = v7x * 4;
…
s27911 Input v7h startY startYUseful 0.92 yCoordUseful 0.82 FlowName better Present Pre-rename JavaScript · s27911 / v7h ×
Declaration · line 891 …
v78.push(v7a + 1, v79, v7a - 1, v79, v7a, v79 + 1, v7a, v79 - 1);
}
return v6p;
}
function v7e(v7f, v7g, v7h , v7i, v7j, v7k, v7l, v7m, v7n) {
const {
width: v7o,
height: v7p,
data: v7q
} = v7f;
v7g = Math.round(v7g);
v7h = Math.round(v7h);
if (v7g < 0 || v7g >= v7o || v7h < 0 || v7h >= v7p) return v7f;
const v7r = (v7h * v7o + v7g) * 4;
…
s27916 Input v7i fillR fillRedUseful 0.36 optionsUseful 0.04 Both poor Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s27916 / v7i ×
Declaration · line 891 …
v78.push(v7a + 1, v79, v7a - 1, v79, v7a, v79 + 1, v7a, v79 - 1);
}
return v6p;
}
function v7e(v7f, v7g, v7h, v7i , v7j, v7k, v7l, v7m, v7n) {
const {
width: v7o,
height: v7p,
data: v7q
} = v7f;
v7g = Math.round(v7g);
v7h = Math.round(v7h);
if (v7g < 0 || v7g >= v7o || v7h < 0 || v7h >= v7p) return v7f;
const v7r = (v7h * v7o + v7g) * 4;
… Reference · line 911 …
th.abs(v7q[v7y] - v7s) + Math.abs(v7q[v7y + 1] - v7t) + Math.abs(v7q[v7y + 2] - v7u) + Math.abs(v7q[v7y + 3] - v7v);
if (v7z <= v7w) {
v7q[v7y] = v7i ;
v7q[v7y + 1] = v7j;
v7q[v7y + 2] = v7k;
v7q[v7y + 3] = v7l;
}
}
return v7f;
}
function v80(v81, v82, v83, v84) {
const {
width: v85,
height: v86,
data: v87
} = v81;
v82 = Math.round(v82);
…
s27921 Input v7j fillG fillGreenUseful 0.22 blueChannelUseful 0.19 Both poor Present Pre-rename JavaScript · s27921 / v7j ×
Declaration · line 891 …
v78.push(v7a + 1, v79, v7a - 1, v79, v7a, v79 + 1, v7a, v79 - 1);
}
return v6p;
}
function v7e(v7f, v7g, v7h, v7i, v7j , v7k, v7l, v7m, v7n) {
const {
width: v7o,
height: v7p,
data: v7q
} = v7f;
v7g = Math.round(v7g);
v7h = Math.round(v7h);
if (v7g < 0 || v7g >= v7o || v7h < 0 || v7h >= v7p) return v7f;
const v7r = (v7h * v7o + v7g) * 4;
… Reference · line 912 …
h.abs(v7q[v7y + 1] - v7t) + Math.abs(v7q[v7y + 2] - v7u) + Math.abs(v7q[v7y + 3] - v7v);
if (v7z <= v7w) {
v7q[v7y] = v7i;
v7q[v7y + 1] = v7j ;
v7q[v7y + 2] = v7k;
v7q[v7y + 3] = v7l;
}
}
return v7f;
}
function v80(v81, v82, v83, v84) {
const {
width: v85,
height: v86,
data: v87
} = v81;
v82 = Math.round(v82);
v83 = Math.round(v83);
…
s27926 Input v7k fillB redValueUseful 0.10 blueValueUseful 0.83 Humanify better Present Pre-rename JavaScript · s27926 / v7k ×
Declaration · line 891 …
v78.push(v7a + 1, v79, v7a - 1, v79, v7a, v79 + 1, v7a, v79 - 1);
}
return v6p;
}
function v7e(v7f, v7g, v7h, v7i, v7j, v7k , v7l, v7m, v7n) {
const {
width: v7o,
height: v7p,
data: v7q
} = v7f;
v7g = Math.round(v7g);
v7h = Math.round(v7h);
if (v7g < 0 || v7g >= v7o || v7h < 0 || v7h >= v7p) return v7f;
const v7r = (v7h * v7o + v7g) * 4;
… Reference · line 913 …
if (v7z <= v7w) {
v7q[v7y] = v7i;
v7q[v7y + 1] = v7j;
v7q[v7y + 2] = v7k ;
v7q[v7y + 3] = v7l;
}
}
return v7f;
}
function v80(v81, v82, v83, v84) {
const {
width: v85,
height: v86,
data: v87
} = v81;
v82 = Math.round(v82);
v83 = Math.round(v83);
if (v82 < 0 || v82 >= v85 || v83 < 0 || v83 >= v86) return null;
…
s27931 Input v7l fillA alphaValueUseful 0.86 blueUseful 0.05 FlowName better Present Pre-rename JavaScript · s27931 / v7l ×
Declaration · line 891 …
v78.push(v7a + 1, v79, v7a - 1, v79, v7a, v79 + 1, v7a, v79 - 1);
}
return v6p;
}
function v7e(v7f, v7g, v7h, v7i, v7j, v7k, v7l , v7m, v7n) {
const {
width: v7o,
height: v7p,
data: v7q
} = v7f;
v7g = Math.round(v7g);
v7h = Math.round(v7h);
if (v7g < 0 || v7g >= v7o || v7h < 0 || v7h >= v7p) return v7f;
const v7r = (v7h * v7o + v7g) * 4;
… Reference · line 914 …
v7q[v7y] = v7i;
v7q[v7y + 1] = v7j;
v7q[v7y + 2] = v7k;
v7q[v7y + 3] = v7l ;
}
}
return v7f;
}
function v80(v81, v82, v83, v84) {
const {
width: v85,
height: v86,
data: v87
} = v81;
v82 = Math.round(v82);
v83 = Math.round(v83);
if (v82 < 0 || v82 >= v85 || v83 < 0 || v83 >= v86) return null;
…
s27936 Input v7m tolerance thresholdUseful 0.72 toleranceUseful 0.95 Humanify better Present Pre-rename JavaScript · s27936 / v7m ×
Declaration · line 891 …
v78.push(v7a + 1, v79, v7a - 1, v79, v7a, v79 + 1, v7a, v79 - 1);
}
return v6p;
}
function v7e(v7f, v7g, v7h, v7i, v7j, v7k, v7l, v7m , v7n) {
const {
width: v7o,
height: v7p,
data: v7q
} = v7f;
v7g = Math.round(v7g);
v7h = Math.round(v7h);
if (v7g < 0 || v7g >= v7o || v7h < 0 || v7h >= v7p) return v7f;
const v7r = (v7h * v7o + v7g) * 4;
… Reference · line 905 …
v7t = v7q[v7r + 1],
v7u = v7q[v7r + 2],
v7v = v7q[v7r + 3];
const v7w = v7m * 4;
for (let v7x = 0; v7x < v7o * v7p; v7x++) {
if (v7n && !v7n[v7x]) continue;
const v7y = v7x * 4;
const v7z = Math.abs(v7q[v7y] - v7s) + Math.abs(v7q[v7y + 1] - v7t) + Math.abs(v7q[v7y + 2] - v7u) + Math.abs(v7q[v7y + 3] - v7v);
…
s27941 Input v7n selMask maskDataUseful 0.77 maskDataUseful 0.77 Both useful Present Pre-rename JavaScript · s27941 / v7n ×
Declaration · line 891 …
v78.push(v7a + 1, v79, v7a - 1, v79, v7a, v79 + 1, v7a, v79 - 1);
}
return v6p;
}
function v7e(v7f, v7g, v7h, v7i, v7j, v7k, v7l, v7m, v7n ) {
const {
width: v7o,
height: v7p,
data: v7q
} = v7f;
v7g = Math.round(v7g);
v7h = Math.round(v7h);
if (v7g < 0 || v7g >= v7o || v7h < 0 || v7h >= v7p) return v7f;
const v7r = (v7h * v7o + v7g) * 4;
… Reference · line 907 …
v7v = v7q[v7r + 3];
const v7w = v7m * 4;
for (let v7x = 0; v7x < v7o * v7p; v7x++) {
if (v7n && !v7n[v7x]) continue;
const v7y = v7x * 4;
const v7z = Math.abs(v7q[v7y] - v7s) + Math.abs(v7q[v7y + 1] - v7t) + Math.abs(v7q[v7y + 2] - v7u) + Math.abs(v7q[v7y + 3] - v7v);
if (v7z <= v7w) {
v7q[v7y] = v7i;
v7q[v7y + 1] = v7j;
…
s27973 Input v7o width widthUseful 0.95 widthUseful 0.95 Both useful Present Pre-rename JavaScript · s27973 / v7o ×
Declaration · line 893 …
}
function v7e(v7f, v7g, v7h, v7i, v7j, v7k, v7l, v7m, v7n) {
const {
width: v7o ,
height: v7p,
data: v7q
} = v7f;
v7g = Math.round(v7g);
v7h = Math.round(v7h);
if (v7g < 0 || v7g >= v7o || v7h < 0 || v7h >= v7p) return v7f;
const v7r = (v7h * v7o + v7g) * 4;
const v7s = v7q[v7r],
v7t = v7q[v7r + 1],
… Reference · line 906 …
v7u = v7q[v7r + 2],
v7v = v7q[v7r + 3];
const v7w = v7m * 4;
for (let v7x = 0; v7x < v7o * v7p; v7x++) {
if (v7n && !v7n[v7x]) continue;
const v7y = v7x * 4;
const v7z = Math.abs(v7q[v7y] - v7s) + Math.abs(v7q[v7y + 1] - v7t) + Math.abs(v7q[v7y + 2] - v7u) + Math.abs(v7q[v7y + 3] - v7v);
if (v7z <= v7w) {
…
s27992 Input v7p height heightUseful 0.96 heightUseful 0.96 Both useful Present Pre-rename JavaScript · s27992 / v7p ×
Declaration · line 894 …
function v7e(v7f, v7g, v7h, v7i, v7j, v7k, v7l, v7m, v7n) {
const {
width: v7o,
height: v7p ,
data: v7q
} = v7f;
v7g = Math.round(v7g);
v7h = Math.round(v7h);
if (v7g < 0 || v7g >= v7o || v7h < 0 || v7h >= v7p) return v7f;
const v7r = (v7h * v7o + v7g) * 4;
const v7s = v7q[v7r],
v7t = v7q[v7r + 1],
… Reference · line 906 …
v7u = v7q[v7r + 2],
v7v = v7q[v7r + 3];
const v7w = v7m * 4;
for (let v7x = 0; v7x < v7o * v7p ; v7x++) {
if (v7n && !v7n[v7x]) continue;
const v7y = v7x * 4;
const v7z = Math.abs(v7q[v7y] - v7s) + Math.abs(v7q[v7y + 1] - v7t) + Math.abs(v7q[v7y + 2] - v7u) + Math.abs(v7q[v7y + 3] - v7v);
if (v7z <= v7w) {
v7q[v7y] = v7i;
…
s28009 Input v7q data dataUseful 0.84 imageDataArrayUseful 0.43 FlowName better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s28009 / v7q ×
Declaration · line 895 …
function v7e(v7f, v7g, v7h, v7i, v7j, v7k, v7l, v7m, v7n) {
const {
width: v7o,
height: v7p,
data: v7q
} = v7f;
v7g = Math.round(v7g);
v7h = Math.round(v7h);
if (v7g < 0 || v7g >= v7o || v7h < 0 || v7h >= v7p) return v7f;
const v7r = (v7h * v7o + v7g) * 4;
const v7s = v7q[v7r],
v7t = v7q[v7r + 1],
v7u = v7q[v7r + 2],
… Reference · line 904 …
const v7s = v7q[v7r],
v7t = v7q[v7r + 1],
v7u = v7q[v7r + 2],
v7v = v7q [v7r + 3];
const v7w = v7m * 4;
for (let v7x = 0; v7x < v7o * v7p; v7x++) {
if (v7n && !v7n[v7x]) continue;
const v7y = v7x * 4;
const v7z = Math.abs(v7q[v7y] - v7s) + Math.abs(v7q[v7y + 1] - v7t) + Math.abs(v7q[v7y + 2] - v7u) + Math.abs(v7q[v7y + 3] - v7v);
…
s28158 Input v7r si pixelIndexUseful 0.63 pixelIndexUseful 0.63 Both useful Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s28158 / v7r ×
Declaration · line 900 …
v7h = Math.round(v7h);
if (v7g < 0 || v7g >= v7o || v7h < 0 || v7h >= v7p) return v7f;
const v7r = (v7h * v7o + v7g) * 4;
const v7s = v7q[v7r],
v7t = v7q[v7r + 1],
v7u = v7q[v7r + 2],
v7v = v7q[v7r + 3];
const v7w = v7m * 4;
for (let v7x = 0; v7x < v7o * v7p; v7x++) {
if (v7n && !v7n[v7x]) continue;
…
s28197 Input v7s sr targetRedUseful 0.43 redChannelUseful 0.73 Humanify better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s28197 / v7s ×
Declaration · line 901 …
if (v7g < 0 || v7g >= v7o || v7h < 0 || v7h >= v7p) return v7f;
const v7r = (v7h * v7o + v7g) * 4;
const v7s = v7q[v7r],
v7t = v7q[v7r + 1],
v7u = v7q[v7r + 2],
v7v = v7q[v7r + 3];
const v7w = v7m * 4;
for (let v7x = 0; v7x < v7o * v7p; v7x++) {
if (v7n && !v7n[v7x]) continue;
const v7y = v7x * 4;
const v7z = Math.abs(v7q[v7y] - v7s) + Math.abs(v7q[v7y + 1] - v7t) + Math.abs(v7q
…
s28219 Input v7t sg targetGreenUseful 0.62 greenValueUseful 0.71 Both useful Present Usefulness probability is near the provisional 0.5 boundary. Preference confidence is low. Pre-rename JavaScript · s28219 / v7t ×
Declaration · line 902 …
if (v7g < 0 || v7g >= v7o || v7h < 0 || v7h >= v7p) return v7f;
const v7r = (v7h * v7o + v7g) * 4;
const v7s = v7q[v7r],
v7t = v7q[v7r + 1],
v7u = v7q[v7r + 2],
v7v = v7q[v7r + 3];
const v7w = v7m * 4;
for (let v7x = 0; v7x < v7o * v7p; v7x++) {
if (v7n && !v7n[v7x]) continue;
const v7y = v7x * 4;
const v7z = Math.abs(v7q[v7y] - v7s) + Math.abs(v7q[v7y + 1] - v7t) + Math.abs(v7q[v7y + 2] - v7u) + Mat
…
s28245 Input v7u sb targetBlueUseful 0.40 pixelBlueUseful 0.53 Humanify better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s28245 / v7u ×
Declaration · line 903 …
const v7r = (v7h * v7o + v7g) * 4;
const v7s = v7q[v7r],
v7t = v7q[v7r + 1],
v7u = v7q[v7r + 2],
v7v = v7q[v7r + 3];
const v7w = v7m * 4;
for (let v7x = 0; v7x < v7o * v7p; v7x++) {
if (v7n && !v7n[v7x]) continue;
const v7y = v7x * 4;
const v7z = Math.abs(v7q[v7y] - v7s) + Math.abs(v7q[v7y + 1] - v7t) + Math.abs(v7q[v7y + 2] - v7u) + Math.abs(v7q[v7y + 3] - v7v);
…
s28271 Input v7v sa targetAlphaUseful 0.27 alphaChannelUseful 0.31 Both poor Present Pre-rename JavaScript · s28271 / v7v ×
Declaration · line 904 …
const v7r = (v7h * v7o + v7g) * 4;
const v7s = v7q[v7r],
v7t = v7q[v7r + 1],
v7u = v7q[v7r + 2],
v7v = v7q[v7r + 3];
const v7w = v7m * 4;
for (let v7x = 0; v7x < v7o * v7p; v7x++) {
if (v7n && !v7n[v7x]) continue;
const v7y = v7x * 4;
const v7z = Math.abs(v7q[v7y] - v7s) + Math.abs(v7q[v7y + 1] - v7t) + Math.abs(v7q[v7y + 2] - v7u) + Math.abs(v7q[v7y + 3] - v7v);
…
s28301 Input v7w tol thresholdScaledUseful 0.78 strideUseful 0.06 FlowName better Present Pre-rename JavaScript · s28301 / v7w ×
Declaration · line 905 …
const v7s = v7q[v7r],
v7t = v7q[v7r + 1],
v7u = v7q[v7r + 2],
v7v = v7q[v7r + 3];
const v7w = v7m * 4;
for (let v7x = 0; v7x < v7o * v7p; v7x++) {
if (v7n && !v7n[v7x]) continue;
const v7y = v7x * 4;
const v7z = Math.abs(v7q[v7y] - v7s) + Math.abs(v7q[v7y + 1] - v7t) + Math.abs(v7q[v7y + 2] - v7u) + Math.abs(v7q[v7y + 3] - v7v);
… Reference · line 910 …
const v7z = Math.abs(v7q[v7y] - v7s) + Math.abs(v7q[v7y + 1] - v7t) + Math.abs(v7q[v7y + 2] - v7u) + Math.abs(v7q[v7y + 3] - v7v);
if (v7z <= v7w ) {
v7q[v7y] = v7i;
v7q[v7y + 1] = v7j;
v7q[v7y + 2] = v7k;
v7q[v7y + 3] = v7l;
}
}
return v7f;
}
function v80(v81, v82, v83, v84) {
const {
width: v85,
height: v86,
data: v87
…
s28329 Input v7x i iUseful 0.63 pixelIndex2Useful 0.53 Both useful Present Usefulness probability is near the provisional 0.5 boundary. Preference confidence is low. Pre-rename JavaScript · s28329 / v7x ×
Declaration · line 906 …
v7u = v7q[v7r + 2],
v7v = v7q[v7r + 3];
const v7w = v7m * 4;
for (let v7x = 0; v7x < v7o * v7p; v7x++) {
if (v7n && !v7n[v7x]) continue;
const v7y = v7x * 4;
const v7z = Math.abs(v7q[v7y] - v7s) + Math.abs(v7q[v7y + 1] - v7t) + Math.abs(v7q[v7y + 2] - v7u) + Math.abs(v7q[v7y + 3] - v7v);
if (v7z <= v7w) {
…
s28414 Input v7y pi currentIndexUseful 0.35 pixelIndex3Useful 0.62 Humanify better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s28414 / v7y ×
Declaration · line 908 …
for (let v7x = 0; v7x < v7o * v7p; v7x++) {
if (v7n && !v7n[v7x]) continue;
const v7y = v7x * 4;
const v7z = Math.abs(v7q[v7y] - v7s) + Math.abs(v7q[v7y + 1] - v7t) + Math.abs(v7q[v7y + 2] - v7u) + Math.abs(v7q[v7y + 3] - v7v);
if (v7z <= v7w) {
v7q[v7y] = v7i;
v7q[v7y + 1] = v7j;
v7q[v7y + 2] = v7k;
… Reference · line 914 …
v7q[v7y] = v7i;
v7q[v7y + 1] = v7j;
v7q[v7y + 2] = v7k;
v7q[v7y + 3] = v7l;
}
}
return v7f;
}
function v80(v81, v82, v83, v84) {
const {
width: v85,
height: v86,
data: v87
} = v81;
v82 = Math.round(v82);
v83 = Math.round(v83);
if (v82 < 0 || v82 >= v85 || v83 < 0 || v83 >= v86) return null;
…
s28441 Input v7z diff colorDiffUseful 0.81 colorDifferenceUseful 0.84 Both useful Present Preference confidence is low. Pre-rename JavaScript · s28441 / v7z ×
Declaration · line 909 …
for (let v7x = 0; v7x < v7o * v7p; v7x++) {
if (v7n && !v7n[v7x]) continue;
const v7y = v7x * 4;
const v7z = Math.abs(v7q[v7y] - v7s) + Math.abs(v7q[v7y + 1] - v7t) + Math.abs(v7q[v7y + 2] - v7u) + Math.abs(v7q[v7y + 3] - v7v);
if (v7z <= v7w) {
v7q[v7y] = v7i;
v7q[v7y + 1] = v7j;
v7q[v7y + 2] = v7k;
v7q[v7y + 3] = v7l;
…
s28743 Input v80 floodSelect floodFillUseful 0.22 argsUseful 0.08 Both poor Absent Pre-rename JavaScript · s28743 / v80 ×
Declaration · line 919 …
v7q[v7y + 2] = v7k;
v7q[v7y + 3] = v7l;
}
}
return v7f;
}
function v80 (v81, v82, v83, v84) {
const {
width: v85,
height: v86,
data: v87
} = v81;
v82 = Math.round(v82);
v83 = Math.round(v83);
if (v82 < 0 || v82 >= v85 || v83 < 0 || v83 >= v86) return null;
const v88 = (v83 * v85 + v82) * 4;
… Reference · line 1929 …
this._lastX = Math.floor(vju);
this._lastY = Math.floor(vjv);
const vjx = v4i._wandGlobal ? v8p : v80 ;
const vjy = vjx(this._imageData, this._lastX, this._lastY, v4i._tolerance);
if (vjy) {
vjt.selection.setMask(vjy.mask, vjy.bounds);
} else {
vjt.selection.clear();
}
v4i.emit("canvas:dirty");
…
s28747 Input v81 imageData imageDataUseful 0.92 imageDataUseful 0.92 Both useful Present Pre-rename JavaScript · s28747 / v81 ×
Declaration · line 919 …
v7q[v7y + 2] = v7k;
v7q[v7y + 3] = v7l;
}
}
return v7f;
}
function v80(v81 , v82, v83, v84) {
const {
width: v85,
height: v86,
data: v87
} = v81;
v82 = Math.round(v82);
v83 = Math.round(v83);
if (v82 < 0 || v82 >= v85 || v83 < 0 || v83 >= v86) return null;
const v88 = (v83 * v85 + v82) * 4;
…
s28752 Input v82 startX startXUseful 0.90 xUseful 0.22 FlowName better Present Pre-rename JavaScript · s28752 / v82 ×
Declaration · line 919 …
v7q[v7y + 2] = v7k;
v7q[v7y + 3] = v7l;
}
}
return v7f;
}
function v80(v81, v82 , v83, v84) {
const {
width: v85,
height: v86,
data: v87
} = v81;
v82 = Math.round(v82);
v83 = Math.round(v83);
if (v82 < 0 || v82 >= v85 || v83 < 0 || v83 >= v86) return null;
const v88 = (v83 * v85 + v82) * 4;
… Reference · line 935 …
v8c = v87[v88 + 3];
const v8d = v84 * 4;
const v8e = new Uint8Array(v85 * v86);
const v8f = [v82 , v83];
let v8g = v82,
v8h = v82,
v8i = v83,
v8j = v83;
while (v8f.length > 0) {
const v8k = v8f.pop();
const v8l = v8f.pop();
if (v8l < 0 || v8l >= v85 || v8k < 0 || v8k >= v86) continue;
const v8m = v8k * v85 + v8l;
…
s28757 Input v83 startY startYUseful 0.91 yCoordUseful 0.83 Both useful Present Preference confidence is low. Pre-rename JavaScript · s28757 / v83 ×
Declaration · line 919 …
v7q[v7y + 2] = v7k;
v7q[v7y + 3] = v7l;
}
}
return v7f;
}
function v80(v81, v82, v83 , v84) {
const {
width: v85,
height: v86,
data: v87
} = v81;
v82 = Math.round(v82);
v83 = Math.round(v83);
if (v82 < 0 || v82 >= v85 || v83 < 0 || v83 >= v86) return null;
const v88 = (v83 * v85 + v82) * 4;
… Reference · line 935 …
const v8d = v84 * 4;
const v8e = new Uint8Array(v85 * v86);
const v8f = [v82, v83 ];
let v8g = v82,
v8h = v82,
v8i = v83,
v8j = v83;
while (v8f.length > 0) {
const v8k = v8f.pop();
const v8l = v8f.pop();
if (v8l < 0 || v8l >= v85 || v8k < 0 || v8k >= v86) continue;
const v8m = v8k * v85 + v8l;
…
s28762 Input v84 tolerance toleranceUseful 0.95 toleranceUseful 0.95 Both useful Present Pre-rename JavaScript · s28762 / v84 ×
Declaration · line 919 …
v7q[v7y + 3] = v7l;
}
}
return v7f;
}
function v80(v81, v82, v83, v84 ) {
const {
width: v85,
height: v86,
data: v87
} = v81;
v82 = Math.round(v82);
v83 = Math.round(v83);
if (v82 < 0 || v82 >= v85 || v83 < 0 || v83 >= v86) return null;
const v88 = (v83 * v85 + v82) * 4;
… Reference · line 933 …
v8a = v87[v88 + 1],
v8b = v87[v88 + 2],
v8c = v87[v88 + 3];
const v8d = v84 * 4;
const v8e = new Uint8Array(v85 * v86);
const v8f = [v82, v83];
let v8g = v82,
v8h = v82,
v8i = v83,
v8j = v83;
while (v8f.length > 0) {
const v8k = v8f.pop();
const v8l = v8f.pop();
if (v8l < 0 || v8l >= v85 || v8k < 0 || v8k >= v86) continue;
…
s28794 Input v85 width widthUseful 0.94 imageWidthUseful 0.79 FlowName better Present Pre-rename JavaScript · s28794 / v85 ×
Declaration · line 921 …
}
}
return v7f;
}
function v80(v81, v82, v83, v84) {
const {
width: v85 ,
height: v86,
data: v87
} = v81;
v82 = Math.round(v82);
v83 = Math.round(v83);
if (v82 < 0 || v82 >= v85 || v83 < 0 || v83 >= v86) return null;
const v88 = (v83 * v85 + v82) * 4;
const v89 = v87[v88],
… Reference · line 934 …
v8b = v87[v88 + 2],
v8c = v87[v88 + 3];
const v8d = v84 * 4;
const v8e = new Uint8Array(v85 * v86);
const v8f = [v82, v83];
let v8g = v82,
v8h = v82,
v8i = v83,
v8j = v83;
while (v8f.length > 0) {
const v8k = v8f.pop();
const v8l = v8f.pop();
if (v8l < 0 || v8l >= v85 || v8k < 0 || v8k >= v86) continue;
…
s28813 Input v86 height heightUseful 0.96 heightUseful 0.96 Both useful Present Pre-rename JavaScript · s28813 / v86 ×
Declaration · line 922 …
return v7f;
}
function v80(v81, v82, v83, v84) {
const {
width: v85,
height: v86 ,
data: v87
} = v81;
v82 = Math.round(v82);
v83 = Math.round(v83);
if (v82 < 0 || v82 >= v85 || v83 < 0 || v83 >= v86) return null;
const v88 = (v83 * v85 + v82) * 4;
const v89 = v87[v88],
v8a = v87[v88 + 1],
… Reference · line 934 …
v8b = v87[v88 + 2],
v8c = v87[v88 + 3];
const v8d = v84 * 4;
const v8e = new Uint8Array(v85 * v86 );
const v8f = [v82, v83];
let v8g = v82,
v8h = v82,
v8i = v83,
v8j = v83;
while (v8f.length > 0) {
const v8k = v8f.pop();
const v8l = v8f.pop();
if (v8l < 0 || v8l >= v85 || v8k < 0 || v8k >= v86) continue;
…
s28830 Input v87 data pixelDataUseful 0.75 imageData2Useful 0.38 FlowName better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s28830 / v87 ×
Declaration · line 923 …
function v80(v81, v82, v83, v84) {
const {
width: v85,
height: v86,
data: v87
} = v81;
v82 = Math.round(v82);
v83 = Math.round(v83);
if (v82 < 0 || v82 >= v85 || v83 < 0 || v83 >= v86) return null;
const v88 = (v83 * v85 + v82) * 4;
const v89 = v87[v88],
v8a = v87[v88 + 1],
v8b = v87[v88 + 2],
… Reference · line 932 …
const v89 = v87[v88],
v8a = v87[v88 + 1],
v8b = v87[v88 + 2],
v8c = v87 [v88 + 3];
const v8d = v84 * 4;
const v8e = new Uint8Array(v85 * v86);
const v8f = [v82, v83];
let v8g = v82,
v8h = v82,
v8i = v83,
v8j = v83;
while (v8f.length > 0) {
const v8k = v8f.pop();
const v8l = v8f.pop();
…
s28980 Input v88 si pixelIndex2Useful 0.39 pixelIndexUseful 0.85 Humanify better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s28980 / v88 ×
Declaration · line 928 …
v83 = Math.round(v83);
if (v82 < 0 || v82 >= v85 || v83 < 0 || v83 >= v86) return null;
const v88 = (v83 * v85 + v82) * 4;
const v89 = v87[v88],
v8a = v87[v88 + 1],
v8b = v87[v88 + 2],
v8c = v87[v88 + 3];
const v8d = v84 * 4;
const v8e = new Uint8Array(v85 * v86);
const v8f = [v82, v83];
let v8g = v82,
…
s29019 Input v89 sr targetRUseful 0.68 redChannelUseful 0.79 Humanify better Present Pre-rename JavaScript · s29019 / v89 ×
Declaration · line 929 …
if (v82 < 0 || v82 >= v85 || v83 < 0 || v83 >= v86) return null;
const v88 = (v83 * v85 + v82) * 4;
const v89 = v87[v88],
v8a = v87[v88 + 1],
v8b = v87[v88 + 2],
v8c = v87[v88 + 3];
const v8d = v84 * 4;
const v8e = new Uint8Array(v85 * v86);
const v8f = [v82, v83];
let v8g = v82,
v8h = v82,
v8i = v83,
… Reference · line 947 …
if (v8e[v8m]) continue;
const v8n = v8m * 4;
const v8o = Math.abs(v87[v8n] - v89 ) + Math.abs(v87[v8n + 1] - v8a) + Math.abs(v87[v8n + 2] - v8b) + Math.abs(v87[v8n + 3] - v8c);
if (v8o > v8d) continue;
v8e[v8m] = 1;
if (v8l < v8g) v8g = v8l;
if (v8l > v8h) v8h = v8l;
if (v8k < v8i) v8i = v8k;
…
s29041 Input v8a sg targetGUseful 0.54 greenValueUseful 0.79 Humanify better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s29041 / v8a ×
Declaration · line 930 …
if (v82 < 0 || v82 >= v85 || v83 < 0 || v83 >= v86) return null;
const v88 = (v83 * v85 + v82) * 4;
const v89 = v87[v88],
v8a = v87[v88 + 1],
v8b = v87[v88 + 2],
v8c = v87[v88 + 3];
const v8d = v84 * 4;
const v8e = new Uint8Array(v85 * v86);
const v8f = [v82, v83];
let v8g = v82,
v8h = v82,
v8i = v83,
v8j = v83;
while (v8f.length > 0) {
… Reference · line 947 …
const v8n = v8m * 4;
const v8o = Math.abs(v87[v8n] - v89) + Math.abs(v87[v8n + 1] - v8a ) + Math.abs(v87[v8n + 2] - v8b) + Math.abs(v87[v8n + 3] - v8c);
if (v8o > v8d) continue;
v8e[v8m] = 1;
if (v8l < v8g) v8g = v8l;
if (v8l > v8h) v8h = v8l;
if (v8k < v8i) v8i = v8k;
if (v8k > v8j) v8j = v8k;
…
s29067 Input v8b sb targetBUseful 0.38 blueValueUseful 0.85 Humanify better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s29067 / v8b ×
Declaration · line 931 …
const v88 = (v83 * v85 + v82) * 4;
const v89 = v87[v88],
v8a = v87[v88 + 1],
v8b = v87[v88 + 2],
v8c = v87[v88 + 3];
const v8d = v84 * 4;
const v8e = new Uint8Array(v85 * v86);
const v8f = [v82, v83];
let v8g = v82,
v8h = v82,
v8i = v83,
v8j = v83;
while (v8f.length > 0) {
… Reference · line 947 …
const v8o = Math.abs(v87[v8n] - v89) + Math.abs(v87[v8n + 1] - v8a) + Math.abs(v87[v8n + 2] - v8b ) + Math.abs(v87[v8n + 3] - v8c);
if (v8o > v8d) continue;
v8e[v8m] = 1;
if (v8l < v8g) v8g = v8l;
if (v8l > v8h) v8h = v8l;
if (v8k < v8i) v8i = v8k;
if (v8k > v8j) v8j = v8k;
v8f.push(v8l + 1, v8k, v8l - 1, v8k, v8l, v8k + 1, v8l, v8k - 1);
…
s29093 Input v8c sa targetAUseful 0.30 alphaValueUseful 0.17 Both poor Present Pre-rename JavaScript · s29093 / v8c ×
Declaration · line 932 …
const v88 = (v83 * v85 + v82) * 4;
const v89 = v87[v88],
v8a = v87[v88 + 1],
v8b = v87[v88 + 2],
v8c = v87[v88 + 3];
const v8d = v84 * 4;
const v8e = new Uint8Array(v85 * v86);
const v8f = [v82, v83];
let v8g = v82,
v8h = v82,
v8i = v83,
v8j = v83;
while (v8f.length > 0) {
const v8k = v8f.pop();
… Reference · line 947 …
const v8o = Math.abs(v87[v8n] - v89) + Math.abs(v87[v8n + 1] - v8a) + Math.abs(v87[v8n + 2] - v8b) + Math.abs(v87[v8n + 3] - v8c );
if (v8o > v8d) continue;
v8e[v8m] = 1;
if (v8l < v8g) v8g = v8l;
if (v8l > v8h) v8h = v8l;
if (v8k < v8i) v8i = v8k;
if (v8k > v8j) v8j = v8k;
v8f.push(v8l + 1, v8k, v8l - 1, v8k, v8l, v8k + 1, v8l, v8k - 1);
…
s29123 Input v8d tol maxDiffUseful 0.45 bytesPerPixelUseful 0.03 Both poor Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s29123 / v8d ×
Declaration · line 933 …
const v89 = v87[v88],
v8a = v87[v88 + 1],
v8b = v87[v88 + 2],
v8c = v87[v88 + 3];
const v8d = v84 * 4;
const v8e = new Uint8Array(v85 * v86);
const v8f = [v82, v83];
let v8g = v82,
v8h = v82,
v8i = v83,
v8j = v83;
while (v8f.length > 0) {
const v8k = v8f.pop();
const v8l = v8f.pop();
… Reference · line 948 …
const v8o = Math.abs(v87[v8n] - v89) + Math.abs(v87[v8n + 1] - v8a) + Math.abs(v87[v8n + 2] - v8b) + Math.abs(v87[v8n + 3] - v8c);
if (v8o > v8d ) continue;
v8e[v8m] = 1;
if (v8l < v8g) v8g = v8l;
if (v8l > v8h) v8h = v8l;
if (v8k < v8i) v8i = v8k;
if (v8k > v8j) v8j = v8k;
v8f.push(v8l + 1, v8k, v8l - 1, v8k, v8l, v8k + 1, v8l, v8k - 1);
}
…
s29148 Input v8e mask visitedUseful 0.62 visitedMaskUseful 0.51 Both useful Present Usefulness probability is near the provisional 0.5 boundary. Preference confidence is low. Pre-rename JavaScript · s29148 / v8e ×
Declaration · line 934 …
v8a = v87[v88 + 1],
v8b = v87[v88 + 2],
v8c = v87[v88 + 3];
const v8d = v84 * 4;
const v8e = new Uint8Array(v85 * v86);
const v8f = [v82, v83];
let v8g = v82,
v8h = v82,
v8i = v83,
v8j = v83;
while (v8f.length > 0) {
const v8k = v8f.pop();
const v8l = v8f.pop();
if (v8l < 0 || v8l >= v85 || v8k < 0 || v8k >= v86) continue;
… Reference · line 945 …
if (v8l < 0 || v8l >= v85 || v8k < 0 || v8k >= v86) continue;
const v8m = v8k * v85 + v8l;
if (v8e [v8m]) continue;
const v8n = v8m * 4;
const v8o = Math.abs(v87[v8n] - v89) + Math.abs(v87[v8n + 1] - v8a) + Math.abs(v87[v8n + 2] - v8b) + Math.abs(v87[v8n + 3] - v8c);
if (v8o > v8d) continue;
v8e[v8m] = 1;
if (v8l < v8g) v8g = v8l;
…
s29191 Input v8f stack queueUseful 0.17 startCoordinatesUseful 0.07 Both poor Present Pre-rename JavaScript · s29191 / v8f ×
Declaration · line 935 …
v8c = v87[v88 + 3];
const v8d = v84 * 4;
const v8e = new Uint8Array(v85 * v86);
const v8f = [v82, v83];
let v8g = v82,
v8h = v82,
v8i = v83,
v8j = v83;
while (v8f.length > 0) {
const v8k = v8f.pop();
const v8l = v8f.pop();
if (v8l < 0 || v8l >= v85 || v8k < 0 || v8k >= v86) continue;
… Reference · line 954 …
if (v8l > v8h) v8h = v8l;
if (v8k < v8i) v8i = v8k;
if (v8k > v8j) v8j = v8k;
v8f .push(v8l + 1, v8k, v8l - 1, v8k, v8l, v8k + 1, v8l, v8k - 1);
}
return {
mask: v8e,
bounds: {
x: v8g,
y: v8i,
w: v8h - v8g + 1,
h: v8j - v8i + 1
}
};
}
function v8p(v8q, v8r, v8s, v8t) {
…
s29217 Input v8g minX minXUseful 0.93 currentXUseful 0.07 FlowName better Present Pre-rename JavaScript · s29217 / v8g ×
Declaration · line 936 …
const v8d = v84 * 4;
const v8e = new Uint8Array(v85 * v86);
const v8f = [v82, v83];
let v8g = v82,
v8h = v82,
v8i = v83,
v8j = v83;
while (v8f.length > 0) {
const v8k = v8f.pop();
const v8l = v8f.pop();
if (v8l < 0 || v8l >= v85 || v8k < 0 || v8k >= v86) continue;
const v8m = v8k * v85 + v8l;
… Reference · line 950 …
Math.abs(v87[v8n + 1] - v8a) + Math.abs(v87[v8n + 2] - v8b) + Math.abs(v87[v8n + 3] - v8c);
if (v8o > v8d) continue;
v8e[v8m] = 1;
if (v8l < v8g ) v8g = v8l;
if (v8l > v8h) v8h = v8l;
if (v8k < v8i) v8i = v8k;
if (v8k > v8j) v8j = v8k;
v8f.push(v8l + 1, v8k, v8l - 1, v8k, v8l, v8k + 1, v8l, v8k - 1);
}
return {
mask: v8e,
bounds: {
x: v8g,
…
s29234 Input v8h maxX maxXUseful 0.87 startXUseful 0.05 FlowName better Absent Pre-rename JavaScript · s29234 / v8h ×
Declaration · line 937 …
const v8e = new Uint8Array(v85 * v86);
const v8f = [v82, v83];
let v8g = v82,
v8h = v82,
v8i = v83,
v8j = v83;
while (v8f.length > 0) {
const v8k = v8f.pop();
const v8l = v8f.pop();
if (v8l < 0 || v8l >= v85 || v8k < 0 || v8k >= v86) continue;
const v8m = v8k * v85 + v8l;
if (v8e[v8m]) continue;
… Reference · line 951 …
if (v8o > v8d) continue;
v8e[v8m] = 1;
if (v8l < v8g) v8g = v8l;
if (v8l > v8h ) v8h = v8l;
if (v8k < v8i) v8i = v8k;
if (v8k > v8j) v8j = v8k;
v8f.push(v8l + 1, v8k, v8l - 1, v8k, v8l, v8k + 1, v8l, v8k - 1);
}
return {
mask: v8e,
bounds: {
x: v8g,
y: v8i,
w: v8h - v8g + 1,
…
s29251 Input v8i minY minYUseful 0.91 currentX2Useful 0.04 FlowName better Absent Pre-rename JavaScript · s29251 / v8i ×
Declaration · line 938 …
const v8e = new Uint8Array(v85 * v86);
const v8f = [v82, v83];
let v8g = v82,
v8h = v82,
v8i = v83,
v8j = v83;
while (v8f.length > 0) {
const v8k = v8f.pop();
const v8l = v8f.pop();
if (v8l < 0 || v8l >= v85 || v8k < 0 || v8k >= v86) continue;
const v8m = v8k * v85 + v8l;
if (v8e[v8m]) continue;
… Reference · line 952 …
v8e[v8m] = 1;
if (v8l < v8g) v8g = v8l;
if (v8l > v8h) v8h = v8l;
if (v8k < v8i ) v8i = v8k;
if (v8k > v8j) v8j = v8k;
v8f.push(v8l + 1, v8k, v8l - 1, v8k, v8l, v8k + 1, v8l, v8k - 1);
}
return {
mask: v8e,
bounds: {
x: v8g,
y: v8i,
w: v8h - v8g + 1,
h: v8j - v8i + 1
…
s29268 Input v8j maxY maxYUseful 0.89 currentX3Useful 0.04 FlowName better Absent Pre-rename JavaScript · s29268 / v8j ×
Declaration · line 939 …
const v8e = new Uint8Array(v85 * v86);
const v8f = [v82, v83];
let v8g = v82,
v8h = v82,
v8i = v83,
v8j = v83;
while (v8f.length > 0) {
const v8k = v8f.pop();
const v8l = v8f.pop();
if (v8l < 0 || v8l >= v85 || v8k < 0 || v8k >= v86) continue;
const v8m = v8k * v85 + v8l;
if (v8e[v8m]) continue;
const v8n = v8m * 4;
… Reference · line 953 …
if (v8l < v8g) v8g = v8l;
if (v8l > v8h) v8h = v8l;
if (v8k < v8i) v8i = v8k;
if (v8k > v8j ) v8j = v8k;
v8f.push(v8l + 1, v8k, v8l - 1, v8k, v8l, v8k + 1, v8l, v8k - 1);
}
return {
mask: v8e,
bounds: {
x: v8g,
y: v8i,
w: v8h - v8g + 1,
h: v8j - v8i + 1
}
};
}
…
s29320 Input v8k y stackVal2Useful 0.22 yCoord2Useful 0.70 Humanify better Present Pre-rename JavaScript · s29320 / v8k ×
Declaration · line 941 …
v8h = v82,
v8i = v83,
v8j = v83;
while (v8f.length > 0) {
const v8k = v8f.pop();
const v8l = v8f.pop();
if (v8l < 0 || v8l >= v85 || v8k < 0 || v8k >= v86) continue;
const v8m = v8k * v85 + v8l;
if (v8e[v8m]) continue;
const v8n = v8m * 4;
const v8o = Math.abs(v87[v8n] - v89) + Math.abs(v87[v8n + 1] - v8a) + Math.abs(v87[v8n + 2] - v8b) + Math.ab
… Reference · line 952 …
v8e[v8m] = 1;
if (v8l < v8g) v8g = v8l;
if (v8l > v8h) v8h = v8l;
if (v8k < v8i) v8i = v8k;
if (v8k > v8j) v8j = v8k;
v8f.push(v8l + 1, v8k, v8l - 1, v8k, v8l, v8k + 1, v8l, v8k - 1);
}
return {
mask: v8e,
bounds: {
x: v8g,
y: v8i,
w: v8h - v8g + 1,
h: v8j - v8i + 1
…
s29349 Input v8l x stackVal1Useful 0.43 colUseful 0.37 Both poor Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s29349 / v8l ×
Declaration · line 942 …
v8i = v83,
v8j = v83;
while (v8f.length > 0) {
const v8k = v8f.pop();
const v8l = v8f.pop();
if (v8l < 0 || v8l >= v85 || v8k < 0 || v8k >= v86) continue;
const v8m = v8k * v85 + v8l;
if (v8e[v8m]) continue;
const v8n = v8m * 4;
const v8o = Math.abs(v87[v8n] - v89) + Math.abs(v87[v8n + 1] - v8a) + Math.abs(v87[v8n + 2] - v8b) + Math.abs(v87[v8n + 3] - v8c);
… Reference · line 950 …
v89) + Math.abs(v87[v8n + 1] - v8a) + Math.abs(v87[v8n + 2] - v8b) + Math.abs(v87[v8n + 3] - v8c);
if (v8o > v8d) continue;
v8e[v8m] = 1;
if (v8l < v8g) v8g = v8l;
if (v8l > v8h) v8h = v8l;
if (v8k < v8i) v8i = v8k;
if (v8k > v8j) v8j = v8k;
v8f.push(v8l + 1, v8k, v8l - 1, v8k, v8l, v8k + 1, v8l, v8k - 1);
}
return {
mask: v8e,
bounds: {
…
s29446 Input v8m idx pixelIndexUseful 0.67 pixelIndex2Useful 0.33 FlowName better Present Pre-rename JavaScript · s29446 / v8m ×
Declaration · line 944 …
const v8l = v8f.pop();
if (v8l < 0 || v8l >= v85 || v8k < 0 || v8k >= v86) continue;
const v8m = v8k * v85 + v8l;
if (v8e[v8m]) continue;
const v8n = v8m * 4;
const v8o = Math.abs(v87[v8n] - v89) + Math.abs(v87[v8n + 1] - v8a) + Math.abs(v87[v8n + 2] - v8b) + Math.abs(v87[v8n + 3] - v8c);
if (v8o > v8d) continue;
… Reference · line 949 …
Math.abs(v87[v8n] - v89) + Math.abs(v87[v8n + 1] - v8a) + Math.abs(v87[v8n + 2] - v8b) + Math.abs(v87[v8n + 3] - v8c);
if (v8o > v8d) continue;
v8e[v8m ] = 1;
if (v8l < v8g) v8g = v8l;
if (v8l > v8h) v8h = v8l;
if (v8k < v8i) v8i = v8k;
if (v8k > v8j) v8j = v8k;
v8f.push(v8l + 1, v8k, v8l - 1, v8k, v8l, v8k + 1, v8l, v8k - 1);
}
return {
mask: v8e,
…
s29511 Input v8n pi neighborPixelIndexUseful 0.33 pixelIndex3Useful 0.45 Both poor Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s29511 / v8n ×
Declaration · line 946 …
if (v8l < 0 || v8l >= v85 || v8k < 0 || v8k >= v86) continue;
const v8m = v8k * v85 + v8l;
if (v8e[v8m]) continue;
const v8n = v8m * 4;
const v8o = Math.abs(v87[v8n] - v89) + Math.abs(v87[v8n + 1] - v8a) + Math.abs(v87[v8n + 2] - v8b) + Math.abs(v87[v8n + 3] - v8c);
if (v8o > v8d) continue;
v8e[v8m] = 1;
if (v8l < v8g) v8g = v8l;
if (v8l > v8h) v8h = v8l;
…
s29538 Input v8o diff colorDifferenceUseful 0.65 colorDifferenceUseful 0.65 Both useful Present Pre-rename JavaScript · s29538 / v8o ×
Declaration · line 947 …
const v8m = v8k * v85 + v8l;
if (v8e[v8m]) continue;
const v8n = v8m * 4;
const v8o = Math.abs(v87[v8n] - v89) + Math.abs(v87[v8n + 1] - v8a) + Math.abs(v87[v8n + 2] - v8b) + Math.abs(v87[v8n + 3] - v8c);
if (v8o > v8d) continue;
v8e[v8m] = 1;
if (v8l < v8g) v8g = v8l;
if (v8l > v8h) v8h = v8l;
if (v8k < v8i) v8i = v8k;
…
s30079 Input v8p globalSelect magicWandUseful 0.37 args2Useful 0.11 Both poor Absent Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s30079 / v8p ×
Declaration · line 966 …
y: v8i,
w: v8h - v8g + 1,
h: v8j - v8i + 1
}
};
}
function v8p (v8q, v8r, v8s, v8t) {
const {
width: v8u,
height: v8v,
data: v8w
} = v8q;
v8r = Math.round(v8r);
v8s = Math.round(v8s);
if (v8r < 0 || v8r >= v8u || v8s < 0 || v8s >= v8v) return null;
const v8x = (v8s * v8u + v8r) * 4;
… Reference · line 1929 …
this._lastX = Math.floor(vju);
this._lastY = Math.floor(vjv);
const vjx = v4i._wandGlobal ? v8p : v80;
const vjy = vjx(this._imageData, this._lastX, this._lastY, v4i._tolerance);
if (vjy) {
vjt.selection.setMask(vjy.mask, vjy.bounds);
} else {
vjt.selection.clear();
}
v4i.emit("canvas:dirty");
…
s30083 Input v8q imageData imageDataUseful 0.93 imageDataUseful 0.93 Both useful Present Pre-rename JavaScript · s30083 / v8q ×
Declaration · line 966 …
y: v8i,
w: v8h - v8g + 1,
h: v8j - v8i + 1
}
};
}
function v8p(v8q , v8r, v8s, v8t) {
const {
width: v8u,
height: v8v,
data: v8w
} = v8q;
v8r = Math.round(v8r);
v8s = Math.round(v8s);
if (v8r < 0 || v8r >= v8u || v8s < 0 || v8s >= v8v) return null;
const v8x = (v8s * v8u + v8r) * 4;
…
s30088 Input v8r startX targetXUseful 0.13 targetXUseful 0.13 Both poor Present Pre-rename JavaScript · s30088 / v8r ×
Declaration · line 966 …
w: v8h - v8g + 1,
h: v8j - v8i + 1
}
};
}
function v8p(v8q, v8r , v8s, v8t) {
const {
width: v8u,
height: v8v,
data: v8w
} = v8q;
v8r = Math.round(v8r);
v8s = Math.round(v8s);
if (v8r < 0 || v8r >= v8u || v8s < 0 || v8s >= v8v) return null;
const v8x = (v8s * v8u + v8r) * 4;
…
s30093 Input v8s startY targetYUseful 0.27 yCoordUseful 0.81 Humanify better Present Pre-rename JavaScript · s30093 / v8s ×
Declaration · line 966 …
w: v8h - v8g + 1,
h: v8j - v8i + 1
}
};
}
function v8p(v8q, v8r, v8s , v8t) {
const {
width: v8u,
height: v8v,
data: v8w
} = v8q;
v8r = Math.round(v8r);
v8s = Math.round(v8s);
if (v8r < 0 || v8r >= v8u || v8s < 0 || v8s >= v8v) return null;
const v8x = (v8s * v8u + v8r) * 4;
…
s30098 Input v8t tolerance thresholdUseful 0.68 radiusUseful 0.23 FlowName better Present Pre-rename JavaScript · s30098 / v8t ×
Declaration · line 966 …
w: v8h - v8g + 1,
h: v8j - v8i + 1
}
};
}
function v8p(v8q, v8r, v8s, v8t ) {
const {
width: v8u,
height: v8v,
data: v8w
} = v8q;
v8r = Math.round(v8r);
v8s = Math.round(v8s);
if (v8r < 0 || v8r >= v8u || v8s < 0 || v8s >= v8v) return null;
const v8x = (v8s * v8u + v8r) * 4;
… Reference · line 980 …
v8z = v8w[v8x + 1],
v90 = v8w[v8x + 2],
v91 = v8w[v8x + 3];
const v92 = v8t * 4;
const v93 = new Uint8Array(v8u * v8v);
let v94 = v8u,
v95 = 0,
v96 = v8v,
v97 = 0;
let v98 = false;
for (let v99 = 0; v99 < v8v; v99++) {
for (let v9a = 0; v9a < v8u; v9a++) {
const v9b = (v99 * v8u + v9a) * 4;
…
s30130 Input v8u width widthUseful 0.93 imageWidthUseful 0.78 FlowName better Present Pre-rename JavaScript · s30130 / v8u ×
Declaration · line 968 …
h: v8j - v8i + 1
}
};
}
function v8p(v8q, v8r, v8s, v8t) {
const {
width: v8u ,
height: v8v,
data: v8w
} = v8q;
v8r = Math.round(v8r);
v8s = Math.round(v8s);
if (v8r < 0 || v8r >= v8u || v8s < 0 || v8s >= v8v) return null;
const v8x = (v8s * v8u + v8r) * 4;
const v8y = v8w[v8x],
… Reference · line 981 …
v90 = v8w[v8x + 2],
v91 = v8w[v8x + 3];
const v92 = v8t * 4;
const v93 = new Uint8Array(v8u * v8v);
let v94 = v8u,
v95 = 0,
v96 = v8v,
v97 = 0;
let v98 = false;
for (let v99 = 0; v99 < v8v; v99++) {
for (let v9a = 0; v9a < v8u; v9a++) {
const v9b = (v99 * v8u + v9a) * 4;
const v9c = Math.abs(v8w[v9b] - v8y) + Math.abs(v8w[v9b + 1] - v8z) + Math.abs(v8w[v
…
s30149 Input v8v height heightUseful 0.96 heightUseful 0.96 Both useful Present Pre-rename JavaScript · s30149 / v8v ×
Declaration · line 969 …
};
}
function v8p(v8q, v8r, v8s, v8t) {
const {
width: v8u,
height: v8v ,
data: v8w
} = v8q;
v8r = Math.round(v8r);
v8s = Math.round(v8s);
if (v8r < 0 || v8r >= v8u || v8s < 0 || v8s >= v8v) return null;
const v8x = (v8s * v8u + v8r) * 4;
const v8y = v8w[v8x],
v8z = v8w[v8x + 1],
… Reference · line 981 …
v90 = v8w[v8x + 2],
v91 = v8w[v8x + 3];
const v92 = v8t * 4;
const v93 = new Uint8Array(v8u * v8v );
let v94 = v8u,
v95 = 0,
v96 = v8v,
v97 = 0;
let v98 = false;
for (let v99 = 0; v99 < v8v; v99++) {
for (let v9a = 0; v9a < v8u; v9a++) {
const v9b = (v99 * v8u + v9a) * 4;
const v9c = Math.abs(v8w[v9b] - v8y) + Math.abs(v8w[v9b + 1] - v8z) + Math.abs(v8w[v9b + 2
…
s30166 Input v8w data pixelDataUseful 0.73 imageData2Useful 0.28 FlowName better Present Pre-rename JavaScript · s30166 / v8w ×
Declaration · line 970 …
function v8p(v8q, v8r, v8s, v8t) {
const {
width: v8u,
height: v8v,
data: v8w
} = v8q;
v8r = Math.round(v8r);
v8s = Math.round(v8s);
if (v8r < 0 || v8r >= v8u || v8s < 0 || v8s >= v8v) return null;
const v8x = (v8s * v8u + v8r) * 4;
const v8y = v8w[v8x],
v8z = v8w[v8x + 1],
v90 = v8w[v8x + 2],
… Reference · line 979 …
const v8y = v8w[v8x],
v8z = v8w[v8x + 1],
v90 = v8w[v8x + 2],
v91 = v8w [v8x + 3];
const v92 = v8t * 4;
const v93 = new Uint8Array(v8u * v8v);
let v94 = v8u,
v95 = 0,
v96 = v8v,
v97 = 0;
let v98 = false;
for (let v99 = 0; v99 < v8v; v99++) {
for (let v9a = 0; v9a < v8u; v9a++) {
…
s30316 Input v8x si targetPixelIndexUseful 0.28 pixelIndexUseful 0.81 Humanify better Present Pre-rename JavaScript · s30316 / v8x ×
Declaration · line 975 …
v8s = Math.round(v8s);
if (v8r < 0 || v8r >= v8u || v8s < 0 || v8s >= v8v) return null;
const v8x = (v8s * v8u + v8r) * 4;
const v8y = v8w[v8x],
v8z = v8w[v8x + 1],
v90 = v8w[v8x + 2],
v91 = v8w[v8x + 3];
const v92 = v8t * 4;
const v93 = new Uint8Array(v8u * v8v);
let v94 = v8u,
v95 = 0,
v96 = v8v,
…
s30355 Input v8y sr targetRedUseful 0.55 pixelRedUseful 0.71 Both useful Present Usefulness probability is near the provisional 0.5 boundary. Preference confidence is low. Pre-rename JavaScript · s30355 / v8y ×
Declaration · line 976 …
if (v8r < 0 || v8r >= v8u || v8s < 0 || v8s >= v8v) return null;
const v8x = (v8s * v8u + v8r) * 4;
const v8y = v8w[v8x],
v8z = v8w[v8x + 1],
v90 = v8w[v8x + 2],
v91 = v8w[v8x + 3];
const v92 = v8t * 4;
const v93 = new Uint8Array(v8u * v8v);
let v94 = v8u,
v95 = 0,
v96 = v8v,
v97 = 0;
let v98 = false;
… Reference · line 990 …
for (let v9a = 0; v9a < v8u; v9a++) {
const v9b = (v99 * v8u + v9a) * 4;
const v9c = Math.abs(v8w[v9b] - v8y ) + Math.abs(v8w[v9b + 1] - v8z) + Math.abs(v8w[v9b + 2] - v90) + Math.abs(v8w[v9b + 3] - v91);
if (v9c <= v92) {
v93[v99 * v8u + v9a] = 1;
if (v9a < v94) v94 = v9a;
if (v9a > v95) v95 = v9a;
if (v99 < v96) v96 = v99;
…
s30377 Input v8z sg targetGreenUseful 0.43 pixelGreenUseful 0.62 Humanify better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s30377 / v8z ×
Declaration · line 977 …
if (v8r < 0 || v8r >= v8u || v8s < 0 || v8s >= v8v) return null;
const v8x = (v8s * v8u + v8r) * 4;
const v8y = v8w[v8x],
v8z = v8w[v8x + 1],
v90 = v8w[v8x + 2],
v91 = v8w[v8x + 3];
const v92 = v8t * 4;
const v93 = new Uint8Array(v8u * v8v);
let v94 = v8u,
v95 = 0,
v96 = v8v,
v97 = 0;
let v98 = false;
for (let v99 = 0; v99 < v8v; v99++) {
… Reference · line 990 …
const v9b = (v99 * v8u + v9a) * 4;
const v9c = Math.abs(v8w[v9b] - v8y) + Math.abs(v8w[v9b + 1] - v8z ) + Math.abs(v8w[v9b + 2] - v90) + Math.abs(v8w[v9b + 3] - v91);
if (v9c <= v92) {
v93[v99 * v8u + v9a] = 1;
if (v9a < v94) v94 = v9a;
if (v9a > v95) v95 = v9a;
if (v99 < v96) v96 = v99;
if (v99 > v97) v97 = v99;
…
s30403 Input v90 sb targetBlueUseful 0.64 blueValueUseful 0.73 Both useful Present Usefulness probability is near the provisional 0.5 boundary. Preference confidence is low. Pre-rename JavaScript · s30403 / v90 ×
Declaration · line 978 …
const v8x = (v8s * v8u + v8r) * 4;
const v8y = v8w[v8x],
v8z = v8w[v8x + 1],
v90 = v8w[v8x + 2],
v91 = v8w[v8x + 3];
const v92 = v8t * 4;
const v93 = new Uint8Array(v8u * v8v);
let v94 = v8u,
v95 = 0,
v96 = v8v,
v97 = 0;
let v98 = false;
for (let v99 = 0; v99 < v8v; v99++) {
… Reference · line 990 …
const v9c = Math.abs(v8w[v9b] - v8y) + Math.abs(v8w[v9b + 1] - v8z) + Math.abs(v8w[v9b + 2] - v90 ) + Math.abs(v8w[v9b + 3] - v91);
if (v9c <= v92) {
v93[v99 * v8u + v9a] = 1;
if (v9a < v94) v94 = v9a;
if (v9a > v95) v95 = v9a;
if (v99 < v96) v96 = v99;
if (v99 > v97) v97 = v99;
…
s30429 Input v91 sa targetAlphaUseful 0.39 alphaValueUseful 0.40 Both poor Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s30429 / v91 ×
Declaration · line 979 …
const v8x = (v8s * v8u + v8r) * 4;
const v8y = v8w[v8x],
v8z = v8w[v8x + 1],
v90 = v8w[v8x + 2],
v91 = v8w[v8x + 3];
const v92 = v8t * 4;
const v93 = new Uint8Array(v8u * v8v);
let v94 = v8u,
v95 = 0,
v96 = v8v,
v97 = 0;
let v98 = false;
for (let v99 = 0; v99 < v8v; v99++) {
for (let v9a = 0; v9a < v8u; v9a++) {
… Reference · line 990 …
const v9c = Math.abs(v8w[v9b] - v8y) + Math.abs(v8w[v9b + 1] - v8z) + Math.abs(v8w[v9b + 2] - v90) + Math.abs(v8w[v9b + 3] - v91 );
if (v9c <= v92) {
v93[v99 * v8u + v9a] = 1;
if (v9a < v94) v94 = v9a;
if (v9a > v95) v95 = v9a;
if (v99 < v96) v96 = v99;
if (v99 > v97) v97 = v99;
v98 = true;
}
…
s30459 Input v92 tol thresholdScaledUseful 0.84 strideUseful 0.05 FlowName better Present Pre-rename JavaScript · s30459 / v92 ×
Declaration · line 980 …
const v8y = v8w[v8x],
v8z = v8w[v8x + 1],
v90 = v8w[v8x + 2],
v91 = v8w[v8x + 3];
const v92 = v8t * 4;
const v93 = new Uint8Array(v8u * v8v);
let v94 = v8u,
v95 = 0,
v96 = v8v,
v97 = 0;
let v98 = false;
for (let v99 = 0; v99 < v8v; v99++) {
for (let v9a = 0; v9a < v8u; v9a++) {
const v9b = (v99 * v8u + v9a) * 4;
… Reference · line 991 …
const v9c = Math.abs(v8w[v9b] - v8y) + Math.abs(v8w[v9b + 1] - v8z) + Math.abs(v8w[v9b + 2] - v90) + Math.abs(v8w[v9b + 3] - v91);
if (v9c <= v92 ) {
v93[v99 * v8u + v9a] = 1;
if (v9a < v94) v94 = v9a;
if (v9a > v95) v95 = v9a;
if (v99 < v96) v96 = v99;
if (v99 > v97) v97 = v99;
v98 = true;
}
}
}
if (!v98) return null;
…
s30484 Input v93 mask maskArrayUseful 0.84 visitedUseful 0.07 FlowName better Present Pre-rename JavaScript · s30484 / v93 ×
Declaration · line 981 …
v8z = v8w[v8x + 1],
v90 = v8w[v8x + 2],
v91 = v8w[v8x + 3];
const v92 = v8t * 4;
const v93 = new Uint8Array(v8u * v8v);
let v94 = v8u,
v95 = 0,
v96 = v8v,
v97 = 0;
let v98 = false;
for (let v99 = 0; v99 < v8v; v99++) {
for (let v9a = 0; v9a < v8u; v9a++) {
const v9b = (v99 * v8u + v9a) * 4;
… Reference · line 992 …
9c = Math.abs(v8w[v9b] - v8y) + Math.abs(v8w[v9b + 1] - v8z) + Math.abs(v8w[v9b + 2] - v90) + Math.abs(v8w[v9b + 3] - v91);
if (v9c <= v92) {
v93 [v99 * v8u + v9a] = 1;
if (v9a < v94) v94 = v9a;
if (v9a > v95) v95 = v9a;
if (v99 < v96) v96 = v99;
if (v99 > v97) v97 = v99;
v98 = true;
}
}
}
if (!v98) return null;
…
s30525 Input v94 minX minX2Useful 0.25 widthUseful 0.06 Both poor Present Pre-rename JavaScript · s30525 / v94 ×
Declaration · line 982 …
v91 = v8w[v8x + 3];
const v92 = v8t * 4;
const v93 = new Uint8Array(v8u * v8v);
let v94 = v8u,
v95 = 0,
v96 = v8v,
v97 = 0;
let v98 = false;
for (let v99 = 0; v99 < v8v; v99++) {
for (let v9a = 0; v9a < v8u; v9a++) {
const v9b = (v99 * v8u + v9a) * 4;
const v9c = Math.abs(v8w[v9b] - v8y) + Math.abs(v8w[v9b + 1] - v8z) + Math.abs(v8w[v9b + 2] - v90) + Mat
… Reference · line 993 …
9b + 1] - v8z) + Math.abs(v8w[v9b + 2] - v90) + Math.abs(v8w[v9b + 3] - v91);
if (v9c <= v92) {
v93[v99 * v8u + v9a] = 1;
if (v9a < v94 ) v94 = v9a;
if (v9a > v95) v95 = v9a;
if (v99 < v96) v96 = v99;
if (v99 > v97) v97 = v99;
v98 = true;
}
}
}
if (!v98) return null;
return {
mask: v93,
bounds: {
…
s30542 Input v95 maxX minXUseful 0.13 startYUseful 0.03 Both poor Present Pre-rename JavaScript · s30542 / v95 ×
Declaration · line 983 …
const v92 = v8t * 4;
const v93 = new Uint8Array(v8u * v8v);
let v94 = v8u,
v95 = 0,
v96 = v8v,
v97 = 0;
let v98 = false;
for (let v99 = 0; v99 < v8v; v99++) {
for (let v9a = 0; v9a < v8u; v9a++) {
const v9b = (v99 * v8u + v9a) * 4;
const v9c = Math.abs(v8w[v9b] - v8y) + Math.abs(v8w[v9b + 1] - v8z) + Math.abs(v8w[v9b + 2] - v90) + Math.abs(v8w[v9b + 3
… Reference · line 994 …
v93[v99 * v8u + v9a] = 1;
if (v9a < v94) v94 = v9a;
if (v9a > v95 ) v95 = v9a;
if (v99 < v96) v96 = v99;
if (v99 > v97) v97 = v99;
v98 = true;
}
}
}
if (!v98) return null;
return {
mask: v93,
bounds: {
x: v94,
y: v96,
w: v95 - v94 + 1,
…
s30557 Input v96 minY maxXUseful 0.04 height2Useful 0.06 Both poor Present Pre-rename JavaScript · s30557 / v96 ×
Declaration · line 984 …
const v92 = v8t * 4;
const v93 = new Uint8Array(v8u * v8v);
let v94 = v8u,
v95 = 0,
v96 = v8v,
v97 = 0;
let v98 = false;
for (let v99 = 0; v99 < v8v; v99++) {
for (let v9a = 0; v9a < v8u; v9a++) {
const v9b = (v99 * v8u + v9a) * 4;
const v9c = Math.abs(v8w[v9b] - v8y) + Math.abs(v8w[v9b + 1] - v8z) + Math.abs(v8w[v9b + 2] - v90) + Math.abs(v8w[v9b + 3] - v91);
… Reference · line 995 …
if (v9a < v94) v94 = v9a;
if (v9a > v95) v95 = v9a;
if (v99 < v96 ) v96 = v99;
if (v99 > v97) v97 = v99;
v98 = true;
}
}
}
if (!v98) return null;
return {
mask: v93,
bounds: {
x: v94,
y: v96,
w: v95 - v94 + 1,
h: v97 - v96 + 1
…
s30574 Input v97 maxY minYUseful 0.07 pixelDataUseful 0.02 Both poor Absent Pre-rename JavaScript · s30574 / v97 ×
Declaration · line 985 …
const v93 = new Uint8Array(v8u * v8v);
let v94 = v8u,
v95 = 0,
v96 = v8v,
v97 = 0;
let v98 = false;
for (let v99 = 0; v99 < v8v; v99++) {
for (let v9a = 0; v9a < v8u; v9a++) {
const v9b = (v99 * v8u + v9a) * 4;
const v9c = Math.abs(v8w[v9b] - v8y) + Math.abs(v8w[v9b + 1] - v8z) + Math.abs(v8w[v9b + 2] - v90) + Math.abs(v8w[v9b + 3] - v91);
… Reference · line 996 …
if (v9a > v95) v95 = v9a;
if (v99 < v96) v96 = v99;
if (v99 > v97 ) v97 = v99;
v98 = true;
}
}
}
if (!v98) return null;
return {
mask: v93,
bounds: {
x: v94,
y: v96,
w: v95 - v94 + 1,
h: v97 - v96 + 1
}
};
}
function v9d(v9e) {
…
s30591 Input v98 found maxYUseful 0.09 height3Useful 0.05 Both poor Absent Pre-rename JavaScript · s30591 / v98 ×
Declaration · line 986 …
const v93 = new Uint8Array(v8u * v8v);
let v94 = v8u,
v95 = 0,
v96 = v8v,
v97 = 0;
let v98 = false;
for (let v99 = 0; v99 < v8v; v99++) {
for (let v9a = 0; v9a < v8u; v9a++) {
const v9b = (v99 * v8u + v9a) * 4;
const v9c = Math.abs(v8w[v9b] - v8y) + Math.abs(v8w[v9b + 1] - v8z) + Math.abs(v8w[v9b + 2] - v90) + Math.abs(v8w[v9b + 3] - v91);
… Reference · line 997 …
if (v9a > v95) v95 = v9a;
if (v99 < v96) v96 = v99;
if (v99 > v97) v97 = v99;
v98 = true;
}
}
}
if (!v98) return null;
return {
mask: v93,
bounds: {
x: v94,
y: v96,
w: v95 - v94 + 1,
h: v97 - v96 + 1
}
};
}
function v9d(v9e) {
const v9f = document.createElement("canvas").getContext("2d");
…
s30617 Input v99 y currentXUseful 0.10 yUseful 0.78 Humanify better Present Pre-rename JavaScript · s30617 / v99 ×
Declaration · line 987 …
let v94 = v8u,
v95 = 0,
v96 = v8v,
v97 = 0;
let v98 = false;
for (let v99 = 0; v99 < v8v; v99++) {
for (let v9a = 0; v9a < v8u; v9a++) {
const v9b = (v99 * v8u + v9a) * 4;
const v9c = Math.abs(v8w[v9b] - v8y) + Math.abs(v8w[v9b + 1] - v8z) + Math.abs(v8w[v9b + 2] - v90) + Math.abs(v8w[v9b + 3] - v91);
… Reference · line 992 …
Math.abs(v8w[v9b] - v8y) + Math.abs(v8w[v9b + 1] - v8z) + Math.abs(v8w[v9b + 2] - v90) + Math.abs(v8w[v9b + 3] - v91);
if (v9c <= v92) {
v93[v99 * v8u + v9a] = 1;
if (v9a < v94) v94 = v9a;
if (v9a > v95) v95 = v9a;
if (v99 < v96) v96 = v99;
if (v99 > v97) v97 = v99;
v98 = true;
}
}
}
if (!v98) return null;
return {
…
s30661 Input v9a x xUseful 0.55 xUseful 0.55 Both useful Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s30661 / v9a ×
Declaration · line 988 …
v97 = 0;
let v98 = false;
for (let v99 = 0; v99 < v8v; v99++) {
for (let v9a = 0; v9a < v8u; v9a++) {
const v9b = (v99 * v8u + v9a) * 4;
const v9c = Math.abs(v8w[v9b] - v8y) + Math.abs(v8w[v9b + 1] - v8z) + Math.abs(v8w[v9b + 2] - v90) + Math.abs(v8w[v9b + 3] - v91);
if (v9c <= v92) {
v93[v99 * v8u + v9a] = 1;
… Reference · line 993 …
(v8w[v9b + 1] - v8z) + Math.abs(v8w[v9b + 2] - v90) + Math.abs(v8w[v9b + 3] - v91);
if (v9c <= v92) {
v93[v99 * v8u + v9a] = 1;
if (v9a < v94) v94 = v9a;
if (v9a > v95) v95 = v9a;
if (v99 < v96) v96 = v99;
if (v99 > v97) v97 = v99;
v98 = true;
}
}
}
if (!v98) return null;
return {
mask: v93,
bounds: {
…
s30704 Input v9b pi currentPixelIndexUseful 0.84 pixelIndex2Useful 0.56 FlowName better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s30704 / v9b ×
Declaration · line 989 …
for (let v99 = 0; v99 < v8v; v99++) {
for (let v9a = 0; v9a < v8u; v9a++) {
const v9b = (v99 * v8u + v9a) * 4;
const v9c = Math.abs(v8w[v9b] - v8y) + Math.abs(v8w[v9b + 1] - v8z) + Math.abs(v8w[v9b + 2] - v90) + Math.abs(v8w[v9b + 3] - v91);
if (v9c <= v92) {
v93[v99 * v8u + v9a] = 1;
if (v9a < v94) v94 = v9a;
…
s30747 Input v9c diff colorDifferenceUseful 0.81 colorDifferenceUseful 0.81 Both useful Present Pre-rename JavaScript · s30747 / v9c ×
Declaration · line 990 …
for (let v9a = 0; v9a < v8u; v9a++) {
const v9b = (v99 * v8u + v9a) * 4;
const v9c = Math.abs(v8w[v9b] - v8y) + Math.abs(v8w[v9b + 1] - v8z) + Math.abs(v8w[v9b + 2] - v90) + Math.abs(v8w[v9b + 3] - v91);
if (v9c <= v92) {
v93[v99 * v8u + v9a] = 1;
if (v9a < v94) v94 = v9a;
if (v9a > v95) v95 = v9a;
…
s31310 Input v9d parseColor parseColorToRgbaUseful 0.83 listener6Useful 0.03 FlowName better Absent Pre-rename JavaScript · s31310 / v9d ×
Declaration · line 1012 …
y: v96,
w: v95 - v94 + 1,
h: v97 - v96 + 1
}
};
}
function v9d (v9e) {
const v9f = document.createElement("canvas").getContext("2d");
v9f.fillStyle = v9e;
v9f.fillRect(0, 0, 1, 1);
const [v9g, v9h, v9i, v9j] = v9f.getImageData(0, 0, 1, 1).data;
return {
r: v9g,
g: v9h,
… Reference · line 1456 …
const vet = vep.button === 2 ? v4i._secondaryColor : v4i._primaryColor;
const {
r: veu,
g: vev,
b: vew
} = v9d (vet);
const vex = Math.round(v4i._brushAlpha * 255);
const vey = veq.ctx.getImageData(0, 0, vem.width, vem.height);
const vez = vem.selection.active ? vem.selection.mask : null;
const vf0 = v4i._fillGlobal ? v7e : v6o;
…
s31314 Input v9e str colorStringUseful 0.81 colorStringUseful 0.81 Both useful Present Pre-rename JavaScript · s31314 / v9e ×
Declaration · line 1012 …
y: v96,
w: v95 - v94 + 1,
h: v97 - v96 + 1
}
};
}
function v9d(v9e ) {
const v9f = document.createElement("canvas").getContext("2d");
v9f.fillStyle = v9e;
v9f.fillRect(0, 0, 1, 1);
const [v9g, v9h, v9i, v9j] = v9f.getImageData(0, 0, 1, 1).data;
return {
r: v9g,
g: v9h,
b: v9i,
…
s31331 Input v9f ctx canvasContextUseful 0.86 canvasContextUseful 0.86 Both useful Present Pre-rename JavaScript · s31331 / v9f ×
Declaration · line 1013 …
w: v95 - v94 + 1,
h: v97 - v96 + 1
}
};
}
function v9d(v9e) {
const v9f = document.createElement("canvas").getContext("2d");
v9f.fillStyle = v9e;
v9f.fillRect(0, 0, 1, 1);
const [v9g, v9h, v9i, v9j] = v9f.getImageData(0, 0, 1, 1).data;
return {
r: v9g,
g: v9h,
b: v9i,
a: v9j
…
s31454 Input v9g r redChannelUseful 0.74 redValueUseful 0.79 Both useful Present Preference confidence is low. Pre-rename JavaScript · s31454 / v9g ×
Declaration · line 1016 …
const v9f = document.createElement("canvas").getContext("2d");
v9f.fillStyle = v9e;
v9f.fillRect(0, 0, 1, 1);
const [v9g , v9h, v9i, v9j] = v9f.getImageData(0, 0, 1, 1).data;
return {
r: v9g,
g: v9h,
b: v9i,
a: v9j
};
}
function v9k(v9l) {
if (!v9l) return [];
const {
x: v9m,
y: v9n,
w: v9o,
h: v9p
…
s31459 Input v9h g greenChannelUseful 0.69 greenValueUseful 0.82 Both useful Present Preference confidence is low. Pre-rename JavaScript · s31459 / v9h ×
Declaration · line 1016 …
const v9f = document.createElement("canvas").getContext("2d");
v9f.fillStyle = v9e;
v9f.fillRect(0, 0, 1, 1);
const [v9g, v9h , v9i, v9j] = v9f.getImageData(0, 0, 1, 1).data;
return {
r: v9g,
g: v9h,
b: v9i,
a: v9j
};
}
function v9k(v9l) {
if (!v9l) return [];
const {
x: v9m,
y: v9n,
w: v9o,
h: v9p
…
s31464 Input v9i b blueChannelUseful 0.45 blueValueUseful 0.68 Humanify better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s31464 / v9i ×
Declaration · line 1016 …
const v9f = document.createElement("canvas").getContext("2d");
v9f.fillStyle = v9e;
v9f.fillRect(0, 0, 1, 1);
const [v9g, v9h, v9i , v9j] = v9f.getImageData(0, 0, 1, 1).data;
return {
r: v9g,
g: v9h,
b: v9i,
a: v9j
};
}
function v9k(v9l) {
if (!v9l) return [];
const {
x: v9m,
y: v9n,
w: v9o,
h: v9p
} = v9l;
…
s31469 Input v9j a alphaChannelUseful 0.50 alphaUseful 0.87 Both useful Present Usefulness probability is near the provisional 0.5 boundary. Preference confidence is low. Pre-rename JavaScript · s31469 / v9j ×
Declaration · line 1016 …
const v9f = document.createElement("canvas").getContext("2d");
v9f.fillStyle = v9e;
v9f.fillRect(0, 0, 1, 1);
const [v9g, v9h, v9i, v9j ] = v9f.getImageData(0, 0, 1, 1).data;
return {
r: v9g,
g: v9h,
b: v9i,
a: v9j
};
}
function v9k(v9l) {
if (!v9l) return [];
const {
x: v9m,
y: v9n,
w: v9o,
h: v9p
} = v9l;
…
s31601 Input v9k getHandles getResizeHandlesUseful 0.86 listener7Useful 0.03 FlowName better Absent Pre-rename JavaScript · s31601 / v9k ×
Declaration · line 1024 …
return {
r: v9g,
g: v9h,
b: v9i,
a: v9j
};
}
function v9k (v9l) {
if (!v9l) return [];
const {
x: v9m,
y: v9n,
w: v9o,
h: v9p
} = v9l;
const v9q = v9m + v9o / 2,
v9r = v9n + v9p / 2;
return [{
id: "nw",
x: v9m,
y: v9n,
cursor: "nwse-resize"
… Reference · line 1078 …
}];
}
function v9s(v9t, v9u, v9v, v9w) {
if (!v9u) return null;
const v9x = v9k (v9u);
const v9y = v9t.zoom;
const v9z = 6;
const va0 = v9v * v9y + v9t.panX;
const va1 = v9w * v9y + v9t.panY;
for (const va2 of v9x) {
const va3 = va2.x * v9y + v9t.panX;
const va4 = va2.y * v9y + v9t.panY;
…
s31605 Input v9l b boxUseful 0.77 boxUseful 0.77 Both useful Present Pre-rename JavaScript · s31605 / v9l ×
Declaration · line 1024 …
return {
r: v9g,
g: v9h,
b: v9i,
a: v9j
};
}
function v9k(v9l ) {
if (!v9l) return [];
const {
x: v9m,
y: v9n,
w: v9o,
h: v9p
} = v9l;
const v9q = v9m + v9o / 2,
v9r = v9n + v9p / 2;
return [{
id: "nw",
x: v9m,
y: v9n,
cursor: "nwse-resize"
…
s31658 Input v9m x handleXUseful 0.34 boxXUseful 0.40 Both poor Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s31658 / v9m ×
Declaration · line 1027 …
a: v9j
};
}
function v9k(v9l) {
if (!v9l) return [];
const {
x: v9m ,
y: v9n,
w: v9o,
h: v9p
} = v9l;
const v9q = v9m + v9o / 2,
v9r = v9n + v9p / 2;
return [{
id: "nw",
x: v9m,
y: v9n,
cursor: "nwse-resize"
}, {
id: "n",
x: v9q,
… Reference · line 1046 …
id: "n",
x: v9q,
y: v9n,
cursor: "ns-resize"
}, {
id: "ne",
x: v9m + v9o,
y: v9n,
cursor: "nesw-resize"
}, {
id: "e",
x: v9m + v9o,
y: v9r,
cursor: "ew-resize"
}, {
id: "se",
x: v9m + v9o,
y: v9n + v9p,
cursor: "nwse-resize"
}, {
id: "s",
…
s31672 Input v9n y handleYUseful 0.62 yUseful 0.62 Both useful Present Usefulness probability is near the provisional 0.5 boundary. Preference confidence is low. Pre-rename JavaScript · s31672 / v9n ×
Declaration · line 1028 …
};
}
function v9k(v9l) {
if (!v9l) return [];
const {
x: v9m,
y: v9n ,
w: v9o,
h: v9p
} = v9l;
const v9q = v9m + v9o / 2,
v9r = v9n + v9p / 2;
return [{
id: "nw",
x: v9m,
y: v9n,
cursor: "nwse-resize"
}, {
id: "n",
x: v9q,
y: v9n,
… Reference · line 1047 …
y: v9n,
cursor: "ns-resize"
}, {
id: "ne",
x: v9m + v9o,
y: v9n ,
cursor: "nesw-resize"
}, {
id: "e",
x: v9m + v9o,
y: v9r,
cursor: "ew-resize"
}, {
id: "se",
x: v9m + v9o,
y: v9n + v9p,
cursor: "nwse-resize"
}, {
id: "s",
x: v9q,
…
s31686 Input v9o w handleWidthUseful 0.28 widthUseful 0.72 Humanify better Present Pre-rename JavaScript · s31686 / v9o ×
Declaration · line 1029 …
function v9k(v9l) {
if (!v9l) return [];
const {
x: v9m,
y: v9n,
w: v9o ,
h: v9p
} = v9l;
const v9q = v9m + v9o / 2,
v9r = v9n + v9p / 2;
return [{
id: "nw",
x: v9m,
y: v9n,
cursor: "nwse-resize"
}, {
id: "n",
x: v9q,
y: v9n,
cursor: "ns-resize"
… Reference · line 1046 …
x: v9q,
y: v9n,
cursor: "ns-resize"
}, {
id: "ne",
x: v9m + v9o ,
y: v9n,
cursor: "nesw-resize"
}, {
id: "e",
x: v9m + v9o,
y: v9r,
cursor: "ew-resize"
}, {
id: "se",
x: v9m + v9o,
y: v9n + v9p,
cursor: "nwse-resize"
}, {
id: "s",
…
s31700 Input v9p h handleHeightUseful 0.11 heightUseful 0.84 Humanify better Present Pre-rename JavaScript · s31700 / v9p ×
Declaration · line 1030 …
function v9k(v9l) {
if (!v9l) return [];
const {
x: v9m,
y: v9n,
w: v9o,
h: v9p
} = v9l;
const v9q = v9m + v9o / 2,
v9r = v9n + v9p / 2;
return [{
id: "nw",
x: v9m,
y: v9n,
cursor: "nwse-resize"
}, {
id: "n",
x: v9q,
y: v9n,
cursor: "ns-resize"
}, {
… Reference · line 1057 …
y: v9r,
cursor: "ew-resize"
}, {
id: "se",
x: v9m + v9o,
y: v9n + v9p ,
cursor: "nwse-resize"
}, {
id: "s",
x: v9q,
y: v9n + v9p,
cursor: "ns-resize"
}, {
id: "sw",
x: v9m,
y: v9n + v9p,
cursor: "nesw-resize"
}, {
id: "w",
x: v9m,
…
s31727 Input v9q mx centerXUseful 0.87 centerXUseful 0.87 Both useful Present Pre-rename JavaScript · s31727 / v9q ×
Declaration · line 1032 …
const {
x: v9m,
y: v9n,
w: v9o,
h: v9p
} = v9l;
const v9q = v9m + v9o / 2,
v9r = v9n + v9p / 2;
return [{
id: "nw",
x: v9m,
y: v9n,
cursor: "nwse-resize"
}, {
id: "n",
x: v9q,
y: v9n,
cursor: "ns-resize"
}, {
id: "ne",
x: v9m + v9o,
… Reference · line 1061 …
x: v9m + v9o,
y: v9n + v9p,
cursor: "nwse-resize"
}, {
id: "s",
x: v9q ,
y: v9n + v9p,
cursor: "ns-resize"
}, {
id: "sw",
x: v9m,
y: v9n + v9p,
cursor: "nesw-resize"
}, {
id: "w",
x: v9m,
y: v9r,
cursor: "ew-resize"
}];
}
function v9s(v9t, v9u, v9v, v9w) {
…
s31754 Input v9r my centerYUseful 0.80 centerYUseful 0.80 Both useful Present Pre-rename JavaScript · s31754 / v9r ×
Declaration · line 1033 …
y: v9n,
w: v9o,
h: v9p
} = v9l;
const v9q = v9m + v9o / 2,
v9r = v9n + v9p / 2;
return [{
id: "nw",
x: v9m,
y: v9n,
cursor: "nwse-resize"
}, {
id: "n",
x: v9q,
y: v9n,
cursor: "ns-resize"
}, {
id: "ne",
x: v9m + v9o,
y: v9n,
… Reference · line 1052 …
y: v9n,
cursor: "nesw-resize"
}, {
id: "e",
x: v9m + v9o,
y: v9r ,
cursor: "ew-resize"
}, {
id: "se",
x: v9m + v9o,
y: v9n + v9p,
cursor: "nwse-resize"
}, {
id: "s",
x: v9q,
y: v9n + v9p,
cursor: "ns-resize"
}, {
id: "sw",
x: v9m,
…
s32475 Input v9s hitHandle hitTestHandleUseful 0.75 listener8Useful 0.06 FlowName better Absent Pre-rename JavaScript · s32475 / v9s ×
Declaration · line 1076 …
id: "w",
x: v9m,
y: v9r,
cursor: "ew-resize"
}];
}
function v9s (v9t, v9u, v9v, v9w) {
if (!v9u) return null;
const v9x = v9k(v9u);
const v9y = v9t.zoom;
const v9z = 6;
const va0 = v9v * v9y + v9t.panX;
const va1 = v9w * v9y + v9t.panY;
for (const va2 of v9x) {
const va3 = va2.x * v9y + v9t.panX;
… Reference · line 1833 …
this._handle = null;
}
onPointerDown(viz, vj0, vj1, vj2) {
const vj3 = viz.selection.active ? v9s (viz, viz.selection.bounds, vj0, vj1) : null;
if (vj3) {
viz.saveSelectionState("Resize Selection");
this._resizing = true;
this._handle = vj3;
const vj4 = viz.selection.bounds;
this._origBounds = {
…
s32479 Input v9t doc transformUseful 0.25 viewportUseful 0.29 Both poor Present Pre-rename JavaScript · s32479 / v9t ×
Declaration · line 1076 …
id: "w",
x: v9m,
y: v9r,
cursor: "ew-resize"
}];
}
function v9s(v9t , v9u, v9v, v9w) {
if (!v9u) return null;
const v9x = v9k(v9u);
const v9y = v9t.zoom;
const v9z = 6;
const va0 = v9v * v9y + v9t.panX;
const va1 = v9w * v9y + v9t.panY;
for (const va2 of v9x) {
const va3 = va2.x * v9y + v9t.panX;
… Reference · line 1085 …
for (const va2 of v9x) {
const va3 = va2.x * v9y + v9t.panX;
const va4 = va2.y * v9y + v9t .panY;
if (Math.abs(va0 - va3) < v9z && Math.abs(va1 - va4) < v9z) {
return va2;
}
}
return null;
}
function va5(va6, va7, va8) {
if (!va8) return;
const va9 = v9k(va8);
const vaa = va7.zoom;
const vab = 5;
…
s32484 Input v9u bounds boundsUseful 0.84 elementsUseful 0.09 FlowName better Present Pre-rename JavaScript · s32484 / v9u ×
Declaration · line 1076 …
id: "w",
x: v9m,
y: v9r,
cursor: "ew-resize"
}];
}
function v9s(v9t, v9u , v9v, v9w) {
if (!v9u) return null;
const v9x = v9k(v9u);
const v9y = v9t.zoom;
const v9z = 6;
const va0 = v9v * v9y + v9t.panX;
const va1 = v9w * v9y + v9t.panY;
for (const va2 of v9x) {
const va3 = va2.x * v9y + v9t.panX;
…
s32489 Input v9v mx mouseXUseful 0.83 targetXUseful 0.14 FlowName better Present Pre-rename JavaScript · s32489 / v9v ×
Declaration · line 1076 …
x: v9m,
y: v9r,
cursor: "ew-resize"
}];
}
function v9s(v9t, v9u, v9v , v9w) {
if (!v9u) return null;
const v9x = v9k(v9u);
const v9y = v9t.zoom;
const v9z = 6;
const va0 = v9v * v9y + v9t.panX;
const va1 = v9w * v9y + v9t.panY;
for (const va2 of v9x) {
const va3 = va2.x * v9y + v9t.panX;
…
s32494 Input v9w my mouseYUseful 0.89 mouseYUseful 0.89 Both useful Present Pre-rename JavaScript · s32494 / v9w ×
Declaration · line 1076 …
x: v9m,
y: v9r,
cursor: "ew-resize"
}];
}
function v9s(v9t, v9u, v9v, v9w ) {
if (!v9u) return null;
const v9x = v9k(v9u);
const v9y = v9t.zoom;
const v9z = 6;
const va0 = v9v * v9y + v9t.panX;
const va1 = v9w * v9y + v9t.panY;
for (const va2 of v9x) {
const va3 = va2.x * v9y + v9t.panX;
…
s32538 Input v9x handles resizeHandlesUseful 0.68 pointsUseful 0.23 FlowName better Present Pre-rename JavaScript · s32538 / v9x ×
Declaration · line 1078 …
cursor: "ew-resize"
}];
}
function v9s(v9t, v9u, v9v, v9w) {
if (!v9u) return null;
const v9x = v9k(v9u);
const v9y = v9t.zoom;
const v9z = 6;
const va0 = v9v * v9y + v9t.panX;
const va1 = v9w * v9y + v9t.panY;
for (const va2 of v9x) {
const va3 = va2.x * v9y + v9t.panX;
const va4 = va2.y * v9y + v9t.panY;
…
s32564 Input v9y z zoomUseful 0.82 zoomLevelUseful 0.78 FlowName better Present Pre-rename JavaScript · s32564 / v9y ×
Declaration · line 1079 …
function v9s(v9t, v9u, v9v, v9w) {
if (!v9u) return null;
const v9x = v9k(v9u);
const v9y = v9t.zoom;
const v9z = 6;
const va0 = v9v * v9y + v9t.panX;
const va1 = v9w * v9y + v9t.panY;
for (const va2 of v9x) {
const va3 = va2.x * v9y + v9t.panX;
const va4 = va2.y * v9y + v9t.panY;
if (Math.abs(va0 - va3) < v9z && Math.abs(va1 - va4) < v9z) {
…
s32590 Input v9z threshold thresholdUseful 0.80 hitToleranceUseful 0.87 Humanify better Present Pre-rename JavaScript · s32590 / v9z ×
Declaration · line 1080 …
function v9s(v9t, v9u, v9v, v9w) {
if (!v9u) return null;
const v9x = v9k(v9u);
const v9y = v9t.zoom;
const v9z = 6;
const va0 = v9v * v9y + v9t.panX;
const va1 = v9w * v9y + v9t.panY;
for (const va2 of v9x) {
const va3 = va2.x * v9y + v9t.panX;
const va4 = va2.y * v9y + v9t.panY;
if (Math.abs(va0 - va3) < v9z && Math.abs(va1 - va4) < v9z) {
…
s32609 Input va0 smx screenXUseful 0.74 targetX2Useful 0.15 FlowName better Present Pre-rename JavaScript · s32609 / va0 ×
Declaration · line 1081 …
if (!v9u) return null;
const v9x = v9k(v9u);
const v9y = v9t.zoom;
const v9z = 6;
const va0 = v9v * v9y + v9t.panX;
const va1 = v9w * v9y + v9t.panY;
for (const va2 of v9x) {
const va3 = va2.x * v9y + v9t.panX;
const va4 = va2.y * v9y + v9t.panY;
if (Math.abs(va0 - va3) < v9z && Math.abs(va1 - va4) < v9z) {
…
s32647 Input va1 smy screenYUseful 0.52 targetScreenYUseful 0.28 FlowName better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s32647 / va1 ×
Declaration · line 1082 …
const v9y = v9t.zoom;
const v9z = 6;
const va0 = v9v * v9y + v9t.panX;
const va1 = v9w * v9y + v9t.panY;
for (const va2 of v9x) {
const va3 = va2.x * v9y + v9t.panX;
const va4 = va2.y * v9y + v9t.panY;
if (Math.abs(va0 - va3) < v9z && Math.abs(va1 - va4) < v9z) {
return va2;
}
}
…
s32690 Input va2 h handleUseful 0.70 pointUseful 0.23 FlowName better Present Pre-rename JavaScript · s32690 / va2 ×
Declaration · line 1083 …
const va0 = v9v * v9y + v9t.panX;
const va1 = v9w * v9y + v9t.panY;
for (const va2 of v9x) {
const va3 = va2.x * v9y + v9t.panX;
const va4 = va2.y * v9y + v9t.panY;
if (Math.abs(va0 - va3) < v9z && Math.abs(va1 - va4) < v9z) {
return va2;
}
}
return null;
}
function va5(va6, va7, va8) {
…
s32716 Input va3 sx handleScreenXUseful 0.77 transformedXUseful 0.72 FlowName better Present Pre-rename JavaScript · s32716 / va3 ×
Declaration · line 1084 …
const va0 = v9v * v9y + v9t.panX;
const va1 = v9w * v9y + v9t.panY;
for (const va2 of v9x) {
const va3 = va2.x * v9y + v9t.panX;
const va4 = va2.y * v9y + v9t.panY;
if (Math.abs(va0 - va3) < v9z && Math.abs(va1 - va4) < v9z) {
return va2;
}
}
return null;
}
function va5(va6, va7, va8) {
if (!va8) return;
…
s32758 Input va4 sy handleScreenYUseful 0.67 screenYUseful 0.64 Both useful Present Usefulness probability is near the provisional 0.5 boundary. Preference confidence is low. Pre-rename JavaScript · s32758 / va4 ×
Declaration · line 1085 …
const va1 = v9w * v9y + v9t.panY;
for (const va2 of v9x) {
const va3 = va2.x * v9y + v9t.panX;
const va4 = va2.y * v9y + v9t.panY;
if (Math.abs(va0 - va3) < v9z && Math.abs(va1 - va4) < v9z) {
return va2;
}
}
return null;
}
function va5(va6, va7, va8) {
if (!va8) return;
const va9 = v9k(va8);
const vaa = va7.zoom;
…
s32922 Input va5 drawHandles drawSelectionOverlayUseful 0.27 listeners3Useful 0.03 Both poor Absent Pre-rename JavaScript · s32922 / va5 ×
Declaration · line 1092 …
if (Math.abs(va0 - va3) < v9z && Math.abs(va1 - va4) < v9z) {
return va2;
}
}
return null;
}
function va5 (va6, va7, va8) {
if (!va8) return;
const va9 = v9k(va8);
const vaa = va7.zoom;
const vab = 5;
va6.fillStyle = "white";
va6.strokeStyle = "#333";
va6.lineWidth = 1;
for (const vac of va9) {
const vad = Math.round(vac.x * vaa + va7.panX);
… Reference · line 1904 …
onOverlay(vjq, vjr) {
if (!vjr.selection.active || !vjr.selection.bounds) return;
va5 (vjq, vjr, vjr.selection.bounds);
}
};
var vjs = class extends vbq {
constructor() {
super("Wand", "w");
this._lastX = -1;
this._lastY = -1;
this._imageData = null;
v4i.on("wand:reselect", () => this._reselect());
…
s32926 Input va6 ctx ctxUseful 0.89 ctxUseful 0.89 Both useful Present Pre-rename JavaScript · s32926 / va6 ×
Declaration · line 1092 …
if (Math.abs(va0 - va3) < v9z && Math.abs(va1 - va4) < v9z) {
return va2;
}
}
return null;
}
function va5(va6 , va7, va8) {
if (!va8) return;
const va9 = v9k(va8);
const vaa = va7.zoom;
const vab = 5;
va6.fillStyle = "white";
va6.strokeStyle = "#333";
va6.lineWidth = 1;
for (const vac of va9) {
const vad = Math.round(vac.x * vaa + va7.panX);
… Reference · line 1103 …
const vad = Math.round(vac.x * vaa + va7.panX);
const vae = Math.round(vac.y * vaa + va7.panY);
va6 .fillRect(vad - vab, vae - vab, vab * 2, vab * 2);
va6.strokeRect(vad - vab, vae - vab, vab * 2, vab * 2);
}
}
function vaf(vag, vah, vai, vaj) {
let {
x: vak,
y: vam,
w: van,
h: vao
} = vah;
…
s32931 Input va7 doc viewportUseful 0.27 viewportUseful 0.27 Both poor Present Pre-rename JavaScript · s32931 / va7 ×
Declaration · line 1092 …
if (Math.abs(va0 - va3) < v9z && Math.abs(va1 - va4) < v9z) {
return va2;
}
}
return null;
}
function va5(va6, va7 , va8) {
if (!va8) return;
const va9 = v9k(va8);
const vaa = va7.zoom;
const vab = 5;
va6.fillStyle = "white";
va6.strokeStyle = "#333";
va6.lineWidth = 1;
for (const vac of va9) {
const vad = Math.round(vac.x * vaa + va7.panX);
… Reference · line 1102 …
const vad = Math.round(vac.x * vaa + va7.panX);
const vae = Math.round(vac.y * vaa + va7 .panY);
va6.fillRect(vad - vab, vae - vab, vab * 2, vab * 2);
va6.strokeRect(vad - vab, vae - vab, vab * 2, vab * 2);
}
}
function vaf(vag, vah, vai, vaj) {
let {
x: vak,
y: vam,
w: van,
h: vao
…
s32936 Input va8 bounds pointsUseful 0.21 pointsUseful 0.21 Both poor Present Pre-rename JavaScript · s32936 / va8 ×
Declaration · line 1092 …
if (Math.abs(va0 - va3) < v9z && Math.abs(va1 - va4) < v9z) {
return va2;
}
}
return null;
}
function va5(va6, va7, va8 ) {
if (!va8) return;
const va9 = v9k(va8);
const vaa = va7.zoom;
const vab = 5;
va6.fillStyle = "white";
va6.strokeStyle = "#333";
va6.lineWidth = 1;
for (const vac of va9) {
const vad = Math.round(vac.x * vaa + va7.panX);
…
s32975 Input va9 handles coordsUseful 0.24 points2Useful 0.32 Both poor Present Pre-rename JavaScript · s32975 / va9 ×
Declaration · line 1094 …
}
return null;
}
function va5(va6, va7, va8) {
if (!va8) return;
const va9 = v9k(va8);
const vaa = va7.zoom;
const vab = 5;
va6.fillStyle = "white";
va6.strokeStyle = "#333";
va6.lineWidth = 1;
for (const vac of va9) {
const vad = Math.round(vac.x * vaa + va7.panX);
const vae = Math.round(vac.y * vaa + va7.panY);
…
s33001 Input vaa z zoomUseful 0.90 zoomLevelUseful 0.63 FlowName better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s33001 / vaa ×
Declaration · line 1095 …
function va5(va6, va7, va8) {
if (!va8) return;
const va9 = v9k(va8);
const vaa = va7.zoom;
const vab = 5;
va6.fillStyle = "white";
va6.strokeStyle = "#333";
va6.lineWidth = 1;
for (const vac of va9) {
const vad = Math.round(vac.x * vaa + va7.panX);
const vae = Math.round(vac.y * vaa + va7.panY);
…
s33027 Input vab size radiusUseful 0.26 handleSizeUseful 0.89 Humanify better Present Pre-rename JavaScript · s33027 / vab ×
Declaration · line 1096 …
function va5(va6, va7, va8) {
if (!va8) return;
const va9 = v9k(va8);
const vaa = va7.zoom;
const vab = 5;
va6.fillStyle = "white";
va6.strokeStyle = "#333";
va6.lineWidth = 1;
for (const vac of va9) {
const vad = Math.round(vac.x * vaa + va7.panX);
const vae = Math.round(vac.y * vaa + va7.panY);
va6.fillRect(vad - vab, vae - vab, vab * 2, vab * 2);
… Reference · line 1104 …
const vae = Math.round(vac.y * vaa + va7.panY);
va6.fillRect(vad - vab, vae - vab, vab * 2, vab * 2);
va6.strokeRect(vad - vab , vae - vab, vab * 2, vab * 2);
}
}
function vaf(vag, vah, vai, vaj) {
let {
x: vak,
y: vam,
w: van,
h: vao
} = vah;
if (vag.includes("w")) {
vak += vai;
van -= vai;
}
if (vag.includes("e")) {
…
s33133 Input vac h pointUseful 0.25 pointUseful 0.25 Both poor Present Pre-rename JavaScript · s33133 / vac ×
Declaration · line 1100 …
va6.fillStyle = "white";
va6.strokeStyle = "#333";
va6.lineWidth = 1;
for (const vac of va9) {
const vad = Math.round(vac.x * vaa + va7.panX);
const vae = Math.round(vac.y * vaa + va7.panY);
va6.fillRect(vad - vab, vae - vab, vab * 2, vab * 2);
va6.strokeRect(vad - vab, vae - vab, vab * 2, vab * 2);
…
s33159 Input vad sx xUseful 0.24 renderXUseful 0.50 Humanify better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s33159 / vad ×
Declaration · line 1101 …
va6.strokeStyle = "#333";
va6.lineWidth = 1;
for (const vac of va9) {
const vad = Math.round(vac.x * vaa + va7.panX);
const vae = Math.round(vac.y * vaa + va7.panY);
va6.fillRect(vad - vab, vae - vab, vab * 2, vab * 2);
va6.strokeRect(vad - vab, vae - vab, vab * 2, vab * 2);
}
}
function vaf(vag, vah, vai, vaj) {
…
s33213 Input vae sy yUseful 0.54 screenYUseful 0.50 Both useful Present Usefulness probability is near the provisional 0.5 boundary. Preference confidence is low. Pre-rename JavaScript · s33213 / vae ×
Declaration · line 1102 …
for (const vac of va9) {
const vad = Math.round(vac.x * vaa + va7.panX);
const vae = Math.round(vac.y * vaa + va7.panY);
va6.fillRect(vad - vab, vae - vab, vab * 2, vab * 2);
va6.strokeRect(vad - vab, vae - vab, vab * 2, vab * 2);
}
}
function vaf(vag, vah, vai, vaj) {
let {
x: vak,
y: vam,
…
s33398 Input vaf applyHandleDrag calculateNewBoundsUseful 0.82 EventEmitter4Useful 0.03 FlowName better Absent Pre-rename JavaScript · s33398 / vaf ×
Declaration · line 1107 …
va6.fillRect(vad - vab, vae - vab, vab * 2, vab * 2);
va6.strokeRect(vad - vab, vae - vab, vab * 2, vab * 2);
}
}
function vaf (vag, vah, vai, vaj) {
let {
x: vak,
y: vam,
w: van,
h: vao
} = vah;
if (vag.includes("w")) {
vak += vai;
van -= vai;
}
if (vag.includes("e")) {
van += vai;
}
if (vag.includes("n")) {
… Reference · line 1860 …
const vj9 = vj6 - this._dragStartX;
const vja = vj7 - this._dragStartY;
const vjb = vaf (this._handle.id, this._origBounds, vj9, vja);
vj5.selection.setRect(vjb.x, vjb.y, vjb.w, vjb.h);
v4i.emit("canvas:dirty");
return;
}
if (!this._drawing) {
const vjc = document.getElementById("viewport");
…
s33402 Input vag handleId stringParamUseful 0.25 directionUseful 0.54 Humanify better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s33402 / vag ×
Declaration · line 1107 …
va6.fillRect(vad - vab, vae - vab, vab * 2, vab * 2);
va6.strokeRect(vad - vab, vae - vab, vab * 2, vab * 2);
}
}
function vaf(vag , vah, vai, vaj) {
let {
x: vak,
y: vam,
w: van,
h: vao
} = vah;
if (vag.includes("w")) {
vak += vai;
van -= vai;
}
if (vag.includes("e")) {
van += vai;
}
if (vag.includes("n")) {
… Reference · line 1125 …
van += vai;
}
if (vag.includes("n")) {
vam += vaj;
vao -= vaj;
}
if (vag .includes("s")) {
vao += vaj;
}
if (van < 0) {
vak += van;
van = -van;
}
if (vao < 0) {
vam += vao;
vao = -vao;
}
return {
x: vak,
y: vam,
w: Math.max(1, van),
h: Math.max(1, vao)
…
s33407 Input vah origBounds rectObjectUseful 0.59 boundsUseful 0.72 Humanify better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s33407 / vah ×
Declaration · line 1107 …
va6.strokeRect(vad - vab, vae - vab, vab * 2, vab * 2);
}
}
function vaf(vag, vah , vai, vaj) {
let {
x: vak,
y: vam,
w: van,
h: vao
} = vah;
if (vag.includes("w")) {
vak += vai;
van -= vai;
}
if (vag.includes("e")) {
van += vai;
}
if (vag.includes("n")) {
…
s33412 Input vai dx deltaWidthUseful 0.12 deltaXUseful 0.90 Humanify better Present Pre-rename JavaScript · s33412 / vai ×
Declaration · line 1107 …
va6.strokeRect(vad - vab, vae - vab, vab * 2, vab * 2);
}
}
function vaf(vag, vah, vai , vaj) {
let {
x: vak,
y: vam,
w: van,
h: vao
} = vah;
if (vag.includes("w")) {
vak += vai;
van -= vai;
}
if (vag.includes("e")) {
van += vai;
}
if (vag.includes("n")) {
…
s33417 Input vaj dy deltaHeightUseful 0.45 dyUseful 0.76 Humanify better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s33417 / vaj ×
Declaration · line 1107 …
va6.strokeRect(vad - vab, vae - vab, vab * 2, vab * 2);
}
}
function vaf(vag, vah, vai, vaj ) {
let {
x: vak,
y: vam,
w: van,
h: vao
} = vah;
if (vag.includes("w")) {
vak += vai;
van -= vai;
}
if (vag.includes("e")) {
van += vai;
}
if (vag.includes("n")) {
vam += vaj;
… Reference · line 1123 …
if (vag.includes("e")) {
van += vai;
}
if (vag.includes("n")) {
vam += vaj;
vao -= vaj ;
}
if (vag.includes("s")) {
vao += vaj;
}
if (van < 0) {
vak += van;
van = -van;
}
if (vao < 0) {
vam += vao;
vao = -vao;
}
return {
x: vak,
y: vam,
w: Math.max(1, van),
…
s33443 Input vak x boundXUseful 0.64 xCoordUseful 0.76 Both useful Present Usefulness probability is near the provisional 0.5 boundary. Preference confidence is low. Pre-rename JavaScript · s33443 / vak ×
Declaration · line 1109 …
va6.strokeRect(vad - vab, vae - vab, vab * 2, vab * 2);
}
}
function vaf(vag, vah, vai, vaj) {
let {
x: vak ,
y: vam,
w: van,
h: vao
} = vah;
if (vag.includes("w")) {
vak += vai;
van -= vai;
}
if (vag.includes("e")) {
van += vai;
}
if (vag.includes("n")) {
vam += vaj;
vao -= vaj;
… Reference · line 1129 …
vao -= vaj;
}
if (vag.includes("s")) {
vao += vaj;
}
if (van < 0) {
vak += van;
van = -van;
}
if (vao < 0) {
vam += vao;
vao = -vao;
}
return {
x: vak,
y: vam,
w: Math.max(1, van),
h: Math.max(1, vao)
};
}
function vap(vaq, vas, vat, vau) {
const vav = vas.zoom;
…
s33457 Input vam y boundYUseful 0.45 yUseful 0.79 Humanify better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s33457 / vam ×
Declaration · line 1110 …
va6.strokeRect(vad - vab, vae - vab, vab * 2, vab * 2);
}
}
function vaf(vag, vah, vai, vaj) {
let {
x: vak,
y: vam ,
w: van,
h: vao
} = vah;
if (vag.includes("w")) {
vak += vai;
van -= vai;
}
if (vag.includes("e")) {
van += vai;
}
if (vag.includes("n")) {
vam += vaj;
vao -= vaj;
}
if (vag.includes("s")) {
… Reference · line 1133 …
}
if (van < 0) {
vak += van;
van = -van;
}
if (vao < 0) {
vam += vao;
vao = -vao;
}
return {
x: vak,
y: vam,
w: Math.max(1, van),
h: Math.max(1, vao)
};
}
function vap(vaq, vas, vat, vau) {
const vav = vas.zoom;
const {
x: vaw,
y: vax
…
s33471 Input van w boundWidthUseful 0.78 widthUseful 0.91 Humanify better Present Pre-rename JavaScript · s33471 / van ×
Declaration · line 1111 …
}
}
function vaf(vag, vah, vai, vaj) {
let {
x: vak,
y: vam,
w: van ,
h: vao
} = vah;
if (vag.includes("w")) {
vak += vai;
van -= vai;
}
if (vag.includes("e")) {
van += vai;
}
if (vag.includes("n")) {
vam += vaj;
vao -= vaj;
}
if (vag.includes("s")) {
… Reference · line 1128 …
vam += vaj;
vao -= vaj;
}
if (vag.includes("s")) {
vao += vaj;
}
if (van < 0) {
vak += van;
van = -van;
}
if (vao < 0) {
vam += vao;
vao = -vao;
}
return {
x: vak,
y: vam,
w: Math.max(1, van),
h: Math.max(1, vao)
};
}
function vap(vaq, vas, vat, vau) {
…
s33485 Input vao h boundHeightUseful 0.72 heightUseful 0.81 Both useful Present Preference confidence is low. Pre-rename JavaScript · s33485 / vao ×
Declaration · line 1112 …
function vaf(vag, vah, vai, vaj) {
let {
x: vak,
y: vam,
w: van,
h: vao
} = vah;
if (vag.includes("w")) {
vak += vai;
van -= vai;
}
if (vag.includes("e")) {
van += vai;
}
if (vag.includes("n")) {
vam += vaj;
vao -= vaj;
}
if (vag.includes("s")) {
… Reference · line 1126 …
if (vag.includes("n")) {
vam += vaj;
vao -= vaj;
}
if (vag.includes("s")) {
vao += vaj;
}
if (van < 0) {
vak += van;
van = -van;
}
if (vao < 0) {
vam += vao;
vao = -vao;
}
return {
x: vak,
y: vam,
w: Math.max(1, van),
h: Math.max(1, vao)
};
…
s33988 Input vap drawBrushCursor handleInteractionUseful 0.12 EventEmitter5Useful 0.03 Both poor Absent Pre-rename JavaScript · s33988 / vap ×
Declaration · line 1143 …
x: vak,
y: vam,
w: Math.max(1, van),
h: Math.max(1, vao)
};
}
function vap (vaq, vas, vat, vau) {
const vav = vas.zoom;
const {
x: vaw,
y: vax
} = vas.screenToDoc(vat, vau);
const vay = Math.floor(vaw),
vaz = Math.floor(vax);
const vb0 = v4i._brushSize;
const vb1 = v4i._brushShape || "circle";
… Reference · line 1362 …
const vdm = v4i._mouseX - vdl.left;
const vdn = v4i._mouseY - vdl.top;
if (vdm >= 0 && vdn >= 0) vap (vdi, vdj, vdm, vdn);
}
}
};
var vdo = class extends vbq {
constructor() {
super("Eraser", "e");
this._drawing = false;
this._lastX = 0;
this._lastY = 0;
this._preSelSnap = null;
}
onPointerDown(vdp, vdq, vdr, vds) {
…
s33992 Input vaq ctx ctxUseful 0.83 eventUseful 0.04 FlowName better Present Pre-rename JavaScript · s33992 / vaq ×
Declaration · line 1143 …
y: vam,
w: Math.max(1, van),
h: Math.max(1, vao)
};
}
function vap(vaq , vas, vat, vau) {
const vav = vas.zoom;
const {
x: vaw,
y: vax
} = vas.screenToDoc(vat, vau);
const vay = Math.floor(vaw),
vaz = Math.floor(vax);
const vb0 = v4i._brushSize;
const vb1 = v4i._brushShape || "circle";
… Reference · line 1177 …
for (let vbc = 0; vbc < vb2.length; vbc += 2) {
vbb.add(vb2[vbc] + "," + vb2[vbc + 1]);
}
vaq .beginPath();
for (let vbd = 0; vbd < vb2.length; vbd += 2) {
const vbe = vb2[vbd],
vbf = vb2[vbd + 1];
const vbg = vbe * vav + vas.panX,
vbh = vbf * vav + vas.panY;
if (!vbb.has(vbe + "," + (vbf - 1))) {
…
s33997 Input vas doc viewportUseful 0.30 viewportUseful 0.30 Both poor Present Pre-rename JavaScript · s33997 / vas ×
Declaration · line 1143 …
y: vam,
w: Math.max(1, van),
h: Math.max(1, vao)
};
}
function vap(vaq, vas , vat, vau) {
const vav = vas.zoom;
const {
x: vaw,
y: vax
} = vas.screenToDoc(vat, vau);
const vay = Math.floor(vaw),
vaz = Math.floor(vax);
const vb0 = v4i._brushSize;
const vb1 = v4i._brushShape || "circle";
… Reference · line 1181 …
for (let vbd = 0; vbd < vb2.length; vbd += 2) {
const vbe = vb2[vbd],
vbf = vb2[vbd + 1];
const vbg = vbe * vav + vas .panX,
vbh = vbf * vav + vas.panY;
if (!vbb.has(vbe + "," + (vbf - 1))) {
vaq.moveTo(vbg, vbh);
vaq.lineTo(vbg + vav, vbh);
}
if (!vbb.has(vbe + "," + (vbf + 1))) {
vaq.moveTo(vbg, vbh + vav);
…
s34002 Input vat screenX startXUseful 0.21 clientXUseful 0.47 Both poor Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s34002 / vat ×
Declaration · line 1143 …
y: vam,
w: Math.max(1, van),
h: Math.max(1, vao)
};
}
function vap(vaq, vas, vat , vau) {
const vav = vas.zoom;
const {
x: vaw,
y: vax
} = vas.screenToDoc(vat, vau);
const vay = Math.floor(vaw),
vaz = Math.floor(vax);
const vb0 = v4i._brushSize;
const vb1 = v4i._brushShape || "circle";
…
s34007 Input vau screenY startYUseful 0.22 clientYUseful 0.47 Both poor Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s34007 / vau ×
Declaration · line 1143 …
w: Math.max(1, van),
h: Math.max(1, vao)
};
}
function vap(vaq, vas, vat, vau ) {
const vav = vas.zoom;
const {
x: vaw,
y: vax
} = vas.screenToDoc(vat, vau);
const vay = Math.floor(vaw),
vaz = Math.floor(vax);
const vb0 = v4i._brushSize;
const vb1 = v4i._brushShape || "circle";
…
s34024 Input vav z zoomUseful 0.83 zoomLevelUseful 0.78 FlowName better Present Pre-rename JavaScript · s34024 / vav ×
Declaration · line 1144 …
w: Math.max(1, van),
h: Math.max(1, vao)
};
}
function vap(vaq, vas, vat, vau) {
const vav = vas.zoom;
const {
x: vaw,
y: vax
} = vas.screenToDoc(vat, vau);
const vay = Math.floor(vaw),
vaz = Math.floor(vax);
const vb0 = v4i._brushSize;
const vb1 = v4i._brushShape || "circle";
const vb2 = [];
… Reference · line 1181 …
for (let vbd = 0; vbd < vb2.length; vbd += 2) {
const vbe = vb2[vbd],
vbf = vb2[vbd + 1];
const vbg = vbe * vav + vas.panX,
vbh = vbf * vav + vas.panY;
if (!vbb.has(vbe + "," + (vbf - 1))) {
vaq.moveTo(vbg, vbh);
vaq.lineTo(vbg + vav, vbh);
}
if (!vbb.has(vbe + "," + (vbf + 1))) {
vaq.moveTo(vbg, vbh + vav);
…
s34061 Input vaw docX docX2Useful 0.19 docXUseful 0.87 Humanify better Present Pre-rename JavaScript · s34061 / vaw ×
Declaration · line 1146 …
};
}
function vap(vaq, vas, vat, vau) {
const vav = vas.zoom;
const {
x: vaw ,
y: vax
} = vas.screenToDoc(vat, vau);
const vay = Math.floor(vaw),
vaz = Math.floor(vax);
const vb0 = v4i._brushSize;
const vb1 = v4i._brushShape || "circle";
const vb2 = [];
if (vb1 === "square") {
const vb3 = Math.floor(vaw - vb0 / 2);
…
s34075 Input vax docY docYUseful 0.71 docYUseful 0.71 Both useful Present Pre-rename JavaScript · s34075 / vax ×
Declaration · line 1147 …
function vap(vaq, vas, vat, vau) {
const vav = vas.zoom;
const {
x: vaw,
y: vax
} = vas.screenToDoc(vat, vau);
const vay = Math.floor(vaw),
vaz = Math.floor(vax);
const vb0 = v4i._brushSize;
const vb1 = v4i._brushShape || "circle";
const vb2 = [];
if (vb1 === "square") {
const vb3 = Math.floor(vaw - vb0 / 2);
… Reference · line 1156 …
if (vb1 === "square") {
const vb3 = Math.floor(vaw - vb0 / 2);
const vb4 = Math.floor(vax - vb0 / 2);
for (let vb5 = vb4; vb5 < vb4 + vb0; vb5++) {
for (let vb6 = vb3; vb6 < vb3 + vb0; vb6++) {
vb2.push(vb6, vb5);
}
}
} else {
const vb7 = vb0 / 2;
const vb8 = Math.ceil(vb7);
…
s34124 Input vay cx docXUseful 0.47 brushXUseful 0.25 Both poor Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s34124 / vay ×
Declaration · line 1149 …
const vav = vas.zoom;
const {
x: vaw,
y: vax
} = vas.screenToDoc(vat, vau);
const vay = Math.floor(vaw),
vaz = Math.floor(vax);
const vb0 = v4i._brushSize;
const vb1 = v4i._brushShape || "circle";
const vb2 = [];
if (vb1 === "square") {
const vb3 = Math.floor(vaw - vb0 / 2);
const vb4 = Math.floor(vax - vb0 / 2);
… Reference · line 1168 …
for (let vba = -vb8; vba <= vb8; vba++) {
if (vba * vba + vb9 * vb9 <= vb7 * vb7) {
vb2.push(vay + vba, vaz + vb9);
}
}
}
}
const vbb = new Set();
for (let vbc = 0; vbc < vb2.length; vbc += 2) {
vbb.add(vb2[vbc] + "," + vb2[vbc + 1]);
}
vaq.beginPath();
for (let vbd = 0; vbd < vb2.length; vbd += 2) {
…
s34153 Input vaz cy docYFloorUseful 0.83 docY2Useful 0.26 FlowName better Present Pre-rename JavaScript · s34153 / vaz ×
Declaration · line 1150 …
x: vaw,
y: vax
} = vas.screenToDoc(vat, vau);
const vay = Math.floor(vaw),
vaz = Math.floor(vax);
const vb0 = v4i._brushSize;
const vb1 = v4i._brushShape || "circle";
const vb2 = [];
if (vb1 === "square") {
const vb3 = Math.floor(vaw - vb0 / 2);
const vb4 = Math.floor(vax - vb0 / 2);
for (let vb5 = vb4; vb5 < vb4 + vb0; vb5++) {
… Reference · line 1168 …
for (let vba = -vb8; vba <= vb8; vba++) {
if (vba * vba + vb9 * vb9 <= vb7 * vb7) {
vb2.push(vay + vba, vaz + vb9);
}
}
}
}
const vbb = new Set();
for (let vbc = 0; vbc < vb2.length; vbc += 2) {
vbb.add(vb2[vbc] + "," + vb2[vbc + 1]);
}
vaq.beginPath();
for (let vbd = 0; vbd < vb2.length; vbd += 2) {
…
s34186 Input vb0 size brushSizeUseful 0.89 brushSizeUseful 0.89 Both useful Present Pre-rename JavaScript · s34186 / vb0 ×
Declaration · line 1151 …
} = vas.screenToDoc(vat, vau);
const vay = Math.floor(vaw),
vaz = Math.floor(vax);
const vb0 = v4i._brushSize;
const vb1 = v4i._brushShape || "circle";
const vb2 = [];
if (vb1 === "square") {
const vb3 = Math.floor(vaw - vb0 / 2);
const vb4 = Math.floor(vax - vb0 / 2);
for (let vb5 = vb4; vb5 < vb4 + vb0; vb5++) {
… Reference · line 1158 …
for (let vb5 = vb4; vb5 < vb4 + vb0; vb5++) {
for (let vb6 = vb3; vb6 < vb3 + vb0 ; vb6++) {
vb2.push(vb6, vb5);
}
}
} else {
const vb7 = vb0 / 2;
const vb8 = Math.ceil(vb7);
for (let vb9 = -vb8; vb9 <= vb8; vb9++) {
for (let vba = -vb8; vba <= vb8; vba++) {
if (vba * vba + vb9 * vb9 <= vb7 * vb7) {
…
s34218 Input vb1 shape brushShapeUseful 0.85 brushShapeUseful 0.85 Both useful Present Pre-rename JavaScript · s34218 / vb1 ×
Declaration · line 1152 …
const vay = Math.floor(vaw),
vaz = Math.floor(vax);
const vb0 = v4i._brushSize;
const vb1 = v4i._brushShape || "circle";
const vb2 = [];
if (vb1 === "square") {
const vb3 = Math.floor(vaw - vb0 / 2);
const vb4 = Math.floor(vax - vb0 / 2);
for (let vb5 = vb4; vb5 < vb4 + vb0; vb5++) {
for (let vb6 = vb3; vb6 < vb3 + vb0; vb6++) {
…
s34263 Input vb2 pixels pixelsUseful 0.92 brushPixelsUseful 0.83 Both useful Present Preference confidence is low. Pre-rename JavaScript · s34263 / vb2 ×
Declaration · line 1153 …
vaz = Math.floor(vax);
const vb0 = v4i._brushSize;
const vb1 = v4i._brushShape || "circle";
const vb2 = [];
if (vb1 === "square") {
const vb3 = Math.floor(vaw - vb0 / 2);
const vb4 = Math.floor(vax - vb0 / 2);
for (let vb5 = vb4; vb5 < vb4 + vb0; vb5++) {
for (let vb6 = vb3; vb6 < vb3 + vb0; vb6++) {
vb2.push(vb6, vb5);
… Reference · line 1168 …
for (let vba = -vb8; vba <= vb8; vba++) {
if (vba * vba + vb9 * vb9 <= vb7 * vb7) {
vb2 .push(vay + vba, vaz + vb9);
}
}
}
}
const vbb = new Set();
for (let vbc = 0; vbc < vb2.length; vbc += 2) {
vbb.add(vb2[vbc] + "," + vb2[vbc + 1]);
}
vaq.beginPath();
for (let vbd = 0; vbd < vb2.length; vbd += 2) {
…
s34313 Input vb3 left squareStartXUseful 0.62 startXUseful 0.73 Both useful Present Usefulness probability is near the provisional 0.5 boundary. Preference confidence is low. Pre-rename JavaScript · s34313 / vb3 ×
Declaration · line 1155 …
const vb1 = v4i._brushShape || "circle";
const vb2 = [];
if (vb1 === "square") {
const vb3 = Math.floor(vaw - vb0 / 2);
const vb4 = Math.floor(vax - vb0 / 2);
for (let vb5 = vb4; vb5 < vb4 + vb0; vb5++) {
for (let vb6 = vb3; vb6 < vb3 + vb0; vb6++) {
vb2.push(vb6, vb5);
}
}
} else {
…
s34358 Input vb4 top squareStartYUseful 0.49 startYUseful 0.65 Humanify better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s34358 / vb4 ×
Declaration · line 1156 …
const vb2 = [];
if (vb1 === "square") {
const vb3 = Math.floor(vaw - vb0 / 2);
const vb4 = Math.floor(vax - vb0 / 2);
for (let vb5 = vb4; vb5 < vb4 + vb0; vb5++) {
for (let vb6 = vb3; vb6 < vb3 + vb0; vb6++) {
vb2.push(vb6, vb5);
}
}
} else {
const vb7 = vb0 / 2;
const vb8 = Math.ceil(vb7);
…
s34406 Input vb5 py rowUseful 0.48 yUseful 0.80 Humanify better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s34406 / vb5 ×
Declaration · line 1157 …
const vb3 = Math.floor(vaw - vb0 / 2);
const vb4 = Math.floor(vax - vb0 / 2);
for (let vb5 = vb4; vb5 < vb4 + vb0; vb5++) {
for (let vb6 = vb3; vb6 < vb3 + vb0; vb6++) {
vb2.push(vb6, vb5);
}
}
} else {
const vb7 = vb0 / 2;
const vb8 = Math.ceil(vb7);
for (let vb9 = -vb8; vb9 <= vb8; vb9++) {
…
s34460 Input vb6 px colUseful 0.75 currentIndexUseful 0.06 FlowName better Present Pre-rename JavaScript · s34460 / vb6 ×
Declaration · line 1158 …
const vb4 = Math.floor(vax - vb0 / 2);
for (let vb5 = vb4; vb5 < vb4 + vb0; vb5++) {
for (let vb6 = vb3; vb6 < vb3 + vb0; vb6++) {
vb2.push(vb6, vb5);
}
}
} else {
const vb7 = vb0 / 2;
const vb8 = Math.ceil(vb7);
for (let vb9 = -vb8; vb9 <= vb8; vb9++) {
for (let vba = -vb8; vba <= vb8; vba++) {
…
s34570 Input vb7 rad radiusHalfUseful 0.81 radiusUseful 0.53 Both useful Present Usefulness probability is near the provisional 0.5 boundary. Preference confidence is low. Pre-rename JavaScript · s34570 / vb7 ×
Declaration · line 1163 …
for (let vb6 = vb3; vb6 < vb3 + vb0; vb6++) {
vb2.push(vb6, vb5);
}
}
} else {
const vb7 = vb0 / 2;
const vb8 = Math.ceil(vb7);
for (let vb9 = -vb8; vb9 <= vb8; vb9++) {
for (let vba = -vb8; vba <= vb8; vba++) {
if (vba * vba + vb9 * vb9 <= vb7 * vb7) {
vb2.push(vay + vba, vaz + vb9);
…
s34597 Input vb8 ri radiusCeilUseful 0.92 radiusCeilUseful 0.92 Both useful Present Pre-rename JavaScript · s34597 / vb8 ×
Declaration · line 1164 …
vb2.push(vb6, vb5);
}
}
} else {
const vb7 = vb0 / 2;
const vb8 = Math.ceil(vb7);
for (let vb9 = -vb8; vb9 <= vb8; vb9++) {
for (let vba = -vb8; vba <= vb8; vba++) {
if (vba * vba + vb9 * vb9 <= vb7 * vb7) {
vb2.push(vay + vba, vaz + vb9);
}
}
}
…
s34634 Input vb9 dy radiusOffsetUseful 0.07 dyUseful 0.75 Humanify better Present Pre-rename JavaScript · s34634 / vb9 ×
Declaration · line 1165 …
}
} else {
const vb7 = vb0 / 2;
const vb8 = Math.ceil(vb7);
for (let vb9 = -vb8; vb9 <= vb8; vb9++) {
for (let vba = -vb8; vba <= vb8; vba++) {
if (vba * vba + vb9 * vb9 <= vb7 * vb7) {
vb2.push(vay + vba, vaz + vb9);
}
}
}
}
const vbb = new Set();
…
s34684 Input vba dx dxUseful 0.86 dxUseful 0.86 Both useful Present Pre-rename JavaScript · s34684 / vba ×
Declaration · line 1166 …
const vb8 = Math.ceil(vb7);
for (let vb9 = -vb8; vb9 <= vb8; vb9++) {
for (let vba = -vb8; vba <= vb8; vba++) {
if (vba * vba + vb9 * vb9 <= vb7 * vb7) {
vb2.push(vay + vba, vaz + vb9);
}
}
}
}
const vbb = new Set();
for (let vbc = 0; vbc < vb2.length; vbc += 2) {
…
s34859 Input vbb filled pointsSetUseful 0.78 colIndexUseful 0.06 FlowName better Absent Pre-rename JavaScript · s34859 / vbb ×
Declaration · line 1173 …
vb2.push(vay + vba, vaz + vb9);
}
}
}
}
const vbb = new Set();
for (let vbc = 0; vbc < vb2.length; vbc += 2) {
vbb.add(vb2[vbc] + "," + vb2[vbc + 1]);
}
vaq.beginPath();
for (let vbd = 0; vbd < vb2.length; vbd += 2) {
const vbe = vb2[vbd],
vbf = vb2[vbd + 1];
… Reference · line 1183 …
vbf = vb2[vbd + 1];
const vbg = vbe * vav + vas.panX,
vbh = vbf * vav + vas.panY;
if (!vbb .has(vbe + "," + (vbf - 1))) {
vaq.moveTo(vbg, vbh);
vaq.lineTo(vbg + vav, vbh);
}
if (!vbb.has(vbe + "," + (vbf + 1))) {
vaq.moveTo(vbg, vbh + vav);
vaq.lineTo(vbg + vav, vbh + vav);
}
if (!vbb.has(vbe - 1 + "," + vbf)) {
…
s34889 Input vbc i iUseful 0.76 indexUseful 0.72 Both useful Present Preference confidence is low. Pre-rename JavaScript · s34889 / vbc ×
Declaration · line 1174 …
vb2.push(vay + vba, vaz + vb9);
}
}
}
}
const vbb = new Set();
for (let vbc = 0; vbc < vb2.length; vbc += 2) {
vbb.add(vb2[vbc] + "," + vb2[vbc + 1]);
}
vaq.beginPath();
for (let vbd = 0; vbd < vb2.length; vbd += 2) {
const vbe = vb2[vbd],
vbf = vb2[vbd + 1];
const vbg = vbe * vav + vas.panX,
…
s35014 Input vbd i iUseful 0.64 iUseful 0.64 Both useful Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s35014 / vbd ×
Declaration · line 1178 …
for (let vbc = 0; vbc < vb2.length; vbc += 2) {
vbb.add(vb2[vbc] + "," + vb2[vbc + 1]);
}
vaq.beginPath();
for (let vbd = 0; vbd < vb2.length; vbd += 2) {
const vbe = vb2[vbd],
vbf = vb2[vbd + 1];
const vbg = vbe * vav + vas.panX,
vbh = vbf * vav + vas.panY;
if (!vbb.has(vbe + "," + (vbf - 1))) {
vaq.moveTo(vbg, vbh);
…
s35065 Input vbe px xUseful 0.51 gridXUseful 0.49 FlowName better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s35065 / vbe ×
Declaration · line 1179 …
}
vaq.beginPath();
for (let vbd = 0; vbd < vb2.length; vbd += 2) {
const vbe = vb2[vbd],
vbf = vb2[vbd + 1];
const vbg = vbe * vav + vas.panX,
vbh = vbf * vav + vas.panY;
if (!vbb.has(vbe + "," + (vbf - 1))) {
vaq.moveTo(vbg, vbh);
vaq.lineTo(vbg + vav, vbh);
}
if (!vbb.has(vbe + "," + (vbf + 1))) {
… Reference · line 1191 …
vaq.moveTo(vbg, vbh + vav);
vaq.lineTo(vbg + vav, vbh + vav);
}
if (!vbb.has(vbe - 1 + "," + vbf)) {
vaq.moveTo(vbg, vbh);
vaq.lineTo(vbg, vbh + vav);
}
if (!vbb.has(vbe + 1 + "," + vbf)) {
vaq.moveTo(vbg + vav, vbh);
vaq.lineTo(vbg + vav, vbh + vav);
}
}
vaq.lineWidth = 1;
…
s35089 Input vbf py yUseful 0.69 yUseful 0.69 Both useful Present Pre-rename JavaScript · s35089 / vbf ×
Declaration · line 1180 …
vaq.beginPath();
for (let vbd = 0; vbd < vb2.length; vbd += 2) {
const vbe = vb2[vbd],
vbf = vb2[vbd + 1];
const vbg = vbe * vav + vas.panX,
vbh = vbf * vav + vas.panY;
if (!vbb.has(vbe + "," + (vbf - 1))) {
vaq.moveTo(vbg, vbh);
vaq.lineTo(vbg + vav, vbh);
}
if (!vbb.has(vbe + "," + (vbf + 1))) {
… Reference · line 1191 …
vaq.moveTo(vbg, vbh + vav);
vaq.lineTo(vbg + vav, vbh + vav);
}
if (!vbb.has(vbe - 1 + "," + vbf )) {
vaq.moveTo(vbg, vbh);
vaq.lineTo(vbg, vbh + vav);
}
if (!vbb.has(vbe + 1 + "," + vbf)) {
vaq.moveTo(vbg + vav, vbh);
vaq.lineTo(vbg + vav, vbh + vav);
}
}
vaq.lineWidth = 1;
vaq.strokeStyle = "rgba(0,0,0,0.6)";
…
s35121 Input vbg sx screenXUseful 0.65 screenXUseful 0.65 Both useful Present Pre-rename JavaScript · s35121 / vbg ×
Declaration · line 1181 …
for (let vbd = 0; vbd < vb2.length; vbd += 2) {
const vbe = vb2[vbd],
vbf = vb2[vbd + 1];
const vbg = vbe * vav + vas.panX,
vbh = vbf * vav + vas.panY;
if (!vbb.has(vbe + "," + (vbf - 1))) {
vaq.moveTo(vbg, vbh);
vaq.lineTo(vbg + vav, vbh);
}
if (!vbb.has(vbe + "," + (vbf + 1))) {
vaq.moveTo(vbg, vbh + vav);
… Reference · line 1189 …
if (!vbb.has(vbe + "," + (vbf + 1))) {
vaq.moveTo(vbg, vbh + vav);
vaq.lineTo(vbg + vav, vbh + vav);
}
if (!vbb.has(vbe - 1 + "," + vbf)) {
vaq.moveTo(vbg, vbh);
vaq.lineTo(vbg, vbh + vav);
}
if (!vbb.has(vbe + 1 + "," + vbf)) {
vaq.moveTo(vbg + vav, vbh);
vaq.lineTo(vbg + vav, vbh + vav);
…
s35157 Input vbh sy screenYUseful 0.22 screenYUseful 0.22 Both poor Present Pre-rename JavaScript · s35157 / vbh ×
Declaration · line 1182 …
const vbe = vb2[vbd],
vbf = vb2[vbd + 1];
const vbg = vbe * vav + vas.panX,
vbh = vbf * vav + vas.panY;
if (!vbb.has(vbe + "," + (vbf - 1))) {
vaq.moveTo(vbg, vbh);
vaq.lineTo(vbg + vav, vbh);
}
if (!vbb.has(vbe + "," + (vbf + 1))) {
vaq.moveTo(vbg, vbh + vav);
vaq.lineTo(vbg + vav, vbh + vav);
… Reference · line 1192 …
vaq.lineTo(vbg + vav, vbh + vav);
}
if (!vbb.has(vbe - 1 + "," + vbf)) {
vaq.moveTo(vbg, vbh );
vaq.lineTo(vbg, vbh + vav);
}
if (!vbb.has(vbe + 1 + "," + vbf)) {
vaq.moveTo(vbg + vav, vbh);
vaq.lineTo(vbg + vav, vbh + vav);
}
}
vaq.lineWidth = 1;
vaq.strokeStyle = "rgba(0,0,0,0.6)";
…
s35903 Input vbi handleCursor getResizeCursorUseful 0.78 EventEmitter6Useful 0.02 FlowName better Absent Pre-rename JavaScript · s35903 / vbi ×
Declaration · line 1208 …
vaq.strokeStyle = "rgba(255,255,255,0.8)";
vaq.setLineDash([2, 2]);
vaq.stroke();
vaq.setLineDash([]);
}
function vbi (vbj, vbk) {
const vbl = {
n: 0,
ne: 45,
e: 90,
se: 135,
s: 180,
sw: 225,
w: 270,
nw: 315
};
const vbm = ["ns-resize", "nesw-resize", "ew-resize", "nwse-resize"];
const vbn = vbl[vbj] || 0;
… Reference · line 2405 …
style.cursor = "move";else if (vnz.mode === "rotate") vny.style.cursor = "grab";else if (vnz.mode === "move") vny.style.cursor = "move";else vny.style.cursor = vbi (vnz.handle.id, this._rotation);
} else {
const vo0 = this._hitTestSelection(vnu, vnv, vnw);
if (!vo0) vny.style.cursor = "move";else if (vo0.mode === "rotate") vny.style.cursor = "grab";else if (vo0.mode === "move") vny.style.cursor = "move";else vny.style.cursor = vbi(vo0.handle.id, 0);
…
s35907 Input vbj id handleIdUseful 0.43 directionUseful 0.35 Both poor Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s35907 / vbj ×
Declaration · line 1208 …
vaq.setLineDash([2, 2]);
vaq.stroke();
vaq.setLineDash([]);
}
function vbi(vbj , vbk) {
const vbl = {
n: 0,
ne: 45,
e: 90,
se: 135,
s: 180,
sw: 225,
w: 270,
nw: 315
};
const vbm = ["ns-resize", "nesw-resize", "ew-resize", "nwse-resize"];
const vbn = vbl[vbj] || 0;
…
s35912 Input vbk rotation cursorAngleUseful 0.64 angleUseful 0.70 Both useful Present Usefulness probability is near the provisional 0.5 boundary. Preference confidence is low. Pre-rename JavaScript · s35912 / vbk ×
Declaration · line 1208 …
vaq.setLineDash([2, 2]);
vaq.stroke();
vaq.setLineDash([]);
}
function vbi(vbj, vbk ) {
const vbl = {
n: 0,
ne: 45,
e: 90,
se: 135,
s: 180,
sw: 225,
w: 270,
nw: 315
};
const vbm = ["ns-resize", "nesw-resize", "ew-resize", "nwse-resize"];
const vbn = vbl[vbj] || 0;
… Reference · line 1221 …
const vbm = ["ns-resize", "nesw-resize", "ew-resize", "nwse-resize"];
const vbn = vbl[vbj] || 0;
const vbo = ((vbn + vbk * 180 / Math.PI) % 360 + 360) % 360;
const vbp = Math.round(vbo / 45) % 4;
return vbm[vbp];
}
var vbq = class {
constructor(vbr, vbs) {
this.name = vbr;
this.key = vbs;
}
onPointerDown(vbt, vbu, vbv, vbw) {}
…
s35929 Input vbl baseAngles directionAnglesUseful 0.84 directionAnglesUseful 0.84 Both useful Present Pre-rename JavaScript · s35929 / vbl ×
Declaration · line 1209 …
vaq.setLineDash([2, 2]);
vaq.stroke();
vaq.setLineDash([]);
}
function vbi(vbj, vbk) {
const vbl = {
n: 0,
ne: 45,
e: 90,
se: 135,
s: 180,
sw: 225,
w: 270,
nw: 315
};
const vbm = ["ns-resize", "nesw-resize", "ew-resize", "nwse-resize"];
const vbn = vbl[vbj] || 0;
const vbo = ((vbn + vbk * 180 / Math.PI) % 360 + 360) % 360;
…
s36065 Input vbm cursors resizeCursorsUseful 0.87 cursorStylesUseful 0.47 FlowName better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s36065 / vbm ×
Declaration · line 1219 …
e: 90,
se: 135,
s: 180,
sw: 225,
w: 270,
nw: 315
};
const vbm = ["ns-resize", "nesw-resize", "ew-resize", "nwse-resize"];
const vbn = vbl[vbj] || 0;
const vbo = ((vbn + vbk * 180 / Math.PI) % 360 + 360) % 360;
const vbp = Math.round(vbo / 45) % 4;
return vbm[vbp];
}
var vbq = class {
…
s36139 Input vbn base baseAngleUseful 0.78 baseAngleUseful 0.78 Both useful Present Pre-rename JavaScript · s36139 / vbn ×
Declaration · line 1220 …
};
const vbm = ["ns-resize", "nesw-resize", "ew-resize", "nwse-resize"];
const vbn = vbl[vbj] || 0;
const vbo = ((vbn + vbk * 180 / Math.PI) % 360 + 360) % 360;
const vbp = Math.round(vbo / 45) % 4;
return vbm[vbp];
}
var vbq = class {
constructor(vbr, vbs) {
this.name = vbr;
this.key = vbs;
…
s36170 Input vbo deg adjustedAngleUseful 0.69 normalizedAngleUseful 0.77 Humanify better Present Pre-rename JavaScript · s36170 / vbo ×
Declaration · line 1221 …
const vbm = ["ns-resize", "nesw-resize", "ew-resize", "nwse-resize"];
const vbn = vbl[vbj] || 0;
const vbo = ((vbn + vbk * 180 / Math.PI) % 360 + 360) % 360;
const vbp = Math.round(vbo / 45) % 4;
return vbm[vbp];
}
var vbq = class {
constructor(vbr, vbs) {
this.name = vbr;
this.key = vbs;
}
onPointerDown(vbt, vbu, vbv, vbw) {}
…
s36235 Input vbp idx cursorIndexUseful 0.87 cursorIndexUseful 0.87 Both useful Present Pre-rename JavaScript · s36235 / vbp ×
Declaration · line 1222 …
const vbn = vbl[vbj] || 0;
const vbo = ((vbn + vbk * 180 / Math.PI) % 360 + 360) % 360;
const vbp = Math.round(vbo / 45) % 4;
return vbm[vbp];
}
var vbq = class {
constructor(vbr, vbs) {
this.name = vbr;
this.key = vbs;
}
onPointerDown(vbt, vbu, vbv, vbw) {}
onPointerMove(vbx, vby, vbz, vc0) {}
onPointerUp(vc1, vc2, vc3, vc4) {}
…
s36298 Input vbq Tool ToolUseful 0.90 EventEmitter7Useful 0.03 FlowName better Absent Pre-rename JavaScript · s36298 / vbq ×
Declaration · line 1225 …
const vbo = ((vbn + vbk * 180 / Math.PI) % 360 + 360) % 360;
const vbp = Math.round(vbo / 45) % 4;
return vbm[vbp];
}
var vbq = class {
constructor(vbr, vbs) {
this.name = vbr;
this.key = vbs;
}
onPointerDown(vbt, vbu, vbv, vbw) {}
onPointerMove(vbx, vby, vbz, vc0) {}
onPointerUp(vc1, vc2, vc3, vc4) {}
onOverlay(vc5, vc6) {}
… Reference · line 1240 …
return [];
}
activate() {}
deactivate() {}
};
var vc7 = class extends vbq {
constructor() {
super("Pencil", "p");
this._drawing = false;
this._lastX = 0;
this._lastY = 0;
this._button = 0;
}
onPointerDown(vc8, vc9, vca, vcb) {
const vcc = vc8.activeLayer;
if (!vcc || !vcc.visible) return;
…
s36328 Input vbr name nameUseful 0.82 nameUseful 0.82 Both useful Present Pre-rename JavaScript · s36328 / vbr ×
Declaration · line 1226 …
const vbp = Math.round(vbo / 45) % 4;
return vbm[vbp];
}
var vbq = class {
constructor(vbr , vbs) {
this.name = vbr;
this.key = vbs;
}
onPointerDown(vbt, vbu, vbv, vbw) {}
onPointerMove(vbx, vby, vbz, vc0) {}
onPointerUp(vc1, vc2, vc3, vc4) {}
onOverlay(vc5, vc6) {}
getOptions() {
return [];
…
s36333 Input vbs key keyUseful 0.76 keyUseful 0.76 Both useful Present Pre-rename JavaScript · s36333 / vbs ×
Declaration · line 1226 …
const vbp = Math.round(vbo / 45) % 4;
return vbm[vbp];
}
var vbq = class {
constructor(vbr, vbs ) {
this.name = vbr;
this.key = vbs;
}
onPointerDown(vbt, vbu, vbv, vbw) {}
onPointerMove(vbx, vby, vbz, vc0) {}
onPointerUp(vc1, vc2, vc3, vc4) {}
onOverlay(vc5, vc6) {}
getOptions() {
return [];
…
s36409 Input vbt doc eventUseful 0.72 targetUseful 0.15 FlowName better Present Pre-rename JavaScript · s36409 / vbt ×
Declaration · line 1230 …
constructor(vbr, vbs) {
this.name = vbr;
this.key = vbs;
}
onPointerDown(vbt , vbu, vbv, vbw) {}
onPointerMove(vbx, vby, vbz, vc0) {}
onPointerUp(vc1, vc2, vc3, vc4) {}
onOverlay(vc5, vc6) {}
getOptions() {
return [];
}
activate() {}
deactivate() {}
};
var vc7 = class extends vbq {
…
s36414 Input vbu x xUseful 0.75 nextUseful 0.08 FlowName better Present Pre-rename JavaScript · s36414 / vbu ×
Declaration · line 1230 …
constructor(vbr, vbs) {
this.name = vbr;
this.key = vbs;
}
onPointerDown(vbt, vbu , vbv, vbw) {}
onPointerMove(vbx, vby, vbz, vc0) {}
onPointerUp(vc1, vc2, vc3, vc4) {}
onOverlay(vc5, vc6) {}
getOptions() {
return [];
}
activate() {}
deactivate() {}
};
var vc7 = class extends vbq {
…
s36419 Input vbv y yUseful 0.86 thirdArgumentUseful 0.20 FlowName better Present Pre-rename JavaScript · s36419 / vbv ×
Declaration · line 1230 …
constructor(vbr, vbs) {
this.name = vbr;
this.key = vbs;
}
onPointerDown(vbt, vbu, vbv , vbw) {}
onPointerMove(vbx, vby, vbz, vc0) {}
onPointerUp(vc1, vc2, vc3, vc4) {}
onOverlay(vc5, vc6) {}
getOptions() {
return [];
}
activate() {}
deactivate() {}
};
var vc7 = class extends vbq {
constructor() {
…
s36424 Input vbw e pointerIdUseful 0.31 doneUseful 0.07 Both poor Present Pre-rename JavaScript · s36424 / vbw ×
Declaration · line 1230 …
constructor(vbr, vbs) {
this.name = vbr;
this.key = vbs;
}
onPointerDown(vbt, vbu, vbv, vbw ) {}
onPointerMove(vbx, vby, vbz, vc0) {}
onPointerUp(vc1, vc2, vc3, vc4) {}
onOverlay(vc5, vc6) {}
getOptions() {
return [];
}
activate() {}
deactivate() {}
};
var vc7 = class extends vbq {
constructor() {
…
s36450 Input vbx doc pointerIdUseful 0.24 eventUseful 0.19 Both poor Present Pre-rename JavaScript · s36450 / vbx ×
Declaration · line 1231 …
this.name = vbr;
this.key = vbs;
}
onPointerDown(vbt, vbu, vbv, vbw) {}
onPointerMove(vbx , vby, vbz, vc0) {}
onPointerUp(vc1, vc2, vc3, vc4) {}
onOverlay(vc5, vc6) {}
getOptions() {
return [];
}
activate() {}
deactivate() {}
};
var vc7 = class extends vbq {
constructor() {
super("Pencil", "p");
…
s36455 Input vby x xUseful 0.73 yUseful 0.21 FlowName better Present Pre-rename JavaScript · s36455 / vby ×
Declaration · line 1231 …
this.key = vbs;
}
onPointerDown(vbt, vbu, vbv, vbw) {}
onPointerMove(vbx, vby , vbz, vc0) {}
onPointerUp(vc1, vc2, vc3, vc4) {}
onOverlay(vc5, vc6) {}
getOptions() {
return [];
}
activate() {}
deactivate() {}
};
var vc7 = class extends vbq {
constructor() {
super("Pencil", "p");
…
s36460 Input vbz y yUseful 0.78 deltaZUseful 0.05 FlowName better Present Pre-rename JavaScript · s36460 / vbz ×
Declaration · line 1231 …
this.key = vbs;
}
onPointerDown(vbt, vbu, vbv, vbw) {}
onPointerMove(vbx, vby, vbz , vc0) {}
onPointerUp(vc1, vc2, vc3, vc4) {}
onOverlay(vc5, vc6) {}
getOptions() {
return [];
}
activate() {}
deactivate() {}
};
var vc7 = class extends vbq {
constructor() {
super("Pencil", "p");
…
s36465 Input vc0 e pressureUseful 0.15 optionsUseful 0.16 Both poor Present Pre-rename JavaScript · s36465 / vc0 ×
Declaration · line 1231 …
this.key = vbs;
}
onPointerDown(vbt, vbu, vbv, vbw) {}
onPointerMove(vbx, vby, vbz, vc0 ) {}
onPointerUp(vc1, vc2, vc3, vc4) {}
onOverlay(vc5, vc6) {}
getOptions() {
return [];
}
activate() {}
deactivate() {}
};
var vc7 = class extends vbq {
constructor() {
super("Pencil", "p");
this._drawing = false;
…
s36489 Input vc1 doc pointerIdUseful 0.30 aUseful 0.21 Both poor Present Pre-rename JavaScript · s36489 / vc1 ×
Declaration · line 1232 …
onPointerDown(vbt, vbu, vbv, vbw) {}
onPointerMove(vbx, vby, vbz, vc0) {}
onPointerUp(vc1 , vc2, vc3, vc4) {}
onOverlay(vc5, vc6) {}
getOptions() {
return [];
}
activate() {}
deactivate() {}
};
var vc7 = class extends vbq {
constructor() {
super("Pencil", "p");
this._drawing = false;
…
s36494 Input vc2 x pointerXUseful 0.73 secondArgUseful 0.17 FlowName better Present Pre-rename JavaScript · s36494 / vc2 ×
Declaration · line 1232 …
onPointerDown(vbt, vbu, vbv, vbw) {}
onPointerMove(vbx, vby, vbz, vc0) {}
onPointerUp(vc1, vc2 , vc3, vc4) {}
onOverlay(vc5, vc6) {}
getOptions() {
return [];
}
activate() {}
deactivate() {}
};
var vc7 = class extends vbq {
constructor() {
super("Pencil", "p");
this._drawing = false;
this._lastX = 0;
…
s36499 Input vc3 y pointerYUseful 0.81 nextUseful 0.04 FlowName better Present Pre-rename JavaScript · s36499 / vc3 ×
Declaration · line 1232 …
onPointerDown(vbt, vbu, vbv, vbw) {}
onPointerMove(vbx, vby, vbz, vc0) {}
onPointerUp(vc1, vc2, vc3 , vc4) {}
onOverlay(vc5, vc6) {}
getOptions() {
return [];
}
activate() {}
deactivate() {}
};
var vc7 = class extends vbq {
constructor() {
super("Pencil", "p");
this._drawing = false;
this._lastX = 0;
…
s36504 Input vc4 e pointerPressureUseful 0.15 next2Useful 0.09 Both poor Present Pre-rename JavaScript · s36504 / vc4 ×
Declaration · line 1232 …
onPointerDown(vbt, vbu, vbv, vbw) {}
onPointerMove(vbx, vby, vbz, vc0) {}
onPointerUp(vc1, vc2, vc3, vc4 ) {}
onOverlay(vc5, vc6) {}
getOptions() {
return [];
}
activate() {}
deactivate() {}
};
var vc7 = class extends vbq {
constructor() {
super("Pencil", "p");
this._drawing = false;
this._lastX = 0;
…
s36526 Input vc5 ctx optionsUseful 0.17 eventUseful 0.28 Both poor Present Pre-rename JavaScript · s36526 / vc5 ×
Declaration · line 1233 …
onPointerMove(vbx, vby, vbz, vc0) {}
onPointerUp(vc1, vc2, vc3, vc4) {}
onOverlay(vc5 , vc6) {}
getOptions() {
return [];
}
activate() {}
deactivate() {}
};
var vc7 = class extends vbq {
constructor() {
super("Pencil", "p");
this._drawing = false;
this._lastX = 0;
this._lastY = 0;
…
s36531 Input vc6 doc eventUseful 0.53 optionsUseful 0.23 FlowName better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s36531 / vc6 ×
Declaration · line 1233 …
onPointerMove(vbx, vby, vbz, vc0) {}
onPointerUp(vc1, vc2, vc3, vc4) {}
onOverlay(vc5, vc6 ) {}
getOptions() {
return [];
}
activate() {}
deactivate() {}
};
var vc7 = class extends vbq {
constructor() {
super("Pencil", "p");
this._drawing = false;
this._lastX = 0;
this._lastY = 0;
…
s36630 Input vc7 PencilTool PencilToolUseful 0.77 eventName2Useful 0.06 FlowName better Absent Pre-rename JavaScript · s36630 / vc7 ×
Declaration · line 1240 …
getOptions() {
return [];
}
activate() {}
deactivate() {}
};
var vc7 = class extends vbq {
constructor() {
super("Pencil", "p");
this._drawing = false;
this._lastX = 0;
this._lastY = 0;
this._button = 0;
}
onPointerDown(vc8, vc9, vca, vcb) {
const vcc = vc8.activeLayer;
… Reference · line 2644 …
this.tools = {};
this.activeTool = null;
this._toolName = null;
const vq8 = [new vc7 (), new vcq(), new vdo(), new vel(), new vf1(), new vfj(), new vgl(), new vhg(), new vie(), new viy(), new vjs(), new vk2(), new vkx()];
for (const vq9 of vq8) this.tools[vq9.name.toLowerCase()] = vq9;
this._keyMap = {};
for (const vqa of vq8) if (vqa.key) this._keyMap[vqa.key] = vqa.name.toLowerCa
…
s36827 Input vc8 doc editorUseful 0.27 editorUseful 0.27 Both poor Present Pre-rename JavaScript · s36827 / vc8 ×
Declaration · line 1248 …
this._lastX = 0;
this._lastY = 0;
this._button = 0;
}
onPointerDown(vc8 , vc9, vca, vcb) {
const vcc = vc8.activeLayer;
if (!vcc || !vcc.visible) return;
vc8.saveDrawState("Pencil");
this._drawing = true;
this._button = vcb.button;
this._lastX = Math.floor(vc9);
this._lastY = Math.floor(vca);
… Reference · line 1259 …
const vcd = this._button === 2 ? v4i._secondaryColor : v4i._primaryColor;
vcc.ctx.fillStyle = vcd;
vcc.ctx.globalAlpha = v4i._brushAlpha;
if (vc8 .selection.active && vc8.selection.mask) {
if (!vc8.selection.isSelected(this._lastX, this._lastY)) return;
}
vcc.ctx.fillRect(this._lastX, this._lastY, 1, 1);
v4i.emit("canvas:dirty");
}
onPointerMove(vce, vcf, vcg, vch) {
…
s36832 Input vc9 x xUseful 0.55 pointerXUseful 0.72 Humanify better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s36832 / vc9 ×
Declaration · line 1248 …
this._lastX = 0;
this._lastY = 0;
this._button = 0;
}
onPointerDown(vc8, vc9 , vca, vcb) {
const vcc = vc8.activeLayer;
if (!vcc || !vcc.visible) return;
vc8.saveDrawState("Pencil");
this._drawing = true;
this._button = vcb.button;
this._lastX = Math.floor(vc9);
this._lastY = Math.floor(vca);
…
s36837 Input vca y yUseful 0.71 yCoordUseful 0.79 Humanify better Present Pre-rename JavaScript · s36837 / vca ×
Declaration · line 1248 …
this._lastX = 0;
this._lastY = 0;
this._button = 0;
}
onPointerDown(vc8, vc9, vca , vcb) {
const vcc = vc8.activeLayer;
if (!vcc || !vcc.visible) return;
vc8.saveDrawState("Pencil");
this._drawing = true;
this._button = vcb.button;
this._lastX = Math.floor(vc9);
this._lastY = Math.floor(vca);
…
s36842 Input vcb e pointerEventUseful 0.75 pointerEventUseful 0.75 Both useful Present Pre-rename JavaScript · s36842 / vcb ×
Declaration · line 1248 …
this._lastX = 0;
this._lastY = 0;
this._button = 0;
}
onPointerDown(vc8, vc9, vca, vcb ) {
const vcc = vc8.activeLayer;
if (!vcc || !vcc.visible) return;
vc8.saveDrawState("Pencil");
this._drawing = true;
this._button = vcb.button;
this._lastX = Math.floor(vc9);
this._lastY = Math.floor(vca);
…
s36861 Input vcc layer activeLayerUseful 0.80 activeLayerUseful 0.80 Both useful Present Pre-rename JavaScript · s36861 / vcc ×
Declaration · line 1249 …
this._lastY = 0;
this._button = 0;
}
onPointerDown(vc8, vc9, vca, vcb) {
const vcc = vc8.activeLayer;
if (!vcc || !vcc.visible) return;
vc8.saveDrawState("Pencil");
this._drawing = true;
this._button = vcb.button;
this._lastX = Math.floor(vc9);
this._lastY = Math.floor(vca);
const vcd = this._button === 2 ? v4i._secondaryColor : v4i._primaryColor;
… Reference · line 1257 …
this._lastY = Math.floor(vca);
const vcd = this._button === 2 ? v4i._secondaryColor : v4i._primaryColor;
vcc .ctx.fillStyle = vcd;
vcc.ctx.globalAlpha = v4i._brushAlpha;
if (vc8.selection.active && vc8.selection.mask) {
if (!vc8.selection.isSelected(this._lastX, this._lastY)) return;
}
vcc.ctx.fillRect(this._lastX, this._lastY, 1, 1);
…
s37106 Input vcd color brushColor1Useful 0.31 brushColorUseful 0.70 Humanify better Present Pre-rename JavaScript · s37106 / vcd ×
Declaration · line 1256 …
this._button = vcb.button;
this._lastX = Math.floor(vc9);
this._lastY = Math.floor(vca);
const vcd = this._button === 2 ? v4i._secondaryColor : v4i._primaryColor;
vcc.ctx.fillStyle = vcd;
vcc.ctx.globalAlpha = v4i._brushAlpha;
if (vc8.selection.active && vc8.selection.mask) {
if (!vc8.selection.isSelected(this._lastX, this._lastY)) return;
…
s37499 Input vce doc documentModelUseful 0.59 documentUseful 0.52 FlowName better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s37499 / vce ×
Declaration · line 1265 …
vcc.ctx.fillRect(this._lastX, this._lastY, 1, 1);
v4i.emit("canvas:dirty");
}
onPointerMove(vce , vcf, vcg, vch) {
if (!this._drawing) return;
const vci = vce.activeLayer;
const vcj = this._button === 2 ? v4i._secondaryColor : v4i._primaryColor;
vci.ctx.fillStyle = vcj;
vci.ctx.globalAlpha = v4i._brushAlpha;
… Reference · line 1273 …
vci.ctx.globalAlpha = v4i._brushAlpha;
const vck = Math.floor(vcf),
vcl = Math.floor(vcg);
const vcm = vce .selection;
v5z(this._lastX, this._lastY, vck, vcl, (vcn, vco) => {
if (!vcm.active || vcm.isSelected(vcn, vco)) vci.ctx.fillRect(vcn, vco, 1, 1);
});
this._lastX = vck;
this._lastY = vcl;
v4i.emit("canvas:dirty");
…
s37504 Input vcf x x2Useful 0.22 currentXUseful 0.62 Humanify better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s37504 / vcf ×
Declaration · line 1265 …
vcc.ctx.fillRect(this._lastX, this._lastY, 1, 1);
v4i.emit("canvas:dirty");
}
onPointerMove(vce, vcf , vcg, vch) {
if (!this._drawing) return;
const vci = vce.activeLayer;
const vcj = this._button === 2 ? v4i._secondaryColor : v4i._primaryColor;
vci.ctx.fillStyle = vcj;
vci.ctx.globalAlpha = v4i._brushAlpha;
… Reference · line 1271 …
vci.ctx.fillStyle = vcj;
vci.ctx.globalAlpha = v4i._brushAlpha;
const vck = Math.floor(vcf ),
vcl = Math.floor(vcg);
const vcm = vce.selection;
v5z(this._lastX, this._lastY, vck, vcl, (vcn, vco) => {
if (!vcm.active || vcm.isSelected(vcn, vco)) vci.ctx.fillRect(vcn, vco, 1, 1);
});
this._lastX = vck;
…
s37509 Input vcg y y2Useful 0.23 yUseful 0.77 Humanify better Present Pre-rename JavaScript · s37509 / vcg ×
Declaration · line 1265 …
vcc.ctx.fillRect(this._lastX, this._lastY, 1, 1);
v4i.emit("canvas:dirty");
}
onPointerMove(vce, vcf, vcg , vch) {
if (!this._drawing) return;
const vci = vce.activeLayer;
const vcj = this._button === 2 ? v4i._secondaryColor : v4i._primaryColor;
vci.ctx.fillStyle = vcj;
vci.ctx.globalAlpha = v4i._brushAlpha;
const vck = Math.floor(vcf),
… Reference · line 1272 …
vci.ctx.globalAlpha = v4i._brushAlpha;
const vck = Math.floor(vcf),
vcl = Math.floor(vcg );
const vcm = vce.selection;
v5z(this._lastX, this._lastY, vck, vcl, (vcn, vco) => {
if (!vcm.active || vcm.isSelected(vcn, vco)) vci.ctx.fillRect(vcn, vco, 1, 1);
});
this._lastX = vck;
this._lastY = vcl;
…
s37514 Input vch e vchUseful 0.12 eventUseful 0.87 Humanify better Present Pre-rename JavaScript · s37514 / vch ×
Declaration · line 1265 …
vcc.ctx.fillRect(this._lastX, this._lastY, 1, 1);
v4i.emit("canvas:dirty");
}
onPointerMove(vce, vcf, vcg, vch ) {
if (!this._drawing) return;
const vci = vce.activeLayer;
const vcj = this._button === 2 ? v4i._secondaryColor : v4i._primaryColor;
vci.ctx.fillStyle = vcj;
vci.ctx.globalAlpha = v4i._brushAlpha;
const vck = Math.floor(vcf),
…
s37567 Input vci layer activeLayerUseful 0.73 activeLayerUseful 0.73 Both useful Present Pre-rename JavaScript · s37567 / vci ×
Declaration · line 1267 …
}
onPointerMove(vce, vcf, vcg, vch) {
if (!this._drawing) return;
const vci = vce.activeLayer;
const vcj = this._button === 2 ? v4i._secondaryColor : v4i._primaryColor;
vci.ctx.fillStyle = vcj;
vci.ctx.globalAlpha = v4i._brushAlpha;
const vck = Math.floor(vcf),
vcl = Math.floor(vcg);
… Reference · line 1275 …
v5z(this._lastX, this._lastY, vck, vcl, (vcn, vco) => {
if (!vcm.active || vcm.isSelected(vcn, vco)) vci .ctx.fillRect(vcn, vco, 1, 1);
});
this._lastX = vck;
this._lastY = vcl;
v4i.emit("canvas:dirty");
}
onPointerUp(vcp) {
if (!this._drawing) return;
this._drawing = false;
vq5(vcp.activeLayer);
…
s37602 Input vcj color brushColor2Useful 0.27 brushColorUseful 0.59 Humanify better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s37602 / vcj ×
Declaration · line 1268 …
onPointerMove(vce, vcf, vcg, vch) {
if (!this._drawing) return;
const vci = vce.activeLayer;
const vcj = this._button === 2 ? v4i._secondaryColor : v4i._primaryColor;
vci.ctx.fillStyle = vcj;
vci.ctx.globalAlpha = v4i._brushAlpha;
const vck = Math.floor(vcf),
vcl = Math.floor(vcg);
const vcm = vce.selection;
…
s37758 Input vck px currentXUseful 0.41 currentX2Useful 0.17 Both poor Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s37758 / vck ×
Declaration · line 1271 …
nst vcj = this._button === 2 ? v4i._secondaryColor : v4i._primaryColor;
vci.ctx.fillStyle = vcj;
vci.ctx.globalAlpha = v4i._brushAlpha;
const vck = Math.floor(vcf),
vcl = Math.floor(vcg);
const vcm = vce.selection;
v5z(this._lastX, this._lastY, vck, vcl, (vcn, vco) => {
if (!vcm.active || vcm.isSelected(vcn, vco)) vci.ctx.fillRect(vcn, vco, 1, 1);
});
… Reference · line 1277 …
if (!vcm.active || vcm.isSelected(vcn, vco)) vci.ctx.fillRect(vcn, vco, 1, 1);
});
this._lastX = vck ;
this._lastY = vcl;
v4i.emit("canvas:dirty");
}
onPointerUp(vcp) {
if (!this._drawing) return;
this._drawing = false;
vq5(vcp.activeLayer);
}
};
var vcq = class extends vbq {
constructor() {
…
s37789 Input vcl py currentYUseful 0.58 currentYUseful 0.58 Both useful Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s37789 / vcl ×
Declaration · line 1272 …
vci.ctx.fillStyle = vcj;
vci.ctx.globalAlpha = v4i._brushAlpha;
const vck = Math.floor(vcf),
vcl = Math.floor(vcg);
const vcm = vce.selection;
v5z(this._lastX, this._lastY, vck, vcl, (vcn, vco) => {
if (!vcm.active || vcm.isSelected(vcn, vco)) vci.ctx.fillRect(vcn, vco, 1, 1);
});
this._lastX = vck;
this._lastY = vcl;
…
s37824 Input vcm sel selectionUseful 0.91 selectionUseful 0.91 Both useful Present Pre-rename JavaScript · s37824 / vcm ×
Declaration · line 1273 …
vci.ctx.globalAlpha = v4i._brushAlpha;
const vck = Math.floor(vcf),
vcl = Math.floor(vcg);
const vcm = vce.selection;
v5z(this._lastX, this._lastY, vck, vcl, (vcn, vco) => {
if (!vcm.active || vcm.isSelected(vcn, vco)) vci.ctx.fillRect(vcn, vco, 1, 1);
});
this._lastX = vck;
this._lastY = vcl;
v4i.emit("canvas:dirty");
…
s37892 Input vcn lx xUseful 0.41 xUseful 0.41 Both poor Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s37892 / vcn ×
Declaration · line 1274 …
vcl = Math.floor(vcg);
const vcm = vce.selection;
v5z(this._lastX, this._lastY, vck, vcl, (vcn , vco) => {
if (!vcm.active || vcm.isSelected(vcn, vco)) vci.ctx.fillRect(vcn, vco, 1, 1);
});
this._lastX = vck;
this._lastY = vcl;
v4i.emit("canvas:dirty");
}
onPointerUp(vcp) {
if (!this._drawing) return;
…
s37897 Input vco ly yUseful 0.70 y2Useful 0.29 FlowName better Present Pre-rename JavaScript · s37897 / vco ×
Declaration · line 1274 …
vcl = Math.floor(vcg);
const vcm = vce.selection;
v5z(this._lastX, this._lastY, vck, vcl, (vcn, vco ) => {
if (!vcm.active || vcm.isSelected(vcn, vco)) vci.ctx.fillRect(vcn, vco, 1, 1);
});
this._lastX = vck;
this._lastY = vcl;
v4i.emit("canvas:dirty");
}
onPointerUp(vcp) {
if (!this._drawing) return;
…
s38108 Input vcp doc pointerEventUseful 0.59 eventUseful 0.45 FlowName better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s38108 / vcp ×
Declaration · line 1281 …
this._lastX = vck;
this._lastY = vcl;
v4i.emit("canvas:dirty");
}
onPointerUp(vcp ) {
if (!this._drawing) return;
this._drawing = false;
vq5(vcp.activeLayer);
}
};
var vcq = class extends vbq {
constructor() {
super("Brush", "b");
this._drawing = false;
this._lastX = 0;
this._lastY = 0;
…
s38223 Input vcq BrushTool BrushToolUseful 0.93 EventEmitter8Useful 0.03 FlowName better Absent Pre-rename JavaScript · s38223 / vcq ×
Declaration · line 1287 …
if (!this._drawing) return;
this._drawing = false;
vq5(vcp.activeLayer);
}
};
var vcq = class extends vbq {
constructor() {
super("Brush", "b");
this._drawing = false;
this._lastX = 0;
this._lastY = 0;
this._button = 0;
this._preSelSnap = null;
}
onPointerDown(vcr, vcs, vct, vcu) {
… Reference · line 2644 …
this.activeTool = null;
this._toolName = null;
const vq8 = [new vc7(), new vcq (), new vdo(), new vel(), new vf1(), new vfj(), new vgl(), new vhg(), new vie(), new viy(), new vjs(), new vk2(), new vkx()];
for (const vq9 of vq8) this.tools[vq9.name.toLowerCase()] = vq9;
this._keyMap = {};
for (const vqa of vq8) if (vqa.key) this._keyMap[vqa.key] = vqa.name.toLowerCase();
…
s38450 Input vcr doc viewportUseful 0.13 canvasContextUseful 0.12 Both poor Present Pre-rename JavaScript · s38450 / vcr ×
Declaration · line 1296 …
this._lastY = 0;
this._button = 0;
this._preSelSnap = null;
}
onPointerDown(vcr , vcs, vct, vcu) {
const vcv = vcr.activeLayer;
if (!vcv || !vcv.visible) return;
vcr.saveDrawState("Brush");
this._drawing = true;
this._button = vcu.button;
this._lastX = vcs;
this._lastY = vct;
… Reference · line 1304 …
this._button = vcu.button;
this._lastX = vcs;
this._lastY = vct;
this._preSelSnap = vcr .selection.active ? vcv.getSnapshot() : null;
this._drawDab(vcr, vcv, vcs, vct);
v4i.emit("canvas:dirty");
}
onPointerMove(vcw, vcx, vcy, vcz) {
if (!this._drawing) return;
const vd0 = vcw.activeLayer;
const vd1 = Math.max(1, v4i._brushSize / 4);
…
s38455 Input vcs x xUseful 0.63 xUseful 0.63 Both useful Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s38455 / vcs ×
Declaration · line 1296 …
this._lastY = 0;
this._button = 0;
this._preSelSnap = null;
}
onPointerDown(vcr, vcs , vct, vcu) {
const vcv = vcr.activeLayer;
if (!vcv || !vcv.visible) return;
vcr.saveDrawState("Brush");
this._drawing = true;
this._button = vcu.button;
this._lastX = vcs;
this._lastY = vct;
this._preSelSnap = vcr.selection.active ? vcv.getSnapshot() : null;
… Reference · line 1305 …
this._preSelSnap = vcr.selection.active ? vcv.getSnapshot() : null;
this._drawDab(vcr, vcv, vcs , vct);
v4i.emit("canvas:dirty");
}
onPointerMove(vcw, vcx, vcy, vcz) {
if (!this._drawing) return;
const vd0 = vcw.activeLayer;
const vd1 = Math.max(1, v4i._brushSize / 4);
const vd2 = v6b(this._lastX, this._lastY, vcx, vcy, vd1);
…
s38460 Input vct y yUseful 0.78 yCoordUseful 0.80 Both useful Present Preference confidence is low. Pre-rename JavaScript · s38460 / vct ×
Declaration · line 1296 …
this._lastY = 0;
this._button = 0;
this._preSelSnap = null;
}
onPointerDown(vcr, vcs, vct , vcu) {
const vcv = vcr.activeLayer;
if (!vcv || !vcv.visible) return;
vcr.saveDrawState("Brush");
this._drawing = true;
this._button = vcu.button;
this._lastX = vcs;
this._lastY = vct;
this._preSelSnap = vcr.selection.active ? vcv.getSnapshot() : null;
… Reference · line 1305 …
this._preSelSnap = vcr.selection.active ? vcv.getSnapshot() : null;
this._drawDab(vcr, vcv, vcs, vct );
v4i.emit("canvas:dirty");
}
onPointerMove(vcw, vcx, vcy, vcz) {
if (!this._drawing) return;
const vd0 = vcw.activeLayer;
const vd1 = Math.max(1, v4i._brushSize / 4);
const vd2 = v6b(this._lastX, this._lastY, vcx, vcy, vd1);
…
s38465 Input vcu e eventUseful 0.69 pointerEventUseful 0.76 Humanify better Present Pre-rename JavaScript · s38465 / vcu ×
Declaration · line 1296 …
this._button = 0;
this._preSelSnap = null;
}
onPointerDown(vcr, vcs, vct, vcu ) {
const vcv = vcr.activeLayer;
if (!vcv || !vcv.visible) return;
vcr.saveDrawState("Brush");
this._drawing = true;
this._button = vcu.button;
this._lastX = vcs;
this._lastY = vct;
this._preSelSnap = vcr.selection.active ? vcv.getSnapshot() : null;
…
s38484 Input vcv layer activeLayerUseful 0.80 activeLayerUseful 0.80 Both useful Present Pre-rename JavaScript · s38484 / vcv ×
Declaration · line 1297 …
this._button = 0;
this._preSelSnap = null;
}
onPointerDown(vcr, vcs, vct, vcu) {
const vcv = vcr.activeLayer;
if (!vcv || !vcv.visible) return;
vcr.saveDrawState("Brush");
this._drawing = true;
this._button = vcu.button;
this._lastX = vcs;
this._lastY = vct;
this._preSelSnap = vcr.selection.active ? vcv.getSnapshot() : null;
… Reference · line 1305 …
this._preSelSnap = vcr.selection.active ? vcv.getSnapshot() : null;
this._drawDab(vcr, vcv , vcs, vct);
v4i.emit("canvas:dirty");
}
onPointerMove(vcw, vcx, vcy, vcz) {
if (!this._drawing) return;
const vd0 = vcw.activeLayer;
const vd1 = Math.max(1, v4i._brushSize / 4);
const vd2 = v6b(this._lastX, this._lastY, vcx, vcy, vd1);
…
s38863 Input vcw doc canvasStateUseful 0.15 canvasInstanceUseful 0.22 Both poor Present Pre-rename JavaScript · s38863 / vcw ×
Declaration · line 1308 …
this._drawDab(vcr, vcv, vcs, vct);
v4i.emit("canvas:dirty");
}
onPointerMove(vcw , vcx, vcy, vcz) {
if (!this._drawing) return;
const vd0 = vcw.activeLayer;
const vd1 = Math.max(1, v4i._brushSize / 4);
const vd2 = v6b(this._lastX, this._lastY, vcx, vcy, vd1);
for (const vd3 of vd2) this._drawDab(vcw, vd0, vd3.x, vd3.y);
…
s38868 Input vcx x pointerXUseful 0.68 currentXUseful 0.54 Both useful Present Usefulness probability is near the provisional 0.5 boundary. Preference confidence is low. Pre-rename JavaScript · s38868 / vcx ×
Declaration · line 1308 …
this._drawDab(vcr, vcv, vcs, vct);
v4i.emit("canvas:dirty");
}
onPointerMove(vcw, vcx , vcy, vcz) {
if (!this._drawing) return;
const vd0 = vcw.activeLayer;
const vd1 = Math.max(1, v4i._brushSize / 4);
const vd2 = v6b(this._lastX, this._lastY, vcx, vcy, vd1);
for (const vd3 of vd2) this._drawDab(vcw, vd0, vd3.x, vd3.y);
… Reference · line 1314 …
const vd2 = v6b(this._lastX, this._lastY, vcx, vcy, vd1);
for (const vd3 of vd2) this._drawDab(vcw, vd0, vd3.x, vd3.y);
this._lastX = vcx ;
this._lastY = vcy;
v4i.emit("canvas:dirty");
}
onPointerUp(vd4) {
if (!this._drawing) return;
this._drawing = false;
if (this._preSelSnap && vd4.selection.active) {
vd4.selection.maskLayer(vd4.activeLayer, this._preSelSnap);
…
s38873 Input vcy y pointerYUseful 0.67 currentYUseful 0.51 FlowName better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s38873 / vcy ×
Declaration · line 1308 …
this._drawDab(vcr, vcv, vcs, vct);
v4i.emit("canvas:dirty");
}
onPointerMove(vcw, vcx, vcy , vcz) {
if (!this._drawing) return;
const vd0 = vcw.activeLayer;
const vd1 = Math.max(1, v4i._brushSize / 4);
const vd2 = v6b(this._lastX, this._lastY, vcx, vcy, vd1);
for (const vd3 of vd2) this._drawDab(vcw, vd0, vd3.x, vd3.y);
… Reference · line 1315 …
for (const vd3 of vd2) this._drawDab(vcw, vd0, vd3.x, vd3.y);
this._lastX = vcx;
this._lastY = vcy ;
v4i.emit("canvas:dirty");
}
onPointerUp(vd4) {
if (!this._drawing) return;
this._drawing = false;
if (this._preSelSnap && vd4.selection.active) {
vd4.selection.maskLayer(vd4.activeLayer, this._preSelSnap);
…
s38878 Input vcz e pressureUseful 0.17 pressureUseful 0.17 Both poor Present Pre-rename JavaScript · s38878 / vcz ×
Declaration · line 1308 …
this._drawDab(vcr, vcv, vcs, vct);
v4i.emit("canvas:dirty");
}
onPointerMove(vcw, vcx, vcy, vcz ) {
if (!this._drawing) return;
const vd0 = vcw.activeLayer;
const vd1 = Math.max(1, v4i._brushSize / 4);
const vd2 = v6b(this._lastX, this._lastY, vcx, vcy, vd1);
for (const vd3 of vd2) this._drawDab(vcw, vd0, vd3.x, vd3.y);
…
s38931 Input vd0 layer activeLayerUseful 0.68 activeLayerUseful 0.68 Both useful Present Pre-rename JavaScript · s38931 / vd0 ×
Declaration · line 1310 …
}
onPointerMove(vcw, vcx, vcy, vcz) {
if (!this._drawing) return;
const vd0 = vcw.activeLayer;
const vd1 = Math.max(1, v4i._brushSize / 4);
const vd2 = v6b(this._lastX, this._lastY, vcx, vcy, vd1);
for (const vd3 of vd2) this._drawDab(vcw, vd0, vd3.x, vd3.y);
this._lastX = vcx;
this._lastY = vcy;
…
s38966 Input vd1 spacing scaledBrushSizeUseful 0.13 stepSizeUseful 0.80 Humanify better Present Pre-rename JavaScript · s38966 / vd1 ×
Declaration · line 1311 …
onPointerMove(vcw, vcx, vcy, vcz) {
if (!this._drawing) return;
const vd0 = vcw.activeLayer;
const vd1 = Math.max(1, v4i._brushSize / 4);
const vd2 = v6b(this._lastX, this._lastY, vcx, vcy, vd1);
for (const vd3 of vd2) this._drawDab(vcw, vd0, vd3.x, vd3.y);
this._lastX = vcx;
this._lastY = vcy;
v4i.emit("canvas:dirty");
…
s39017 Input vd2 points pointsListUseful 0.74 pointsUseful 0.91 Both useful Present Preference confidence is low. Pre-rename JavaScript · s39017 / vd2 ×
Declaration · line 1312 …
const vd0 = vcw.activeLayer;
const vd1 = Math.max(1, v4i._brushSize / 4);
const vd2 = v6b(this._lastX, this._lastY, vcx, vcy, vd1);
for (const vd3 of vd2) this._drawDab(vcw, vd0, vd3.x, vd3.y);
this._lastX = vcx;
this._lastY = vcy;
v4i.emit("canvas:dirty");
}
onPointerUp(vd4) {
if (!this._drawing) return;
…
s39086 Input vd3 p dabPointUseful 0.39 dabUseful 0.38 Both poor Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s39086 / vd3 ×
Declaration · line 1313 …
const vd1 = Math.max(1, v4i._brushSize / 4);
const vd2 = v6b(this._lastX, this._lastY, vcx, vcy, vd1);
for (const vd3 of vd2) this._drawDab(vcw, vd0, vd3.x, vd3.y);
this._lastX = vcx;
this._lastY = vcy;
v4i.emit("canvas:dirty");
}
onPointerUp(vd4) {
if (!this._drawing) return;
this._drawing = false;
if (this._preSelSnap && vd4.selection.active) {
…
s39241 Input vd4 doc pointerEventUseful 0.25 appUseful 0.15 Both poor Present Pre-rename JavaScript · s39241 / vd4 ×
Declaration · line 1318 …
this._lastX = vcx;
this._lastY = vcy;
v4i.emit("canvas:dirty");
}
onPointerUp(vd4 ) {
if (!this._drawing) return;
this._drawing = false;
if (this._preSelSnap && vd4.selection.active) {
vd4.selection.maskLayer(vd4.activeLayer, this._preSelSnap);
}
this._preSelSnap = null;
vq5(vd4.activeLayer);
…
s39519 Input vd5 doc layerUseful 0.87 layerUseful 0.87 Both useful Present Pre-rename JavaScript · s39519 / vd5 ×
Declaration · line 1327 …
vd4.selection.maskLayer(vd4.activeLayer, this._preSelSnap);
}
this._preSelSnap = null;
vq5(vd4.activeLayer);
}
_drawDab(vd5 , vd6, vd7, vd8) {
const vd9 = vd6.ctx;
const vda = this._button === 2 ? v4i._secondaryColor : v4i._primaryColor;
const vdb = v4i._brushSize;
vd9.save();
if (vd5.selection.active) vd5.selection.applyClip(vd9);
…
s39524 Input vd6 layer dabUseful 0.10 renderContextUseful 0.30 Both poor Present Pre-rename JavaScript · s39524 / vd6 ×
Declaration · line 1327 …
}
this._preSelSnap = null;
vq5(vd4.activeLayer);
}
_drawDab(vd5, vd6 , vd7, vd8) {
const vd9 = vd6.ctx;
const vda = this._button === 2 ? v4i._secondaryColor : v4i._primaryColor;
const vdb = v4i._brushSize;
vd9.save();
if (vd5.selection.active) vd5.selection.applyClip(vd9);
vd9.fillStyle = vda;
…
s39529 Input vd7 x xUseful 0.66 mouseXUseful 0.60 Both useful Present Usefulness probability is near the provisional 0.5 boundary. Preference confidence is low. Pre-rename JavaScript · s39529 / vd7 ×
Declaration · line 1327 …
}
this._preSelSnap = null;
vq5(vd4.activeLayer);
}
_drawDab(vd5, vd6, vd7 , vd8) {
const vd9 = vd6.ctx;
const vda = this._button === 2 ? v4i._secondaryColor : v4i._primaryColor;
const vdb = v4i._brushSize;
vd9.save();
if (vd5.selection.active) vd5.selection.applyClip(vd9);
vd9.fillStyle = vda;
… Reference · line 1336 …
vd9.globalAlpha = v4i._brushAlpha;
if ((v4i._brushShape || "circle") === "square") {
vd9.fillRect(Math.floor(vd7 - vdb / 2), Math.floor(vd8 - vdb / 2), vdb, vdb);
} else if (v4i._antiAlias) {
vd9.beginPath();
vd9.arc(vd7, vd8, vdb / 2, 0, Math.PI * 2);
vd9.fill();
} else {
const vdc = Math.floor(vd7),
vdd = Math.floor(vd8);
…
s39534 Input vd8 y yUseful 0.81 yCoordUseful 0.84 Both useful Present Preference confidence is low. Pre-rename JavaScript · s39534 / vd8 ×
Declaration · line 1327 …
this._preSelSnap = null;
vq5(vd4.activeLayer);
}
_drawDab(vd5, vd6, vd7, vd8 ) {
const vd9 = vd6.ctx;
const vda = this._button === 2 ? v4i._secondaryColor : v4i._primaryColor;
const vdb = v4i._brushSize;
vd9.save();
if (vd5.selection.active) vd5.selection.applyClip(vd9);
vd9.fillStyle = vda;
… Reference · line 1336 …
if ((v4i._brushShape || "circle") === "square") {
vd9.fillRect(Math.floor(vd7 - vdb / 2), Math.floor(vd8 - vdb / 2), vdb, vdb);
} else if (v4i._antiAlias) {
vd9.beginPath();
vd9.arc(vd7, vd8, vdb / 2, 0, Math.PI * 2);
vd9.fill();
} else {
const vdc = Math.floor(vd7),
vdd = Math.floor(vd8);
…
s39553 Input vd9 ctx ctxUseful 0.88 context2DUseful 0.79 Both useful Present Preference confidence is low. Pre-rename JavaScript · s39553 / vd9 ×
Declaration · line 1328 …
this._preSelSnap = null;
vq5(vd4.activeLayer);
}
_drawDab(vd5, vd6, vd7, vd8) {
const vd9 = vd6.ctx;
const vda = this._button === 2 ? v4i._secondaryColor : v4i._primaryColor;
const vdb = v4i._brushSize;
vd9.save();
if (vd5.selection.active) vd5.selection.applyClip(vd9);
vd9.fillStyle = vda;
vd9.globalAlpha = v4i._brushAlpha;
… Reference · line 1336 …
vd9.globalAlpha = v4i._brushAlpha;
if ((v4i._brushShape || "circle") === "square") {
vd9 .fillRect(Math.floor(vd7 - vdb / 2), Math.floor(vd8 - vdb / 2), vdb, vdb);
} else if (v4i._antiAlias) {
vd9.beginPath();
vd9.arc(vd7, vd8, vdb / 2, 0, Math.PI * 2);
vd9.fill();
} else {
const vdc = Math.floor(vd7),
…
s39580 Input vda color brushColor3Useful 0.27 brushColorUseful 0.73 Humanify better Present Pre-rename JavaScript · s39580 / vda ×
Declaration · line 1329 …
vq5(vd4.activeLayer);
}
_drawDab(vd5, vd6, vd7, vd8) {
const vd9 = vd6.ctx;
const vda = this._button === 2 ? v4i._secondaryColor : v4i._primaryColor;
const vdb = v4i._brushSize;
vd9.save();
if (vd5.selection.active) vd5.selection.applyClip(vd9);
vd9.fillStyle = vda;
vd9.globalAlpha = v4i._brushAlpha;
…
s39660 Input vdb size brushSize2Useful 0.20 brushSizeUseful 0.94 Humanify better Present Pre-rename JavaScript · s39660 / vdb ×
Declaration · line 1330 …
const vda = this._button === 2 ? v4i._secondaryColor : v4i._primaryColor;
const vdb = v4i._brushSize;
vd9.save();
if (vd5.selection.active) vd5.selection.applyClip(vd9);
vd9.fillStyle = vda;
vd9.globalAlpha = v4i._brushAlpha;
if ((v4i._brushShape || "circle") === "square") {
vd9.fillRect(Math.floor(vd7 - vdb / 2), Math.floor(vd8 - vdb / 2), vdb, vdb);
… Reference · line 1339 …
fillRect(Math.floor(vd7 - vdb / 2), Math.floor(vd8 - vdb / 2), vdb, vdb);
} else if (v4i._antiAlias) {
vd9.beginPath();
vd9.arc(vd7, vd8, vdb / 2, 0, Math.PI * 2);
vd9.fill();
} else {
const vdc = Math.floor(vd7),
vdd = Math.floor(vd8);
const vde = vdb / 2;
const vdf = Math.ceil(vde);
for (let vdg = -vdf; vdg <= vdf; vdg++) {
…
s40133 Input vdc cx floorXUseful 0.30 centerXUseful 0.73 Humanify better Present Pre-rename JavaScript · s40133 / vdc ×
Declaration · line 1342 …
vd9.arc(vd7, vd8, vdb / 2, 0, Math.PI * 2);
vd9.fill();
} else {
const vdc = Math.floor(vd7),
vdd = Math.floor(vd8);
const vde = vdb / 2;
const vdf = Math.ceil(vde);
for (let vdg = -vdf; vdg <= vdf; vdg++) {
for (let vdh = -vdf; vdh <= vdf; vdh++) {
if (vdh * vdh + vdg * vdg <= vde * vde) {
… Reference · line 1349 …
for (let vdh = -vdf; vdh <= vdf; vdh++) {
if (vdh * vdh + vdg * vdg <= vde * vde) {
vd9.fillRect(vdc + vdh, vdd + vdg, 1, 1);
}
}
}
}
vd9.restore();
}
onOverlay(vdi, vdj) {
if (!this._drawing) {
const vdk = document.getElementById("viewport");
const vdl = vdk.getBoundingClientRect();
…
s40166 Input vdd cy floorYUseful 0.59 centerYUseful 0.39 FlowName better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s40166 / vdd ×
Declaration · line 1343 …
vd9.arc(vd7, vd8, vdb / 2, 0, Math.PI * 2);
vd9.fill();
} else {
const vdc = Math.floor(vd7),
vdd = Math.floor(vd8);
const vde = vdb / 2;
const vdf = Math.ceil(vde);
for (let vdg = -vdf; vdg <= vdf; vdg++) {
for (let vdh = -vdf; vdh <= vdf; vdh++) {
if (vdh * vdh + vdg * vdg <= vde * vde) {
… Reference · line 1349 …
if (vdh * vdh + vdg * vdg <= vde * vde) {
vd9.fillRect(vdc + vdh, vdd + vdg, 1, 1);
}
}
}
}
vd9.restore();
}
onOverlay(vdi, vdj) {
if (!this._drawing) {
const vdk = document.getElementById("viewport");
const vdl = vdk.getBoundingClientRect();
…
s40203 Input vde rad radiusUseful 0.93 radiusUseful 0.93 Both useful Present Pre-rename JavaScript · s40203 / vde ×
Declaration · line 1344 …
} else {
const vdc = Math.floor(vd7),
vdd = Math.floor(vd8);
const vde = vdb / 2;
const vdf = Math.ceil(vde);
for (let vdg = -vdf; vdg <= vdf; vdg++) {
for (let vdh = -vdf; vdh <= vdf; vdh++) {
if (vdh * vdh + vdg * vdg <= vde * vde) {
vd9.fillRect(vdc + vdh, vdd + vdg, 1, 1);
…
s40232 Input vdf ri radiusCeilUseful 0.92 radiusCeilUseful 0.92 Both useful Present Pre-rename JavaScript · s40232 / vdf ×
Declaration · line 1345 …
const vdc = Math.floor(vd7),
vdd = Math.floor(vd8);
const vde = vdb / 2;
const vdf = Math.ceil(vde);
for (let vdg = -vdf; vdg <= vdf; vdg++) {
for (let vdh = -vdf; vdh <= vdf; vdh++) {
if (vdh * vdh + vdg * vdg <= vde * vde) {
vd9.fillRect(vdc + vdh, vdd + vdg, 1, 1);
}
…
s40271 Input vdg dy dyUseful 0.77 yUseful 0.27 FlowName better Present Pre-rename JavaScript · s40271 / vdg ×
Declaration · line 1346 …
vdd = Math.floor(vd8);
const vde = vdb / 2;
const vdf = Math.ceil(vde);
for (let vdg = -vdf; vdg <= vdf; vdg++) {
for (let vdh = -vdf; vdh <= vdf; vdh++) {
if (vdh * vdh + vdg * vdg <= vde * vde) {
vd9.fillRect(vdc + vdh, vdd + vdg, 1, 1);
}
}
}
}
vd9.restore();
…
s40323 Input vdh dx dxUseful 0.79 offsetXUseful 0.09 FlowName better Present Pre-rename JavaScript · s40323 / vdh ×
Declaration · line 1347 …
const vdf = Math.ceil(vde);
for (let vdg = -vdf; vdg <= vdf; vdg++) {
for (let vdh = -vdf; vdh <= vdf; vdh++) {
if (vdh * vdh + vdg * vdg <= vde * vde) {
vd9.fillRect(vdc + vdh, vdd + vdg, 1, 1);
}
}
}
}
vd9.restore();
}
onOverlay(vdi, vdj) {
if (!this._drawing) {
…
s40551 Input vdi ctx eventOrState1Useful 0.17 startXUseful 0.27 Both poor Present Pre-rename JavaScript · s40551 / vdi ×
Declaration · line 1356 …
vd9.fillRect(vdc + vdh, vdd + vdg, 1, 1);
}
}
}
}
vd9.restore();
}
onOverlay(vdi , vdj) {
if (!this._drawing) {
const vdk = document.getElementById("viewport");
const vdl = vdk.getBoundingClientRect();
const vdm = v4i._mouseX - vdl.left;
const vdn = v4i._mouseY - vdl.top;
if (vdm >= 0 && vdn >= 0) vap(vdi, vdj, vdm, vdn);
…
s40556 Input vdj doc eventOrState2Useful 0.09 yCoordUseful 0.79 Humanify better Present Pre-rename JavaScript · s40556 / vdj ×
Declaration · line 1356 …
}
}
}
}
vd9.restore();
}
onOverlay(vdi, vdj ) {
if (!this._drawing) {
const vdk = document.getElementById("viewport");
const vdl = vdk.getBoundingClientRect();
const vdm = v4i._mouseX - vdl.left;
const vdn = v4i._mouseY - vdl.top;
if (vdm >= 0 && vdn >= 0) vap(vdi, vdj, vdm, vdn);
…
s40605 Input vdk vp viewportElementUseful 0.89 viewportElementUseful 0.89 Both useful Present Pre-rename JavaScript · s40605 / vdk ×
Declaration · line 1358 …
vd9.restore();
}
onOverlay(vdi, vdj) {
if (!this._drawing) {
const vdk = document.getElementById("viewport");
const vdl = vdk.getBoundingClientRect();
const vdm = v4i._mouseX - vdl.left;
const vdn = v4i._mouseY - vdl.top;
if (vdm >= 0 && vdn >= 0) vap(vdi, vdj, vdm, vdn);
}
…
s40662 Input vdl r viewportRectUseful 0.92 viewportRectUseful 0.92 Both useful Present Pre-rename JavaScript · s40662 / vdl ×
Declaration · line 1359 …
if (!this._drawing) {
const vdk = document.getElementById("viewport");
const vdl = vdk.getBoundingClientRect();
const vdm = v4i._mouseX - vdl.left;
const vdn = v4i._mouseY - vdl.top;
if (vdm >= 0 && vdn >= 0) vap(vdi, vdj, vdm, vdn);
}
}
};
var vdo = class extends vbq {
constructor() {
…
s40711 Input vdm mx mouseXCoordUseful 0.72 mouseXUseful 0.78 Humanify better Present Pre-rename JavaScript · s40711 / vdm ×
Declaration · line 1360 …
const vdk = document.getElementById("viewport");
const vdl = vdk.getBoundingClientRect();
const vdm = v4i._mouseX - vdl.left;
const vdn = v4i._mouseY - vdl.top;
if (vdm >= 0 && vdn >= 0) vap(vdi, vdj, vdm, vdn);
}
}
};
var vdo = class extends vbq {
constructor() {
super("Eraser", "e");
this._drawing = false;
…
s40755 Input vdn my mouseYCoordUseful 0.71 mouseYUseful 0.81 Humanify better Present Pre-rename JavaScript · s40755 / vdn ×
Declaration · line 1361 …
const vdl = vdk.getBoundingClientRect();
const vdm = v4i._mouseX - vdl.left;
const vdn = v4i._mouseY - vdl.top;
if (vdm >= 0 && vdn >= 0) vap(vdi, vdj, vdm, vdn);
}
}
};
var vdo = class extends vbq {
constructor() {
super("Eraser", "e");
this._drawing = false;
this._lastX = 0;
this._lastY = 0;
…
s40868 Input vdo EraserTool EraserToolUseful 0.86 EventEmitter9Useful 0.02 FlowName better Absent Pre-rename JavaScript · s40868 / vdo ×
Declaration · line 1366 …
const vdn = v4i._mouseY - vdl.top;
if (vdm >= 0 && vdn >= 0) vap(vdi, vdj, vdm, vdn);
}
}
};
var vdo = class extends vbq {
constructor() {
super("Eraser", "e");
this._drawing = false;
this._lastX = 0;
this._lastY = 0;
this._preSelSnap = null;
}
onPointerDown(vdp, vdq, vdr, vds) {
const vdt = vdp.activeLayer;
… Reference · line 2644 …
this.activeTool = null;
this._toolName = null;
const vq8 = [new vc7(), new vcq(), new vdo (), new vel(), new vf1(), new vfj(), new vgl(), new vhg(), new vie(), new viy(), new vjs(), new vk2(), new vkx()];
for (const vq9 of vq8) this.tools[vq9.name.toLowerCase()] = vq9;
this._keyMap = {};
for (const vqa of vq8) if (vqa.key) this._keyMap[vqa.key] = vqa.name.toLowerCase();
…
s41072 Input vdp doc controllerUseful 0.16 canvasContextUseful 0.12 Both poor Present Pre-rename JavaScript · s41072 / vdp ×
Declaration · line 1374 …
this._lastX = 0;
this._lastY = 0;
this._preSelSnap = null;
}
onPointerDown(vdp , vdq, vdr, vds) {
const vdt = vdp.activeLayer;
if (!vdt || !vdt.visible) return;
vdp.saveDrawState("Eraser");
this._drawing = true;
this._lastX = vdq;
this._lastY = vdr;
this._preSelSnap = vdp.selection.active ? vdt.getSnapshot() : null;
… Reference · line 1382 …
this._preSelSnap = vdp.selection.active ? vdt.getSnapshot() : null;
this._erase(vdp , vdt, vdq, vdr);
v4i.emit("canvas:dirty");
}
onPointerMove(vdu, vdv, vdw, vdx) {
if (!this._drawing) return;
const vdy = vdu.activeLayer;
const vdz = Math.max(1, v4i._brushSize / 4);
const ve0 = v6b(this._lastX, this._lastY, vdv, vdw, vdz);
…
s41077 Input vdq x pointerXUseful 0.69 startXUseful 0.50 FlowName better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s41077 / vdq ×
Declaration · line 1374 …
this._lastX = 0;
this._lastY = 0;
this._preSelSnap = null;
}
onPointerDown(vdp, vdq , vdr, vds) {
const vdt = vdp.activeLayer;
if (!vdt || !vdt.visible) return;
vdp.saveDrawState("Eraser");
this._drawing = true;
this._lastX = vdq;
this._lastY = vdr;
this._preSelSnap = vdp.selection.active ? vdt.getSnapshot() : null;
… Reference · line 1382 …
this._preSelSnap = vdp.selection.active ? vdt.getSnapshot() : null;
this._erase(vdp, vdt, vdq , vdr);
v4i.emit("canvas:dirty");
}
onPointerMove(vdu, vdv, vdw, vdx) {
if (!this._drawing) return;
const vdy = vdu.activeLayer;
const vdz = Math.max(1, v4i._brushSize / 4);
const ve0 = v6b(this._lastX, this._lastY, vdv, vdw, vdz);
…
s41082 Input vdr y pointerYUseful 0.73 startYUseful 0.53 FlowName better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s41082 / vdr ×
Declaration · line 1374 …
this._lastX = 0;
this._lastY = 0;
this._preSelSnap = null;
}
onPointerDown(vdp, vdq, vdr , vds) {
const vdt = vdp.activeLayer;
if (!vdt || !vdt.visible) return;
vdp.saveDrawState("Eraser");
this._drawing = true;
this._lastX = vdq;
this._lastY = vdr;
this._preSelSnap = vdp.selection.active ? vdt.getSnapshot() : null;
… Reference · line 1382 …
this._preSelSnap = vdp.selection.active ? vdt.getSnapshot() : null;
this._erase(vdp, vdt, vdq, vdr );
v4i.emit("canvas:dirty");
}
onPointerMove(vdu, vdv, vdw, vdx) {
if (!this._drawing) return;
const vdy = vdu.activeLayer;
const vdz = Math.max(1, v4i._brushSize / 4);
const ve0 = v6b(this._lastX, this._lastY, vdv, vdw, vdz);
…
s41087 Input vds e pointerEventUseful 0.74 eventUseful 0.71 FlowName better Present Pre-rename JavaScript · s41087 / vds ×
Declaration · line 1374 …
this._lastY = 0;
this._preSelSnap = null;
}
onPointerDown(vdp, vdq, vdr, vds ) {
const vdt = vdp.activeLayer;
if (!vdt || !vdt.visible) return;
vdp.saveDrawState("Eraser");
this._drawing = true;
this._lastX = vdq;
this._lastY = vdr;
this._preSelSnap = vdp.selection.active ? vdt.getSnapshot() : null;
…
s41106 Input vdt layer activeLayerUseful 0.73 activeLayerUseful 0.73 Both useful Present Pre-rename JavaScript · s41106 / vdt ×
Declaration · line 1375 …
this._lastY = 0;
this._preSelSnap = null;
}
onPointerDown(vdp, vdq, vdr, vds) {
const vdt = vdp.activeLayer;
if (!vdt || !vdt.visible) return;
vdp.saveDrawState("Eraser");
this._drawing = true;
this._lastX = vdq;
this._lastY = vdr;
this._preSelSnap = vdp.selection.active ? vdt.getSnapshot() : null;
… Reference · line 1382 …
this._preSelSnap = vdp.selection.active ? vdt.getSnapshot() : null;
this._erase(vdp, vdt , vdq, vdr);
v4i.emit("canvas:dirty");
}
onPointerMove(vdu, vdv, vdw, vdx) {
if (!this._drawing) return;
const vdy = vdu.activeLayer;
const vdz = Math.max(1, v4i._brushSize / 4);
const ve0 = v6b(this._lastX, this._lastY, vdv, vdw, vdz);
…
s41451 Input vdu doc canvasUseful 0.19 canvasUseful 0.19 Both poor Present Pre-rename JavaScript · s41451 / vdu ×
Declaration · line 1385 …
this._erase(vdp, vdt, vdq, vdr);
v4i.emit("canvas:dirty");
}
onPointerMove(vdu , vdv, vdw, vdx) {
if (!this._drawing) return;
const vdy = vdu.activeLayer;
const vdz = Math.max(1, v4i._brushSize / 4);
const ve0 = v6b(this._lastX, this._lastY, vdv, vdw, vdz);
for (const ve1 of ve0) this._erase(vdu, vdy, ve1.x, ve1.y);
…
s41456 Input vdv x clientXUseful 0.37 currentXUseful 0.53 Humanify better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s41456 / vdv ×
Declaration · line 1385 …
this._erase(vdp, vdt, vdq, vdr);
v4i.emit("canvas:dirty");
}
onPointerMove(vdu, vdv , vdw, vdx) {
if (!this._drawing) return;
const vdy = vdu.activeLayer;
const vdz = Math.max(1, v4i._brushSize / 4);
const ve0 = v6b(this._lastX, this._lastY, vdv, vdw, vdz);
for (const ve1 of ve0) this._erase(vdu, vdy, ve1.x, ve1.y);
… Reference · line 1391 …
const ve0 = v6b(this._lastX, this._lastY, vdv, vdw, vdz);
for (const ve1 of ve0) this._erase(vdu, vdy, ve1.x, ve1.y);
this._lastX = vdv ;
this._lastY = vdw;
v4i.emit("canvas:dirty");
}
onPointerUp(ve2) {
if (!this._drawing) return;
this._drawing = false;
if (this._preSelSnap && ve2.selection.active) {
ve2.selection.maskLayer(ve2.activeLayer, this._preSelSnap);
…
s41461 Input vdw y clientYUseful 0.52 currentYUseful 0.55 Both useful Present Usefulness probability is near the provisional 0.5 boundary. Preference confidence is low. Pre-rename JavaScript · s41461 / vdw ×
Declaration · line 1385 …
this._erase(vdp, vdt, vdq, vdr);
v4i.emit("canvas:dirty");
}
onPointerMove(vdu, vdv, vdw , vdx) {
if (!this._drawing) return;
const vdy = vdu.activeLayer;
const vdz = Math.max(1, v4i._brushSize / 4);
const ve0 = v6b(this._lastX, this._lastY, vdv, vdw, vdz);
for (const ve1 of ve0) this._erase(vdu, vdy, ve1.x, ve1.y);
… Reference · line 1392 …
for (const ve1 of ve0) this._erase(vdu, vdy, ve1.x, ve1.y);
this._lastX = vdv;
this._lastY = vdw ;
v4i.emit("canvas:dirty");
}
onPointerUp(ve2) {
if (!this._drawing) return;
this._drawing = false;
if (this._preSelSnap && ve2.selection.active) {
ve2.selection.maskLayer(ve2.activeLayer, this._preSelSnap);
…
s41466 Input vdx e pressureUseful 0.10 eventUseful 0.80 Humanify better Present Pre-rename JavaScript · s41466 / vdx ×
Declaration · line 1385 …
this._erase(vdp, vdt, vdq, vdr);
v4i.emit("canvas:dirty");
}
onPointerMove(vdu, vdv, vdw, vdx ) {
if (!this._drawing) return;
const vdy = vdu.activeLayer;
const vdz = Math.max(1, v4i._brushSize / 4);
const ve0 = v6b(this._lastX, this._lastY, vdv, vdw, vdz);
for (const ve1 of ve0) this._erase(vdu, vdy, ve1.x, ve1.y);
…
s41519 Input vdy layer activeLayerUseful 0.71 activeLayerUseful 0.71 Both useful Present Pre-rename JavaScript · s41519 / vdy ×
Declaration · line 1387 …
}
onPointerMove(vdu, vdv, vdw, vdx) {
if (!this._drawing) return;
const vdy = vdu.activeLayer;
const vdz = Math.max(1, v4i._brushSize / 4);
const ve0 = v6b(this._lastX, this._lastY, vdv, vdw, vdz);
for (const ve1 of ve0) this._erase(vdu, vdy, ve1.x, ve1.y);
this._lastX = vdv;
this._lastY = vdw;
…
s41554 Input vdz spacing scaledBrushSize2Useful 0.37 brushRadiusUseful 0.30 Both poor Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s41554 / vdz ×
Declaration · line 1388 …
onPointerMove(vdu, vdv, vdw, vdx) {
if (!this._drawing) return;
const vdy = vdu.activeLayer;
const vdz = Math.max(1, v4i._brushSize / 4);
const ve0 = v6b(this._lastX, this._lastY, vdv, vdw, vdz);
for (const ve1 of ve0) this._erase(vdu, vdy, ve1.x, ve1.y);
this._lastX = vdv;
this._lastY = vdw;
v4i.emit("canvas:dirty");
…
s41605 Input ve0 points pointsUseful 0.90 pointsUseful 0.90 Both useful Present Pre-rename JavaScript · s41605 / ve0 ×
Declaration · line 1389 …
const vdy = vdu.activeLayer;
const vdz = Math.max(1, v4i._brushSize / 4);
const ve0 = v6b(this._lastX, this._lastY, vdv, vdw, vdz);
for (const ve1 of ve0) this._erase(vdu, vdy, ve1.x, ve1.y);
this._lastX = vdv;
this._lastY = vdw;
v4i.emit("canvas:dirty");
}
onPointerUp(ve2) {
if (!this._drawing) return;
…
s41674 Input ve1 p pointUseful 0.72 pointUseful 0.72 Both useful Present Pre-rename JavaScript · s41674 / ve1 ×
Declaration · line 1390 …
const vdz = Math.max(1, v4i._brushSize / 4);
const ve0 = v6b(this._lastX, this._lastY, vdv, vdw, vdz);
for (const ve1 of ve0) this._erase(vdu, vdy, ve1.x, ve1.y);
this._lastX = vdv;
this._lastY = vdw;
v4i.emit("canvas:dirty");
}
onPointerUp(ve2) {
if (!this._drawing) return;
this._drawing = false;
if (this._preSelSnap && ve2.selection.active) {
…
s41827 Input ve2 doc pointerEventUseful 0.28 editorUseful 0.32 Both poor Present Pre-rename JavaScript · s41827 / ve2 ×
Declaration · line 1395 …
this._lastX = vdv;
this._lastY = vdw;
v4i.emit("canvas:dirty");
}
onPointerUp(ve2 ) {
if (!this._drawing) return;
this._drawing = false;
if (this._preSelSnap && ve2.selection.active) {
ve2.selection.maskLayer(ve2.activeLayer, this._preSelSnap);
}
this._preSelSnap = null;
vq5(ve2.activeLayer);
…
s42103 Input ve3 doc layerUseful 0.88 layerUseful 0.88 Both useful Present Pre-rename JavaScript · s42103 / ve3 ×
Declaration · line 1404 …
ve2.selection.maskLayer(ve2.activeLayer, this._preSelSnap);
}
this._preSelSnap = null;
vq5(ve2.activeLayer);
}
_erase(ve3 , ve4, ve5, ve6) {
const ve7 = ve4.ctx;
const ve8 = v4i._brushSize;
ve7.save();
if (ve3.selection.active) ve3.selection.applyClip(ve7);
ve7.globalCompositeOperation = "destination-out";
ve7.globalAlpha = v4i._brushAlpha;
…
s42108 Input ve4 layer layerDataUseful 0.35 layer2Useful 0.33 Both poor Present Pre-rename JavaScript · s42108 / ve4 ×
Declaration · line 1404 …
ve2.selection.maskLayer(ve2.activeLayer, this._preSelSnap);
}
this._preSelSnap = null;
vq5(ve2.activeLayer);
}
_erase(ve3, ve4 , ve5, ve6) {
const ve7 = ve4.ctx;
const ve8 = v4i._brushSize;
ve7.save();
if (ve3.selection.active) ve3.selection.applyClip(ve7);
ve7.globalCompositeOperation = "destination-out";
ve7.globalAlpha = v4i._brushAlpha;
…
s42113 Input ve5 x xUseful 0.69 xUseful 0.69 Both useful Present Pre-rename JavaScript · s42113 / ve5 ×
Declaration · line 1404 …
}
this._preSelSnap = null;
vq5(ve2.activeLayer);
}
_erase(ve3, ve4, ve5 , ve6) {
const ve7 = ve4.ctx;
const ve8 = v4i._brushSize;
ve7.save();
if (ve3.selection.active) ve3.selection.applyClip(ve7);
ve7.globalCompositeOperation = "destination-out";
ve7.globalAlpha = v4i._brushAlpha;
… Reference · line 1412 …
ve7.globalAlpha = v4i._brushAlpha;
if ((v4i._brushShape || "circle") === "square") {
ve7.fillRect(Math.floor(ve5 - ve8 / 2), Math.floor(ve6 - ve8 / 2), ve8, ve8);
} else if (v4i._antiAlias) {
ve7.beginPath();
ve7.arc(ve5, ve6, ve8 / 2, 0, Math.PI * 2);
ve7.fill();
} else {
const ve9 = Math.floor(ve5),
vea = Math.floor(ve6);
…
s42118 Input ve6 y yUseful 0.81 yCoordUseful 0.83 Both useful Present Preference confidence is low. Pre-rename JavaScript · s42118 / ve6 ×
Declaration · line 1404 …
this._preSelSnap = null;
vq5(ve2.activeLayer);
}
_erase(ve3, ve4, ve5, ve6 ) {
const ve7 = ve4.ctx;
const ve8 = v4i._brushSize;
ve7.save();
if (ve3.selection.active) ve3.selection.applyClip(ve7);
ve7.globalCompositeOperation = "destination-out";
ve7.globalAlpha = v4i._brushAlpha;
… Reference · line 1412 …
if ((v4i._brushShape || "circle") === "square") {
ve7.fillRect(Math.floor(ve5 - ve8 / 2), Math.floor(ve6 - ve8 / 2), ve8, ve8);
} else if (v4i._antiAlias) {
ve7.beginPath();
ve7.arc(ve5, ve6, ve8 / 2, 0, Math.PI * 2);
ve7.fill();
} else {
const ve9 = Math.floor(ve5),
vea = Math.floor(ve6);
…
s42137 Input ve7 ctx ctxUseful 0.90 contextUseful 0.85 FlowName better Present Pre-rename JavaScript · s42137 / ve7 ×
Declaration · line 1405 …
this._preSelSnap = null;
vq5(ve2.activeLayer);
}
_erase(ve3, ve4, ve5, ve6) {
const ve7 = ve4.ctx;
const ve8 = v4i._brushSize;
ve7.save();
if (ve3.selection.active) ve3.selection.applyClip(ve7);
ve7.globalCompositeOperation = "destination-out";
ve7.globalAlpha = v4i._brushAlpha;
if ((v4i._brushShape || "circle") === "square") {
… Reference · line 1412 …
ve7.globalAlpha = v4i._brushAlpha;
if ((v4i._brushShape || "circle") === "square") {
ve7 .fillRect(Math.floor(ve5 - ve8 / 2), Math.floor(ve6 - ve8 / 2), ve8, ve8);
} else if (v4i._antiAlias) {
ve7.beginPath();
ve7.arc(ve5, ve6, ve8 / 2, 0, Math.PI * 2);
ve7.fill();
} else {
const ve9 = Math.floor(ve5),
…
s42164 Input ve8 size brushSize3Useful 0.26 brushSizeUseful 0.91 Humanify better Present Pre-rename JavaScript · s42164 / ve8 ×
Declaration · line 1406 …
vq5(ve2.activeLayer);
}
_erase(ve3, ve4, ve5, ve6) {
const ve7 = ve4.ctx;
const ve8 = v4i._brushSize;
ve7.save();
if (ve3.selection.active) ve3.selection.applyClip(ve7);
ve7.globalCompositeOperation = "destination-out";
ve7.globalAlpha = v4i._brushAlpha;
if ((v4i._brushShape || "circle") === "square") {
… Reference · line 1412 …
if ((v4i._brushShape || "circle") === "square") {
ve7.fillRect(Math.floor(ve5 - ve8 / 2), Math.floor(ve6 - ve8 / 2), ve8, ve8);
} else if (v4i._antiAlias) {
ve7.beginPath();
ve7.arc(ve5, ve6, ve8 / 2, 0, Math.PI * 2);
ve7.fill();
} else {
const ve9 = Math.floor(ve5),
vea = Math.floor(ve6);
…
s42666 Input ve9 cx floorXUseful 0.18 centerXUseful 0.80 Humanify better Present Pre-rename JavaScript · s42666 / ve9 ×
Declaration · line 1418 …
ve7.arc(ve5, ve6, ve8 / 2, 0, Math.PI * 2);
ve7.fill();
} else {
const ve9 = Math.floor(ve5),
vea = Math.floor(ve6);
const veb = ve8 / 2;
const vec = Math.ceil(veb);
for (let ved = -vec; ved <= vec; ved++) {
for (let vee = -vec; vee <= vec; vee++) {
if (vee * vee + ved * ved <= veb * veb) {
… Reference · line 1425 …
for (let vee = -vec; vee <= vec; vee++) {
if (vee * vee + ved * ved <= veb * veb) {
ve7.fillRect(ve9 + vee, vea + ved, 1, 1);
}
}
}
}
ve7.restore();
}
onOverlay(vef, veg) {
const veh = document.getElementById("viewport");
const vei = veh.getBoundingClientRect();
const vej = v4i._mouseX - vei.left;
…
s42699 Input vea cy floorYUseful 0.70 yCoord2Useful 0.45 FlowName better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s42699 / vea ×
Declaration · line 1419 …
ve7.arc(ve5, ve6, ve8 / 2, 0, Math.PI * 2);
ve7.fill();
} else {
const ve9 = Math.floor(ve5),
vea = Math.floor(ve6);
const veb = ve8 / 2;
const vec = Math.ceil(veb);
for (let ved = -vec; ved <= vec; ved++) {
for (let vee = -vec; vee <= vec; vee++) {
if (vee * vee + ved * ved <= veb * veb) {
… Reference · line 1425 …
if (vee * vee + ved * ved <= veb * veb) {
ve7.fillRect(ve9 + vee, vea + ved, 1, 1);
}
}
}
}
ve7.restore();
}
onOverlay(vef, veg) {
const veh = document.getElementById("viewport");
const vei = veh.getBoundingClientRect();
const vej = v4i._mouseX - vei.left;
…
s42736 Input veb rad radiusUseful 0.93 radiusUseful 0.93 Both useful Present Pre-rename JavaScript · s42736 / veb ×
Declaration · line 1420 …
} else {
const ve9 = Math.floor(ve5),
vea = Math.floor(ve6);
const veb = ve8 / 2;
const vec = Math.ceil(veb);
for (let ved = -vec; ved <= vec; ved++) {
for (let vee = -vec; vee <= vec; vee++) {
if (vee * vee + ved * ved <= veb * veb) {
ve7.fillRect(ve9 + vee, vea + ved, 1, 1);
…
s42765 Input vec ri radiusCeilUseful 0.92 radiusCeilUseful 0.92 Both useful Present Pre-rename JavaScript · s42765 / vec ×
Declaration · line 1421 …
const ve9 = Math.floor(ve5),
vea = Math.floor(ve6);
const veb = ve8 / 2;
const vec = Math.ceil(veb);
for (let ved = -vec; ved <= vec; ved++) {
for (let vee = -vec; vee <= vec; vee++) {
if (vee * vee + ved * ved <= veb * veb) {
ve7.fillRect(ve9 + vee, vea + ved, 1, 1);
}
…
s42804 Input ved dy dyUseful 0.75 dyUseful 0.75 Both useful Present Pre-rename JavaScript · s42804 / ved ×
Declaration · line 1422 …
vea = Math.floor(ve6);
const veb = ve8 / 2;
const vec = Math.ceil(veb);
for (let ved = -vec; ved <= vec; ved++) {
for (let vee = -vec; vee <= vec; vee++) {
if (vee * vee + ved * ved <= veb * veb) {
ve7.fillRect(ve9 + vee, vea + ved, 1, 1);
}
}
}
}
ve7.restore();
…
s42856 Input vee dx dxUseful 0.88 dxUseful 0.88 Both useful Present Pre-rename JavaScript · s42856 / vee ×
Declaration · line 1423 …
const vec = Math.ceil(veb);
for (let ved = -vec; ved <= vec; ved++) {
for (let vee = -vec; vee <= vec; vee++) {
if (vee * vee + ved * ved <= veb * veb) {
ve7.fillRect(ve9 + vee, vea + ved, 1, 1);
}
}
}
}
ve7.restore();
}
onOverlay(vef, veg) {
const veh = document.getElementById("viewport");
…
s43084 Input vef ctx eventOrState1Useful 0.13 eventXUseful 0.25 Both poor Present Pre-rename JavaScript · s43084 / vef ×
Declaration · line 1432 …
ve7.fillRect(ve9 + vee, vea + ved, 1, 1);
}
}
}
}
ve7.restore();
}
onOverlay(vef , veg) {
const veh = document.getElementById("viewport");
const vei = veh.getBoundingClientRect();
const vej = v4i._mouseX - vei.left;
const vek = v4i._mouseY - vei.top;
if (vej >= 0 && vek >= 0) vap(vef, veg, vej, vek);
…
s43089 Input veg doc eventOrState2Useful 0.13 yCoordUseful 0.76 Humanify better Present Pre-rename JavaScript · s43089 / veg ×
Declaration · line 1432 …
}
}
}
}
ve7.restore();
}
onOverlay(vef, veg ) {
const veh = document.getElementById("viewport");
const vei = veh.getBoundingClientRect();
const vej = v4i._mouseX - vei.left;
const vek = v4i._mouseY - vei.top;
if (vej >= 0 && vek >= 0) vap(vef, veg, vej, vek);
…
s43108 Input veh vp viewportElementUseful 0.90 viewportElementUseful 0.90 Both useful Present Pre-rename JavaScript · s43108 / veh ×
Declaration · line 1433 …
}
}
}
ve7.restore();
}
onOverlay(vef, veg) {
const veh = document.getElementById("viewport");
const vei = veh.getBoundingClientRect();
const vej = v4i._mouseX - vei.left;
const vek = v4i._mouseY - vei.top;
if (vej >= 0 && vek >= 0) vap(vef, veg, vej, vek);
}
};
…
s43163 Input vei r viewportRectUseful 0.91 viewportRectUseful 0.91 Both useful Present Pre-rename JavaScript · s43163 / vei ×
Declaration · line 1434 …
onOverlay(vef, veg) {
const veh = document.getElementById("viewport");
const vei = veh.getBoundingClientRect();
const vej = v4i._mouseX - vei.left;
const vek = v4i._mouseY - vei.top;
if (vej >= 0 && vek >= 0) vap(vef, veg, vej, vek);
}
};
var vel = class extends vbq {
constructor() {
super("Fill", "f");
…
s43210 Input vej mx mouseXCoord2Useful 0.30 mouseXUseful 0.74 Humanify better Present Pre-rename JavaScript · s43210 / vej ×
Declaration · line 1435 …
const veh = document.getElementById("viewport");
const vei = veh.getBoundingClientRect();
const vej = v4i._mouseX - vei.left;
const vek = v4i._mouseY - vei.top;
if (vej >= 0 && vek >= 0) vap(vef, veg, vej, vek);
}
};
var vel = class extends vbq {
constructor() {
super("Fill", "f");
}
onPointerDown(vem, ven, veo, vep) {
…
s43252 Input vek my mouseYOffsetUseful 0.44 mouseYUseful 0.64 Humanify better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s43252 / vek ×
Declaration · line 1436 …
const vei = veh.getBoundingClientRect();
const vej = v4i._mouseX - vei.left;
const vek = v4i._mouseY - vei.top;
if (vej >= 0 && vek >= 0) vap(vef, veg, vej, vek);
}
};
var vel = class extends vbq {
constructor() {
super("Fill", "f");
}
onPointerDown(vem, ven, veo, vep) {
const veq = vem.activeLayer;
…
s43355 Input vel FillTool FillToolUseful 0.85 EventEmitter10Useful 0.03 FlowName better Absent Pre-rename JavaScript · s43355 / vel ×
Declaration · line 1440 …
const vek = v4i._mouseY - vei.top;
if (vej >= 0 && vek >= 0) vap(vef, veg, vej, vek);
}
};
var vel = class extends vbq {
constructor() {
super("Fill", "f");
}
onPointerDown(vem, ven, veo, vep) {
const veq = vem.activeLayer;
if (!veq || !veq.visible) return;
const ver = Math.floor(ven),
ves = Math.floor(veo);
… Reference · line 2644 …
this.activeTool = null;
this._toolName = null;
const vq8 = [new vc7(), new vcq(), new vdo(), new vel (), new vf1(), new vfj(), new vgl(), new vhg(), new vie(), new viy(), new vjs(), new vk2(), new vkx()];
for (const vq9 of vq8) this.tools[vq9.name.toLowerCase()] = vq9;
this._keyMap = {};
for (const vqa of vq8) if (vqa.key) this._keyMap[vqa.key] = vqa.name.toLowerCase();
…
s43451 Input vem doc editorUseful 0.23 documentUseful 0.76 Humanify better Present Pre-rename JavaScript · s43451 / vem ×
Declaration · line 1444 …
var vel = class extends vbq {
constructor() {
super("Fill", "f");
}
onPointerDown(vem , ven, veo, vep) {
const veq = vem.activeLayer;
if (!veq || !veq.visible) return;
const ver = Math.floor(ven),
ves = Math.floor(veo);
if (vem.selection.active && !vem.selection.isSelected(ver, ves)) return;
… Reference · line 1450 …
ves = Math.floor(veo);
if (vem.selection.active && !vem.selection.isSelected(ver, ves)) return;
vem .saveDrawState("Fill");
const vet = vep.button === 2 ? v4i._secondaryColor : v4i._primaryColor;
const {
r: veu,
g: vev,
b: vew
} = v9d(vet);
const vex = Math.round(v4i._brushAlpha * 255);
const vey = veq.ctx.getImageData(0, 0, vem.width, vem.height);
…
s43456 Input ven x pointerXUseful 0.64 yCoordUseful 0.31 FlowName better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s43456 / ven ×
Declaration · line 1444 …
var vel = class extends vbq {
constructor() {
super("Fill", "f");
}
onPointerDown(vem, ven , veo, vep) {
const veq = vem.activeLayer;
if (!veq || !veq.visible) return;
const ver = Math.floor(ven),
ves = Math.floor(veo);
if (vem.selection.active && !vem.selection.isSelected(ver, ves)) return;
vem.saveDrawState("Fill");
…
s43461 Input veo y pointerYUseful 0.82 yUseful 0.79 FlowName better Present Pre-rename JavaScript · s43461 / veo ×
Declaration · line 1444 …
var vel = class extends vbq {
constructor() {
super("Fill", "f");
}
onPointerDown(vem, ven, veo , vep) {
const veq = vem.activeLayer;
if (!veq || !veq.visible) return;
const ver = Math.floor(ven),
ves = Math.floor(veo);
if (vem.selection.active && !vem.selection.isSelected(ver, ves)) return;
vem.saveDrawState("Fill");
…
s43466 Input vep e pointerEventUseful 0.72 eventUseful 0.75 FlowName better Present Pre-rename JavaScript · s43466 / vep ×
Declaration · line 1444 …
var vel = class extends vbq {
constructor() {
super("Fill", "f");
}
onPointerDown(vem, ven, veo, vep ) {
const veq = vem.activeLayer;
if (!veq || !veq.visible) return;
const ver = Math.floor(ven),
ves = Math.floor(veo);
if (vem.selection.active && !vem.selection.isSelected(ver, ves)) return;
vem.saveDrawState("Fill");
… Reference · line 1451 …
if (vem.selection.active && !vem.selection.isSelected(ver, ves)) return;
vem.saveDrawState("Fill");
const vet = vep .button === 2 ? v4i._secondaryColor : v4i._primaryColor;
const {
r: veu,
g: vev,
b: vew
} = v9d(vet);
const vex = Math.round(v4i._brushAlpha * 255);
const vey = veq.ctx.getImageData(0, 0, vem.width, vem.height);
…
s43485 Input veq layer activeLayerUseful 0.76 activeLayerUseful 0.76 Both useful Present Pre-rename JavaScript · s43485 / veq ×
Declaration · line 1445 …
constructor() {
super("Fill", "f");
}
onPointerDown(vem, ven, veo, vep) {
const veq = vem.activeLayer;
if (!veq || !veq.visible) return;
const ver = Math.floor(ven),
ves = Math.floor(veo);
if (vem.selection.active && !vem.selection.isSelected(ver, ves)) return;
vem.saveDrawState("Fill");
… Reference · line 1458 …
} = v9d(vet);
const vex = Math.round(v4i._brushAlpha * 255);
const vey = veq .ctx.getImageData(0, 0, vem.width, vem.height);
const vez = vem.selection.active ? vem.selection.mask : null;
const vf0 = v4i._fillGlobal ? v7e : v6o;
vf0(vey, ver, ves, veu, vev, vew, vex, v4i._tolerance, vez);
veq.ctx.putImageData(vey, 0, 0);
…
s43560 Input ver fx startXUseful 0.28 pixelXUseful 0.80 Humanify better Present Pre-rename JavaScript · s43560 / ver ×
Declaration · line 1447 …
onPointerDown(vem, ven, veo, vep) {
const veq = vem.activeLayer;
if (!veq || !veq.visible) return;
const ver = Math.floor(ven),
ves = Math.floor(veo);
if (vem.selection.active && !vem.selection.isSelected(ver, ves)) return;
vem.saveDrawState("Fill");
const vet = vep.button === 2 ? v4i._secondaryColor : v4i._primaryColor;
… Reference · line 1461 …
const vez = vem.selection.active ? vem.selection.mask : null;
const vf0 = v4i._fillGlobal ? v7e : v6o;
vf0(vey, ver , ves, veu, vev, vew, vex, v4i._tolerance, vez);
veq.ctx.putImageData(vey, 0, 0);
v4i.emit("canvas:dirty");
}
};
var vf1 = class extends vbq {
constructor() {
super("Eyedropper", "i");
this._button = 0;
…
s43591 Input ves fy startYUseful 0.45 yCoord2Useful 0.26 Both poor Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s43591 / ves ×
Declaration · line 1448 …
const veq = vem.activeLayer;
if (!veq || !veq.visible) return;
const ver = Math.floor(ven),
ves = Math.floor(veo);
if (vem.selection.active && !vem.selection.isSelected(ver, ves)) return;
vem.saveDrawState("Fill");
const vet = vep.button === 2 ? v4i._secondaryColor : v4i._primaryColor;
const {
r: veu,
… Reference · line 1461 …
const vez = vem.selection.active ? vem.selection.mask : null;
const vf0 = v4i._fillGlobal ? v7e : v6o;
vf0(vey, ver, ves , veu, vev, vew, vex, v4i._tolerance, vez);
veq.ctx.putImageData(vey, 0, 0);
v4i.emit("canvas:dirty");
}
};
var vf1 = class extends vbq {
constructor() {
super("Eyedropper", "i");
this._button = 0;
}
…
s43738 Input vet color drawColorUseful 0.23 fillColorUseful 0.74 Humanify better Present Pre-rename JavaScript · s43738 / vet ×
Declaration · line 1451 …
if (vem.selection.active && !vem.selection.isSelected(ver, ves)) return;
vem.saveDrawState("Fill");
const vet = vep.button === 2 ? v4i._secondaryColor : v4i._primaryColor;
const {
r: veu,
g: vev,
b: vew
} = v9d(vet);
const vex = Math.round(v4i._brushAlpha * 255);
const vey = veq.ctx.getImageData(0, 0, vem.width, vem.height);
…
s43829 Input veu r redUseful 0.82 redUseful 0.82 Both useful Present Pre-rename JavaScript · s43829 / veu ×
Declaration · line 1453 …
const vet = vep.button === 2 ? v4i._secondaryColor : v4i._primaryColor;
const {
r: veu ,
g: vev,
b: vew
} = v9d(vet);
const vex = Math.round(v4i._brushAlpha * 255);
const vey = veq.ctx.getImageData(0, 0, vem.width, vem.height);
const vez = vem.selection.active ? vem.selection.mask : null;
… Reference · line 1461 …
const vez = vem.selection.active ? vem.selection.mask : null;
const vf0 = v4i._fillGlobal ? v7e : v6o;
vf0(vey, ver, ves, veu , vev, vew, vex, v4i._tolerance, vez);
veq.ctx.putImageData(vey, 0, 0);
v4i.emit("canvas:dirty");
}
};
var vf1 = class extends vbq {
constructor() {
super("Eyedropper", "i");
this._button = 0;
}
onPointerDown(vf2, vf3, vf4, vf5) {
…
s43845 Input vev g greenUseful 0.39 greenUseful 0.39 Both poor Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s43845 / vev ×
Declaration · line 1454 …
const vet = vep.button === 2 ? v4i._secondaryColor : v4i._primaryColor;
const {
r: veu,
g: vev ,
b: vew
} = v9d(vet);
const vex = Math.round(v4i._brushAlpha * 255);
const vey = veq.ctx.getImageData(0, 0, vem.width, vem.height);
const vez = vem.selection.active ? vem.selection.mask : null;
const vf0 = v4i._fillGlobal ? v7e : v6o;
… Reference · line 1461 …
const vez = vem.selection.active ? vem.selection.mask : null;
const vf0 = v4i._fillGlobal ? v7e : v6o;
vf0(vey, ver, ves, veu, vev , vew, vex, v4i._tolerance, vez);
veq.ctx.putImageData(vey, 0, 0);
v4i.emit("canvas:dirty");
}
};
var vf1 = class extends vbq {
constructor() {
super("Eyedropper", "i");
this._button = 0;
}
onPointerDown(vf2, vf3, vf4, vf5) {
…
s43861 Input vew b blueUseful 0.72 blueChannelUseful 0.62 Both useful Present Usefulness probability is near the provisional 0.5 boundary. Preference confidence is low. Pre-rename JavaScript · s43861 / vew ×
Declaration · line 1455 …
const vet = vep.button === 2 ? v4i._secondaryColor : v4i._primaryColor;
const {
r: veu,
g: vev,
b: vew
} = v9d(vet);
const vex = Math.round(v4i._brushAlpha * 255);
const vey = veq.ctx.getImageData(0, 0, vem.width, vem.height);
const vez = vem.selection.active ? vem.selection.mask : null;
const vf0 = v4i._fillGlobal ? v7e : v6o;
… Reference · line 1461 …
const vez = vem.selection.active ? vem.selection.mask : null;
const vf0 = v4i._fillGlobal ? v7e : v6o;
vf0(vey, ver, ves, veu, vev, vew , vex, v4i._tolerance, vez);
veq.ctx.putImageData(vey, 0, 0);
v4i.emit("canvas:dirty");
}
};
var vf1 = class extends vbq {
constructor() {
super("Eyedropper", "i");
this._button = 0;
}
onPointerDown(vf2, vf3, vf4, vf5) {
…
s43897 Input vex a alphaUseful 0.75 brushAlphaByteUseful 0.61 Both useful Present Usefulness probability is near the provisional 0.5 boundary. Preference confidence is low. Pre-rename JavaScript · s43897 / vex ×
Declaration · line 1457 …
const {
r: veu,
g: vev,
b: vew
} = v9d(vet);
const vex = Math.round(v4i._brushAlpha * 255);
const vey = veq.ctx.getImageData(0, 0, vem.width, vem.height);
const vez = vem.selection.active ? vem.selection.mask : null;
const vf0 = v4i._fillGlobal ? v7e : v6o;
vf0(vey, ver, ves, veu, vev, vew, vex, v4i._tolerance, vez);
…
s43950 Input vey imageData imageDataUseful 0.91 brushFlowUseful 0.03 FlowName better Absent Pre-rename JavaScript · s43950 / vey ×
Declaration · line 1458 …
b: vew
} = v9d(vet);
const vex = Math.round(v4i._brushAlpha * 255);
const vey = veq.ctx.getImageData(0, 0, vem.width, vem.height);
const vez = vem.selection.active ? vem.selection.mask : null;
const vf0 = v4i._fillGlobal ? v7e : v6o;
vf0(vey, ver, ves, veu, vev, vew, vex, v4i._tolerance, vez);
veq.ctx.putImageData(vey, 0, 0);
…
s44019 Input vez selMask maskUseful 0.76 alphaValueUseful 0.05 FlowName better Absent Pre-rename JavaScript · s44019 / vez ×
Declaration · line 1459 …
const vex = Math.round(v4i._brushAlpha * 255);
const vey = veq.ctx.getImageData(0, 0, vem.width, vem.height);
const vez = vem.selection.active ? vem.selection.mask : null;
const vf0 = v4i._fillGlobal ? v7e : v6o;
vf0(vey, ver, ves, veu, vev, vew, vex, v4i._tolerance, vez);
veq.ctx.putImageData(vey, 0, 0);
v4i.emit("canvas:dirty");
…
s44087 Input vf0 fillFn fillAlgorithmUseful 0.76 brushColorUseful 0.03 FlowName better Absent Pre-rename JavaScript · s44087 / vf0 ×
Declaration · line 1460 …
const vey = veq.ctx.getImageData(0, 0, vem.width, vem.height);
const vez = vem.selection.active ? vem.selection.mask : null;
const vf0 = v4i._fillGlobal ? v7e : v6o;
vf0(vey, ver, ves, veu, vev, vew, vex, v4i._tolerance, vez);
veq.ctx.putImageData(vey, 0, 0);
v4i.emit("canvas:dirty");
}
};
var vf1 = class extends vbq {
constructor() {
super("Eyedropper", "i");
…
s44277 Input vf1 EyedropperTool EyedropperToolUseful 0.91 EventEmitter11Useful 0.02 FlowName better Absent Pre-rename JavaScript · s44277 / vf1 ×
Declaration · line 1466 …
vf0(vey, ver, ves, veu, vev, vew, vex, v4i._tolerance, vez);
veq.ctx.putImageData(vey, 0, 0);
v4i.emit("canvas:dirty");
}
};
var vf1 = class extends vbq {
constructor() {
super("Eyedropper", "i");
this._button = 0;
}
onPointerDown(vf2, vf3, vf4, vf5) {
this._button = vf5.button;
this._pick(vf2, vf3, vf4);
}
onPointerMove(vf6, vf7, vf8, vf9) {
… Reference · line 2644 …
this._toolName = null;
const vq8 = [new vc7(), new vcq(), new vdo(), new vel(), new vf1 (), new vfj(), new vgl(), new vhg(), new vie(), new viy(), new vjs(), new vk2(), new vkx()];
for (const vq9 of vq8) this.tools[vq9.name.toLowerCase()] = vq9;
this._keyMap = {};
for (const vqa of vq8) if (vqa.key) this._keyMap[vqa.key] = vqa.name.toLowerCase();
…
s44403 Input vf2 doc xUseful 0.63 targetNodeUseful 0.07 FlowName better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s44403 / vf2 ×
Declaration · line 1471 …
constructor() {
super("Eyedropper", "i");
this._button = 0;
}
onPointerDown(vf2 , vf3, vf4, vf5) {
this._button = vf5.button;
this._pick(vf2, vf3, vf4);
}
onPointerMove(vf6, vf7, vf8, vf9) {
if (vf9.buttons) this._pick(vf6, vf7, vf8);
}
_pick(vfa, vfb, vfc) {
const vfd = vfa.activeLayer;
…
s44408 Input vf3 x yUseful 0.50 yCoordUseful 0.68 Humanify better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s44408 / vf3 ×
Declaration · line 1471 …
constructor() {
super("Eyedropper", "i");
this._button = 0;
}
onPointerDown(vf2, vf3 , vf4, vf5) {
this._button = vf5.button;
this._pick(vf2, vf3, vf4);
}
onPointerMove(vf6, vf7, vf8, vf9) {
if (vf9.buttons) this._pick(vf6, vf7, vf8);
}
_pick(vfa, vfb, vfc) {
const vfd = vfa.activeLayer;
…
s44413 Input vf4 y zUseful 0.18 optionsUseful 0.09 Both poor Present Pre-rename JavaScript · s44413 / vf4 ×
Declaration · line 1471 …
super("Eyedropper", "i");
this._button = 0;
}
onPointerDown(vf2, vf3, vf4 , vf5) {
this._button = vf5.button;
this._pick(vf2, vf3, vf4);
}
onPointerMove(vf6, vf7, vf8, vf9) {
if (vf9.buttons) this._pick(vf6, vf7, vf8);
}
_pick(vfa, vfb, vfc) {
const vfd = vfa.activeLayer;
…
s44418 Input vf5 e eventUseful 0.80 options2Useful 0.07 FlowName better Present Pre-rename JavaScript · s44418 / vf5 ×
Declaration · line 1471 …
super("Eyedropper", "i");
this._button = 0;
}
onPointerDown(vf2, vf3, vf4, vf5 ) {
this._button = vf5.button;
this._pick(vf2, vf3, vf4);
}
onPointerMove(vf6, vf7, vf8, vf9) {
if (vf9.buttons) this._pick(vf6, vf7, vf8);
}
_pick(vfa, vfb, vfc) {
const vfd = vfa.activeLayer;
if (!vfd) return;
…
s44515 Input vf6 doc eventXUseful 0.13 eventUseful 0.70 Humanify better Present Pre-rename JavaScript · s44515 / vf6 ×
Declaration · line 1475 …
this._button = vf5.button;
this._pick(vf2, vf3, vf4);
}
onPointerMove(vf6 , vf7, vf8, vf9) {
if (vf9.buttons) this._pick(vf6, vf7, vf8);
}
_pick(vfa, vfb, vfc) {
const vfd = vfa.activeLayer;
if (!vfd) return;
const vfe = Math.floor(vfb),
vff = Math.floor(vfc);
if (vfe < 0 || vfe >= vfa.width || vff < 0 || vff >= vfa.height) return;
…
s44520 Input vf7 x eventYUseful 0.59 yCoordUseful 0.71 Both useful Present Usefulness probability is near the provisional 0.5 boundary. Preference confidence is low. Pre-rename JavaScript · s44520 / vf7 ×
Declaration · line 1475 …
this._button = vf5.button;
this._pick(vf2, vf3, vf4);
}
onPointerMove(vf6, vf7 , vf8, vf9) {
if (vf9.buttons) this._pick(vf6, vf7, vf8);
}
_pick(vfa, vfb, vfc) {
const vfd = vfa.activeLayer;
if (!vfd) return;
const vfe = Math.floor(vfb),
vff = Math.floor(vfc);
if (vfe < 0 || vfe >= vfa.width || vff < 0 || vff >= vfa.height) return;
…
s44525 Input vf8 y eventZUseful 0.13 event2Useful 0.28 Both poor Present Pre-rename JavaScript · s44525 / vf8 ×
Declaration · line 1475 …
this._button = vf5.button;
this._pick(vf2, vf3, vf4);
}
onPointerMove(vf6, vf7, vf8 , vf9) {
if (vf9.buttons) this._pick(vf6, vf7, vf8);
}
_pick(vfa, vfb, vfc) {
const vfd = vfa.activeLayer;
if (!vfd) return;
const vfe = Math.floor(vfb),
vff = Math.floor(vfc);
if (vfe < 0 || vfe >= vfa.width || vff < 0 || vff >= vfa.height) return;
…
s44530 Input vf9 e pointerEventUseful 0.75 mouseEventUseful 0.24 FlowName better Present Pre-rename JavaScript · s44530 / vf9 ×
Declaration · line 1475 …
this._button = vf5.button;
this._pick(vf2, vf3, vf4);
}
onPointerMove(vf6, vf7, vf8, vf9 ) {
if (vf9.buttons) this._pick(vf6, vf7, vf8);
}
_pick(vfa, vfb, vfc) {
const vfd = vfa.activeLayer;
if (!vfd) return;
const vfe = Math.floor(vfb),
vff = Math.floor(vfc);
if (vfe < 0 || vfe >= vfa.width || vff < 0 || vff >= vfa.height) return;
…
s44603 Input vfa doc layerManagerUseful 0.13 canvasUseful 0.17 Both poor Present Pre-rename JavaScript · s44603 / vfa ×
Declaration · line 1478 …
onPointerMove(vf6, vf7, vf8, vf9) {
if (vf9.buttons) this._pick(vf6, vf7, vf8);
}
_pick(vfa , vfb, vfc) {
const vfd = vfa.activeLayer;
if (!vfd) return;
const vfe = Math.floor(vfb),
vff = Math.floor(vfc);
if (vfe < 0 || vfe >= vfa.width || vff < 0 || vff >= vfa.height) return;
const vfg = vfd.ctx.getImageData(vfe, vff, 1, 1).data;
…
s44608 Input vfb x rawXUseful 0.47 xUseful 0.88 Humanify better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s44608 / vfb ×
Declaration · line 1478 …
onPointerMove(vf6, vf7, vf8, vf9) {
if (vf9.buttons) this._pick(vf6, vf7, vf8);
}
_pick(vfa, vfb , vfc) {
const vfd = vfa.activeLayer;
if (!vfd) return;
const vfe = Math.floor(vfb),
vff = Math.floor(vfc);
if (vfe < 0 || vfe >= vfa.width || vff < 0 || vff >= vfa.height) return;
const vfg = vfd.ctx.getImageData(vfe, vff, 1, 1).data;
…
s44613 Input vfc y rawYUseful 0.49 yCoordUseful 0.85 Humanify better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s44613 / vfc ×
Declaration · line 1478 …
onPointerMove(vf6, vf7, vf8, vf9) {
if (vf9.buttons) this._pick(vf6, vf7, vf8);
}
_pick(vfa, vfb, vfc ) {
const vfd = vfa.activeLayer;
if (!vfd) return;
const vfe = Math.floor(vfb),
vff = Math.floor(vfc);
if (vfe < 0 || vfe >= vfa.width || vff < 0 || vff >= vfa.height) return;
const vfg = vfd.ctx.getImageData(vfe, vff, 1, 1).data;
…
s44632 Input vfd layer activeLayerUseful 0.75 activeLayerUseful 0.75 Both useful Present Pre-rename JavaScript · s44632 / vfd ×
Declaration · line 1479 …
if (vf9.buttons) this._pick(vf6, vf7, vf8);
}
_pick(vfa, vfb, vfc) {
const vfd = vfa.activeLayer;
if (!vfd) return;
const vfe = Math.floor(vfb),
vff = Math.floor(vfc);
if (vfe < 0 || vfe >= vfa.width || vff < 0 || vff >= vfa.height) return;
const vfg = vfd.ctx.getImageData(vfe, vff, 1, 1).data;
…
s44691 Input vfe px xCoordUseful 0.72 pixelXUseful 0.89 Both useful Present Preference confidence is low. Pre-rename JavaScript · s44691 / vfe ×
Declaration · line 1481 …
_pick(vfa, vfb, vfc) {
const vfd = vfa.activeLayer;
if (!vfd) return;
const vfe = Math.floor(vfb),
vff = Math.floor(vfc);
if (vfe < 0 || vfe >= vfa.width || vff < 0 || vff >= vfa.height) return;
const vfg = vfd.ctx.getImageData(vfe, vff, 1, 1).data;
const vfh = "#" + [vfg[0], vfg[1], vfg[2]].map(vfi => vfi.toString(16).padStart(2, "0")).join("");
…
s44722 Input vff py yCoordUseful 0.79 yUseful 0.64 Both useful Present Usefulness probability is near the provisional 0.5 boundary. Preference confidence is low. Pre-rename JavaScript · s44722 / vff ×
Declaration · line 1482 …
const vfd = vfa.activeLayer;
if (!vfd) return;
const vfe = Math.floor(vfb),
vff = Math.floor(vfc);
if (vfe < 0 || vfe >= vfa.width || vff < 0 || vff >= vfa.height) return;
const vfg = vfd.ctx.getImageData(vfe, vff, 1, 1).data;
const vfh = "#" + [vfg[0], vfg[1], vfg[2]].map(vfi => vfi.toString(16).padStart(2, "0")).join("");
…
s44836 Input vfg data pixelDataUseful 0.81 pixelDataUseful 0.81 Both useful Present Pre-rename JavaScript · s44836 / vfg ×
Declaration · line 1484 …
if (vfe < 0 || vfe >= vfa.width || vff < 0 || vff >= vfa.height) return;
const vfg = vfd.ctx.getImageData(vfe, vff, 1, 1).data;
const vfh = "#" + [vfg[0], vfg[1], vfg[2]].map(vfi => vfi.toString(16).padStart(2, "0")).join("");
if (this._button === 2) {
v4i.emit("color:set-secondary", vfh);
} else {
…
s44897 Input vfh hex hexColorUseful 0.87 hexColorUseful 0.87 Both useful Present Pre-rename JavaScript · s44897 / vfh ×
Declaration · line 1485 …
if (vfe < 0 || vfe >= vfa.width || vff < 0 || vff >= vfa.height) return;
const vfg = vfd.ctx.getImageData(vfe, vff, 1, 1).data;
const vfh = "#" + [vfg[0], vfg[1], vfg[2]].map(vfi => vfi.toString(16).padStart(2, "0")).join("");
if (this._button === 2) {
v4i.emit("color:set-secondary", vfh);
} else {
v4i.emit("color:set-primary", vfh);
}
}
…
s44938 Input vfi v colorComponentUseful 0.51 byteValueUseful 0.67 Humanify better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s44938 / vfi ×
Declaration · line 1485 …
const vfg = vfd.ctx.getImageData(vfe, vff, 1, 1).data;
const vfh = "#" + [vfg[0], vfg[1], vfg[2]].map(vfi => vfi.toString(16).padStart(2, "0")).join("");
if (this._button === 2) {
v4i.emit("color:set-secondary", vfh);
} else {
v4i.emit("color:set-primary", vfh);
}
}
};
var vfj = class extends vbq {
constructor() {
…
s45152 Input vfj LineTool LineToolUseful 0.84 EventEmitter12Useful 0.02 FlowName better Absent Pre-rename JavaScript · s45152 / vfj ×
Declaration · line 1493 …
v4i.emit("color:set-secondary", vfh);
} else {
v4i.emit("color:set-primary", vfh);
}
}
};
var vfj = class extends vbq {
constructor() {
super("Line", "l");
this._drawing = false;
this._startX = 0;
this._startY = 0;
this._endX = 0;
this._endY = 0;
}
onPointerDown(vfk, vfl, vfm, vfn) {
const vfo = vfk.activeLayer;
… Reference · line 2644 …
this._toolName = null;
const vq8 = [new vc7(), new vcq(), new vdo(), new vel(), new vf1(), new vfj (), new vgl(), new vhg(), new vie(), new viy(), new vjs(), new vk2(), new vkx()];
for (const vq9 of vq8) this.tools[vq9.name.toLowerCase()] = vq9;
this._keyMap = {};
for (const vqa of vq8) if (vqa.key) this._keyMap[vqa.key] = vqa.name.toLowerCase();
…
s45369 Input vfk doc canvasUseful 0.26 mapUseful 0.16 Both poor Present Pre-rename JavaScript · s45369 / vfk ×
Declaration · line 1502 …
this._startY = 0;
this._endX = 0;
this._endY = 0;
}
onPointerDown(vfk , vfl, vfm, vfn) {
const vfo = vfk.activeLayer;
if (!vfo || !vfo.visible) return;
this._drawing = true;
this._startX = vfl;
this._startY = vfm;
this._endX = vfl;
this._endY = vfm;
this._button = vfn.button;
… Reference · line 1511 …
this._startY = vfm;
this._endX = vfl;
this._endY = vfm;
this._button = vfn.button;
vfk .saveDrawState("Line");
}
onPointerMove(vfp, vfq, vfr, vfs) {
if (!this._drawing) return;
this._endX = vfq;
this._endY = vfr;
if (vfs.shiftKey) {
const vft = this._endX - this._startX;
const vfu = this._endY - this._startY;
…
s45374 Input vfl x xUseful 0.34 startXUseful 0.20 Both poor Present Pre-rename JavaScript · s45374 / vfl ×
Declaration · line 1502 …
this._startY = 0;
this._endX = 0;
this._endY = 0;
}
onPointerDown(vfk, vfl , vfm, vfn) {
const vfo = vfk.activeLayer;
if (!vfo || !vfo.visible) return;
this._drawing = true;
this._startX = vfl;
this._startY = vfm;
this._endX = vfl;
this._endY = vfm;
this._button = vfn.button;
…
s45379 Input vfm y yUseful 0.39 startYUseful 0.23 Both poor Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s45379 / vfm ×
Declaration · line 1502 …
this._startY = 0;
this._endX = 0;
this._endY = 0;
}
onPointerDown(vfk, vfl, vfm , vfn) {
const vfo = vfk.activeLayer;
if (!vfo || !vfo.visible) return;
this._drawing = true;
this._startX = vfl;
this._startY = vfm;
this._endX = vfl;
this._endY = vfm;
this._button = vfn.button;
…
s45384 Input vfn e eventUseful 0.84 eventUseful 0.84 Both useful Present Pre-rename JavaScript · s45384 / vfn ×
Declaration · line 1502 …
this._startY = 0;
this._endX = 0;
this._endY = 0;
}
onPointerDown(vfk, vfl, vfm, vfn ) {
const vfo = vfk.activeLayer;
if (!vfo || !vfo.visible) return;
this._drawing = true;
this._startX = vfl;
this._startY = vfm;
this._endX = vfl;
this._endY = vfm;
this._button = vfn.button;
…
s45403 Input vfo layer activeLayerUseful 0.79 activeLayerUseful 0.79 Both useful Present Pre-rename JavaScript · s45403 / vfo ×
Declaration · line 1503 …
this._endX = 0;
this._endY = 0;
}
onPointerDown(vfk, vfl, vfm, vfn) {
const vfo = vfk.activeLayer;
if (!vfo || !vfo.visible) return;
this._drawing = true;
this._startX = vfl;
this._startY = vfm;
this._endX = vfl;
this._endY = vfm;
this._button = vfn.button;
vfk.saveDrawState("Line");
…
s45684 Input vfp doc eventUseful 0.65 eventUseful 0.65 Both useful Present Pre-rename JavaScript · s45684 / vfp ×
Declaration · line 1513 …
this._button = vfn.button;
vfk.saveDrawState("Line");
}
onPointerMove(vfp , vfq, vfr, vfs) {
if (!this._drawing) return;
this._endX = vfq;
this._endY = vfr;
if (vfs.shiftKey) {
const vft = this._endX - this._startX;
const vfu = this._endY - this._startY;
const vfv = Math.round(Math.atan2(vfu, vft) / (Math.PI / 4)) * (Math.PI / 4);
…
s45689 Input vfq x xUseful 0.84 currentXUseful 0.58 Both useful Present Usefulness probability is near the provisional 0.5 boundary. Preference confidence is low. Pre-rename JavaScript · s45689 / vfq ×
Declaration · line 1513 …
this._button = vfn.button;
vfk.saveDrawState("Line");
}
onPointerMove(vfp, vfq , vfr, vfs) {
if (!this._drawing) return;
this._endX = vfq;
this._endY = vfr;
if (vfs.shiftKey) {
const vft = this._endX - this._startX;
const vfu = this._endY - this._startY;
const vfv = Math.round(Math.atan2(vfu, vft) / (Math.PI / 4)) * (Math.PI / 4);
…
s45694 Input vfr y yUseful 0.80 currentYUseful 0.49 FlowName better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s45694 / vfr ×
Declaration · line 1513 …
this._button = vfn.button;
vfk.saveDrawState("Line");
}
onPointerMove(vfp, vfq, vfr , vfs) {
if (!this._drawing) return;
this._endX = vfq;
this._endY = vfr;
if (vfs.shiftKey) {
const vft = this._endX - this._startX;
const vfu = this._endY - this._startY;
const vfv = Math.round(Math.atan2(vfu, vft) / (Math.PI / 4)) * (Math.PI / 4);
…
s45699 Input vfs e pointerEventUseful 0.77 event2Useful 0.44 FlowName better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s45699 / vfs ×
Declaration · line 1513 …
this._button = vfn.button;
vfk.saveDrawState("Line");
}
onPointerMove(vfp, vfq, vfr, vfs ) {
if (!this._drawing) return;
this._endX = vfq;
this._endY = vfr;
if (vfs.shiftKey) {
const vft = this._endX - this._startX;
const vfu = this._endY - this._startY;
const vfv = Math.round(Math.atan2(vfu, vft) / (Math.PI / 4)) * (Math.PI / 4);
…
s45828 Input vft dx dxUseful 0.85 deltaXUseful 0.84 Both useful Present Preference confidence is low. Pre-rename JavaScript · s45828 / vft ×
Declaration · line 1518 …
if (!this._drawing) return;
this._endX = vfq;
this._endY = vfr;
if (vfs.shiftKey) {
const vft = this._endX - this._startX;
const vfu = this._endY - this._startY;
const vfv = Math.round(Math.atan2(vfu, vft) / (Math.PI / 4)) * (Math.PI / 4);
const vfw = Math.sqrt(vft * vft + vfu * vfu);
this._endX = this._startX + Math.cos(vfv) * vfw;
…
s45875 Input vfu dy dyUseful 0.80 deltaYUseful 0.21 FlowName better Present Pre-rename JavaScript · s45875 / vfu ×
Declaration · line 1519 …
this._endY = vfr;
if (vfs.shiftKey) {
const vft = this._endX - this._startX;
const vfu = this._endY - this._startY;
const vfv = Math.round(Math.atan2(vfu, vft) / (Math.PI / 4)) * (Math.PI / 4);
const vfw = Math.sqrt(vft * vft + vfu * vfu);
this._endX = this._startX + Math.cos(vfv) * vfw;
this._endY = this._startY + Math.sin(vfv) * vfw;
…
s45922 Input vfv angle snappedAngleUseful 0.81 snappedAngleUseful 0.81 Both useful Present Pre-rename JavaScript · s45922 / vfv ×
Declaration · line 1520 …
const vft = this._endX - this._startX;
const vfu = this._endY - this._startY;
const vfv = Math.round(Math.atan2(vfu, vft) / (Math.PI / 4)) * (Math.PI / 4);
const vfw = Math.sqrt(vft * vft + vfu * vfu);
this._endX = this._startX + Math.cos(vfv) * vfw;
this._endY = this._startY + Math.sin(vfv) * vfw;
}
…
s46008 Input vfw dist distanceUseful 0.93 distanceUseful 0.93 Both useful Present Pre-rename JavaScript · s46008 / vfw ×
Declaration · line 1521 …
const vfv = Math.round(Math.atan2(vfu, vft) / (Math.PI / 4)) * (Math.PI / 4);
const vfw = Math.sqrt(vft * vft + vfu * vfu);
this._endX = this._startX + Math.cos(vfv) * vfw;
this._endY = this._startY + Math.sin(vfv) * vfw;
}
}
onPointerUp(vfx, vfy, vfz, vg0) {
if (!this._drawing) return;
this._drawing = false;
…
s46192 Input vfx doc appUseful 0.15 editorUseful 0.26 Both poor Present Pre-rename JavaScript · s46192 / vfx ×
Declaration · line 1526 …
this._endX = this._startX + Math.cos(vfv) * vfw;
this._endY = this._startY + Math.sin(vfv) * vfw;
}
}
onPointerUp(vfx , vfy, vfz, vg0) {
if (!this._drawing) return;
this._drawing = false;
const vg1 = vfx.activeLayer;
if (!vg1 || !vg1.visible) return;
const vg2 = vfx.selection.active ? vg1.getSnapshot() : null;
const vg3 = this._button === 2 ? v4i._secondaryColor : v4i._primaryColor;
… Reference · line 1535 …
const vg3 = this._button === 2 ? v4i._secondaryColor : v4i._primaryColor;
const vg4 = vg1.ctx;
vg4.save();
if (vfx .selection.active) vfx.selection.applyClip(vg4);
vg4.globalAlpha = v4i._brushAlpha;
if (!v4i._antiAlias) {
vg4.fillStyle = vg3;
const vg5 = v4i._brushSize;
const vg6 = Math.floor(vg5 / 2);
v5z(Math.round(this._startX), Math.round(this._startY), Math.round(this._endX), Math
…
s46197 Input vfy x pointerYUseful 0.64 yUseful 0.64 Both useful Present Usefulness probability is near the provisional 0.5 boundary. Preference confidence is low. Pre-rename JavaScript · s46197 / vfy ×
Declaration · line 1526 …
this._endY = this._startY + Math.sin(vfv) * vfw;
}
}
onPointerUp(vfx, vfy , vfz, vg0) {
if (!this._drawing) return;
this._drawing = false;
const vg1 = vfx.activeLayer;
if (!vg1 || !vg1.visible) return;
const vg2 = vfx.selection.active ? vg1.getSnapshot() : null;
const vg3 = this._button === 2 ? v4i._secondaryColor : v4i._primaryColor;
…
s46202 Input vfz y pointerZUseful 0.10 pressureUseful 0.07 Both poor Present Pre-rename JavaScript · s46202 / vfz ×
Declaration · line 1526 …
this._endY = this._startY + Math.sin(vfv) * vfw;
}
}
onPointerUp(vfx, vfy, vfz , vg0) {
if (!this._drawing) return;
this._drawing = false;
const vg1 = vfx.activeLayer;
if (!vg1 || !vg1.visible) return;
const vg2 = vfx.selection.active ? vg1.getSnapshot() : null;
const vg3 = this._button === 2 ? v4i._secondaryColor : v4i._primaryColor;
…
s46207 Input vg0 e pointerEventUseful 0.67 eventUseful 0.77 Both useful Present Preference confidence is low. Pre-rename JavaScript · s46207 / vg0 ×
Declaration · line 1526 …
this._endY = this._startY + Math.sin(vfv) * vfw;
}
}
onPointerUp(vfx, vfy, vfz, vg0 ) {
if (!this._drawing) return;
this._drawing = false;
const vg1 = vfx.activeLayer;
if (!vg1 || !vg1.visible) return;
const vg2 = vfx.selection.active ? vg1.getSnapshot() : null;
const vg3 = this._button === 2 ? v4i._secondaryColor : v4i._primaryColor;
…
s46289 Input vg1 layer activeLayerUseful 0.74 activeLayerUseful 0.74 Both useful Present Pre-rename JavaScript · s46289 / vg1 ×
Declaration · line 1529 …
onPointerUp(vfx, vfy, vfz, vg0) {
if (!this._drawing) return;
this._drawing = false;
const vg1 = vfx.activeLayer;
if (!vg1 || !vg1.visible) return;
const vg2 = vfx.selection.active ? vg1.getSnapshot() : null;
const vg3 = this._button === 2 ? v4i._secondaryColor : v4i._primaryColor;
const vg4 = vg1.ctx;
vg4.save();
… Reference · line 1554 …
}
vg4.restore();
if (vg2 && vfx.selection.active) vfx.selection.maskLayer(vg1 , vg2);
vq5(vg1);
v4i.emit("canvas:dirty");
}
onOverlay(vg9, vga) {
if (!this._drawing) return;
const vgb = this._button === 2 ? v4i._secondaryColor : v4i._primaryColor;
vg9.globalAlpha = 0.7;
if (!v4i._antiAlias) {
…
s46364 Input vg2 snap layerSnapshotUseful 0.87 layerSnapshotUseful 0.87 Both useful Present Pre-rename JavaScript · s46364 / vg2 ×
Declaration · line 1531 …
this._drawing = false;
const vg1 = vfx.activeLayer;
if (!vg1 || !vg1.visible) return;
const vg2 = vfx.selection.active ? vg1.getSnapshot() : null;
const vg3 = this._button === 2 ? v4i._secondaryColor : v4i._primaryColor;
const vg4 = vg1.ctx;
vg4.save();
if (vfx.selection.active) vfx.selection.applyClip(vg4);
… Reference · line 1554 …
vg4.lineTo(Math.round(this._endX), Math.round(this._endY));
vg4.stroke();
}
vg4.restore();
if (vg2 && vfx.selection.active) vfx.selection.maskLayer(vg1, vg2);
vq5(vg1);
v4i.emit("canvas:dirty");
}
onOverlay(vg9, vga) {
if (!this._drawing) return;
const vgb = this._button === 2 ? v4i._secondaryColor : v4i._primaryColor;
…
s46431 Input vg3 color strokeColorUseful 0.36 brushColorUseful 0.71 Humanify better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s46431 / vg3 ×
Declaration · line 1532 …
if (!vg1 || !vg1.visible) return;
const vg2 = vfx.selection.active ? vg1.getSnapshot() : null;
const vg3 = this._button === 2 ? v4i._secondaryColor : v4i._primaryColor;
const vg4 = vg1.ctx;
vg4.save();
if (vfx.selection.active) vfx.selection.applyClip(vg4);
vg4.globalAlpha = v4i._brushAlpha;
if (!v4i._antiAlias) {
… Reference · line 1538 …
vg4.globalAlpha = v4i._brushAlpha;
if (!v4i._antiAlias) {
vg4.fillStyle = vg3 ;
const vg5 = v4i._brushSize;
const vg6 = Math.floor(vg5 / 2);
v5z(Math.round(this._startX), Math.round(this._startY), Math.round(this._endX), Math.round(this._endY), (vg7, vg8) => {
vg4.fillRect(vg7 - vg6, vg8 - vg6, vg5, vg5);
…
s46511 Input vg4 ctx ctxUseful 0.87 renderContextUseful 0.83 Both useful Present Preference confidence is low. Pre-rename JavaScript · s46511 / vg4 ×
Declaration · line 1533 …
const vg3 = this._button === 2 ? v4i._secondaryColor : v4i._primaryColor;
const vg4 = vg1.ctx;
vg4.save();
if (vfx.selection.active) vfx.selection.applyClip(vg4);
vg4.globalAlpha = v4i._brushAlpha;
if (!v4i._antiAlias) {
vg4.fillStyle = vg3;
const vg5 = v4i._brushSize;
const vg6 = Math.floor(vg5 / 2);
… Reference · line 1542 …
v5z(Math.round(this._startX), Math.round(this._startY), Math.round(this._endX), Math.round(this._endY), (vg7, vg8) => {
vg4 .fillRect(vg7 - vg6, vg8 - vg6, vg5, vg5);
});
} else {
vg4.strokeStyle = vg3;
vg4.lineWidth = v4i._brushSize;
vg4.lineCap = "round";
vg4.beginPath();
vg4.moveTo(Math.round(this._startX), Math.round(this._startY));
…
s46719 Input vg5 size brushSizeUseful 0.91 brushSizeUseful 0.91 Both useful Present Pre-rename JavaScript · s46719 / vg5 ×
Declaration · line 1539 …
vg4.globalAlpha = v4i._brushAlpha;
if (!v4i._antiAlias) {
vg4.fillStyle = vg3;
const vg5 = v4i._brushSize;
const vg6 = Math.floor(vg5 / 2);
v5z(Math.round(this._startX), Math.round(this._startY), Math.round(this._endX), Math.round(this._endY), (vg7, vg8) => {
vg4.fillRect(vg7 - vg6, vg8 - vg6, vg5, vg5);
…
s46755 Input vg6 r halfBrushSizeUseful 0.90 brushRadiusUseful 0.82 Both useful Present Preference confidence is low. Pre-rename JavaScript · s46755 / vg6 ×
Declaration · line 1540 …
if (!v4i._antiAlias) {
vg4.fillStyle = vg3;
const vg5 = v4i._brushSize;
const vg6 = Math.floor(vg5 / 2);
v5z(Math.round(this._startX), Math.round(this._startY), Math.round(this._endX), Math.round(this._endY), (vg7, vg8) => {
vg4.fillRect(vg7 - vg6, vg8 - vg6, vg5, vg5);
});
} else {
vg4.strokeStyle = vg3;
…
s46895 Input vg7 lx drawCoordXUseful 0.55 xUseful 0.69 Both useful Present Usefulness probability is near the provisional 0.5 boundary. Preference confidence is low. Pre-rename JavaScript · s46895 / vg7 ×
Declaration · line 1541 …
v5z(Math.round(this._startX), Math.round(this._startY), Math.round(this._endX), Math.round(this._endY), (vg7 , vg8) => {
vg4.fillRect(vg7 - vg6, vg8 - vg6, vg5, vg5);
});
} else {
vg4.strokeStyle = vg3;
vg4.lineWidth = v4i._brushSize;
vg4.lineCap = "round";
vg4.beginPath();
vg4.moveTo(Math.round(this._startX), Math.round(this._startY));
…
s46900 Input vg8 ly drawCoordYUseful 0.54 y2Useful 0.65 Both useful Present Usefulness probability is near the provisional 0.5 boundary. Preference confidence is low. Pre-rename JavaScript · s46900 / vg8 ×
Declaration · line 1541 …
v5z(Math.round(this._startX), Math.round(this._startY), Math.round(this._endX), Math.round(this._endY), (vg7, vg8 ) => {
vg4.fillRect(vg7 - vg6, vg8 - vg6, vg5, vg5);
});
} else {
vg4.strokeStyle = vg3;
vg4.lineWidth = v4i._brushSize;
vg4.lineCap = "round";
vg4.beginPath();
vg4.moveTo(Math.round(this._startX), Math.round(this._startY));
…
s47453 Input vg9 ctx ctxUseful 0.88 ctxUseful 0.88 Both useful Present Pre-rename JavaScript · s47453 / vg9 ×
Declaration · line 1558 …
if (vg2 && vfx.selection.active) vfx.selection.maskLayer(vg1, vg2);
vq5(vg1);
v4i.emit("canvas:dirty");
}
onOverlay(vg9 , vga) {
if (!this._drawing) return;
const vgb = this._button === 2 ? v4i._secondaryColor : v4i._primaryColor;
vg9.globalAlpha = 0.7;
if (!v4i._antiAlias) {
vg9.fillStyle = vgb;
const vgc = vga.zoom;
… Reference · line 1568 …
v5z(Math.round(this._startX), Math.round(this._startY), Math.round(this._endX), Math.round(this._endY), (vgf, vgg) => {
vg9 .fillRect((vgf - vge) * vgc + vga.panX, (vgg - vge) * vgc + vga.panY, vgd * vgc, vgd * vgc);
});
} else {
const vgh = Math.round(this._startX),
vgi = Math.round(this._startY);
const vgj = Math.round(this._endX),
…
s47458 Input vga doc viewportUseful 0.27 viewportUseful 0.27 Both poor Present Pre-rename JavaScript · s47458 / vga ×
Declaration · line 1558 …
if (vg2 && vfx.selection.active) vfx.selection.maskLayer(vg1, vg2);
vq5(vg1);
v4i.emit("canvas:dirty");
}
onOverlay(vg9, vga ) {
if (!this._drawing) return;
const vgb = this._button === 2 ? v4i._secondaryColor : v4i._primaryColor;
vg9.globalAlpha = 0.7;
if (!v4i._antiAlias) {
vg9.fillStyle = vgb;
const vgc = vga.zoom;
const vgd = v4i._brushSize;
… Reference · line 1568 …
(Math.round(this._startX), Math.round(this._startY), Math.round(this._endX), Math.round(this._endY), (vgf, vgg) => {
vg9.fillRect((vgf - vge) * vgc + vga .panX, (vgg - vge) * vgc + vga.panY, vgd * vgc, vgd * vgc);
});
} else {
const vgh = Math.round(this._startX),
vgi = Math.round(this._startY);
const vgj = Math.round(this._endX),
vgk = Math.round(this._endY);
…
s47511 Input vgb color colorUseful 0.88 brushColorUseful 0.66 FlowName better Present Pre-rename JavaScript · s47511 / vgb ×
Declaration · line 1560 …
v4i.emit("canvas:dirty");
}
onOverlay(vg9, vga) {
if (!this._drawing) return;
const vgb = this._button === 2 ? v4i._secondaryColor : v4i._primaryColor;
vg9.globalAlpha = 0.7;
if (!v4i._antiAlias) {
vg9.fillStyle = vgb;
const vgc = vga.zoom;
const vgd = v4i._brushSize;
const vge = Math.floor(vgd / 2);
… Reference · line 1575 …
const vgj = Math.round(this._endX),
vgk = Math.round(this._endY);
vg9.strokeStyle = vgb ;
vg9.lineWidth = v4i._brushSize * vga.zoom;
vg9.lineCap = "round";
vg9.beginPath();
vg9.moveTo(vgh * vga.zoom + vga.panX, vgi * vga.zoom + vga.panY);
vg9.lineTo(vgj * vga.zoom + vga.panX, vgk * vga.zoom + vga.panY);
…
s47680 Input vgc z zoomUseful 0.75 zoomLevelUseful 0.67 FlowName better Present Pre-rename JavaScript · s47680 / vgc ×
Declaration · line 1564 …
vg9.globalAlpha = 0.7;
if (!v4i._antiAlias) {
vg9.fillStyle = vgb;
const vgc = vga.zoom;
const vgd = v4i._brushSize;
const vge = Math.floor(vgd / 2);
v5z(Math.round(this._startX), Math.round(this._startY), Math.round(this._endX), Math.round(this._endY), (vgf, vgg) => {
vg9.fillRect((vgf - vge) * vgc + vga.panX, (vgg - vge) * vgc + vga.panY, vgd * vgc, vgd *
… Reference · line 1568 …
vg9.fillRect((vgf - vge) * vgc + vga.panX, (vgg - vge) * vgc + vga.panY, vgd * vgc, vgd * vgc );
});
} else {
const vgh = Math.round(this._startX),
vgi = Math.round(this._startY);
const vgj = Math.round(this._endX),
vgk = Math.round(this._endY);
vg9.strokeStyle = vgb;
vg9.lineWidth = v4i._brushSize * vga.zoom;
…
s47710 Input vgd size brushSizeUseful 0.91 brushSizeUseful 0.91 Both useful Present Pre-rename JavaScript · s47710 / vgd ×
Declaration · line 1565 …
if (!v4i._antiAlias) {
vg9.fillStyle = vgb;
const vgc = vga.zoom;
const vgd = v4i._brushSize;
const vge = Math.floor(vgd / 2);
v5z(Math.round(this._startX), Math.round(this._startY), Math.round(this._endX), Math.round(this._endY), (vgf, vgg) => {
vg9.fillRect((vgf - vge) * vgc + vga.panX, (vgg - vge) * vgc + vga.panY, vgd * vgc, vgd * vgc);
…
s47746 Input vge r halfBrushSizeUseful 0.88 brushRadiusUseful 0.84 Both useful Present Preference confidence is low. Pre-rename JavaScript · s47746 / vge ×
Declaration · line 1566 …
vg9.fillStyle = vgb;
const vgc = vga.zoom;
const vgd = v4i._brushSize;
const vge = Math.floor(vgd / 2);
v5z(Math.round(this._startX), Math.round(this._startY), Math.round(this._endX), Math.round(this._endY), (vgf, vgg) => {
vg9.fillRect((vgf - vge) * vgc + vga.panX, (vgg - vge) * vgc + vga.panY, vgd * vgc, vgd * vgc);
…
s47886 Input vgf lx xUseful 0.76 gridXUseful 0.43 FlowName better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s47886 / vgf ×
Declaration · line 1567 …
v5z(Math.round(this._startX), Math.round(this._startY), Math.round(this._endX), Math.round(this._endY), (vgf , vgg) => {
vg9.fillRect((vgf - vge) * vgc + vga.panX, (vgg - vge) * vgc + vga.panY, vgd * vgc, vgd * vgc);
});
} else {
const vgh = Math.round(this._startX),
vgi = Math.round(this._startY);
const vgj = Math.round(this._endX),
…
s47891 Input vgg ly yUseful 0.75 yUseful 0.75 Both useful Present Pre-rename JavaScript · s47891 / vgg ×
Declaration · line 1567 …
v5z(Math.round(this._startX), Math.round(this._startY), Math.round(this._endX), Math.round(this._endY), (vgf, vgg ) => {
vg9.fillRect((vgf - vge) * vgc + vga.panX, (vgg - vge) * vgc + vga.panY, vgd * vgc, vgd * vgc);
});
} else {
const vgh = Math.round(this._startX),
vgi = Math.round(this._startY);
const vgj = Math.round(this._endX),
…
s48048 Input vgh sx startXUseful 0.85 startXUseful 0.85 Both useful Present Pre-rename JavaScript · s48048 / vgh ×
Declaration · line 1571 …
vg9.fillRect((vgf - vge) * vgc + vga.panX, (vgg - vge) * vgc + vga.panY, vgd * vgc, vgd * vgc);
});
} else {
const vgh = Math.round(this._startX),
vgi = Math.round(this._startY);
const vgj = Math.round(this._endX),
vgk = Math.round(this._endY);
vg9.strokeStyle = vgb;
vg9.lineWidth = v4i._brushSize * vga.zoom;
vg9.lineCap = "round";
… Reference · line 1579 …
vg9.lineWidth = v4i._brushSize * vga.zoom;
vg9.lineCap = "round";
vg9.beginPath();
vg9.moveTo(vgh * vga.zoom + vga.panX, vgi * vga.zoom + vga.panY);
vg9.lineTo(vgj * vga.zoom + vga.panX, vgk * vga.zoom + vga.panY);
vg9.stroke();
}
vg9.globalAlpha = 1;
}
};
var vgl = class extends vbq {
constructor() {
…
s48090 Input vgi sy startYUseful 0.91 startYUseful 0.91 Both useful Present Pre-rename JavaScript · s48090 / vgi ×
Declaration · line 1572 …
vge) * vgc + vga.panX, (vgg - vge) * vgc + vga.panY, vgd * vgc, vgd * vgc);
});
} else {
const vgh = Math.round(this._startX),
vgi = Math.round(this._startY);
const vgj = Math.round(this._endX),
vgk = Math.round(this._endY);
vg9.strokeStyle = vgb;
vg9.lineWidth = v4i._brushSize * vga.zoom;
vg9.lineCap = "round";
vg9.beginPath();
… Reference · line 1579 …
vg9.lineCap = "round";
vg9.beginPath();
vg9.moveTo(vgh * vga.zoom + vga.panX, vgi * vga.zoom + vga.panY);
vg9.lineTo(vgj * vga.zoom + vga.panX, vgk * vga.zoom + vga.panY);
vg9.stroke();
}
vg9.globalAlpha = 1;
}
};
var vgl = class extends vbq {
constructor() {
super("Rectangle", "r");
…
s48136 Input vgj ex endXUseful 0.74 endScreenXUseful 0.46 FlowName better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s48136 / vgj ×
Declaration · line 1573 …
const vgh = Math.round(this._startX),
vgi = Math.round(this._startY);
const vgj = Math.round(this._endX),
vgk = Math.round(this._endY);
vg9.strokeStyle = vgb;
vg9.lineWidth = v4i._brushSize * vga.zoom;
vg9.lineCap = "round";
vg9.beginPath();
vg9.moveTo(vgh * vga.zoom + vga.panX, vgi * vga.zoom + vga.panY);
… Reference · line 1580 …
vg9.moveTo(vgh * vga.zoom + vga.panX, vgi * vga.zoom + vga.panY);
vg9.lineTo(vgj * vga.zoom + vga.panX, vgk * vga.zoom + vga.panY);
vg9.stroke();
}
vg9.globalAlpha = 1;
}
};
var vgl = class extends vbq {
constructor() {
super("Rectangle", "r");
this._drawing = false;
}
…
s48176 Input vgk ey endYUseful 0.91 endYUseful 0.91 Both useful Present Pre-rename JavaScript · s48176 / vgk ×
Declaration · line 1574 …
vgi = Math.round(this._startY);
const vgj = Math.round(this._endX),
vgk = Math.round(this._endY);
vg9.strokeStyle = vgb;
vg9.lineWidth = v4i._brushSize * vga.zoom;
vg9.lineCap = "round";
vg9.beginPath();
vg9.moveTo(vgh * vga.zoom + vga.panX, vgi * vga.zoom + vga.panY);
… Reference · line 1580 …
vg9.moveTo(vgh * vga.zoom + vga.panX, vgi * vga.zoom + vga.panY);
vg9.lineTo(vgj * vga.zoom + vga.panX, vgk * vga.zoom + vga.panY);
vg9.stroke();
}
vg9.globalAlpha = 1;
}
};
var vgl = class extends vbq {
constructor() {
super("Rectangle", "r");
this._drawing = false;
}
onPointerDown(vgm, vgn, vgo, vgp) {
…
s48566 Input vgl RectangleTool RectangleToolUseful 0.93 EventEmitter13Useful 0.02 FlowName better Absent Pre-rename JavaScript · s48566 / vgl ×
Declaration · line 1586 …
vg9.lineTo(vgj * vga.zoom + vga.panX, vgk * vga.zoom + vga.panY);
vg9.stroke();
}
vg9.globalAlpha = 1;
}
};
var vgl = class extends vbq {
constructor() {
super("Rectangle", "r");
this._drawing = false;
}
onPointerDown(vgm, vgn, vgo, vgp) {
const vgq = vgm.activeLayer;
if (!vgq || !vgq.visible) return;
this._drawing = true;
… Reference · line 2644 …
this._toolName = null;
const vq8 = [new vc7(), new vcq(), new vdo(), new vel(), new vf1(), new vfj(), new vgl (), new vhg(), new vie(), new viy(), new vjs(), new vk2(), new vkx()];
for (const vq9 of vq8) this.tools[vq9.name.toLowerCase()] = vq9;
this._keyMap = {};
for (const vqa of vq8) if (vqa.key) this._keyMap[vqa.key] = vqa.name.toLowerCase();
…
s48696 Input vgm doc eventUseful 0.79 mapUseful 0.14 FlowName better Present Pre-rename JavaScript · s48696 / vgm ×
Declaration · line 1591 …
constructor() {
super("Rectangle", "r");
this._drawing = false;
}
onPointerDown(vgm , vgn, vgo, vgp) {
const vgq = vgm.activeLayer;
if (!vgq || !vgq.visible) return;
this._drawing = true;
this._startX = vgn;
this._startY = vgo;
this._endX = vgn;
this._endY = vgo;
this._button = vgp.button;
… Reference · line 1600 …
this._startY = vgo;
this._endX = vgn;
this._endY = vgo;
this._button = vgp.button;
vgm .saveDrawState("Rectangle");
}
onPointerMove(vgr, vgs, vgt, vgu) {
if (!this._drawing) return;
this._endX = vgs;
this._endY = vgt;
if (vgu.shiftKey) {
const vgv = this._endX - this._startX;
const vgw = this._endY - this._startY;
…
s48701 Input vgn x clientXUseful 0.15 startXUseful 0.68 Humanify better Present Pre-rename JavaScript · s48701 / vgn ×
Declaration · line 1591 …
constructor() {
super("Rectangle", "r");
this._drawing = false;
}
onPointerDown(vgm, vgn , vgo, vgp) {
const vgq = vgm.activeLayer;
if (!vgq || !vgq.visible) return;
this._drawing = true;
this._startX = vgn;
this._startY = vgo;
this._endX = vgn;
this._endY = vgo;
this._button = vgp.button;
…
s48706 Input vgo y clientYUseful 0.30 startYUseful 0.50 Humanify better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s48706 / vgo ×
Declaration · line 1591 …
super("Rectangle", "r");
this._drawing = false;
}
onPointerDown(vgm, vgn, vgo , vgp) {
const vgq = vgm.activeLayer;
if (!vgq || !vgq.visible) return;
this._drawing = true;
this._startX = vgn;
this._startY = vgo;
this._endX = vgn;
this._endY = vgo;
this._button = vgp.button;
…
s48711 Input vgp e pointerEventUseful 0.73 eventUseful 0.73 FlowName better Present Pre-rename JavaScript · s48711 / vgp ×
Declaration · line 1591 …
super("Rectangle", "r");
this._drawing = false;
}
onPointerDown(vgm, vgn, vgo, vgp ) {
const vgq = vgm.activeLayer;
if (!vgq || !vgq.visible) return;
this._drawing = true;
this._startX = vgn;
this._startY = vgo;
this._endX = vgn;
this._endY = vgo;
this._button = vgp.button;
…
s48730 Input vgq layer activeLayerUseful 0.79 activeLayerUseful 0.79 Both useful Present Pre-rename JavaScript · s48730 / vgq ×
Declaration · line 1592 …
super("Rectangle", "r");
this._drawing = false;
}
onPointerDown(vgm, vgn, vgo, vgp) {
const vgq = vgm.activeLayer;
if (!vgq || !vgq.visible) return;
this._drawing = true;
this._startX = vgn;
this._startY = vgo;
this._endX = vgn;
this._endY = vgo;
this._button = vgp.button;
vgm.saveDrawState("Rectangle");
…
s49016 Input vgr doc eventUseful 0.72 eventUseful 0.72 Both useful Present Pre-rename JavaScript · s49016 / vgr ×
Declaration · line 1602 …
this._button = vgp.button;
vgm.saveDrawState("Rectangle");
}
onPointerMove(vgr , vgs, vgt, vgu) {
if (!this._drawing) return;
this._endX = vgs;
this._endY = vgt;
if (vgu.shiftKey) {
const vgv = this._endX - this._startX;
const vgw = this._endY - this._startY;
const vgx = Math.max(Math.abs(vgv), Math.abs(vgw));
…
s49021 Input vgs x xUseful 0.58 currentXUseful 0.69 Both useful Present Usefulness probability is near the provisional 0.5 boundary. Preference confidence is low. Pre-rename JavaScript · s49021 / vgs ×
Declaration · line 1602 …
this._button = vgp.button;
vgm.saveDrawState("Rectangle");
}
onPointerMove(vgr, vgs , vgt, vgu) {
if (!this._drawing) return;
this._endX = vgs;
this._endY = vgt;
if (vgu.shiftKey) {
const vgv = this._endX - this._startX;
const vgw = this._endY - this._startY;
const vgx = Math.max(Math.abs(vgv), Math.abs(vgw));
…
s49026 Input vgt y yUseful 0.61 currentYUseful 0.55 Humanify better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s49026 / vgt ×
Declaration · line 1602 …
this._button = vgp.button;
vgm.saveDrawState("Rectangle");
}
onPointerMove(vgr, vgs, vgt , vgu) {
if (!this._drawing) return;
this._endX = vgs;
this._endY = vgt;
if (vgu.shiftKey) {
const vgv = this._endX - this._startX;
const vgw = this._endY - this._startY;
const vgx = Math.max(Math.abs(vgv), Math.abs(vgw));
…
s49031 Input vgu e pointerEventUseful 0.75 event2Useful 0.45 FlowName better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s49031 / vgu ×
Declaration · line 1602 …
this._button = vgp.button;
vgm.saveDrawState("Rectangle");
}
onPointerMove(vgr, vgs, vgt, vgu ) {
if (!this._drawing) return;
this._endX = vgs;
this._endY = vgt;
if (vgu.shiftKey) {
const vgv = this._endX - this._startX;
const vgw = this._endY - this._startY;
const vgx = Math.max(Math.abs(vgv), Math.abs(vgw));
…
s49160 Input vgv dx deltaXUseful 0.88 deltaXUseful 0.88 Both useful Present Pre-rename JavaScript · s49160 / vgv ×
Declaration · line 1607 …
if (!this._drawing) return;
this._endX = vgs;
this._endY = vgt;
if (vgu.shiftKey) {
const vgv = this._endX - this._startX;
const vgw = this._endY - this._startY;
const vgx = Math.max(Math.abs(vgv), Math.abs(vgw));
this._endX = this._startX + vgx * Math.sign(vgv);
this._endY = this._startY + vgx * Math.sign(vgw);
…
s49207 Input vgw dy deltaYUseful 0.41 deltaYUseful 0.41 Both poor Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s49207 / vgw ×
Declaration · line 1608 …
this._endY = vgt;
if (vgu.shiftKey) {
const vgv = this._endX - this._startX;
const vgw = this._endY - this._startY;
const vgx = Math.max(Math.abs(vgv), Math.abs(vgw));
this._endX = this._startX + vgx * Math.sign(vgv);
this._endY = this._startY + vgx * Math.sign(vgw);
}
}
onPointerUp(vgy) {
…
s49254 Input vgx size maxDeltaUseful 0.55 maxDeltaUseful 0.55 Both useful Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s49254 / vgx ×
Declaration · line 1609 …
const vgv = this._endX - this._startX;
const vgw = this._endY - this._startY;
const vgx = Math.max(Math.abs(vgv), Math.abs(vgw));
this._endX = this._startX + vgx * Math.sign(vgv);
this._endY = this._startY + vgx * Math.sign(vgw);
}
}
onPointerUp(vgy) {
if (!this._drawing) return;
this._drawing = false;
…
s49446 Input vgy doc eUseful 0.21 documentStateUseful 0.28 Both poor Present Pre-rename JavaScript · s49446 / vgy ×
Declaration · line 1614 …
this._endX = this._startX + vgx * Math.sign(vgv);
this._endY = this._startY + vgx * Math.sign(vgw);
}
}
onPointerUp(vgy ) {
if (!this._drawing) return;
this._drawing = false;
const vgz = vgy.activeLayer;
if (!vgz || !vgz.visible) return;
const vh0 = vgy.selection.active ? vgz.getSnapshot() : null;
const vh1 = this._button === 2 ? v4i._secondaryColor : v4i._primaryColor;
… Reference · line 1623 …
const vh1 = this._button === 2 ? v4i._secondaryColor : v4i._primaryColor;
const vh2 = vgz.ctx;
vh2.save();
if (vgy .selection.active) vgy.selection.applyClip(vh2);
vh2.globalAlpha = v4i._brushAlpha;
let vh3 = Math.min(this._startX, this._endX);
let vh4 = Math.min(this._startY, this._endY);
let vh5 = Math.abs(this._endX - this._startX);
…
s49528 Input vgz layer layerUseful 0.88 activeLayerUseful 0.54 Both useful Present Usefulness probability is near the provisional 0.5 boundary. Preference confidence is low. Pre-rename JavaScript · s49528 / vgz ×
Declaration · line 1617 …
onPointerUp(vgy) {
if (!this._drawing) return;
this._drawing = false;
const vgz = vgy.activeLayer;
if (!vgz || !vgz.visible) return;
const vh0 = vgy.selection.active ? vgz.getSnapshot() : null;
const vh1 = this._button === 2 ? v4i._secondaryColor : v4i._primaryColor;
const vh2 = vgz.ctx;
vh2.save();
… Reference · line 1651 …
}
vh2.restore();
if (vh0 && vgy.selection.active) vgy.selection.maskLayer(vgz , vh0);
vq5(vgz);
v4i.emit("canvas:dirty");
}
onOverlay(vh8, vh9) {
if (!this._drawing) return;
const vha = this._button === 2 ? v4i._secondaryColor : v4i._primaryColor;
const vhb = vh9.zoom;
const vhc = Math.round(Math.min(this._startX, this._endX)) * vhb + vh9.panX;
…
s49603 Input vh0 snap snapshotUseful 0.80 selectionSnapshotUseful 0.48 FlowName better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s49603 / vh0 ×
Declaration · line 1619 …
this._drawing = false;
const vgz = vgy.activeLayer;
if (!vgz || !vgz.visible) return;
const vh0 = vgy.selection.active ? vgz.getSnapshot() : null;
const vh1 = this._button === 2 ? v4i._secondaryColor : v4i._primaryColor;
const vh2 = vgz.ctx;
vh2.save();
if (vgy.selection.active) vgy.selection.applyClip(vh2);
… Reference · line 1651 …
vh2.lineWidth = v4i._brushSize;
vh2.strokeRect(vh3, vh4, vh5, vh6);
}
vh2.restore();
if (vh0 && vgy.selection.active) vgy.selection.maskLayer(vgz, vh0);
vq5(vgz);
v4i.emit("canvas:dirty");
}
onOverlay(vh8, vh9) {
if (!this._drawing) return;
const vha = this._button === 2 ? v4i._secondaryColor : v4i._primaryColor;
…
s49670 Input vh1 color colorUseful 0.89 brushColorUseful 0.73 Both useful Present Preference confidence is low. Pre-rename JavaScript · s49670 / vh1 ×
Declaration · line 1620 …
if (!vgz || !vgz.visible) return;
const vh0 = vgy.selection.active ? vgz.getSnapshot() : null;
const vh1 = this._button === 2 ? v4i._secondaryColor : v4i._primaryColor;
const vh2 = vgz.ctx;
vh2.save();
if (vgy.selection.active) vgy.selection.applyClip(vh2);
vh2.globalAlpha = v4i._brushAlpha;
let vh3 = Math.min(this._startX, this._endX);
… Reference · line 1636 …
vh5 = Math.round(vh5);
vh6 = Math.round(vh6);
}
if (v4i._filled) {
vh2.fillStyle = vh1 ;
vh2.fillRect(vh3, vh4, vh5, vh6);
} else if (!v4i._antiAlias) {
vh2.fillStyle = vh1;
const vh7 = v4i._brushSize;
vh2.fillRect(vh3, vh4, vh5, vh7);
vh2.fillRect(vh3, vh4 + vh6 - vh7, vh5, vh7);
…
s49750 Input vh2 ctx ctxUseful 0.88 contextUseful 0.86 FlowName better Present Pre-rename JavaScript · s49750 / vh2 ×
Declaration · line 1621 …
const vh1 = this._button === 2 ? v4i._secondaryColor : v4i._primaryColor;
const vh2 = vgz.ctx;
vh2.save();
if (vgy.selection.active) vgy.selection.applyClip(vh2);
vh2.globalAlpha = v4i._brushAlpha;
let vh3 = Math.min(this._startX, this._endX);
let vh4 = Math.min(this._startY, this._endY);
let vh5 = Math.abs(this._endX - this._startX);
… Reference · line 1636 …
vh5 = Math.round(vh5);
vh6 = Math.round(vh6);
}
if (v4i._filled) {
vh2 .fillStyle = vh1;
vh2.fillRect(vh3, vh4, vh5, vh6);
} else if (!v4i._antiAlias) {
vh2.fillStyle = vh1;
const vh7 = v4i._brushSize;
vh2.fillRect(vh3, vh4, vh5, vh7);
vh2.fillRect(vh3, vh4 + vh6 - vh7, vh5, vh7);
…
s49896 Input vh3 rx x1Useful 0.44 minXUseful 0.67 Humanify better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s49896 / vh3 ×
Declaration · line 1625 …
if (vgy.selection.active) vgy.selection.applyClip(vh2);
vh2.globalAlpha = v4i._brushAlpha;
let vh3 = Math.min(this._startX, this._endX);
let vh4 = Math.min(this._startY, this._endY);
let vh5 = Math.abs(this._endX - this._startX);
let vh6 = Math.abs(this._endY - this._startY);
if (!v4i._antiAlias) {
vh3 = Math.round(vh3);
… Reference · line 1637 …
vh6 = Math.round(vh6);
}
if (v4i._filled) {
vh2.fillStyle = vh1;
vh2.fillRect(vh3 , vh4, vh5, vh6);
} else if (!v4i._antiAlias) {
vh2.fillStyle = vh1;
const vh7 = v4i._brushSize;
vh2.fillRect(vh3, vh4, vh5, vh7);
vh2.fillRect(vh3, vh4 + vh6 - vh7, vh5, vh7);
vh2.fillRect(vh3, vh4 + vh7, vh7, vh6 - 2 * vh7);
…
s49948 Input vh4 ry y1Useful 0.55 minX2Useful 0.10 FlowName better Absent Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s49948 / vh4 ×
Declaration · line 1626 …
vh2.globalAlpha = v4i._brushAlpha;
let vh3 = Math.min(this._startX, this._endX);
let vh4 = Math.min(this._startY, this._endY);
let vh5 = Math.abs(this._endX - this._startX);
let vh6 = Math.abs(this._endY - this._startY);
if (!v4i._antiAlias) {
vh3 = Math.round(vh3);
vh4 = Math.round(vh4);
vh5 = Math.round(vh5);
… Reference · line 1637 …
vh6 = Math.round(vh6);
}
if (v4i._filled) {
vh2.fillStyle = vh1;
vh2.fillRect(vh3, vh4 , vh5, vh6);
} else if (!v4i._antiAlias) {
vh2.fillStyle = vh1;
const vh7 = v4i._brushSize;
vh2.fillRect(vh3, vh4, vh5, vh7);
vh2.fillRect(vh3, vh4 + vh6 - vh7, vh5, vh7);
vh2.fillRect(vh3, vh4 + vh7, vh7, vh6 - 2 * vh7);
…
s50000 Input vh5 rw widthUseful 0.87 minX3Useful 0.06 FlowName better Absent Pre-rename JavaScript · s50000 / vh5 ×
Declaration · line 1627 …
let vh3 = Math.min(this._startX, this._endX);
let vh4 = Math.min(this._startY, this._endY);
let vh5 = Math.abs(this._endX - this._startX);
let vh6 = Math.abs(this._endY - this._startY);
if (!v4i._antiAlias) {
vh3 = Math.round(vh3);
vh4 = Math.round(vh4);
vh5 = Math.round(vh5);
vh6 = Math.round(vh6);
… Reference · line 1637 …
}
if (v4i._filled) {
vh2.fillStyle = vh1;
vh2.fillRect(vh3, vh4, vh5 , vh6);
} else if (!v4i._antiAlias) {
vh2.fillStyle = vh1;
const vh7 = v4i._brushSize;
vh2.fillRect(vh3, vh4, vh5, vh7);
vh2.fillRect(vh3, vh4 + vh6 - vh7, vh5, vh7);
vh2.fillRect(vh3, vh4 + vh7, vh7, vh6 - 2 * vh7);
…
s50053 Input vh6 rh heightUseful 0.84 brushSizeUseful 0.06 FlowName better Absent Pre-rename JavaScript · s50053 / vh6 ×
Declaration · line 1628 …
let vh4 = Math.min(this._startY, this._endY);
let vh5 = Math.abs(this._endX - this._startX);
let vh6 = Math.abs(this._endY - this._startY);
if (!v4i._antiAlias) {
vh3 = Math.round(vh3);
vh4 = Math.round(vh4);
vh5 = Math.round(vh5);
vh6 = Math.round(vh6);
}
if (v4i._filled) {
vh2.fillStyle = vh1;
… Reference · line 1637 …
if (v4i._filled) {
vh2.fillStyle = vh1;
vh2.fillRect(vh3, vh4, vh5, vh6 );
} else if (!v4i._antiAlias) {
vh2.fillStyle = vh1;
const vh7 = v4i._brushSize;
vh2.fillRect(vh3, vh4, vh5, vh7);
vh2.fillRect(vh3, vh4 + vh6 - vh7, vh5, vh7);
vh2.fillRect(vh3, vh4 + vh7, vh7, vh6 - 2 * vh7);
…
s50432 Input vh7 lw brushSizeUseful 0.91 brushSize2Useful 0.26 FlowName better Present Pre-rename JavaScript · s50432 / vh7 ×
Declaration · line 1640 …
vh2.fillRect(vh3, vh4, vh5, vh6);
} else if (!v4i._antiAlias) {
vh2.fillStyle = vh1;
const vh7 = v4i._brushSize;
vh2.fillRect(vh3, vh4, vh5, vh7);
vh2.fillRect(vh3, vh4 + vh6 - vh7, vh5, vh7);
vh2.fillRect(vh3, vh4 + vh7, vh7, vh6 - 2 * vh7);
vh2.fillRect(vh3 + vh5 - vh7, vh4 + vh7, vh7, vh6 - 2 * vh7);
…
s50979 Input vh8 ctx ctxUseful 0.86 contextUseful 0.85 FlowName better Present Pre-rename JavaScript · s50979 / vh8 ×
Declaration · line 1655 …
if (vh0 && vgy.selection.active) vgy.selection.maskLayer(vgz, vh0);
vq5(vgz);
v4i.emit("canvas:dirty");
}
onOverlay(vh8 , vh9) {
if (!this._drawing) return;
const vha = this._button === 2 ? v4i._secondaryColor : v4i._primaryColor;
const vhb = vh9.zoom;
const vhc = Math.round(Math.min(this._startX, this._endX)) * vhb + vh9.panX;
const vhd = Math.round(Math.min(this._startY, this._endY)) * vhb + vh9.panY;
… Reference · line 1663 …
const vhe = Math.round(Math.abs(this._endX - this._startX)) * vhb;
const vhf = Math.round(Math.abs(this._endY - this._startY)) * vhb;
vh8 .globalAlpha = 0.7;
if (v4i._filled) {
vh8.fillStyle = vha;
vh8.fillRect(vhc, vhd, vhe, vhf);
} else {
vh8.strokeStyle = vha;
vh8.lineWidth = v4i._brushSize * vhb;
vh8.strokeRect(vhc, vhd, vhe, vhf);
…
s50984 Input vh9 doc viewportUseful 0.28 viewportUseful 0.28 Both poor Present Pre-rename JavaScript · s50984 / vh9 ×
Declaration · line 1655 …
if (vh0 && vgy.selection.active) vgy.selection.maskLayer(vgz, vh0);
vq5(vgz);
v4i.emit("canvas:dirty");
}
onOverlay(vh8, vh9 ) {
if (!this._drawing) return;
const vha = this._button === 2 ? v4i._secondaryColor : v4i._primaryColor;
const vhb = vh9.zoom;
const vhc = Math.round(Math.min(this._startX, this._endX)) * vhb + vh9.panX;
const vhd = Math.round(Math.min(this._startY, this._endY)) * vhb + vh9.panY;
…
s51037 Input vha color colorUseful 0.90 drawColorUseful 0.73 Both useful Present Preference confidence is low. Pre-rename JavaScript · s51037 / vha ×
Declaration · line 1657 …
v4i.emit("canvas:dirty");
}
onOverlay(vh8, vh9) {
if (!this._drawing) return;
const vha = this._button === 2 ? v4i._secondaryColor : v4i._primaryColor;
const vhb = vh9.zoom;
const vhc = Math.round(Math.min(this._startX, this._endX)) * vhb + vh9.panX;
const vhd = Math.round(Math.min(this._startY, this._endY)) * vhb + vh9.panY;
… Reference · line 1665 …
const vhf = Math.round(Math.abs(this._endY - this._startY)) * vhb;
vh8.globalAlpha = 0.7;
if (v4i._filled) {
vh8.fillStyle = vha ;
vh8.fillRect(vhc, vhd, vhe, vhf);
} else {
vh8.strokeStyle = vha;
vh8.lineWidth = v4i._brushSize * vhb;
vh8.strokeRect(vhc, vhd, vhe, vhf);
}
vh8.globalAlpha = 1;
}
};
var vhg = class extends vbq {
…
s51117 Input vhb z zoomUseful 0.81 zoomLevelUseful 0.78 FlowName better Present Pre-rename JavaScript · s51117 / vhb ×
Declaration · line 1658 …
const vha = this._button === 2 ? v4i._secondaryColor : v4i._primaryColor;
const vhb = vh9.zoom;
const vhc = Math.round(Math.min(this._startX, this._endX)) * vhb + vh9.panX;
const vhd = Math.round(Math.min(this._startY, this._endY)) * vhb + vh9.panY;
const vhe = Math.round(Math.abs(this._endX - this._startX)) * vhb;
… Reference · line 1662 …
const vhe = Math.round(Math.abs(this._endX - this._startX)) * vhb;
const vhf = Math.round(Math.abs(this._endY - this._startY)) * vhb ;
vh8.globalAlpha = 0.7;
if (v4i._filled) {
vh8.fillStyle = vha;
vh8.fillRect(vhc, vhd, vhe, vhf);
} else {
vh8.strokeStyle = vha;
vh8.lineWidth = v4i._brushSize * vhb;
vh8.strokeRect(vhc, vhd, vhe, vhf);
…
s51145 Input vhc rx drawXUseful 0.20 renderXUseful 0.53 Humanify better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s51145 / vhc ×
Declaration · line 1659 …
const vha = this._button === 2 ? v4i._secondaryColor : v4i._primaryColor;
const vhb = vh9.zoom;
const vhc = Math.round(Math.min(this._startX, this._endX)) * vhb + vh9.panX;
const vhd = Math.round(Math.min(this._startY, this._endY)) * vhb + vh9.panY;
const vhe = Math.round(Math.abs(this._endX - this._startX)) * vhb;
const vhf = Math.round(Math.abs(this._endY - this._startY)) * vhb;
… Reference · line 1666 …
vh8.globalAlpha = 0.7;
if (v4i._filled) {
vh8.fillStyle = vha;
vh8.fillRect(vhc , vhd, vhe, vhf);
} else {
vh8.strokeStyle = vha;
vh8.lineWidth = v4i._brushSize * vhb;
vh8.strokeRect(vhc, vhd, vhe, vhf);
}
vh8.globalAlpha = 1;
}
};
var vhg = class extends vbq {
constructor() {
…
s51228 Input vhd ry drawYUseful 0.11 startYUseful 0.75 Humanify better Present Pre-rename JavaScript · s51228 / vhd ×
Declaration · line 1660 …
const vhc = Math.round(Math.min(this._startX, this._endX)) * vhb + vh9.panX;
const vhd = Math.round(Math.min(this._startY, this._endY)) * vhb + vh9.panY;
const vhe = Math.round(Math.abs(this._endX - this._startX)) * vhb;
const vhf = Math.round(Math.abs(this._endY - this._startY)) * vhb;
vh8.globalAlpha = 0.7;
… Reference · line 1666 …
vh8.globalAlpha = 0.7;
if (v4i._filled) {
vh8.fillStyle = vha;
vh8.fillRect(vhc, vhd , vhe, vhf);
} else {
vh8.strokeStyle = vha;
vh8.lineWidth = v4i._brushSize * vhb;
vh8.strokeRect(vhc, vhd, vhe, vhf);
}
vh8.globalAlpha = 1;
}
};
var vhg = class extends vbq {
constructor() {
…
s51311 Input vhe rw drawWidthUseful 0.48 widthUseful 0.86 Humanify better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s51311 / vhe ×
Declaration · line 1661 …
const vhd = Math.round(Math.min(this._startY, this._endY)) * vhb + vh9.panY;
const vhe = Math.round(Math.abs(this._endX - this._startX)) * vhb;
const vhf = Math.round(Math.abs(this._endY - this._startY)) * vhb;
vh8.globalAlpha = 0.7;
if (v4i._filled) {
vh8.fillStyle = vha;
vh8.fillRect(vhc, vhd, vhe, vhf);
… Reference · line 1670 …
vh8.strokeStyle = vha;
vh8.lineWidth = v4i._brushSize * vhb;
vh8.strokeRect(vhc, vhd, vhe , vhf);
}
vh8.globalAlpha = 1;
}
};
var vhg = class extends vbq {
constructor() {
super("Ellipse", "o");
this._drawing = false;
}
onPointerDown(vhh, vhi, vhj, vhk) {
const vhl = vhh.activeLayer;
…
s51384 Input vhf rh drawHeightUseful 0.74 heightUseful 0.82 Humanify better Present Pre-rename JavaScript · s51384 / vhf ×
Declaration · line 1662 …
nst vhd = Math.round(Math.min(this._startY, this._endY)) * vhb + vh9.panY;
const vhe = Math.round(Math.abs(this._endX - this._startX)) * vhb;
const vhf = Math.round(Math.abs(this._endY - this._startY)) * vhb;
vh8.globalAlpha = 0.7;
if (v4i._filled) {
vh8.fillStyle = vha;
vh8.fillRect(vhc, vhd, vhe, vhf);
} else {
vh8.strokeStyle = vha;
vh8.lineWidth = v4i._brushSize * vhb;
… Reference · line 1670 …
vh8.strokeStyle = vha;
vh8.lineWidth = v4i._brushSize * vhb;
vh8.strokeRect(vhc, vhd, vhe, vhf );
}
vh8.globalAlpha = 1;
}
};
var vhg = class extends vbq {
constructor() {
super("Ellipse", "o");
this._drawing = false;
}
onPointerDown(vhh, vhi, vhj, vhk) {
const vhl = vhh.activeLayer;
…
s51758 Input vhg EllipseTool EllipseToolUseful 0.93 EventEmitter14Useful 0.02 FlowName better Absent Pre-rename JavaScript · s51758 / vhg ×
Declaration · line 1675 …
vh8.strokeRect(vhc, vhd, vhe, vhf);
}
vh8.globalAlpha = 1;
}
};
var vhg = class extends vbq {
constructor() {
super("Ellipse", "o");
this._drawing = false;
}
onPointerDown(vhh, vhi, vhj, vhk) {
const vhl = vhh.activeLayer;
if (!vhl || !vhl.visible) return;
this._drawing = true;
… Reference · line 2644 …
const vq8 = [new vc7(), new vcq(), new vdo(), new vel(), new vf1(), new vfj(), new vgl(), new vhg (), new vie(), new viy(), new vjs(), new vk2(), new vkx()];
for (const vq9 of vq8) this.tools[vq9.name.toLowerCase()] = vq9;
this._keyMap = {};
for (const vqa of vq8) if (vqa.key) this._keyMap[vqa.key] = vqa.name.toLowerCase();
…
s51886 Input vhh doc eventUseful 0.74 canvasUseful 0.13 FlowName better Present Pre-rename JavaScript · s51886 / vhh ×
Declaration · line 1680 …
constructor() {
super("Ellipse", "o");
this._drawing = false;
}
onPointerDown(vhh , vhi, vhj, vhk) {
const vhl = vhh.activeLayer;
if (!vhl || !vhl.visible) return;
this._drawing = true;
this._startX = vhi;
this._startY = vhj;
this._endX = vhi;
this._endY = vhj;
this._button = vhk.button;
… Reference · line 1689 …
this._startY = vhj;
this._endX = vhi;
this._endY = vhj;
this._button = vhk.button;
vhh .saveDrawState("Ellipse");
}
onPointerMove(vhm, vhn, vho, vhp) {
if (!this._drawing) return;
this._endX = vhn;
this._endY = vho;
if (vhp.shiftKey) {
const vhq = this._endX - this._startX;
const vhr = this._endY - this._startY;
…
s51891 Input vhi x xUseful 0.37 startXUseful 0.30 Both poor Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s51891 / vhi ×
Declaration · line 1680 …
constructor() {
super("Ellipse", "o");
this._drawing = false;
}
onPointerDown(vhh, vhi , vhj, vhk) {
const vhl = vhh.activeLayer;
if (!vhl || !vhl.visible) return;
this._drawing = true;
this._startX = vhi;
this._startY = vhj;
this._endX = vhi;
this._endY = vhj;
this._button = vhk.button;
…
s51896 Input vhj y yUseful 0.76 startYUseful 0.16 FlowName better Present Pre-rename JavaScript · s51896 / vhj ×
Declaration · line 1680 …
super("Ellipse", "o");
this._drawing = false;
}
onPointerDown(vhh, vhi, vhj , vhk) {
const vhl = vhh.activeLayer;
if (!vhl || !vhl.visible) return;
this._drawing = true;
this._startX = vhi;
this._startY = vhj;
this._endX = vhi;
this._endY = vhj;
this._button = vhk.button;
…
s51901 Input vhk e pointerEventUseful 0.72 eventUseful 0.72 FlowName better Present Pre-rename JavaScript · s51901 / vhk ×
Declaration · line 1680 …
super("Ellipse", "o");
this._drawing = false;
}
onPointerDown(vhh, vhi, vhj, vhk ) {
const vhl = vhh.activeLayer;
if (!vhl || !vhl.visible) return;
this._drawing = true;
this._startX = vhi;
this._startY = vhj;
this._endX = vhi;
this._endY = vhj;
this._button = vhk.button;
…
s51920 Input vhl layer activeLayerUseful 0.73 activeLayerUseful 0.73 Both useful Present Pre-rename JavaScript · s51920 / vhl ×
Declaration · line 1681 …
super("Ellipse", "o");
this._drawing = false;
}
onPointerDown(vhh, vhi, vhj, vhk) {
const vhl = vhh.activeLayer;
if (!vhl || !vhl.visible) return;
this._drawing = true;
this._startX = vhi;
this._startY = vhj;
this._endX = vhi;
this._endY = vhj;
this._button = vhk.button;
vhh.saveDrawState("Ellipse");
…
s52204 Input vhm doc eventUseful 0.75 eventUseful 0.75 Both useful Present Pre-rename JavaScript · s52204 / vhm ×
Declaration · line 1691 …
this._button = vhk.button;
vhh.saveDrawState("Ellipse");
}
onPointerMove(vhm , vhn, vho, vhp) {
if (!this._drawing) return;
this._endX = vhn;
this._endY = vho;
if (vhp.shiftKey) {
const vhq = this._endX - this._startX;
const vhr = this._endY - this._startY;
const vhs = Math.max(Math.abs(vhq), Math.abs(vhr));
…
s52209 Input vhn x xUseful 0.49 currentXUseful 0.62 Humanify better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s52209 / vhn ×
Declaration · line 1691 …
this._button = vhk.button;
vhh.saveDrawState("Ellipse");
}
onPointerMove(vhm, vhn , vho, vhp) {
if (!this._drawing) return;
this._endX = vhn;
this._endY = vho;
if (vhp.shiftKey) {
const vhq = this._endX - this._startX;
const vhr = this._endY - this._startY;
const vhs = Math.max(Math.abs(vhq), Math.abs(vhr));
…
s52214 Input vho y yUseful 0.85 clientYUseful 0.36 FlowName better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s52214 / vho ×
Declaration · line 1691 …
this._button = vhk.button;
vhh.saveDrawState("Ellipse");
}
onPointerMove(vhm, vhn, vho , vhp) {
if (!this._drawing) return;
this._endX = vhn;
this._endY = vho;
if (vhp.shiftKey) {
const vhq = this._endX - this._startX;
const vhr = this._endY - this._startY;
const vhs = Math.max(Math.abs(vhq), Math.abs(vhr));
…
s52219 Input vhp e pointerUseful 0.44 event2Useful 0.43 Both poor Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s52219 / vhp ×
Declaration · line 1691 …
this._button = vhk.button;
vhh.saveDrawState("Ellipse");
}
onPointerMove(vhm, vhn, vho, vhp ) {
if (!this._drawing) return;
this._endX = vhn;
this._endY = vho;
if (vhp.shiftKey) {
const vhq = this._endX - this._startX;
const vhr = this._endY - this._startY;
const vhs = Math.max(Math.abs(vhq), Math.abs(vhr));
…
s52348 Input vhq dx deltaXUseful 0.89 deltaXUseful 0.89 Both useful Present Pre-rename JavaScript · s52348 / vhq ×
Declaration · line 1696 …
if (!this._drawing) return;
this._endX = vhn;
this._endY = vho;
if (vhp.shiftKey) {
const vhq = this._endX - this._startX;
const vhr = this._endY - this._startY;
const vhs = Math.max(Math.abs(vhq), Math.abs(vhr));
this._endX = this._startX + vhs * Math.sign(vhq);
this._endY = this._startY + vhs * Math.sign(vhr);
…
s52395 Input vhr dy deltaYUseful 0.38 deltaYUseful 0.38 Both poor Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s52395 / vhr ×
Declaration · line 1697 …
this._endY = vho;
if (vhp.shiftKey) {
const vhq = this._endX - this._startX;
const vhr = this._endY - this._startY;
const vhs = Math.max(Math.abs(vhq), Math.abs(vhr));
this._endX = this._startX + vhs * Math.sign(vhq);
this._endY = this._startY + vhs * Math.sign(vhr);
}
}
onPointerUp(vht) {
…
s52442 Input vhs size maxDeltaUseful 0.55 maxDeltaUseful 0.55 Both useful Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s52442 / vhs ×
Declaration · line 1698 …
const vhq = this._endX - this._startX;
const vhr = this._endY - this._startY;
const vhs = Math.max(Math.abs(vhq), Math.abs(vhr));
this._endX = this._startX + vhs * Math.sign(vhq);
this._endY = this._startY + vhs * Math.sign(vhr);
}
}
onPointerUp(vht) {
if (!this._drawing) return;
this._drawing = false;
…
s52634 Input vht doc pointerEventUseful 0.38 editorUseful 0.24 Both poor Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s52634 / vht ×
Declaration · line 1703 …
this._endX = this._startX + vhs * Math.sign(vhq);
this._endY = this._startY + vhs * Math.sign(vhr);
}
}
onPointerUp(vht ) {
if (!this._drawing) return;
this._drawing = false;
const vhu = vht.activeLayer;
if (!vhu || !vhu.visible) return;
const vhv = vht.selection.active ? vhu.getSnapshot() : null;
const vhw = this._button === 2 ? v4i._secondaryColor : v4i._primaryColor;
… Reference · line 1712 …
const vhw = this._button === 2 ? v4i._secondaryColor : v4i._primaryColor;
const vhx = vhu.ctx;
vhx.save();
if (vht .selection.active) vht.selection.applyClip(vhx);
const vhy = (this._startX + this._endX) / 2;
const vhz = (this._startY + this._endY) / 2;
const vi0 = Math.abs(this._endX - this._startX) / 2;
const vi1 = Math.abs(this._endY - this._startY) / 2;
…
s52716 Input vhu layer activeLayerUseful 0.73 activeLayerUseful 0.73 Both useful Present Pre-rename JavaScript · s52716 / vhu ×
Declaration · line 1706 …
onPointerUp(vht) {
if (!this._drawing) return;
this._drawing = false;
const vhu = vht.activeLayer;
if (!vhu || !vhu.visible) return;
const vhv = vht.selection.active ? vhu.getSnapshot() : null;
const vhw = this._button === 2 ? v4i._secondaryColor : v4i._primaryColor;
const vhx = vhu.ctx;
vhx.save();
… Reference · line 1729 …
}
vhx.restore();
if (vhv && vht.selection.active) vht.selection.maskLayer(vhu , vhv);
vq5(vhu);
v4i.emit("canvas:dirty");
}
onOverlay(vi2, vi3) {
if (!this._drawing) return;
const vi4 = this._button === 2 ? v4i._secondaryColor : v4i._primaryColor;
const vi5 = vi3.zoom;
const vi6 = Math.round(this._startX),
…
s52791 Input vhv snap snapshotUseful 0.73 layerSnapshotUseful 0.82 Humanify better Present Pre-rename JavaScript · s52791 / vhv ×
Declaration · line 1708 …
this._drawing = false;
const vhu = vht.activeLayer;
if (!vhu || !vhu.visible) return;
const vhv = vht.selection.active ? vhu.getSnapshot() : null;
const vhw = this._button === 2 ? v4i._secondaryColor : v4i._primaryColor;
const vhx = vhu.ctx;
vhx.save();
if (vht.selection.active) vht.selection.applyClip(vhx);
… Reference · line 1729 …
vhx.lineWidth = v4i._brushSize;
vhx.stroke();
}
vhx.restore();
if (vhv && vht.selection.active) vht.selection.maskLayer(vhu, vhv);
vq5(vhu);
v4i.emit("canvas:dirty");
}
onOverlay(vi2, vi3) {
if (!this._drawing) return;
const vi4 = this._button === 2 ? v4i._secondaryColor : v4i._primaryColor;
…
s52858 Input vhw color brushColorUseful 0.73 brushColorUseful 0.73 Both useful Present Pre-rename JavaScript · s52858 / vhw ×
Declaration · line 1709 …
if (!vhu || !vhu.visible) return;
const vhv = vht.selection.active ? vhu.getSnapshot() : null;
const vhw = this._button === 2 ? v4i._secondaryColor : v4i._primaryColor;
const vhx = vhu.ctx;
vhx.save();
if (vht.selection.active) vht.selection.applyClip(vhx);
const vhy = (this._startX + this._endX) / 2;
const vhz = (this._startY + this._endY) / 2;
… Reference · line 1721 …
vhx.ellipse(vhy, vhz, Math.max(vi0, 0.5), Math.max(vi1, 0.5), 0, 0, Math.PI * 2);
if (v4i._filled) {
vhx.fillStyle = vhw ;
vhx.fill();
} else {
vhx.strokeStyle = vhw;
vhx.lineWidth = v4i._brushSize;
vhx.stroke();
}
vhx.restore();
if (vhv && vht.selection.active) vht.selection.maskLayer(vhu, vhv);
vq5(vhu);
…
s52938 Input vhx ctx ctxUseful 0.86 layerContextUseful 0.70 FlowName better Present Pre-rename JavaScript · s52938 / vhx ×
Declaration · line 1710 …
const vhw = this._button === 2 ? v4i._secondaryColor : v4i._primaryColor;
const vhx = vhu.ctx;
vhx.save();
if (vht.selection.active) vht.selection.applyClip(vhx);
const vhy = (this._startX + this._endX) / 2;
const vhz = (this._startY + this._endY) / 2;
const vi0 = Math.abs(this._endX - this._startX) / 2;
… Reference · line 1717 …
const vi0 = Math.abs(this._endX - this._startX) / 2;
const vi1 = Math.abs(this._endY - this._startY) / 2;
vhx .globalAlpha = v4i._brushAlpha;
vhx.beginPath();
vhx.ellipse(vhy, vhz, Math.max(vi0, 0.5), Math.max(vi1, 0.5), 0, 0, Math.PI * 2);
if (v4i._filled) {
vhx.fillStyle = vhw;
vhx.fill();
} else {
vhx.strokeStyle = vhw;
…
s53045 Input vhy cx centerXUseful 0.87 midXUseful 0.83 FlowName better Present Pre-rename JavaScript · s53045 / vhy ×
Declaration · line 1713 …
vhx.save();
if (vht.selection.active) vht.selection.applyClip(vhx);
const vhy = (this._startX + this._endX) / 2;
const vhz = (this._startY + this._endY) / 2;
const vi0 = Math.abs(this._endX - this._startX) / 2;
const vi1 = Math.abs(this._endY - this._startY) / 2;
vhx.globalAlpha = v4i._brushAlpha;
… Reference · line 1719 …
const vi1 = Math.abs(this._endY - this._startY) / 2;
vhx.globalAlpha = v4i._brushAlpha;
vhx.beginPath();
vhx.ellipse(vhy , vhz, Math.max(vi0, 0.5), Math.max(vi1, 0.5), 0, 0, Math.PI * 2);
if (v4i._filled) {
vhx.fillStyle = vhw;
vhx.fill();
} else {
vhx.strokeStyle = vhw;
vhx.lineWidth = v4i._brushSize;
vhx.stroke();
…
s53096 Input vhz cy centerYUseful 0.90 centerYUseful 0.90 Both useful Present Pre-rename JavaScript · s53096 / vhz ×
Declaration · line 1714 …
if (vht.selection.active) vht.selection.applyClip(vhx);
const vhy = (this._startX + this._endX) / 2;
const vhz = (this._startY + this._endY) / 2;
const vi0 = Math.abs(this._endX - this._startX) / 2;
const vi1 = Math.abs(this._endY - this._startY) / 2;
vhx.globalAlpha = v4i._brushAlpha;
vhx.beginPath();
vhx.ellipse(vhy, vhz, Math.max(vi0, 0.5), Math.max(vi1, 0.5), 0, 0, Math.PI * 2);
…
s53147 Input vi0 rx radiusXUseful 0.81 centerXUseful 0.14 FlowName better Absent Pre-rename JavaScript · s53147 / vi0 ×
Declaration · line 1715 …
const vhy = (this._startX + this._endX) / 2;
const vhz = (this._startY + this._endY) / 2;
const vi0 = Math.abs(this._endX - this._startX) / 2;
const vi1 = Math.abs(this._endY - this._startY) / 2;
vhx.globalAlpha = v4i._brushAlpha;
vhx.beginPath();
vhx.ellipse(vhy, vhz, Math.max(vi0, 0.5), Math.max(vi1, 0.5), 0, 0, Math.PI * 2);
…
s53206 Input vi1 ry radiusYUseful 0.87 vi1Useful 0.05 FlowName better Absent Pre-rename JavaScript · s53206 / vi1 ×
Declaration · line 1716 …
const vhz = (this._startY + this._endY) / 2;
const vi0 = Math.abs(this._endX - this._startX) / 2;
const vi1 = Math.abs(this._endY - this._startY) / 2;
vhx.globalAlpha = v4i._brushAlpha;
vhx.beginPath();
vhx.ellipse(vhy, vhz, Math.max(vi0, 0.5), Math.max(vi1, 0.5), 0, 0, Math.PI * 2);
if (v4i._filled) {
vhx.fillStyle = vhw;
…
s53758 Input vi2 ctx ctxUseful 0.77 eventUseful 0.05 FlowName better Present Pre-rename JavaScript · s53758 / vi2 ×
Declaration · line 1733 …
if (vhv && vht.selection.active) vht.selection.maskLayer(vhu, vhv);
vq5(vhu);
v4i.emit("canvas:dirty");
}
onOverlay(vi2 , vi3) {
if (!this._drawing) return;
const vi4 = this._button === 2 ? v4i._secondaryColor : v4i._primaryColor;
const vi5 = vi3.zoom;
const vi6 = Math.round(this._startX),
vi7 = Math.round(this._startY);
const vi8 = Math.round(this._endX),
… Reference · line 1745 …
const vic = Math.abs(vi8 - vi6) / 2 * vi5;
const vid = Math.abs(vi9 - vi7) / 2 * vi5;
vi2 .globalAlpha = 0.7;
vi2.beginPath();
vi2.ellipse(via, vib, Math.max(vic, 0.5), Math.max(vid, 0.5), 0, 0, Math.PI * 2);
if (v4i._filled) {
vi2.fillStyle = vi4;
vi2.fill();
} else {
vi2.strokeStyle = vi4;
…
s53763 Input vi3 doc viewportUseful 0.32 viewportUseful 0.32 Both poor Present Pre-rename JavaScript · s53763 / vi3 ×
Declaration · line 1733 …
if (vhv && vht.selection.active) vht.selection.maskLayer(vhu, vhv);
vq5(vhu);
v4i.emit("canvas:dirty");
}
onOverlay(vi2, vi3 ) {
if (!this._drawing) return;
const vi4 = this._button === 2 ? v4i._secondaryColor : v4i._primaryColor;
const vi5 = vi3.zoom;
const vi6 = Math.round(this._startX),
vi7 = Math.round(this._startY);
const vi8 = Math.round(this._endX),
… Reference · line 1741 …
const vi8 = Math.round(this._endX),
vi9 = Math.round(this._endY);
const via = (vi6 + vi8) / 2 * vi5 + vi3 .panX;
const vib = (vi7 + vi9) / 2 * vi5 + vi3.panY;
const vic = Math.abs(vi8 - vi6) / 2 * vi5;
const vid = Math.abs(vi9 - vi7) / 2 * vi5;
vi2.globalAlpha = 0.7;
vi2.beginPath();
vi2.ellipse(via, vib, Math.max(vic, 0.5), Math.max(vid, 0.5), 0, 0, Math.PI * 2);
…
s53816 Input vi4 color strokeColorUseful 0.38 strokeColorUseful 0.38 Both poor Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s53816 / vi4 ×
Declaration · line 1735 …
v4i.emit("canvas:dirty");
}
onOverlay(vi2, vi3) {
if (!this._drawing) return;
const vi4 = this._button === 2 ? v4i._secondaryColor : v4i._primaryColor;
const vi5 = vi3.zoom;
const vi6 = Math.round(this._startX),
vi7 = Math.round(this._startY);
const vi8 = Math.round(this._endX),
vi9 = Math.round(this._endY);
… Reference · line 1749 …
vi2.ellipse(via, vib, Math.max(vic, 0.5), Math.max(vid, 0.5), 0, 0, Math.PI * 2);
if (v4i._filled) {
vi2.fillStyle = vi4 ;
vi2.fill();
} else {
vi2.strokeStyle = vi4;
vi2.lineWidth = v4i._brushSize * vi5;
vi2.stroke();
}
vi2.globalAlpha = 1;
}
};
var vie = class extends vbq {
constructor() {
super("Text", "t");
…
s53896 Input vi5 z zoomUseful 0.87 zoomLevelUseful 0.80 FlowName better Present Pre-rename JavaScript · s53896 / vi5 ×
Declaration · line 1736 …
const vi4 = this._button === 2 ? v4i._secondaryColor : v4i._primaryColor;
const vi5 = vi3.zoom;
const vi6 = Math.round(this._startX),
vi7 = Math.round(this._startY);
const vi8 = Math.round(this._endX),
vi9 = Math.round(this._endY);
const via = (vi6 + vi8) / 2 * vi5 + vi3.panX;
const vib = (vi7 + vi9) / 2 * vi5 + vi3.panY;
… Reference · line 1743 …
const vib = (vi7 + vi9) / 2 * vi5 + vi3.panY;
const vic = Math.abs(vi8 - vi6) / 2 * vi5 ;
const vid = Math.abs(vi9 - vi7) / 2 * vi5;
vi2.globalAlpha = 0.7;
vi2.beginPath();
vi2.ellipse(via, vib, Math.max(vic, 0.5), Math.max(vid, 0.5), 0, 0, Math.PI * 2);
if (v4i._filled) {
vi2.fillStyle = vi4;
…
s53924 Input vi6 x0 startXUseful 0.81 startXUseful 0.81 Both useful Present Pre-rename JavaScript · s53924 / vi6 ×
Declaration · line 1737 …
const vi4 = this._button === 2 ? v4i._secondaryColor : v4i._primaryColor;
const vi5 = vi3.zoom;
const vi6 = Math.round(this._startX),
vi7 = Math.round(this._startY);
const vi8 = Math.round(this._endX),
vi9 = Math.round(this._endY);
const via = (vi6 + vi8) / 2 * vi5 + vi3.panX;
const vib = (vi7 + vi9) / 2 * vi5 + vi3.panY;
… Reference · line 1743 …
const via = (vi6 + vi8) / 2 * vi5 + vi3.panX;
const vib = (vi7 + vi9) / 2 * vi5 + vi3.panY;
const vic = Math.abs(vi8 - vi6 ) / 2 * vi5;
const vid = Math.abs(vi9 - vi7) / 2 * vi5;
vi2.globalAlpha = 0.7;
vi2.beginPath();
vi2.ellipse(via, vib, Math.max(vic, 0.5), Math.max(vid, 0.5), 0, 0, Math.PI * 2);
if (v4i._filled) {
vi2.fillStyle = vi4;
…
s53964 Input vi7 y0 startYUseful 0.66 startYRoundedUseful 0.59 Both useful Present Usefulness probability is near the provisional 0.5 boundary. Preference confidence is low. Pre-rename JavaScript · s53964 / vi7 ×
Declaration · line 1738 …
const vi4 = this._button === 2 ? v4i._secondaryColor : v4i._primaryColor;
const vi5 = vi3.zoom;
const vi6 = Math.round(this._startX),
vi7 = Math.round(this._startY);
const vi8 = Math.round(this._endX),
vi9 = Math.round(this._endY);
const via = (vi6 + vi8) / 2 * vi5 + vi3.panX;
const vib = (vi7 + vi9) / 2 * vi5 + vi3.panY;
const vic = Math.abs(vi8 - vi6) / 2 * vi5;
… Reference · line 1744 …
const vib = (vi7 + vi9) / 2 * vi5 + vi3.panY;
const vic = Math.abs(vi8 - vi6) / 2 * vi5;
const vid = Math.abs(vi9 - vi7 ) / 2 * vi5;
vi2.globalAlpha = 0.7;
vi2.beginPath();
vi2.ellipse(via, vib, Math.max(vic, 0.5), Math.max(vid, 0.5), 0, 0, Math.PI * 2);
if (v4i._filled) {
vi2.fillStyle = vi4;
vi2.fill();
} else {
…
s54008 Input vi8 x1 endXUseful 0.78 endXUseful 0.78 Both useful Present Pre-rename JavaScript · s54008 / vi8 ×
Declaration · line 1739 …
const vi6 = Math.round(this._startX),
vi7 = Math.round(this._startY);
const vi8 = Math.round(this._endX),
vi9 = Math.round(this._endY);
const via = (vi6 + vi8) / 2 * vi5 + vi3.panX;
const vib = (vi7 + vi9) / 2 * vi5 + vi3.panY;
const vic = Math.abs(vi8 - vi6) / 2 * vi5;
const vid = Math.abs(vi9 - vi7) / 2 * vi5;
…
s54046 Input vi9 y1 endYUseful 0.83 endYUseful 0.83 Both useful Present Pre-rename JavaScript · s54046 / vi9 ×
Declaration · line 1740 …
vi7 = Math.round(this._startY);
const vi8 = Math.round(this._endX),
vi9 = Math.round(this._endY);
const via = (vi6 + vi8) / 2 * vi5 + vi3.panX;
const vib = (vi7 + vi9) / 2 * vi5 + vi3.panY;
const vic = Math.abs(vi8 - vi6) / 2 * vi5;
const vid = Math.abs(vi9 - vi7) / 2 * vi5;
vi2.globalAlpha = 0.7;
…
s54088 Input via cx centerXUseful 0.90 centerXUseful 0.90 Both useful Present Pre-rename JavaScript · s54088 / via ×
Declaration · line 1741 …
const vi8 = Math.round(this._endX),
vi9 = Math.round(this._endY);
const via = (vi6 + vi8) / 2 * vi5 + vi3.panX;
const vib = (vi7 + vi9) / 2 * vi5 + vi3.panY;
const vic = Math.abs(vi8 - vi6) / 2 * vi5;
const vid = Math.abs(vi9 - vi7) / 2 * vi5;
vi2.globalAlpha = 0.7;
vi2.beginPath();
… Reference · line 1747 …
const vid = Math.abs(vi9 - vi7) / 2 * vi5;
vi2.globalAlpha = 0.7;
vi2.beginPath();
vi2.ellipse(via , vib, Math.max(vic, 0.5), Math.max(vid, 0.5), 0, 0, Math.PI * 2);
if (v4i._filled) {
vi2.fillStyle = vi4;
vi2.fill();
} else {
vi2.strokeStyle = vi4;
vi2.lineWidth = v4i._brushSize * vi5;
vi2.stroke();
…
s54140 Input vib cy centerYUseful 0.85 centerYUseful 0.85 Both useful Present Pre-rename JavaScript · s54140 / vib ×
Declaration · line 1742 …
vi9 = Math.round(this._endY);
const via = (vi6 + vi8) / 2 * vi5 + vi3.panX;
const vib = (vi7 + vi9) / 2 * vi5 + vi3.panY;
const vic = Math.abs(vi8 - vi6) / 2 * vi5;
const vid = Math.abs(vi9 - vi7) / 2 * vi5;
vi2.globalAlpha = 0.7;
vi2.beginPath();
vi2.ellipse(via, vib, Math.max(vic, 0.5), Math.max(vid, 0.5), 0, 0, Math.PI * 2);
…
s54192 Input vic rx radiusXUseful 0.85 radiusXUseful 0.85 Both useful Present Pre-rename JavaScript · s54192 / vic ×
Declaration · line 1743 …
const via = (vi6 + vi8) / 2 * vi5 + vi3.panX;
const vib = (vi7 + vi9) / 2 * vi5 + vi3.panY;
const vic = Math.abs(vi8 - vi6) / 2 * vi5;
const vid = Math.abs(vi9 - vi7) / 2 * vi5;
vi2.globalAlpha = 0.7;
vi2.beginPath();
vi2.ellipse(via, vib, Math.max(vic, 0.5), Math.max(vid, 0.5), 0, 0, Math.PI * 2);
if (v4i._filled) {
…
s54241 Input vid ry radiusYUseful 0.85 radiusYUseful 0.85 Both useful Present Pre-rename JavaScript · s54241 / vid ×
Declaration · line 1744 …
const vib = (vi7 + vi9) / 2 * vi5 + vi3.panY;
const vic = Math.abs(vi8 - vi6) / 2 * vi5;
const vid = Math.abs(vi9 - vi7) / 2 * vi5;
vi2.globalAlpha = 0.7;
vi2.beginPath();
vi2.ellipse(via, vib, Math.max(vic, 0.5), Math.max(vid, 0.5), 0, 0, Math.PI * 2);
if (v4i._filled) {
vi2.fillStyle = vi4;
vi2.fill();
…
s54658 Input vie TextTool TextToolUseful 0.86 EventEmitter15Useful 0.02 FlowName better Absent Pre-rename JavaScript · s54658 / vie ×
Declaration · line 1759 …
vi2.lineWidth = v4i._brushSize * vi5;
vi2.stroke();
}
vi2.globalAlpha = 1;
}
};
var vie = class extends vbq {
constructor() {
super("Text", "t");
this._active = false;
this._doc = null;
}
onPointerDown(vif, vig, vih, vii) {
if (this._active) {
this._commit();
return;
}
… Reference · line 2644 …
const vq8 = [new vc7(), new vcq(), new vdo(), new vel(), new vf1(), new vfj(), new vgl(), new vhg(), new vie (), new viy(), new vjs(), new vk2(), new vkx()];
for (const vq9 of vq8) this.tools[vq9.name.toLowerCase()] = vq9;
this._keyMap = {};
for (const vqa of vq8) if (vqa.key) this._keyMap[vqa.key] = vqa.name.toLowerCase();
this.setTool("pencil");
…
s54806 Input vif doc documentInstanceUseful 0.76 document2Useful 0.31 FlowName better Present Pre-rename JavaScript · s54806 / vif ×
Declaration · line 1765 …
super("Text", "t");
this._active = false;
this._doc = null;
}
onPointerDown(vif , vig, vih, vii) {
if (this._active) {
this._commit();
return;
}
const vij = vif.activeLayer;
if (!vij || !vij.visible) return;
this._startX = vig;
this._startY = vih;
this._active = true;
… Reference · line 1775 …
this._startX = vig;
this._startY = vih;
this._active = true;
this._doc = vif ;
this._button = vii.button;
vif.saveDrawState("Text");
const vik = document.getElementById("text-input-container");
const vil = document.getElementById("text-input");
vik.classList.remove("hidden");
vik.style.left = vig * vif.zoom + vif.panX + "px";
…
s54811 Input vig x startXUseful 0.84 startXUseful 0.84 Both useful Present Pre-rename JavaScript · s54811 / vig ×
Declaration · line 1765 …
super("Text", "t");
this._active = false;
this._doc = null;
}
onPointerDown(vif, vig , vih, vii) {
if (this._active) {
this._commit();
return;
}
const vij = vif.activeLayer;
if (!vij || !vij.visible) return;
this._startX = vig;
this._startY = vih;
this._active = true;
… Reference · line 1781 …
const vil = document.getElementById("text-input");
vik.classList.remove("hidden");
vik.style.left = vig * vif.zoom + vif.panX + "px";
vik.style.top = vih * vif.zoom + vif.panY + "px";
vil.style.fontSize = v4i._fontSize + "px";
vil.style.fontFamily = v4i._fontFamily;
const vim = vii.button === 2 ? v4i._secondaryColor : v4i._primaryColor;
…
s54816 Input vih y startYUseful 0.89 startYUseful 0.89 Both useful Present Pre-rename JavaScript · s54816 / vih ×
Declaration · line 1765 …
super("Text", "t");
this._active = false;
this._doc = null;
}
onPointerDown(vif, vig, vih , vii) {
if (this._active) {
this._commit();
return;
}
const vij = vif.activeLayer;
if (!vij || !vij.visible) return;
this._startX = vig;
this._startY = vih;
this._active = true;
this._doc = vif;
… Reference · line 1782 …
vik.classList.remove("hidden");
vik.style.left = vig * vif.zoom + vif.panX + "px";
vik.style.top = vih * vif.zoom + vif.panY + "px";
vil.style.fontSize = v4i._fontSize + "px";
vil.style.fontFamily = v4i._fontFamily;
const vim = vii.button === 2 ? v4i._secondaryColor : v4i._primaryColor;
vil.style.color = vim;
vil.value = "";
…
s54821 Input vii e pointerEventUseful 0.79 eventUseful 0.67 FlowName better Present Pre-rename JavaScript · s54821 / vii ×
Declaration · line 1765 …
this._active = false;
this._doc = null;
}
onPointerDown(vif, vig, vih, vii ) {
if (this._active) {
this._commit();
return;
}
const vij = vif.activeLayer;
if (!vij || !vij.visible) return;
this._startX = vig;
this._startY = vih;
this._active = true;
this._doc = vif;
… Reference · line 1776 …
this._startY = vih;
this._active = true;
this._doc = vif;
this._button = vii .button;
vif.saveDrawState("Text");
const vik = document.getElementById("text-input-container");
const vil = document.getElementById("text-input");
vik.classList.remove("hidden");
vik.style.left = vig * vif.zoom + vif.panX + "px";
…
s54914 Input vij layer activeLayerUseful 0.85 activeLayerUseful 0.85 Both useful Present Pre-rename JavaScript · s54914 / vij ×
Declaration · line 1770 …
onPointerDown(vif, vig, vih, vii) {
if (this._active) {
this._commit();
return;
}
const vij = vif.activeLayer;
if (!vij || !vij.visible) return;
this._startX = vig;
this._startY = vih;
this._active = true;
this._doc = vif;
this._button = vii.button;
vif.saveDrawState("Text");
const vik = document.getElementById("text-input-container");
…
s55157 Input vik container textInputContainerUseful 0.87 textInputContainerUseful 0.87 Both useful Present Pre-rename JavaScript · s55157 / vik ×
Declaration · line 1778 …
this._doc = vif;
this._button = vii.button;
vif.saveDrawState("Text");
const vik = document.getElementById("text-input-container");
const vil = document.getElementById("text-input");
vik.classList.remove("hidden");
vik.style.left = vig * vif.zoom + vif.panX + "px";
vik.style.top = vih * vif.zoom + vif.panY + "px";
…
s55224 Input vil input textInputUseful 0.81 textInputElementUseful 0.81 Humanify better Present Pre-rename JavaScript · s55224 / vil ×
Declaration · line 1779 …
vif.saveDrawState("Text");
const vik = document.getElementById("text-input-container");
const vil = document.getElementById("text-input");
vik.classList.remove("hidden");
vik.style.left = vig * vif.zoom + vif.panX + "px";
vik.style.top = vih * vif.zoom + vif.panY + "px";
vil.style.fontSize = v4i._fontSize + "px";
… Reference · line 1784 …
vik.style.top = vih * vif.zoom + vif.panY + "px";
vil.style.fontSize = v4i._fontSize + "px";
vil .style.fontFamily = v4i._fontFamily;
const vim = vii.button === 2 ? v4i._secondaryColor : v4i._primaryColor;
vil.style.color = vim;
vil.value = "";
vil.focus();
}
_commit() {
const vin = this._doc;
if (!vin) return;
…
s55527 Input vim color textColorUseful 0.80 textInputContainer2Useful 0.03 FlowName better Absent Pre-rename JavaScript · s55527 / vim ×
Declaration · line 1785 …
vil.style.fontSize = v4i._fontSize + "px";
vil.style.fontFamily = v4i._fontFamily;
const vim = vii.button === 2 ? v4i._secondaryColor : v4i._primaryColor;
vil.style.color = vim;
vil.value = "";
vil.focus();
}
_commit() {
const vin = this._doc;
if (!vin) return;
const vio = document.getElementById("text-input");
…
s55697 Input vin doc documentModelUseful 0.62 documentInstanceUseful 0.46 FlowName better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s55697 / vin ×
Declaration · line 1791 …
vil.style.color = vim;
vil.value = "";
vil.focus();
}
_commit() {
const vin = this._doc;
if (!vin) return;
const vio = document.getElementById("text-input");
const vip = vio.value;
const viq = document.getElementById("text-input-container");
viq.classList.add("hidden");
this._active = false;
… Reference · line 1799 …
viq.classList.add("hidden");
this._active = false;
if (!vip.trim()) return;
const vir = vin .activeLayer;
if (!vir || !vir.visible) return;
const vit = vin.selection.active ? vir.getSnapshot() : null;
const viu = this._button === 2 ? v4i._secondaryColor : v4i._primaryColor;
const viv = vir.ctx;
viv.save();
…
s55750 Input vio input textInputUseful 0.69 textInputUseful 0.69 Both useful Present Pre-rename JavaScript · s55750 / vio ×
Declaration · line 1793 …
vil.focus();
}
_commit() {
const vin = this._doc;
if (!vin) return;
const vio = document.getElementById("text-input");
const vip = vio.value;
const viq = document.getElementById("text-input-container");
viq.classList.add("hidden");
this._active = false;
if (!vip.trim()) return;
const vir = vin.activeLayer;
…
s55807 Input vip text textValueUseful 0.69 inputValueUseful 0.81 Both useful Present Preference confidence is low. Pre-rename JavaScript · s55807 / vip ×
Declaration · line 1794 …
if (!vin) return;
const vio = document.getElementById("text-input");
const vip = vio.value;
const viq = document.getElementById("text-input-container");
viq.classList.add("hidden");
this._active = false;
if (!vip.trim()) return;
const vir = vin.activeLayer;
if (!vir || !vir.visible) return;
… Reference · line 1810 …
viv.globalAlpha = v4i._brushAlpha;
viv.textBaseline = "top";
const viw = vip .split("\n");
for (let vix = 0; vix < viw.length; vix++) {
viv.fillText(viw[vix], this._startX, this._startY + vix * v4i._fontSize * 1.2);
}
viv.restore();
if (vit && vin.selection.active) vin.selection.maskLayer(vir, vit);
…
s55836 Input viq container textInputContainerUseful 0.87 textInputContainerUseful 0.87 Both useful Present Pre-rename JavaScript · s55836 / viq ×
Declaration · line 1795 …
const vio = document.getElementById("text-input");
const vip = vio.value;
const viq = document.getElementById("text-input-container");
viq.classList.add("hidden");
this._active = false;
if (!vip.trim()) return;
const vir = vin.activeLayer;
if (!vir || !vir.visible) return;
const vit = vin.selection.active ? vir.getSnapshot() : null;
…
s55997 Input vir layer activeLayerUseful 0.76 activeLayerUseful 0.76 Both useful Present Pre-rename JavaScript · s55997 / vir ×
Declaration · line 1799 …
viq.classList.add("hidden");
this._active = false;
if (!vip.trim()) return;
const vir = vin.activeLayer;
if (!vir || !vir.visible) return;
const vit = vin.selection.active ? vir.getSnapshot() : null;
const viu = this._button === 2 ? v4i._secondaryColor : v4i._primaryColor;
const viv = vir.ctx;
viv.save();
… Reference · line 1815 …
}
viv.restore();
if (vit && vin.selection.active) vin.selection.maskLayer(vir , vit);
vq5(vir);
v4i.emit("canvas:dirty");
}
deactivate() {
if (this._active) {
this._commit();
}
}
};
var viy = class extends vbq {
constructor() {
super("Select", "s");
this._drawing = false;
…
s56072 Input vit snap snapshotUseful 0.85 snapshotUseful 0.85 Both useful Present Pre-rename JavaScript · s56072 / vit ×
Declaration · line 1801 …
if (!vip.trim()) return;
const vir = vin.activeLayer;
if (!vir || !vir.visible) return;
const vit = vin.selection.active ? vir.getSnapshot() : null;
const viu = this._button === 2 ? v4i._secondaryColor : v4i._primaryColor;
const viv = vir.ctx;
viv.save();
if (vin.selection.active) vin.selection.applyClip(viv);
… Reference · line 1815 …
viv.fillText(viw[vix], this._startX, this._startY + vix * v4i._fontSize * 1.2);
}
viv.restore();
if (vit && vin.selection.active) vin.selection.maskLayer(vir, vit);
vq5(vir);
v4i.emit("canvas:dirty");
}
deactivate() {
if (this._active) {
this._commit();
}
}
};
var viy = class extends vbq {
constructor() {
…
s56139 Input viu color textColorUseful 0.60 secondaryActionUseful 0.09 FlowName better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s56139 / viu ×
Declaration · line 1802 …
if (!vir || !vir.visible) return;
const vit = vin.selection.active ? vir.getSnapshot() : null;
const viu = this._button === 2 ? v4i._secondaryColor : v4i._primaryColor;
const viv = vir.ctx;
viv.save();
if (vin.selection.active) vin.selection.applyClip(viv);
viv.fillStyle = viu;
viv.font = `${v4i._fontSize}px ${v4i._fontFamily}`;
…
s56219 Input viv ctx ctxUseful 0.78 buttonActionUseful 0.03 FlowName better Absent Pre-rename JavaScript · s56219 / viv ×
Declaration · line 1803 …
const viu = this._button === 2 ? v4i._secondaryColor : v4i._primaryColor;
const viv = vir.ctx;
viv.save();
if (vin.selection.active) vin.selection.applyClip(viv);
viv.fillStyle = viu;
viv.font = `${v4i._fontSize}px ${v4i._fontFamily}`;
viv.globalAlpha = v4i._brushAlpha;
viv.textBaseline = "top";
… Reference · line 1812 …
const viw = vip.split("\n");
for (let vix = 0; vix < viw.length; vix++) {
viv .fillText(viw[vix], this._startX, this._startY + vix * v4i._fontSize * 1.2);
}
viv.restore();
if (vit && vin.selection.active) vin.selection.maskLayer(vir, vit);
vq5(vir);
v4i.emit("canvas:dirty");
}
deactivate() {
…
s56484 Input viw lines linesUseful 0.88 inputValue2Useful 0.07 FlowName better Absent Pre-rename JavaScript · s56484 / viw ×
Declaration · line 1810 …
viv.font = `${v4i._fontSize}px ${v4i._fontFamily}`;
viv.globalAlpha = v4i._brushAlpha;
viv.textBaseline = "top";
const viw = vip.split("\n");
for (let vix = 0; vix < viw.length; vix++) {
viv.fillText(viw[vix], this._startX, this._startY + vix * v4i._fontSize * 1.2);
}
viv.restore();
if (vit && vin.selection.active) vin.selection.maskLayer(vir, vit);
…
s56522 Input vix i iUseful 0.43 lineIndexUseful 0.85 Humanify better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s56522 / vix ×
Declaration · line 1811 …
viv.globalAlpha = v4i._brushAlpha;
viv.textBaseline = "top";
const viw = vip.split("\n");
for (let vix = 0; vix < viw.length; vix++) {
viv.fillText(viw[vix], this._startX, this._startY + vix * v4i._fontSize * 1.2);
}
viv.restore();
if (vit && vin.selection.active) vin.selection.maskLayer(vir, vit);
vq5(vir);
…
s56897 Input viy SelectRectTool SelectToolUseful 0.59 EventEmitter16Useful 0.03 FlowName better Absent Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s56897 / viy ×
Declaration · line 1825 …
deactivate() {
if (this._active) {
this._commit();
}
}
};
var viy = class extends vbq {
constructor() {
super("Select", "s");
this._drawing = false;
this._resizing = false;
this._handle = null;
}
onPointerDown(viz, vj0, vj1, vj2) {
const vj3 = viz.selection.active ? v9s(viz, viz.selection.bounds, vj0, vj1) : null;
… Reference · line 2644 …
const vq8 = [new vc7(), new vcq(), new vdo(), new vel(), new vf1(), new vfj(), new vgl(), new vhg(), new vie(), new viy (), new vjs(), new vk2(), new vkx()];
for (const vq9 of vq8) this.tools[vq9.name.toLowerCase()] = vq9;
this._keyMap = {};
for (const vqa of vq8) if (vqa.key) this._keyMap[vqa.key] = vqa.name.toLowerCase();
this.setTool("pencil");
…
s57081 Input viz doc viewportUseful 0.15 visualizationUseful 0.11 Both poor Present Pre-rename JavaScript · s57081 / viz ×
Declaration · line 1832 …
this._drawing = false;
this._resizing = false;
this._handle = null;
}
onPointerDown(viz , vj0, vj1, vj2) {
const vj3 = viz.selection.active ? v9s(viz, viz.selection.bounds, vj0, vj1) : null;
if (vj3) {
viz.saveSelectionState("Resize Selection");
this._resizing = true;
this._handle = vj3;
const vj4 = viz.selection.bounds;
… Reference · line 1849 …
this._dragStartX = vj0;
this._dragStartY = vj1;
return;
}
viz .saveSelectionState("Rectangle Select");
this._drawing = true;
this._startX = vj0;
this._startY = vj1;
this._endX = vj0;
this._endY = vj1;
}
onPointerMove(vj5, vj6, vj7, vj8) {
if (this._resizing) {
…
s57086 Input vj0 x pointerXUseful 0.65 mouseXUseful 0.45 FlowName better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s57086 / vj0 ×
Declaration · line 1832 …
this._drawing = false;
this._resizing = false;
this._handle = null;
}
onPointerDown(viz, vj0 , vj1, vj2) {
const vj3 = viz.selection.active ? v9s(viz, viz.selection.bounds, vj0, vj1) : null;
if (vj3) {
viz.saveSelectionState("Resize Selection");
this._resizing = true;
this._handle = vj3;
const vj4 = viz.selection.bounds;
… Reference · line 1845 …
y: vj4.y,
w: vj4.w,
h: vj4.h
};
this._dragStartX = vj0 ;
this._dragStartY = vj1;
return;
}
viz.saveSelectionState("Rectangle Select");
this._drawing = true;
this._startX = vj0;
this._startY = vj1;
this._endX = vj0;
this._endY = vj1;
}
…
s57091 Input vj1 y pointerYUseful 0.67 clientYUseful 0.37 FlowName better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s57091 / vj1 ×
Declaration · line 1832 …
this._resizing = false;
this._handle = null;
}
onPointerDown(viz, vj0, vj1 , vj2) {
const vj3 = viz.selection.active ? v9s(viz, viz.selection.bounds, vj0, vj1) : null;
if (vj3) {
viz.saveSelectionState("Resize Selection");
this._resizing = true;
this._handle = vj3;
const vj4 = viz.selection.bounds;
… Reference · line 1846 …
w: vj4.w,
h: vj4.h
};
this._dragStartX = vj0;
this._dragStartY = vj1 ;
return;
}
viz.saveSelectionState("Rectangle Select");
this._drawing = true;
this._startX = vj0;
this._startY = vj1;
this._endX = vj0;
this._endY = vj1;
}
onPointerMove(vj5, vj6, vj7, vj8) {
…
s57096 Input vj2 e pointerEventUseful 0.71 eventUseful 0.71 FlowName better Present Pre-rename JavaScript · s57096 / vj2 ×
Declaration · line 1832 …
this._resizing = false;
this._handle = null;
}
onPointerDown(viz, vj0, vj1, vj2 ) {
const vj3 = viz.selection.active ? v9s(viz, viz.selection.bounds, vj0, vj1) : null;
if (vj3) {
viz.saveSelectionState("Resize Selection");
this._resizing = true;
this._handle = vj3;
const vj4 = viz.selection.bounds;
…
s57115 Input vj3 handle activeHandleUseful 0.60 resizeHandleUseful 0.79 Humanify better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s57115 / vj3 ×
Declaration · line 1833 …
this._resizing = false;
this._handle = null;
}
onPointerDown(viz, vj0, vj1, vj2) {
const vj3 = viz.selection.active ? v9s(viz, viz.selection.bounds, vj0, vj1) : null;
if (vj3) {
viz.saveSelectionState("Resize Selection");
this._resizing = true;
this._handle = vj3;
const vj4 = viz.selection.bounds;
…
s57335 Input vj4 b selectionBoundsUseful 0.78 selectionBoundsUseful 0.78 Both useful Present Pre-rename JavaScript · s57335 / vj4 ×
Declaration · line 1838 …
viz.saveSelectionState("Resize Selection");
this._resizing = true;
this._handle = vj3;
const vj4 = viz.selection.bounds;
this._origBounds = {
x: vj4.x,
y: vj4.y,
w: vj4.w,
h: vj4.h
};
this._dragStartX = vj0;
this._dragStartY = vj1;
return;
}
viz.saveSelectionState("Rectangle Select");
…
s57772 Input vj5 doc targetViewportUseful 0.33 editorUseful 0.22 Both poor Present Pre-rename JavaScript · s57772 / vj5 ×
Declaration · line 1856 …
this._startY = vj1;
this._endX = vj0;
this._endY = vj1;
}
onPointerMove(vj5 , vj6, vj7, vj8) {
if (this._resizing) {
const vj9 = vj6 - this._dragStartX;
const vja = vj7 - this._dragStartY;
const vjb = vaf(this._handle.id, this._origBounds, vj9, vja);
vj5.selection.setRect(vjb.x, vjb.y, vjb.w, vjb.h);
… Reference · line 1867 …
if (!this._drawing) {
const vjc = document.getElementById("viewport");
const vjd = vj5 .selection.active ? v9s(vj5, vj5.selection.bounds, vj6, vj7) : null;
vjc.style.cursor = vjd ? vjd.cursor : "crosshair";
return;
}
this._endX = vj6;
this._endY = vj7;
const vje = Math.min(this._startX, this._endX);
…
s57777 Input vj6 x clientXUseful 0.44 currentXUseful 0.45 Both poor Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s57777 / vj6 ×
Declaration · line 1856 …
this._startY = vj1;
this._endX = vj0;
this._endY = vj1;
}
onPointerMove(vj5, vj6 , vj7, vj8) {
if (this._resizing) {
const vj9 = vj6 - this._dragStartX;
const vja = vj7 - this._dragStartY;
const vjb = vaf(this._handle.id, this._origBounds, vj9, vja);
vj5.selection.setRect(vjb.x, vjb.y, vjb.w, vjb.h);
… Reference · line 1867 …
const vjc = document.getElementById("viewport");
const vjd = vj5.selection.active ? v9s(vj5, vj5.selection.bounds, vj6 , vj7) : null;
vjc.style.cursor = vjd ? vjd.cursor : "crosshair";
return;
}
this._endX = vj6;
this._endY = vj7;
const vje = Math.min(this._startX, this._endX);
const vjf = Math.min(this._startY, this._endY);
…
s57782 Input vj7 y clientYUseful 0.59 clientYUseful 0.59 Both useful Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s57782 / vj7 ×
Declaration · line 1856 …
this._startY = vj1;
this._endX = vj0;
this._endY = vj1;
}
onPointerMove(vj5, vj6, vj7 , vj8) {
if (this._resizing) {
const vj9 = vj6 - this._dragStartX;
const vja = vj7 - this._dragStartY;
const vjb = vaf(this._handle.id, this._origBounds, vj9, vja);
vj5.selection.setRect(vjb.x, vjb.y, vjb.w, vjb.h);
… Reference · line 1867 …
const vjc = document.getElementById("viewport");
const vjd = vj5.selection.active ? v9s(vj5, vj5.selection.bounds, vj6, vj7 ) : null;
vjc.style.cursor = vjd ? vjd.cursor : "crosshair";
return;
}
this._endX = vj6;
this._endY = vj7;
const vje = Math.min(this._startX, this._endX);
const vjf = Math.min(this._startY, this._endY);
…
s57787 Input vj8 e eventUseful 0.83 eventUseful 0.83 Both useful Present Pre-rename JavaScript · s57787 / vj8 ×
Declaration · line 1856 …
this._startY = vj1;
this._endX = vj0;
this._endY = vj1;
}
onPointerMove(vj5, vj6, vj7, vj8 ) {
if (this._resizing) {
const vj9 = vj6 - this._dragStartX;
const vja = vj7 - this._dragStartY;
const vjb = vaf(this._handle.id, this._origBounds, vj9, vja);
vj5.selection.setRect(vjb.x, vjb.y, vjb.w, vjb.h);
…
s57836 Input vj9 dx deltaXUseful 0.90 deltaXUseful 0.90 Both useful Present Pre-rename JavaScript · s57836 / vj9 ×
Declaration · line 1858 …
this._endY = vj1;
}
onPointerMove(vj5, vj6, vj7, vj8) {
if (this._resizing) {
const vj9 = vj6 - this._dragStartX;
const vja = vj7 - this._dragStartY;
const vjb = vaf(this._handle.id, this._origBounds, vj9, vja);
vj5.selection.setRect(vjb.x, vjb.y, vjb.w, vjb.h);
v4i.emit("canvas:dirty");
return;
…
s57880 Input vja dy deltaYUseful 0.77 deltaYUseful 0.77 Both useful Present Pre-rename JavaScript · s57880 / vja ×
Declaration · line 1859 …
onPointerMove(vj5, vj6, vj7, vj8) {
if (this._resizing) {
const vj9 = vj6 - this._dragStartX;
const vja = vj7 - this._dragStartY;
const vjb = vaf(this._handle.id, this._origBounds, vj9, vja);
vj5.selection.setRect(vjb.x, vjb.y, vjb.w, vjb.h);
v4i.emit("canvas:dirty");
return;
}
if (!this._drawing) {
…
s57924 Input vjb nb newBoundsUseful 0.82 newBoundsUseful 0.82 Both useful Present Pre-rename JavaScript · s57924 / vjb ×
Declaration · line 1860 …
const vj9 = vj6 - this._dragStartX;
const vja = vj7 - this._dragStartY;
const vjb = vaf(this._handle.id, this._origBounds, vj9, vja);
vj5.selection.setRect(vjb.x, vjb.y, vjb.w, vjb.h);
v4i.emit("canvas:dirty");
return;
}
if (!this._drawing) {
const vjc = document.getElementById("viewport");
…
s58139 Input vjc vp viewportElementUseful 0.87 viewportElement3Useful 0.63 FlowName better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s58139 / vjc ×
Declaration · line 1866 …
v4i.emit("canvas:dirty");
return;
}
if (!this._drawing) {
const vjc = document.getElementById("viewport");
const vjd = vj5.selection.active ? v9s(vj5, vj5.selection.bounds, vj6, vj7) : null;
vjc.style.cursor = vjd ? vjd.cursor : "crosshair";
return;
}
this._endX = vj6;
…
s58196 Input vjd handle hoverHandleUseful 0.55 viewportCursorUseful 0.18 FlowName better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s58196 / vjd ×
Declaration · line 1867 …
if (!this._drawing) {
const vjc = document.getElementById("viewport");
const vjd = vj5.selection.active ? v9s(vj5, vj5.selection.bounds, vj6, vj7) : null;
vjc.style.cursor = vjd ? vjd.cursor : "crosshair";
return;
}
this._endX = vj6;
this._endY = vj7;
const vje = Math.min(this._startX, this._endX);
…
s58417 Input vje sx minXUseful 0.63 viewportUseful 0.06 FlowName better Absent Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s58417 / vje ×
Declaration · line 1873 …
vjc.style.cursor = vjd ? vjd.cursor : "crosshair";
return;
}
this._endX = vj6;
this._endY = vj7;
const vje = Math.min(this._startX, this._endX);
const vjf = Math.min(this._startY, this._endY);
const vjg = Math.abs(this._endX - this._startX);
const vjh = Math.abs(this._endY - this._startY);
vj5.selection.setRect(vje, vjf, vjg, vjh);
…
s58471 Input vjf sy minYUseful 0.66 vjfUseful 0.04 FlowName better Absent Pre-rename JavaScript · s58471 / vjf ×
Declaration · line 1874 …
this._endY = vj7;
const vje = Math.min(this._startX, this._endX);
const vjf = Math.min(this._startY, this._endY);
const vjg = Math.abs(this._endX - this._startX);
const vjh = Math.abs(this._endY - this._startY);
vj5.selection.setRect(vje, vjf, vjg, vjh);
}
onPointerUp(vji, vjj, vjk, vjl) {
…
s58525 Input vjg sw widthUseful 0.86 viewportElementUseful 0.05 FlowName better Absent Pre-rename JavaScript · s58525 / vjg ×
Declaration · line 1875 …
const vje = Math.min(this._startX, this._endX);
const vjf = Math.min(this._startY, this._endY);
const vjg = Math.abs(this._endX - this._startX);
const vjh = Math.abs(this._endY - this._startY);
vj5.selection.setRect(vje, vjf, vjg, vjh);
}
onPointerUp(vji, vjj, vjk, vjl) {
if (this._resizing) {
this._resizing = false;
…
s58580 Input vjh sh heightUseful 0.71 viewportElement2Useful 0.06 FlowName better Absent Pre-rename JavaScript · s58580 / vjh ×
Declaration · line 1876 …
const vjf = Math.min(this._startY, this._endY);
const vjg = Math.abs(this._endX - this._startX);
const vjh = Math.abs(this._endY - this._startY);
vj5.selection.setRect(vje, vjf, vjg, vjh);
}
onPointerUp(vji, vjj, vjk, vjl) {
if (this._resizing) {
this._resizing = false;
this._handle = null;
v4i.emit("canvas:dirty");
…
s58694 Input vji doc editorUseful 0.23 eventUseful 0.62 Humanify better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s58694 / vji ×
Declaration · line 1879 …
const vjh = Math.abs(this._endY - this._startY);
vj5.selection.setRect(vje, vjf, vjg, vjh);
}
onPointerUp(vji , vjj, vjk, vjl) {
if (this._resizing) {
this._resizing = false;
this._handle = null;
v4i.emit("canvas:dirty");
return;
}
if (!this._drawing) return;
this._drawing = false;
const vjm = Math.min(this._startX, this._endX);
… Reference · line 1893 …
const vjp = Math.abs(this._endY - this._startY);
if (vjo < 2 && vjp < 2) {
vji .selection.clear();
} else {
vji.selection.setRect(vjm, vjn, vjo, vjp);
}
v4i.emit("canvas:dirty");
}
deactivate() {
document.getElementById("viewport").style.cursor = "crosshair";
}
onOverlay(vjq, vjr) {
…
s58699 Input vjj x eventUseful 0.57 event2Useful 0.26 FlowName better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s58699 / vjj ×
Declaration · line 1879 …
const vjh = Math.abs(this._endY - this._startY);
vj5.selection.setRect(vje, vjf, vjg, vjh);
}
onPointerUp(vji, vjj , vjk, vjl) {
if (this._resizing) {
this._resizing = false;
this._handle = null;
v4i.emit("canvas:dirty");
return;
}
if (!this._drawing) return;
this._drawing = false;
const vjm = Math.min(this._startX, this._endX);
…
s58704 Input vjk y xUseful 0.63 event3Useful 0.09 FlowName better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s58704 / vjk ×
Declaration · line 1879 …
const vjh = Math.abs(this._endY - this._startY);
vj5.selection.setRect(vje, vjf, vjg, vjh);
}
onPointerUp(vji, vjj, vjk , vjl) {
if (this._resizing) {
this._resizing = false;
this._handle = null;
v4i.emit("canvas:dirty");
return;
}
if (!this._drawing) return;
this._drawing = false;
const vjm = Math.min(this._startX, this._endX);
…
s58709 Input vjl e yUseful 0.49 event4Useful 0.32 Both poor Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s58709 / vjl ×
Declaration · line 1879 …
const vjh = Math.abs(this._endY - this._startY);
vj5.selection.setRect(vje, vjf, vjg, vjh);
}
onPointerUp(vji, vjj, vjk, vjl ) {
if (this._resizing) {
this._resizing = false;
this._handle = null;
v4i.emit("canvas:dirty");
return;
}
if (!this._drawing) return;
this._drawing = false;
const vjm = Math.min(this._startX, this._endX);
…
s58938 Input vjm sx minXUseful 0.81 minXUseful 0.81 Both useful Present Pre-rename JavaScript · s58938 / vjm ×
Declaration · line 1888 …
return;
}
if (!this._drawing) return;
this._drawing = false;
const vjm = Math.min(this._startX, this._endX);
const vjn = Math.min(this._startY, this._endY);
const vjo = Math.abs(this._endX - this._startX);
const vjp = Math.abs(this._endY - this._startY);
if (vjo < 2 && vjp < 2) {
vji.selection.clear();
… Reference · line 1895 …
if (vjo < 2 && vjp < 2) {
vji.selection.clear();
} else {
vji.selection.setRect(vjm , vjn, vjo, vjp);
}
v4i.emit("canvas:dirty");
}
deactivate() {
document.getElementById("viewport").style.cursor = "crosshair";
}
onOverlay(vjq, vjr) {
if (!vjr.selection.active || !vjr.selection.bounds) return;
…
s58992 Input vjn sy minYUseful 0.79 minYUseful 0.79 Both useful Present Pre-rename JavaScript · s58992 / vjn ×
Declaration · line 1889 …
this._drawing = false;
const vjm = Math.min(this._startX, this._endX);
const vjn = Math.min(this._startY, this._endY);
const vjo = Math.abs(this._endX - this._startX);
const vjp = Math.abs(this._endY - this._startY);
if (vjo < 2 && vjp < 2) {
vji.selection.clear();
} else {
vji.selection.setRect(vjm, vjn, vjo, vjp);
…
s59046 Input vjo sw widthUseful 0.91 widthUseful 0.91 Both useful Present Pre-rename JavaScript · s59046 / vjo ×
Declaration · line 1890 …
const vjm = Math.min(this._startX, this._endX);
const vjn = Math.min(this._startY, this._endY);
const vjo = Math.abs(this._endX - this._startX);
const vjp = Math.abs(this._endY - this._startY);
if (vjo < 2 && vjp < 2) {
vji.selection.clear();
} else {
vji.selection.setRect(vjm, vjn, vjo, vjp);
}
v4i.emit("canvas:dirty");
…
s59101 Input vjp sh heightUseful 0.87 heightUseful 0.87 Both useful Present Pre-rename JavaScript · s59101 / vjp ×
Declaration · line 1891 …
const vjn = Math.min(this._startY, this._endY);
const vjo = Math.abs(this._endX - this._startX);
const vjp = Math.abs(this._endY - this._startY);
if (vjo < 2 && vjp < 2) {
vji.selection.clear();
} else {
vji.selection.setRect(vjm, vjn, vjo, vjp);
}
v4i.emit("canvas:dirty");
}
deactivate() {
document.getElementById("viewport").style.cursor = "crosshair";
…
s59428 Input vjq ctx ctxUseful 0.70 editorUseful 0.11 FlowName better Present Pre-rename JavaScript · s59428 / vjq ×
Declaration · line 1902 …
document.getElementById("viewport").style.cursor = "crosshair";
}
onOverlay(vjq , vjr) {
if (!vjr.selection.active || !vjr.selection.bounds) return;
va5(vjq, vjr, vjr.selection.bounds);
}
};
var vjs = class extends vbq {
constructor() {
super("Wand", "w");
this._lastX = -1;
this._lastY = -1;
…
s59433 Input vjr doc stateUseful 0.19 editorViewUseful 0.22 Both poor Present Pre-rename JavaScript · s59433 / vjr ×
Declaration · line 1902 …
document.getElementById("viewport").style.cursor = "crosshair";
}
onOverlay(vjq, vjr ) {
if (!vjr.selection.active || !vjr.selection.bounds) return;
va5(vjq, vjr, vjr.selection.bounds);
}
};
var vjs = class extends vbq {
constructor() {
super("Wand", "w");
this._lastX = -1;
this._lastY = -1;
…
s59566 Input vjs MagicWandTool WandToolUseful 0.77 EventEmitter17Useful 0.02 FlowName better Absent Pre-rename JavaScript · s59566 / vjs ×
Declaration · line 1907 …
if (!vjr.selection.active || !vjr.selection.bounds) return;
va5(vjq, vjr, vjr.selection.bounds);
}
};
var vjs = class extends vbq {
constructor() {
super("Wand", "w");
this._lastX = -1;
this._lastY = -1;
this._imageData = null;
v4i.on("wand:reselect", () => this._reselect());
}
activate() {
this._lastX = -1;
… Reference · line 2644 …
const vq8 = [new vc7(), new vcq(), new vdo(), new vel(), new vf1(), new vfj(), new vgl(), new vhg(), new vie(), new viy(), new vjs (), new vk2(), new vkx()];
for (const vq9 of vq8) this.tools[vq9.name.toLowerCase()] = vq9;
this._keyMap = {};
for (const vqa of vq8) if (vqa.key) this._keyMap[vqa.key] = vqa.name.toLowerCase();
this.setTool("pencil");
…
s59951 Input vjt doc editorUseful 0.16 documentUseful 0.81 Humanify better Present Pre-rename JavaScript · s59951 / vjt ×
Declaration · line 1923 …
this._imageData = null;
}
deactivate() {
this._imageData = null;
}
onPointerDown(vjt , vju, vjv, vjw) {
vjt.saveSelectionState("Magic Wand");
vjt.compositeAll();
this._imageData = vjt.compositeCtx.getImageData(0, 0, vjt.width, vjt.height);
this._lastX = Math.floor(vju);
this._lastY = Math.floor(vjv);
… Reference · line 1932 …
const vjy = vjx(this._imageData, this._lastX, this._lastY, v4i._tolerance);
if (vjy) {
vjt .selection.setMask(vjy.mask, vjy.bounds);
} else {
vjt.selection.clear();
}
v4i.emit("canvas:dirty");
}
_reselect() {
const vjz = v4i._app?.doc;
if (!vjz || this._lastX < 0 || !this._imageData) return;
…
s59956 Input vju x xUseful 0.38 startYUseful 0.23 Both poor Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s59956 / vju ×
Declaration · line 1923 …
this._imageData = null;
}
deactivate() {
this._imageData = null;
}
onPointerDown(vjt, vju , vjv, vjw) {
vjt.saveSelectionState("Magic Wand");
vjt.compositeAll();
this._imageData = vjt.compositeCtx.getImageData(0, 0, vjt.width, vjt.height);
this._lastX = Math.floor(vju);
this._lastY = Math.floor(vjv);
…
s59961 Input vjv y yUseful 0.64 startY2Useful 0.27 FlowName better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s59961 / vjv ×
Declaration · line 1923 …
this._imageData = null;
}
deactivate() {
this._imageData = null;
}
onPointerDown(vjt, vju, vjv , vjw) {
vjt.saveSelectionState("Magic Wand");
vjt.compositeAll();
this._imageData = vjt.compositeCtx.getImageData(0, 0, vjt.width, vjt.height);
this._lastX = Math.floor(vju);
this._lastY = Math.floor(vjv);
const vjx = v4i._wandGlobal ? v8p : v80;
…
s59966 Input vjw e eventUseful 0.79 eventUseful 0.79 Both useful Present Pre-rename JavaScript · s59966 / vjw ×
Declaration · line 1923 …
}
deactivate() {
this._imageData = null;
}
onPointerDown(vjt, vju, vjv, vjw ) {
vjt.saveSelectionState("Magic Wand");
vjt.compositeAll();
this._imageData = vjt.compositeCtx.getImageData(0, 0, vjt.width, vjt.height);
this._lastX = Math.floor(vju);
this._lastY = Math.floor(vjv);
const vjx = v4i._wandGlobal ? v8p : v80;
…
s60213 Input vjx selectFn floodFillFuncUseful 0.34 wandAlgorithmUseful 0.22 Both poor Present Pre-rename JavaScript · s60213 / vjx ×
Declaration · line 1929 …
._imageData = vjt.compositeCtx.getImageData(0, 0, vjt.width, vjt.height);
this._lastX = Math.floor(vju);
this._lastY = Math.floor(vjv);
const vjx = v4i._wandGlobal ? v8p : v80;
const vjy = vjx(this._imageData, this._lastX, this._lastY, v4i._tolerance);
if (vjy) {
vjt.selection.setMask(vjy.mask, vjy.bounds);
} else {
vjt.selection.clear();
}
…
s60260 Input vjy result wandResultUseful 0.48 wandResultUseful 0.48 Both poor Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s60260 / vjy ×
Declaration · line 1930 …
this._lastY = Math.floor(vjv);
const vjx = v4i._wandGlobal ? v8p : v80;
const vjy = vjx(this._imageData, this._lastX, this._lastY, v4i._tolerance);
if (vjy) {
vjt.selection.setMask(vjy.mask, vjy.bounds);
} else {
vjt.selection.clear();
}
v4i.emit("canvas:dirty");
}
_reselect() {
…
s60522 Input vjz doc documentObjUseful 0.67 activeDocumentUseful 0.71 Both useful Present Preference confidence is low. Pre-rename JavaScript · s60522 / vjz ×
Declaration · line 1939 …
vjt.selection.clear();
}
v4i.emit("canvas:dirty");
}
_reselect() {
const vjz = v4i._app?.doc;
if (!vjz || this._lastX < 0 || !this._imageData) return;
const vk0 = v4i._wandGlobal ? v8p : v80;
const vk1 = vk0(this._imageData, this._lastX, this._lastY, v4i._tolerance);
if (vk1) {
vjz.selection.setMask(vk1.mask, vk1.bounds);
… Reference · line 1946 …
if (vk1) {
vjz.selection.setMask(vk1.mask, vk1.bounds);
} else {
vjz .selection.clear();
}
v4i.emit("canvas:dirty");
}
};
var vk2 = class extends vbq {
constructor() {
super("Lasso", "");
this._drawing = false;
this._points = [];
}
onPointerDown(vk3, vk4, vk5, vk6) {
…
s60618 Input vk0 selectFn floodFillFunc2Useful 0.16 selectFunctionUseful 0.86 Humanify better Present Pre-rename JavaScript · s60618 / vk0 ×
Declaration · line 1941 …
const vjz = v4i._app?.doc;
if (!vjz || this._lastX < 0 || !this._imageData) return;
const vk0 = v4i._wandGlobal ? v8p : v80;
const vk1 = vk0(this._imageData, this._lastX, this._lastY, v4i._tolerance);
if (vk1) {
vjz.selection.setMask(vk1.mask, vk1.bounds);
} else {
vjz.selection.clear();
}
…
s60665 Input vk1 result selectionResultUseful 0.81 selectionResultUseful 0.81 Both useful Present Pre-rename JavaScript · s60665 / vk1 ×
Declaration · line 1942 …
if (!vjz || this._lastX < 0 || !this._imageData) return;
const vk0 = v4i._wandGlobal ? v8p : v80;
const vk1 = vk0(this._imageData, this._lastX, this._lastY, v4i._tolerance);
if (vk1) {
vjz.selection.setMask(vk1.mask, vk1.bounds);
} else {
vjz.selection.clear();
}
v4i.emit("canvas:dirty");
}
};
var vk2 = class extends vbq {
…
s60908 Input vk2 LassoTool LassoToolUseful 0.91 EventEmitter18Useful 0.02 FlowName better Absent Pre-rename JavaScript · s60908 / vk2 ×
Declaration · line 1951 …
} else {
vjz.selection.clear();
}
v4i.emit("canvas:dirty");
}
};
var vk2 = class extends vbq {
constructor() {
super("Lasso", "");
this._drawing = false;
this._points = [];
}
onPointerDown(vk3, vk4, vk5, vk6) {
vk3.saveSelectionState("Lasso Select");
this._drawing = true;
… Reference · line 2644 …
const vq8 = [new vc7(), new vcq(), new vdo(), new vel(), new vf1(), new vfj(), new vgl(), new vhg(), new vie(), new viy(), new vjs(), new vk2 (), new vkx()];
for (const vq9 of vq8) this.tools[vq9.name.toLowerCase()] = vq9;
this._keyMap = {};
for (const vqa of vq8) if (vqa.key) this._keyMap[vqa.key] = vqa.name.toLowerCase();
this.setTool("pencil");
v4i.on("tool:set", vqb => this.setTool(vqb));
…
s61058 Input vk3 doc eventUseful 0.20 historyManagerUseful 0.34 Both poor Present Pre-rename JavaScript · s61058 / vk3 ×
Declaration · line 1957 …
super("Lasso", "");
this._drawing = false;
this._points = [];
}
onPointerDown(vk3 , vk4, vk5, vk6) {
vk3.saveSelectionState("Lasso Select");
this._drawing = true;
this._points = [{
x: Math.floor(vk4),
y: Math.floor(vk5)
}];
}
onPointerMove(vk7, vk8, vk9, vka) {
if (!this._drawing) return;
…
s61063 Input vk4 x xUseful 0.35 startXUseful 0.46 Both poor Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s61063 / vk4 ×
Declaration · line 1957 …
super("Lasso", "");
this._drawing = false;
this._points = [];
}
onPointerDown(vk3, vk4 , vk5, vk6) {
vk3.saveSelectionState("Lasso Select");
this._drawing = true;
this._points = [{
x: Math.floor(vk4),
y: Math.floor(vk5)
}];
}
onPointerMove(vk7, vk8, vk9, vka) {
if (!this._drawing) return;
…
s61068 Input vk5 y yUseful 0.81 startYUseful 0.41 FlowName better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s61068 / vk5 ×
Declaration · line 1957 …
super("Lasso", "");
this._drawing = false;
this._points = [];
}
onPointerDown(vk3, vk4, vk5 , vk6) {
vk3.saveSelectionState("Lasso Select");
this._drawing = true;
this._points = [{
x: Math.floor(vk4),
y: Math.floor(vk5)
}];
}
onPointerMove(vk7, vk8, vk9, vka) {
if (!this._drawing) return;
…
s61073 Input vk6 e pointerIdUseful 0.28 eventUseful 0.79 Humanify better Present Pre-rename JavaScript · s61073 / vk6 ×
Declaration · line 1957 …
this._drawing = false;
this._points = [];
}
onPointerDown(vk3, vk4, vk5, vk6 ) {
vk3.saveSelectionState("Lasso Select");
this._drawing = true;
this._points = [{
x: Math.floor(vk4),
y: Math.floor(vk5)
}];
}
onPointerMove(vk7, vk8, vk9, vka) {
if (!this._drawing) return;
…
s61267 Input vk7 doc eventUseful 0.76 eventUseful 0.76 Both useful Present Pre-rename JavaScript · s61267 / vk7 ×
Declaration · line 1965 …
this._points = [{
x: Math.floor(vk4),
y: Math.floor(vk5)
}];
}
onPointerMove(vk7 , vk8, vk9, vka) {
if (!this._drawing) return;
const vkb = this._points[this._points.length - 1];
const vkc = Math.floor(vk8),
vkd = Math.floor(vk9);
if (Math.abs(vkc - vkb.x) > 1 || Math.abs(vkd - vkb.y) > 1) {
…
s61272 Input vk8 x clientXUseful 0.27 yCoordUseful 0.60 Humanify better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s61272 / vk8 ×
Declaration · line 1965 …
x: Math.floor(vk4),
y: Math.floor(vk5)
}];
}
onPointerMove(vk7, vk8 , vk9, vka) {
if (!this._drawing) return;
const vkb = this._points[this._points.length - 1];
const vkc = Math.floor(vk8),
vkd = Math.floor(vk9);
if (Math.abs(vkc - vkb.x) > 1 || Math.abs(vkd - vkb.y) > 1) {
…
s61277 Input vk9 y clientYUseful 0.37 yUseful 0.80 Humanify better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s61277 / vk9 ×
Declaration · line 1965 …
x: Math.floor(vk4),
y: Math.floor(vk5)
}];
}
onPointerMove(vk7, vk8, vk9 , vka) {
if (!this._drawing) return;
const vkb = this._points[this._points.length - 1];
const vkc = Math.floor(vk8),
vkd = Math.floor(vk9);
if (Math.abs(vkc - vkb.x) > 1 || Math.abs(vkd - vkb.y) > 1) {
this._points.push({
…
s61282 Input vka e pressureUseful 0.10 pressureUseful 0.10 Both poor Present Pre-rename JavaScript · s61282 / vka ×
Declaration · line 1965 …
x: Math.floor(vk4),
y: Math.floor(vk5)
}];
}
onPointerMove(vk7, vk8, vk9, vka ) {
if (!this._drawing) return;
const vkb = this._points[this._points.length - 1];
const vkc = Math.floor(vk8),
vkd = Math.floor(vk9);
if (Math.abs(vkc - vkb.x) > 1 || Math.abs(vkd - vkb.y) > 1) {
this._points.push({
…
s61335 Input vkb last lastPointUseful 0.88 lastPointUseful 0.88 Both useful Present Pre-rename JavaScript · s61335 / vkb ×
Declaration · line 1967 …
}
onPointerMove(vk7, vk8, vk9, vka) {
if (!this._drawing) return;
const vkb = this._points[this._points.length - 1];
const vkc = Math.floor(vk8),
vkd = Math.floor(vk9);
if (Math.abs(vkc - vkb.x) > 1 || Math.abs(vkd - vkb.y) > 1) {
this._points.push({
x: vkc,
y: vkd
…
s61392 Input vkc px currentXUseful 0.53 currentXUseful 0.53 Both useful Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s61392 / vkc ×
Declaration · line 1968 …
if (!this._drawing) return;
const vkb = this._points[this._points.length - 1];
const vkc = Math.floor(vk8),
vkd = Math.floor(vk9);
if (Math.abs(vkc - vkb.x) > 1 || Math.abs(vkd - vkb.y) > 1) {
this._points.push({
x: vkc,
y: vkd
});
v4i.emit("canvas:dirty");
}
}
…
s61423 Input vkd py currentYUseful 0.68 currentYUseful 0.68 Both useful Present Pre-rename JavaScript · s61423 / vkd ×
Declaration · line 1969 …
const vkb = this._points[this._points.length - 1];
const vkc = Math.floor(vk8),
vkd = Math.floor(vk9);
if (Math.abs(vkc - vkb.x) > 1 || Math.abs(vkd - vkb.y) > 1) {
this._points.push({
x: vkc,
y: vkd
});
v4i.emit("canvas:dirty");
}
}
onPointerUp(vke) {
if (!this._drawing) return;
…
s61653 Input vke doc canvasElementUseful 0.71 targetCanvasUseful 0.62 Both useful Present Usefulness probability is near the provisional 0.5 boundary. Preference confidence is low. Pre-rename JavaScript · s61653 / vke ×
Declaration · line 1978 …
y: vkd
});
v4i.emit("canvas:dirty");
}
}
onPointerUp(vke ) {
if (!this._drawing) return;
this._drawing = false;
if (this._points.length < 3) {
this._points = [];
return;
}
const vkf = document.createElement("canvas");
vkf.width = vke.width;
vkf.height = vke.height;
… Reference · line 1997 …
vkg.closePath();
vkg.fillStyle = "#fff";
vkg.fill();
const vki = vkg.getImageData(0, 0, vke .width, vke.height);
const vkj = new Uint8Array(vke.width * vke.height);
let vkk = vke.width,
vkl = 0,
vkm = vke.height,
vkn = 0;
let vko = false;
for (let vkp = 0; vkp < vkj.length; vkp++) {
…
s61823 Input vkf c offscreenCanvasUseful 0.50 offscreenCanvasUseful 0.50 Both useful Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s61823 / vkf ×
Declaration · line 1985 …
if (this._points.length < 3) {
this._points = [];
return;
}
const vkf = document.createElement("canvas");
vkf.width = vke.width;
vkf.height = vke.height;
const vkg = vkf.getContext("2d");
vkg.beginPath();
vkg.moveTo(this._points[0].x, this._points[0].y);
for (let vkh = 1; vkh < this._points.length; vkh++) {
…
s61935 Input vkg ctx ctxUseful 0.84 context2dUseful 0.85 Humanify better Present Pre-rename JavaScript · s61935 / vkg ×
Declaration · line 1988 …
const vkf = document.createElement("canvas");
vkf.width = vke.width;
vkf.height = vke.height;
const vkg = vkf.getContext("2d");
vkg.beginPath();
vkg.moveTo(this._points[0].x, this._points[0].y);
for (let vkh = 1; vkh < this._points.length; vkh++) {
vkg.lineTo(this._points[vkh].x, this._points[vkh].y);
}
vkg.closePath();
… Reference · line 1995 …
vkg.lineTo(this._points[vkh].x, this._points[vkh].y);
}
vkg.closePath();
vkg .fillStyle = "#fff";
vkg.fill();
const vki = vkg.getImageData(0, 0, vke.width, vke.height);
const vkj = new Uint8Array(vke.width * vke.height);
let vkk = vke.width,
vkl = 0,
vkm = vke.height,
vkn = 0;
…
s62057 Input vkh i pointUseful 0.22 pointIndexUseful 0.53 Humanify better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s62057 / vkh ×
Declaration · line 1991 …
vkg.beginPath();
vkg.moveTo(this._points[0].x, this._points[0].y);
for (let vkh = 1; vkh < this._points.length; vkh++) {
vkg.lineTo(this._points[vkh].x, this._points[vkh].y);
}
vkg.closePath();
vkg.fillStyle = "#fff";
vkg.fill();
const vki = vkg.getImageData(0, 0, vke.width, vke.height);
…
s62255 Input vki id imageDataUseful 0.65 offscreenCanvas2Useful 0.05 FlowName better Absent Pre-rename JavaScript · s62255 / vki ×
Declaration · line 1997 …
}
vkg.closePath();
vkg.fillStyle = "#fff";
vkg.fill();
const vki = vkg.getImageData(0, 0, vke.width, vke.height);
const vkj = new Uint8Array(vke.width * vke.height);
let vkk = vke.width,
vkl = 0,
vkm = vke.height,
vkn = 0;
let vko = false;
for (let vkp = 0; vkp < vkj.length; vkp++) {
… Reference · line 2005 …
vkn = 0;
let vko = false;
for (let vkp = 0; vkp < vkj.length; vkp++) {
if (vki .data[vkp * 4 + 3] > 0) {
vkj[vkp] = 1;
const vkq = vkp % vke.width,
vkr = Math.floor(vkp / vke.width);
if (vkq < vkk) vkk = vkq;
if (vkq > vkl) vkl = vkq;
if (vkr < vkm) vkm = vkr;
…
s62320 Input vkj mask maskBufferUseful 0.79 canvasElementUseful 0.04 FlowName better Absent Pre-rename JavaScript · s62320 / vkj ×
Declaration · line 1998 …
vkg.fill();
const vki = vkg.getImageData(0, 0, vke.width, vke.height);
const vkj = new Uint8Array(vke.width * vke.height);
let vkk = vke.width,
vkl = 0,
vkm = vke.height,
vkn = 0;
let vko = false;
for (let vkp = 0; vkp < vkj.length; vkp++) {
if (vki.data[vkp * 4 + 3] > 0) {
… Reference · line 2006 …
for (let vkp = 0; vkp < vkj.length; vkp++) {
if (vki.data[vkp * 4 + 3] > 0) {
vkj [vkp] = 1;
const vkq = vkp % vke.width,
vkr = Math.floor(vkp / vke.width);
if (vkq < vkk) vkk = vkq;
if (vkq > vkl) vkl = vkq;
if (vkr < vkm) vkm = vkr;
if (vkr > vkn) vkn = vkr;
…
s62376 Input vkk minX minXUseful 0.91 canvasElement2Useful 0.02 FlowName better Absent Pre-rename JavaScript · s62376 / vkk ×
Declaration · line 1999 …
const vki = vkg.getImageData(0, 0, vke.width, vke.height);
const vkj = new Uint8Array(vke.width * vke.height);
let vkk = vke.width,
vkl = 0,
vkm = vke.height,
vkn = 0;
let vko = false;
for (let vkp = 0; vkp < vkj.length; vkp++) {
if (vki.data[vkp * 4 + 3] > 0) {
vkj[vkp] = 1;
const vkq = vkp % vke.width,
… Reference · line 2009 …
const vkq = vkp % vke.width,
vkr = Math.floor(vkp / vke.width);
if (vkq < vkk ) vkk = vkq;
if (vkq > vkl) vkl = vkq;
if (vkr < vkm) vkm = vkr;
if (vkr > vkn) vkn = vkr;
vko = true;
}
}
if (vko) {
vke.selection.setMask(vkj, {
x: vkk,
y: vkm,
…
s62401 Input vkl maxX maxXUseful 0.90 canvasElement3Useful 0.03 FlowName better Absent Pre-rename JavaScript · s62401 / vkl ×
Declaration · line 2000 …
const vkj = new Uint8Array(vke.width * vke.height);
let vkk = vke.width,
vkl = 0,
vkm = vke.height,
vkn = 0;
let vko = false;
for (let vkp = 0; vkp < vkj.length; vkp++) {
if (vki.data[vkp * 4 + 3] > 0) {
vkj[vkp] = 1;
const vkq = vkp % vke.width,
vkr = Math.floor(vkp / vke.width);
… Reference · line 2010 …
vkr = Math.floor(vkp / vke.width);
if (vkq < vkk) vkk = vkq;
if (vkq > vkl ) vkl = vkq;
if (vkr < vkm) vkm = vkr;
if (vkr > vkn) vkn = vkr;
vko = true;
}
}
if (vko) {
vke.selection.setMask(vkj, {
x: vkk,
y: vkm,
w: vkl - vkk + 1,
…
s62418 Input vkm minY minYUseful 0.92 tempCanvasUseful 0.02 FlowName better Absent Pre-rename JavaScript · s62418 / vkm ×
Declaration · line 2001 …
const vkj = new Uint8Array(vke.width * vke.height);
let vkk = vke.width,
vkl = 0,
vkm = vke.height,
vkn = 0;
let vko = false;
for (let vkp = 0; vkp < vkj.length; vkp++) {
if (vki.data[vkp * 4 + 3] > 0) {
vkj[vkp] = 1;
const vkq = vkp % vke.width,
vkr = Math.floor(vkp / vke.width);
… Reference · line 2011 …
if (vkq < vkk) vkk = vkq;
if (vkq > vkl) vkl = vkq;
if (vkr < vkm ) vkm = vkr;
if (vkr > vkn) vkn = vkr;
vko = true;
}
}
if (vko) {
vke.selection.setMask(vkj, {
x: vkk,
y: vkm,
w: vkl - vkk + 1,
h: vkn - vkm + 1
});
…
s62444 Input vkn maxY maxYUseful 0.90 canvasElement4Useful 0.02 FlowName better Absent Pre-rename JavaScript · s62444 / vkn ×
Declaration · line 2002 …
const vkj = new Uint8Array(vke.width * vke.height);
let vkk = vke.width,
vkl = 0,
vkm = vke.height,
vkn = 0;
let vko = false;
for (let vkp = 0; vkp < vkj.length; vkp++) {
if (vki.data[vkp * 4 + 3] > 0) {
vkj[vkp] = 1;
const vkq = vkp % vke.width,
vkr = Math.floor(vkp / vke.width);
if (vkq < vkk) vkk = vkq;
… Reference · line 2012 …
if (vkq > vkl) vkl = vkq;
if (vkr < vkm) vkm = vkr;
if (vkr > vkn ) vkn = vkr;
vko = true;
}
}
if (vko) {
vke.selection.setMask(vkj, {
x: vkk,
y: vkm,
w: vkl - vkk + 1,
h: vkn - vkm + 1
});
} else {
vke.selection.clear();
…
s62463 Input vko found hasMaskUseful 0.45 eventUseful 0.06 Both poor Absent Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s62463 / vko ×
Declaration · line 2003 …
let vkk = vke.width,
vkl = 0,
vkm = vke.height,
vkn = 0;
let vko = false;
for (let vkp = 0; vkp < vkj.length; vkp++) {
if (vki.data[vkp * 4 + 3] > 0) {
vkj[vkp] = 1;
const vkq = vkp % vke.width,
vkr = Math.floor(vkp / vke.width);
if (vkq < vkk) vkk = vkq;
… Reference · line 2013 …
if (vkq > vkl) vkl = vkq;
if (vkr < vkm) vkm = vkr;
if (vkr > vkn) vkn = vkr;
vko = true;
}
}
if (vko) {
vke.selection.setMask(vkj, {
x: vkk,
y: vkm,
w: vkl - vkk + 1,
h: vkn - vkm + 1
});
} else {
vke.selection.clear();
}
…
s62491 Input vkp i iUseful 0.66 pixelIndexUseful 0.54 Humanify better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s62491 / vkp ×
Declaration · line 2004 …
vkl = 0,
vkm = vke.height,
vkn = 0;
let vko = false;
for (let vkp = 0; vkp < vkj.length; vkp++) {
if (vki.data[vkp * 4 + 3] > 0) {
vkj[vkp] = 1;
const vkq = vkp % vke.width,
vkr = Math.floor(vkp / vke.width);
if (vkq < vkk) vkk = vkq;
if (vkq > vkl) vkl = vkq;
…
s62608 Input vkq x xCoordUseful 0.75 pixelXUseful 0.62 Both useful Present Usefulness probability is near the provisional 0.5 boundary. Preference confidence is low. Pre-rename JavaScript · s62608 / vkq ×
Declaration · line 2007 …
for (let vkp = 0; vkp < vkj.length; vkp++) {
if (vki.data[vkp * 4 + 3] > 0) {
vkj[vkp] = 1;
const vkq = vkp % vke.width,
vkr = Math.floor(vkp / vke.width);
if (vkq < vkk) vkk = vkq;
if (vkq > vkl) vkl = vkq;
if (vkr < vkm) vkm = vkr;
if (vkr > vkn) vkn = vkr;
vko = true;
}
…
s62643 Input vkr y yCoordUseful 0.79 yCoordUseful 0.79 Both useful Present Pre-rename JavaScript · s62643 / vkr ×
Declaration · line 2008 …
if (vki.data[vkp * 4 + 3] > 0) {
vkj[vkp] = 1;
const vkq = vkp % vke.width,
vkr = Math.floor(vkp / vke.width);
if (vkq < vkk) vkk = vkq;
if (vkq > vkl) vkl = vkq;
if (vkr < vkm) vkm = vkr;
if (vkr > vkn) vkn = vkr;
vko = true;
}
}
if (vko) {
vke.selection.setMask(vkj, {
…
s63150 Input vks ctx ctxUseful 0.88 ctxUseful 0.88 Both useful Present Pre-rename JavaScript · s63150 / vks ×
Declaration · line 2029 …
vke.selection.clear();
}
this._points = [];
v4i.emit("canvas:dirty");
}
onOverlay(vks , vkt) {
if (!this._drawing || this._points.length < 2) return;
const vku = vkt.zoom;
vks.strokeStyle = "rgba(255,255,255,0.8)";
vks.setLineDash([4, 4]);
vks.lineWidth = 1;
vks.beginPath();
vks.moveTo(this._points[0].x * vku + vkt.panX, this._points[0].y * vku + vkt.panY);
… Reference · line 2038 …
vks.moveTo(this._points[0].x * vku + vkt.panX, this._points[0].y * vku + vkt.panY);
for (let vkv = 1; vkv < this._points.length; vkv++) {
vks .lineTo(this._points[vkv].x * vku + vkt.panX, this._points[vkv].y * vku + vkt.panY);
}
vks.stroke();
vks.setLineDash([]);
vks.strokeStyle = "rgba(255,255,255,0.3)";
vks.beginPath();
const vkw = this._points[this._points.length - 1];
…
s63155 Input vkt doc transformUseful 0.30 viewportUseful 0.46 Both poor Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s63155 / vkt ×
Declaration · line 2029 …
}
this._points = [];
v4i.emit("canvas:dirty");
}
onOverlay(vks, vkt ) {
if (!this._drawing || this._points.length < 2) return;
const vku = vkt.zoom;
vks.strokeStyle = "rgba(255,255,255,0.8)";
vks.setLineDash([4, 4]);
vks.lineWidth = 1;
vks.beginPath();
vks.moveTo(this._points[0].x * vku + vkt.panX, this._points[0].y * vku + vkt.panY);
… Reference · line 2038 …
for (let vkv = 1; vkv < this._points.length; vkv++) {
vks.lineTo(this._points[vkv].x * vku + vkt .panX, this._points[vkv].y * vku + vkt.panY);
}
vks.stroke();
vks.setLineDash([]);
vks.strokeStyle = "rgba(255,255,255,0.3)";
vks.beginPath();
const vkw = this._points[this._points.length - 1];
vks.moveTo(vkw.x * vku + vkt.panX, vkw.y * vku + vkt.panY);
…
s63235 Input vku z zoomUseful 0.85 zoomLevelUseful 0.50 FlowName better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s63235 / vku ×
Declaration · line 2031 …
onOverlay(vks, vkt) {
if (!this._drawing || this._points.length < 2) return;
const vku = vkt.zoom;
vks.strokeStyle = "rgba(255,255,255,0.8)";
vks.setLineDash([4, 4]);
vks.lineWidth = 1;
vks.beginPath();
vks.moveTo(this._points[0].x * vku + vkt.panX, this._points[0].y * vku + vkt.panY);
for (let vkv = 1; vkv < this._points.length; vkv++) {
… Reference · line 2038 …
for (let vkv = 1; vkv < this._points.length; vkv++) {
vks.lineTo(this._points[vkv].x * vku + vkt.panX, this._points[vkv].y * vku + vkt.panY);
}
vks.stroke();
vks.setLineDash([]);
vks.strokeStyle = "rgba(255,255,255,0.3)";
vks.beginPath();
const vkw = this._points[this._points.length - 1];
vks.moveTo(vkw.x * vku + vkt.panX, vkw.y * vku + vkt.panY);
…
s63484 Input vkv i iUseful 0.63 pointIndexUseful 0.67 Humanify better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s63484 / vkv ×
Declaration · line 2037 …
vks.moveTo(this._points[0].x * vku + vkt.panX, this._points[0].y * vku + vkt.panY);
for (let vkv = 1; vkv < this._points.length; vkv++) {
vks.lineTo(this._points[vkv].x * vku + vkt.panX, this._points[vkv].y * vku + vkt.panY);
}
vks.stroke();
vks.setLineDash([]);
vks.strokeStyle = "rgba(255,255,255,0.3)";
…
s63764 Input vkw last lastPointUseful 0.88 zoomUseful 0.03 FlowName better Absent Pre-rename JavaScript · s63764 / vkw ×
Declaration · line 2044 …
vks.setLineDash([]);
vks.strokeStyle = "rgba(255,255,255,0.3)";
vks.beginPath();
const vkw = this._points[this._points.length - 1];
vks.moveTo(vkw.x * vku + vkt.panX, vkw.y * vku + vkt.panY);
vks.lineTo(this._points[0].x * vku + vkt.panX, this._points[0].y * vku + vkt.panY);
vks.stroke();
}
};
var vkx = class extends vbq {
…
s64002 Input vkx MovePixelsTool MoveToolUseful 0.61 EventEmitter19Useful 0.02 FlowName better Absent Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s64002 / vkx ×
Declaration · line 2050 …
vks.lineTo(this._points[0].x * vku + vkt.panX, this._points[0].y * vku + vkt.panY);
vks.stroke();
}
};
var vkx = class extends vbq {
constructor() {
super("Move", "m");
this._active = false;
this._buffer = null;
this._bufferW = 0;
this._bufferH = 0;
this._sourceLayer = null;
this._hadSelection = false;
… Reference · line 2644 …
const vq8 = [new vc7(), new vcq(), new vdo(), new vel(), new vf1(), new vfj(), new vgl(), new vhg(), new vie(), new viy(), new vjs(), new vk2(), new vkx ()];
for (const vq9 of vq8) this.tools[vq9.name.toLowerCase()] = vq9;
this._keyMap = {};
for (const vqa of vq8) if (vqa.key) this._keyMap[vqa.key] = vqa.name.toLowerCase();
this.setTool("pencil");
v4i.on("tool:set", vqb => this.setTool(vqb));
…
s64956 Input vky hw halfWidthUseful 0.88 halfWidthUseful 0.88 Both useful Present Pre-rename JavaScript · s64956 / vky ×
Declaration · line 2084 …
document.getElementById("viewport").style.cursor = "crosshair";
if (this._active) this.commit();
}
_getCorners() {
const vky = this._bufferW / 2 * this._scaleX;
const vkz = this._bufferH / 2 * this._scaleY;
const vl0 = Math.cos(this._rotation),
vl1 = Math.sin(this._rotation);
return [[-vky, -vkz], [vky, -vkz], [vky, vkz], [-vky, vkz]].map(([vl2, vl3]) => ({
…
s65008 Input vkz hh halfHeightUseful 0.84 halfHeightUseful 0.84 Both useful Present Pre-rename JavaScript · s65008 / vkz ×
Declaration · line 2085 …
}
_getCorners() {
const vky = this._bufferW / 2 * this._scaleX;
const vkz = this._bufferH / 2 * this._scaleY;
const vl0 = Math.cos(this._rotation),
vl1 = Math.sin(this._rotation);
return [[-vky, -vkz], [vky, -vkz], [vky, vkz], [-vky, vkz]].map(([vl2, vl3]) => ({
x: this._tx + vl2 * vl0 - vl3 * vl1,
…
s65060 Input vl0 cos cosRotationUseful 0.84 cosRotationUseful 0.84 Both useful Present Pre-rename JavaScript · s65060 / vl0 ×
Declaration · line 2086 …
const vky = this._bufferW / 2 * this._scaleX;
const vkz = this._bufferH / 2 * this._scaleY;
const vl0 = Math.cos(this._rotation),
vl1 = Math.sin(this._rotation);
return [[-vky, -vkz], [vky, -vkz], [vky, vkz], [-vky, vkz]].map(([vl2, vl3]) => ({
x: this._tx + vl2 * vl0 - vl3 * vl1,
y: this._ty + vl2 * vl1 + vl3 * vl0
…
s65100 Input vl1 sin sinRotationUseful 0.85 sinRotationUseful 0.85 Both useful Present Pre-rename JavaScript · s65100 / vl1 ×
Declaration · line 2087 …
const vkz = this._bufferH / 2 * this._scaleY;
const vl0 = Math.cos(this._rotation),
vl1 = Math.sin(this._rotation);
return [[-vky, -vkz], [vky, -vkz], [vky, vkz], [-vky, vkz]].map(([vl2, vl3]) => ({
x: this._tx + vl2 * vl0 - vl3 * vl1,
y: this._ty + vl2 * vl1 + vl3 * vl0
}));
}
_snapCenterForPixelMove(vl4, vl5) {
…
s65204 Input vl2 lx cosCoeffUseful 0.60 cosValUseful 0.73 Both useful Present Usefulness probability is near the provisional 0.5 boundary. Preference confidence is low. Pre-rename JavaScript · s65204 / vl2 ×
Declaration · line 2088 …
vl1 = Math.sin(this._rotation);
return [[-vky, -vkz], [vky, -vkz], [vky, vkz], [-vky, vkz]].map(([vl2 , vl3]) => ({
x: this._tx + vl2 * vl0 - vl3 * vl1,
y: this._ty + vl2 * vl1 + vl3 * vl0
}));
}
_snapCenterForPixelMove(vl4, vl5) {
return {
x: Math.round(vl4 - this._bufferW / 2) + this._bufferW / 2,
…
s65209 Input vl3 ly sinCoeffUseful 0.63 sinThetaUseful 0.77 Both useful Present Usefulness probability is near the provisional 0.5 boundary. Preference confidence is low. Pre-rename JavaScript · s65209 / vl3 ×
Declaration · line 2088 …
vl1 = Math.sin(this._rotation);
return [[-vky, -vkz], [vky, -vkz], [vky, vkz], [-vky, vkz]].map(([vl2, vl3 ]) => ({
x: this._tx + vl2 * vl0 - vl3 * vl1,
y: this._ty + vl2 * vl1 + vl3 * vl0
}));
}
_snapCenterForPixelMove(vl4, vl5) {
return {
x: Math.round(vl4 - this._bufferW / 2) + this._bufferW / 2,
…
s65355 Input vl4 tx xUseful 0.51 xUseful 0.51 Both useful Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s65355 / vl4 ×
Declaration · line 2093 …
x: this._tx + vl2 * vl0 - vl3 * vl1,
y: this._ty + vl2 * vl1 + vl3 * vl0
}));
}
_snapCenterForPixelMove(vl4 , vl5) {
return {
x: Math.round(vl4 - this._bufferW / 2) + this._bufferW / 2,
y: Math.round(vl5 - this._bufferH / 2) + this._bufferH / 2
};
}
_getClippedTransformBounds(vl6) {
const vl7 = this._getCorners();
…
s65360 Input vl5 ty yUseful 0.73 yUseful 0.73 Both useful Present Pre-rename JavaScript · s65360 / vl5 ×
Declaration · line 2093 …
y: this._ty + vl2 * vl1 + vl3 * vl0
}));
}
_snapCenterForPixelMove(vl4, vl5 ) {
return {
x: Math.round(vl4 - this._bufferW / 2) + this._bufferW / 2,
y: Math.round(vl5 - this._bufferH / 2) + this._bufferH / 2
};
}
_getClippedTransformBounds(vl6) {
const vl7 = this._getCorners();
…
s65563 Input vl6 doc transformBoundsUseful 0.77 imageDimensionsUseful 0.13 FlowName better Present Pre-rename JavaScript · s65563 / vl6 ×
Declaration · line 2099 …
y: Math.round(vl5 - this._bufferH / 2) + this._bufferH / 2
};
}
_getClippedTransformBounds(vl6 ) {
const vl7 = this._getCorners();
const vl8 = vl7.map(vl9 => vl9.x),
vla = vl7.map(vlb => vlb.y);
const vlc = Math.floor(Math.min(...vl8));
const vld = Math.floor(Math.min(...vla));
const vle = Math.ceil(Math.max(...vl8));
… Reference · line 2109 …
const vlg = Math.max(0, vlc);
const vlh = Math.max(0, vld);
const vli = Math.min(vl6 .width, vle);
const vlj = Math.min(vl6.height, vlf);
return {
x: vlg,
y: vlh,
w: vli - vlg,
h: vlj - vlh
};
}
_getHandles() {
const vlk = this._bufferW / 2 * this._scaleX;
const vll = this._bufferH / 2 * this._scaleY;
…
s65582 Input vl7 corners cornersUseful 0.95 cornersUseful 0.95 Both useful Present Pre-rename JavaScript · s65582 / vl7 ×
Declaration · line 2100 …
y: Math.round(vl5 - this._bufferH / 2) + this._bufferH / 2
};
}
_getClippedTransformBounds(vl6) {
const vl7 = this._getCorners();
const vl8 = vl7.map(vl9 => vl9.x),
vla = vl7.map(vlb => vlb.y);
const vlc = Math.floor(Math.min(...vl8));
const vld = Math.floor(Math.min(...vla));
const vle = Math.ceil(Math.max(...vl8));
…
s65620 Input vl8 xs xsUseful 0.77 xCoordinatesUseful 0.85 Humanify better Present Pre-rename JavaScript · s65620 / vl8 ×
Declaration · line 2101 …
}
_getClippedTransformBounds(vl6) {
const vl7 = this._getCorners();
const vl8 = vl7.map(vl9 => vl9.x),
vla = vl7.map(vlb => vlb.y);
const vlc = Math.floor(Math.min(...vl8));
const vld = Math.floor(Math.min(...vla));
const vle = Math.ceil(Math.max(...vl8));
const vlf = Math.ceil(Math.max(...vla));
…
s65634 Input vl9 c cornerUseful 0.72 pointUseful 0.32 FlowName better Present Pre-rename JavaScript · s65634 / vl9 ×
Declaration · line 2101 …
_getClippedTransformBounds(vl6) {
const vl7 = this._getCorners();
const vl8 = vl7.map(vl9 => vl9.x),
vla = vl7.map(vlb => vlb.y);
const vlc = Math.floor(Math.min(...vl8));
const vld = Math.floor(Math.min(...vla));
const vle = Math.ceil(Math.max(...vl8));
const vlf = Math.ceil(Math.max(...vla));
…
s65657 Input vla ys ysUseful 0.80 yCoordinatesUseful 0.85 Humanify better Present Pre-rename JavaScript · s65657 / vla ×
Declaration · line 2102 …
_getClippedTransformBounds(vl6) {
const vl7 = this._getCorners();
const vl8 = vl7.map(vl9 => vl9.x),
vla = vl7.map(vlb => vlb.y);
const vlc = Math.floor(Math.min(...vl8));
const vld = Math.floor(Math.min(...vla));
const vle = Math.ceil(Math.max(...vl8));
const vlf = Math.ceil(Math.max(...vla));
const vlg = Math.max(0, vlc);
…
s65671 Input vlb c pointYUseful 0.26 vectorUseful 0.16 Both poor Present Pre-rename JavaScript · s65671 / vlb ×
Declaration · line 2102 …
const vl7 = this._getCorners();
const vl8 = vl7.map(vl9 => vl9.x),
vla = vl7.map(vlb => vlb.y);
const vlc = Math.floor(Math.min(...vl8));
const vld = Math.floor(Math.min(...vla));
const vle = Math.ceil(Math.max(...vl8));
const vlf = Math.ceil(Math.max(...vla));
const vlg = Math.max(0, vlc);
…
s65698 Input vlc minX minXUseful 0.95 minXUseful 0.95 Both useful Present Pre-rename JavaScript · s65698 / vlc ×
Declaration · line 2103 …
const vl8 = vl7.map(vl9 => vl9.x),
vla = vl7.map(vlb => vlb.y);
const vlc = Math.floor(Math.min(...vl8));
const vld = Math.floor(Math.min(...vla));
const vle = Math.ceil(Math.max(...vl8));
const vlf = Math.ceil(Math.max(...vla));
const vlg = Math.max(0, vlc);
const vlh = Math.max(0, vld);
…
s65746 Input vld minY minYUseful 0.94 minYUseful 0.94 Both useful Present Pre-rename JavaScript · s65746 / vld ×
Declaration · line 2104 …
vla = vl7.map(vlb => vlb.y);
const vlc = Math.floor(Math.min(...vl8));
const vld = Math.floor(Math.min(...vla));
const vle = Math.ceil(Math.max(...vl8));
const vlf = Math.ceil(Math.max(...vla));
const vlg = Math.max(0, vlc);
const vlh = Math.max(0, vld);
const vli = Math.min(vl6.width, vle);
…
s65794 Input vle maxX maxXUseful 0.95 maxXUseful 0.95 Both useful Present Pre-rename JavaScript · s65794 / vle ×
Declaration · line 2105 …
const vlc = Math.floor(Math.min(...vl8));
const vld = Math.floor(Math.min(...vla));
const vle = Math.ceil(Math.max(...vl8));
const vlf = Math.ceil(Math.max(...vla));
const vlg = Math.max(0, vlc);
const vlh = Math.max(0, vld);
const vli = Math.min(vl6.width, vle);
const vlj = Math.min(vl6.height, vlf);
…
s65841 Input vlf maxY maxYUseful 0.95 maxYUseful 0.95 Both useful Present Pre-rename JavaScript · s65841 / vlf ×
Declaration · line 2106 …
const vld = Math.floor(Math.min(...vla));
const vle = Math.ceil(Math.max(...vl8));
const vlf = Math.ceil(Math.max(...vla));
const vlg = Math.max(0, vlc);
const vlh = Math.max(0, vld);
const vli = Math.min(vl6.width, vle);
const vlj = Math.min(vl6.height, vlf);
return {
x: vlg,
y: vlh,
…
s65888 Input vlg x clippedXUseful 0.50 minX2Useful 0.15 FlowName better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s65888 / vlg ×
Declaration · line 2107 …
const vle = Math.ceil(Math.max(...vl8));
const vlf = Math.ceil(Math.max(...vla));
const vlg = Math.max(0, vlc);
const vlh = Math.max(0, vld);
const vli = Math.min(vl6.width, vle);
const vlj = Math.min(vl6.height, vlf);
return {
x: vlg,
y: vlh,
w: vli - vlg,
h: vlj - vlh
};
…
s65924 Input vlh y clippedYUseful 0.30 minY2Useful 0.23 Both poor Present Pre-rename JavaScript · s65924 / vlh ×
Declaration · line 2108 …
const vlf = Math.ceil(Math.max(...vla));
const vlg = Math.max(0, vlc);
const vlh = Math.max(0, vld);
const vli = Math.min(vl6.width, vle);
const vlj = Math.min(vl6.height, vlf);
return {
x: vlg,
y: vlh,
w: vli - vlg,
h: vlj - vlh
};
}
_getHandles() {
const vlk = this._bufferW / 2 * this._scaleX;
…
s65960 Input vli right clippedMaxXUseful 0.32 maxX2Useful 0.21 Both poor Present Pre-rename JavaScript · s65960 / vli ×
Declaration · line 2109 …
const vlf = Math.ceil(Math.max(...vla));
const vlg = Math.max(0, vlc);
const vlh = Math.max(0, vld);
const vli = Math.min(vl6.width, vle);
const vlj = Math.min(vl6.height, vlf);
return {
x: vlg,
y: vlh,
w: vli - vlg,
h: vlj - vlh
};
}
_getHandles() {
const vlk = this._bufferW / 2 * this._scaleX;
…
s66004 Input vlj bottom clippedMaxYUseful 0.39 maxHeightUseful 0.11 Both poor Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s66004 / vlj ×
Declaration · line 2110 …
const vlh = Math.max(0, vld);
const vli = Math.min(vl6.width, vle);
const vlj = Math.min(vl6.height, vlf);
return {
x: vlg,
y: vlh,
w: vli - vlg,
h: vlj - vlh
};
}
_getHandles() {
const vlk = this._bufferW / 2 * this._scaleX;
const vll = this._bufferH / 2 * this._scaleY;
…
s66174 Input vlk hw halfWidthUseful 0.88 halfWidthUseful 0.88 Both useful Present Pre-rename JavaScript · s66174 / vlk ×
Declaration · line 2119 …
w: vli - vlg,
h: vlj - vlh
};
}
_getHandles() {
const vlk = this._bufferW / 2 * this._scaleX;
const vll = this._bufferH / 2 * this._scaleY;
const vlm = Math.cos(this._rotation),
vln = Math.sin(this._rotation);
const vlo = [{
id: "nw",
lx: -vlk,
ly: -vll
… Reference · line 2133 …
id: "n",
lx: 0,
ly: -vll
}, {
id: "ne",
lx: vlk ,
ly: -vll
}, {
id: "e",
lx: vlk,
ly: 0
}, {
id: "se",
lx: vlk,
ly: vll
}, {
id: "s",
lx: 0,
ly: vll
}, {
id: "sw",
lx: -vlk,
…
s66226 Input vll hh halfHeightUseful 0.58 halfBufferHeightUseful 0.84 Humanify better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s66226 / vll ×
Declaration · line 2120 …
}
_getHandles() {
const vlk = this._bufferW / 2 * this._scaleX;
const vll = this._bufferH / 2 * this._scaleY;
const vlm = Math.cos(this._rotation),
vln = Math.sin(this._rotation);
const vlo = [{
id: "nw",
lx: -vlk,
ly: -vll
}, {
id: "n",
lx: 0,
… Reference · line 2130 …
lx: -vlk,
ly: -vll
}, {
id: "n",
lx: 0,
ly: -vll
}, {
id: "ne",
lx: vlk,
ly: -vll
}, {
id: "e",
lx: vlk,
ly: 0
}, {
id: "se",
lx: vlk,
ly: vll
}, {
id: "s",
lx: 0,
ly: vll
…
s66278 Input vlm cos cosRotationUseful 0.84 cosRotationUseful 0.84 Both useful Present Pre-rename JavaScript · s66278 / vlm ×
Declaration · line 2121 …
const vlk = this._bufferW / 2 * this._scaleX;
const vll = this._bufferH / 2 * this._scaleY;
const vlm = Math.cos(this._rotation),
vln = Math.sin(this._rotation);
const vlo = [{
id: "nw",
lx: -vlk,
ly: -vll
}, {
id: "n",
lx: 0,
ly: -vll
}, {
id: "ne",
lx: vlk,
… Reference · line 2158 …
}];
return vlo.map(vlp => ({
id: vlp.id,
x: this._tx + vlp.lx * vlm - vlp.ly * vln,
y: this._ty + vlp.lx * vln + vlp.ly * vlm
}));
}
_getRotationHandle(vlq) {
const vlr = this._bufferH / 2 * this._scaleY;
const vls = Math.cos(this._rotation),
vlt = Math.sin(this._rotation);
…
s66318 Input vln sin sinRotationUseful 0.76 sinRotationUseful 0.76 Both useful Present Pre-rename JavaScript · s66318 / vln ×
Declaration · line 2122 …
const vll = this._bufferH / 2 * this._scaleY;
const vlm = Math.cos(this._rotation),
vln = Math.sin(this._rotation);
const vlo = [{
id: "nw",
lx: -vlk,
ly: -vll
}, {
id: "n",
lx: 0,
ly: -vll
}, {
id: "ne",
lx: vlk,
ly: -vll
}, {
id: "e",
… Reference · line 2158 …
return vlo.map(vlp => ({
id: vlp.id,
x: this._tx + vlp.lx * vlm - vlp.ly * vln ,
y: this._ty + vlp.lx * vln + vlp.ly * vlm
}));
}
_getRotationHandle(vlq) {
const vlr = this._bufferH / 2 * this._scaleY;
const vls = Math.cos(this._rotation),
vlt = Math.sin(this._rotation);
const vlu = this._tx + vlr * vlt;
…
s66362 Input vlo pts handlesUseful 0.66 handlePointsUseful 0.79 Humanify better Present Pre-rename JavaScript · s66362 / vlo ×
Declaration · line 2123 …
const vlm = Math.cos(this._rotation),
vln = Math.sin(this._rotation);
const vlo = [{
id: "nw",
lx: -vlk,
ly: -vll
}, {
id: "n",
lx: 0,
ly: -vll
}, {
id: "ne",
lx: vlk,
ly: -vll
}, {
id: "e",
lx: vlk,
ly: 0
… Reference · line 2156 …
ly: vll
}, {
id: "w",
lx: -vlk,
ly: 0
}];
return vlo .map(vlp => ({
id: vlp.id,
x: this._tx + vlp.lx * vlm - vlp.ly * vln,
y: this._ty + vlp.lx * vln + vlp.ly * vlm
}));
}
_getRotationHandle(vlq) {
const vlr = this._bufferH / 2 * this._scaleY;
const vls = Math.cos(this._rotation),
…
s66881 Input vlp p pointUseful 0.79 vertexUseful 0.49 FlowName better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s66881 / vlp ×
Declaration · line 2156 …
}, {
id: "w",
lx: -vlk,
ly: 0
}];
return vlo.map(vlp => ({
id: vlp.id,
x: this._tx + vlp.lx * vlm - vlp.ly * vln,
y: this._ty + vlp.lx * vln + vlp.ly * vlm
}));
}
_getRotationHandle(vlq) {
const vlr = this._bufferH / 2 * this._scaleY;
const vls = Math.cos(this._rotation),
…
s67052 Input vlq zoom zoomUseful 0.83 zoomLevelUseful 0.75 Both useful Present Preference confidence is low. Pre-rename JavaScript · s67052 / vlq ×
Declaration · line 2162 …
y: this._ty + vlp.lx * vln + vlp.ly * vlm
}));
}
_getRotationHandle(vlq ) {
const vlr = this._bufferH / 2 * this._scaleY;
const vls = Math.cos(this._rotation),
vlt = Math.sin(this._rotation);
const vlu = this._tx + vlr * vlt;
const vlv = this._ty - vlr * vls;
const vlw = 25 / vlq;
…
s67071 Input vlr hh halfHeightUseful 0.84 halfHeightUseful 0.84 Both useful Present Pre-rename JavaScript · s67071 / vlr ×
Declaration · line 2163 …
y: this._ty + vlp.lx * vln + vlp.ly * vlm
}));
}
_getRotationHandle(vlq) {
const vlr = this._bufferH / 2 * this._scaleY;
const vls = Math.cos(this._rotation),
vlt = Math.sin(this._rotation);
const vlu = this._tx + vlr * vlt;
const vlv = this._ty - vlr * vls;
const vlw = 25 / vlq;
return {
…
s67123 Input vls cos cosRotationUseful 0.86 cosRotationUseful 0.86 Both useful Present Pre-rename JavaScript · s67123 / vls ×
Declaration · line 2164 …
_getRotationHandle(vlq) {
const vlr = this._bufferH / 2 * this._scaleY;
const vls = Math.cos(this._rotation),
vlt = Math.sin(this._rotation);
const vlu = this._tx + vlr * vlt;
const vlv = this._ty - vlr * vls;
const vlw = 25 / vlq;
return {
x: vlu + vlt * vlw,
y: vlv - vls * vlw
…
s67163 Input vlt sin sinRotationUseful 0.86 sinRotationUseful 0.86 Both useful Present Pre-rename JavaScript · s67163 / vlt ×
Declaration · line 2165 …
const vlr = this._bufferH / 2 * this._scaleY;
const vls = Math.cos(this._rotation),
vlt = Math.sin(this._rotation);
const vlu = this._tx + vlr * vlt;
const vlv = this._ty - vlr * vls;
const vlw = 25 / vlq;
return {
x: vlu + vlt * vlw,
y: vlv - vls * vlw
};
}
_isInsideBounds(vlx, vly) {
…
s67207 Input vlu topX handleXUseful 0.26 baseXUseful 0.28 Both poor Present Pre-rename JavaScript · s67207 / vlu ×
Declaration · line 2166 …
const vls = Math.cos(this._rotation),
vlt = Math.sin(this._rotation);
const vlu = this._tx + vlr * vlt;
const vlv = this._ty - vlr * vls;
const vlw = 25 / vlq;
return {
x: vlu + vlt * vlw,
y: vlv - vls * vlw
};
}
_isInsideBounds(vlx, vly) {
const vlz = vlx - this._tx,
…
s67247 Input vlv topY handleYUseful 0.55 tyCenteredUseful 0.24 FlowName better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s67247 / vlv ×
Declaration · line 2167 …
vlt = Math.sin(this._rotation);
const vlu = this._tx + vlr * vlt;
const vlv = this._ty - vlr * vls;
const vlw = 25 / vlq;
return {
x: vlu + vlt * vlw,
y: vlv - vls * vlw
};
}
_isInsideBounds(vlx, vly) {
const vlz = vlx - this._tx,
vm0 = vly - this._ty;
const vm1 = Math.cos(-this._rotation),
…
s67287 Input vlw offset scaledSizeUseful 0.09 offsetDistanceUseful 0.77 Humanify better Present Pre-rename JavaScript · s67287 / vlw ×
Declaration · line 2168 …
const vlu = this._tx + vlr * vlt;
const vlv = this._ty - vlr * vls;
const vlw = 25 / vlq;
return {
x: vlu + vlt * vlw,
y: vlv - vls * vlw
};
}
_isInsideBounds(vlx, vly) {
const vlz = vlx - this._tx,
vm0 = vly - this._ty;
const vm1 = Math.cos(-this._rotation),
…
s67408 Input vlx x xUseful 0.71 xUseful 0.71 Both useful Present Pre-rename JavaScript · s67408 / vlx ×
Declaration · line 2174 …
x: vlu + vlt * vlw,
y: vlv - vls * vlw
};
}
_isInsideBounds(vlx , vly) {
const vlz = vlx - this._tx,
vm0 = vly - this._ty;
const vm1 = Math.cos(-this._rotation),
vm2 = Math.sin(-this._rotation);
const vm3 = vlz * vm1 - vm0 * vm2;
const vm4 = vlz * vm2 + vm0 * vm1;
…
s67413 Input vly y yUseful 0.67 yUseful 0.67 Both useful Present Pre-rename JavaScript · s67413 / vly ×
Declaration · line 2174 …
x: vlu + vlt * vlw,
y: vlv - vls * vlw
};
}
_isInsideBounds(vlx, vly ) {
const vlz = vlx - this._tx,
vm0 = vly - this._ty;
const vm1 = Math.cos(-this._rotation),
vm2 = Math.sin(-this._rotation);
const vm3 = vlz * vm1 - vm0 * vm2;
const vm4 = vlz * vm2 + vm0 * vm1;
return Math.abs(vm3) <= this._bufferW / 2 * this._scaleX && Math.abs(vm4) <
…
s67432 Input vlz dx dxUseful 0.81 dxUseful 0.81 Both useful Present Pre-rename JavaScript · s67432 / vlz ×
Declaration · line 2175 …
x: vlu + vlt * vlw,
y: vlv - vls * vlw
};
}
_isInsideBounds(vlx, vly) {
const vlz = vlx - this._tx,
vm0 = vly - this._ty;
const vm1 = Math.cos(-this._rotation),
vm2 = Math.sin(-this._rotation);
const vm3 = vlz * vm1 - vm0 * vm2;
const vm4 = vlz * vm2 + vm0 * vm1;
return Math.abs(vm3) <= this._bufferW / 2 * this._scaleX && Math.abs(vm4) <= this._bufferH / 2
…
s67462 Input vm0 dy dyUseful 0.80 dyUseful 0.80 Both useful Present Pre-rename JavaScript · s67462 / vm0 ×
Declaration · line 2176 …
y: vlv - vls * vlw
};
}
_isInsideBounds(vlx, vly) {
const vlz = vlx - this._tx,
vm0 = vly - this._ty;
const vm1 = Math.cos(-this._rotation),
vm2 = Math.sin(-this._rotation);
const vm3 = vlz * vm1 - vm0 * vm2;
const vm4 = vlz * vm2 + vm0 * vm1;
return Math.abs(vm3) <= this._bufferW / 2 * this._scaleX && Math.abs(vm4) <= this._bufferH / 2 * this._scaleY;
…
s67496 Input vm1 cos cosRotUseful 0.78 cosRotationUseful 0.74 Humanify better Present Pre-rename JavaScript · s67496 / vm1 ×
Declaration · line 2177 …
_isInsideBounds(vlx, vly) {
const vlz = vlx - this._tx,
vm0 = vly - this._ty;
const vm1 = Math.cos(-this._rotation),
vm2 = Math.sin(-this._rotation);
const vm3 = vlz * vm1 - vm0 * vm2;
const vm4 = vlz * vm2 + vm0 * vm1;
return Math.abs(vm3) <= this._bufferW / 2 * this._scaleX && Math.abs(vm4) <= this._bufferH / 2 * this._scaleY;
…
s67537 Input vm2 sin sinRotUseful 0.81 sinRotationUseful 0.81 Humanify better Present Pre-rename JavaScript · s67537 / vm2 ×
Declaration · line 2178 …
const vlz = vlx - this._tx,
vm0 = vly - this._ty;
const vm1 = Math.cos(-this._rotation),
vm2 = Math.sin(-this._rotation);
const vm3 = vlz * vm1 - vm0 * vm2;
const vm4 = vlz * vm2 + vm0 * vm1;
return Math.abs(vm3) <= this._bufferW / 2 * this._scaleX && Math.abs(vm4) <= this._bufferH / 2 * this._scaleY;
}
_hitTest(vm5, vm6, vm7) {
…
s67582 Input vm3 lx rxUseful 0.21 localXUseful 0.84 Humanify better Present Pre-rename JavaScript · s67582 / vm3 ×
Declaration · line 2179 …
const vm1 = Math.cos(-this._rotation),
vm2 = Math.sin(-this._rotation);
const vm3 = vlz * vm1 - vm0 * vm2;
const vm4 = vlz * vm2 + vm0 * vm1;
return Math.abs(vm3) <= this._bufferW / 2 * this._scaleX && Math.abs(vm4) <= this._bufferH / 2 * this._scaleY;
}
_hitTest(vm5, vm6, vm7) {
const vm8 = vm5.zoom;
…
s67623 Input vm4 ly ryUseful 0.40 transformedYUseful 0.71 Humanify better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s67623 / vm4 ×
Declaration · line 2180 …
vm2 = Math.sin(-this._rotation);
const vm3 = vlz * vm1 - vm0 * vm2;
const vm4 = vlz * vm2 + vm0 * vm1;
return Math.abs(vm3) <= this._bufferW / 2 * this._scaleX && Math.abs(vm4) <= this._bufferH / 2 * this._scaleY;
}
_hitTest(vm5, vm6, vm7) {
const vm8 = vm5.zoom;
const vm9 = 7;
const vma = vm6 * vm8 + vm5.panX,
…
s67788 Input vm5 doc viewportUseful 0.15 viewportUseful 0.15 Both poor Present Pre-rename JavaScript · s67788 / vm5 ×
Declaration · line 2183 …
return Math.abs(vm3) <= this._bufferW / 2 * this._scaleX && Math.abs(vm4) <= this._bufferH / 2 * this._scaleY;
}
_hitTest(vm5 , vm6, vm7) {
const vm8 = vm5.zoom;
const vm9 = 7;
const vma = vm6 * vm8 + vm5.panX,
vmb = vm7 * vm8 + vm5.panY;
const vmc = this._getRotationHandle(vm8);
const vmd = vmc.x * vm8 + vm5.panX,
vme = vmc.y * vm8 + vm5.panY;
… Reference · line 2195 …
mode: "rotate"
};
for (const vmf of this._getHandles()) {
const vmg = vmf.x * vm8 + vm5 .panX,
vmh = vmf.y * vm8 + vm5.panY;
if (Math.abs(vma - vmg) < vm9 && Math.abs(vmb - vmh) < vm9) return {
mode: "handle",
handle: vmf
};
}
if (this._isInsideBounds(vm6, vm7)) return {
…
s67793 Input vm6 x xUseful 0.57 mouseXUseful 0.53 Both useful Present Usefulness probability is near the provisional 0.5 boundary. Preference confidence is low. Pre-rename JavaScript · s67793 / vm6 ×
Declaration · line 2183 …
return Math.abs(vm3) <= this._bufferW / 2 * this._scaleX && Math.abs(vm4) <= this._bufferH / 2 * this._scaleY;
}
_hitTest(vm5, vm6 , vm7) {
const vm8 = vm5.zoom;
const vm9 = 7;
const vma = vm6 * vm8 + vm5.panX,
vmb = vm7 * vm8 + vm5.panY;
const vmc = this._getRotationHandle(vm8);
const vmd = vmc.x * vm8 + vm5.panX,
vme = vmc.y * vm8 + vm5.panY;
… Reference · line 2202 …
mode: "handle",
handle: vmf
};
}
if (this._isInsideBounds(vm6 , vm7)) return {
mode: "move"
};
return null;
}
_cutContent(vmi) {
const vmj = vmi.activeLayer;
if (!vmj || !vmj.visible) return false;
vmi.saveStructureState("Move");
const vmk = vmi.selection;
…
s67798 Input vm7 y yUseful 0.61 yUseful 0.61 Both useful Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s67798 / vm7 ×
Declaration · line 2183 …
return Math.abs(vm3) <= this._bufferW / 2 * this._scaleX && Math.abs(vm4) <= this._bufferH / 2 * this._scaleY;
}
_hitTest(vm5, vm6, vm7 ) {
const vm8 = vm5.zoom;
const vm9 = 7;
const vma = vm6 * vm8 + vm5.panX,
vmb = vm7 * vm8 + vm5.panY;
const vmc = this._getRotationHandle(vm8);
const vmd = vmc.x * vm8 + vm5.panX,
vme = vmc.y * vm8 + vm5.panY;
… Reference · line 2202 …
mode: "handle",
handle: vmf
};
}
if (this._isInsideBounds(vm6, vm7 )) return {
mode: "move"
};
return null;
}
_cutContent(vmi) {
const vmj = vmi.activeLayer;
if (!vmj || !vmj.visible) return false;
vmi.saveStructureState("Move");
const vmk = vmi.selection;
…
s67817 Input vm8 z zoomUseful 0.81 zoomLevelUseful 0.78 FlowName better Present Pre-rename JavaScript · s67817 / vm8 ×
Declaration · line 2184 …
return Math.abs(vm3) <= this._bufferW / 2 * this._scaleX && Math.abs(vm4) <= this._bufferH / 2 * this._scaleY;
}
_hitTest(vm5, vm6, vm7) {
const vm8 = vm5.zoom;
const vm9 = 7;
const vma = vm6 * vm8 + vm5.panX,
vmb = vm7 * vm8 + vm5.panY;
const vmc = this._getRotationHandle(vm8);
const vmd = vmc.x * vm8 + vm5.panX,
vme = vmc.y * vm8 + vm5.panY;
… Reference · line 2195 …
mode: "rotate"
};
for (const vmf of this._getHandles()) {
const vmg = vmf.x * vm8 + vm5.panX,
vmh = vmf.y * vm8 + vm5.panY;
if (Math.abs(vma - vmg) < vm9 && Math.abs(vmb - vmh) < vm9) return {
mode: "handle",
handle: vmf
};
}
if (this._isInsideBounds(vm6, vm7)) return {
…
s67845 Input vm9 threshold hitRadiusUseful 0.68 hitToleranceUseful 0.79 Both useful Present Preference confidence is low. Pre-rename JavaScript · s67845 / vm9 ×
Declaration · line 2185 …
s._bufferW / 2 * this._scaleX && Math.abs(vm4) <= this._bufferH / 2 * this._scaleY;
}
_hitTest(vm5, vm6, vm7) {
const vm8 = vm5.zoom;
const vm9 = 7;
const vma = vm6 * vm8 + vm5.panX,
vmb = vm7 * vm8 + vm5.panY;
const vmc = this._getRotationHandle(vm8);
const vmd = vmc.x * vm8 + vm5.panX,
vme = vmc.y * vm8 + vm5.panY;
if (Math.hypot(vma - vmd, vmb - vme) < vm9) return {
… Reference · line 2197 …
const vmg = vmf.x * vm8 + vm5.panX,
vmh = vmf.y * vm8 + vm5.panY;
if (Math.abs(vma - vmg) < vm9 && Math.abs(vmb - vmh) < vm9) return {
mode: "handle",
handle: vmf
};
}
if (this._isInsideBounds(vm6, vm7)) return {
mode: "move"
};
return null;
}
_cutContent(vmi) {
const vmj = vmi.activeLayer;
…
s67866 Input vma smx transformedXUseful 0.80 transformedXUseful 0.80 Both useful Present Pre-rename JavaScript · s67866 / vma ×
Declaration · line 2186 …
_hitTest(vm5, vm6, vm7) {
const vm8 = vm5.zoom;
const vm9 = 7;
const vma = vm6 * vm8 + vm5.panX,
vmb = vm7 * vm8 + vm5.panY;
const vmc = this._getRotationHandle(vm8);
const vmd = vmc.x * vm8 + vm5.panX,
vme = vmc.y * vm8 + vm5.panY;
if (Math.hypot(vma - vmd, vmb - vme) < vm9) return {
… Reference · line 2197 …
const vmg = vmf.x * vm8 + vm5.panX,
vmh = vmf.y * vm8 + vm5.panY;
if (Math.abs(vma - vmg) < vm9 && Math.abs(vmb - vmh) < vm9) return {
mode: "handle",
handle: vmf
};
}
if (this._isInsideBounds(vm6, vm7)) return {
mode: "move"
};
return null;
}
_cutContent(vmi) {
…
s67902 Input vmb smy transformedYUseful 0.76 screenYUseful 0.39 FlowName better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s67902 / vmb ×
Declaration · line 2187 …
const vm8 = vm5.zoom;
const vm9 = 7;
const vma = vm6 * vm8 + vm5.panX,
vmb = vm7 * vm8 + vm5.panY;
const vmc = this._getRotationHandle(vm8);
const vmd = vmc.x * vm8 + vm5.panX,
vme = vmc.y * vm8 + vm5.panY;
if (Math.hypot(vma - vmd, vmb - vme) < vm9) return {
mode: "rotate"
};
… Reference · line 2197 …
vmh = vmf.y * vm8 + vm5.panY;
if (Math.abs(vma - vmg) < vm9 && Math.abs(vmb - vmh) < vm9) return {
mode: "handle",
handle: vmf
};
}
if (this._isInsideBounds(vm6, vm7)) return {
mode: "move"
};
return null;
}
_cutContent(vmi) {
const vmj = vmi.activeLayer;
…
s67942 Input vmc rh rotationHandleUseful 0.90 rotationHandleUseful 0.90 Both useful Present Pre-rename JavaScript · s67942 / vmc ×
Declaration · line 2188 …
const vm9 = 7;
const vma = vm6 * vm8 + vm5.panX,
vmb = vm7 * vm8 + vm5.panY;
const vmc = this._getRotationHandle(vm8);
const vmd = vmc.x * vm8 + vm5.panX,
vme = vmc.y * vm8 + vm5.panY;
if (Math.hypot(vma - vmd, vmb - vme) < vm9) return {
mode: "rotate"
};
for (const vmf of this._getHandles()) {
…
s67990 Input vmd rhx rotationHandleXUseful 0.51 rotationHandleScreenXUseful 0.72 Both useful Present Usefulness probability is near the provisional 0.5 boundary. Preference confidence is low. Pre-rename JavaScript · s67990 / vmd ×
Declaration · line 2189 …
vmb = vm7 * vm8 + vm5.panY;
const vmc = this._getRotationHandle(vm8);
const vmd = vmc.x * vm8 + vm5.panX,
vme = vmc.y * vm8 + vm5.panY;
if (Math.hypot(vma - vmd, vmb - vme) < vm9) return {
mode: "rotate"
};
for (const vmf of this._getHandles()) {
const vmg = vmf.x * vm8 + vm5.panX,
…
s68028 Input vme rhy rotationHandleYUseful 0.38 rotationHandleScreenYUseful 0.70 Humanify better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s68028 / vme ×
Declaration · line 2190 …
const vmc = this._getRotationHandle(vm8);
const vmd = vmc.x * vm8 + vm5.panX,
vme = vmc.y * vm8 + vm5.panY;
if (Math.hypot(vma - vmd, vmb - vme) < vm9) return {
mode: "rotate"
};
for (const vmf of this._getHandles()) {
const vmg = vmf.x * vm8 + vm5.panX,
vmh = vmf.y * vm8 + vm5.panY;
…
s68166 Input vmf h handleUseful 0.48 handleUseful 0.48 Both poor Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s68166 / vmf ×
Declaration · line 2194 …
if (Math.hypot(vma - vmd, vmb - vme) < vm9) return {
mode: "rotate"
};
for (const vmf of this._getHandles()) {
const vmg = vmf.x * vm8 + vm5.panX,
vmh = vmf.y * vm8 + vm5.panY;
if (Math.abs(vma - vmg) < vm9 && Math.abs(vmb - vmh) < vm9) return {
mode: "handle",
handle: vmf
};
…
s68209 Input vmg sx handleScreenXUseful 0.73 targetXUseful 0.40 FlowName better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s68209 / vmg ×
Declaration · line 2195 …
mode: "rotate"
};
for (const vmf of this._getHandles()) {
const vmg = vmf.x * vm8 + vm5.panX,
vmh = vmf.y * vm8 + vm5.panY;
if (Math.abs(vma - vmg) < vm9 && Math.abs(vmb - vmh) < vm9) return {
mode: "handle",
handle: vmf
};
}
if (this._isInsideBounds(vm6, vm7)) return {
…
s68249 Input vmh sy handleScreenYUseful 0.69 targetYUseful 0.37 FlowName better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s68249 / vmh ×
Declaration · line 2196 …
for (const vmf of this._getHandles()) {
const vmg = vmf.x * vm8 + vm5.panX,
vmh = vmf.y * vm8 + vm5.panY;
if (Math.abs(vma - vmg) < vm9 && Math.abs(vmb - vmh) < vm9) return {
mode: "handle",
handle: vmf
};
}
if (this._isInsideBounds(vm6, vm7)) return {
mode: "move"
…
s68545 Input vmi doc editorUseful 0.23 editorUseful 0.23 Both poor Present Pre-rename JavaScript · s68545 / vmi ×
Declaration · line 2207 …
if (this._isInsideBounds(vm6, vm7)) return {
mode: "move"
};
return null;
}
_cutContent(vmi ) {
const vmj = vmi.activeLayer;
if (!vmj || !vmj.visible) return false;
vmi.saveStructureState("Move");
const vmk = vmi.selection;
this._hadSelection = vmk.active;
let vml, vmm, vmn, vmo;
if (vmk.active && vmk.bounds) {
… Reference · line 2255 …
vmj.ctx.clearRect(vml, vmm, vmn, vmo);
}
} else {
vml = 0;
vmm = 0;
vmn = vmi .width;
vmo = vmi.height;
this._buffer = document.createElement("canvas");
this._buffer.width = vmn;
this._buffer.height = vmo;
this._buffer.getContext("2d").drawImage(vmj.canvas, 0, 0);
vmj.clear();
…
s68564 Input vmj layer activeLayerUseful 0.76 activeLayerUseful 0.76 Both useful Present Pre-rename JavaScript · s68564 / vmj ×
Declaration · line 2208 …
mode: "move"
};
return null;
}
_cutContent(vmi) {
const vmj = vmi.activeLayer;
if (!vmj || !vmj.visible) return false;
vmi.saveStructureState("Move");
const vmk = vmi.selection;
this._hadSelection = vmk.active;
let vml, vmm, vmn, vmo;
if (vmk.active && vmk.bounds) {
… Reference · line 2225 …
this._buffer.height = vmo;
const vmp = this._buffer.getContext("2d");
vmp.drawImage(vmj .canvas, vml, vmm, vmn, vmo, 0, 0, vmn, vmo);
if (vmk.mask) {
const vmq = vmp.getImageData(0, 0, vmn, vmo);
const vmr = vmj.ctx.getImageData(vml, vmm, vmn, vmo);
const vms = vmq.data,
vmt = vmr.data;
…
s68683 Input vmk sel selectionUseful 0.93 selectionUseful 0.93 Both useful Present Pre-rename JavaScript · s68683 / vmk ×
Declaration · line 2211 …
if (!vmj || !vmj.visible) return false;
vmi.saveStructureState("Move");
const vmk = vmi.selection;
this._hadSelection = vmk.active;
let vml, vmm, vmn, vmo;
if (vmk.active && vmk.bounds) {
({
x: vml,
y: vmm,
w: vmn,
h: vmo
} = vmk.bounds);
this._buffer = document.createElement("canvas");
… Reference · line 2226 …
const vmp = this._buffer.getContext("2d");
vmp.drawImage(vmj.canvas, vml, vmm, vmn, vmo, 0, 0, vmn, vmo);
if (vmk .mask) {
const vmq = vmp.getImageData(0, 0, vmn, vmo);
const vmr = vmj.ctx.getImageData(vml, vmm, vmn, vmo);
const vms = vmq.data,
vmt = vmr.data;
for (let vmu = 0; vmu < vmo; vmu++) {
for (let vmv = 0; vmv < vmn; vmv++) {
…
s68753 Input vml sx selectionXUseful 0.80 selectionXUseful 0.80 Both useful Present Pre-rename JavaScript · s68753 / vml ×
Declaration · line 2213 …
vmi.saveStructureState("Move");
const vmk = vmi.selection;
this._hadSelection = vmk.active;
let vml , vmm, vmn, vmo;
if (vmk.active && vmk.bounds) {
({
x: vml,
y: vmm,
w: vmn,
h: vmo
} = vmk.bounds);
this._buffer = document.createElement("canvas");
this._buffer.width = vmn;
… Reference · line 2225 …
this._buffer.height = vmo;
const vmp = this._buffer.getContext("2d");
vmp.drawImage(vmj.canvas, vml , vmm, vmn, vmo, 0, 0, vmn, vmo);
if (vmk.mask) {
const vmq = vmp.getImageData(0, 0, vmn, vmo);
const vmr = vmj.ctx.getImageData(vml, vmm, vmn, vmo);
const vms = vmq.data,
vmt = vmr.data;
…
s68758 Input vmm sy selectionYUseful 0.73 selectionYUseful 0.73 Both useful Present Pre-rename JavaScript · s68758 / vmm ×
Declaration · line 2213 …
vmi.saveStructureState("Move");
const vmk = vmi.selection;
this._hadSelection = vmk.active;
let vml, vmm , vmn, vmo;
if (vmk.active && vmk.bounds) {
({
x: vml,
y: vmm,
w: vmn,
h: vmo
} = vmk.bounds);
this._buffer = document.createElement("canvas");
this._buffer.width = vmn;
… Reference · line 2225 …
const vmp = this._buffer.getContext("2d");
vmp.drawImage(vmj.canvas, vml, vmm , vmn, vmo, 0, 0, vmn, vmo);
if (vmk.mask) {
const vmq = vmp.getImageData(0, 0, vmn, vmo);
const vmr = vmj.ctx.getImageData(vml, vmm, vmn, vmo);
const vms = vmq.data,
vmt = vmr.data;
for (let vmu = 0; vmu < vmo; vmu++) {
…
s68763 Input vmn sw selectionWidthUseful 0.81 selectionWidthUseful 0.81 Both useful Present Pre-rename JavaScript · s68763 / vmn ×
Declaration · line 2213 …
const vmk = vmi.selection;
this._hadSelection = vmk.active;
let vml, vmm, vmn , vmo;
if (vmk.active && vmk.bounds) {
({
x: vml,
y: vmm,
w: vmn,
h: vmo
} = vmk.bounds);
this._buffer = document.createElement("canvas");
this._buffer.width = vmn;
… Reference · line 2225 …
const vmp = this._buffer.getContext("2d");
vmp.drawImage(vmj.canvas, vml, vmm, vmn , vmo, 0, 0, vmn, vmo);
if (vmk.mask) {
const vmq = vmp.getImageData(0, 0, vmn, vmo);
const vmr = vmj.ctx.getImageData(vml, vmm, vmn, vmo);
const vms = vmq.data,
vmt = vmr.data;
for (let vmu = 0; vmu < vmo; vmu++) {
…
s68768 Input vmo sh selectionHeightUseful 0.79 selectionHeightUseful 0.79 Both useful Present Pre-rename JavaScript · s68768 / vmo ×
Declaration · line 2213 …
const vmk = vmi.selection;
this._hadSelection = vmk.active;
let vml, vmm, vmn, vmo ;
if (vmk.active && vmk.bounds) {
({
x: vml,
y: vmm,
w: vmn,
h: vmo
} = vmk.bounds);
this._buffer = document.createElement("canvas");
this._buffer.width = vmn;
… Reference · line 2223 …
this._buffer = document.createElement("canvas");
this._buffer.width = vmn;
this._buffer.height = vmo ;
const vmp = this._buffer.getContext("2d");
vmp.drawImage(vmj.canvas, vml, vmm, vmn, vmo, 0, 0, vmn, vmo);
if (vmk.mask) {
const vmq = vmp.getImageData(0, 0, vmn, vmo);
const vmr = vmj.ctx.getImageData(vml, vmm, vmn, vmo);
…
s69058 Input vmp bctx context2DUseful 0.74 bufferContextUseful 0.86 Both useful Present Preference confidence is low. Pre-rename JavaScript · s69058 / vmp ×
Declaration · line 2224 …
this._buffer = document.createElement("canvas");
this._buffer.width = vmn;
this._buffer.height = vmo;
const vmp = this._buffer.getContext("2d");
vmp.drawImage(vmj.canvas, vml, vmm, vmn, vmo, 0, 0, vmn, vmo);
if (vmk.mask) {
const vmq = vmp.getImageData(0, 0, vmn, vmo);
const vmr = vmj.ctx.getImageData(vml, vmm, vmn, vmo);
… Reference · line 2247 …
vms[vmw + 2] = 0;
vms[vmw + 3] = 0;
}
}
}
vmp .putImageData(vmq, 0, 0);
vmj.ctx.putImageData(vmr, vml, vmm);
} else {
vmj.ctx.clearRect(vml, vmm, vmn, vmo);
}
} else {
vml = 0;
vmm = 0;
vmn = vmi.width;
vmo = vmi.height;
…
s69206 Input vmq bufData maskImageDataUseful 0.30 sourceImageDataUseful 0.43 Both poor Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s69206 / vmq ×
Declaration · line 2227 …
vmp.drawImage(vmj.canvas, vml, vmm, vmn, vmo, 0, 0, vmn, vmo);
if (vmk.mask) {
const vmq = vmp.getImageData(0, 0, vmn, vmo);
const vmr = vmj.ctx.getImageData(vml, vmm, vmn, vmo);
const vms = vmq.data,
vmt = vmr.data;
for (let vmu = 0; vmu < vmo; vmu++) {
for (let vmv = 0; vmv < vmn; vmv++) {
… Reference · line 2247 …
vms[vmw + 3] = 0;
}
}
}
vmp.putImageData(vmq , 0, 0);
vmj.ctx.putImageData(vmr, vml, vmm);
} else {
vmj.ctx.clearRect(vml, vmm, vmn, vmo);
}
} else {
vml = 0;
vmm = 0;
vmn = vmi.width;
vmo = vmi.height;
this._buffer = document.createElement("canvas");
…
s69262 Input vmr layerData layerImageDataUseful 0.83 targetImageDataUseful 0.33 FlowName better Present Pre-rename JavaScript · s69262 / vmr ×
Declaration · line 2228 …
if (vmk.mask) {
const vmq = vmp.getImageData(0, 0, vmn, vmo);
const vmr = vmj.ctx.getImageData(vml, vmm, vmn, vmo);
const vms = vmq.data,
vmt = vmr.data;
for (let vmu = 0; vmu < vmo; vmu++) {
for (let vmv = 0; vmv < vmn; vmv++) {
const vmw = (vmu * vmn + vmv) * 4;
… Reference · line 2248 …
}
}
vmp.putImageData(vmq, 0, 0);
vmj.ctx.putImageData(vmr , vml, vmm);
} else {
vmj.ctx.clearRect(vml, vmm, vmn, vmo);
}
} else {
vml = 0;
vmm = 0;
vmn = vmi.width;
vmo = vmi.height;
this._buffer = document.createElement("canvas");
…
s69326 Input vms bd maskDataUseful 0.32 sourceImageData2Useful 0.25 Both poor Present Pre-rename JavaScript · s69326 / vms ×
Declaration · line 2229 …
const vmq = vmp.getImageData(0, 0, vmn, vmo);
const vmr = vmj.ctx.getImageData(vml, vmm, vmn, vmo);
const vms = vmq.data,
vmt = vmr.data;
for (let vmu = 0; vmu < vmo; vmu++) {
for (let vmv = 0; vmv < vmn; vmv++) {
const vmw = (vmu * vmn + vmv) * 4;
if (vmk.isSelected(vmv + vml, vmu + vmm)) {
… Reference · line 2240 …
vmt[vmw + 2] = 0;
vmt[vmw + 3] = 0;
} else {
vms [vmw] = 0;
vms[vmw + 1] = 0;
vms[vmw + 2] = 0;
vms[vmw + 3] = 0;
}
}
}
vmp.putImageData(vmq, 0, 0);
vmj.ctx.putImageData(vmr, vml, vmm);
…
s69354 Input vmt ld layerDataUseful 0.85 targetDataUseful 0.15 FlowName better Present Pre-rename JavaScript · s69354 / vmt ×
Declaration · line 2230 …
const vmr = vmj.ctx.getImageData(vml, vmm, vmn, vmo);
const vms = vmq.data,
vmt = vmr.data;
for (let vmu = 0; vmu < vmo; vmu++) {
for (let vmv = 0; vmv < vmn; vmv++) {
const vmw = (vmu * vmn + vmv) * 4;
if (vmk.isSelected(vmv + vml, vmu + vmm)) {
vmt[vmw] = 0;
… Reference · line 2236 …
if (vmk.isSelected(vmv + vml, vmu + vmm)) {
vmt[vmw] = 0;
vmt [vmw + 1] = 0;
vmt[vmw + 2] = 0;
vmt[vmw + 3] = 0;
} else {
vms[vmw] = 0;
vms[vmw + 1] = 0;
vms[vmw + 2] = 0;
vms[vmw + 3] = 0;
…
s69389 Input vmu row rowUseful 0.84 yUseful 0.71 FlowName better Present Pre-rename JavaScript · s69389 / vmu ×
Declaration · line 2231 …
const vmr = vmj.ctx.getImageData(vml, vmm, vmn, vmo);
const vms = vmq.data,
vmt = vmr.data;
for (let vmu = 0; vmu < vmo; vmu++) {
for (let vmv = 0; vmv < vmn; vmv++) {
const vmw = (vmu * vmn + vmv) * 4;
if (vmk.isSelected(vmv + vml, vmu + vmm)) {
vmt[vmw] = 0;
vmt[vmw + 1] = 0;
…
s69439 Input vmv col colUseful 0.90 colIndexUseful 0.82 Both useful Present Preference confidence is low. Pre-rename JavaScript · s69439 / vmv ×
Declaration · line 2232 …
vmt = vmr.data;
for (let vmu = 0; vmu < vmo; vmu++) {
for (let vmv = 0; vmv < vmn; vmv++) {
const vmw = (vmu * vmn + vmv) * 4;
if (vmk.isSelected(vmv + vml, vmu + vmm)) {
vmt[vmw] = 0;
vmt[vmw + 1] = 0;
vmt[vmw + 2] = 0;
vmt[vmw + 3] = 0;
…
s69488 Input vmw pi pixelIndexUseful 0.92 pixelIndexUseful 0.92 Both useful Present Pre-rename JavaScript · s69488 / vmw ×
Declaration · line 2233 …
for (let vmu = 0; vmu < vmo; vmu++) {
for (let vmv = 0; vmv < vmn; vmv++) {
const vmw = (vmu * vmn + vmv) * 4;
if (vmk.isSelected(vmv + vml, vmu + vmm)) {
vmt[vmw] = 0;
vmt[vmw + 1] = 0;
vmt[vmw + 2] = 0;
vmt[vmw + 3] = 0;
} else {
… Reference · line 2240 …
vmt[vmw + 2] = 0;
vmt[vmw + 3] = 0;
} else {
vms[vmw ] = 0;
vms[vmw + 1] = 0;
vms[vmw + 2] = 0;
vms[vmw + 3] = 0;
}
}
}
vmp.putImageData(vmq, 0, 0);
vmj.ctx.putImageData(vmr, vml, vmm);
} else {
…
s70772 Input vmx doc docUseful 0.81 documentUseful 0.47 FlowName better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s70772 / vmx ×
Declaration · line 2277 …
return true;
}
commit() {
if (!this._active || !this._buffer) return;
const vmx = v4i._app?.doc;
if (!vmx) return;
const vmy = this._sourceLayer || vmx.activeLayer;
const vmz = this._hadSelection;
if (this._rotation === 0 && this._scaleX === 1 && this._scaleY === 1) {
const vn0 = this._snapCenterForPixelMove(this._tx, this._ty);
… Reference · line 2298 …
vn1.imageSmoothingEnabled = false;
if (vmz) {
const vn3 = this._getClippedTransformBounds(vmx );
if (vn3.w > 0 && vn3.h > 0) vmx.selection.setRect(vn3.x, vn3.y, vn3.w, vn3.h);else vmx.selection.clear();
}
this._buffer = null;
this._active = false;
this._sourceLayer = null;
this._hadSelection = false;
…
s70829 Input vmy layer targetLayerUseful 0.18 targetLayerUseful 0.18 Both poor Present Pre-rename JavaScript · s70829 / vmy ×
Declaration · line 2279 …
if (!this._active || !this._buffer) return;
const vmx = v4i._app?.doc;
if (!vmx) return;
const vmy = this._sourceLayer || vmx.activeLayer;
const vmz = this._hadSelection;
if (this._rotation === 0 && this._scaleX === 1 && this._scaleY === 1) {
const vn0 = this._snapCenterForPixelMove(this._tx, this._ty);
this._tx = vn0.x;
… Reference · line 2286 …
const vn0 = this._snapCenterForPixelMove(this._tx, this._ty);
this._tx = vn0.x;
this._ty = vn0.y;
}
const vn1 = vmy .ctx;
const vn2 = v4i._interpolation || "nearest";
vn1.imageSmoothingEnabled = vn2 !== "nearest";
if (vn2 === "bicubic") vn1.imageSmoothingQuality = "high";else vn1.imageSmoothingQuality = "low";
vn1.save();
vn1.translate(this._tx, this._ty);
…
s70885 Input vmz hadSelection hadSelectionUseful 0.85 hadSelectionUseful 0.85 Both useful Present Pre-rename JavaScript · s70885 / vmz ×
Declaration · line 2280 …
if (!vmx) return;
const vmy = this._sourceLayer || vmx.activeLayer;
const vmz = this._hadSelection;
if (this._rotation === 0 && this._scaleX === 1 && this._scaleY === 1) {
const vn0 = this._snapCenterForPixelMove(this._tx, this._ty);
this._tx = vn0.x;
this._ty = vn0.y;
}
const vn1 = vmy.ctx;
… Reference · line 2297 …
vn1.drawImage(this._buffer, -this._bufferW / 2, -this._bufferH / 2);
vn1.restore();
vn1.imageSmoothingEnabled = false;
if (vmz ) {
const vn3 = this._getClippedTransformBounds(vmx);
if (vn3.w > 0 && vn3.h > 0) vmx.selection.setRect(vn3.x, vn3.y, vn3.w, vn3.h);else vmx.selection.clear();
}
this._buffer = null;
this._active = false;
…
s71003 Input vn0 snapped snappedUseful 0.78 snappedPositionUseful 0.75 Both useful Present Preference confidence is low. Pre-rename JavaScript · s71003 / vn0 ×
Declaration · line 2282 …
if (this._rotation === 0 && this._scaleX === 1 && this._scaleY === 1) {
const vn0 = this._snapCenterForPixelMove(this._tx, this._ty);
this._tx = vn0.x;
this._ty = vn0.y;
}
const vn1 = vmy.ctx;
const vn2 = v4i._interpolation || "nearest";
vn1.imageSmoothingEnabled = vn2 !== "nearest";
…
s71131 Input vn1 ctx ctxUseful 0.84 layerContextUseful 0.80 Both useful Present Preference confidence is low. Pre-rename JavaScript · s71131 / vn1 ×
Declaration · line 2286 …
const vn0 = this._snapCenterForPixelMove(this._tx, this._ty);
this._tx = vn0.x;
this._ty = vn0.y;
}
const vn1 = vmy.ctx;
const vn2 = v4i._interpolation || "nearest";
vn1.imageSmoothingEnabled = vn2 !== "nearest";
if (vn2 === "bicubic") vn1.imageSmoothingQuality = "high";else vn1.imageSmoothingQuality = "low";
vn1.save();
… Reference · line 2291 …
if (vn2 === "bicubic") vn1.imageSmoothingQuality = "high";else vn1.imageSmoothingQuality = "low";
vn1.save();
vn1 .translate(this._tx, this._ty);
vn1.rotate(this._rotation);
vn1.scale(this._scaleX, this._scaleY);
vn1.drawImage(this._buffer, -this._bufferW / 2, -this._bufferH / 2);
vn1.restore();
vn1.imageSmoothingEnabled = false;
…
s71158 Input vn2 interp interpolationUseful 0.92 interpolationMethodUseful 0.65 FlowName better Present Pre-rename JavaScript · s71158 / vn2 ×
Declaration · line 2287 …
this._tx = vn0.x;
this._ty = vn0.y;
}
const vn1 = vmy.ctx;
const vn2 = v4i._interpolation || "nearest";
vn1.imageSmoothingEnabled = vn2 !== "nearest";
if (vn2 === "bicubic") vn1.imageSmoothingQuality = "high";else vn1.imageSmoothingQuality = "low";
vn1.save();
vn1.translate(this._tx, this._ty);
…
s71660 Input vn3 b clippedBoundsUseful 0.77 boundsUseful 0.56 FlowName better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s71660 / vn3 ×
Declaration · line 2298 …
vn1.restore();
vn1.imageSmoothingEnabled = false;
if (vmz) {
const vn3 = this._getClippedTransformBounds(vmx);
if (vn3.w > 0 && vn3.h > 0) vmx.selection.setRect(vn3.x, vn3.y, vn3.w, vn3.h);else vmx.selection.clear();
}
this._buffer = null;
this._active = false;
this._sourceLayer = null;
…
s72196 Input vn4 doc activeDocumentUseful 0.62 currentDocumentUseful 0.68 Unsure Present Usefulness probability is near the provisional 0.5 boundary. Preference could not be determined. Preference confidence is low. Pre-rename JavaScript · s72196 / vn4 ×
Declaration · line 2314 …
this._dragging = false;
this._sourceLayer = null;
this._hadSelection = false;
const vn4 = v4i._app?.doc;
if (vn4) vn4.undo();
v4i.emit("canvas:dirty");
}
onPointerDown(vn5, vn6, vn7, vn8) {
if (this._active && this._buffer) {
const vn9 = this._hitTest(vn5, vn6, vn7);
if (vn9) {
this._dragging = true;
…
s72300 Input vn5 doc eventUseful 0.76 eventUseful 0.76 Both useful Present Pre-rename JavaScript · s72300 / vn5 ×
Declaration · line 2318 …
const vn4 = v4i._app?.doc;
if (vn4) vn4.undo();
v4i.emit("canvas:dirty");
}
onPointerDown(vn5 , vn6, vn7, vn8) {
if (this._active && this._buffer) {
const vn9 = this._hitTest(vn5, vn6, vn7);
if (vn9) {
this._dragging = true;
this._dragMode = vn9.mode;
this._dragHandle = vn9.handle || null;
… Reference · line 2339 …
return;
}
this.commit();
}
const vna = this._hitTestSelection(vn5 , vn6, vn7);
if (this._cutContent(vn5)) {
this._dragging = true;
this._dragStartX = vn6;
this._dragStartY = vn7;
this._dragStartTx = this._tx;
this._dragStartTy = this._ty;
this._dragStartScaleX = this._scaleX;
…
s72305 Input vn6 x xUseful 0.70 pointerYUseful 0.14 FlowName better Present Pre-rename JavaScript · s72305 / vn6 ×
Declaration · line 2318 …
const vn4 = v4i._app?.doc;
if (vn4) vn4.undo();
v4i.emit("canvas:dirty");
}
onPointerDown(vn5, vn6 , vn7, vn8) {
if (this._active && this._buffer) {
const vn9 = this._hitTest(vn5, vn6, vn7);
if (vn9) {
this._dragging = true;
this._dragMode = vn9.mode;
this._dragHandle = vn9.handle || null;
… Reference · line 2325 …
this._dragMode = vn9.mode;
this._dragHandle = vn9.handle || null;
this._dragStartX = vn6 ;
this._dragStartY = vn7;
this._dragStartTx = this._tx;
this._dragStartTy = this._ty;
this._dragStartScaleX = this._scaleX;
this._dragStartScaleY = this._scaleY;
this._dragStartRotation = this._rotation;
…
s72310 Input vn7 y yUseful 0.56 clientYUseful 0.45 FlowName better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s72310 / vn7 ×
Declaration · line 2318 …
if (vn4) vn4.undo();
v4i.emit("canvas:dirty");
}
onPointerDown(vn5, vn6, vn7 , vn8) {
if (this._active && this._buffer) {
const vn9 = this._hitTest(vn5, vn6, vn7);
if (vn9) {
this._dragging = true;
this._dragMode = vn9.mode;
this._dragHandle = vn9.handle || null;
… Reference · line 2326 …
this._dragHandle = vn9.handle || null;
this._dragStartX = vn6;
this._dragStartY = vn7 ;
this._dragStartTx = this._tx;
this._dragStartTy = this._ty;
this._dragStartScaleX = this._scaleX;
this._dragStartScaleY = this._scaleY;
this._dragStartRotation = this._rotation;
if (vn9.mode === "rotate") {
…
s72315 Input vn8 e pointerIdUseful 0.32 event2Useful 0.29 Both poor Present Pre-rename JavaScript · s72315 / vn8 ×
Declaration · line 2318 …
if (vn4) vn4.undo();
v4i.emit("canvas:dirty");
}
onPointerDown(vn5, vn6, vn7, vn8 ) {
if (this._active && this._buffer) {
const vn9 = this._hitTest(vn5, vn6, vn7);
if (vn9) {
this._dragging = true;
this._dragMode = vn9.mode;
this._dragHandle = vn9.handle || null;
this._dragStartX = vn6;
…
s72378 Input vn9 hit hitResultUseful 0.84 hitResultUseful 0.84 Both useful Present Pre-rename JavaScript · s72378 / vn9 ×
Declaration · line 2320 …
onPointerDown(vn5, vn6, vn7, vn8) {
if (this._active && this._buffer) {
const vn9 = this._hitTest(vn5, vn6, vn7);
if (vn9) {
this._dragging = true;
this._dragMode = vn9.mode;
this._dragHandle = vn9.handle || null;
this._dragStartX = vn6;
this._dragStartY = vn7;
… Reference · line 2332 …
this._dragStartScaleY = this._scaleY;
this._dragStartRotation = this._rotation;
if (vn9 .mode === "rotate") {
this._dragStartAngle = Math.atan2(vn7 - this._ty, vn6 - this._tx);
}
return;
}
this.commit();
}
const vna = this._hitTestSelection(vn5, vn6, vn7);
if (this._cutContent(vn5)) {
…
s73049 Input vna previewHit selectionHitResultUseful 0.77 vnaUseful 0.07 FlowName better Absent Pre-rename JavaScript · s73049 / vna ×
Declaration · line 2339 …
this._dragStartAngle = Math.atan2(vn7 - this._ty, vn6 - this._tx);
}
return;
}
this.commit();
}
const vna = this._hitTestSelection(vn5, vn6, vn7);
if (this._cutContent(vn5)) {
this._dragging = true;
this._dragStartX = vn6;
this._dragStartY = vn7;
this._dragStartTx = this._tx;
this._dragStartTy = this._ty;
… Reference · line 2349 …
this._dragStartScaleY = this._scaleY;
this._dragStartRotation = this._rotation;
if (vna && vna.mode === "handle") {
this._dragMode = "handle";
this._dragHandle = vna.handle;
} else if (vna && vna.mode === "rotate") {
this._dragMode = "rotate";
this._dragHandle = null;
this._dragStartAngle = Math.atan2(vn7 - this._ty, vn6 - this._tx);
…
s73901 Input vnb doc nodeUseful 0.16 viewportUseful 0.26 Both poor Present Pre-rename JavaScript · s73901 / vnb ×
Declaration · line 2362 …
this._dragMode = "move";
this._dragHandle = null;
}
}
}
_previewFromSelection(vnb ) {
const vnc = vnb.selection;
if (vnc.active && vnc.bounds) return vnc.bounds;
return {
x: 0,
y: 0,
w: vnb.width,
h: vnb.height
};
}
_hitTestSelection(vnd, vne, vnf) {
const vng = this._previewFromSelection(vnd);
…
s73920 Input vnc sel selectionUseful 0.89 selectionUseful 0.89 Both useful Present Pre-rename JavaScript · s73920 / vnc ×
Declaration · line 2363 …
this._dragHandle = null;
}
}
}
_previewFromSelection(vnb) {
const vnc = vnb.selection;
if (vnc.active && vnc.bounds) return vnc.bounds;
return {
x: 0,
y: 0,
w: vnb.width,
h: vnb.height
};
}
_hitTestSelection(vnd, vne, vnf) {
const vng = this._previewFromSelection(vnd);
…
s74120 Input vnd doc stateUseful 0.13 viewportUseful 0.29 Both poor Present Pre-rename JavaScript · s74120 / vnd ×
Declaration · line 2372 …
y: 0,
w: vnb.width,
h: vnb.height
};
}
_hitTestSelection(vnd , vne, vnf) {
const vng = this._previewFromSelection(vnd);
const vnh = vnd.zoom,
vni = 7;
const vnj = vne * vnh + vnd.panX,
vnk = vnf * vnh + vnd.panY;
const vnl = vng.x + vng.w / 2,
vnm = vng.y;
… Reference · line 2383 …
const vnn = 25 / vnh;
const vno = vnl,
vnp = vnm - vnn;
if (Math.hypot(vnj - (vno * vnh + vnd .panX), vnk - (vnp * vnh + vnd.panY)) < vni) return {
mode: "rotate"
};
const vnq = v9k(vng);
for (const vnr of vnq) {
const vns = vnr.x * vnh + vnd.panX,
vnt = vnr.y * vnh + vnd.panY;
if (Math.abs(vnj - vns) < vni && Math.abs(vnk - vnt) < vni) return {
…
s74125 Input vne x xUseful 0.68 mouseXUseful 0.69 Humanify better Present Pre-rename JavaScript · s74125 / vne ×
Declaration · line 2372 …
y: 0,
w: vnb.width,
h: vnb.height
};
}
_hitTestSelection(vnd, vne , vnf) {
const vng = this._previewFromSelection(vnd);
const vnh = vnd.zoom,
vni = 7;
const vnj = vne * vnh + vnd.panX,
vnk = vnf * vnh + vnd.panY;
const vnl = vng.x + vng.w / 2,
vnm = vng.y;
… Reference · line 2395 …
if (Math.abs(vnj - vns) < vni && Math.abs(vnk - vnt) < vni) return {
mode: "handle",
handle: vnr
};
}
if (vne >= vng.x && vne <= vng.x + vng.w && vnf >= vng.y && vnf <= vng.y + vng.h) return {
mode: "move"
};
return null;
}
onPointerMove(vnu, vnv, vnw, vnx) {
if (!this._dragging) {
const vny = document.getElementById("viewport");
…
s74130 Input vnf y yUseful 0.61 clientYUseful 0.44 FlowName better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s74130 / vnf ×
Declaration · line 2372 …
w: vnb.width,
h: vnb.height
};
}
_hitTestSelection(vnd, vne, vnf ) {
const vng = this._previewFromSelection(vnd);
const vnh = vnd.zoom,
vni = 7;
const vnj = vne * vnh + vnd.panX,
vnk = vnf * vnh + vnd.panY;
const vnl = vng.x + vng.w / 2,
vnm = vng.y;
const vnn = 25 / vnh;
… Reference · line 2395 …
handle: vnr
};
}
if (vne >= vng.x && vne <= vng.x + vng.w && vnf >= vng.y && vnf <= vng.y + vng.h) return {
mode: "move"
};
return null;
}
onPointerMove(vnu, vnv, vnw, vnx) {
if (!this._dragging) {
const vny = document.getElementById("viewport");
if (this._active) {
…
s74149 Input vng b previewUseful 0.59 previewRectUseful 0.70 Both useful Present Usefulness probability is near the provisional 0.5 boundary. Preference confidence is low. Pre-rename JavaScript · s74149 / vng ×
Declaration · line 2373 …
w: vnb.width,
h: vnb.height
};
}
_hitTestSelection(vnd, vne, vnf) {
const vng = this._previewFromSelection(vnd);
const vnh = vnd.zoom,
vni = 7;
const vnj = vne * vnh + vnd.panX,
vnk = vnf * vnh + vnd.panY;
const vnl = vng.x + vng.w / 2,
vnm = vng.y;
const vnn = 25 / vnh;
… Reference · line 2386 …
if (Math.hypot(vnj - (vno * vnh + vnd.panX), vnk - (vnp * vnh + vnd.panY)) < vni) return {
mode: "rotate"
};
const vnq = v9k(vng );
for (const vnr of vnq) {
const vns = vnr.x * vnh + vnd.panX,
vnt = vnr.y * vnh + vnd.panY;
if (Math.abs(vnj - vns) < vni && Math.abs(vnk - vnt) < vni) return {
mode: "handle",
handle: vnr
…
s74200 Input vnh z zoomUseful 0.76 zoomLevelUseful 0.77 FlowName better Present Pre-rename JavaScript · s74200 / vnh ×
Declaration · line 2374 …
_hitTestSelection(vnd, vne, vnf) {
const vng = this._previewFromSelection(vnd);
const vnh = vnd.zoom,
vni = 7;
const vnj = vne * vnh + vnd.panX,
vnk = vnf * vnh + vnd.panY;
const vnl = vng.x + vng.w / 2,
vnm = vng.y;
const vnn = 25 / vnh;
const vno = vnl,
vnp = vnm - vnn;
… Reference · line 2383 …
const vnn = 25 / vnh;
const vno = vnl,
vnp = vnm - vnn;
if (Math.hypot(vnj - (vno * vnh + vnd.panX), vnk - (vnp * vnh + vnd.panY)) < vni) return {
mode: "rotate"
};
const vnq = v9k(vng);
for (const vnr of vnq) {
const vns = vnr.x * vnh + vnd.panX,
vnt = vnr.y * vnh + vnd.panY;
if (Math.abs(vnj - vns) < vni && Math.abs(vnk - vnt) < vni) return {
…
s74224 Input vni threshold zoomHitThresholdUseful 0.27 hitRadiusUseful 0.80 Humanify better Present Pre-rename JavaScript · s74224 / vni ×
Declaration · line 2375 …
_hitTestSelection(vnd, vne, vnf) {
const vng = this._previewFromSelection(vnd);
const vnh = vnd.zoom,
vni = 7;
const vnj = vne * vnh + vnd.panX,
vnk = vnf * vnh + vnd.panY;
const vnl = vng.x + vng.w / 2,
vnm = vng.y;
const vnn = 25 / vnh;
const vno = vnl,
vnp = vnm - vnn;
if (Math.hypot(vnj - (vno * vnh + vnd.panX), vnk - (vnp * vnh + vnd.panY)) < vni) return {
… Reference · line 2390 …
const vns = vnr.x * vnh + vnd.panX,
vnt = vnr.y * vnh + vnd.panY;
if (Math.abs(vnj - vns) < vni && Math.abs(vnk - vnt) < vni) return {
mode: "handle",
handle: vnr
};
}
if (vne >= vng.x && vne <= vng.x + vng.w && vnf >= vng.y && vnf <= vng.y + vng.h) return {
mode: "move"
};
return null;
…
s74245 Input vnj smx mouseXUseful 0.61 mouseX2Useful 0.26 FlowName better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s74245 / vnj ×
Declaration · line 2376 …
const vng = this._previewFromSelection(vnd);
const vnh = vnd.zoom,
vni = 7;
const vnj = vne * vnh + vnd.panX,
vnk = vnf * vnh + vnd.panY;
const vnl = vng.x + vng.w / 2,
vnm = vng.y;
const vnn = 25 / vnh;
const vno = vnl,
vnp = vnm - vnn;
if (Math.hypot(vnj - (vno * vnh + vnd.panX), vnk - (vnp * vnh + vnd.panY)) < vni) return {
… Reference · line 2390 …
const vns = vnr.x * vnh + vnd.panX,
vnt = vnr.y * vnh + vnd.panY;
if (Math.abs(vnj - vns) < vni && Math.abs(vnk - vnt) < vni) return {
mode: "handle",
handle: vnr
};
}
if (vne >= vng.x && vne <= vng.x + vng.w && vnf >= vng.y && vnf <= vng.y + vng.h) return {
mode: "move"
…
s74281 Input vnk smy mouseYUseful 0.45 mouseYUseful 0.45 Both poor Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s74281 / vnk ×
Declaration · line 2377 …
const vnh = vnd.zoom,
vni = 7;
const vnj = vne * vnh + vnd.panX,
vnk = vnf * vnh + vnd.panY;
const vnl = vng.x + vng.w / 2,
vnm = vng.y;
const vnn = 25 / vnh;
const vno = vnl,
vnp = vnm - vnn;
if (Math.hypot(vnj - (vno * vnh + vnd.panX), vnk - (vnp * vnh + vnd.panY)) < vni) return {
… Reference · line 2390 …
vnt = vnr.y * vnh + vnd.panY;
if (Math.abs(vnj - vns) < vni && Math.abs(vnk - vnt) < vni) return {
mode: "handle",
handle: vnr
};
}
if (vne >= vng.x && vne <= vng.x + vng.w && vnf >= vng.y && vnf <= vng.y + vng.h) return {
mode: "move"
};
return null;
}
…
s74321 Input vnl topCx previewCenterXUseful 0.39 previewCenterXUseful 0.39 Both poor Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s74321 / vnl ×
Declaration · line 2378 …
vni = 7;
const vnj = vne * vnh + vnd.panX,
vnk = vnf * vnh + vnd.panY;
const vnl = vng.x + vng.w / 2,
vnm = vng.y;
const vnn = 25 / vnh;
const vno = vnl,
vnp = vnm - vnn;
if (Math.hypot(vnj - (vno * vnh + vnd.panX), vnk - (vnp * vnh + vnd.panY)) < vni) return {
mode: "rotate"
…
s74354 Input vnm topCy previewYUseful 0.14 previewYUseful 0.14 Both poor Present Pre-rename JavaScript · s74354 / vnm ×
Declaration · line 2379 …
const vnj = vne * vnh + vnd.panX,
vnk = vnf * vnh + vnd.panY;
const vnl = vng.x + vng.w / 2,
vnm = vng.y;
const vnn = 25 / vnh;
const vno = vnl,
vnp = vnm - vnn;
if (Math.hypot(vnj - (vno * vnh + vnd.panX), vnk - (vnp * vnh + vnd.panY)) < vni) return {
mode: "rotate"
};
const vnq = v9k(vng);
…
s74379 Input vnn offset rotateOffsetUseful 0.58 rotationHandleOffsetUseful 0.76 Both useful Present Usefulness probability is near the provisional 0.5 boundary. Preference confidence is low. Pre-rename JavaScript · s74379 / vnn ×
Declaration · line 2380 …
vnk = vnf * vnh + vnd.panY;
const vnl = vng.x + vng.w / 2,
vnm = vng.y;
const vnn = 25 / vnh;
const vno = vnl,
vnp = vnm - vnn;
if (Math.hypot(vnj - (vno * vnh + vnd.panX), vnk - (vnp * vnh + vnd.panY)) < vni) return {
mode: "rotate"
};
const vnq = v9k(vng);
for (const vnr of vnq) {
…
s74407 Input vno rhx rotateHandleXUseful 0.58 rotateHandleXUseful 0.58 Both useful Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s74407 / vno ×
Declaration · line 2381 …
const vnl = vng.x + vng.w / 2,
vnm = vng.y;
const vnn = 25 / vnh;
const vno = vnl,
vnp = vnm - vnn;
if (Math.hypot(vnj - (vno * vnh + vnd.panX), vnk - (vnp * vnh + vnd.panY)) < vni) return {
mode: "rotate"
};
const vnq = v9k(vng);
for (const vnr of vnq) {
const vns = vnr.x * vnh + vnd.panX,
…
s74426 Input vnp rhy rotateHandleYUseful 0.59 rotationHandleYUseful 0.64 Both useful Present Usefulness probability is near the provisional 0.5 boundary. Preference confidence is low. Pre-rename JavaScript · s74426 / vnp ×
Declaration · line 2382 …
const vnl = vng.x + vng.w / 2,
vnm = vng.y;
const vnn = 25 / vnh;
const vno = vnl,
vnp = vnm - vnn;
if (Math.hypot(vnj - (vno * vnh + vnd.panX), vnk - (vnp * vnh + vnd.panY)) < vni) return {
mode: "rotate"
};
const vnq = v9k(vng);
for (const vnr of vnq) {
const vns = vnr.x * vnh + vnd.panX,
…
s74584 Input vnq handles handlesUseful 0.87 selectionBoxUseful 0.07 FlowName better Present Pre-rename JavaScript · s74584 / vnq ×
Declaration · line 2386 …
if (Math.hypot(vnj - (vno * vnh + vnd.panX), vnk - (vnp * vnh + vnd.panY)) < vni) return {
mode: "rotate"
};
const vnq = v9k(vng);
for (const vnr of vnq) {
const vns = vnr.x * vnh + vnd.panX,
vnt = vnr.y * vnh + vnd.panY;
if (Math.abs(vnj - vns) < vni && Math.abs(vnk - vnt) < vni) return {
mode: "handle",
handle: vnr
…
s74617 Input vnr h handleUseful 0.44 handleUseful 0.44 Both poor Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s74617 / vnr ×
Declaration · line 2387 …
.hypot(vnj - (vno * vnh + vnd.panX), vnk - (vnp * vnh + vnd.panY)) < vni) return {
mode: "rotate"
};
const vnq = v9k(vng);
for (const vnr of vnq) {
const vns = vnr.x * vnh + vnd.panX,
vnt = vnr.y * vnh + vnd.panY;
if (Math.abs(vnj - vns) < vni && Math.abs(vnk - vnt) < vni) return {
mode: "handle",
handle: vnr
};
}
…
s74645 Input vns sx handleXUseful 0.46 screenXUseful 0.73 Humanify better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s74645 / vns ×
Declaration · line 2388 …
mode: "rotate"
};
const vnq = v9k(vng);
for (const vnr of vnq) {
const vns = vnr.x * vnh + vnd.panX,
vnt = vnr.y * vnh + vnd.panY;
if (Math.abs(vnj - vns) < vni && Math.abs(vnk - vnt) < vni) return {
mode: "handle",
handle: vnr
};
}
if (vne >= vng.x && vne <= vng.x + vng.w && vnf >= vng.y && vnf <= vng.y + vng.h) return {
…
s74685 Input vnt sy handleYUseful 0.30 transformedYUseful 0.67 Humanify better Present Pre-rename JavaScript · s74685 / vnt ×
Declaration · line 2389 …
const vnq = v9k(vng);
for (const vnr of vnq) {
const vns = vnr.x * vnh + vnd.panX,
vnt = vnr.y * vnh + vnd.panY;
if (Math.abs(vnj - vns) < vni && Math.abs(vnk - vnt) < vni) return {
mode: "handle",
handle: vnr
};
}
if (vne >= vng.x && vne <= vng.x + vng.w && vnf >= vng.y && vnf <= vng.y + vng.h) return {
…
s75029 Input vnu doc clientXUseful 0.59 clientXUseful 0.59 Both useful Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s75029 / vnu ×
Declaration · line 2400 …
vne >= vng.x && vne <= vng.x + vng.w && vnf >= vng.y && vnf <= vng.y + vng.h) return {
mode: "move"
};
return null;
}
onPointerMove(vnu , vnv, vnw, vnx) {
if (!this._dragging) {
const vny = document.getElementById("viewport");
if (this._active) {
const vnz = this._hitTest(vnu, vnv, vnw);
if (!vnz) vny.style.cursor = "move";else if (vnz.mode === "rotate") vny.style.cursor = "grab";else if (vnz.mode === "move"
… Reference · line 2407 …
=== "move") vny.style.cursor = "move";else vny.style.cursor = vbi(vnz.handle.id, this._rotation);
} else {
const vo0 = this._hitTestSelection(vnu , vnv, vnw);
if (!vo0) vny.style.cursor = "move";else if (vo0.mode === "rotate") vny.style.cursor = "grab";else if (vo0.mode === "move") vny.style.cursor = "move";else vny.style.cursor = vbi(vo0.handle.id, 0);
}
return;
…
s75034 Input vnv x clientYUseful 0.67 mouseYUseful 0.54 Both useful Present Usefulness probability is near the provisional 0.5 boundary. Preference confidence is low. Pre-rename JavaScript · s75034 / vnv ×
Declaration · line 2400 …
= vng.x && vne <= vng.x + vng.w && vnf >= vng.y && vnf <= vng.y + vng.h) return {
mode: "move"
};
return null;
}
onPointerMove(vnu, vnv , vnw, vnx) {
if (!this._dragging) {
const vny = document.getElementById("viewport");
if (this._active) {
const vnz = this._hitTest(vnu, vnv, vnw);
if (!vnz) vny.style.cursor = "move";else if (vnz.mode === "rotate") vny.style.cursor = "grab";else if (vnz.mode === "move") vny
… Reference · line 2407 …
move") vny.style.cursor = "move";else vny.style.cursor = vbi(vnz.handle.id, this._rotation);
} else {
const vo0 = this._hitTestSelection(vnu, vnv , vnw);
if (!vo0) vny.style.cursor = "move";else if (vo0.mode === "rotate") vny.style.cursor = "grab";else if (vo0.mode === "move") vny.style.cursor = "move";else vny.style.cursor = vbi(vo0.handle.id, 0);
}
return;
…
s75039 Input vnw y pressureUseful 0.04 clientYUseful 0.57 Humanify better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s75039 / vnw ×
Declaration · line 2400 …
.x && vne <= vng.x + vng.w && vnf >= vng.y && vnf <= vng.y + vng.h) return {
mode: "move"
};
return null;
}
onPointerMove(vnu, vnv, vnw , vnx) {
if (!this._dragging) {
const vny = document.getElementById("viewport");
if (this._active) {
const vnz = this._hitTest(vnu, vnv, vnw);
if (!vnz) vny.style.cursor = "move";else if (vnz.mode === "rotate") vny.style.cursor = "grab";else if (vnz.mode === "move") vny.styl
… Reference · line 2407 …
) vny.style.cursor = "move";else vny.style.cursor = vbi(vnz.handle.id, this._rotation);
} else {
const vo0 = this._hitTestSelection(vnu, vnv, vnw );
if (!vo0) vny.style.cursor = "move";else if (vo0.mode === "rotate") vny.style.cursor = "grab";else if (vo0.mode === "move") vny.style.cursor = "move";else vny.style.cursor = vbi(vo0.handle.id, 0);
}
return;
}
…
s75044 Input vnx e eventUseful 0.87 eventUseful 0.87 Both useful Present Pre-rename JavaScript · s75044 / vnx ×
Declaration · line 2400 …
vne <= vng.x + vng.w && vnf >= vng.y && vnf <= vng.y + vng.h) return {
mode: "move"
};
return null;
}
onPointerMove(vnu, vnv, vnw, vnx ) {
if (!this._dragging) {
const vny = document.getElementById("viewport");
if (this._active) {
const vnz = this._hitTest(vnu, vnv, vnw);
if (!vnz) vny.style.cursor = "move";else if (vnz.mode === "rotate") vny.style.cursor = "grab";else if (vnz.mode === "move") vny.style.cur
… Reference · line 2417 …
if (this._dragMode === "move") {
let vo3 = vo1,
vo4 = vo2;
if (vnx .shiftKey) {
const vo5 = Math.atan2(vo4, vo3);
const vo6 = Math.round(vo5 / (Math.PI / 4)) * (Math.PI / 4);
const vo7 = Math.sqrt(vo3 * vo3 + vo4 * vo4);
vo3 = vo7 * Math.cos(vo6);
vo4 = vo7 * Math.sin(vo6);
…
s75094 Input vny vp viewportElementUseful 0.89 viewportElement2Useful 0.33 FlowName better Present Pre-rename JavaScript · s75094 / vny ×
Declaration · line 2402 …
return null;
}
onPointerMove(vnu, vnv, vnw, vnx) {
if (!this._dragging) {
const vny = document.getElementById("viewport");
if (this._active) {
const vnz = this._hitTest(vnu, vnv, vnw);
if (!vnz) vny.style.cursor = "move";else if (vnz.mode === "rotate") vny.style.cursor = "grab";else if (vnz.mode === "move") vny.style.cursor = "move";else vny.style.cursor = vbi(vnz.handl
… Reference · line 2408 …
} else {
const vo0 = this._hitTestSelection(vnu, vnv, vnw);
if (!vo0) vny .style.cursor = "move";else if (vo0.mode === "rotate") vny.style.cursor = "grab";else if (vo0.mode === "move") vny.style.cursor = "move";else vny.style.cursor = vbi(vo0.handle.id, 0);
}
return;
}
const vo1 = vnv - this._dragStartX,
…
s75181 Input vnz hit hitTestResultUseful 0.79 hitResult2Useful 0.41 FlowName better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s75181 / vnz ×
Declaration · line 2404 …
const vny = document.getElementById("viewport");
if (this._active) {
const vnz = this._hitTest(vnu, vnv, vnw);
if (!vnz) vny.style.cursor = "move";else if (vnz.mode === "rotate") vny.style.cursor = "grab";else if (vnz.mode === "move") vny.style.cursor = "move";else vny.style.cursor = vbi(vnz.handle.id, this._rotation);
…
s75470 Input vo0 hit selectionHitTestResultUseful 0.61 hitTestResultUseful 0.70 Both useful Present Usefulness probability is near the provisional 0.5 boundary. Preference confidence is low. Pre-rename JavaScript · s75470 / vo0 ×
Declaration · line 2407 …
r = "grab";else if (vnz.mode === "move") vny.style.cursor = "move";else vny.style.cursor = vbi(vnz.handle.id, this._rotation);
} else {
const vo0 = this._hitTestSelection(vnu, vnv, vnw);
if (!vo0) vny.style.cursor = "move";else if (vo0.mode === "rotate") vny.style.cursor = "grab";else if (vo0.mode === "move") vny.style.cursor = "move";else vny.style.cursor = vbi(vo0.handle.id, 0);
…
s75768 Input vo1 mdx deltaX2Useful 0.34 hitResultUseful 0.22 Both poor Absent Pre-rename JavaScript · s75768 / vo1 ×
Declaration · line 2412 …
r = "grab";else if (vo0.mode === "move") vny.style.cursor = "move";else vny.style.cursor = vbi(vo0.handle.id, 0);
}
return;
}
const vo1 = vnv - this._dragStartX,
vo2 = vnw - this._dragStartY;
if (this._dragMode === "move") {
let vo3 = vo1,
vo4 = vo2;
if (vnx.shiftKey) {
const vo5 = Math.atan2(vo4, vo3);
const vo6 = Math.round(vo5 / (Math.PI / 4)) * (Math.PI / 4);
… Reference · line 2437 …
const vob = Math.cos(this._rotation),
voc = Math.sin(this._rotation);
const vod = vo1 * vob + vo2 * voc;
const voe = -vo1 * voc + vo2 * vob;
const vof = this._bufferW / 2 * this._dragStartScaleX;
const vog = this._bufferH / 2 * this._dragStartScaleY;
let voh = -vof,
voi = vof,
voj = -vog,
…
s75806 Input vo2 mdy deltaY2Useful 0.52 viewportElementUseful 0.03 FlowName better Absent Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s75806 / vo2 ×
Declaration · line 2413 …
") vny.style.cursor = "move";else vny.style.cursor = vbi(vo0.handle.id, 0);
}
return;
}
const vo1 = vnv - this._dragStartX,
vo2 = vnw - this._dragStartY;
if (this._dragMode === "move") {
let vo3 = vo1,
vo4 = vo2;
if (vnx.shiftKey) {
const vo5 = Math.atan2(vo4, vo3);
const vo6 = Math.round(vo5 / (Math.PI / 4)) * (Math.PI / 4);
… Reference · line 2437 …
const vob = Math.cos(this._rotation),
voc = Math.sin(this._rotation);
const vod = vo1 * vob + vo2 * voc;
const voe = -vo1 * voc + vo2 * vob;
const vof = this._bufferW / 2 * this._dragStartScaleX;
const vog = this._bufferH / 2 * this._dragStartScaleY;
let voh = -vof,
voi = vof,
voj = -vog,
…
s75887 Input vo3 ox deltaXUseful 0.74 deltaXUseful 0.74 Both useful Present Pre-rename JavaScript · s75887 / vo3 ×
Declaration · line 2415 …
const vo1 = vnv - this._dragStartX,
vo2 = vnw - this._dragStartY;
if (this._dragMode === "move") {
let vo3 = vo1,
vo4 = vo2;
if (vnx.shiftKey) {
const vo5 = Math.atan2(vo4, vo3);
const vo6 = Math.round(vo5 / (Math.PI / 4)) * (Math.PI / 4);
const vo7 = Math.sqrt(vo3 * vo3 + vo4 * vo4);
vo3 = vo7 * Math.cos(vo6);
… Reference · line 2424 …
vo4 = vo7 * Math.sin(vo6);
}
const vo8 = this._snapCenterForPixelMove(this._dragStartTx + vo3 , this._dragStartTy + vo4);
this._tx = vo8.x;
this._ty = vo8.y;
} else if (this._dragMode === "rotate") {
const vo9 = Math.atan2(vnw - this._ty, vnv - this._tx);
this._rotation = this._dragStartRotation + (vo9 - this._dragStartAngle);
…
s75908 Input vo4 oy deltaYUseful 0.61 deltaYUseful 0.61 Both useful Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s75908 / vo4 ×
Declaration · line 2416 …
vo2 = vnw - this._dragStartY;
if (this._dragMode === "move") {
let vo3 = vo1,
vo4 = vo2;
if (vnx.shiftKey) {
const vo5 = Math.atan2(vo4, vo3);
const vo6 = Math.round(vo5 / (Math.PI / 4)) * (Math.PI / 4);
const vo7 = Math.sqrt(vo3 * vo3 + vo4 * vo4);
vo3 = vo7 * Math.cos(vo6);
… Reference · line 2422 …
const vo7 = Math.sqrt(vo3 * vo3 + vo4 * vo4);
vo3 = vo7 * Math.cos(vo6);
vo4 = vo7 * Math.sin(vo6);
}
const vo8 = this._snapCenterForPixelMove(this._dragStartTx + vo3, this._dragStartTy + vo4);
this._tx = vo8.x;
this._ty = vo8.y;
} else if (this._dragMode === "rotate") {
const vo9 = Math.atan2(vnw - this._ty, vnv - this._tx);
…
s75963 Input vo5 angle angleUseful 0.94 angleUseful 0.94 Both useful Present Pre-rename JavaScript · s75963 / vo5 ×
Declaration · line 2418 …
if (this._dragMode === "move") {
let vo3 = vo1,
vo4 = vo2;
if (vnx.shiftKey) {
const vo5 = Math.atan2(vo4, vo3);
const vo6 = Math.round(vo5 / (Math.PI / 4)) * (Math.PI / 4);
const vo7 = Math.sqrt(vo3 * vo3 + vo4 * vo4);
vo3 = vo7 * Math.cos(vo6);
vo4 = vo7 * Math.sin(vo6);
}
const vo8 = this._snapCenterForPixelMove(this._dragStartTx + vo3, this._d
…
s76007 Input vo6 snap snappedAngleUseful 0.59 snappedAngleUseful 0.59 Both useful Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s76007 / vo6 ×
Declaration · line 2419 …
vo4 = vo2;
if (vnx.shiftKey) {
const vo5 = Math.atan2(vo4, vo3);
const vo6 = Math.round(vo5 / (Math.PI / 4)) * (Math.PI / 4);
const vo7 = Math.sqrt(vo3 * vo3 + vo4 * vo4);
vo3 = vo7 * Math.cos(vo6);
vo4 = vo7 * Math.sin(vo6);
}
const vo8 = this._snapCenterForPixelMove(this._dragStartTx + vo3, this._dragStartTy + vo4);
…
s76078 Input vo7 dist distanceUseful 0.92 distanceUseful 0.92 Both useful Present Pre-rename JavaScript · s76078 / vo7 ×
Declaration · line 2420 …
const vo5 = Math.atan2(vo4, vo3);
const vo6 = Math.round(vo5 / (Math.PI / 4)) * (Math.PI / 4);
const vo7 = Math.sqrt(vo3 * vo3 + vo4 * vo4);
vo3 = vo7 * Math.cos(vo6);
vo4 = vo7 * Math.sin(vo6);
}
const vo8 = this._snapCenterForPixelMove(this._dragStartTx + vo3, this._dragStartTy + vo4);
this._tx = vo8.x;
…
s76216 Input vo8 snapped snappedPositionUseful 0.78 snappedPositionUseful 0.78 Both useful Present Pre-rename JavaScript · s76216 / vo8 ×
Declaration · line 2424 …
vo3 = vo7 * Math.cos(vo6);
vo4 = vo7 * Math.sin(vo6);
}
const vo8 = this._snapCenterForPixelMove(this._dragStartTx + vo3, this._dragStartTy + vo4);
this._tx = vo8.x;
this._ty = vo8.y;
} else if (this._dragMode === "rotate") {
const vo9 = Math.atan2(vnw - this._ty, vnv - this._tx);
…
s76416 Input vo9 cur angleUseful 0.70 currentAngleUseful 0.77 Both useful Present Preference confidence is low. Pre-rename JavaScript · s76416 / vo9 ×
Declaration · line 2428 …
this._tx = vo8.x;
this._ty = vo8.y;
} else if (this._dragMode === "rotate") {
const vo9 = Math.atan2(vnw - this._ty, vnv - this._tx);
this._rotation = this._dragStartRotation + (vo9 - this._dragStartAngle);
if (vnx.shiftKey) {
const voa = Math.PI / 12;
this._rotation = Math.round(this._rotation / voa) * voa;
…
s76591 Input voa snap rotationSnapAngleUseful 0.87 angleStepUseful 0.76 FlowName better Present Pre-rename JavaScript · s76591 / voa ×
Declaration · line 2431 …
this._rotation = this._dragStartRotation + (vo9 - this._dragStartAngle);
if (vnx.shiftKey) {
const voa = Math.PI / 12;
this._rotation = Math.round(this._rotation / voa) * voa;
}
} else if (this._dragMode === "handle") {
const vob = Math.cos(this._rotation),
voc = Math.sin(this._rotation);
const vod = vo1 * vob + vo2 * voc;
…
s76750 Input vob cos cosRotationUseful 0.88 cosRotationUseful 0.88 Both useful Present Pre-rename JavaScript · s76750 / vob ×
Declaration · line 2435 …
this._rotation = Math.round(this._rotation / voa) * voa;
}
} else if (this._dragMode === "handle") {
const vob = Math.cos(this._rotation),
voc = Math.sin(this._rotation);
const vod = vo1 * vob + vo2 * voc;
const voe = -vo1 * voc + vo2 * vob;
const vof = this._bufferW / 2 * this._dragStartScaleX;
const vog = this._bufferH / 2 * this._dragStartScaleY;
… Reference · line 2508 …
const voy = (voh + voi) / 2;
const voz = (voj + vok) / 2;
this._tx = this._dragStartTx + voy * vob - voz * voc;
this._ty = this._dragStartTy + voy * voc + voz * vob;
}
if (this._active) this._syncSelection(vnu);
v4i.emit("canvas:dirty");
}
_syncSelection(vp0) {
if (!this._hadSelection) return;
const vp1 = this._getClippedTransformBounds(vp0);
…
s76792 Input voc sin sinRotationUseful 0.84 sinRotationUseful 0.84 Both useful Present Pre-rename JavaScript · s76792 / voc ×
Declaration · line 2436 …
} else if (this._dragMode === "handle") {
const vob = Math.cos(this._rotation),
voc = Math.sin(this._rotation);
const vod = vo1 * vob + vo2 * voc;
const voe = -vo1 * voc + vo2 * vob;
const vof = this._bufferW / 2 * this._dragStartScaleX;
const vog = this._bufferH / 2 * this._dragStartScaleY;
… Reference · line 2508 …
const voz = (voj + vok) / 2;
this._tx = this._dragStartTx + voy * vob - voz * voc ;
this._ty = this._dragStartTy + voy * voc + voz * vob;
}
if (this._active) this._syncSelection(vnu);
v4i.emit("canvas:dirty");
}
_syncSelection(vp0) {
if (!this._hadSelection) return;
const vp1 = this._getClippedTransformBounds(vp0);
…
s76838 Input vod ldx deltaXUseful 0.51 rotatedXUseful 0.33 FlowName better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s76838 / vod ×
Declaration · line 2437 …
const vob = Math.cos(this._rotation),
voc = Math.sin(this._rotation);
const vod = vo1 * vob + vo2 * voc;
const voe = -vo1 * voc + vo2 * vob;
const vof = this._bufferW / 2 * this._dragStartScaleX;
const vog = this._bufferH / 2 * this._dragStartScaleY;
let voh = -vof,
voi = vof,
… Reference · line 2446 …
vok = vog;
const vol = this._dragHandle.id;
if (vol.includes("e")) voi += vod ;
if (vol.includes("w")) voh += vod;
if (vol.includes("s")) vok += voe;
if (vol.includes("n")) voj += voe;
let vom = voi - voh,
von = vok - voj;
if (vnx.shiftKey && this._bufferW > 0 && this._bufferH > 0) {
…
s76881 Input voe ldy deltaYUseful 0.23 rotatedYUseful 0.75 Humanify better Present Pre-rename JavaScript · s76881 / voe ×
Declaration · line 2438 …
voc = Math.sin(this._rotation);
const vod = vo1 * vob + vo2 * voc;
const voe = -vo1 * voc + vo2 * vob;
const vof = this._bufferW / 2 * this._dragStartScaleX;
const vog = this._bufferH / 2 * this._dragStartScaleY;
let voh = -vof,
voi = vof,
voj = -vog,
vok = vog;
… Reference · line 2448 …
if (vol.includes("e")) voi += vod;
if (vol.includes("w")) voh += vod;
if (vol.includes("s")) vok += voe ;
if (vol.includes("n")) voj += voe;
let vom = voi - voh,
von = vok - voj;
if (vnx.shiftKey && this._bufferW > 0 && this._bufferH > 0) {
const voo = this._dragStartScaleX * this._bufferW / (this._dragStartScaleY * this._bufferH);
…
s76925 Input vof hw halfBufferWUseful 0.80 halfWidthUseful 0.75 FlowName better Present Pre-rename JavaScript · s76925 / vof ×
Declaration · line 2439 …
const vod = vo1 * vob + vo2 * voc;
const voe = -vo1 * voc + vo2 * vob;
const vof = this._bufferW / 2 * this._dragStartScaleX;
const vog = this._bufferH / 2 * this._dragStartScaleY;
let voh = -vof,
voi = vof,
voj = -vog,
vok = vog;
const vol = this._dragHandle.id;
…
s76988 Input vog hh halfBufferHUseful 0.80 halfHeightUseful 0.73 FlowName better Present Pre-rename JavaScript · s76988 / vog ×
Declaration · line 2440 …
const voe = -vo1 * voc + vo2 * vob;
const vof = this._bufferW / 2 * this._dragStartScaleX;
const vog = this._bufferH / 2 * this._dragStartScaleY;
let voh = -vof,
voi = vof,
voj = -vog,
vok = vog;
const vol = this._dragHandle.id;
if (vol.includes("e")) voi += vod;
if (vol.includes("w")) voh += vod;
…
s77049 Input voh newLeft leftUseful 0.75 minXUseful 0.45 FlowName better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s77049 / voh ×
Declaration · line 2441 …
const vof = this._bufferW / 2 * this._dragStartScaleX;
const vog = this._bufferH / 2 * this._dragStartScaleY;
let voh = -vof,
voi = vof,
voj = -vog,
vok = vog;
const vol = this._dragHandle.id;
if (vol.includes("e")) voi += vod;
if (vol.includes("w")) voh += vod;
if (vol.includes("s")) vok += voe;
… Reference · line 2450 …
if (vol.includes("s")) vok += voe;
if (vol.includes("n")) voj += voe;
let vom = voi - voh ,
von = vok - voj;
if (vnx.shiftKey && this._bufferW > 0 && this._bufferH > 0) {
const voo = this._dragStartScaleX * this._bufferW / (this._dragStartScaleY * this._bufferH);
if (vol === "n" || vol === "s") {
…
s77071 Input voi newRight rightUseful 0.79 maxRightUseful 0.34 FlowName better Present Pre-rename JavaScript · s77071 / voi ×
Declaration · line 2442 …
const vog = this._bufferH / 2 * this._dragStartScaleY;
let voh = -vof,
voi = vof,
voj = -vog,
vok = vog;
const vol = this._dragHandle.id;
if (vol.includes("e")) voi += vod;
if (vol.includes("w")) voh += vod;
if (vol.includes("s")) vok += voe;
if (vol.includes("n")) voj += voe;
… Reference · line 2450 …
if (vol.includes("s")) vok += voe;
if (vol.includes("n")) voj += voe;
let vom = voi - voh,
von = vok - voj;
if (vnx.shiftKey && this._bufferW > 0 && this._bufferH > 0) {
const voo = this._dragStartScaleX * this._bufferW / (this._dragStartScaleY * this._bufferH);
if (vol === "n" || vol === "s") {
…
s77092 Input voj newTop topUseful 0.44 minYUseful 0.28 Both poor Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s77092 / voj ×
Declaration · line 2443 …
const vog = this._bufferH / 2 * this._dragStartScaleY;
let voh = -vof,
voi = vof,
voj = -vog,
vok = vog;
const vol = this._dragHandle.id;
if (vol.includes("e")) voi += vod;
if (vol.includes("w")) voh += vod;
if (vol.includes("s")) vok += voe;
if (vol.includes("n")) voj += voe;
… Reference · line 2451 …
if (vol.includes("n")) voj += voe;
let vom = voi - voh,
von = vok - voj ;
if (vnx.shiftKey && this._bufferW > 0 && this._bufferH > 0) {
const voo = this._dragStartScaleX * this._bufferW / (this._dragStartScaleY * this._bufferH);
if (vol === "n" || vol === "s") {
vom = Math.abs(von) * voo;
…
s77114 Input vok newBottom bottomUseful 0.75 bottomBoundUseful 0.54 Both useful Present Usefulness probability is near the provisional 0.5 boundary. Preference confidence is low. Pre-rename JavaScript · s77114 / vok ×
Declaration · line 2444 …
const vog = this._bufferH / 2 * this._dragStartScaleY;
let voh = -vof,
voi = vof,
voj = -vog,
vok = vog;
const vol = this._dragHandle.id;
if (vol.includes("e")) voi += vod;
if (vol.includes("w")) voh += vod;
if (vol.includes("s")) vok += voe;
if (vol.includes("n")) voj += voe;
let vom = voi - voh,
… Reference · line 2451 …
if (vol.includes("s")) vok += voe;
if (vol.includes("n")) voj += voe;
let vom = voi - voh,
von = vok - voj;
if (vnx.shiftKey && this._bufferW > 0 && this._bufferH > 0) {
const voo = this._dragStartScaleX * this._bufferW / (this._dragStartScaleY * this._bufferH);
if (vol === "n" || vol === "s") {
vom = Math.abs(von) * voo;
…
s77139 Input vol hid handleIdUseful 0.89 handleIdUseful 0.89 Both useful Present Pre-rename JavaScript · s77139 / vol ×
Declaration · line 2445 …
let voh = -vof,
voi = vof,
voj = -vog,
vok = vog;
const vol = this._dragHandle.id;
if (vol.includes("e")) voi += vod;
if (vol.includes("w")) voh += vod;
if (vol.includes("s")) vok += voe;
if (vol.includes("n")) voj += voe;
let vom = voi - voh,
von = vok - voj;
… Reference · line 2454 …
const voo = this._dragStartScaleX * this._bufferW / (this._dragStartScaleY * this._bufferH);
if (vol === "n" || vol === "s") {
vom = Math.abs(von) * voo;
const vop = vol === "n" ? vok : voj;
voh = -vom / 2;
voi = vom / 2;
if (vol === "n") {
voj = vop - von;
vok = vop;
…
s77350 Input vom newW widthUseful 0.69 dragHandleIdUseful 0.18 FlowName better Absent Pre-rename JavaScript · s77350 / vom ×
Declaration · line 2450 …
if (vol.includes("s")) vok += voe;
if (vol.includes("n")) voj += voe;
let vom = voi - voh,
von = vok - voj;
if (vnx.shiftKey && this._bufferW > 0 && this._bufferH > 0) {
const voo = this._dragStartScaleX * this._bufferW / (this._dragStartScaleY * this._bufferH);
if (vol === "n" || vol === "s") {
… Reference · line 2455 …
const voo = this._dragStartScaleX * this._bufferW / (this._dragStartScaleY * this._bufferH);
if (vol === "n" || vol === "s") {
vom = Math.abs(von) * voo;
const vop = vol === "n" ? vok : voj;
voh = -vom / 2;
voi = vom / 2;
if (vol === "n") {
voj = vop - von;
vok = vop;
} else {
vok = vop + von;
…
s77377 Input von newH heightUseful 0.88 vonUseful 0.04 FlowName better Absent Pre-rename JavaScript · s77377 / von ×
Declaration · line 2451 …
if (vol.includes("s")) vok += voe;
if (vol.includes("n")) voj += voe;
let vom = voi - voh,
von = vok - voj;
if (vnx.shiftKey && this._bufferW > 0 && this._bufferH > 0) {
const voo = this._dragStartScaleX * this._bufferW / (this._dragStartScaleY * this._bufferH);
if (vol === "n" || vol === "s") {
vom = Math.abs(von) * voo;
… Reference · line 2460 …
voh = -vom / 2;
voi = vom / 2;
if (vol === "n") {
voj = vop - von ;
vok = vop;
} else {
vok = vop + von;
voj = vop;
}
} else if (vol === "e" || vol === "w") {
von = Math.abs(vom) / voo;
const voq = vol === "e" ? voh : voi;
…
s77480 Input voo aspect aspectRatioUseful 0.93 aspectRatioUseful 0.93 Both useful Present Pre-rename JavaScript · s77480 / voo ×
Declaration · line 2453 …
von = vok - voj;
if (vnx.shiftKey && this._bufferW > 0 && this._bufferH > 0) {
const voo = this._dragStartScaleX * this._bufferW / (this._dragStartScaleY * this._bufferH);
if (vol === "n" || vol === "s") {
vom = Math.abs(von) * voo;
const vop = vol === "n" ? vok : voj;
voh = -vom / 2;
… Reference · line 2467 …
}
} else if (vol === "e" || vol === "w") {
von = Math.abs(vom) / voo ;
const voq = vol === "e" ? voh : voi;
voj = -von / 2;
vok = von / 2;
if (vol === "e") {
voi = voq + vom;
voh = voq;
} else {
voh = voq - vom;
…
s77668 Input vop anchorY handleTopOrBottomUseful 0.12 basePositionUseful 0.30 Both poor Present Pre-rename JavaScript · s77668 / vop ×
Declaration · line 2456 …
if (vol === "n" || vol === "s") {
vom = Math.abs(von) * voo;
const vop = vol === "n" ? vok : voj;
voh = -vom / 2;
voi = vom / 2;
if (vol === "n") {
voj = vop - von;
vok = vop;
} else {
vok = vop + von;
voj = vop;
…
s78040 Input voq anchorX handleLeftOrRightUseful 0.09 baseCoordinateUseful 0.51 Humanify better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s78040 / voq ×
Declaration · line 2468 …
} else if (vol === "e" || vol === "w") {
von = Math.abs(vom) / voo;
const voq = vol === "e" ? voh : voi;
voj = -von / 2;
vok = von / 2;
if (vol === "e") {
voi = voq + vom;
voh = voq;
} else {
voh = voq - vom;
voi = voq;
…
s78341 Input vor curW startScaleXUseful 0.16 scaledBufferWUseful 0.66 Humanify better Present Pre-rename JavaScript · s78341 / vor ×
Declaration · line 2479 …
voh = voq - vom;
voi = voq;
}
} else {
const vor = this._bufferW * this._dragStartScaleX;
const vos = this._bufferH * this._dragStartScaleY;
const vot = Math.abs(vom) / vor;
const vou = Math.abs(von) / vos;
const vov = Math.max(vot, vou);
… Reference · line 2484 …
const vou = Math.abs(von) / vos;
const vov = Math.max(vot, vou);
vom = vor * vov * Math.sign(vom || 1);
von = vos * vov * Math.sign(von || 1);
const vow = vol.includes("e") ? voh : voi;
const vox = vol.includes("s") ? voj : vok;
if (vol.includes("e")) {
voi = vow + vom;
…
s78404 Input vos curH startScaleYUseful 0.45 dragStartHeightUseful 0.21 Both poor Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s78404 / vos ×
Declaration · line 2480 …
} else {
const vor = this._bufferW * this._dragStartScaleX;
const vos = this._bufferH * this._dragStartScaleY;
const vot = Math.abs(vom) / vor;
const vou = Math.abs(von) / vos;
const vov = Math.max(vot, vou);
vom = vor * vov * Math.sign(vom || 1);
von = vos * vov * Math.sign(von || 1);
…
s78467 Input vot sx scaleRatioXUseful 0.82 scaleRatioXUseful 0.82 Both useful Present Pre-rename JavaScript · s78467 / vot ×
Declaration · line 2481 …
const vor = this._bufferW * this._dragStartScaleX;
const vos = this._bufferH * this._dragStartScaleY;
const vot = Math.abs(vom) / vor;
const vou = Math.abs(von) / vos;
const vov = Math.max(vot, vou);
vom = vor * vov * Math.sign(vom || 1);
von = vos * vov * Math.sign(von || 1);
const vow = vol.includes("e") ? voh : voi;
…
s78512 Input vou sy scaleRatioYUseful 0.74 scaleYRatioUseful 0.73 Both useful Present Preference confidence is low. Pre-rename JavaScript · s78512 / vou ×
Declaration · line 2482 …
const vos = this._bufferH * this._dragStartScaleY;
const vot = Math.abs(vom) / vor;
const vou = Math.abs(von) / vos;
const vov = Math.max(vot, vou);
vom = vor * vov * Math.sign(vom || 1);
von = vos * vov * Math.sign(von || 1);
const vow = vol.includes("e") ? voh : voi;
const vox = vol.includes("s") ? voj : vok;
…
s78557 Input vov s maxScaleRatioUseful 0.75 scaleFactorUseful 0.82 FlowName better Present Pre-rename JavaScript · s78557 / vov ×
Declaration · line 2483 …
const vot = Math.abs(vom) / vor;
const vou = Math.abs(von) / vos;
const vov = Math.max(vot, vou);
vom = vor * vov * Math.sign(vom || 1);
von = vos * vov * Math.sign(von || 1);
const vow = vol.includes("e") ? voh : voi;
const vox = vol.includes("s") ? voj : vok;
if (vol.includes("e")) {
…
s78703 Input vow anchorX handleLeftOrRightEdgeUseful 0.37 horizontalAlignmentOffsetUseful 0.15 Both poor Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s78703 / vow ×
Declaration · line 2486 …
vom = vor * vov * Math.sign(vom || 1);
von = vos * vov * Math.sign(von || 1);
const vow = vol.includes("e") ? voh : voi;
const vox = vol.includes("s") ? voj : vok;
if (vol.includes("e")) {
voi = vow + vom;
voh = vow;
} else {
voh = vow - Math.abs(vom);
… Reference · line 2493 …
voh = vow;
} else {
voh = vow - Math.abs(vom);
voi = vow ;
}
if (vol.includes("s")) {
vok = vox + von;
voj = vox;
} else {
voj = vox - Math.abs(von);
vok = vox;
}
}
}
this._scaleX = Math.max(0.01, Math.abs(vom) / this._bufferW);
…
s78758 Input vox anchorY dragOffsetUseful 0.13 yOffsetUseful 0.20 Both poor Present Pre-rename JavaScript · s78758 / vox ×
Declaration · line 2487 …
von = vos * vov * Math.sign(von || 1);
const vow = vol.includes("e") ? voh : voi;
const vox = vol.includes("s") ? voj : vok;
if (vol.includes("e")) {
voi = vow + vom;
voh = vow;
} else {
voh = vow - Math.abs(vom);
voi = vow;
}
if (vol.includes("s")) {
… Reference · line 2496 …
voi = vow;
}
if (vol.includes("s")) {
vok = vox + von;
voj = vox;
} else {
voj = vox - Math.abs(von);
vok = vox;
}
}
}
this._scaleX = Math.max(0.01, Math.abs(vom) / this._bufferW);
this._scaleY = Math.max(0.01, Math.abs(von) / this._bufferH);
…
s79359 Input voy localCenterX centerXUseful 0.77 deltaYUseful 0.03 FlowName better Absent Pre-rename JavaScript · s79359 / voy ×
Declaration · line 2506 …
this._scaleX = Math.max(0.01, Math.abs(vom) / this._bufferW);
this._scaleY = Math.max(0.01, Math.abs(von) / this._bufferH);
const voy = (voh + voi) / 2;
const voz = (voj + vok) / 2;
this._tx = this._dragStartTx + voy * vob - voz * voc;
this._ty = this._dragStartTy + voy * voc + voz * vob;
}
if (this._active) this._syncSelection(vnu);
…
s79396 Input voz localCenterY centerYUseful 0.64 rotationCosUseful 0.03 FlowName better Absent Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s79396 / voz ×
Declaration · line 2507 …
this._scaleY = Math.max(0.01, Math.abs(von) / this._bufferH);
const voy = (voh + voi) / 2;
const voz = (voj + vok) / 2;
this._tx = this._dragStartTx + voy * vob - voz * voc;
this._ty = this._dragStartTy + voy * voc + voz * vob;
}
if (this._active) this._syncSelection(vnu);
v4i.emit("canvas:dirty");
}
…
s79658 Input vp0 doc viewportUseful 0.16 viewportUseful 0.16 Both poor Present Pre-rename JavaScript · s79658 / vp0 ×
Declaration · line 2514 …
if (this._active) this._syncSelection(vnu);
v4i.emit("canvas:dirty");
}
_syncSelection(vp0 ) {
if (!this._hadSelection) return;
const vp1 = this._getClippedTransformBounds(vp0);
if (vp1.w > 0 && vp1.h > 0) vp0.selection.setRect(vp1.x, vp1.y, vp1.w, vp1.h);else vp0.selection.clear();
}
onPointerUp(vp2) {
…
s79716 Input vp1 b clippedBoundsUseful 0.71 boundsUseful 0.56 FlowName better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s79716 / vp1 ×
Declaration · line 2516 …
v4i.emit("canvas:dirty");
}
_syncSelection(vp0) {
if (!this._hadSelection) return;
const vp1 = this._getClippedTransformBounds(vp0);
if (vp1.w > 0 && vp1.h > 0) vp0.selection.setRect(vp1.x, vp1.y, vp1.w, vp1.h);else vp0.selection.clear();
}
onPointerUp(vp2) {
if (!this._dragging) return;
this._dragging = false;
…
s79894 Input vp2 doc pointerEventUseful 0.36 eventUseful 0.27 Both poor Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s79894 / vp2 ×
Declaration · line 2519 …
if (vp1.w > 0 && vp1.h > 0) vp0.selection.setRect(vp1.x, vp1.y, vp1.w, vp1.h);else vp0.selection.clear();
}
onPointerUp(vp2 ) {
if (!this._dragging) return;
this._dragging = false;
this._dragMode = null;
this._dragHandle = null;
if (this._active) this._syncSelection(vp2);
v4i.emit("canvas:dirty");
}
onOverlay(vp3, vp4) {
…
s80128 Input vp3 ctx ctxUseful 0.82 contextUseful 0.84 FlowName better Present Pre-rename JavaScript · s80128 / vp3 ×
Declaration · line 2527 …
if (this._active) this._syncSelection(vp2);
v4i.emit("canvas:dirty");
}
onOverlay(vp3 , vp4) {
if (!this._active || !this._buffer) {
const vp5 = this._previewFromSelection(vp4);
if (vp5.w > 0 && vp5.h > 0) {
const vp6 = vp4.zoom;
va5(vp3, vp4, vp5);
const vp7 = vp5.x + vp5.w / 2,
… Reference · line 2540 …
const vpc = vp7 * vp6 + vp4.panX,
vpd = vp8 * vp6 + vp4.panY;
vp3 .strokeStyle = "rgba(255,255,255,0.5)";
vp3.lineWidth = 1;
vp3.beginPath();
vp3.moveTo(vpc, vpd);
vp3.lineTo(vpa, vpb);
vp3.stroke();
vp3.fillStyle = "white";
vp3.strokeStyle = "#333";
…
s80133 Input vp4 doc viewportUseful 0.29 viewportUseful 0.29 Both poor Present Pre-rename JavaScript · s80133 / vp4 ×
Declaration · line 2527 …
if (this._active) this._syncSelection(vp2);
v4i.emit("canvas:dirty");
}
onOverlay(vp3, vp4 ) {
if (!this._active || !this._buffer) {
const vp5 = this._previewFromSelection(vp4);
if (vp5.w > 0 && vp5.h > 0) {
const vp6 = vp4.zoom;
va5(vp3, vp4, vp5);
const vp7 = vp5.x + vp5.w / 2,
… Reference · line 2536 …
vp8 = vp5.y;
const vp9 = 25 / vp6;
const vpa = vp7 * vp6 + vp4 .panX,
vpb = (vp8 - vp9) * vp6 + vp4.panY;
const vpc = vp7 * vp6 + vp4.panX,
vpd = vp8 * vp6 + vp4.panY;
vp3.strokeStyle = "rgba(255,255,255,0.5)";
vp3.lineWidth = 1;
vp3.beginPath();
…
s80198 Input vp5 b previewUseful 0.56 selectionRect2Useful 0.41 FlowName better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s80198 / vp5 ×
Declaration · line 2529 …
}
onOverlay(vp3, vp4) {
if (!this._active || !this._buffer) {
const vp5 = this._previewFromSelection(vp4);
if (vp5.w > 0 && vp5.h > 0) {
const vp6 = vp4.zoom;
va5(vp3, vp4, vp5);
const vp7 = vp5.x + vp5.w / 2,
vp8 = vp5.y;
const vp9 = 25 / vp6;
const vpa = vp7 * vp6 + vp4.panX,
…
s80291 Input vp6 z2 zoom2Useful 0.40 zoomLevelUseful 0.84 Humanify better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s80291 / vp6 ×
Declaration · line 2531 …
const vp5 = this._previewFromSelection(vp4);
if (vp5.w > 0 && vp5.h > 0) {
const vp6 = vp4.zoom;
va5(vp3, vp4, vp5);
const vp7 = vp5.x + vp5.w / 2,
vp8 = vp5.y;
const vp9 = 25 / vp6;
const vpa = vp7 * vp6 + vp4.panX,
vpb = (vp8 - vp9) * vp6 + vp4.panY;
const vpc = vp7 * vp6 + vp4.panX,
… Reference · line 2539 …
vpb = (vp8 - vp9) * vp6 + vp4.panY;
const vpc = vp7 * vp6 + vp4.panX,
vpd = vp8 * vp6 + vp4.panY;
vp3.strokeStyle = "rgba(255,255,255,0.5)";
vp3.lineWidth = 1;
vp3.beginPath();
vp3.moveTo(vpc, vpd);
vp3.lineTo(vpa, vpb);
vp3.stroke();
vp3.fillStyle = "white";
…
s80353 Input vp7 topCx centerXUseful 0.56 centerXUseful 0.56 Both useful Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s80353 / vp7 ×
Declaration · line 2533 …
if (vp5.w > 0 && vp5.h > 0) {
const vp6 = vp4.zoom;
va5(vp3, vp4, vp5);
const vp7 = vp5.x + vp5.w / 2,
vp8 = vp5.y;
const vp9 = 25 / vp6;
const vpa = vp7 * vp6 + vp4.panX,
vpb = (vp8 - vp9) * vp6 + vp4.panY;
const vpc = vp7 * vp6 + vp4.panX,
vpd = vp8 * vp6 + vp4.panY;
…
s80390 Input vp8 topCy topYUseful 0.44 startYUseful 0.20 Both poor Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s80390 / vp8 ×
Declaration · line 2534 …
const vp6 = vp4.zoom;
va5(vp3, vp4, vp5);
const vp7 = vp5.x + vp5.w / 2,
vp8 = vp5.y;
const vp9 = 25 / vp6;
const vpa = vp7 * vp6 + vp4.panX,
vpb = (vp8 - vp9) * vp6 + vp4.panY;
const vpc = vp7 * vp6 + vp4.panX,
vpd = vp8 * vp6 + vp4.panY;
vp3.strokeStyle = "rgba(255,255,255,0.5)";
…
s80419 Input vp9 offset scaleOffsetUseful 0.37 offsetYUseful 0.29 Both poor Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s80419 / vp9 ×
Declaration · line 2535 …
va5(vp3, vp4, vp5);
const vp7 = vp5.x + vp5.w / 2,
vp8 = vp5.y;
const vp9 = 25 / vp6;
const vpa = vp7 * vp6 + vp4.panX,
vpb = (vp8 - vp9) * vp6 + vp4.panY;
const vpc = vp7 * vp6 + vp4.panX,
vpd = vp8 * vp6 + vp4.panY;
vp3.strokeStyle = "rgba(255,255,255,0.5)";
…
s80451 Input vpa rhx2 x1Useful 0.34 screenXUseful 0.41 Both poor Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s80451 / vpa ×
Declaration · line 2536 …
const vp7 = vp5.x + vp5.w / 2,
vp8 = vp5.y;
const vp9 = 25 / vp6;
const vpa = vp7 * vp6 + vp4.panX,
vpb = (vp8 - vp9) * vp6 + vp4.panY;
const vpc = vp7 * vp6 + vp4.panX,
vpd = vp8 * vp6 + vp4.panY;
vp3.strokeStyle = "rgba(255,255,255,0.5)";
vp3.lineWidth = 1;
… Reference · line 2544 …
vp3.lineWidth = 1;
vp3.beginPath();
vp3.moveTo(vpc, vpd);
vp3.lineTo(vpa , vpb);
vp3.stroke();
vp3.fillStyle = "white";
vp3.strokeStyle = "#333";
vp3.beginPath();
vp3.arc(vpa, vpb, 5, 0, Math.PI * 2);
vp3.fill();
vp3.stroke();
}
return;
…
s80491 Input vpb rhy2 y1Useful 0.41 targetYUseful 0.37 Both poor Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s80491 / vpb ×
Declaration · line 2537 …
vp8 = vp5.y;
const vp9 = 25 / vp6;
const vpa = vp7 * vp6 + vp4.panX,
vpb = (vp8 - vp9) * vp6 + vp4.panY;
const vpc = vp7 * vp6 + vp4.panX,
vpd = vp8 * vp6 + vp4.panY;
vp3.strokeStyle = "rgba(255,255,255,0.5)";
vp3.lineWidth = 1;
vp3.beginPath();
vp3.moveTo(vpc, vpd);
… Reference · line 2544 …
vp3.lineWidth = 1;
vp3.beginPath();
vp3.moveTo(vpc, vpd);
vp3.lineTo(vpa, vpb );
vp3.stroke();
vp3.fillStyle = "white";
vp3.strokeStyle = "#333";
vp3.beginPath();
vp3.arc(vpa, vpb, 5, 0, Math.PI * 2);
vp3.fill();
vp3.stroke();
}
return;
…
s80543 Input vpc thx2 x2Useful 0.54 startXUseful 0.35 FlowName better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s80543 / vpc ×
Declaration · line 2538 …
const vpa = vp7 * vp6 + vp4.panX,
vpb = (vp8 - vp9) * vp6 + vp4.panY;
const vpc = vp7 * vp6 + vp4.panX,
vpd = vp8 * vp6 + vp4.panY;
vp3.strokeStyle = "rgba(255,255,255,0.5)";
vp3.lineWidth = 1;
vp3.beginPath();
vp3.moveTo(vpc, vpd);
vp3.lineTo(vpa, vpb);
…
s80583 Input vpd thy2 y2Useful 0.36 targetY2Useful 0.72 Humanify better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s80583 / vpd ×
Declaration · line 2539 …
vpb = (vp8 - vp9) * vp6 + vp4.panY;
const vpc = vp7 * vp6 + vp4.panX,
vpd = vp8 * vp6 + vp4.panY;
vp3.strokeStyle = "rgba(255,255,255,0.5)";
vp3.lineWidth = 1;
vp3.beginPath();
vp3.moveTo(vpc, vpd);
vp3.lineTo(vpa, vpb);
vp3.stroke();
vp3.fillStyle = "white";
…
s81046 Input vpe z zoomUseful 0.75 previewPositionUseful 0.04 FlowName better Absent Pre-rename JavaScript · s81046 / vpe ×
Declaration · line 2555 …
vp3.fill();
vp3.stroke();
}
return;
}
const vpe = vp4.zoom;
vp3.save();
vp3.translate(this._tx * vpe + vp4.panX, this._ty * vpe + vp4.panY);
vp3.rotate(this._rotation);
vp3.scale(this._scaleX, this._scaleY);
const vpf = v4i._interpolation || "nearest";
vp3.imageSmoothingEnabled = vpf !== "nearest";
… Reference · line 2564 …
vp3.globalAlpha = this._dragging ? 0.7 : 1;
vp3.drawImage(this._buffer, -this._bufferW * vpe / 2, -this._bufferH * vpe / 2, this._bufferW * vpe, this._bufferH * vpe);
vp3.restore();
vp3.imageSmoothingEnabled = false;
vp3.globalAlpha = 1;
const vpg = this._getCorners();
const vph = vpg.map(vpi => ({
…
s81246 Input vpf interp interpolationModeUseful 0.84 previewDataUseful 0.06 FlowName better Absent Pre-rename JavaScript · s81246 / vpf ×
Declaration · line 2560 …
vp3.rotate(this._rotation);
vp3.scale(this._scaleX, this._scaleY);
const vpf = v4i._interpolation || "nearest";
vp3.imageSmoothingEnabled = vpf !== "nearest";
if (vpf === "bicubic") vp3.imageSmoothingQuality = "high";else vp3.imageSmoothingQuality = "low";
vp3.globalAlpha = this._dragging ? 0.7 : 1;
…
s81722 Input vpg corners corners2Useful 0.66 previewData2Useful 0.07 FlowName better Absent Pre-rename JavaScript · s81722 / vpg ×
Declaration · line 2568 …
vp3.restore();
vp3.imageSmoothingEnabled = false;
vp3.globalAlpha = 1;
const vpg = this._getCorners();
const vph = vpg.map(vpi => ({
x: vpi.x * vpe + vp4.panX,
y: vpi.y * vpe + vp4.panY
}));
vp3.strokeStyle = "rgba(255,255,255,0.6)";
vp3.setLineDash([4, 4]);
vp3.lineWidth = 1;
…
s81760 Input vph sc cornersUseful 0.82 previewHeightUseful 0.05 FlowName better Absent Pre-rename JavaScript · s81760 / vph ×
Declaration · line 2569 …
vp3.imageSmoothingEnabled = false;
vp3.globalAlpha = 1;
const vpg = this._getCorners();
const vph = vpg.map(vpi => ({
x: vpi.x * vpe + vp4.panX,
y: vpi.y * vpe + vp4.panY
}));
vp3.strokeStyle = "rgba(255,255,255,0.6)";
vp3.setLineDash([4, 4]);
vp3.lineWidth = 1;
vp3.beginPath();
vp3.moveTo(vph[0].x, vph[0].y);
… Reference · line 2578 …
vp3.beginPath();
vp3.moveTo(vph[0].x, vph[0].y);
for (let vpj = 1; vpj < 4; vpj++) vp3.lineTo(vph [vpj].x, vph[vpj].y);
vp3.closePath();
vp3.stroke();
vp3.setLineDash([]);
const vpk = this._getHandles();
const vpl = 5;
vp3.fillStyle = "white";
vp3.strokeStyle = "#333";
vp3.lineWidth = 1;
…
s81774 Input vpi c cornerUseful 0.49 pointUseful 0.56 Humanify better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s81774 / vpi ×
Declaration · line 2569 …
vp3.globalAlpha = 1;
const vpg = this._getCorners();
const vph = vpg.map(vpi => ({
x: vpi.x * vpe + vp4.panX,
y: vpi.y * vpe + vp4.panY
}));
vp3.strokeStyle = "rgba(255,255,255,0.6)";
vp3.setLineDash([4, 4]);
vp3.lineWidth = 1;
vp3.beginPath();
vp3.moveTo(vph[0].x, vph[0].y);
…
s82045 Input vpj i iUseful 0.55 iUseful 0.55 Both useful Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s82045 / vpj ×
Declaration · line 2578 …
vp3.lineWidth = 1;
vp3.beginPath();
vp3.moveTo(vph[0].x, vph[0].y);
for (let vpj = 1; vpj < 4; vpj++) vp3.lineTo(vph[vpj].x, vph[vpj].y);
vp3.closePath();
vp3.stroke();
vp3.setLineDash([]);
const vpk = this._getHandles();
const vpl = 5;
vp3.fillStyle = "white";
vp3.strokeStyle = "#333";
…
s82188 Input vpk handles handlesUseful 0.91 selectionRectUseful 0.05 FlowName better Absent Pre-rename JavaScript · s82188 / vpk ×
Declaration · line 2582 …
for (let vpj = 1; vpj < 4; vpj++) vp3.lineTo(vph[vpj].x, vph[vpj].y);
vp3.closePath();
vp3.stroke();
vp3.setLineDash([]);
const vpk = this._getHandles();
const vpl = 5;
vp3.fillStyle = "white";
vp3.strokeStyle = "#333";
vp3.lineWidth = 1;
for (const vpm of vpk) {
const vpn = Math.round(vpm.x * vpe + vp4.panX),
vpo = Math.round(vpm.y * vpe + vp4.panY);
… Reference · line 2596 …
const vpq = vpp.x * vpe + vp4.panX,
vpr = vpp.y * vpe + vp4.panY;
const vps = vpk .find(vpt => vpt.id === "n");
const vpu = vps.x * vpe + vp4.panX,
vpv = vps.y * vpe + vp4.panY;
vp3.strokeStyle = "rgba(255,255,255,0.5)";
vp3.lineWidth = 1;
vp3.beginPath();
vp3.moveTo(vpu, vpv);
vp3.lineTo(vpq, vpr);
…
s82226 Input vpl hSize handleSizeUseful 0.91 previewBoundsUseful 0.04 FlowName better Absent Pre-rename JavaScript · s82226 / vpl ×
Declaration · line 2583 …
vp3.stroke();
vp3.setLineDash([]);
const vpk = this._getHandles();
const vpl = 5;
vp3.fillStyle = "white";
vp3.strokeStyle = "#333";
vp3.lineWidth = 1;
for (const vpm of vpk) {
const vpn = Math.round(vpm.x * vpe + vp4.panX),
vpo = Math.round(vpm.y * vpe + vp4.panY);
vp3.fillRect(vpn - vpl, vpo - vpl, vpl * 2, vpl * 2);
… Reference · line 2591 …
vp3.fillRect(vpn - vpl, vpo - vpl, vpl * 2, vpl * 2);
vp3.strokeRect(vpn - vpl , vpo - vpl, vpl * 2, vpl * 2);
}
const vpp = this._getRotationHandle(vpe);
const vpq = vpp.x * vpe + vp4.panX,
vpr = vpp.y * vpe + vp4.panY;
const vps = vpk.find(vpt => vpt.id === "n");
const vpu = vps.x * vpe + vp4.panX,
…
s82340 Input vpm h pointUseful 0.24 pointUseful 0.24 Both poor Present Pre-rename JavaScript · s82340 / vpm ×
Declaration · line 2587 …
vp3.fillStyle = "white";
vp3.strokeStyle = "#333";
vp3.lineWidth = 1;
for (const vpm of vpk) {
const vpn = Math.round(vpm.x * vpe + vp4.panX),
vpo = Math.round(vpm.y * vpe + vp4.panY);
vp3.fillRect(vpn - vpl, vpo - vpl, vpl * 2, vpl * 2);
vp3.strokeRect(vpn - vpl, vpo - vpl, vpl * 2, vpl * 2);
…
s82368 Input vpn sx handleXUseful 0.42 renderXUseful 0.49 Both poor Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s82368 / vpn ×
Declaration · line 2588 …
vp3.strokeStyle = "#333";
vp3.lineWidth = 1;
for (const vpm of vpk) {
const vpn = Math.round(vpm.x * vpe + vp4.panX),
vpo = Math.round(vpm.y * vpe + vp4.panY);
vp3.fillRect(vpn - vpl, vpo - vpl, vpl * 2, vpl * 2);
vp3.strokeRect(vpn - vpl, vpo - vpl, vpl * 2, vpl * 2);
}
const vpp = this._getRotationHandle(vpe);
…
s82420 Input vpo sy handleYUseful 0.42 screenYUseful 0.58 Humanify better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s82420 / vpo ×
Declaration · line 2589 …
for (const vpm of vpk) {
const vpn = Math.round(vpm.x * vpe + vp4.panX),
vpo = Math.round(vpm.y * vpe + vp4.panY);
vp3.fillRect(vpn - vpl, vpo - vpl, vpl * 2, vpl * 2);
vp3.strokeRect(vpn - vpl, vpo - vpl, vpl * 2, vpl * 2);
}
const vpp = this._getRotationHandle(vpe);
const vpq = vpp.x * vpe + vp4.panX,
…
s82608 Input vpp rh rotationHandleUseful 0.85 previewData3Useful 0.04 FlowName better Absent Pre-rename JavaScript · s82608 / vpp ×
Declaration · line 2593 …
vp3.fillRect(vpn - vpl, vpo - vpl, vpl * 2, vpl * 2);
vp3.strokeRect(vpn - vpl, vpo - vpl, vpl * 2, vpl * 2);
}
const vpp = this._getRotationHandle(vpe);
const vpq = vpp.x * vpe + vp4.panX,
vpr = vpp.y * vpe + vp4.panY;
const vps = vpk.find(vpt => vpt.id === "n");
const vpu = vps.x * vpe + vp4.panX,
vpv = vps.y * vpe + vp4.panY;
…
s82656 Input vpq rhx rotationScreenXUseful 0.76 previewBounds2Useful 0.05 FlowName better Absent Pre-rename JavaScript · s82656 / vpq ×
Declaration · line 2594 …
vp3.strokeRect(vpn - vpl, vpo - vpl, vpl * 2, vpl * 2);
}
const vpp = this._getRotationHandle(vpe);
const vpq = vpp.x * vpe + vp4.panX,
vpr = vpp.y * vpe + vp4.panY;
const vps = vpk.find(vpt => vpt.id === "n");
const vpu = vps.x * vpe + vp4.panX,
vpv = vps.y * vpe + vp4.panY;
vp3.strokeStyle = "rgba(255,255,255,0.5)";
… Reference · line 2603 …
vp3.lineWidth = 1;
vp3.beginPath();
vp3.moveTo(vpu, vpv);
vp3.lineTo(vpq , vpr);
vp3.stroke();
vp3.fillStyle = "white";
vp3.strokeStyle = "#333";
vp3.beginPath();
vp3.arc(vpq, vpr, 5, 0, Math.PI * 2);
vp3.fill();
vp3.stroke();
if (this._dragging && this._dragMode === "rotate") {
…
s82694 Input vpr rhy rotationScreenYUseful 0.56 previewConfigUseful 0.05 FlowName better Absent Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s82694 / vpr ×
Declaration · line 2595 …
const vpp = this._getRotationHandle(vpe);
const vpq = vpp.x * vpe + vp4.panX,
vpr = vpp.y * vpe + vp4.panY;
const vps = vpk.find(vpt => vpt.id === "n");
const vpu = vps.x * vpe + vp4.panX,
vpv = vps.y * vpe + vp4.panY;
vp3.strokeStyle = "rgba(255,255,255,0.5)";
vp3.lineWidth = 1;
vp3.beginPath();
… Reference · line 2603 …
vp3.lineWidth = 1;
vp3.beginPath();
vp3.moveTo(vpu, vpv);
vp3.lineTo(vpq, vpr );
vp3.stroke();
vp3.fillStyle = "white";
vp3.strokeStyle = "#333";
vp3.beginPath();
vp3.arc(vpq, vpr, 5, 0, Math.PI * 2);
vp3.fill();
vp3.stroke();
if (this._dragging && this._dragMode === "rotate") {
…
s82736 Input vps topH northHandleUseful 0.82 previewRectUseful 0.05 FlowName better Absent Pre-rename JavaScript · s82736 / vps ×
Declaration · line 2596 …
const vpq = vpp.x * vpe + vp4.panX,
vpr = vpp.y * vpe + vp4.panY;
const vps = vpk.find(vpt => vpt.id === "n");
const vpu = vps.x * vpe + vp4.panX,
vpv = vps.y * vpe + vp4.panY;
vp3.strokeStyle = "rgba(255,255,255,0.5)";
vp3.lineWidth = 1;
vp3.beginPath();
vp3.moveTo(vpu, vpv);
…
s82751 Input vpt h nodeUseful 0.28 viewport2Useful 0.08 Both poor Present Pre-rename JavaScript · s82751 / vpt ×
Declaration · line 2596 …
const vpq = vpp.x * vpe + vp4.panX,
vpr = vpp.y * vpe + vp4.panY;
const vps = vpk.find(vpt => vpt.id === "n");
const vpu = vps.x * vpe + vp4.panX,
vpv = vps.y * vpe + vp4.panY;
vp3.strokeStyle = "rgba(255,255,255,0.5)";
vp3.lineWidth = 1;
vp3.beginPath();
vp3.moveTo(vpu, vpv);
vp3.lineTo(vpq, vpr);
…
s82787 Input vpu thx northScreenXUseful 0.34 previewBounds3Useful 0.08 Both poor Absent Pre-rename JavaScript · s82787 / vpu ×
Declaration · line 2597 …
vpr = vpp.y * vpe + vp4.panY;
const vps = vpk.find(vpt => vpt.id === "n");
const vpu = vps.x * vpe + vp4.panX,
vpv = vps.y * vpe + vp4.panY;
vp3.strokeStyle = "rgba(255,255,255,0.5)";
vp3.lineWidth = 1;
vp3.beginPath();
vp3.moveTo(vpu, vpv);
vp3.lineTo(vpq, vpr);
vp3.stroke();
…
s82825 Input vpv thy northScreenYUseful 0.36 previewBounds4Useful 0.07 Both poor Absent Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s82825 / vpv ×
Declaration · line 2598 …
const vps = vpk.find(vpt => vpt.id === "n");
const vpu = vps.x * vpe + vp4.panX,
vpv = vps.y * vpe + vp4.panY;
vp3.strokeStyle = "rgba(255,255,255,0.5)";
vp3.lineWidth = 1;
vp3.beginPath();
vp3.moveTo(vpu, vpv);
vp3.lineTo(vpq, vpr);
vp3.stroke();
vp3.fillStyle = "white";
vp3.strokeStyle = "#333";
…
s83269 Input vpw deg rotationAngleDegUseful 0.83 rotationDegreesUseful 0.87 Both useful Present Preference confidence is low. Pre-rename JavaScript · s83269 / vpw ×
Declaration · line 2612 …
vp3.stroke();
if (this._dragging && this._dragMode === "rotate") {
const vpw = Math.round(this._rotation * 180 / Math.PI * 10) / 10;
const vpx = this._tx * vpe + vp4.panX,
vpy = this._ty * vpe + vp4.panY;
vp3.fillStyle = "rgba(0,0,0,0.7)";
vp3.fillRect(vpx + 10, vpy - 20, 52, 18);
… Reference · line 2619 …
vp3.fillStyle = "white";
vp3.font = "11px sans-serif";
vp3.fillText(vpw + "\xB0", vpx + 14, vpy - 7);
}
if (this._dragging && this._dragMode === "handle") {
const vpz = Math.max(1, Math.round(this._bufferW * this._scaleX));
const vq0 = Math.max(1, Math.round(this._bufferH * this._scaleY));
…
s83343 Input vpx cx screenXUseful 0.26 screenXUseful 0.26 Both poor Present Pre-rename JavaScript · s83343 / vpx ×
Declaration · line 2613 …
if (this._dragging && this._dragMode === "rotate") {
const vpw = Math.round(this._rotation * 180 / Math.PI * 10) / 10;
const vpx = this._tx * vpe + vp4.panX,
vpy = this._ty * vpe + vp4.panY;
vp3.fillStyle = "rgba(0,0,0,0.7)";
vp3.fillRect(vpx + 10, vpy - 20, 52, 18);
vp3.fillStyle = "white";
vp3.font = "11px sans-serif";
vp3.fillText(vpw + "\xB0", vpx + 14, vpy - 7);
…
s83386 Input vpy cy screenYUseful 0.13 vpyUseful 0.39 Both poor Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s83386 / vpy ×
Declaration · line 2614 …
const vpw = Math.round(this._rotation * 180 / Math.PI * 10) / 10;
const vpx = this._tx * vpe + vp4.panX,
vpy = this._ty * vpe + vp4.panY;
vp3.fillStyle = "rgba(0,0,0,0.7)";
vp3.fillRect(vpx + 10, vpy - 20, 52, 18);
vp3.fillStyle = "white";
vp3.font = "11px sans-serif";
vp3.fillText(vpw + "\xB0", vpx + 14, vpy - 7);
…
s83719 Input vpz nw scaledBufferWidthUseful 0.87 scaledBufferWidthUseful 0.87 Both useful Present Pre-rename JavaScript · s83719 / vpz ×
Declaration · line 2622 …
vp3.fillText(vpw + "\xB0", vpx + 14, vpy - 7);
}
if (this._dragging && this._dragMode === "handle") {
const vpz = Math.max(1, Math.round(this._bufferW * this._scaleX));
const vq0 = Math.max(1, Math.round(this._bufferH * this._scaleY));
const vq1 = Math.max(...vph.map(vq2 => vq2.x));
const vq3 = Math.min(...vph.map(vq4 => vq4.y));
… Reference · line 2630 …
vp3.fillStyle = "white";
vp3.font = "11px sans-serif";
vp3.fillText(`${vpz } x ${vq0}`, vq1 + 8, vq3 + 11);
}
}
};
function vq5(vq6) {
if (!vq6) return;
vq6.ctx.globalAlpha = 1;
vq6.ctx.globalCompositeOperation = "source-over";
}
var vq7 = class {
constructor() {
this.tools = {};
…
s83794 Input vq0 nh scaledBufferHeightUseful 0.89 scaledBufferHeightUseful 0.89 Both useful Present Pre-rename JavaScript · s83794 / vq0 ×
Declaration · line 2623 …
if (this._dragging && this._dragMode === "handle") {
const vpz = Math.max(1, Math.round(this._bufferW * this._scaleX));
const vq0 = Math.max(1, Math.round(this._bufferH * this._scaleY));
const vq1 = Math.max(...vph.map(vq2 => vq2.x));
const vq3 = Math.min(...vph.map(vq4 => vq4.y));
vp3.fillStyle = "rgba(0,0,0,0.7)";
vp3.fillRect(vq1 + 4, vq3 - 2, 80, 18);
… Reference · line 2630 …
vp3.fillStyle = "white";
vp3.font = "11px sans-serif";
vp3.fillText(`${vpz} x ${vq0 }`, vq1 + 8, vq3 + 11);
}
}
};
function vq5(vq6) {
if (!vq6) return;
vq6.ctx.globalAlpha = 1;
vq6.ctx.globalCompositeOperation = "source-over";
}
var vq7 = class {
constructor() {
this.tools = {};
this.activeTool = null;
…
s83869 Input vq1 maxSx minXUseful 0.17 minXUseful 0.17 Both poor Present Pre-rename JavaScript · s83869 / vq1 ×
Declaration · line 2624 …
const vpz = Math.max(1, Math.round(this._bufferW * this._scaleX));
const vq0 = Math.max(1, Math.round(this._bufferH * this._scaleY));
const vq1 = Math.max(...vph.map(vq2 => vq2.x));
const vq3 = Math.min(...vph.map(vq4 => vq4.y));
vp3.fillStyle = "rgba(0,0,0,0.7)";
vp3.fillRect(vq1 + 4, vq3 - 2, 80, 18);
vp3.fillStyle = "white";
vp3.font = "11px sans-serif";
… Reference · line 2630 …
vp3.fillStyle = "white";
vp3.font = "11px sans-serif";
vp3.fillText(`${vpz} x ${vq0}`, vq1 + 8, vq3 + 11);
}
}
};
function vq5(vq6) {
if (!vq6) return;
vq6.ctx.globalAlpha = 1;
vq6.ctx.globalCompositeOperation = "source-over";
}
var vq7 = class {
constructor() {
this.tools = {};
this.activeTool = null;
…
s83895 Input vq2 c pointUseful 0.26 pointUseful 0.26 Both poor Present Pre-rename JavaScript · s83895 / vq2 ×
Declaration · line 2624 …
const vq0 = Math.max(1, Math.round(this._bufferH * this._scaleY));
const vq1 = Math.max(...vph.map(vq2 => vq2.x));
const vq3 = Math.min(...vph.map(vq4 => vq4.y));
vp3.fillStyle = "rgba(0,0,0,0.7)";
vp3.fillRect(vq1 + 4, vq3 - 2, 80, 18);
vp3.fillStyle = "white";
vp3.font = "11px sans-serif";
vp3.fillText(`${vpz} x ${vq0}`, vq1 + 8, vq3 + 11);
…
s83925 Input vq3 minSy minYUseful 0.10 minYUseful 0.10 Both poor Present Pre-rename JavaScript · s83925 / vq3 ×
Declaration · line 2625 …
const vq0 = Math.max(1, Math.round(this._bufferH * this._scaleY));
const vq1 = Math.max(...vph.map(vq2 => vq2.x));
const vq3 = Math.min(...vph.map(vq4 => vq4.y));
vp3.fillStyle = "rgba(0,0,0,0.7)";
vp3.fillRect(vq1 + 4, vq3 - 2, 80, 18);
vp3.fillStyle = "white";
vp3.font = "11px sans-serif";
vp3.fillText(`${vpz} x ${vq0}`, vq1 + 8, vq3 + 11);
…
s83951 Input vq4 c pointUseful 0.20 pointUseful 0.20 Both poor Present Pre-rename JavaScript · s83951 / vq4 ×
Declaration · line 2625 …
const vq1 = Math.max(...vph.map(vq2 => vq2.x));
const vq3 = Math.min(...vph.map(vq4 => vq4.y));
vp3.fillStyle = "rgba(0,0,0,0.7)";
vp3.fillRect(vq1 + 4, vq3 - 2, 80, 18);
vp3.fillStyle = "white";
vp3.font = "11px sans-serif";
vp3.fillText(`${vpz} x ${vq0}`, vq1 + 8, vq3 + 11);
}
…
s84219 Input vq5 layer_ctx_reset resetLayerAlphaUseful 0.61 EventEmitter20Useful 0.02 FlowName better Absent Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s84219 / vq5 ×
Declaration · line 2634 …
vp3.fillText(`${vpz} x ${vq0}`, vq1 + 8, vq3 + 11);
}
}
};
function vq5 (vq6) {
if (!vq6) return;
vq6.ctx.globalAlpha = 1;
vq6.ctx.globalCompositeOperation = "source-over";
}
var vq7 = class {
constructor() {
this.tools = {};
this.activeTool = null;
this._toolName = null;
… Reference · line 1284 …
onPointerUp(vcp) {
if (!this._drawing) return;
this._drawing = false;
vq5 (vcp.activeLayer);
}
};
var vcq = class extends vbq {
constructor() {
super("Brush", "b");
this._drawing = false;
this._lastX = 0;
this._lastY = 0;
this._button = 0;
this._preSelSnap = null;
…
s84223 Input vq6 layer renderContextUseful 0.54 renderContextUseful 0.54 Both useful Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s84223 / vq6 ×
Declaration · line 2634 …
vp3.fillText(`${vpz} x ${vq0}`, vq1 + 8, vq3 + 11);
}
}
};
function vq5(vq6 ) {
if (!vq6) return;
vq6.ctx.globalAlpha = 1;
vq6.ctx.globalCompositeOperation = "source-over";
}
var vq7 = class {
constructor() {
this.tools = {};
this.activeTool = null;
this._toolName = null;
const vq8 = [new vc7(), new vcq(), new vdo(), new vel(), new vf1(), new vfj(
…
s84345 Input vq7 ToolManager ToolManagerUseful 0.95 EventEmitter21Useful 0.03 FlowName better Absent Pre-rename JavaScript · s84345 / vq7 ×
Declaration · line 2639 …
vq6.ctx.globalAlpha = 1;
vq6.ctx.globalCompositeOperation = "source-over";
}
var vq7 = class {
constructor() {
this.tools = {};
this.activeTool = null;
this._toolName = null;
const vq8 = [new vc7(), new vcq(), new vdo(), new vel(), new vf1(), new vfj(), new vgl(), new vhg(), new vie(), new viy(), new vjs(), new vk2(), new vkx()];
… Reference · line 4376 …
v4i._mouseX = 0;
v4i._mouseY = 0;
this.renderer = new v4j();
this.toolManager = new vq7 ();
this.colorSystem = new vrc();
this.layersPanel = new vsw();
this.historyPanel = new vtt();
this.docManager = new vu2();
this.toolOptions = new vw6();
this.menuBar = new vxj(this);
this.newDialog = new vy2();
…
s84473 Input vq8 all toolsUseful 0.27 toolsListUseful 0.80 Humanify better Present Pre-rename JavaScript · s84473 / vq8 ×
Declaration · line 2644 …
this.tools = {};
this.activeTool = null;
this._toolName = null;
const vq8 = [new vc7(), new vcq(), new vdo(), new vel(), new vf1(), new vfj(), new vgl(), new vhg(), new vie(), new viy(), new vjs(), new vk2(), new vkx()];
for (const vq9 of vq8) this.tools[vq9.name.toLowerCase()] = vq9;
this._keyMap = {};
… Reference · line 2647 …
for (const vq9 of vq8) this.tools[vq9.name.toLowerCase()] = vq9;
this._keyMap = {};
for (const vqa of vq8 ) if (vqa.key) this._keyMap[vqa.key] = vqa.name.toLowerCase();
this.setTool("pencil");
v4i.on("tool:set", vqb => this.setTool(vqb));
v4i.on("tool:set-by-key", vqc => {
if (vqc === "s" && ["select", "wand", "lasso"].includes(this._toolName)) {
…
s84641 Input vq9 t toolUseful 0.68 toolUseful 0.68 Both useful Present Pre-rename JavaScript · s84641 / vq9 ×
Declaration · line 2645 …
ew vc7(), new vcq(), new vdo(), new vel(), new vf1(), new vfj(), new vgl(), new vhg(), new vie(), new viy(), new vjs(), new vk2(), new vkx()];
for (const vq9 of vq8) this.tools[vq9.name.toLowerCase()] = vq9;
this._keyMap = {};
for (const vqa of vq8) if (vqa.key) this._keyMap[vqa.key] = vqa.name.toLowerCase();
this.setTool("pencil");
v4i.on("tool:set", vqb => this.setTool(vqb));
…
s84737 Input vqa t toolItemUseful 0.45 keyMappingUseful 0.43 Both poor Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s84737 / vqa ×
Declaration · line 2647 …
for (const vq9 of vq8) this.tools[vq9.name.toLowerCase()] = vq9;
this._keyMap = {};
for (const vqa of vq8) if (vqa.key) this._keyMap[vqa.key] = vqa.name.toLowerCase();
this.setTool("pencil");
v4i.on("tool:set", vqb => this.setTool(vqb));
v4i.on("tool:set-by-key", vqc => {
if (vqc === "s" && ["select", "wand", "lasso"].includes(this._toolName)) {
…
s84865 Input vqb name toolNameUseful 0.62 toolUseful 0.39 FlowName better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s84865 / vqb ×
Declaration · line 2649 …
for (const vqa of vq8) if (vqa.key) this._keyMap[vqa.key] = vqa.name.toLowerCase();
this.setTool("pencil");
v4i.on("tool:set", vqb => this.setTool(vqb));
v4i.on("tool:set-by-key", vqc => {
if (vqc === "s" && ["select", "wand", "lasso"].includes(this._toolName)) {
const vqd = ["select", "wand", "lasso"];
this.setTool(vqd[(vqd.indexOf(this._toolName) + 1) % vqd.length]);
…
s84924 Input vqc key toolKeyUseful 0.72 keyUseful 0.67 FlowName better Present Pre-rename JavaScript · s84924 / vqc ×
Declaration · line 2650 …
this.setTool("pencil");
v4i.on("tool:set", vqb => this.setTool(vqb));
v4i.on("tool:set-by-key", vqc => {
if (vqc === "s" && ["select", "wand", "lasso"].includes(this._toolName)) {
const vqd = ["select", "wand", "lasso"];
this.setTool(vqd[(vqd.indexOf(this._toolName) + 1) % vqd.length]);
return;
}
… Reference · line 2656 …
this.setTool(vqd[(vqd.indexOf(this._toolName) + 1) % vqd.length]);
return;
}
const vqe = this._keyMap[vqc ];
if (vqe) this.setTool(vqe);
});
v4i.on("render:tool-overlay", (vqf, vqg) => {
if (this.activeTool) this.activeTool.onOverlay(vqf, vqg);
});
}
setTool(vqh) {
if (this.activeTool) this.activeTool.deactivate();
…
s85032 Input vqd cycle availableToolsUseful 0.23 availableToolsUseful 0.23 Both poor Present Pre-rename JavaScript · s85032 / vqd ×
Declaration · line 2652 …
if (vqc === "s" && ["select", "wand", "lasso"].includes(this._toolName)) {
const vqd = ["select", "wand", "lasso"];
this.setTool(vqd[(vqd.indexOf(this._toolName) + 1) % vqd.length]);
return;
}
const vqe = this._keyMap[vqc];
if (vqe) this.setTool(vqe);
});
v4i.on("render:tool-overlay", (vqf, vqg) => {
…
s85186 Input vqe name mappedToolUseful 0.36 mappedToolUseful 0.36 Both poor Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s85186 / vqe ×
Declaration · line 2656 …
this.setTool(vqd[(vqd.indexOf(this._toolName) + 1) % vqd.length]);
return;
}
const vqe = this._keyMap[vqc];
if (vqe) this.setTool(vqe);
});
v4i.on("render:tool-overlay", (vqf, vqg) => {
if (this.activeTool) this.activeTool.onOverlay(vqf, vqg);
});
}
setTool(vqh) {
if (this.activeTool) this.activeTool.deactivate();
…
s85294 Input vqf ctx ctxUseful 0.82 eventUseful 0.09 FlowName better Present Pre-rename JavaScript · s85294 / vqf ×
Declaration · line 2659 …
const vqe = this._keyMap[vqc];
if (vqe) this.setTool(vqe);
});
v4i.on("render:tool-overlay", (vqf , vqg) => {
if (this.activeTool) this.activeTool.onOverlay(vqf, vqg);
});
}
setTool(vqh) {
if (this.activeTool) this.activeTool.deactivate();
this._toolName = vqh;
this.activeTool = this.tools[vqh] || null;
…
s85299 Input vqg doc eventUseful 0.27 event2Useful 0.21 Both poor Present Pre-rename JavaScript · s85299 / vqg ×
Declaration · line 2659 …
const vqe = this._keyMap[vqc];
if (vqe) this.setTool(vqe);
});
v4i.on("render:tool-overlay", (vqf, vqg ) => {
if (this.activeTool) this.activeTool.onOverlay(vqf, vqg);
});
}
setTool(vqh) {
if (this.activeTool) this.activeTool.deactivate();
this._toolName = vqh;
this.activeTool = this.tools[vqh] || null;
…
s85403 Input vqh name toolNameUseful 0.90 toolNameUseful 0.90 Both useful Present Pre-rename JavaScript · s85403 / vqh ×
Declaration · line 2663 …
if (this.activeTool) this.activeTool.onOverlay(vqf, vqg);
});
}
setTool(vqh ) {
if (this.activeTool) this.activeTool.deactivate();
this._toolName = vqh;
this.activeTool = this.tools[vqh] || null;
if (this.activeTool) this.activeTool.activate();
v4i.emit("tool:changed", vqh);
document.querySelectorAll(".tool-btn").forEach(vqi => {
… Reference · line 2670 …
document.querySelectorAll(".tool-btn").forEach(vqi => {
vqi.classList.toggle("active", vqi.dataset.tool === vqh );
});
document.getElementById("status-tool").textContent = this.activeTool ? this.activeTool.name : "";
const vqj = {
pencil: "Click to draw pixels. Hold Shift to constrain to a line.",
brush: "Click and drag to paint. [ ] to change size.",
…
s85689 Input vqi btn toolButtonUseful 0.86 toolElementUseful 0.52 FlowName better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s85689 / vqi ×
Declaration · line 2669 …
v4i.emit("tool:changed", vqh);
document.querySelectorAll(".tool-btn").forEach(vqi => {
vqi.classList.toggle("active", vqi.dataset.tool === vqh);
});
document.getElementById("status-tool").textContent = this.activeTool ? this.activeTool.name : "";
const vqj = {
pencil: "Click to draw pixels. Hold Shift to constrain to a line.",
…
s85890 Input vqj helpTexts toolDescriptionsUseful 0.82 eventDataUseful 0.04 FlowName better Present Pre-rename JavaScript · s85890 / vqj ×
Declaration · line 2673 …
document.getElementById("status-tool").textContent = this.activeTool ? this.activeTool.name : "";
const vqj = {
pencil: "Click to draw pixels. Hold Shift to constrain to a line.",
brush: "Click and drag to paint. [ ] to change size.",
eraser: "Click and drag to erase. [ ] to change size.",
fill: "Click to flood fill an area. Right-click for secondary color.",
… Reference · line 2688 …
move: "Drag to move, handles to resize, top handle to rotate. Enter to commit."
};
document.getElementById("status-help").textContent = vqj [vqh] || "";
}
getOptions() {
return this.activeTool ? this.activeTool.getOptions() : [];
}
};
function vqk(vql, vqm, vqn) {
vql = (vql % 360 + 360) % 360;
vqm /= 100;
vqn /= 100;
const vqo = vqn * vqm,
…
s87045 Input vqk hsvToRgb hsvToRgbUseful 0.96 EventEmitter22Useful 0.02 FlowName better Absent Pre-rename JavaScript · s87045 / vqk ×
Declaration · line 2694 …
getOptions() {
return this.activeTool ? this.activeTool.getOptions() : [];
}
};
function vqk (vql, vqm, vqn) {
vql = (vql % 360 + 360) % 360;
vqm /= 100;
vqn /= 100;
const vqo = vqn * vqm,
vqp = vqo * (1 - Math.abs(vql / 60 % 2 - 1)),
vqq = vqn - vqo;
let vqr, vqs, vqt;
if (vql < 60) [vqr, vqs, vqt] = [vqo, vqp, 0];else if (vql < 120) [vqr, vqs, vqt] = [vqp, vqo, 0];else
… Reference · line 2791 …
document.getElementById("input-hex").value = vr6(vrl, vrm, vrn);
}
_updateSVSquare(vro) {
const [vrp, vrq, vrr] = vqk (vro, 100, 100);
document.getElementById("sv-square").style.background = `linear-gradient(to top, #000, transparent), linear-gradient(to right, #fff, rgb(${vrp},${vrq},${vrr}))`;
}
_applyHSV() {
const vrs = vqk(...this.hsv);
…
s87049 Input vql h hueUseful 0.92 hueUseful 0.92 Both useful Present Pre-rename JavaScript · s87049 / vql ×
Declaration · line 2694 …
return this.activeTool ? this.activeTool.getOptions() : [];
}
};
function vqk(vql , vqm, vqn) {
vql = (vql % 360 + 360) % 360;
vqm /= 100;
vqn /= 100;
const vqo = vqn * vqm,
vqp = vqo * (1 - Math.abs(vql / 60 % 2 - 1)),
vqq = vqn - vqo;
let vqr, vqs, vqt;
if (vql < 60) [vqr, vqs, vqt] = [vqo, vqp, 0];else if (vql < 120) [vqr, vqs, vqt] = [vqp, vqo, 0];else if (
… Reference · line 2702 …
if (vql < 60) [vqr, vqs, vqt] = [vqo, vqp, 0];else if (vql < 120) [vqr, vqs, vqt] = [vqp, vqo, 0];else if (vql < 180) [vqr, vqs, vqt] = [0, vqo, vqp];else if (vql < 240) [vqr, vqs, vqt] = [0, vqp, vqo];else if (vql < 300) [vqr, vqs, vqt] = [vqp, 0, vqo];else [vqr, vqs, vqt] = [vqo, 0, vqp];
return [Math.round((vqr + vqq) * 255), Math.round((vqs + vqq) * 255), Math.round((vqt + vqq) * 255)];
…
s87054 Input vqm s saturationUseful 0.93 saturationUseful 0.93 Both useful Present Pre-rename JavaScript · s87054 / vqm ×
Declaration · line 2694 …
return this.activeTool ? this.activeTool.getOptions() : [];
}
};
function vqk(vql, vqm , vqn) {
vql = (vql % 360 + 360) % 360;
vqm /= 100;
vqn /= 100;
const vqo = vqn * vqm,
vqp = vqo * (1 - Math.abs(vql / 60 % 2 - 1)),
vqq = vqn - vqo;
let vqr, vqs, vqt;
if (vql < 60) [vqr, vqs, vqt] = [vqo, vqp, 0];else if (vql < 120) [vqr, vqs, vqt] = [vqp, vqo, 0];else if (vql <
…
s87059 Input vqn v valueUseful 0.86 lightnessUseful 0.12 FlowName better Present Pre-rename JavaScript · s87059 / vqn ×
Declaration · line 2694 …
return this.activeTool ? this.activeTool.getOptions() : [];
}
};
function vqk(vql, vqm, vqn ) {
vql = (vql % 360 + 360) % 360;
vqm /= 100;
vqn /= 100;
const vqo = vqn * vqm,
vqp = vqo * (1 - Math.abs(vql / 60 % 2 - 1)),
vqq = vqn - vqo;
let vqr, vqs, vqt;
if (vql < 60) [vqr, vqs, vqt] = [vqo, vqp, 0];else if (vql < 120) [vqr, vqs, vqt] = [vqp, vqo, 0];else if (vql < 180)
…
s87143 Input vqo c chromaUseful 0.92 chromaUseful 0.92 Both useful Present Pre-rename JavaScript · s87143 / vqo ×
Declaration · line 2698 …
function vqk(vql, vqm, vqn) {
vql = (vql % 360 + 360) % 360;
vqm /= 100;
vqn /= 100;
const vqo = vqn * vqm,
vqp = vqo * (1 - Math.abs(vql / 60 % 2 - 1)),
vqq = vqn - vqo;
let vqr, vqs, vqt;
if (vql < 60) [vqr, vqs, vqt] = [vqo, vqp, 0];else if (vql < 120) [vqr, vqs, vqt] = [vqp, vqo, 0];else if (vql < 180) [vqr, vqs, vqt] = [0, vqo, vqp];else if (vql < 240) [vqr, vqs, vqt] = [0, vqp, vqo]
… Reference · line 2702 …
vqo, 0];else if (vql < 180) [vqr, vqs, vqt] = [0, vqo, vqp];else if (vql < 240) [vqr, vqs, vqt] = [0, vqp, vqo];else if (vql < 300) [vqr, vqs, vqt] = [vqp, 0, vqo ];else [vqr, vqs, vqt] = [vqo, 0, vqp];
return [Math.round((vqr + vqq) * 255), Math.round((vqs + vqq) * 255), Math.round((vqt + vqq) * 255)];
}
function vqu(vqv, vqw, vqx) {
vqv /= 255;
vqw /= 255;
vqx /= 255;
const vqy = Math.max(vqv, vqw, vqx),
…
s87166 Input vqp x xUseful 0.30 chromaValueUseful 0.48 Both poor Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s87166 / vqp ×
Declaration · line 2699 …
vql = (vql % 360 + 360) % 360;
vqm /= 100;
vqn /= 100;
const vqo = vqn * vqm,
vqp = vqo * (1 - Math.abs(vql / 60 % 2 - 1)),
vqq = vqn - vqo;
let vqr, vqs, vqt;
if (vql < 60) [vqr, vqs, vqt] = [vqo, vqp, 0];else if (vql < 120) [vqr, vqs, vqt] = [vqp, vqo, 0];else if (vql < 180) [vqr, vqs, vqt] = [0, vqo, vqp];else if (vql < 240) [vqr, vqs, vqt] = [0, vqp, vqo];else if (vql < 300) [v
… Reference · line 2702 …
= [vqp, vqo, 0];else if (vql < 180) [vqr, vqs, vqt] = [0, vqo, vqp];else if (vql < 240) [vqr, vqs, vqt] = [0, vqp, vqo];else if (vql < 300) [vqr, vqs, vqt] = [vqp , 0, vqo];else [vqr, vqs, vqt] = [vqo, 0, vqp];
return [Math.round((vqr + vqq) * 255), Math.round((vqs + vqq) * 255), Math.round((vqt + vqq) * 255)];
}
function vqu(vqv, vqw, vqx) {
vqv /= 255;
vqw /= 255;
vqx /= 255;
…
s87218 Input vqq m mUseful 0.60 chroma2Useful 0.12 FlowName better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s87218 / vqq ×
Declaration · line 2700 …
vqn /= 100;
const vqo = vqn * vqm,
vqp = vqo * (1 - Math.abs(vql / 60 % 2 - 1)),
vqq = vqn - vqo;
let vqr, vqs, vqt;
if (vql < 60) [vqr, vqs, vqt] = [vqo, vqp, 0];else if (vql < 120) [vqr, vqs, vqt] = [vqp, vqo, 0];else if (vql < 180) [vqr, vqs, vqt] = [0, vqo, vqp];else if (vql < 240) [vqr, vqs, vqt] = [0, vqp, vqo];else if (vql < 300) [vqr, vqs, vqt] = [vqp, 0, vqo];else [vqr, vqs, vqt] =
… Reference · line 2703 …
< 240) [vqr, vqs, vqt] = [0, vqp, vqo];else if (vql < 300) [vqr, vqs, vqt] = [vqp, 0, vqo];else [vqr, vqs, vqt] = [vqo, 0, vqp];
return [Math.round((vqr + vqq ) * 255), Math.round((vqs + vqq) * 255), Math.round((vqt + vqq) * 255)];
}
function vqu(vqv, vqw, vqx) {
vqv /= 255;
vqw /= 255;
vqx /= 255;
const vqy = Math.max(vqv, vqw, vqx),
vqz = Math.min(vqv, vqw, vqx),
vr0 = vqy - vqz;
…
s87243 Input vqr r rUseful 0.69 redValueUseful 0.72 Both useful Present Preference confidence is low. Pre-rename JavaScript · s87243 / vqr ×
Declaration · line 2701 …
const vqo = vqn * vqm,
vqp = vqo * (1 - Math.abs(vql / 60 % 2 - 1)),
vqq = vqn - vqo;
let vqr , vqs, vqt;
if (vql < 60) [vqr, vqs, vqt] = [vqo, vqp, 0];else if (vql < 120) [vqr, vqs, vqt] = [vqp, vqo, 0];else if (vql < 180) [vqr, vqs, vqt] = [0, vqo, vqp];else if (vql < 240) [vqr, vqs, vqt] = [0, vqp, vqo];else if (vql < 300) [vqr, vqs, vqt] = [vqp, 0, vqo];else [vqr, vqs, vqt] = [vqo, 0, vqp];
… Reference · line 2703 …
f (vql < 240) [vqr, vqs, vqt] = [0, vqp, vqo];else if (vql < 300) [vqr, vqs, vqt] = [vqp, 0, vqo];else [vqr, vqs, vqt] = [vqo, 0, vqp];
return [Math.round((vqr + vqq) * 255), Math.round((vqs + vqq) * 255), Math.round((vqt + vqq) * 255)];
}
function vqu(vqv, vqw, vqx) {
vqv /= 255;
vqw /= 255;
vqx /= 255;
const vqy = Math.max(vqv, vqw, vqx),
vqz = Math.min(vqv, vqw, vqx),
…
s87248 Input vqs g gUseful 0.49 greenUseful 0.73 Humanify better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s87248 / vqs ×
Declaration · line 2701 …
const vqo = vqn * vqm,
vqp = vqo * (1 - Math.abs(vql / 60 % 2 - 1)),
vqq = vqn - vqo;
let vqr, vqs , vqt;
if (vql < 60) [vqr, vqs, vqt] = [vqo, vqp, 0];else if (vql < 120) [vqr, vqs, vqt] = [vqp, vqo, 0];else if (vql < 180) [vqr, vqs, vqt] = [0, vqo, vqp];else if (vql < 240) [vqr, vqs, vqt] = [0, vqp, vqo];else if (vql < 300) [vqr, vqs, vqt] = [vqp, 0, vqo];else [vqr, vqs, vqt] = [vqo, 0, vqp];
… Reference · line 2703 …
[0, vqp, vqo];else if (vql < 300) [vqr, vqs, vqt] = [vqp, 0, vqo];else [vqr, vqs, vqt] = [vqo, 0, vqp];
return [Math.round((vqr + vqq) * 255), Math.round((vqs + vqq) * 255), Math.round((vqt + vqq) * 255)];
}
function vqu(vqv, vqw, vqx) {
vqv /= 255;
vqw /= 255;
vqx /= 255;
const vqy = Math.max(vqv, vqw, vqx),
vqz = Math.min(vqv, vqw, vqx),
vr0 = vqy - vqz;
let vr1 = 0,
…
s87253 Input vqt b bUseful 0.38 blueUseful 0.24 Both poor Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s87253 / vqt ×
Declaration · line 2701 …
vqp = vqo * (1 - Math.abs(vql / 60 % 2 - 1)),
vqq = vqn - vqo;
let vqr, vqs, vqt ;
if (vql < 60) [vqr, vqs, vqt] = [vqo, vqp, 0];else if (vql < 120) [vqr, vqs, vqt] = [vqp, vqo, 0];else if (vql < 180) [vqr, vqs, vqt] = [0, vqo, vqp];else if (vql < 240) [vqr, vqs, vqt] = [0, vqp, vqo];else if (vql < 300) [vqr, vqs, vqt] = [vqp, 0, vqo];else [vqr, vqs, vqt] = [vqo, 0, vqp];
… Reference · line 2703 …
00) [vqr, vqs, vqt] = [vqp, 0, vqo];else [vqr, vqs, vqt] = [vqo, 0, vqp];
return [Math.round((vqr + vqq) * 255), Math.round((vqs + vqq) * 255), Math.round((vqt + vqq) * 255)];
}
function vqu(vqv, vqw, vqx) {
vqv /= 255;
vqw /= 255;
vqx /= 255;
const vqy = Math.max(vqv, vqw, vqx),
vqz = Math.min(vqv, vqw, vqx),
vr0 = vqy - vqz;
let vr1 = 0,
vr2 = vqy === 0 ? 0 : vr0 / vqy,
…
s87675 Input vqu rgbToHsv rgbToHsvUseful 0.94 EventEmitter23Useful 0.02 FlowName better Absent Pre-rename JavaScript · s87675 / vqu ×
Declaration · line 2705 …
return [Math.round((vqr + vqq) * 255), Math.round((vqs + vqq) * 255), Math.round((vqt + vqq) * 255)];
}
function vqu (vqv, vqw, vqx) {
vqv /= 255;
vqw /= 255;
vqx /= 255;
const vqy = Math.max(vqv, vqw, vqx),
vqz = Math.min(vqv, vqw, vqx),
vr0 = vqy - vqz;
let vr1 = 0,
vr2 = vqy === 0 ? 0 : vr0 / vqy,
vr3 = vqy;
… Reference · line 2753 …
this.primaryRgb = vr4(vrf);
v4i._primaryColor = vrf;
this._editingTarget = "primary";
this.hsv = vqu (...this.primaryRgb);
this._updateUI();
}
setSecondary(vrg) {
this.secondaryRgb = vr4(vrg);
v4i._secondaryColor = vrg;
this._editingTarget = "secondary";
this.hsv = vqu(...this.secondaryRgb);
this._updateUI();
…
s87679 Input vqv r rUseful 0.80 redUseful 0.59 Both useful Present Usefulness probability is near the provisional 0.5 boundary. Preference confidence is low. Pre-rename JavaScript · s87679 / vqv ×
Declaration · line 2705 …
return [Math.round((vqr + vqq) * 255), Math.round((vqs + vqq) * 255), Math.round((vqt + vqq) * 255)];
}
function vqu(vqv , vqw, vqx) {
vqv /= 255;
vqw /= 255;
vqx /= 255;
const vqy = Math.max(vqv, vqw, vqx),
vqz = Math.min(vqv, vqw, vqx),
vr0 = vqy - vqz;
let vr1 = 0,
vr2 = vqy === 0 ? 0 : vr0 / vqy,
vr3 = vqy;
if (vr0 !== 0) {
… Reference · line 2716 …
vr2 = vqy === 0 ? 0 : vr0 / vqy,
vr3 = vqy;
if (vr0 !== 0) {
if (vqy === vqv ) vr1 = 60 * ((vqw - vqx) / vr0 % 6);else if (vqy === vqw) vr1 = 60 * ((vqx - vqv) / vr0 + 2);else vr1 = 60 * ((vqv - vqw) / vr0 + 4);
}
if (vr1 < 0) vr1 += 360;
return [Math.round(vr1), Math.round(vr2 * 100), Math.round(vr3 * 100)];
…
s87684 Input vqw g gUseful 0.53 greenUseful 0.81 Humanify better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s87684 / vqw ×
Declaration · line 2705 …
return [Math.round((vqr + vqq) * 255), Math.round((vqs + vqq) * 255), Math.round((vqt + vqq) * 255)];
}
function vqu(vqv, vqw , vqx) {
vqv /= 255;
vqw /= 255;
vqx /= 255;
const vqy = Math.max(vqv, vqw, vqx),
vqz = Math.min(vqv, vqw, vqx),
vr0 = vqy - vqz;
let vr1 = 0,
vr2 = vqy === 0 ? 0 : vr0 / vqy,
vr3 = vqy;
if (vr0 !== 0) {
… Reference · line 2716 …
vr2 = vqy === 0 ? 0 : vr0 / vqy,
vr3 = vqy;
if (vr0 !== 0) {
if (vqy === vqv) vr1 = 60 * ((vqw - vqx) / vr0 % 6);else if (vqy === vqw) vr1 = 60 * ((vqx - vqv) / vr0 + 2);else vr1 = 60 * ((vqv - vqw) / vr0 + 4);
}
if (vr1 < 0) vr1 += 360;
return [Math.round(vr1), Math.round(vr2 * 100), Math.round(vr3 * 100)];
}
function vr4(vr5) {
…
s87689 Input vqx b bUseful 0.71 blueUseful 0.41 FlowName better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s87689 / vqx ×
Declaration · line 2705 …
return [Math.round((vqr + vqq) * 255), Math.round((vqs + vqq) * 255), Math.round((vqt + vqq) * 255)];
}
function vqu(vqv, vqw, vqx ) {
vqv /= 255;
vqw /= 255;
vqx /= 255;
const vqy = Math.max(vqv, vqw, vqx),
vqz = Math.min(vqv, vqw, vqx),
vr0 = vqy - vqz;
let vr1 = 0,
vr2 = vqy === 0 ? 0 : vr0 / vqy,
vr3 = vqy;
if (vr0 !== 0) {
… Reference · line 2716 …
vr2 = vqy === 0 ? 0 : vr0 / vqy,
vr3 = vqy;
if (vr0 !== 0) {
if (vqy === vqv) vr1 = 60 * ((vqw - vqx ) / vr0 % 6);else if (vqy === vqw) vr1 = 60 * ((vqx - vqv) / vr0 + 2);else vr1 = 60 * ((vqv - vqw) / vr0 + 4);
}
if (vr1 < 0) vr1 += 360;
return [Math.round(vr1), Math.round(vr2 * 100), Math.round(vr3 * 100)];
}
function vr4(vr5) {
…
s87754 Input vqy max maxUseful 0.90 maxValUseful 0.83 Both useful Present Preference confidence is low. Pre-rename JavaScript · s87754 / vqy ×
Declaration · line 2709 …
function vqu(vqv, vqw, vqx) {
vqv /= 255;
vqw /= 255;
vqx /= 255;
const vqy = Math.max(vqv, vqw, vqx),
vqz = Math.min(vqv, vqw, vqx),
vr0 = vqy - vqz;
let vr1 = 0,
vr2 = vqy === 0 ? 0 : vr0 / vqy,
vr3 = vqy;
if (vr0 !== 0) {
if (vqy === vqv) vr1 = 60 * ((vqw - vqx) / vr0 % 6);else if (vqy === vqw) vr1 = 60 * ((vqx - vqv) / vr0 + 2);else vr1 = 60 * ((vq
…
s87791 Input vqz min minUseful 0.94 minValUseful 0.74 FlowName better Present Pre-rename JavaScript · s87791 / vqz ×
Declaration · line 2710 …
vqv /= 255;
vqw /= 255;
vqx /= 255;
const vqy = Math.max(vqv, vqw, vqx),
vqz = Math.min(vqv, vqw, vqx),
vr0 = vqy - vqz;
let vr1 = 0,
vr2 = vqy === 0 ? 0 : vr0 / vqy,
vr3 = vqy;
if (vr0 !== 0) {
if (vqy === vqv) vr1 = 60 * ((vqw - vqx) / vr0 % 6);else if (vqy === vqw) vr1 = 60 * ((vqx - vqv) / vr0 + 2);else vr1 = 60 * ((vqv - vqw) / vr0 + 4);
…
s87828 Input vr0 d deltaUseful 0.91 deltaUseful 0.91 Both useful Present Pre-rename JavaScript · s87828 / vr0 ×
Declaration · line 2711 …
vqx /= 255;
const vqy = Math.max(vqv, vqw, vqx),
vqz = Math.min(vqv, vqw, vqx),
vr0 = vqy - vqz;
let vr1 = 0,
vr2 = vqy === 0 ? 0 : vr0 / vqy,
vr3 = vqy;
if (vr0 !== 0) {
if (vqy === vqv) vr1 = 60 * ((vqw - vqx) / vr0 % 6);else if (vqy === vqw) vr1 = 60 * ((vqx - vqv) / vr0 + 2);else vr1 = 60 * ((vqv - vqw) / vr0 + 4);
…
s87853 Input vr1 h hUseful 0.78 hueUseful 0.93 Humanify better Present Pre-rename JavaScript · s87853 / vr1 ×
Declaration · line 2712 …
const vqy = Math.max(vqv, vqw, vqx),
vqz = Math.min(vqv, vqw, vqx),
vr0 = vqy - vqz;
let vr1 = 0,
vr2 = vqy === 0 ? 0 : vr0 / vqy,
vr3 = vqy;
if (vr0 !== 0) {
if (vqy === vqv) vr1 = 60 * ((vqw - vqx) / vr0 % 6);else if (vqy === vqw) vr1 = 60 * ((vqx - vqv) / vr0 + 2);else vr1 = 60 * ((vqv - vqw) / vr0 + 4);
… Reference · line 2718 …
vqy === vqv) vr1 = 60 * ((vqw - vqx) / vr0 % 6);else if (vqy === vqw) vr1 = 60 * ((vqx - vqv) / vr0 + 2);else vr1 = 60 * ((vqv - vqw) / vr0 + 4);
}
if (vr1 < 0) vr1 += 360;
return [Math.round(vr1), Math.round(vr2 * 100), Math.round(vr3 * 100)];
}
function vr4(vr5) {
vr5 = vr5.replace("#", "");
if (vr5.length === 3) vr5 = vr5[0] + vr5[0] + vr5[1] + vr5[1] + vr5[2] + vr5[2];
return [parseInt(vr5.slice(0, 2), 16), parseInt(vr5.slice(2, 4), 16), parseI
…
s87868 Input vr2 s sUseful 0.61 saturationUseful 0.92 Humanify better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s87868 / vr2 ×
Declaration · line 2713 …
const vqy = Math.max(vqv, vqw, vqx),
vqz = Math.min(vqv, vqw, vqx),
vr0 = vqy - vqz;
let vr1 = 0,
vr2 = vqy === 0 ? 0 : vr0 / vqy,
vr3 = vqy;
if (vr0 !== 0) {
if (vqy === vqv) vr1 = 60 * ((vqw - vqx) / vr0 % 6);else if (vqy === vqw) vr1 = 60 * ((vqx - vqv) / vr0 + 2);else vr1 = 60 * ((vqv - vqw) / vr0 + 4);
}
if (vr1 < 0) vr1 += 360;
… Reference · line 2719 …
=== vqw) vr1 = 60 * ((vqx - vqv) / vr0 + 2);else vr1 = 60 * ((vqv - vqw) / vr0 + 4);
}
if (vr1 < 0) vr1 += 360;
return [Math.round(vr1), Math.round(vr2 * 100), Math.round(vr3 * 100)];
}
function vr4(vr5) {
vr5 = vr5.replace("#", "");
if (vr5.length === 3) vr5 = vr5[0] + vr5[0] + vr5[1] + vr5[1] + vr5[2] + vr5[2];
return [parseInt(vr5.slice(0, 2), 16), parseInt(vr5.slice(2, 4), 16), parseInt(vr5.slice(4, 6), 16)];
…
s87907 Input vr3 v vUseful 0.79 valueVUseful 0.83 Humanify better Present Pre-rename JavaScript · s87907 / vr3 ×
Declaration · line 2714 …
vqz = Math.min(vqv, vqw, vqx),
vr0 = vqy - vqz;
let vr1 = 0,
vr2 = vqy === 0 ? 0 : vr0 / vqy,
vr3 = vqy;
if (vr0 !== 0) {
if (vqy === vqv) vr1 = 60 * ((vqw - vqx) / vr0 % 6);else if (vqy === vqw) vr1 = 60 * ((vqx - vqv) / vr0 + 2);else vr1 = 60 * ((vqv - vqw) / vr0 + 4);
}
if (vr1 < 0) vr1 += 360;
return [Math.round(vr1), Math.round(vr2 * 100), Math.round(vr3 * 100)];
…
s88221 Input vr4 hexToRgb normalizeHexColorUseful 0.15 eventEmitterUseful 0.03 Both poor Absent Pre-rename JavaScript · s88221 / vr4 ×
Declaration · line 2721 …
return [Math.round(vr1), Math.round(vr2 * 100), Math.round(vr3 * 100)];
}
function vr4 (vr5) {
vr5 = vr5.replace("#", "");
if (vr5.length === 3) vr5 = vr5[0] + vr5[0] + vr5[1] + vr5[1] + vr5[2] + vr5[2];
return [parseInt(vr5.slice(0, 2), 16), parseInt(vr5.slice(2, 4), 16), parseInt(vr5.slice(4, 6), 16)];
}
function vr6(vr7, vr8, vr9) {
… Reference · line 2750 …
v4i.on("color:set-secondary", vre => this.setSecondary(vre));
}
setPrimary(vrf) {
this.primaryRgb = vr4 (vrf);
v4i._primaryColor = vrf;
this._editingTarget = "primary";
this.hsv = vqu(...this.primaryRgb);
this._updateUI();
}
setSecondary(vrg) {
this.secondaryRgb = vr4(vrg);
v4i._secondaryColor = vrg;
…
s88225 Input vr5 hex hexUseful 0.85 hexColorUseful 0.49 FlowName better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s88225 / vr5 ×
Declaration · line 2721 …
return [Math.round(vr1), Math.round(vr2 * 100), Math.round(vr3 * 100)];
}
function vr4(vr5 ) {
vr5 = vr5.replace("#", "");
if (vr5.length === 3) vr5 = vr5[0] + vr5[0] + vr5[1] + vr5[1] + vr5[2] + vr5[2];
return [parseInt(vr5.slice(0, 2), 16), parseInt(vr5.slice(2, 4), 16), parseInt(vr5.slice(4, 6), 16)];
}
function vr6(vr7, vr8, vr9) {
…
s88470 Input vr6 rgbToHex rgbToHexUseful 0.95 listener9Useful 0.03 FlowName better Absent Pre-rename JavaScript · s88470 / vr6 ×
Declaration · line 2726 …
return [parseInt(vr5.slice(0, 2), 16), parseInt(vr5.slice(2, 4), 16), parseInt(vr5.slice(4, 6), 16)];
}
function vr6 (vr7, vr8, vr9) {
return "#" + [vr7, vr8, vr9].map(vra => Math.max(0, Math.min(255, Math.round(vra))).toString(16).padStart(2, "0")).join("");
}
var vrb = {
lospec500: ["#10121c", "#2c1e31", "#6b2643", "#ac2847", "#ec273f", "#94493a", "#de5d3a", "#e98537", "#f3a833", "#4d3533", "#6e4c30", "#a26d3f", "#ce
… Reference · line 2767 …
this.primaryRgb = this.secondaryRgb;
this.secondaryRgb = vrh;
v4i._primaryColor = vr6 (...this.primaryRgb);
v4i._secondaryColor = vr6(...this.secondaryRgb);
this.hsv = vqu(...this.primaryRgb);
this._editingTarget = "primary";
this._updateUI();
}
_updateUI() {
document.getElementById("swatch-primary").style.background = vr6(...this.primaryRgb);
…
s88474 Input vr7 r rUseful 0.80 redUseful 0.77 Both useful Present Preference confidence is low. Pre-rename JavaScript · s88474 / vr7 ×
Declaration · line 2726 …
return [parseInt(vr5.slice(0, 2), 16), parseInt(vr5.slice(2, 4), 16), parseInt(vr5.slice(4, 6), 16)];
}
function vr6(vr7 , vr8, vr9) {
return "#" + [vr7, vr8, vr9].map(vra => Math.max(0, Math.min(255, Math.round(vra))).toString(16).padStart(2, "0")).join("");
}
var vrb = {
lospec500: ["#10121c", "#2c1e31", "#6b2643", "#ac2847", "#ec273f", "#94493a", "#de5d3a", "#e98537", "#f3a833", "#4d3533", "#6e4c30", "#a26d3f", "#ce9248
…
s88479 Input vr8 g gUseful 0.64 greenUseful 0.70 Humanify better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s88479 / vr8 ×
Declaration · line 2726 …
return [parseInt(vr5.slice(0, 2), 16), parseInt(vr5.slice(2, 4), 16), parseInt(vr5.slice(4, 6), 16)];
}
function vr6(vr7, vr8 , vr9) {
return "#" + [vr7, vr8, vr9].map(vra => Math.max(0, Math.min(255, Math.round(vra))).toString(16).padStart(2, "0")).join("");
}
var vrb = {
lospec500: ["#10121c", "#2c1e31", "#6b2643", "#ac2847", "#ec273f", "#94493a", "#de5d3a", "#e98537", "#f3a833", "#4d3533", "#6e4c30", "#a26d3f", "#ce9248", "#
…
s88484 Input vr9 b bUseful 0.43 blueUseful 0.13 Both poor Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s88484 / vr9 ×
Declaration · line 2726 …
return [parseInt(vr5.slice(0, 2), 16), parseInt(vr5.slice(2, 4), 16), parseInt(vr5.slice(4, 6), 16)];
}
function vr6(vr7, vr8, vr9 ) {
return "#" + [vr7, vr8, vr9].map(vra => Math.max(0, Math.min(255, Math.round(vra))).toString(16).padStart(2, "0")).join("");
}
var vrb = {
lospec500: ["#10121c", "#2c1e31", "#6b2643", "#ac2847", "#ec273f", "#94493a", "#de5d3a", "#e98537", "#f3a833", "#4d3533", "#6e4c30", "#a26d3f", "#ce9248", "#dab16
…
s88528 Input vra v colorComponentUseful 0.80 byteValueUseful 0.48 FlowName better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s88528 / vra ×
Declaration · line 2727 …
t(vr5.slice(0, 2), 16), parseInt(vr5.slice(2, 4), 16), parseInt(vr5.slice(4, 6), 16)];
}
function vr6(vr7, vr8, vr9) {
return "#" + [vr7, vr8, vr9].map(vra => Math.max(0, Math.min(255, Math.round(vra))).toString(16).padStart(2, "0")).join("");
}
var vrb = {
lospec500: ["#10121c", "#2c1e31", "#6b2643", "#ac2847", "#ec273f", "#94493a", "#de5d3a", "#e98537", "#f3a833", "#4d3533", "#6e4c30", "#a26d3f", "#ce9248", "#dab163", "#e8d282", "#f7f3b7", "#1e4044", "#00655
…
s88630 Input vrb PALETTES presetPalettesUseful 0.81 Layer2Useful 0.05 FlowName better Absent Pre-rename JavaScript · s88630 / vrb ×
Declaration · line 2729 …
return "#" + [vr7, vr8, vr9].map(vra => Math.max(0, Math.min(255, Math.round(vra))).toString(16).padStart(2, "0")).join("");
}
var vrb = {
lospec500: ["#10121c", "#2c1e31", "#6b2643", "#ac2847", "#ec273f", "#94493a", "#de5d3a", "#e98537", "#f3a833", "#4d3533", "#6e4c30", "#a26d3f", "#ce9248", "#dab163", "#e8d282", "#f7f3b7", "#1e4044", "#006554", "#26854c", "#5ab552", "#9de64e", "#008b8b", "#62a477", "#a6cb96", "#d3eed3", "#3e3b65", "#3859b3",
… Reference · line 2815 …
const vrv = document.getElementById("palette");
vrv.innerHTML = "";
const vrw = vrb [vru] || vrb.lospec500;
vrv.style.gridTemplateColumns = `repeat(${vrw.length <= 16 ? 4 : 8}, 1fr)`;
for (const vrx of vrw) {
const vry = document.createElement("div");
vry.className = "palette-color";
vry.style.background = vrx;
…
s89316 Input vrc ColorSystem ColorManagerUseful 0.77 EventEmitter24Useful 0.04 FlowName better Absent Pre-rename JavaScript · s89316 / vrc ×
Declaration · line 2733 …
553", "#008751", "#ab5236", "#5f574f", "#c2c3c7", "#fff1e8", "#ff004d", "#ffa300", "#ffec27", "#00e436", "#29adff", "#83769c", "#ff77a8", "#ffccaa"]
};
var vrc = class {
constructor() {
this.primaryRgb = [0, 0, 0];
this.secondaryRgb = [255, 255, 255];
this.hsv = [0, 0, 0];
this._editingTarget = "primary";
v4i._primaryColor = "#000000";
v4i._secondaryColor = "#ffffff";
… Reference · line 4377 …
this.renderer = new v4j();
this.toolManager = new vq7();
this.colorSystem = new vrc ();
this.layersPanel = new vsw();
this.historyPanel = new vtt();
this.docManager = new vu2();
this.toolOptions = new vw6();
this.menuBar = new vxj(this);
this.newDialog = new vy2();
this.canvasSizeDialog = new vyd();
…
s89741 Input vrd hex primaryColorUseful 0.70 primaryValueUseful 0.23 FlowName better Present Pre-rename JavaScript · s89741 / vrd ×
Declaration · line 2746 …
this._initSwatches();
this._initAlpha();
this._initHSVPicker();
v4i.on("color:set-primary", vrd => this.setPrimary(vrd));
v4i.on("color:set-secondary", vre => this.setSecondary(vre));
}
setPrimary(vrf) {
this.primaryRgb = vr4(vrf);
v4i._primaryColor = vrf;
this._editingTarget = "primary";
this.hsv = vqu(...this.primaryRgb);
…
s89807 Input vre hex colorUseful 0.37 secondaryValueUseful 0.19 Both poor Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s89807 / vre ×
Declaration · line 2747 …
v4i.on("color:set-primary", vrd => this.setPrimary(vrd));
v4i.on("color:set-secondary", vre => this.setSecondary(vre));
}
setPrimary(vrf) {
this.primaryRgb = vr4(vrf);
v4i._primaryColor = vrf;
this._editingTarget = "primary";
this.hsv = vqu(...this.primaryRgb);
this._updateUI();
}
setSecondary(vrg) {
…
s89860 Input vrf hex colorHexUseful 0.80 colorValueUseful 0.25 FlowName better Present Pre-rename JavaScript · s89860 / vrf ×
Declaration · line 2749 …
v4i.on("color:set-primary", vrd => this.setPrimary(vrd));
v4i.on("color:set-secondary", vre => this.setSecondary(vre));
}
setPrimary(vrf ) {
this.primaryRgb = vr4(vrf);
v4i._primaryColor = vrf;
this._editingTarget = "primary";
this.hsv = vqu(...this.primaryRgb);
this._updateUI();
}
setSecondary(vrg) {
this.secondaryRgb = vr4(vrg);
…
s90060 Input vrg hex colorHexUseful 0.70 rgbColorUseful 0.16 FlowName better Present Pre-rename JavaScript · s90060 / vrg ×
Declaration · line 2756 …
this._editingTarget = "primary";
this.hsv = vqu(...this.primaryRgb);
this._updateUI();
}
setSecondary(vrg ) {
this.secondaryRgb = vr4(vrg);
v4i._secondaryColor = vrg;
this._editingTarget = "secondary";
this.hsv = vqu(...this.secondaryRgb);
this._updateUI();
}
swap() {
const vrh = this.primaryRgb;
this.primaryRgb = this.secondaryRgb;
…
s90276 Input vrh tmp tempRgbUseful 0.68 tempRgbUseful 0.68 Both useful Present Pre-rename JavaScript · s90276 / vrh ×
Declaration · line 2764 …
this.hsv = vqu(...this.secondaryRgb);
this._updateUI();
}
swap() {
const vrh = this.primaryRgb;
this.primaryRgb = this.secondaryRgb;
this.secondaryRgb = vrh;
v4i._primaryColor = vr6(...this.primaryRgb);
v4i._secondaryColor = vr6(...this.secondaryRgb);
this.hsv = vqu(...this.primaryRgb);
…
s90809 Input vri h hueUseful 0.83 hueUseful 0.83 Both useful Present Pre-rename JavaScript · s90809 / vri ×
Declaration · line 2776 …
document.getElementById("swatch-secondary").style.background = vr6(...this.secondaryRgb);
const [vri , vrj, vrk] = this.hsv;
const [vrl, vrm, vrn] = this._editingTarget === "primary" ? this.primaryRgb : this.secondaryRgb;
this._updateSVSquare(vri);
document.getElementById("sv-cursor").style.left = vrj + "%";
document.getElementById("sv-cursor").style.top = 100 - vrk + "%";
… Reference · line 2781 …
document.getElementById("sv-cursor").style.top = 100 - vrk + "%";
document.getElementById("hue-cursor").style.left = vri / 360 * 100 + "%";
document.getElementById("input-h").value = vri;
document.getElementById("input-s").value = vrj;
document.getElementById("input-v").value = vrk;
document.getElementById("input-r").value = vrl;
document.getElementById("input-g").value = vrm;
…
s90814 Input vrj s saturationUseful 0.92 saturationUseful 0.92 Both useful Present Pre-rename JavaScript · s90814 / vrj ×
Declaration · line 2776 …
document.getElementById("swatch-secondary").style.background = vr6(...this.secondaryRgb);
const [vri, vrj , vrk] = this.hsv;
const [vrl, vrm, vrn] = this._editingTarget === "primary" ? this.primaryRgb : this.secondaryRgb;
this._updateSVSquare(vri);
document.getElementById("sv-cursor").style.left = vrj + "%";
document.getElementById("sv-cursor").style.top = 100 - vrk + "%";
… Reference · line 2783 …
document.getElementById("input-h").value = vri;
document.getElementById("input-s").value = vrj ;
document.getElementById("input-v").value = vrk;
document.getElementById("input-r").value = vrl;
document.getElementById("input-g").value = vrm;
document.getElementById("input-b").value = vrn;
document.getElementById("input-hex").value = vr6(vrl, vrm, vrn);
…
s90819 Input vrk v valueUseful 0.34 valueVUseful 0.76 Humanify better Present Pre-rename JavaScript · s90819 / vrk ×
Declaration · line 2776 …
document.getElementById("swatch-secondary").style.background = vr6(...this.secondaryRgb);
const [vri, vrj, vrk ] = this.hsv;
const [vrl, vrm, vrn] = this._editingTarget === "primary" ? this.primaryRgb : this.secondaryRgb;
this._updateSVSquare(vri);
document.getElementById("sv-cursor").style.left = vrj + "%";
document.getElementById("sv-cursor").style.top = 100 - vrk + "%";
… Reference · line 2784 …
document.getElementById("input-s").value = vrj;
document.getElementById("input-v").value = vrk ;
document.getElementById("input-r").value = vrl;
document.getElementById("input-g").value = vrm;
document.getElementById("input-b").value = vrn;
document.getElementById("input-hex").value = vr6(vrl, vrm, vrn);
}
…
s90849 Input vrl r redUseful 0.41 redUseful 0.41 Both poor Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s90849 / vrl ×
Declaration · line 2777 …
document.getElementById("swatch-secondary").style.background = vr6(...this.secondaryRgb);
const [vri, vrj, vrk] = this.hsv;
const [vrl , vrm, vrn] = this._editingTarget === "primary" ? this.primaryRgb : this.secondaryRgb;
this._updateSVSquare(vri);
document.getElementById("sv-cursor").style.left = vrj + "%";
document.getElementById("sv-cursor").style.top = 100 - vrk + "%";
… Reference · line 2785 …
document.getElementById("input-v").value = vrk;
document.getElementById("input-r").value = vrl ;
document.getElementById("input-g").value = vrm;
document.getElementById("input-b").value = vrn;
document.getElementById("input-hex").value = vr6(vrl, vrm, vrn);
}
_updateSVSquare(vro) {
const [vrp, vrq, vrr] = vqk(vro, 100, 100);
…
s90854 Input vrm g greenUseful 0.54 greenUseful 0.54 Both useful Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s90854 / vrm ×
Declaration · line 2777 …
document.getElementById("swatch-secondary").style.background = vr6(...this.secondaryRgb);
const [vri, vrj, vrk] = this.hsv;
const [vrl, vrm , vrn] = this._editingTarget === "primary" ? this.primaryRgb : this.secondaryRgb;
this._updateSVSquare(vri);
document.getElementById("sv-cursor").style.left = vrj + "%";
document.getElementById("sv-cursor").style.top = 100 - vrk + "%";
… Reference · line 2786 …
document.getElementById("input-r").value = vrl;
document.getElementById("input-g").value = vrm ;
document.getElementById("input-b").value = vrn;
document.getElementById("input-hex").value = vr6(vrl, vrm, vrn);
}
_updateSVSquare(vro) {
const [vrp, vrq, vrr] = vqk(vro, 100, 100);
document.getElementById("sv-square").style.background = `linear-gradient(to top, #000, transparent),
…
s90859 Input vrn b blueUseful 0.13 blueUseful 0.13 Both poor Present Pre-rename JavaScript · s90859 / vrn ×
Declaration · line 2777 …
document.getElementById("swatch-secondary").style.background = vr6(...this.secondaryRgb);
const [vri, vrj, vrk] = this.hsv;
const [vrl, vrm, vrn ] = this._editingTarget === "primary" ? this.primaryRgb : this.secondaryRgb;
this._updateSVSquare(vri);
document.getElementById("sv-cursor").style.left = vrj + "%";
document.getElementById("sv-cursor").style.top = 100 - vrk + "%";
… Reference · line 2787 …
document.getElementById("input-g").value = vrm;
document.getElementById("input-b").value = vrn ;
document.getElementById("input-hex").value = vr6(vrl, vrm, vrn);
}
_updateSVSquare(vro) {
const [vrp, vrq, vrr] = vqk(vro, 100, 100);
document.getElementById("sv-square").style.background = `linear-gradient(to top, #000, transparent), linear-gradient(to right, #fff, rgb(${vrp},${vrq},${vr
…
s91612 Input vro hue hueUseful 0.86 rgbColorUseful 0.06 FlowName better Present Pre-rename JavaScript · s91612 / vro ×
Declaration · line 2790 …
document.getElementById("input-hex").value = vr6(vrl, vrm, vrn);
}
_updateSVSquare(vro ) {
const [vrp, vrq, vrr] = vqk(vro, 100, 100);
document.getElementById("sv-square").style.background = `linear-gradient(to top, #000, transparent), linear-gradient(to right, #fff, rgb(${vrp},${vrq},${vrr}))`;
}
_applyHSV() {
…
s91632 Input vrp r redUseful 0.52 redUseful 0.52 Both useful Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s91632 / vrp ×
Declaration · line 2791 …
document.getElementById("input-hex").value = vr6(vrl, vrm, vrn);
}
_updateSVSquare(vro) {
const [vrp , vrq, vrr] = vqk(vro, 100, 100);
document.getElementById("sv-square").style.background = `linear-gradient(to top, #000, transparent), linear-gradient(to right, #fff, rgb(${vrp},${vrq},${vrr}))`;
}
_applyHSV() {
const vrs = vqk(...this.hsv);
…
s91637 Input vrq g greenUseful 0.36 greenUseful 0.36 Both poor Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s91637 / vrq ×
Declaration · line 2791 …
document.getElementById("input-hex").value = vr6(vrl, vrm, vrn);
}
_updateSVSquare(vro) {
const [vrp, vrq , vrr] = vqk(vro, 100, 100);
document.getElementById("sv-square").style.background = `linear-gradient(to top, #000, transparent), linear-gradient(to right, #fff, rgb(${vrp},${vrq},${vrr}))`;
}
_applyHSV() {
const vrs = vqk(...this.hsv);
…
s91642 Input vrr b blueUseful 0.26 blueValueUseful 0.37 Both poor Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s91642 / vrr ×
Declaration · line 2791 …
document.getElementById("input-hex").value = vr6(vrl, vrm, vrn);
}
_updateSVSquare(vro) {
const [vrp, vrq, vrr ] = vqk(vro, 100, 100);
document.getElementById("sv-square").style.background = `linear-gradient(to top, #000, transparent), linear-gradient(to right, #fff, rgb(${vrp},${vrq},${vrr}))`;
}
_applyHSV() {
const vrs = vqk(...this.hsv);
…
s91873 Input vrs rgb rgbUseful 0.83 rgbValuesUseful 0.77 Both useful Present Preference confidence is low. Pre-rename JavaScript · s91873 / vrs ×
Declaration · line 2795 …
tyle.background = `linear-gradient(to top, #000, transparent), linear-gradient(to right, #fff, rgb(${vrp},${vrq},${vrr}))`;
}
_applyHSV() {
const vrs = vqk(...this.hsv);
if (this._editingTarget === "primary") {
this.primaryRgb = vrs;
v4i._primaryColor = vr6(...vrs);
} else {
this.secondaryRgb = vrs;
v4i._secondaryColor = vr6(...vrs);
}
…
s92216 Input vrt select paletteSelectUseful 0.88 paletteSelectElementUseful 0.84 Both useful Present Preference confidence is low. Pre-rename JavaScript · s92216 / vrt ×
Declaration · line 2807 …
this._updateUI();
}
_initPalette() {
this._loadPalette("lospec500");
const vrt = document.getElementById("palette-select");
vrt.addEventListener("change", () => {
this._loadPalette(vrt.value);
});
}
_loadPalette(vru) {
const vrv = document.getElementById("palette");
vrv.innerHTML = "";
…
s92381 Input vru name paletteNameUseful 0.69 paletteNameUseful 0.69 Both useful Present Pre-rename JavaScript · s92381 / vru ×
Declaration · line 2812 …
vrt.addEventListener("change", () => {
this._loadPalette(vrt.value);
});
}
_loadPalette(vru ) {
const vrv = document.getElementById("palette");
vrv.innerHTML = "";
const vrw = vrb[vru] || vrb.lospec500;
vrv.style.gridTemplateColumns = `repeat(${vrw.length <= 16 ? 4 : 8}, 1fr)`;
for (const vrx of vrw) {
…
s92400 Input vrv palette paletteContainerUseful 0.77 paletteContainerUseful 0.77 Both useful Present Pre-rename JavaScript · s92400 / vrv ×
Declaration · line 2813 …
this._loadPalette(vrt.value);
});
}
_loadPalette(vru) {
const vrv = document.getElementById("palette");
vrv.innerHTML = "";
const vrw = vrb[vru] || vrb.lospec500;
vrv.style.gridTemplateColumns = `repeat(${vrw.length <= 16 ? 4 : 8}, 1fr)`;
for (const vrx of vrw) {
const vry = document.createElement("div");
… Reference · line 2826 …
});
vry.addEventListener("contextmenu", vs0 => vs0.preventDefault());
vrv .appendChild(vry);
}
}
_initSwatches() {
document.getElementById("swatch-primary").addEventListener("click", () => {
this._editingTarget = "primary";
this.hsv = vqu(...this.primaryRgb);
this._updateUI();
…
s92480 Input vrw colors paletteColorsUseful 0.83 currentPaletteColorsUseful 0.61 FlowName better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s92480 / vrw ×
Declaration · line 2815 …
const vrv = document.getElementById("palette");
vrv.innerHTML = "";
const vrw = vrb[vru] || vrb.lospec500;
vrv.style.gridTemplateColumns = `repeat(${vrw.length <= 16 ? 4 : 8}, 1fr)`;
for (const vrx of vrw) {
const vry = document.createElement("div");
vry.className = "palette-color";
vry.style.background = vrx;
…
s92612 Input vrx c paletteColorUseful 0.19 colorUseful 0.71 Humanify better Present Pre-rename JavaScript · s92612 / vrx ×
Declaration · line 2817 …
vrv.style.gridTemplateColumns = `repeat(${vrw.length <= 16 ? 4 : 8}, 1fr)`;
for (const vrx of vrw) {
const vry = document.createElement("div");
vry.className = "palette-color";
vry.style.background = vrx;
vry.addEventListener("mousedown", vrz => {
vrz.preventDefault();
if (vrz.button === 2) this.setSecondary(vrx);else this.setPrimary(vrx);
…
s92640 Input vry el colorSwatchUseful 0.75 colorSwatchUseful 0.75 Both useful Present Pre-rename JavaScript · s92640 / vry ×
Declaration · line 2818 …
vrv.style.gridTemplateColumns = `repeat(${vrw.length <= 16 ? 4 : 8}, 1fr)`;
for (const vrx of vrw) {
const vry = document.createElement("div");
vry.className = "palette-color";
vry.style.background = vrx;
vry.addEventListener("mousedown", vrz => {
vrz.preventDefault();
if (vrz.button === 2) this.setSecondary(vrx);else this.setPrimary(vrx);
… Reference · line 2825 …
if (vrz.button === 2) this.setSecondary(vrx);else this.setPrimary(vrx);
});
vry .addEventListener("contextmenu", vs0 => vs0.preventDefault());
vrv.appendChild(vry);
}
}
_initSwatches() {
document.getElementById("swatch-primary").addEventListener("click", () => {
this._editingTarget = "primary";
…
s92796 Input vrz e eventUseful 0.82 eventUseful 0.82 Both useful Present Pre-rename JavaScript · s92796 / vrz ×
Declaration · line 2821 …
vry.className = "palette-color";
vry.style.background = vrx;
vry.addEventListener("mousedown", vrz => {
vrz.preventDefault();
if (vrz.button === 2) this.setSecondary(vrx);else this.setPrimary(vrx);
});
vry.addEventListener("contextmenu", vs0 => vs0.preventDefault());
vrv.appendChild(vry);
}
…
s92975 Input vs0 e contextMenuEventUseful 0.52 eventUseful 0.71 FlowName better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s92975 / vs0 ×
Declaration · line 2825 …
if (vrz.button === 2) this.setSecondary(vrx);else this.setPrimary(vrx);
});
vry.addEventListener("contextmenu", vs0 => vs0.preventDefault());
vrv.appendChild(vry);
}
}
_initSwatches() {
document.getElementById("swatch-primary").addEventListener("click", () => {
this._editingTarget = "primary";
this.hsv = vqu(...this.primaryRgb);
…
s93635 Input vs1 slider alphaSliderUseful 0.90 alphaSliderUseful 0.90 Both useful Present Pre-rename JavaScript · s93635 / vs1 ×
Declaration · line 2844 …
document.getElementById("swap-colors").addEventListener("click", () => this.swap());
this._updateUI();
}
_initAlpha() {
const vs1 = document.getElementById("alpha-slider");
const vs2 = document.getElementById("alpha-value");
vs1.addEventListener("input", () => {
const vs3 = parseInt(vs1.value);
v4i._brushAlpha = vs3 / 255;
vs2.textContent = vs3;
…
s93694 Input vs2 label alphaValueLabelUseful 0.86 alphaValueSpanUseful 0.56 FlowName better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s93694 / vs2 ×
Declaration · line 2845 …
_initAlpha() {
const vs1 = document.getElementById("alpha-slider");
const vs2 = document.getElementById("alpha-value");
vs1.addEventListener("input", () => {
const vs3 = parseInt(vs1.value);
v4i._brushAlpha = vs3 / 255;
vs2.textContent = vs3;
});
}
_initHSVPicker() {
const vs4 = document.getElementById("toggle-hsv");
…
s93798 Input vs3 a alphaIntUseful 0.78 brushAlphaValueUseful 0.54 Both useful Present Usefulness probability is near the provisional 0.5 boundary. Preference confidence is low. Pre-rename JavaScript · s93798 / vs3 ×
Declaration · line 2847 …
const vs2 = document.getElementById("alpha-value");
vs1.addEventListener("input", () => {
const vs3 = parseInt(vs1.value);
v4i._brushAlpha = vs3 / 255;
vs2.textContent = vs3;
});
}
_initHSVPicker() {
const vs4 = document.getElementById("toggle-hsv");
const vs5 = document.getElementById("hsv-picker");
…
s93944 Input vs4 toggle toggleButtonUseful 0.83 toggleButtonUseful 0.83 Both useful Present Pre-rename JavaScript · s93944 / vs4 ×
Declaration · line 2853 …
v4i._brushAlpha = vs3 / 255;
vs2.textContent = vs3;
});
}
_initHSVPicker() {
const vs4 = document.getElementById("toggle-hsv");
const vs5 = document.getElementById("hsv-picker");
vs4.addEventListener("click", () => {
const vs6 = vs5.classList.toggle("hidden");
vs4.innerHTML = vs6 ? "HSV Picker ▼" : "HSV Picker ▲";
…
s94001 Input vs5 picker hsvPickerElementUseful 0.80 hsvPickerUseful 0.86 Both useful Present Preference confidence is low. Pre-rename JavaScript · s94001 / vs5 ×
Declaration · line 2854 …
_initHSVPicker() {
const vs4 = document.getElementById("toggle-hsv");
const vs5 = document.getElementById("hsv-picker");
vs4.addEventListener("click", () => {
const vs6 = vs5.classList.toggle("hidden");
vs4.innerHTML = vs6 ? "HSV Picker ▼" : "HSV Picker ▲";
});
const vs7 = document.getElementById("sv-square");
…
s94104 Input vs6 hidden isHiddenUseful 0.57 isHiddenUseful 0.57 Both useful Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s94104 / vs6 ×
Declaration · line 2856 …
const vs5 = document.getElementById("hsv-picker");
vs4.addEventListener("click", () => {
const vs6 = vs5.classList.toggle("hidden");
vs4.innerHTML = vs6 ? "HSV Picker ▼" : "HSV Picker ▲";
});
const vs7 = document.getElementById("sv-square");
let vs8 = false;
const vs9 = vsa => {
const vsb = vs7.getBoundingClientRect();
…
s94241 Input vs7 svSquare svSquareUseful 0.91 svSquareUseful 0.91 Both useful Present Pre-rename JavaScript · s94241 / vs7 ×
Declaration · line 2859 …
vs4.innerHTML = vs6 ? "HSV Picker ▼" : "HSV Picker ▲";
});
const vs7 = document.getElementById("sv-square");
let vs8 = false;
const vs9 = vsa => {
const vsb = vs7.getBoundingClientRect();
const vsc = Math.max(0, Math.min(100, (vsa.clientX - vsb.left) / vsb.width * 100));
const vsd = Math.max(0, Math.min(100, 100 - (vsa.clientY - vsb.top) / vsb.hei
… Reference · line 2869 …
this.hsv[1] = Math.round(vsc);
this.hsv[2] = Math.round(vsd);
this._applyHSV();
};
vs7 .addEventListener("pointerdown", vse => {
vs8 = true;
vs7.setPointerCapture(vse.pointerId);
vs9(vse);
});
vs7.addEventListener("pointermove", vsf => {
if (vs8) vs9(vsf);
});
vs7.addEventListener("pointerup", () => {
…
s94295 Input vs8 draggingSV isDraggingSVUseful 0.91 isDraggingUseful 0.33 FlowName better Present Pre-rename JavaScript · s94295 / vs8 ×
Declaration · line 2860 …
vs4.innerHTML = vs6 ? "HSV Picker ▼" : "HSV Picker ▲";
});
const vs7 = document.getElementById("sv-square");
let vs8 = false;
const vs9 = vsa => {
const vsb = vs7.getBoundingClientRect();
const vsc = Math.max(0, Math.min(100, (vsa.clientX - vsb.left) / vsb.width * 100));
const vsd = Math.max(0, Math.min(100, 100 - (vsa.clientY - vsb.top) / vsb.height * 100));
… Reference · line 2870 …
this._applyHSV();
};
vs7.addEventListener("pointerdown", vse => {
vs8 = true;
vs7.setPointerCapture(vse.pointerId);
vs9(vse);
});
vs7.addEventListener("pointermove", vsf => {
if (vs8) vs9(vsf);
});
vs7.addEventListener("pointerup", () => {
vs8 = false;
…
s94320 Input vs9 updateSV updateSVUseful 0.92 updateColorUseful 0.23 FlowName better Present Pre-rename JavaScript · s94320 / vs9 ×
Declaration · line 2861 …
const vs7 = document.getElementById("sv-square");
let vs8 = false;
const vs9 = vsa => {
const vsb = vs7.getBoundingClientRect();
const vsc = Math.max(0, Math.min(100, (vsa.clientX - vsb.left) / vsb.width * 100));
const vsd = Math.max(0, Math.min(100, 100 - (vsa.clientY - vsb.top) / vsb.height * 100));
… Reference · line 2872 …
vs7.addEventListener("pointerdown", vse => {
vs8 = true;
vs7.setPointerCapture(vse.pointerId);
vs9 (vse);
});
vs7.addEventListener("pointermove", vsf => {
if (vs8) vs9(vsf);
});
vs7.addEventListener("pointerup", () => {
vs8 = false;
});
const vsg = document.getElementById("hue-bar");
…
s94326 Input vsa e eventUseful 0.82 eventUseful 0.82 Both useful Present Pre-rename JavaScript · s94326 / vsa ×
Declaration · line 2861 …
const vs7 = document.getElementById("sv-square");
let vs8 = false;
const vs9 = vsa => {
const vsb = vs7.getBoundingClientRect();
const vsc = Math.max(0, Math.min(100, (vsa.clientX - vsb.left) / vsb.width * 100));
const vsd = Math.max(0, Math.min(100, 100 - (vsa.clientY - vsb.top) / vsb.height * 100));
…
s94349 Input vsb r rectUseful 0.70 rectUseful 0.70 Both useful Present Pre-rename JavaScript · s94349 / vsb ×
Declaration · line 2862 …
const vs7 = document.getElementById("sv-square");
let vs8 = false;
const vs9 = vsa => {
const vsb = vs7.getBoundingClientRect();
const vsc = Math.max(0, Math.min(100, (vsa.clientX - vsb.left) / vsb.width * 100));
const vsd = Math.max(0, Math.min(100, 100 - (vsa.clientY - vsb.top) / vsb.height * 100));
this.hsv[1] = Math.round(vsc);
…
s94398 Input vsc s saturationUseful 0.91 saturationUseful 0.91 Both useful Present Pre-rename JavaScript · s94398 / vsc ×
Declaration · line 2863 …
const vs9 = vsa => {
const vsb = vs7.getBoundingClientRect();
const vsc = Math.max(0, Math.min(100, (vsa.clientX - vsb.left) / vsb.width * 100));
const vsd = Math.max(0, Math.min(100, 100 - (vsa.clientY - vsb.top) / vsb.height * 100));
this.hsv[1] = Math.round(vsc);
this.hsv[2] = Math.round(vsd);
…
s94490 Input vsd v valueUseful 0.80 brightnessUseful 0.54 FlowName better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s94490 / vsd ×
Declaration · line 2864 …
const vsc = Math.max(0, Math.min(100, (vsa.clientX - vsb.left) / vsb.width * 100));
const vsd = Math.max(0, Math.min(100, 100 - (vsa.clientY - vsb.top) / vsb.height * 100));
this.hsv[1] = Math.round(vsc);
this.hsv[2] = Math.round(vsd);
this._applyHSV();
};
vs7.addEventListener("pointerdown", vse => {
…
s94729 Input vse e pointerEventUseful 0.84 pointerEventUseful 0.84 Both useful Present Pre-rename JavaScript · s94729 / vse ×
Declaration · line 2869 …
this.hsv[2] = Math.round(vsd);
this._applyHSV();
};
vs7.addEventListener("pointerdown", vse => {
vs8 = true;
vs7.setPointerCapture(vse.pointerId);
vs9(vse);
});
vs7.addEventListener("pointermove", vsf => {
if (vs8) vs9(vsf);
});
vs7.addEventListener("pointerup", () => {
vs8 = false;
…
s94874 Input vsf e pointerEventUseful 0.76 fieldUseful 0.10 FlowName better Present Pre-rename JavaScript · s94874 / vsf ×
Declaration · line 2874 …
vs7.setPointerCapture(vse.pointerId);
vs9(vse);
});
vs7.addEventListener("pointermove", vsf => {
if (vs8) vs9(vsf);
});
vs7.addEventListener("pointerup", () => {
vs8 = false;
});
const vsg = document.getElementById("hue-bar");
let vsh = false;
const vsi = vsj => {
const vsk = vsg.getBoundingClientRect();
…
s95011 Input vsg hueBar hueBarUseful 0.82 handleMouseDownUseful 0.04 FlowName better Absent Pre-rename JavaScript · s95011 / vsg ×
Declaration · line 2880 …
vs7.addEventListener("pointerup", () => {
vs8 = false;
});
const vsg = document.getElementById("hue-bar");
let vsh = false;
const vsi = vsj => {
const vsk = vsg.getBoundingClientRect();
this.hsv[0] = Math.round(Math.max(0, Math.min(360, (vsj.clientX - vsk.left) / vsk.width * 360)));
… Reference · line 2887 …
this.hsv[0] = Math.round(Math.max(0, Math.min(360, (vsj.clientX - vsk.left) / vsk.width * 360)));
this._applyHSV();
};
vsg .addEventListener("pointerdown", vsl => {
vsh = true;
vsg.setPointerCapture(vsl.pointerId);
vsi(vsl);
});
vsg.addEventListener("pointermove", vsm => {
if (vsh) vsi(vsm);
});
vsg.addEventListener("pointerup", () => {
…
s95063 Input vsh draggingHue isDraggingHueUseful 0.91 isMouseDownUseful 0.21 FlowName better Absent Pre-rename JavaScript · s95063 / vsh ×
Declaration · line 2881 …
vs8 = false;
});
const vsg = document.getElementById("hue-bar");
let vsh = false;
const vsi = vsj => {
const vsk = vsg.getBoundingClientRect();
this.hsv[0] = Math.round(Math.max(0, Math.min(360, (vsj.clientX - vsk.left) / vsk.width * 360)));
this._applyHSV();
};
vsg.addEventListener("pointerdown", vsl => {
… Reference · line 2888 …
this._applyHSV();
};
vsg.addEventListener("pointerdown", vsl => {
vsh = true;
vsg.setPointerCapture(vsl.pointerId);
vsi(vsl);
});
vsg.addEventListener("pointermove", vsm => {
if (vsh) vsi(vsm);
});
vsg.addEventListener("pointerup", () => {
vsh = false;
…
s95088 Input vsi updateHue updateHueUseful 0.93 isDragging2Useful 0.03 FlowName better Absent Pre-rename JavaScript · s95088 / vsi ×
Declaration · line 2882 …
});
const vsg = document.getElementById("hue-bar");
let vsh = false;
const vsi = vsj => {
const vsk = vsg.getBoundingClientRect();
this.hsv[0] = Math.round(Math.max(0, Math.min(360, (vsj.clientX - vsk.left) / vsk.width * 360)));
this._applyHSV();
};
vsg.addEventListener("pointerdown", vsl => {
… Reference · line 2890 …
vsg.addEventListener("pointerdown", vsl => {
vsh = true;
vsg.setPointerCapture(vsl.pointerId);
vsi (vsl);
});
vsg.addEventListener("pointermove", vsm => {
if (vsh) vsi(vsm);
});
vsg.addEventListener("pointerup", () => {
vsh = false;
});
for (const vsn of ["input-h", "input-s", "input-v"]) {
…
s95094 Input vsj e pointerEventUseful 0.72 eventUseful 0.68 FlowName better Present Pre-rename JavaScript · s95094 / vsj ×
Declaration · line 2882 …
const vsg = document.getElementById("hue-bar");
let vsh = false;
const vsi = vsj => {
const vsk = vsg.getBoundingClientRect();
this.hsv[0] = Math.round(Math.max(0, Math.min(360, (vsj.clientX - vsk.left) / vsk.width * 360)));
this._applyHSV();
};
vsg.addEventListener("pointerdown", vsl => {
…
s95117 Input vsk r hueRectUseful 0.80 rectUseful 0.76 Both useful Present Preference confidence is low. Pre-rename JavaScript · s95117 / vsk ×
Declaration · line 2883 …
const vsg = document.getElementById("hue-bar");
let vsh = false;
const vsi = vsj => {
const vsk = vsg.getBoundingClientRect();
this.hsv[0] = Math.round(Math.max(0, Math.min(360, (vsj.clientX - vsk.left) / vsk.width * 360)));
this._applyHSV();
};
vsg.addEventListener("pointerdown", vsl => {
vsh = true;
…
s95335 Input vsl e pointerEventUseful 0.75 eventUseful 0.72 FlowName better Present Pre-rename JavaScript · s95335 / vsl ×
Declaration · line 2887 …
ath.round(Math.max(0, Math.min(360, (vsj.clientX - vsk.left) / vsk.width * 360)));
this._applyHSV();
};
vsg.addEventListener("pointerdown", vsl => {
vsh = true;
vsg.setPointerCapture(vsl.pointerId);
vsi(vsl);
});
vsg.addEventListener("pointermove", vsm => {
if (vsh) vsi(vsm);
});
vsg.addEventListener("pointerup", () => {
vsh = false;
…
s95480 Input vsm e pointerEventUseful 0.80 messageUseful 0.09 FlowName better Present Pre-rename JavaScript · s95480 / vsm ×
Declaration · line 2892 …
vsg.setPointerCapture(vsl.pointerId);
vsi(vsl);
});
vsg.addEventListener("pointermove", vsm => {
if (vsh) vsi(vsm);
});
vsg.addEventListener("pointerup", () => {
vsh = false;
});
for (const vsn of ["input-h", "input-s", "input-v"]) {
document.getElementById(vsn).addEventListener("change", () => {
…
s95622 Input vsn id hslInputIdUseful 0.14 idUseful 0.54 Humanify better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s95622 / vsn ×
Declaration · line 2898 …
vsg.addEventListener("pointerup", () => {
vsh = false;
});
for (const vsn of ["input-h", "input-s", "input-v"]) {
document.getElementById(vsn).addEventListener("change", () => {
this.hsv = [parseInt(document.getElementById("input-h").value) || 0, parseInt(document.getElementById("input-s").value) || 0, parseInt(document.getElementById("input-v").value) || 0];
…
s95997 Input vso id channelIdUseful 0.53 inputIdUseful 0.59 Both useful Present Usefulness probability is near the provisional 0.5 boundary. Preference confidence is low. Pre-rename JavaScript · s95997 / vso ×
Declaration · line 2904 …
tElementById("input-s").value) || 0, parseInt(document.getElementById("input-v").value) || 0];
this._applyHSV();
});
}
for (const vso of ["input-r", "input-g", "input-b"]) {
document.getElementById(vso).addEventListener("change", () => {
const vsp = parseInt(document.getElementById("input-r").value) || 0;
const vsq = parseInt(document.getElementById("input-g").value) || 0;
…
s96129 Input vsp r redUseful 0.82 redValueUseful 0.81 Both useful Present Preference confidence is low. Pre-rename JavaScript · s96129 / vsp ×
Declaration · line 2906 …
for (const vso of ["input-r", "input-g", "input-b"]) {
document.getElementById(vso).addEventListener("change", () => {
const vsp = parseInt(document.getElementById("input-r").value) || 0;
const vsq = parseInt(document.getElementById("input-g").value) || 0;
const vsr = parseInt(document.getElementById("input-b").value) || 0;
this.hsv = vqu(vsp, vsq, vsr);
…
s96208 Input vsq g greenUseful 0.69 greenValueUseful 0.84 Humanify better Present Pre-rename JavaScript · s96208 / vsq ×
Declaration · line 2907 …
const vsp = parseInt(document.getElementById("input-r").value) || 0;
const vsq = parseInt(document.getElementById("input-g").value) || 0;
const vsr = parseInt(document.getElementById("input-b").value) || 0;
this.hsv = vqu(vsp, vsq, vsr);
this._applyHSV();
});
}
document.getElementById("input-hex").addEventListener("change", () => {
…
s96287 Input vsr b blueUseful 0.42 blueValueUseful 0.77 Humanify better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s96287 / vsr ×
Declaration · line 2908 …
const vsq = parseInt(document.getElementById("input-g").value) || 0;
const vsr = parseInt(document.getElementById("input-b").value) || 0;
this.hsv = vqu(vsp, vsq, vsr);
this._applyHSV();
});
}
document.getElementById("input-hex").addEventListener("change", () => {
const vss = document.getElementById("input-hex").value;
…
s96531 Input vss hex hexInputUseful 0.50 hexInputUseful 0.50 Both useful Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s96531 / vss ×
Declaration · line 2914 …
document.getElementById("input-hex").addEventListener("change", () => {
const vss = document.getElementById("input-hex").value;
if (/^#?[0-9a-fA-F]{6}$/.test(vss.replace("#", ""))) {
const [vst, vsu, vsv] = vr4(vss);
this.hsv = vqu(vst, vsu, vsv);
this._applyHSV();
}
});
…
s96661 Input vst r rUseful 0.60 hueUseful 0.11 FlowName better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s96661 / vst ×
Declaration · line 2916 …
const vss = document.getElementById("input-hex").value;
if (/^#?[0-9a-fA-F]{6}$/.test(vss.replace("#", ""))) {
const [vst , vsu, vsv] = vr4(vss);
this.hsv = vqu(vst, vsu, vsv);
this._applyHSV();
}
});
}
};
var vsw = class {
constructor() {
this.doc = null;
this._initButtons();
v4i.on("doc:switched", vsx => {
…
s96666 Input vsu g gUseful 0.52 saturationUseful 0.12 FlowName better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s96666 / vsu ×
Declaration · line 2916 …
const vss = document.getElementById("input-hex").value;
if (/^#?[0-9a-fA-F]{6}$/.test(vss.replace("#", ""))) {
const [vst, vsu , vsv] = vr4(vss);
this.hsv = vqu(vst, vsu, vsv);
this._applyHSV();
}
});
}
};
var vsw = class {
constructor() {
this.doc = null;
this._initButtons();
v4i.on("doc:switched", vsx => {
…
s96671 Input vsv b bUseful 0.27 valueVUseful 0.13 Both poor Present Pre-rename JavaScript · s96671 / vsv ×
Declaration · line 2916 …
if (/^#?[0-9a-fA-F]{6}$/.test(vss.replace("#", ""))) {
const [vst, vsu, vsv ] = vr4(vss);
this.hsv = vqu(vst, vsu, vsv);
this._applyHSV();
}
});
}
};
var vsw = class {
constructor() {
this.doc = null;
this._initButtons();
v4i.on("doc:switched", vsx => {
…
s96794 Input vsw LayersPanel LayersPanelUseful 0.95 EventEmitter25Useful 0.03 FlowName better Absent Pre-rename JavaScript · s96794 / vsw ×
Declaration · line 2923 …
this.hsv = vqu(vst, vsu, vsv);
this._applyHSV();
}
});
}
};
var vsw = class {
constructor() {
this.doc = null;
this._initButtons();
v4i.on("doc:switched", vsx => {
this.doc = vsx;
this.render();
});
v4i.on("layers:changed", () => this.render());
v4i.on("canvas:dirty", () => this._updateThumbnails());
… Reference · line 4378 …
this.toolManager = new vq7();
this.colorSystem = new vrc();
this.layersPanel = new vsw ();
this.historyPanel = new vtt();
this.docManager = new vu2();
this.toolOptions = new vw6();
this.menuBar = new vxj(this);
this.newDialog = new vy2();
this.canvasSizeDialog = new vyd();
this.scaleImageDialog = new vza();
…
s96907 Input vsx doc activeDocumentUseful 0.52 documentUseful 0.81 Humanify better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s96907 / vsx ×
Declaration · line 2927 …
constructor() {
this.doc = null;
this._initButtons();
v4i.on("doc:switched", vsx => {
this.doc = vsx;
this.render();
});
v4i.on("layers:changed", () => this.render());
v4i.on("canvas:dirty", () => this._updateThumbnails());
document.getElementById("blend-mode").addEventListener("change", vsy => {
…
s97159 Input vsy e eventUseful 0.81 eventUseful 0.81 Both useful Present Pre-rename JavaScript · s97159 / vsy ×
Declaration · line 2933 …
v4i.on("canvas:dirty", () => this._updateThumbnails());
document.getElementById("blend-mode").addEventListener("change", vsy => {
if (!this.doc) return;
this.doc.activeLayer.blendMode = vsy.target.value;
v4i.emit("canvas:dirty");
});
const vsz = document.getElementById("layer-opacity");
const vt0 = document.getElementById("layer-opacity-value");
…
s97314 Input vsz opSlider opacitySliderUseful 0.87 currentDocumentUseful 0.04 FlowName better Present Pre-rename JavaScript · s97314 / vsz ×
Declaration · line 2938 …
this.doc.activeLayer.blendMode = vsy.target.value;
v4i.emit("canvas:dirty");
});
const vsz = document.getElementById("layer-opacity");
const vt0 = document.getElementById("layer-opacity-value");
vsz.addEventListener("input", () => {
if (!this.doc) return;
const vt1 = parseInt(vsz.value);
this.doc.activeLayer.opacity = vt1 / 100;
…
s97374 Input vt0 opLabel opacityValueDisplayUseful 0.88 blendModeSelectUseful 0.03 FlowName better Absent Pre-rename JavaScript · s97374 / vt0 ×
Declaration · line 2939 …
v4i.emit("canvas:dirty");
});
const vsz = document.getElementById("layer-opacity");
const vt0 = document.getElementById("layer-opacity-value");
vsz.addEventListener("input", () => {
if (!this.doc) return;
const vt1 = parseInt(vsz.value);
this.doc.activeLayer.opacity = vt1 / 100;
vt0.textContent = vt1 + "%";
…
s97517 Input vt1 v opacityValueUseful 0.77 opacityValueUseful 0.77 Both useful Present Pre-rename JavaScript · s97517 / vt1 ×
Declaration · line 2942 …
const vt0 = document.getElementById("layer-opacity-value");
vsz.addEventListener("input", () => {
if (!this.doc) return;
const vt1 = parseInt(vsz.value);
this.doc.activeLayer.opacity = vt1 / 100;
vt0.textContent = vt1 + "%";
v4i.emit("canvas:dirty");
});
}
_initButtons() {
document.getElementById("btn-layer-add").addEventListener("click", () => {
…
s98409 Input vt2 i activeLayerIndexUseful 0.56 activeLayerIndexUseful 0.56 Both useful Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s98409 / vt2 ×
Declaration · line 2965 …
document.getElementById("btn-layer-up").addEventListener("click", () => {
if (!this.doc) return;
const vt2 = this.doc.activeLayerIndex;
if (vt2 >= this.doc.layers.length - 1) return;
this.doc.saveStructureState("Move Layer Up");
this.doc.moveLayer(vt2, vt2 + 1);
v4i.emit("layers:changed");
v4i.emit("canvas:dirty");
…
s98800 Input vt3 i activeLayerIndexUseful 0.77 activeLayerIndexUseful 0.77 Both useful Present Pre-rename JavaScript · s98800 / vt3 ×
Declaration · line 2974 …
document.getElementById("btn-layer-down").addEventListener("click", () => {
if (!this.doc) return;
const vt3 = this.doc.activeLayerIndex;
if (vt3 <= 0) return;
this.doc.saveStructureState("Move Layer Down");
this.doc.moveLayer(vt3, vt3 - 1);
v4i.emit("layers:changed");
v4i.emit("canvas:dirty");
});
…
s99690 Input vt4 doc docUseful 0.78 documentModelUseful 0.79 Both useful Present Preference confidence is low. Pre-rename JavaScript · s99690 / vt4 ×
Declaration · line 2998 …
v4i.emit("layers:changed");
v4i.emit("canvas:dirty");
});
}
render() {
const vt4 = this.doc;
if (!vt4) return;
const vt5 = document.getElementById("layer-list");
vt5.innerHTML = "";
for (let vt6 = vt4.layers.length - 1; vt6 >= 0; vt6--) {
const vt7 = vt4.layers[vt6];
const vt8 = document.createElement("div");
… Reference · line 3005 …
const vt8 = document.createElement("div");
vt8.className = "layer-item" + (vt6 === vt4 .activeLayerIndex ? " active" : "");
vt8.dataset.index = vt6;
const vt9 = document.createElement("span");
vt9.className = "layer-visibility";
vt9.textContent = vt7.visible ? "\u{1F441}" : "\u25CB";
vt9.addEventListener("click", vta => {
…
s99742 Input vt5 list layerListContainerUseful 0.75 layerListElementUseful 0.85 Both useful Present Preference confidence is low. Pre-rename JavaScript · s99742 / vt5 ×
Declaration · line 3000 …
});
}
render() {
const vt4 = this.doc;
if (!vt4) return;
const vt5 = document.getElementById("layer-list");
vt5.innerHTML = "";
for (let vt6 = vt4.layers.length - 1; vt6 >= 0; vt6--) {
const vt7 = vt4.layers[vt6];
const vt8 = document.createElement("div");
vt8.className = "layer-item" + (vt6 === vt4.activeLayerIndex ? " active" : "");
… Reference · line 3055 …
vt4.activeLayerIndex = vt6;
this.render();
this._syncControls();
});
vt5 .appendChild(vt8);
}
this._syncControls();
}
_syncControls() {
if (!this.doc) return;
const vtk = this.doc.activeLayer;
if (!vtk) return;
document.getElementById("blend-mode").value = vtk.blendMode;
…
s99828 Input vt6 i layerIndexUseful 0.70 layerIndexUseful 0.70 Both useful Present Pre-rename JavaScript · s99828 / vt6 ×
Declaration · line 3002 …
const vt5 = document.getElementById("layer-list");
vt5.innerHTML = "";
for (let vt6 = vt4.layers.length - 1; vt6 >= 0; vt6--) {
const vt7 = vt4.layers[vt6];
const vt8 = document.createElement("div");
vt8.className = "layer-item" + (vt6 === vt4.activeLayerIndex ? " active" : "");
vt8.dataset.index = vt6;
… Reference · line 3050 …
vt8.appendChild(vtg);
vt8.addEventListener("click", () => {
if (vt4.activeLayerIndex === vt6 ) return;
vt4.activeLayerIndex = vt6;
this.render();
this._syncControls();
});
vt5.appendChild(vt8);
}
this._syncControls();
}
_syncControls() {
if (!this.doc) return;
…
s99890 Input vt7 layer layerUseful 0.95 layerUseful 0.95 Both useful Present Pre-rename JavaScript · s99890 / vt7 ×
Declaration · line 3003 …
vt5.innerHTML = "";
for (let vt6 = vt4.layers.length - 1; vt6 >= 0; vt6--) {
const vt7 = vt4.layers[vt6];
const vt8 = document.createElement("div");
vt8.className = "layer-item" + (vt6 === vt4.activeLayerIndex ? " active" : "");
vt8.dataset.index = vt6;
const vt9 = document.createElement("span");
… Reference · line 3009 …
const vt9 = document.createElement("span");
vt9.className = "layer-visibility";
vt9.textContent = vt7 .visible ? "\u{1F441}" : "\u25CB";
vt9.addEventListener("click", vta => {
vta.stopPropagation();
vt7.visible = !vt7.visible;
this.render();
v4i.emit("canvas:dirty");
});
const vtb = document.createElement("div");
…
s99927 Input vt8 item layerItemElementUseful 0.89 layerItemElementUseful 0.89 Both useful Present Pre-rename JavaScript · s99927 / vt8 ×
Declaration · line 3004 …
for (let vt6 = vt4.layers.length - 1; vt6 >= 0; vt6--) {
const vt7 = vt4.layers[vt6];
const vt8 = document.createElement("div");
vt8.className = "layer-item" + (vt6 === vt4.activeLayerIndex ? " active" : "");
vt8.dataset.index = vt6;
const vt9 = document.createElement("span");
vt9.className = "layer-visibility";
… Reference · line 3046 …
vtj.preventDefault();
vtg.blur();
}
});
});
vt8 .appendChild(vt9);
vt8.appendChild(vtb);
vt8.appendChild(vtg);
vt8.addEventListener("click", () => {
if (vt4.activeLayerIndex === vt6) return;
vt4.activeLayerIndex = vt6;
this.render();
…
s100099 Input vt9 vis visibilityToggleElementUseful 0.77 visibilityToggleUseful 0.52 FlowName better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s100099 / vt9 ×
Declaration · line 3007 …
vt8.className = "layer-item" + (vt6 === vt4.activeLayerIndex ? " active" : "");
vt8.dataset.index = vt6;
const vt9 = document.createElement("span");
vt9.className = "layer-visibility";
vt9.textContent = vt7.visible ? "\u{1F441}" : "\u25CB";
vt9.addEventListener("click", vta => {
vta.stopPropagation();
vt7.visible = !vt7.visible;
… Reference · line 3046 …
vtg.blur();
}
});
});
vt8.appendChild(vt9 );
vt8.appendChild(vtb);
vt8.appendChild(vtg);
vt8.addEventListener("click", () => {
if (vt4.activeLayerIndex === vt6) return;
vt4.activeLayerIndex = vt6;
this.render();
this._syncControls();
…
s100283 Input vta e clickEventUseful 0.78 event3Useful 0.29 FlowName better Present Pre-rename JavaScript · s100283 / vta ×
Declaration · line 3010 …
vt9.textContent = vt7.visible ? "\u{1F441}" : "\u25CB";
vt9.addEventListener("click", vta => {
vta.stopPropagation();
vt7.visible = !vt7.visible;
this.render();
v4i.emit("canvas:dirty");
});
const vtb = document.createElement("div");
vtb.className = "layer-thumb";
…
s100450 Input vtb thumbWrap layerThumbContainerUseful 0.86 layerItemUseful 0.13 FlowName better Absent Pre-rename JavaScript · s100450 / vtb ×
Declaration · line 3016 …
vt7.visible = !vt7.visible;
this.render();
v4i.emit("canvas:dirty");
});
const vtb = document.createElement("div");
vtb.className = "layer-thumb";
const vtc = 24;
const vtd = Math.max(8, Math.round(vt7.canvas.width / vt7.canvas.height * vtc));
const vte = document.createElement("canvas");
… Reference · line 3025 …
const vtf = vte.getContext("2d");
vtf.drawImage(vt7.canvas, 0, 0, vtd, vtc);
vtb .appendChild(vte);
const vtg = document.createElement("span");
vtg.className = "layer-name";
vtg.textContent = vt7.name;
vtg.addEventListener("dblclick", vth => {
vth.stopPropagation();
vtg.contentEditable = "true";
…
s100540 Input vtc lThumbH thumbSizeUseful 0.39 layerElementUseful 0.06 Both poor Absent Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s100540 / vtc ×
Declaration · line 3018 …
const vtb = document.createElement("div");
vtb.className = "layer-thumb";
const vtc = 24;
const vtd = Math.max(8, Math.round(vt7.canvas.width / vt7.canvas.height * vtc));
const vte = document.createElement("canvas");
vte.width = vtd;
vte.height = vtc;
const vtf = vte.getContext("2d");
… Reference · line 3024 …
vte.height = vtc;
const vtf = vte.getContext("2d");
vtf.drawImage(vt7.canvas, 0, 0, vtd, vtc );
vtb.appendChild(vte);
const vtg = document.createElement("span");
vtg.className = "layer-name";
vtg.textContent = vt7.name;
vtg.addEventListener("dblclick", vth => {
vth.stopPropagation();
…
s100564 Input vtd lThumbW thumbWidthUseful 0.91 eventUseful 0.04 FlowName better Absent Pre-rename JavaScript · s100564 / vtd ×
Declaration · line 3019 …
const vtb = document.createElement("div");
vtb.className = "layer-thumb";
const vtc = 24;
const vtd = Math.max(8, Math.round(vt7.canvas.width / vt7.canvas.height * vtc));
const vte = document.createElement("canvas");
vte.width = vtd;
vte.height = vtc;
const vtf = vte.getContext("2d");
vtf.drawImage(vt7.canvas, 0, 0, vtd, vtc);
…
s100653 Input vte thumbCanvas thumbCanvasUseful 0.91 event2Useful 0.04 FlowName better Absent Pre-rename JavaScript · s100653 / vte ×
Declaration · line 3020 …
const vtd = Math.max(8, Math.round(vt7.canvas.width / vt7.canvas.height * vtc));
const vte = document.createElement("canvas");
vte.width = vtd;
vte.height = vtc;
const vtf = vte.getContext("2d");
vtf.drawImage(vt7.canvas, 0, 0, vtd, vtc);
vtb.appendChild(vte);
const vtg = document.createElement("span");
…
s100758 Input vtf tctx thumbContextUseful 0.88 layerElement2Useful 0.04 FlowName better Absent Pre-rename JavaScript · s100758 / vtf ×
Declaration · line 3023 …
const vte = document.createElement("canvas");
vte.width = vtd;
vte.height = vtc;
const vtf = vte.getContext("2d");
vtf.drawImage(vt7.canvas, 0, 0, vtd, vtc);
vtb.appendChild(vte);
const vtg = document.createElement("span");
vtg.className = "layer-name";
vtg.textContent = vt7.name;
vtg.addEventListener("dblclick", vth => {
…
s100881 Input vtg name layerNameElementUseful 0.89 layerItem2Useful 0.10 FlowName better Absent Pre-rename JavaScript · s100881 / vtg ×
Declaration · line 3026 …
vtf.drawImage(vt7.canvas, 0, 0, vtd, vtc);
vtb.appendChild(vte);
const vtg = document.createElement("span");
vtg.className = "layer-name";
vtg.textContent = vt7.name;
vtg.addEventListener("dblclick", vth => {
vth.stopPropagation();
vtg.contentEditable = "true";
vtg.focus();
… Reference · line 3034 …
vtg.contentEditable = "true";
vtg.focus();
const vti = () => {
vtg .contentEditable = "false";
vt7.name = vtg.textContent.trim() || vt7.name;
vtg.removeEventListener("blur", vti);
};
vtg.addEventListener("blur", vti);
vtg.addEventListener("keydown", vtj => {
…
s101034 Input vth e event2Useful 0.23 event3Useful 0.36 Both poor Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s101034 / vth ×
Declaration · line 3029 …
vtg.className = "layer-name";
vtg.textContent = vt7.name;
vtg.addEventListener("dblclick", vth => {
vth.stopPropagation();
vtg.contentEditable = "true";
vtg.focus();
const vti = () => {
vtg.contentEditable = "false";
vt7.name = vtg.textContent.trim() || vt7.name;
vtg.removeEventListener("blur", vti);
…
s101155 Input vti onDone finishEditingUseful 0.72 handleBlurUseful 0.73 Humanify better Present Pre-rename JavaScript · s101155 / vti ×
Declaration · line 3033 …
vth.stopPropagation();
vtg.contentEditable = "true";
vtg.focus();
const vti = () => {
vtg.contentEditable = "false";
vt7.name = vtg.textContent.trim() || vt7.name;
vtg.removeEventListener("blur", vti);
};
vtg.addEventListener("blur", vti);
vtg.addEventListener("keydown", vtj => {
…
s101421 Input vtj ke eventUseful 0.71 event4Useful 0.30 FlowName better Present Pre-rename JavaScript · s101421 / vtj ×
Declaration · line 3039 …
};
vtg.addEventListener("blur", vti);
vtg.addEventListener("keydown", vtj => {
if (vtj.key === "Enter") {
vtj.preventDefault();
vtg.blur();
}
});
});
vt8.appendChild(vt9);
vt8.appendChild(vtb);
vt8.appendChild(vtg);
vt8.addEventListener("click", () => {
…
s102001 Input vtk layer activeLayerUseful 0.65 activeLayerUseful 0.65 Both useful Present Pre-rename JavaScript · s102001 / vtk ×
Declaration · line 3061 …
this._syncControls();
}
_syncControls() {
if (!this.doc) return;
const vtk = this.doc.activeLayer;
if (!vtk) return;
document.getElementById("blend-mode").value = vtk.blendMode;
document.getElementById("layer-opacity").value = Math.round(vtk.opacity * 100);
document.getElementById("layer-opacity-value").textContent = Math.round(vtk.opacity * 100) + "%";
…
s102383 Input vtl items layerElementsUseful 0.80 layerElementsUseful 0.80 Both useful Present Pre-rename JavaScript · s102383 / vtl ×
Declaration · line 3069 …
tElementById("layer-opacity-value").textContent = Math.round(vtk.opacity * 100) + "%";
}
_updateThumbnails() {
if (!this.doc) return;
const vtl = document.querySelectorAll(".layer-item");
vtl.forEach(vtm => {
const vtn = parseInt(vtm.dataset.index);
const vto = this.doc.layers[vtn];
if (!vto) return;
const vtp = vtm.querySelector("canvas");
…
s102449 Input vtm item layerItemUseful 0.81 layerElementUseful 0.46 FlowName better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s102449 / vtm ×
Declaration · line 3070 …
if (!this.doc) return;
const vtl = document.querySelectorAll(".layer-item");
vtl.forEach(vtm => {
const vtn = parseInt(vtm.dataset.index);
const vto = this.doc.layers[vtn];
if (!vto) return;
const vtp = vtm.querySelector("canvas");
if (vtp) {
const vtq = 24;
const vtr = Math.max(8, Math.round(vto.canvas.width / vto.canvas.height * vtq));
…
s102472 Input vtn i layerIndexUseful 0.90 layerIndexUseful 0.90 Both useful Present Pre-rename JavaScript · s102472 / vtn ×
Declaration · line 3071 …
const vtl = document.querySelectorAll(".layer-item");
vtl.forEach(vtm => {
const vtn = parseInt(vtm.dataset.index);
const vto = this.doc.layers[vtn];
if (!vto) return;
const vtp = vtm.querySelector("canvas");
if (vtp) {
const vtq = 24;
const vtr = Math.max(8, Math.round(vto.canvas.width / vto.canvas.height * vtq));
…
s102521 Input vto layer layerUseful 0.93 layerUseful 0.93 Both useful Present Pre-rename JavaScript · s102521 / vto ×
Declaration · line 3072 …
vtl.forEach(vtm => {
const vtn = parseInt(vtm.dataset.index);
const vto = this.doc.layers[vtn];
if (!vto) return;
const vtp = vtm.querySelector("canvas");
if (vtp) {
const vtq = 24;
const vtr = Math.max(8, Math.round(vto.canvas.width / vto.canvas.height * vtq));
if (vtp.width !== vtr || vtp.height !== vtq) {
… Reference · line 3084 …
const vts = vtp.getContext("2d");
vts.clearRect(0, 0, vtr, vtq);
vts.drawImage(vto .canvas, 0, 0, vtr, vtq);
}
});
}
};
var vtt = class {
constructor() {
this._list = document.getElementById("history-list");
v4i.on("canvas:dirty", () => this.render());
v4i.on("layers:changed", () => this.render());
…
s102589 Input vtp canvas canvasUseful 0.89 canvasElementUseful 0.80 Both useful Present Preference confidence is low. Pre-rename JavaScript · s102589 / vtp ×
Declaration · line 3074 …
const vtn = parseInt(vtm.dataset.index);
const vto = this.doc.layers[vtn];
if (!vto) return;
const vtp = vtm.querySelector("canvas");
if (vtp) {
const vtq = 24;
const vtr = Math.max(8, Math.round(vto.canvas.width / vto.canvas.height * vtq));
if (vtp.width !== vtr || vtp.height !== vtq) {
vtp.width = vtr;
… Reference · line 3080 …
if (vtp.width !== vtr || vtp.height !== vtq) {
vtp.width = vtr;
vtp .height = vtq;
}
const vts = vtp.getContext("2d");
vts.clearRect(0, 0, vtr, vtq);
vts.drawImage(vto.canvas, 0, 0, vtr, vtq);
}
});
}
};
var vtt = class {
constructor() {
this._list = document.getElementById("history-list");
…
s102659 Input vtq lThumbH targetHeightUseful 0.76 targetHeightUseful 0.76 Both useful Present Pre-rename JavaScript · s102659 / vtq ×
Declaration · line 3076 …
if (!vto) return;
const vtp = vtm.querySelector("canvas");
if (vtp) {
const vtq = 24;
const vtr = Math.max(8, Math.round(vto.canvas.width / vto.canvas.height * vtq));
if (vtp.width !== vtr || vtp.height !== vtq) {
vtp.width = vtr;
vtp.height = vtq;
}
const vts = vtp.getContext("2d");
… Reference · line 3083 …
}
const vts = vtp.getContext("2d");
vts.clearRect(0, 0, vtr, vtq );
vts.drawImage(vto.canvas, 0, 0, vtr, vtq);
}
});
}
};
var vtt = class {
constructor() {
this._list = document.getElementById("history-list");
v4i.on("canvas:dirty", () => this.render());
…
s102685 Input vtr lThumbW targetWidthUseful 0.71 targetWidthUseful 0.71 Both useful Present Pre-rename JavaScript · s102685 / vtr ×
Declaration · line 3077 …
const vtp = vtm.querySelector("canvas");
if (vtp) {
const vtq = 24;
const vtr = Math.max(8, Math.round(vto.canvas.width / vto.canvas.height * vtq));
if (vtp.width !== vtr || vtp.height !== vtq) {
vtp.width = vtr;
vtp.height = vtq;
}
const vts = vtp.getContext("2d");
… Reference · line 3083 …
vtp.height = vtq;
}
const vts = vtp.getContext("2d");
vts.clearRect(0, 0, vtr , vtq);
vts.drawImage(vto.canvas, 0, 0, vtr, vtq);
}
});
}
};
var vtt = class {
constructor() {
this._list = document.getElementById("history-list");
v4i.on("canvas:dirty", () => this.render());
…
s102904 Input vts ctx ctxUseful 0.87 targetContextUseful 0.70 FlowName better Present Pre-rename JavaScript · s102904 / vts ×
Declaration · line 3082 …
if (vtp.width !== vtr || vtp.height !== vtq) {
vtp.width = vtr;
vtp.height = vtq;
}
const vts = vtp.getContext("2d");
vts.clearRect(0, 0, vtr, vtq);
vts.drawImage(vto.canvas, 0, 0, vtr, vtq);
}
});
}
};
var vtt = class {
constructor() {
this._list = document.getElementById("history-list");
…
s103063 Input vtt HistoryPanel HistoryPanelUseful 0.95 EventEmitter26Useful 0.03 FlowName better Absent Pre-rename JavaScript · s103063 / vtt ×
Declaration · line 3089 …
vts.drawImage(vto.canvas, 0, 0, vtr, vtq);
}
});
}
};
var vtt = class {
constructor() {
this._list = document.getElementById("history-list");
v4i.on("canvas:dirty", () => this.render());
v4i.on("layers:changed", () => this.render());
v4i.on("doc:switched", () => this.render());
… Reference · line 4379 …
this.colorSystem = new vrc();
this.layersPanel = new vsw();
this.historyPanel = new vtt ();
this.docManager = new vu2();
this.toolOptions = new vw6();
this.menuBar = new vxj(this);
this.newDialog = new vy2();
this.canvasSizeDialog = new vyd();
this.scaleImageDialog = new vza();
this.bcDialog = new v102();
…
s103345 Input vtu doc documentModelUseful 0.71 document2Useful 0.26 FlowName better Present Pre-rename JavaScript · s103345 / vtu ×
Declaration · line 3097 …
v4i.on("layers:changed", () => this.render());
v4i.on("doc:switched", () => this.render());
}
render() {
const vtu = v4i._app?.doc;
if (!vtu || !this._list) {
if (this._list) this._list.innerHTML = "";
return;
}
const vtv = vtu.history;
this._list.innerHTML = "";
const vtw = document.createElement("div");
… Reference · line 3109 …
vtw.textContent = "Original";
vtw.addEventListener("click", () => {
while (vtv.canUndo()) {
vtu .undo();
}
v4i.emit("canvas:dirty");
v4i.emit("layers:changed");
});
this._list.appendChild(vtw);
for (let vtx = 0; vtx < vtv.states.length; vtx++) {
const vty = document.createElement("div");
…
s103486 Input vtv h historyUseful 0.76 historyManagerUseful 0.20 FlowName better Present Pre-rename JavaScript · s103486 / vtv ×
Declaration · line 3102 …
if (!vtu || !this._list) {
if (this._list) this._list.innerHTML = "";
return;
}
const vtv = vtu.history;
this._list.innerHTML = "";
const vtw = document.createElement("div");
vtw.className = "history-item" + (vtv.index < 0 ? " active" : "");
vtw.textContent = "Original";
vtw.addEventListener("click", () => {
… Reference · line 3108 …
vtw.textContent = "Original";
vtw.addEventListener("click", () => {
while (vtv .canUndo()) {
vtu.undo();
}
v4i.emit("canvas:dirty");
v4i.emit("layers:changed");
});
this._list.appendChild(vtw);
for (let vtx = 0; vtx < vtv.states.length; vtx++) {
const vty = document.createElement("div");
…
s103550 Input vtw orig originalItemElementUseful 0.84 itemElementUseful 0.63 FlowName better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s103550 / vtw ×
Declaration · line 3104 …
return;
}
const vtv = vtu.history;
this._list.innerHTML = "";
const vtw = document.createElement("div");
vtw.className = "history-item" + (vtv.index < 0 ? " active" : "");
vtw.textContent = "Original";
vtw.addEventListener("click", () => {
while (vtv.canUndo()) {
vtu.undo();
… Reference · line 3114 …
v4i.emit("canvas:dirty");
v4i.emit("layers:changed");
});
this._list.appendChild(vtw );
for (let vtx = 0; vtx < vtv.states.length; vtx++) {
const vty = document.createElement("div");
const vtz = vtv.states[vtx];
const vu0 = vtz.label || (vtz.type === "draw" ? "Draw" : vtz.type === "structure" ? "Structure" : vtz.type === "selection" ? "Selection" : vtz.type);
…
s103934 Input vtx i stateIndexUseful 0.56 stateIndexUseful 0.56 Both useful Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s103934 / vtx ×
Declaration · line 3115 …
v4i.emit("layers:changed");
});
this._list.appendChild(vtw);
for (let vtx = 0; vtx < vtv.states.length; vtx++) {
const vty = document.createElement("div");
const vtz = vtv.states[vtx];
const vu0 = vtz.label || (vtz.type === "draw" ? "Draw" : vtz.type === "structure" ? "Structure" : vtz.type === "selection" ? "Selection" : vtz.type);
… Reference · line 3119 …
pe === "draw" ? "Draw" : vtz.type === "structure" ? "Structure" : vtz.type === "selection" ? "Selection" : vtz.type);
vty.className = "history-item" + (vtx === vtv.index ? " active" : "") + (vtx > vtv.index ? " future" : "");
vty.textContent = vu0;
vty.addEventListener("click", () => {
while (vtv.index > vtx) {
vtu.undo();
}
while (vtv.index < vtx) {
…
s103991 Input vty entry historyItemElementUseful 0.87 itemElement2Useful 0.37 FlowName better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s103991 / vty ×
Declaration · line 3116 …
this._list.appendChild(vtw);
for (let vtx = 0; vtx < vtv.states.length; vtx++) {
const vty = document.createElement("div");
const vtz = vtv.states[vtx];
const vu0 = vtz.label || (vtz.type === "draw" ? "Draw" : vtz.type === "structure" ? "Structure" : vtz.type === "selection" ? "Selection" : vtz.type);
vty.className = "history-item" + (vtx === vtv.index ? " active" : "") + (vtx > v
… Reference · line 3120 …
vty.className = "history-item" + (vtx === vtv.index ? " active" : "") + (vtx > vtv.index ? " future" : "");
vty .textContent = vu0;
vty.addEventListener("click", () => {
while (vtv.index > vtx) {
vtu.undo();
}
while (vtv.index < vtx) {
vtu.redo();
}
v4i.emit("canvas:dirty");
…
s104042 Input vtz state historyStateUseful 0.57 stateUseful 0.87 Both useful Present Usefulness probability is near the provisional 0.5 boundary. Preference confidence is low. Pre-rename JavaScript · s104042 / vtz ×
Declaration · line 3117 …
for (let vtx = 0; vtx < vtv.states.length; vtx++) {
const vty = document.createElement("div");
const vtz = vtv.states[vtx];
const vu0 = vtz.label || (vtz.type === "draw" ? "Draw" : vtz.type === "structure" ? "Structure" : vtz.type === "selection" ? "Selection" : vtz.type);
vty.className = "history-item" + (vtx === vtv.index ? " active" : "") + (vtx > vtv.index ? " future" : "");
…
s104079 Input vu0 label stateLabelUseful 0.86 stateLabelUseful 0.86 Both useful Present Pre-rename JavaScript · s104079 / vu0 ×
Declaration · line 3118 …
const vty = document.createElement("div");
const vtz = vtv.states[vtx];
const vu0 = vtz.label || (vtz.type === "draw" ? "Draw" : vtz.type === "structure" ? "Structure" : vtz.type === "selection" ? "Selection" : vtz.type);
vty.className = "history-item" + (vtx === vtv.index ? " active" : "") + (vtx > vtv.index ? " future" : "");
… Reference · line 3120 …
vty.className = "history-item" + (vtx === vtv.index ? " active" : "") + (vtx > vtv.index ? " future" : "");
vty.textContent = vu0 ;
vty.addEventListener("click", () => {
while (vtv.index > vtx) {
vtu.undo();
}
while (vtv.index < vtx) {
vtu.redo();
}
v4i.emit("canvas:dirty");
v4i.emit("layers:changed");
…
s104703 Input vu1 active activeItemElementUseful 0.77 historyItemElementUseful 0.19 FlowName better Absent Pre-rename JavaScript · s104703 / vu1 ×
Declaration · line 3133 …
v4i.emit("layers:changed");
});
this._list.appendChild(vty);
}
const vu1 = this._list.querySelector(".active");
if (vu1) vu1.scrollIntoView({
block: "nearest"
});
}
};
var vu2 = class {
constructor() {
this.docs = [];
this.activeIndex = -1;
v4i.on("doc:new", (vu3, vu4, vu5, vu6) => this.createDoc(vu3, vu4, vu5, vu6));
…
s104834 Input vu2 DocManager DocumentManagerUseful 0.87 EventEmitter27Useful 0.04 FlowName better Absent Pre-rename JavaScript · s104834 / vu2 ×
Declaration · line 3139 …
const vu1 = this._list.querySelector(".active");
if (vu1) vu1.scrollIntoView({
block: "nearest"
});
}
};
var vu2 = class {
constructor() {
this.docs = [];
this.activeIndex = -1;
v4i.on("doc:new", (vu3, vu4, vu5, vu6) => this.createDoc(vu3, vu4, vu5, vu6));
v4i.on("doc:close", vu7 => this.closeDoc(vu7));
v4i.on("doc:switch", vu8 => this.switchTo(vu8));
… Reference · line 4380 …
this.layersPanel = new vsw();
this.historyPanel = new vtt();
this.docManager = new vu2 ();
this.toolOptions = new vw6();
this.menuBar = new vxj(this);
this.newDialog = new vy2();
this.canvasSizeDialog = new vyd();
this.scaleImageDialog = new vza();
this.bcDialog = new v102();
this.hslDialog = new v10e();
…
s104944 Input vu3 w docIdUseful 0.22 documentTitleUseful 0.16 Both poor Present Pre-rename JavaScript · s104944 / vu3 ×
Declaration · line 3143 …
constructor() {
this.docs = [];
this.activeIndex = -1;
v4i.on("doc:new", (vu3 , vu4, vu5, vu6) => this.createDoc(vu3, vu4, vu5, vu6));
v4i.on("doc:close", vu7 => this.closeDoc(vu7));
v4i.on("doc:switch", vu8 => this.switchTo(vu8));
v4i.on("doc:open-image", (vu9, vua) => this.openImage(vu9, vua));
…
s104949 Input vu4 h titleUseful 0.11 secondArgumentUseful 0.24 Both poor Present Pre-rename JavaScript · s104949 / vu4 ×
Declaration · line 3143 …
constructor() {
this.docs = [];
this.activeIndex = -1;
v4i.on("doc:new", (vu3, vu4 , vu5, vu6) => this.createDoc(vu3, vu4, vu5, vu6));
v4i.on("doc:close", vu7 => this.closeDoc(vu7));
v4i.on("doc:switch", vu8 => this.switchTo(vu8));
v4i.on("doc:open-image", (vu9, vua) => this.openImage(vu9, vua));
v4i.on("doc:open-project", vub => this.openProject(vub));
…
s104954 Input vu5 name contentUseful 0.22 optionsUseful 0.21 Both poor Present Pre-rename JavaScript · s104954 / vu5 ×
Declaration · line 3143 …
constructor() {
this.docs = [];
this.activeIndex = -1;
v4i.on("doc:new", (vu3, vu4, vu5 , vu6) => this.createDoc(vu3, vu4, vu5, vu6));
v4i.on("doc:close", vu7 => this.closeDoc(vu7));
v4i.on("doc:switch", vu8 => this.switchTo(vu8));
v4i.on("doc:open-image", (vu9, vua) => this.openImage(vu9, vua));
v4i.on("doc:open-project", vub => this.openProject(vub));
…
s104959 Input vu6 bg metadataUseful 0.32 options2Useful 0.20 Both poor Present Pre-rename JavaScript · s104959 / vu6 ×
Declaration · line 3143 …
this.docs = [];
this.activeIndex = -1;
v4i.on("doc:new", (vu3, vu4, vu5, vu6 ) => this.createDoc(vu3, vu4, vu5, vu6));
v4i.on("doc:close", vu7 => this.closeDoc(vu7));
v4i.on("doc:switch", vu8 => this.switchTo(vu8));
v4i.on("doc:open-image", (vu9, vua) => this.openImage(vu9, vua));
v4i.on("doc:open-project", vub => this.openProject(vub));
…
s105030 Input vu7 index documentIdUseful 0.37 docIdUseful 0.50 Humanify better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s105030 / vu7 ×
Declaration · line 3144 …
v4i.on("doc:new", (vu3, vu4, vu5, vu6) => this.createDoc(vu3, vu4, vu5, vu6));
v4i.on("doc:close", vu7 => this.closeDoc(vu7));
v4i.on("doc:switch", vu8 => this.switchTo(vu8));
v4i.on("doc:open-image", (vu9, vua) => this.openImage(vu9, vua));
v4i.on("doc:open-project", vub => this.openProject(vub));
v4i.on("canvas:dirty", () => {
…
s105085 Input vu8 index documentIdUseful 0.55 viewIdUseful 0.20 FlowName better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s105085 / vu8 ×
Declaration · line 3145 …
v4i.on("doc:new", (vu3, vu4, vu5, vu6) => this.createDoc(vu3, vu4, vu5, vu6));
v4i.on("doc:close", vu7 => this.closeDoc(vu7));
v4i.on("doc:switch", vu8 => this.switchTo(vu8));
v4i.on("doc:open-image", (vu9, vua) => this.openImage(vu9, vua));
v4i.on("doc:open-project", vub => this.openProject(vub));
v4i.on("canvas:dirty", () => {
this._scheduleSave();
this._scheduleTabPreviewRefresh();
…
s105145 Input vu9 dataUrl imageFileUseful 0.25 imageSourceUseful 0.53 Humanify better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s105145 / vu9 ×
Declaration · line 3146 …
v4i.on("doc:close", vu7 => this.closeDoc(vu7));
v4i.on("doc:switch", vu8 => this.switchTo(vu8));
v4i.on("doc:open-image", (vu9 , vua) => this.openImage(vu9, vua));
v4i.on("doc:open-project", vub => this.openProject(vub));
v4i.on("canvas:dirty", () => {
this._scheduleSave();
this._scheduleTabPreviewRefresh();
});
v4i.on("layers:changed", () => {
…
s105150 Input vua name imageMetaUseful 0.20 imageIndexUseful 0.16 Both poor Present Pre-rename JavaScript · s105150 / vua ×
Declaration · line 3146 …
v4i.on("doc:switch", vu8 => this.switchTo(vu8));
v4i.on("doc:open-image", (vu9, vua ) => this.openImage(vu9, vua));
v4i.on("doc:open-project", vub => this.openProject(vub));
v4i.on("canvas:dirty", () => {
this._scheduleSave();
this._scheduleTabPreviewRefresh();
});
v4i.on("layers:changed", () => {
…
s105218 Input vub data projectUseful 0.53 projectIdUseful 0.26 FlowName better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s105218 / vub ×
Declaration · line 3147 …
v4i.on("doc:open-image", (vu9, vua) => this.openImage(vu9, vua));
v4i.on("doc:open-project", vub => this.openProject(vub));
v4i.on("canvas:dirty", () => {
this._scheduleSave();
this._scheduleTabPreviewRefresh();
});
v4i.on("layers:changed", () => {
this._scheduleSave();
this.renderTabs();
…
s105573 Input vuc w widthUseful 0.89 widthUseful 0.89 Both useful Present Pre-rename JavaScript · s105573 / vuc ×
Declaration · line 3160 …
get activeDoc() {
return this.docs[this.activeIndex] || null;
}
createDoc(vuc = 1280, vud = 720, vue = "Untitled", vuf = "white") {
const vug = new v2k(vuc, vud, vue, vuf);
this.docs.push(vug);
this.switchTo(this.docs.length - 1);
return vug;
}
switchTo(vuh) {
if (vuh < 0 || vuh >= this.docs.length) return;
…
s105585 Input vud h heightUseful 0.93 heightUseful 0.93 Both useful Present Pre-rename JavaScript · s105585 / vud ×
Declaration · line 3160 …
get activeDoc() {
return this.docs[this.activeIndex] || null;
}
createDoc(vuc = 1280, vud = 720, vue = "Untitled", vuf = "white") {
const vug = new v2k(vuc, vud, vue, vuf);
this.docs.push(vug);
this.switchTo(this.docs.length - 1);
return vug;
}
switchTo(vuh) {
if (vuh < 0 || vuh >= this.docs.length) return;
…
s105596 Input vue name titleUseful 0.33 titleUseful 0.33 Both poor Present Pre-rename JavaScript · s105596 / vue ×
Declaration · line 3160 …
return this.docs[this.activeIndex] || null;
}
createDoc(vuc = 1280, vud = 720, vue = "Untitled", vuf = "white") {
const vug = new v2k(vuc, vud, vue, vuf);
this.docs.push(vug);
this.switchTo(this.docs.length - 1);
return vug;
}
switchTo(vuh) {
if (vuh < 0 || vuh >= this.docs.length) return;
…
s105614 Input vuf bg backgroundUseful 0.88 defaultColorUseful 0.18 FlowName better Present Pre-rename JavaScript · s105614 / vuf ×
Declaration · line 3160 …
return this.docs[this.activeIndex] || null;
}
createDoc(vuc = 1280, vud = 720, vue = "Untitled", vuf = "white") {
const vug = new v2k(vuc, vud, vue, vuf);
this.docs.push(vug);
this.switchTo(this.docs.length - 1);
return vug;
}
switchTo(vuh) {
if (vuh < 0 || vuh >= this.docs.length) return;
this.activeIndex = vuh;
…
s105643 Input vug doc newDocUseful 0.68 newDocumentUseful 0.66 Both useful Present Preference confidence is low. Pre-rename JavaScript · s105643 / vug ×
Declaration · line 3161 …
}
createDoc(vuc = 1280, vud = 720, vue = "Untitled", vuf = "white") {
const vug = new v2k(vuc, vud, vue, vuf);
this.docs.push(vug);
this.switchTo(this.docs.length - 1);
return vug;
}
switchTo(vuh) {
if (vuh < 0 || vuh >= this.docs.length) return;
this.activeIndex = vuh;
const vui = this.docs[vuh];
…
s105785 Input vuh index indexUseful 0.90 indexUseful 0.90 Both useful Present Pre-rename JavaScript · s105785 / vuh ×
Declaration · line 3166 …
this.docs.push(vug);
this.switchTo(this.docs.length - 1);
return vug;
}
switchTo(vuh ) {
if (vuh < 0 || vuh >= this.docs.length) return;
this.activeIndex = vuh;
const vui = this.docs[vuh];
const vuj = document.getElementById("viewport");
const vuk = vuj.getBoundingClientRect();
if (vui.panX === 0 && vui.panY === 0 && vui.zoom === 1) {
…
s105888 Input vui doc docUseful 0.83 currentDocUseful 0.78 Both useful Present Preference confidence is low. Pre-rename JavaScript · s105888 / vui ×
Declaration · line 3169 …
if (vuh < 0 || vuh >= this.docs.length) return;
this.activeIndex = vuh;
const vui = this.docs[vuh];
const vuj = document.getElementById("viewport");
const vuk = vuj.getBoundingClientRect();
if (vui.panX === 0 && vui.panY === 0 && vui.zoom === 1) {
vui.fitInView(vuk.width, vuk.height);
}
… Reference · line 3175 …
if (vui.panX === 0 && vui.panY === 0 && vui.zoom === 1) {
vui.fitInView(vuk.width, vuk.height);
}
v4i.emit("doc:switched", vui );
this.renderTabs();
document.getElementById("status-size").textContent = `${vui.width} x ${vui.height}`;
document.getElementById("zoom-input").value = Math.round(vui.zoom * 100);
document.getElementById("zoom-slider").value = Math.round(Math.log(vui.zoom / 0.05) / Math.log(32 / 0.05) * 100)
…
s105922 Input vuj vp viewportElementUseful 0.91 viewportElementUseful 0.91 Both useful Present Pre-rename JavaScript · s105922 / vuj ×
Declaration · line 3170 …
if (vuh < 0 || vuh >= this.docs.length) return;
this.activeIndex = vuh;
const vui = this.docs[vuh];
const vuj = document.getElementById("viewport");
const vuk = vuj.getBoundingClientRect();
if (vui.panX === 0 && vui.panY === 0 && vui.zoom === 1) {
vui.fitInView(vuk.width, vuk.height);
}
v4i.emit("doc:switched", vui);
…
s105977 Input vuk r viewportRectUseful 0.91 viewportRectUseful 0.91 Both useful Present Pre-rename JavaScript · s105977 / vuk ×
Declaration · line 3171 …
const vui = this.docs[vuh];
const vuj = document.getElementById("viewport");
const vuk = vuj.getBoundingClientRect();
if (vui.panX === 0 && vui.panY === 0 && vui.zoom === 1) {
vui.fitInView(vuk.width, vuk.height);
}
v4i.emit("doc:switched", vui);
this.renderTabs();
document.getElementById("status-size").textContent = `${vui.width} x ${vui.height}`;
…
s106502 Input vul index docIndexUseful 0.81 documentIndexUseful 0.66 Both useful Present Preference confidence is low. Pre-rename JavaScript · s106502 / vul ×
Declaration · line 3181 …
document.getElementById("zoom-slider").value = Math.round(Math.log(vui.zoom / 0.05) / Math.log(32 / 0.05) * 100);
}
closeDoc(vul ) {
if (vul === void 0) vul = this.activeIndex;
if (this.docs.length <= 0) return;
const vum = this.docs[vul];
if (vum.dirty) {
if (!confirm(`"${vum.name}" has unsaved changes. Close anyway?`)) return;
}
… Reference · line 3188 …
if (!confirm(`"${vum.name}" has unsaved changes. Close anyway?`)) return;
}
this.docs.splice(vul , 1);
if (this.docs.length === 0) {
this.activeIndex = -1;
this.createDoc();
} else {
this.activeIndex = Math.min(vul, this.docs.length - 1);
this.switchTo(this.activeIndex);
}
this.renderTabs();
…
s106612 Input vum doc docUseful 0.86 docUseful 0.86 Both useful Present Pre-rename JavaScript · s106612 / vum ×
Declaration · line 3184 …
if (vul === void 0) vul = this.activeIndex;
if (this.docs.length <= 0) return;
const vum = this.docs[vul];
if (vum.dirty) {
if (!confirm(`"${vum.name}" has unsaved changes. Close anyway?`)) return;
}
this.docs.splice(vul, 1);
if (this.docs.length === 0) {
this.activeIndex = -1;
this.createDoc();
…
s107045 Input vun dataUrl imageUrlUseful 0.55 imageUrlUseful 0.55 Both useful Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s107045 / vun ×
Declaration · line 3198 …
this.switchTo(this.activeIndex);
}
this.renderTabs();
}
openImage(vun , vuo) {
const vup = new Image();
vup.onload = () => {
const vuq = new v2k(vup.width, vup.height, vuo || "Opened Image", "transparent");
vuq.activeLayer.ctx.drawImage(vup, 0, 0);
vuq.activeLayer.name = "Image";
… Reference · line 3207 …
this.docs.push(vuq);
this.switchTo(this.docs.length - 1);
};
vup.src = vun ;
}
openProject(vur) {
const vus = vur.manifest;
const vut = new v2k(vus.width, vus.height, vur.name || "Project", "transparent");
vut.projectPath = vur.path;
vut.layers = [];
for (const vuu of vur.layers) {
…
s107050 Input vuo name titleUseful 0.38 imageTitleUseful 0.54 Humanify better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s107050 / vuo ×
Declaration · line 3198 …
this.switchTo(this.activeIndex);
}
this.renderTabs();
}
openImage(vun, vuo ) {
const vup = new Image();
vup.onload = () => {
const vuq = new v2k(vup.width, vup.height, vuo || "Opened Image", "transparent");
vuq.activeLayer.ctx.drawImage(vup, 0, 0);
vuq.activeLayer.name = "Image";
…
s107069 Input vup img imgUseful 0.90 imgUseful 0.90 Both useful Present Pre-rename JavaScript · s107069 / vup ×
Declaration · line 3199 …
this.switchTo(this.activeIndex);
}
this.renderTabs();
}
openImage(vun, vuo) {
const vup = new Image();
vup.onload = () => {
const vuq = new v2k(vup.width, vup.height, vuo || "Opened Image", "transparent");
vuq.activeLayer.ctx.drawImage(vup, 0, 0);
vuq.activeLayer.name = "Image";
this.docs.push(vuq);
… Reference · line 3207 …
vuq.activeLayer.name = "Image";
this.docs.push(vuq);
this.switchTo(this.docs.length - 1);
};
vup .src = vun;
}
openProject(vur) {
const vus = vur.manifest;
const vut = new v2k(vus.width, vus.height, vur.name || "Project", "transparent");
vut.projectPath = vur.path;
vut.layers = [];
for (const vuu of vur.layers) {
…
s107129 Input vuq doc imageDocUseful 0.50 newDocumentUseful 0.27 FlowName better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s107129 / vuq ×
Declaration · line 3201 …
openImage(vun, vuo) {
const vup = new Image();
vup.onload = () => {
const vuq = new v2k(vup.width, vup.height, vuo || "Opened Image", "transparent");
vuq.activeLayer.ctx.drawImage(vup, 0, 0);
vuq.activeLayer.name = "Image";
this.docs.push(vuq);
this.switchTo(this.docs.length - 1);
};
…
s107421 Input vur data projectUseful 0.44 projectDataUseful 0.77 Humanify better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s107421 / vur ×
Declaration · line 3209 …
this.switchTo(this.docs.length - 1);
};
vup.src = vun;
}
openProject(vur ) {
const vus = vur.manifest;
const vut = new v2k(vus.width, vus.height, vur.name || "Project", "transparent");
vut.projectPath = vur.path;
vut.layers = [];
for (const vuu of vur.layers) {
const vuv = new va(vus.width, vus.height, vuu.name);
…
s107440 Input vus m manifestUseful 0.91 manifestUseful 0.91 Both useful Present Pre-rename JavaScript · s107440 / vus ×
Declaration · line 3210 …
this.switchTo(this.docs.length - 1);
};
vup.src = vun;
}
openProject(vur) {
const vus = vur.manifest;
const vut = new v2k(vus.width, vus.height, vur.name || "Project", "transparent");
vut.projectPath = vur.path;
vut.layers = [];
for (const vuu of vur.layers) {
const vuv = new va(vus.width, vus.height, vuu.name);
…
s107472 Input vut doc projectDocUseful 0.74 projectInstanceUseful 0.32 FlowName better Present Pre-rename JavaScript · s107472 / vut ×
Declaration · line 3211 …
vup.src = vun;
}
openProject(vur) {
const vus = vur.manifest;
const vut = new v2k(vus.width, vus.height, vur.name || "Project", "transparent");
vut.projectPath = vur.path;
vut.layers = [];
for (const vuu of vur.layers) {
const vuv = new va(vus.width, vus.height, vuu.name);
vuv.opacity = vuu.opacity !== void 0 ? vuu.opacity : 1;
… Reference · line 3226 …
v4i.emit("canvas:dirty");
v4i.emit("layers:changed");
};
vuw.src = vuu.data;
vut .layers.push(vuv);
}
vut.activeLayerIndex = 0;
this.docs.push(vut);
this.switchTo(this.docs.length - 1);
}
renderTabs() {
const vux = document.getElementById("doc-tabs");
vux.innerHTML = "";
this.docs.forEach((vuy, vuz) => {
…
s107622 Input vuu layerData layer2Useful 0.18 layerUseful 0.37 Both poor Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s107622 / vuu ×
Declaration · line 3214 …
const vut = new v2k(vus.width, vus.height, vur.name || "Project", "transparent");
vut.projectPath = vur.path;
vut.layers = [];
for (const vuu of vur.layers) {
const vuv = new va(vus.width, vus.height, vuu.name);
vuv.opacity = vuu.opacity !== void 0 ? vuu.opacity : 1;
vuv.visible = vuu.visible !== void 0 ? vuu.visible : true;
vuv.blendMode = vuu.blendMode || "source-over";
… Reference · line 3225 …
v4i.emit("canvas:dirty");
v4i.emit("layers:changed");
};
vuw.src = vuu .data;
vut.layers.push(vuv);
}
vut.activeLayerIndex = 0;
this.docs.push(vut);
this.switchTo(this.docs.length - 1);
}
renderTabs() {
const vux = document.getElementById("doc-tabs");
vux.innerHTML = "";
…
s107657 Input vuv layer layerUseful 0.92 newLayerUseful 0.20 FlowName better Present Pre-rename JavaScript · s107657 / vuv ×
Declaration · line 3215 …
vut.projectPath = vur.path;
vut.layers = [];
for (const vuu of vur.layers) {
const vuv = new va(vus.width, vus.height, vuu.name);
vuv.opacity = vuu.opacity !== void 0 ? vuu.opacity : 1;
vuv.visible = vuu.visible !== void 0 ? vuu.visible : true;
vuv.blendMode = vuu.blendMode || "source-over";
const vuw = new Image();
… Reference · line 3221 …
vuv.blendMode = vuu.blendMode || "source-over";
const vuw = new Image();
vuw.onload = () => {
vuv .ctx.drawImage(vuw, 0, 0);
v4i.emit("canvas:dirty");
v4i.emit("layers:changed");
};
vuw.src = vuu.data;
vut.layers.push(vuv);
}
vut.activeLayerIndex = 0;
this.docs.push(vut);
this.switchTo(this.docs.length - 1);
…
s107905 Input vuw img imgUseful 0.90 imgElementUseful 0.84 Both useful Present Preference confidence is low. Pre-rename JavaScript · s107905 / vuw ×
Declaration · line 3219 …
vuv.visible = vuu.visible !== void 0 ? vuu.visible : true;
vuv.blendMode = vuu.blendMode || "source-over";
const vuw = new Image();
vuw.onload = () => {
vuv.ctx.drawImage(vuw, 0, 0);
v4i.emit("canvas:dirty");
v4i.emit("layers:changed");
};
vuw.src = vuu.data;
vut.layers.push(vuv);
}
vut.activeLayerIndex = 0;
…
s108283 Input vux tabBar tabsContainerUseful 0.78 tabsContainerUseful 0.78 Both useful Present Pre-rename JavaScript · s108283 / vux ×
Declaration · line 3233 …
this.docs.push(vut);
this.switchTo(this.docs.length - 1);
}
renderTabs() {
const vux = document.getElementById("doc-tabs");
vux.innerHTML = "";
this.docs.forEach((vuy, vuz) => {
const vv0 = document.createElement("div");
vv0.className = "doc-tab" + (vuz === this.activeIndex ? " active" : "");
… Reference · line 3291 …
this.renderTabs();
this._scheduleSave();
}
});
vux .appendChild(vv0);
});
}
_scheduleTabPreviewRefresh() {
if (this._tabPreviewFrame) return;
this._tabPreviewFrame = requestAnimationFrame(() => {
this._tabPreviewFrame = null;
this._refreshTabPreviews();
…
s108377 Input vuy doc docItemUseful 0.55 viewerUseful 0.11 FlowName better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s108377 / vuy ×
Declaration · line 3235 …
const vux = document.getElementById("doc-tabs");
vux.innerHTML = "";
this.docs.forEach((vuy , vuz) => {
const vv0 = document.createElement("div");
vv0.className = "doc-tab" + (vuz === this.activeIndex ? " active" : "");
vv0.draggable = true;
vv0.dataset.index = vuz;
vuy.compositeAll();
const vv1 = 24;
… Reference · line 3242 …
vuy.compositeAll();
const vv1 = 24;
const vv2 = Math.max(8, Math.round(vuy .width / vuy.height * vv1));
const vv3 = document.createElement("canvas");
vv3.width = vv2;
vv3.height = vv1;
const vv4 = vv3.getContext("2d");
vv4.drawImage(vuy.composite, 0, 0, vv2, vv1);
vv0.appendChild(vv3);
…
s108382 Input vuz i docIndexUseful 0.77 tabIndexUseful 0.14 FlowName better Present Pre-rename JavaScript · s108382 / vuz ×
Declaration · line 3235 …
const vux = document.getElementById("doc-tabs");
vux.innerHTML = "";
this.docs.forEach((vuy, vuz ) => {
const vv0 = document.createElement("div");
vv0.className = "doc-tab" + (vuz === this.activeIndex ? " active" : "");
vv0.draggable = true;
vv0.dataset.index = vuz;
vuy.compositeAll();
const vv1 = 24;
… Reference · line 3264 …
vv7.addEventListener("click", vv8 => {
vv8.stopPropagation();
this.closeDoc(vuz );
});
vv0.appendChild(vv7);
vv0.addEventListener("click", () => this.switchTo(vuz));
vv0.addEventListener("dragstart", vv9 => {
vv9.dataTransfer.setData("text/plain", vuz);
vv0.classList.add("dragging");
…
s108406 Input vv0 tab tabElementUseful 0.84 tabElementUseful 0.84 Both useful Present Pre-rename JavaScript · s108406 / vv0 ×
Declaration · line 3236 …
const vux = document.getElementById("doc-tabs");
vux.innerHTML = "";
this.docs.forEach((vuy, vuz) => {
const vv0 = document.createElement("div");
vv0.className = "doc-tab" + (vuz === this.activeIndex ? " active" : "");
vv0.draggable = true;
vv0.dataset.index = vuz;
vuy.compositeAll();
const vv1 = 24;
const vv2 = Math.max(8, Math.round(vuy.width / vuy.height * vv1));
… Reference · line 3248 …
const vv4 = vv3.getContext("2d");
vv4.drawImage(vuy.composite, 0, 0, vv2, vv1);
vv0 .appendChild(vv3);
const vv5 = document.createElement("span");
vv5.className = "tab-name";
vv5.textContent = vuy.name;
vv0.appendChild(vv5);
if (vuy.dirty) {
const vv6 = document.createElement("span");
…
s108629 Input vv1 thumbH thumbnailHeightUseful 0.91 thumbnailHeightUseful 0.91 Both useful Present Pre-rename JavaScript · s108629 / vv1 ×
Declaration · line 3241 …
vv0.draggable = true;
vv0.dataset.index = vuz;
vuy.compositeAll();
const vv1 = 24;
const vv2 = Math.max(8, Math.round(vuy.width / vuy.height * vv1));
const vv3 = document.createElement("canvas");
vv3.width = vv2;
vv3.height = vv1;
const vv4 = vv3.getContext("2d");
vv4.drawImage(vuy.composite, 0, 0, vv2, vv1);
…
s108653 Input vv2 thumbW thumbnailWidthUseful 0.88 canvasWidthUseful 0.72 FlowName better Present Pre-rename JavaScript · s108653 / vv2 ×
Declaration · line 3242 …
vv0.dataset.index = vuz;
vuy.compositeAll();
const vv1 = 24;
const vv2 = Math.max(8, Math.round(vuy.width / vuy.height * vv1));
const vv3 = document.createElement("canvas");
vv3.width = vv2;
vv3.height = vv1;
const vv4 = vv3.getContext("2d");
vv4.drawImage(vuy.composite, 0, 0, vv2, vv1);
…
s108728 Input vv3 thumb thumbnailCanvasUseful 0.89 thumbnailCanvasUseful 0.89 Both useful Present Pre-rename JavaScript · s108728 / vv3 ×
Declaration · line 3243 …
const vv1 = 24;
const vv2 = Math.max(8, Math.round(vuy.width / vuy.height * vv1));
const vv3 = document.createElement("canvas");
vv3.width = vv2;
vv3.height = vv1;
const vv4 = vv3.getContext("2d");
vv4.drawImage(vuy.composite, 0, 0, vv2, vv1);
vv0.appendChild(vv3);
const vv5 = document.createElement("span");
…
s108833 Input vv4 tctx canvasContextUseful 0.89 canvasContextUseful 0.89 Both useful Present Pre-rename JavaScript · s108833 / vv4 ×
Declaration · line 3246 …
const vv3 = document.createElement("canvas");
vv3.width = vv2;
vv3.height = vv1;
const vv4 = vv3.getContext("2d");
vv4.drawImage(vuy.composite, 0, 0, vv2, vv1);
vv0.appendChild(vv3);
const vv5 = document.createElement("span");
vv5.className = "tab-name";
vv5.textContent = vuy.name;
vv0.appendChild(vv5);
…
s108959 Input vv5 nameEl tabNameSpanUseful 0.90 canvasContext2Useful 0.03 FlowName better Absent Pre-rename JavaScript · s108959 / vv5 ×
Declaration · line 3249 …
vv4.drawImage(vuy.composite, 0, 0, vv2, vv1);
vv0.appendChild(vv3);
const vv5 = document.createElement("span");
vv5.className = "tab-name";
vv5.textContent = vuy.name;
vv0.appendChild(vv5);
if (vuy.dirty) {
const vv6 = document.createElement("span");
vv6.className = "tab-dirty";
…
s109140 Input vv6 dot tabDirtyIndicatorUseful 0.84 dirtyIndicatorUseful 0.85 FlowName better Present Pre-rename JavaScript · s109140 / vv6 ×
Declaration · line 3254 …
vv5.textContent = vuy.name;
vv0.appendChild(vv5);
if (vuy.dirty) {
const vv6 = document.createElement("span");
vv6.className = "tab-dirty";
vv6.textContent = "\u25CF";
vv0.appendChild(vv6);
}
const vv7 = document.createElement("span");
vv7.className = "tab-close";
…
s109311 Input vv7 close tabCloseButtonUseful 0.90 tabElement2Useful 0.10 FlowName better Absent Pre-rename JavaScript · s109311 / vv7 ×
Declaration · line 3259 …
vv6.textContent = "\u25CF";
vv0.appendChild(vv6);
}
const vv7 = document.createElement("span");
vv7.className = "tab-close";
vv7.textContent = "\xD7";
vv7.addEventListener("click", vv8 => {
vv8.stopPropagation();
this.closeDoc(vuz);
});
vv0.appendChild(vv7);
…
s109458 Input vv8 e clickEventUseful 0.74 eventUseful 0.73 FlowName better Present Pre-rename JavaScript · s109458 / vv8 ×
Declaration · line 3262 …
vv7.className = "tab-close";
vv7.textContent = "\xD7";
vv7.addEventListener("click", vv8 => {
vv8.stopPropagation();
this.closeDoc(vuz);
});
vv0.appendChild(vv7);
vv0.addEventListener("click", () => this.switchTo(vuz));
vv0.addEventListener("dragstart", vv9 => {
vv9.dataTransfer.setData("text/plain", vuz);
…
s109679 Input vv9 e dragEventUseful 0.73 eventUseful 0.71 FlowName better Present Pre-rename JavaScript · s109679 / vv9 ×
Declaration · line 3268 …
vv0.addEventListener("click", () => this.switchTo(vuz));
vv0.addEventListener("dragstart", vv9 => {
vv9.dataTransfer.setData("text/plain", vuz);
vv0.classList.add("dragging");
});
vv0.addEventListener("dragend", () => vv0.classList.remove("dragging"));
vv0.addEventListener("dragover", vva => {
…
s109918 Input vva e dragEventUseful 0.73 eventUseful 0.74 FlowName better Present Pre-rename JavaScript · s109918 / vva ×
Declaration · line 3273 …
vv0.addEventListener("dragend", () => vv0.classList.remove("dragging"));
vv0.addEventListener("dragover", vva => {
vva.preventDefault();
vv0.classList.add("drag-over");
});
vv0.addEventListener("dragleave", () => vv0.classList.remove("drag-over"));
vv0.addEventListener("drop", vvb => {
vvb.preventDefault();
…
s110134 Input vvb e dropEventUseful 0.84 eventUseful 0.70 FlowName better Present Pre-rename JavaScript · s110134 / vvb ×
Declaration · line 3278 …
vv0.addEventListener("dragleave", () => vv0.classList.remove("drag-over"));
vv0.addEventListener("drop", vvb => {
vvb.preventDefault();
vv0.classList.remove("drag-over");
const vvc = parseInt(vvb.dataTransfer.getData("text/plain"));
const vvd = vuz;
if (vvc !== vvd && !isNaN(vvc)) {
const [vve] = this.docs.splice(vvc, 1);
…
s110236 Input vvc from draggedIndexUseful 0.80 sourceIndexUseful 0.66 FlowName better Present Pre-rename JavaScript · s110236 / vvc ×
Declaration · line 3281 …
vvb.preventDefault();
vv0.classList.remove("drag-over");
const vvc = parseInt(vvb.dataTransfer.getData("text/plain"));
const vvd = vuz;
if (vvc !== vvd && !isNaN(vvc)) {
const [vve] = this.docs.splice(vvc, 1);
this.docs.splice(vvd, 0, vve);
if (this.activeIndex === vvc) this.activeIndex = vvd;else if (vvc < this.activeIndex &
… Reference · line 3286 …
if (this.activeIndex === vvc) this.activeIndex = vvd;else if (vvc < this.activeIndex && vvd >= this.activeIndex) this.activeIndex--;else if (vvc > this.activeIndex && vvd <= this.activeIndex) this.activeIndex++;
this.renderTabs();
this._scheduleSave();
}
});
vux.appendChild(vv0);
});
}
_scheduleTabPreviewRefresh() {
…
s110308 Input vvd to targetIndexUseful 0.88 targetIndexUseful 0.88 Both useful Present Pre-rename JavaScript · s110308 / vvd ×
Declaration · line 3282 …
vv0.classList.remove("drag-over");
const vvc = parseInt(vvb.dataTransfer.getData("text/plain"));
const vvd = vuz;
if (vvc !== vvd && !isNaN(vvc)) {
const [vve] = this.docs.splice(vvc, 1);
this.docs.splice(vvd, 0, vve);
if (this.activeIndex === vvc) this.activeIndex = vvd;else if (vvc < this.activeIndex && vvd >= this.activeIndex) this.activeIndex--;else if (vvc > this.active
… Reference · line 3286 …
s.activeIndex === vvc) this.activeIndex = vvd;else if (vvc < this.activeIndex && vvd >= this.activeIndex) this.activeIndex--;else if (vvc > this.activeIndex && vvd <= this.activeIndex) this.activeIndex++;
this.renderTabs();
this._scheduleSave();
}
});
vux.appendChild(vv0);
});
}
_scheduleTabPreviewRefresh() {
if (this._tabPreviewFrame) return;
…
s110382 Input vve moved movedDocUseful 0.83 movedDocUseful 0.83 Both useful Present Pre-rename JavaScript · s110382 / vve ×
Declaration · line 3284 …
const vvd = vuz;
if (vvc !== vvd && !isNaN(vvc)) {
const [vve ] = this.docs.splice(vvc, 1);
this.docs.splice(vvd, 0, vve);
if (this.activeIndex === vvc) this.activeIndex = vvd;else if (vvc < this.activeIndex && vvd >= this.activeIndex) this.activeIndex--;else if (vvc > this.activeIndex && vvd <= this.activeIndex) this.activeIndex++;
…
s111083 Input vvf tabBar tabsContainerUseful 0.74 tabsContainerUseful 0.74 Both useful Present Pre-rename JavaScript · s111083 / vvf ×
Declaration · line 3302 …
this._refreshTabPreviews();
});
}
_refreshTabPreviews() {
const vvf = document.getElementById("doc-tabs");
if (!vvf) return;
this.docs.forEach((vvg, vvh) => {
const vvi = vvf.querySelector(`.doc-tab[data-index="${vvh}"]`);
if (!vvi) return;
const vvj = vvi.querySelector("canvas");
…
s111175 Input vvg doc docUseful 0.88 documentInstanceUseful 0.64 Both useful Present Usefulness probability is near the provisional 0.5 boundary. Preference confidence is low. Pre-rename JavaScript · s111175 / vvg ×
Declaration · line 3304 …
const vvf = document.getElementById("doc-tabs");
if (!vvf) return;
this.docs.forEach((vvg , vvh) => {
const vvi = vvf.querySelector(`.doc-tab[data-index="${vvh}"]`);
if (!vvi) return;
const vvj = vvi.querySelector("canvas");
if (vvj) {
vvg.compositeAll();
const vvk = 24;
const vvl = Math.max(8, Math.round(vvg.width / vvg.height * vvk));
… Reference · line 3318 …
const vvm = vvj.getContext("2d");
vvm.clearRect(0, 0, vvl, vvk);
vvm.drawImage(vvg .composite, 0, 0, vvl, vvk);
}
let vvn = vvi.querySelector(".tab-dirty");
const vvo = vvi.querySelector(".tab-close");
if (vvg.dirty && !vvn) {
vvn = document.createElement("span");
vvn.className = "tab-dirty";
…
s111180 Input vvh i docIndexUseful 0.79 tabIndexUseful 0.26 FlowName better Present Pre-rename JavaScript · s111180 / vvh ×
Declaration · line 3304 …
const vvf = document.getElementById("doc-tabs");
if (!vvf) return;
this.docs.forEach((vvg, vvh ) => {
const vvi = vvf.querySelector(`.doc-tab[data-index="${vvh}"]`);
if (!vvi) return;
const vvj = vvi.querySelector("canvas");
if (vvj) {
vvg.compositeAll();
const vvk = 24;
const vvl = Math.max(8, Math.round(vvg.width / vvg.height * vvk));
…
s111204 Input vvi tab tabElementUseful 0.84 tabElementUseful 0.84 Both useful Present Pre-rename JavaScript · s111204 / vvi ×
Declaration · line 3305 …
const vvf = document.getElementById("doc-tabs");
if (!vvf) return;
this.docs.forEach((vvg, vvh) => {
const vvi = vvf.querySelector(`.doc-tab[data-index="${vvh}"]`);
if (!vvi) return;
const vvj = vvi.querySelector("canvas");
if (vvj) {
vvg.compositeAll();
const vvk = 24;
const vvl = Math.max(8, Math.round(vvg.width / vvg.height * vvk));
… Reference · line 3320 …
vvm.clearRect(0, 0, vvl, vvk);
vvm.drawImage(vvg.composite, 0, 0, vvl, vvk);
}
let vvn = vvi .querySelector(".tab-dirty");
const vvo = vvi.querySelector(".tab-close");
if (vvg.dirty && !vvn) {
vvn = document.createElement("span");
vvn.className = "tab-dirty";
vvn.textContent = "\u25CF";
…
s111302 Input vvj thumb canvasUseful 0.57 thumbnailCanvasUseful 0.85 Both useful Present Usefulness probability is near the provisional 0.5 boundary. Preference confidence is low. Pre-rename JavaScript · s111302 / vvj ×
Declaration · line 3307 …
const vvi = vvf.querySelector(`.doc-tab[data-index="${vvh}"]`);
if (!vvi) return;
const vvj = vvi.querySelector("canvas");
if (vvj) {
vvg.compositeAll();
const vvk = 24;
const vvl = Math.max(8, Math.round(vvg.width / vvg.height * vvk));
if (vvj.width !== vvl || vvj.height !== vvk) {
… Reference · line 3313 …
const vvl = Math.max(8, Math.round(vvg.width / vvg.height * vvk));
if (vvj.width !== vvl || vvj.height !== vvk) {
vvj .width = vvl;
vvj.height = vvk;
}
const vvm = vvj.getContext("2d");
vvm.clearRect(0, 0, vvl, vvk);
vvm.drawImage(vvg.composite, 0, 0, vvl, vvk);
}
let vvn = vvi.querySelector(".tab-dirty");
…
s111402 Input vvk thumbH previewHeightUseful 0.54 targetHeightUseful 0.67 Both useful Present Usefulness probability is near the provisional 0.5 boundary. Preference confidence is low. Pre-rename JavaScript · s111402 / vvk ×
Declaration · line 3310 …
const vvj = vvi.querySelector("canvas");
if (vvj) {
vvg.compositeAll();
const vvk = 24;
const vvl = Math.max(8, Math.round(vvg.width / vvg.height * vvk));
if (vvj.width !== vvl || vvj.height !== vvk) {
vvj.width = vvl;
vvj.height = vvk;
}
const vvm = vvj.getContext("2d");
… Reference · line 3317 …
}
const vvm = vvj.getContext("2d");
vvm.clearRect(0, 0, vvl, vvk );
vvm.drawImage(vvg.composite, 0, 0, vvl, vvk);
}
let vvn = vvi.querySelector(".tab-dirty");
const vvo = vvi.querySelector(".tab-close");
if (vvg.dirty && !vvn) {
vvn = document.createElement("span");
…
s111428 Input vvl thumbW previewWidthUseful 0.47 targetWidthUseful 0.45 Both poor Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s111428 / vvl ×
Declaration · line 3311 …
if (vvj) {
vvg.compositeAll();
const vvk = 24;
const vvl = Math.max(8, Math.round(vvg.width / vvg.height * vvk));
if (vvj.width !== vvl || vvj.height !== vvk) {
vvj.width = vvl;
vvj.height = vvk;
}
const vvm = vvj.getContext("2d");
vvm.clearRect(0, 0, vvl, vvk);
… Reference · line 3318 …
const vvm = vvj.getContext("2d");
vvm.clearRect(0, 0, vvl, vvk);
vvm.drawImage(vvg.composite, 0, 0, vvl , vvk);
}
let vvn = vvi.querySelector(".tab-dirty");
const vvo = vvi.querySelector(".tab-close");
if (vvg.dirty && !vvn) {
vvn = document.createElement("span");
vvn.className = "tab-dirty";
…
s111633 Input vvm tctx ctxUseful 0.65 thumbnailContextUseful 0.80 Humanify better Present Pre-rename JavaScript · s111633 / vvm ×
Declaration · line 3316 …
if (vvj.width !== vvl || vvj.height !== vvk) {
vvj.width = vvl;
vvj.height = vvk;
}
const vvm = vvj.getContext("2d");
vvm.clearRect(0, 0, vvl, vvk);
vvm.drawImage(vvg.composite, 0, 0, vvl, vvk);
}
let vvn = vvi.querySelector(".tab-dirty");
const vvo = vvi.querySelector(".tab-close");
if (vvg.dirty && !vvn) {
…
s111780 Input vvn dirtyDot dirtyIndicatorUseful 0.86 ctxUseful 0.05 FlowName better Absent Pre-rename JavaScript · s111780 / vvn ×
Declaration · line 3320 …
vvm.clearRect(0, 0, vvl, vvk);
vvm.drawImage(vvg.composite, 0, 0, vvl, vvk);
}
let vvn = vvi.querySelector(".tab-dirty");
const vvo = vvi.querySelector(".tab-close");
if (vvg.dirty && !vvn) {
vvn = document.createElement("span");
vvn.className = "tab-dirty";
vvn.textContent = "\u25CF";
… Reference · line 3326 …
vvn.className = "tab-dirty";
vvn.textContent = "\u25CF";
vvi.insertBefore(vvn , vvo);
} else if (!vvg.dirty && vvn) {
vvn.remove();
}
});
}
_scheduleSave() {
if (this._saveTimer) clearTimeout(this._saveTimer);
this._saveTimer = setTimeout(() => this.saveToStorage(), 2e3);
…
s111833 Input vvo close closeButtonUseful 0.83 ctx2Useful 0.07 FlowName better Absent Pre-rename JavaScript · s111833 / vvo ×
Declaration · line 3321 …
vvm.drawImage(vvg.composite, 0, 0, vvl, vvk);
}
let vvn = vvi.querySelector(".tab-dirty");
const vvo = vvi.querySelector(".tab-close");
if (vvg.dirty && !vvn) {
vvn = document.createElement("span");
vvn.className = "tab-dirty";
vvn.textContent = "\u25CF";
vvi.insertBefore(vvn, vvo);
} else if (!vvg.dirty && vvn) {
…
s112361 Input vvp data paintStateUseful 0.72 stateSnapshotUseful 0.74 FlowName better Present Pre-rename JavaScript · s112361 / vvp ×
Declaration · line 3338 …
this._saveTimer = setTimeout(() => this.saveToStorage(), 2e3);
}
saveToStorage() {
try {
const vvp = {
activeIndex: this.activeIndex,
docs: this.docs.map(vvq => ({
name: vvq.name,
width: vvq.width,
height: vvq.height,
zoom: vvq.zoom,
panX: vvq.panX,
panY: vvq.panY,
… Reference · line 3357 …
}))
}))
};
localStorage.setItem("grobpaint_state", JSON.stringify(vvp ));
} catch (vvs) {}
}
restoreFromStorage() {
try {
const vvt = localStorage.getItem("grobpaint_state");
if (!vvt) return false;
const vvu = JSON.parse(vvt);
if (!vvu.docs || vvu.docs.length === 0) return false;
…
s112440 Input vvq doc docUseful 0.23 projectStateUseful 0.65 Humanify better Present Pre-rename JavaScript · s112440 / vvq ×
Declaration · line 3340 …
const vvp = {
activeIndex: this.activeIndex,
docs: this.docs.map(vvq => ({
name: vvq.name,
width: vvq.width,
height: vvq.height,
zoom: vvq.zoom,
panX: vvq.panX,
panY: vvq.panY,
activeLayerIndex: vvq.activeLayerIndex,
layers: vvq.layers.map(vvr => ({
…
s112711 Input vvr l layerUseful 0.87 layerUseful 0.87 Both useful Present Pre-rename JavaScript · s112711 / vvr ×
Declaration · line 3348 …
panY: vvq.panY,
activeLayerIndex: vvq.activeLayerIndex,
layers: vvq.layers.map(vvr => ({
name: vvr.name,
opacity: vvr.opacity,
visible: vvr.visible,
blendMode: vvr.blendMode,
data: vvr.canvas.toDataURL("image/png")
}))
}))
};
…
s113043 Input vvs e errorUseful 0.71 vvsUseful 0.07 FlowName better Absent Pre-rename JavaScript · s113043 / vvs ×
Declaration · line 3358 …
};
localStorage.setItem("grobpaint_state", JSON.stringify(vvp));
} catch (vvs ) {}
}
restoreFromStorage() {
try {
const vvt = localStorage.getItem("grobpaint_state");
if (!vvt) return false;
const vvu = JSON.parse(vvt);
if (!vvu.docs || vvu.docs.length === 0) return false;
…
s113110 Input vvt raw storedStateStrUseful 0.77 savedStateUseful 0.50 Both useful Present Usefulness probability is near the provisional 0.5 boundary. Preference confidence is low. Pre-rename JavaScript · s113110 / vvt ×
Declaration · line 3362 …
localStorage.setItem("grobpaint_state", JSON.stringify(vvp));
} catch (vvs) {}
}
restoreFromStorage() {
try {
const vvt = localStorage.getItem("grobpaint_state");
if (!vvt) return false;
const vvu = JSON.parse(vvt);
if (!vvu.docs || vvu.docs.length === 0) return false;
let vvv = 0;
const vvw = vvu.docs.reduce((vvx, vvy) => vvx + vvy.layers.length, 0);
…
s113203 Input vvu data parsedStateUseful 0.76 savedState2Useful 0.42 FlowName better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s113203 / vvu ×
Declaration · line 3364 …
const vvt = localStorage.getItem("grobpaint_state");
if (!vvt) return false;
const vvu = JSON.parse(vvt);
if (!vvu.docs || vvu.docs.length === 0) return false;
let vvv = 0;
const vvw = vvu.docs.reduce((vvx, vvy) => vvx + vvy.layers.length, 0);
let vvz = 0;
for (const vw0 of vvu.docs) {
… Reference · line 3395 …
vw1.activeLayerIndex = vw0.activeLayerIndex || 0;
this.docs.push(vw1);
}
this.switchTo(vvu .activeIndex || 0);
return true;
} catch (vw5) {
return false;
}
}
};
var vw6 = class {
constructor() {
v4i._brushSize = 3;
v4i._brushShape = "circle";
v4i._tolerance = 32;
v4i._antiAlias = true;
…
s113300 Input vvv loadedCount currentLayerIndexUseful 0.07 currentIndexUseful 0.14 Both poor Present Pre-rename JavaScript · s113300 / vvv ×
Declaration · line 3366 …
const vvu = JSON.parse(vvt);
if (!vvu.docs || vvu.docs.length === 0) return false;
let vvv = 0;
const vvw = vvu.docs.reduce((vvx, vvy) => vvx + vvy.layers.length, 0);
let vvz = 0;
for (const vw0 of vvu.docs) {
const vw1 = new v2k(vw0.width, vw0.height, vw0.name, "transparent");
vw1.zoom = vw0.zoom || 1;
…
s113323 Input vvw totalLayers totalLayersCountUseful 0.81 totalLayersUseful 0.96 Humanify better Present Pre-rename JavaScript · s113323 / vvw ×
Declaration · line 3367 …
if (!vvu.docs || vvu.docs.length === 0) return false;
let vvv = 0;
const vvw = vvu.docs.reduce((vvx, vvy) => vvx + vvy.layers.length, 0);
let vvz = 0;
for (const vw0 of vvu.docs) {
const vw1 = new v2k(vw0.width, vw0.height, vw0.name, "transparent");
vw1.zoom = vw0.zoom || 1;
vw1.panX = vw0.panX || 0;
… Reference · line 3384 …
vw3.ctx.drawImage(vw4, 0, 0);
vvz++;
if (vvz === vvw ) {
v4i.emit("canvas:dirty");
v4i.emit("layers:changed");
}
};
vw4.src = vw2.data;
vw1.layers.push(vw3);
}
vw1.activeLayerIndex = vw0.activeLayerIndex || 0;
…
s113346 Input vvx sum totalLayersUseful 0.62 baseValueUseful 0.17 FlowName better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s113346 / vvx ×
Declaration · line 3367 …
if (!vvu.docs || vvu.docs.length === 0) return false;
let vvv = 0;
const vvw = vvu.docs.reduce((vvx , vvy) => vvx + vvy.layers.length, 0);
let vvz = 0;
for (const vw0 of vvu.docs) {
const vw1 = new v2k(vw0.width, vw0.height, vw0.name, "transparent");
vw1.zoom = vw0.zoom || 1;
vw1.panX = vw0.panX || 0;
…
s113351 Input vvy d docUseful 0.15 mapStateUseful 0.07 Both poor Present Pre-rename JavaScript · s113351 / vvy ×
Declaration · line 3367 …
if (!vvu.docs || vvu.docs.length === 0) return false;
let vvv = 0;
const vvw = vvu.docs.reduce((vvx, vvy ) => vvx + vvy.layers.length, 0);
let vvz = 0;
for (const vw0 of vvu.docs) {
const vw1 = new v2k(vw0.width, vw0.height, vw0.name, "transparent");
vw1.zoom = vw0.zoom || 1;
vw1.panX = vw0.panX || 0;
…
s113400 Input vvz layersLoaded processedDocsCountUseful 0.07 documentIndexUseful 0.04 Both poor Present Pre-rename JavaScript · s113400 / vvz ×
Declaration · line 3368 …
const vvw = vvu.docs.reduce((vvx, vvy) => vvx + vvy.layers.length, 0);
let vvz = 0;
for (const vw0 of vvu.docs) {
const vw1 = new v2k(vw0.width, vw0.height, vw0.name, "transparent");
vw1.zoom = vw0.zoom || 1;
vw1.panX = vw0.panX || 0;
vw1.panY = vw0.panY || 0;
vw1.layers = [];
… Reference · line 3383 …
vw4.onload = () => {
vw3.ctx.drawImage(vw4, 0, 0);
vvz ++;
if (vvz === vvw) {
v4i.emit("canvas:dirty");
v4i.emit("layers:changed");
}
};
vw4.src = vw2.data;
vw1.layers.push(vw3);
}
vw1.activeLayerIndex = vw0.activeLayerIndex || 0;
…
s113428 Input vw0 docData docDataUseful 0.73 docDataUseful 0.73 Both useful Present Pre-rename JavaScript · s113428 / vw0 ×
Declaration · line 3369 …
const vvw = vvu.docs.reduce((vvx, vvy) => vvx + vvy.layers.length, 0);
let vvz = 0;
for (const vw0 of vvu.docs) {
const vw1 = new v2k(vw0.width, vw0.height, vw0.name, "transparent");
vw1.zoom = vw0.zoom || 1;
vw1.panX = vw0.panX || 0;
vw1.panY = vw0.panY || 0;
vw1.layers = [];
for (const vw2 of vw0.layers) {
… Reference · line 3376 …
vw1.layers = [];
for (const vw2 of vw0.layers) {
const vw3 = new va(vw0 .width, vw0.height, vw2.name);
vw3.opacity = vw2.opacity !== void 0 ? vw2.opacity : 1;
vw3.visible = vw2.visible !== void 0 ? vw2.visible : true;
vw3.blendMode = vw2.blendMode || "source-over";
const vw4 = new Image();
…
s113463 Input vw1 doc restoredDocUseful 0.43 clonedCanvasUseful 0.08 Both poor Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s113463 / vw1 ×
Declaration · line 3370 …
const vvw = vvu.docs.reduce((vvx, vvy) => vvx + vvy.layers.length, 0);
let vvz = 0;
for (const vw0 of vvu.docs) {
const vw1 = new v2k(vw0.width, vw0.height, vw0.name, "transparent");
vw1.zoom = vw0.zoom || 1;
vw1.panX = vw0.panX || 0;
vw1.panY = vw0.panY || 0;
vw1.layers = [];
for (const vw2 of vw0.layers) {
const vw3 = new va(vw0.width, vw0.height, vw2.name);
… Reference · line 3390 …
v4i.emit("layers:changed");
}
};
vw4.src = vw2.data;
vw1 .layers.push(vw3);
}
vw1.activeLayerIndex = vw0.activeLayerIndex || 0;
this.docs.push(vw1);
}
this.switchTo(vvu.activeIndex || 0);
return true;
} catch (vw5) {
return false;
…
s113682 Input vw2 ld layer2Useful 0.27 layerDataUseful 0.78 Humanify better Present Pre-rename JavaScript · s113682 / vw2 ×
Declaration · line 3375 …
vw1.panX = vw0.panX || 0;
vw1.panY = vw0.panY || 0;
vw1.layers = [];
for (const vw2 of vw0.layers) {
const vw3 = new va(vw0.width, vw0.height, vw2.name);
vw3.opacity = vw2.opacity !== void 0 ? vw2.opacity : 1;
vw3.visible = vw2.visible !== void 0 ? vw2.visible : true;
vw3.blendMode = vw2.blendMode || "source-over";
… Reference · line 3389 …
v4i.emit("layers:changed");
}
};
vw4.src = vw2 .data;
vw1.layers.push(vw3);
}
vw1.activeLayerIndex = vw0.activeLayerIndex || 0;
this.docs.push(vw1);
}
this.switchTo(vvu.activeIndex || 0);
return true;
} catch (vw5) {
…
s113721 Input vw3 layer layerUseful 0.91 layerCanvasUseful 0.30 FlowName better Present Pre-rename JavaScript · s113721 / vw3 ×
Declaration · line 3376 …
vw1.panY = vw0.panY || 0;
vw1.layers = [];
for (const vw2 of vw0.layers) {
const vw3 = new va(vw0.width, vw0.height, vw2.name);
vw3.opacity = vw2.opacity !== void 0 ? vw2.opacity : 1;
vw3.visible = vw2.visible !== void 0 ? vw2.visible : true;
vw3.blendMode = vw2.blendMode || "source-over";
… Reference · line 3382 …
vw3.blendMode = vw2.blendMode || "source-over";
const vw4 = new Image();
vw4.onload = () => {
vw3 .ctx.drawImage(vw4, 0, 0);
vvz++;
if (vvz === vvw) {
v4i.emit("canvas:dirty");
v4i.emit("layers:changed");
}
};
vw4.src = vw2.data;
vw1.layers.push(vw3);
…
s113985 Input vw4 img layerImageUseful 0.77 imageElementUseful 0.72 Both useful Present Preference confidence is low. Pre-rename JavaScript · s113985 / vw4 ×
Declaration · line 3380 …
vw3.visible = vw2.visible !== void 0 ? vw2.visible : true;
vw3.blendMode = vw2.blendMode || "source-over";
const vw4 = new Image();
vw4.onload = () => {
vw3.ctx.drawImage(vw4, 0, 0);
vvz++;
if (vvz === vvw) {
v4i.emit("canvas:dirty");
v4i.emit("layers:changed");
}
… Reference · line 3389 …
v4i.emit("canvas:dirty");
v4i.emit("layers:changed");
}
};
vw4 .src = vw2.data;
vw1.layers.push(vw3);
}
vw1.activeLayerIndex = vw0.activeLayerIndex || 0;
this.docs.push(vw1);
}
this.switchTo(vvu.activeIndex || 0);
return true;
} catch (vw5) {
…
s114512 Input vw5 e errorUseful 0.74 vw5Useful 0.05 FlowName better Absent Pre-rename JavaScript · s114512 / vw5 ×
Declaration · line 3397 …
}
this.switchTo(vvu.activeIndex || 0);
return true;
} catch (vw5 ) {
return false;
}
}
};
var vw6 = class {
constructor() {
v4i._brushSize = 3;
v4i._brushShape = "circle";
v4i._tolerance = 32;
v4i._antiAlias = true;
v4i._filled = false;
v4i._fontSize = 24;
…
s114566 Input vw6 ToolOptionsBar ToolOptionsPanelUseful 0.72 listener10Useful 0.04 FlowName better Absent Pre-rename JavaScript · s114566 / vw6 ×
Declaration · line 3402 …
return true;
} catch (vw5) {
return false;
}
}
};
var vw6 = class {
constructor() {
v4i._brushSize = 3;
v4i._brushShape = "circle";
v4i._tolerance = 32;
v4i._antiAlias = true;
v4i._filled = false;
v4i._fontSize = 24;
v4i._fontFamily = "Arial";
v4i._interpolation = "nearest";
… Reference · line 4381 …
this.historyPanel = new vtt();
this.docManager = new vu2();
this.toolOptions = new vw6 ();
this.menuBar = new vxj(this);
this.newDialog = new vy2();
this.canvasSizeDialog = new vyd();
this.scaleImageDialog = new vza();
this.bcDialog = new v102();
this.hslDialog = new v10e();
this.blurDialog = new v12a();
…
s114931 Input vw7 name toolUseful 0.78 dataUseful 0.12 FlowName better Present Pre-rename JavaScript · s114931 / vw7 ×
Declaration · line 3414 …
v4i._wandGlobal = false;
v4i._fillGlobal = false;
v4i.on("tool:changed", vw7 => this.render(vw7));
this.render("pencil");
}
render(vw8) {
const vw9 = document.getElementById("tool-options");
vw9.innerHTML = "";
if (["brush", "eraser", "line", "rectangle", "ellipse"].includes(vw8)) {
…
s115003 Input vw8 toolName activeToolUseful 0.35 toolTypeUseful 0.48 Both poor Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s115003 / vw8 ×
Declaration · line 3417 …
v4i.on("tool:changed", vw7 => this.render(vw7));
this.render("pencil");
}
render(vw8 ) {
const vw9 = document.getElementById("tool-options");
vw9.innerHTML = "";
if (["brush", "eraser", "line", "rectangle", "ellipse"].includes(vw8)) {
vw9.appendChild(this._group("Size:", this._numberInput(v4i._brushSize, 1, 200, vwa => v4i._brushSize = vwa)));
… Reference · line 3424 …
vw9.appendChild(this._group("", this._rangeInput(v4i._brushSize, 1, 200, vwb => {
v4i._brushSize = vwb;
this.render(vw8 );
})));
}
if (["brush", "eraser", "line", "rectangle", "ellipse"].includes(vw8)) {
vw9.appendChild(this._group("Anti-alias:", this._checkbox(v4i._antiAlias, vwc => v4i._antiAlias = vwc)));
}
if (["brush", "eraser"].includes(vw8)) {
…
s115022 Input vw9 bar toolOptionsContainerUseful 0.81 toolOptionsElementUseful 0.82 Humanify better Present Pre-rename JavaScript · s115022 / vw9 ×
Declaration · line 3418 …
v4i.on("tool:changed", vw7 => this.render(vw7));
this.render("pencil");
}
render(vw8) {
const vw9 = document.getElementById("tool-options");
vw9.innerHTML = "";
if (["brush", "eraser", "line", "rectangle", "ellipse"].includes(vw8)) {
vw9.appendChild(this._group("Size:", this._numberInput(v4i._brushSize, 1, 200, vwa => v4i._brushSize = vwa)));
… Reference · line 3422 …
vw9.appendChild(this._group("Size:", this._numberInput(v4i._brushSize, 1, 200, vwa => v4i._brushSize = vwa)));
vw9 .appendChild(this._group("", this._rangeInput(v4i._brushSize, 1, 200, vwb => {
v4i._brushSize = vwb;
this.render(vw8);
})));
}
if (["brush", "eraser", "line", "rectangle", "ellipse"].includes(vw8)) {
…
s115261 Input vwa v sizeUseful 0.44 brushSizeUseful 0.84 Humanify better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s115261 / vwa ×
Declaration · line 3421 …
if (["brush", "eraser", "line", "rectangle", "ellipse"].includes(vw8)) {
vw9.appendChild(this._group("Size:", this._numberInput(v4i._brushSize, 1, 200, vwa => v4i._brushSize = vwa)));
vw9.appendChild(this._group("", this._rangeInput(v4i._brushSize, 1, 200, vwb => {
v4i._brushSize = vwb;
this.render(vw8);
})));
}
if (["brush", "eraser", "line", "rectangle", "ellipse"].includes(vw8)) {
…
s115374 Input vwb v brushSizeUseful 0.84 brushSizeUseful 0.84 Both useful Present Pre-rename JavaScript · s115374 / vwb ×
Declaration · line 3422 …
e:", this._numberInput(v4i._brushSize, 1, 200, vwa => v4i._brushSize = vwa)));
vw9.appendChild(this._group("", this._rangeInput(v4i._brushSize, 1, 200, vwb => {
v4i._brushSize = vwb;
this.render(vw8);
})));
}
if (["brush", "eraser", "line", "rectangle", "ellipse"].includes(vw8)) {
vw9.appendChild(this._group("Anti-alias:", this._checkbox(v4i._antiAlias, vwc => v4i._antiAlias = vwc)));
…
s115626 Input vwc v antiAliasCheckboxUseful 0.22 antiAliasUseful 0.64 Humanify better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s115626 / vwc ×
Declaration · line 3428 …
if (["brush", "eraser", "line", "rectangle", "ellipse"].includes(vw8)) {
vw9.appendChild(this._group("Anti-alias:", this._checkbox(v4i._antiAlias, vwc => v4i._antiAlias = vwc)));
}
if (["brush", "eraser"].includes(vw8)) {
vw9.appendChild(this._group("Shape:", this._shapeToggle(v4i._brushShape, vwd => {
v4i._brushShape = vwd;
v4i.emit("render:overlay");
…
s115794 Input vwd v shapeUseful 0.43 brushShapeUseful 0.77 Humanify better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s115794 / vwd ×
Declaration · line 3431 …
if (["brush", "eraser"].includes(vw8)) {
vw9.appendChild(this._group("Shape:", this._shapeToggle(v4i._brushShape, vwd => {
v4i._brushShape = vwd;
v4i.emit("render:overlay");
})));
}
if (["rectangle", "ellipse"].includes(vw8)) {
vw9.appendChild(this._group("Filled:", this._checkbox(v4i._filled, vwe => v4i._filled = vwe)));
…
s116023 Input vwe v checkedUseful 0.36 isFilledUseful 0.72 Humanify better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s116023 / vwe ×
Declaration · line 3437 …
if (["rectangle", "ellipse"].includes(vw8)) {
vw9.appendChild(this._group("Filled:", this._checkbox(v4i._filled, vwe => v4i._filled = vwe)));
}
if (["fill", "wand"].includes(vw8)) {
vw9.appendChild(this._group("Tolerance:", this._numberInput(v4i._tolerance, 0, 255, vwf => {
v4i._tolerance = vwf;
if (vw8 === "wand") v4i.emit("wand:reselect");
…
s116196 Input vwf v toleranceValueUseful 0.75 toleranceUseful 0.90 Humanify better Present Pre-rename JavaScript · s116196 / vwf ×
Declaration · line 3440 …
vw9.appendChild(this._group("Tolerance:", this._numberInput(v4i._tolerance, 0, 255, vwf => {
v4i._tolerance = vwf;
if (vw8 === "wand") v4i.emit("wand:reselect");
})));
vw9.appendChild(this._group("", this._rangeInput(v4i._tolerance, 0, 255, vwg => {
v4i._tolerance = vwg;
if (vw8 === "wand") v4i.emit("wand:reselect");else this.render(vw8);
…
s116389 Input vwg v toleranceUseful 0.87 toleranceUseful 0.87 Both useful Present Pre-rename JavaScript · s116389 / vwg ×
Declaration · line 3444 …
})));
vw9.appendChild(this._group("", this._rangeInput(v4i._tolerance, 0, 255, vwg => {
v4i._tolerance = vwg;
if (vw8 === "wand") v4i.emit("wand:reselect");else this.render(vw8);
})));
}
if (vw8 === "wand" || vw8 === "fill") {
const vwh = vw8 === "wand" ? "_wandGlobal" : "_fillGlobal";
…
s116591 Input vwh globalProp globalSettingKeyUseful 0.61 globalKeyUseful 0.60 Both useful Present Usefulness probability is near the provisional 0.5 boundary. Preference confidence is low. Pre-rename JavaScript · s116591 / vwh ×
Declaration · line 3450 …
if (vw8 === "wand") v4i.emit("wand:reselect");else this.render(vw8);
})));
}
if (vw8 === "wand" || vw8 === "fill") {
const vwh = vw8 === "wand" ? "_wandGlobal" : "_fillGlobal";
const vwi = document.createElement("select");
for (const [vwj, vwk] of [["local", "Contiguous"], ["global", "Global"]]) {
const vwl = document.createElement("option");
… Reference · line 3456 …
vwl.value = vwj;
vwl.textContent = vwk;
if (vwj === "global" === v4i[vwh ]) vwl.selected = true;
vwi.appendChild(vwl);
}
vwi.addEventListener("change", () => {
v4i[vwh] = vwi.value === "global";
if (vw8 === "wand") v4i.emit("wand:reselect");
});
vw9.appendChild(this._group("Mode:", vwi));
…
s116659 Input vwi modeSelect wandFillSelectUseful 0.26 scopeSelectUseful 0.74 Humanify better Present Pre-rename JavaScript · s116659 / vwi ×
Declaration · line 3451 …
if (vw8 === "wand" || vw8 === "fill") {
const vwh = vw8 === "wand" ? "_wandGlobal" : "_fillGlobal";
const vwi = document.createElement("select");
for (const [vwj, vwk] of [["local", "Contiguous"], ["global", "Global"]]) {
const vwl = document.createElement("option");
vwl.value = vwj;
vwl.textContent = vwk;
if (vwj === "global" === v4i[vwh]) vwl.selected = true;
… Reference · line 3457 …
vwl.textContent = vwk;
if (vwj === "global" === v4i[vwh]) vwl.selected = true;
vwi .appendChild(vwl);
}
vwi.addEventListener("change", () => {
v4i[vwh] = vwi.value === "global";
if (vw8 === "wand") v4i.emit("wand:reselect");
});
vw9.appendChild(this._group("Mode:", vwi));
…
s116719 Input vwj val valueUseful 0.43 scopeTypeUseful 0.45 Both poor Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s116719 / vwj ×
Declaration · line 3452 …
const vwh = vw8 === "wand" ? "_wandGlobal" : "_fillGlobal";
const vwi = document.createElement("select");
for (const [vwj , vwk] of [["local", "Contiguous"], ["global", "Global"]]) {
const vwl = document.createElement("option");
vwl.value = vwj;
vwl.textContent = vwk;
if (vwj === "global" === v4i[vwh]) vwl.selected = true;
…
s116724 Input vwk label labelUseful 0.84 optionLabelUseful 0.78 Humanify better Present Pre-rename JavaScript · s116724 / vwk ×
Declaration · line 3452 …
const vwh = vw8 === "wand" ? "_wandGlobal" : "_fillGlobal";
const vwi = document.createElement("select");
for (const [vwj, vwk ] of [["local", "Contiguous"], ["global", "Global"]]) {
const vwl = document.createElement("option");
vwl.value = vwj;
vwl.textContent = vwk;
if (vwj === "global" === v4i[vwh]) vwl.selected = true;
…
s116799 Input vwl opt optionElementUseful 0.88 optionElementUseful 0.88 Both useful Present Pre-rename JavaScript · s116799 / vwl ×
Declaration · line 3453 …
for (const [vwj, vwk] of [["local", "Contiguous"], ["global", "Global"]]) {
const vwl = document.createElement("option");
vwl.value = vwj;
vwl.textContent = vwk;
if (vwj === "global" === v4i[vwh]) vwl.selected = true;
vwi.appendChild(vwl);
}
vwi.addEventListener("change", () => {
…
s117270 Input vwm interpSelect interpolationSelectUseful 0.90 interpolationSelectUseful 0.90 Both useful Present Pre-rename JavaScript · s117270 / vwm ×
Declaration · line 3466 …
vw9.appendChild(this._group("Mode:", vwi));
}
if (vw8 === "move") {
const vwm = document.createElement("select");
for (const [vwn, vwo] of [["nearest", "Nearest Neighbor"], ["bilinear", "Bilinear"], ["bicubic", "Bicubic"]]) {
const vwp = document.createElement("option");
vwp.value = vwn;
… Reference · line 3472 …
vwp.textContent = vwo;
if (vwn === v4i._interpolation) vwp.selected = true;
vwm .appendChild(vwp);
}
vwm.addEventListener("change", () => v4i._interpolation = vwm.value);
vw9.appendChild(this._group("Resample:", vwm));
}
if (vw8 === "text") {
const vwq = document.createElement("select");
…
s117330 Input vwn val interpolationValueUseful 0.59 interpolationKeyUseful 0.23 FlowName better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s117330 / vwn ×
Declaration · line 3467 …
if (vw8 === "move") {
const vwm = document.createElement("select");
for (const [vwn , vwo] of [["nearest", "Nearest Neighbor"], ["bilinear", "Bilinear"], ["bicubic", "Bicubic"]]) {
const vwp = document.createElement("option");
vwp.value = vwn;
vwp.textContent = vwo;
if (vwn === v4i._interpolation) vwp.selected = true;
…
s117335 Input vwo label interpolationLabelUseful 0.39 interpolationLabelUseful 0.39 Both poor Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s117335 / vwo ×
Declaration · line 3467 …
if (vw8 === "move") {
const vwm = document.createElement("select");
for (const [vwn, vwo ] of [["nearest", "Nearest Neighbor"], ["bilinear", "Bilinear"], ["bicubic", "Bicubic"]]) {
const vwp = document.createElement("option");
vwp.value = vwn;
vwp.textContent = vwo;
if (vwn === v4i._interpolation) vwp.selected = true;
…
s117446 Input vwp opt interpolationOptionUseful 0.72 optionElementUseful 0.79 Both useful Present Preference confidence is low. Pre-rename JavaScript · s117446 / vwp ×
Declaration · line 3468 …
for (const [vwn, vwo] of [["nearest", "Nearest Neighbor"], ["bilinear", "Bilinear"], ["bicubic", "Bicubic"]]) {
const vwp = document.createElement("option");
vwp.value = vwn;
vwp.textContent = vwo;
if (vwn === v4i._interpolation) vwp.selected = true;
vwm.appendChild(vwp);
}
vwm.addEventListener("change", () => v4i._interpolation = vwm.value);
…
s117835 Input vwq fontSelect fontFamilySelectUseful 0.86 fontSelectUseful 0.92 Both useful Present Preference confidence is low. Pre-rename JavaScript · s117835 / vwq ×
Declaration · line 3478 …
vw9.appendChild(this._group("Resample:", vwm));
}
if (vw8 === "text") {
const vwq = document.createElement("select");
for (const vwr of ["Arial", "Helvetica", "Times New Roman", "Courier New", "Georgia", "Verdana", "monospace"]) {
const vws = document.createElement("option");
vws.value = vwr;
… Reference · line 3484 …
vws.textContent = vwr;
if (vwr === v4i._fontFamily) vws.selected = true;
vwq .appendChild(vws);
}
vwq.addEventListener("change", () => v4i._fontFamily = vwq.value);
vw9.appendChild(this._group("Font:", vwq));
vw9.appendChild(this._group("Size:", this._numberInput(v4i._fontSize, 6, 200, vwt => v4i._fontSize = vwt)));
…
s117894 Input vwr f fontFamilyUseful 0.69 fontNameUseful 0.37 FlowName better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s117894 / vwr ×
Declaration · line 3479 …
if (vw8 === "text") {
const vwq = document.createElement("select");
for (const vwr of ["Arial", "Helvetica", "Times New Roman", "Courier New", "Georgia", "Verdana", "monospace"]) {
const vws = document.createElement("option");
vws.value = vwr;
vws.textContent = vwr;
if (vwr === v4i._fontFamily) vws.selected = true;
…
s118012 Input vws opt fontOptionUseful 0.76 optionElementUseful 0.87 Both useful Present Preference confidence is low. Pre-rename JavaScript · s118012 / vws ×
Declaration · line 3480 …
for (const vwr of ["Arial", "Helvetica", "Times New Roman", "Courier New", "Georgia", "Verdana", "monospace"]) {
const vws = document.createElement("option");
vws.value = vwr;
vws.textContent = vwr;
if (vwr === v4i._fontFamily) vws.selected = true;
vwq.appendChild(vws);
}
vwq.addEventListener("change", () => v4i._fontFamily = vwq.value);
…
s118427 Input vwt v fontSizeUseful 0.85 fontSizeUseful 0.85 Both useful Present Pre-rename JavaScript · s118427 / vwt ×
Declaration · line 3488 …
vw9.appendChild(this._group("Font:", vwq));
vw9.appendChild(this._group("Size:", this._numberInput(v4i._fontSize, 6, 200, vwt => v4i._fontSize = vwt)));
}
}
_group(vwu, vwv) {
const vww = document.createElement("div");
vww.className = "tool-option-group";
if (vwu) {
const vwx = document.createElement("label");
vwx.textContent = vwu;
…
s118483 Input vwu label groupNameUseful 0.38 groupLabelUseful 0.76 Humanify better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s118483 / vwu ×
Declaration · line 3491 …
vw9.appendChild(this._group("Size:", this._numberInput(v4i._fontSize, 6, 200, vwt => v4i._fontSize = vwt)));
}
}
_group(vwu , vwv) {
const vww = document.createElement("div");
vww.className = "tool-option-group";
if (vwu) {
const vwx = document.createElement("label");
vwx.textContent = vwu;
vww.appendChild(vwx);
}
…
s118488 Input vwv input childElementUseful 0.28 elementUseful 0.63 Humanify better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s118488 / vwv ×
Declaration · line 3491 …
vw9.appendChild(this._group("Size:", this._numberInput(v4i._fontSize, 6, 200, vwt => v4i._fontSize = vwt)));
}
}
_group(vwu, vwv ) {
const vww = document.createElement("div");
vww.className = "tool-option-group";
if (vwu) {
const vwx = document.createElement("label");
vwx.textContent = vwu;
vww.appendChild(vwx);
}
vww.appendChild(vwv);
…
s118507 Input vww g groupContainerUseful 0.78 groupElementUseful 0.84 Both useful Present Preference confidence is low. Pre-rename JavaScript · s118507 / vww ×
Declaration · line 3492 …
vw9.appendChild(this._group("Size:", this._numberInput(v4i._fontSize, 6, 200, vwt => v4i._fontSize = vwt)));
}
}
_group(vwu, vwv) {
const vww = document.createElement("div");
vww.className = "tool-option-group";
if (vwu) {
const vwx = document.createElement("label");
vwx.textContent = vwu;
vww.appendChild(vwx);
}
vww.appendChild(vwv);
… Reference · line 3500 …
vwx.textContent = vwu;
vww.appendChild(vwx);
}
vww.appendChild(vwv);
return vww ;
}
_numberInput(vwy, vwz, vx0, vx1) {
const vx2 = document.createElement("input");
vx2.type = "number";
vx2.min = vwz;
vx2.max = vx0;
vx2.value = vwy;
vx2.addEventListener("change", () => vx1(parseInt(vx2.value) || vwz));
…
s118618 Input vwx l labelElementUseful 0.91 labelElementUseful 0.91 Both useful Present Pre-rename JavaScript · s118618 / vwx ×
Declaration · line 3495 …
const vww = document.createElement("div");
vww.className = "tool-option-group";
if (vwu) {
const vwx = document.createElement("label");
vwx.textContent = vwu;
vww.appendChild(vwx);
}
vww.appendChild(vwv);
return vww;
}
_numberInput(vwy, vwz, vx0, vx1) {
const vx2 = document.createElement("input");
…
s118795 Input vwy value valueUseful 0.71 initialValueUseful 0.68 Both useful Present Preference confidence is low. Pre-rename JavaScript · s118795 / vwy ×
Declaration · line 3502 …
vww.appendChild(vwx);
}
vww.appendChild(vwv);
return vww;
}
_numberInput(vwy , vwz, vx0, vx1) {
const vx2 = document.createElement("input");
vx2.type = "number";
vx2.min = vwz;
vx2.max = vx0;
vx2.value = vwy;
vx2.addEventListener("change", () => vx1(parseInt(vx2.value) || vwz));
…
s118800 Input vwz min minUseful 0.90 minValueUseful 0.80 FlowName better Present Pre-rename JavaScript · s118800 / vwz ×
Declaration · line 3502 …
vww.appendChild(vwx);
}
vww.appendChild(vwv);
return vww;
}
_numberInput(vwy, vwz , vx0, vx1) {
const vx2 = document.createElement("input");
vx2.type = "number";
vx2.min = vwz;
vx2.max = vx0;
vx2.value = vwy;
vx2.addEventListener("change", () => vx1(parseInt(vx2.value) || vwz));
return vx2;
…
s118805 Input vx0 max maxUseful 0.84 maxValueUseful 0.61 Both useful Present Usefulness probability is near the provisional 0.5 boundary. Preference confidence is low. Pre-rename JavaScript · s118805 / vx0 ×
Declaration · line 3502 …
vww.appendChild(vwx);
}
vww.appendChild(vwv);
return vww;
}
_numberInput(vwy, vwz, vx0 , vx1) {
const vx2 = document.createElement("input");
vx2.type = "number";
vx2.min = vwz;
vx2.max = vx0;
vx2.value = vwy;
vx2.addEventListener("change", () => vx1(parseInt(vx2.value) || vwz));
return vx2;
…
s118810 Input vx1 onChange stepUseful 0.03 onChangeUseful 0.91 Humanify better Present Pre-rename JavaScript · s118810 / vx1 ×
Declaration · line 3502 …
}
vww.appendChild(vwv);
return vww;
}
_numberInput(vwy, vwz, vx0, vx1 ) {
const vx2 = document.createElement("input");
vx2.type = "number";
vx2.min = vwz;
vx2.max = vx0;
vx2.value = vwy;
vx2.addEventListener("change", () => vx1(parseInt(vx2.value) || vwz));
return vx2;
…
s118829 Input vx2 input inputElementUseful 0.69 numberInputUseful 0.37 FlowName better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s118829 / vx2 ×
Declaration · line 3503 …
vww.appendChild(vwv);
return vww;
}
_numberInput(vwy, vwz, vx0, vx1) {
const vx2 = document.createElement("input");
vx2.type = "number";
vx2.min = vwz;
vx2.max = vx0;
vx2.value = vwy;
vx2.addEventListener("change", () => vx1(parseInt(vx2.value) || vwz));
return vx2;
}
_rangeInput(vx3, vx4, vx5, vx6) {
…
s119077 Input vx3 value valueUseful 0.73 initialValueUseful 0.44 FlowName better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s119077 / vx3 ×
Declaration · line 3511 …
vx2.addEventListener("change", () => vx1(parseInt(vx2.value) || vwz));
return vx2;
}
_rangeInput(vx3 , vx4, vx5, vx6) {
const vx7 = document.createElement("input");
vx7.type = "range";
vx7.min = vx4;
vx7.max = vx5;
vx7.value = vx3;
vx7.addEventListener("input", () => vx6(parseInt(vx7.value)));
return vx7;
…
s119082 Input vx4 min minUseful 0.91 minValueUseful 0.76 Both useful Present Preference confidence is low. Pre-rename JavaScript · s119082 / vx4 ×
Declaration · line 3511 …
vx2.addEventListener("change", () => vx1(parseInt(vx2.value) || vwz));
return vx2;
}
_rangeInput(vx3, vx4 , vx5, vx6) {
const vx7 = document.createElement("input");
vx7.type = "range";
vx7.min = vx4;
vx7.max = vx5;
vx7.value = vx3;
vx7.addEventListener("input", () => vx6(parseInt(vx7.value)));
return vx7;
…
s119087 Input vx5 max maxUseful 0.88 maxValueUseful 0.59 Both useful Present Usefulness probability is near the provisional 0.5 boundary. Preference confidence is low. Pre-rename JavaScript · s119087 / vx5 ×
Declaration · line 3511 …
vx2.addEventListener("change", () => vx1(parseInt(vx2.value) || vwz));
return vx2;
}
_rangeInput(vx3, vx4, vx5 , vx6) {
const vx7 = document.createElement("input");
vx7.type = "range";
vx7.min = vx4;
vx7.max = vx5;
vx7.value = vx3;
vx7.addEventListener("input", () => vx6(parseInt(vx7.value)));
return vx7;
…
s119092 Input vx6 onChange stepUseful 0.04 onChangeUseful 0.91 Humanify better Present Pre-rename JavaScript · s119092 / vx6 ×
Declaration · line 3511 …
vx2.addEventListener("change", () => vx1(parseInt(vx2.value) || vwz));
return vx2;
}
_rangeInput(vx3, vx4, vx5, vx6 ) {
const vx7 = document.createElement("input");
vx7.type = "range";
vx7.min = vx4;
vx7.max = vx5;
vx7.value = vx3;
vx7.addEventListener("input", () => vx6(parseInt(vx7.value)));
return vx7;
}
…
s119111 Input vx7 input inputElementUseful 0.74 rangeInputUseful 0.28 FlowName better Present Pre-rename JavaScript · s119111 / vx7 ×
Declaration · line 3512 …
vx2.addEventListener("change", () => vx1(parseInt(vx2.value) || vwz));
return vx2;
}
_rangeInput(vx3, vx4, vx5, vx6) {
const vx7 = document.createElement("input");
vx7.type = "range";
vx7.min = vx4;
vx7.max = vx5;
vx7.value = vx3;
vx7.addEventListener("input", () => vx6(parseInt(vx7.value)));
return vx7;
}
_checkbox(vx8, vx9) {
…
s119348 Input vx8 value isCheckedUseful 0.58 isCheckedUseful 0.58 Both useful Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s119348 / vx8 ×
Declaration · line 3520 …
vx7.addEventListener("input", () => vx6(parseInt(vx7.value)));
return vx7;
}
_checkbox(vx8 , vx9) {
const vxa = document.createElement("input");
vxa.type = "checkbox";
vxa.checked = vx8;
vxa.addEventListener("change", () => vx9(vxa.checked));
return vxa;
}
_shapeToggle(vxb, vxc) {
const vxd = document.createElement("div");
…
s119353 Input vx9 onChange onChangeUseful 0.89 onChangeUseful 0.89 Both useful Present Pre-rename JavaScript · s119353 / vx9 ×
Declaration · line 3520 …
vx7.addEventListener("input", () => vx6(parseInt(vx7.value)));
return vx7;
}
_checkbox(vx8, vx9 ) {
const vxa = document.createElement("input");
vxa.type = "checkbox";
vxa.checked = vx8;
vxa.addEventListener("change", () => vx9(vxa.checked));
return vxa;
}
_shapeToggle(vxb, vxc) {
const vxd = document.createElement("div");
…
s119372 Input vxa input checkboxUseful 0.76 checkboxElementUseful 0.77 Humanify better Present Pre-rename JavaScript · s119372 / vxa ×
Declaration · line 3521 …
vx7.addEventListener("input", () => vx6(parseInt(vx7.value)));
return vx7;
}
_checkbox(vx8, vx9) {
const vxa = document.createElement("input");
vxa.type = "checkbox";
vxa.checked = vx8;
vxa.addEventListener("change", () => vx9(vxa.checked));
return vxa;
}
_shapeToggle(vxb, vxc) {
const vxd = document.createElement("div");
…
s119568 Input vxb value currentShapeUseful 0.72 currentToolUseful 0.15 FlowName better Present Pre-rename JavaScript · s119568 / vxb ×
Declaration · line 3527 …
vxa.addEventListener("change", () => vx9(vxa.checked));
return vxa;
}
_shapeToggle(vxb , vxc) {
const vxd = document.createElement("div");
vxd.className = "tool-segmented";
for (const [vxe, vxf] of [["circle", "Circle"], ["square", "Square"]]) {
const vxg = document.createElement("button");
vxg.type = "button";
… Reference · line 3536 …
vxg.title = vxf;
vxg.setAttribute("aria-label", vxf);
vxg.classList.toggle("active", vxb === vxe);
const vxh = document.createElement("span");
vxh.className = `brush-shape-icon ${vxe}`;
vxg.appendChild(vxh);
vxg.addEventListener("click", () => {
vxc(vxe);
vxd.querySelectorAll(".tool-segment").forEach(vxi => vxi.classList.remove("active"));
…
s119573 Input vxc onChange onShapeChangeUseful 0.73 containerUseful 0.03 FlowName better Present Pre-rename JavaScript · s119573 / vxc ×
Declaration · line 3527 …
vxa.addEventListener("change", () => vx9(vxa.checked));
return vxa;
}
_shapeToggle(vxb, vxc ) {
const vxd = document.createElement("div");
vxd.className = "tool-segmented";
for (const [vxe, vxf] of [["circle", "Circle"], ["square", "Square"]]) {
const vxg = document.createElement("button");
vxg.type = "button";
… Reference · line 3541 …
vxh.className = `brush-shape-icon ${vxe}`;
vxg.appendChild(vxh);
vxg.addEventListener("click", () => {
vxc (vxe);
vxd.querySelectorAll(".tool-segment").forEach(vxi => vxi.classList.remove("active"));
vxg.classList.add("active");
});
vxd.appendChild(vxg);
}
return vxd;
}
};
var vxj = class {
…
s119592 Input vxd wrap containerUseful 0.76 containerElementUseful 0.71 Both useful Present Preference confidence is low. Pre-rename JavaScript · s119592 / vxd ×
Declaration · line 3528 …
vxa.addEventListener("change", () => vx9(vxa.checked));
return vxa;
}
_shapeToggle(vxb, vxc) {
const vxd = document.createElement("div");
vxd.className = "tool-segmented";
for (const [vxe, vxf] of [["circle", "Circle"], ["square", "Square"]]) {
const vxg = document.createElement("button");
vxg.type = "button";
vxg.className = "tool-segment";
… Reference · line 3542 …
vxg.appendChild(vxh);
vxg.addEventListener("click", () => {
vxc(vxe);
vxd .querySelectorAll(".tool-segment").forEach(vxi => vxi.classList.remove("active"));
vxg.classList.add("active");
});
vxd.appendChild(vxg);
}
return vxd;
}
};
var vxj = class {
constructor(vxk) {
…
s119687 Input vxe shape shapeValueUseful 0.35 shapeUseful 0.85 Humanify better Present Pre-rename JavaScript · s119687 / vxe ×
Declaration · line 3530 …
const vxd = document.createElement("div");
vxd.className = "tool-segmented";
for (const [vxe , vxf] of [["circle", "Circle"], ["square", "Square"]]) {
const vxg = document.createElement("button");
vxg.type = "button";
vxg.className = "tool-segment";
vxg.title = vxf;
vxg.setAttribute("aria-label", vxf);
… Reference · line 3536 …
vxg.setAttribute("aria-label", vxf);
vxg.classList.toggle("active", vxb === vxe );
const vxh = document.createElement("span");
vxh.className = `brush-shape-icon ${vxe}`;
vxg.appendChild(vxh);
vxg.addEventListener("click", () => {
vxc(vxe);
vxd.querySelectorAll(".tool-segment").forEach(vxi => vxi.classList.remove("active"));
…
s119692 Input vxf title shapeLabelUseful 0.48 shapeTitleUseful 0.80 Humanify better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s119692 / vxf ×
Declaration · line 3530 …
const vxd = document.createElement("div");
vxd.className = "tool-segmented";
for (const [vxe, vxf ] of [["circle", "Circle"], ["square", "Square"]]) {
const vxg = document.createElement("button");
vxg.type = "button";
vxg.className = "tool-segment";
vxg.title = vxf;
vxg.setAttribute("aria-label", vxf);
…
s119762 Input vxg btn buttonUseful 0.73 segmentButtonUseful 0.83 Both useful Present Preference confidence is low. Pre-rename JavaScript · s119762 / vxg ×
Declaration · line 3531 …
for (const [vxe, vxf] of [["circle", "Circle"], ["square", "Square"]]) {
const vxg = document.createElement("button");
vxg.type = "button";
vxg.className = "tool-segment";
vxg.title = vxf;
vxg.setAttribute("aria-label", vxf);
vxg.classList.toggle("active", vxb === vxe);
const vxh = document.createElement("span");
… Reference · line 3539 …
const vxh = document.createElement("span");
vxh.className = `brush-shape-icon ${vxe}`;
vxg .appendChild(vxh);
vxg.addEventListener("click", () => {
vxc(vxe);
vxd.querySelectorAll(".tool-segment").forEach(vxi => vxi.classList.remove("active"));
vxg.classList.add("active");
});
vxd.appendChild(vxg);
…
s120008 Input vxh icon iconUseful 0.87 iconElementUseful 0.86 Both useful Present Preference confidence is low. Pre-rename JavaScript · s120008 / vxh ×
Declaration · line 3537 …
vxg.setAttribute("aria-label", vxf);
vxg.classList.toggle("active", vxb === vxe);
const vxh = document.createElement("span");
vxh.className = `brush-shape-icon ${vxe}`;
vxg.appendChild(vxh);
vxg.addEventListener("click", () => {
vxc(vxe);
vxd.querySelectorAll(".tool-segment").forEach(vxi => vxi.classList.remove("active"));
…
s120249 Input vxi segment segmentUseful 0.87 elementUseful 0.32 FlowName better Present Pre-rename JavaScript · s120249 / vxi ×
Declaration · line 3542 …
vxg.addEventListener("click", () => {
vxc(vxe);
vxd.querySelectorAll(".tool-segment").forEach(vxi => vxi.classList.remove("active"));
vxg.classList.add("active");
});
vxd.appendChild(vxg);
}
return vxd;
}
};
var vxj = class {
constructor(vxk) {
this.app = vxk;
this._open = null;
…
s120413 Input vxj MenuBar MenuBarUseful 0.96 EventEmitter28Useful 0.04 FlowName better Absent Pre-rename JavaScript · s120413 / vxj ×
Declaration · line 3550 …
vxg.classList.add("active");
});
vxd.appendChild(vxg);
}
return vxd;
}
};
var vxj = class {
constructor(vxk) {
this.app = vxk;
this._open = null;
const vxl = document.getElementById("menu-dropdown");
document.querySelectorAll(".menu-item").forEach(vxm => {
vxm.addEventListener("click", vxn => {
… Reference · line 4382 …
this.docManager = new vu2();
this.toolOptions = new vw6();
this.menuBar = new vxj (this);
this.newDialog = new vy2();
this.canvasSizeDialog = new vyd();
this.scaleImageDialog = new vza();
this.bcDialog = new v102();
this.hslDialog = new v10e();
this.blurDialog = new v12a();
this.sharpenDialog = new v12k();
…
s120443 Input vxk app appUseful 0.85 applicationUseful 0.72 FlowName better Present Pre-rename JavaScript · s120443 / vxk ×
Declaration · line 3551 …
vxd.appendChild(vxg);
}
return vxd;
}
};
var vxj = class {
constructor(vxk ) {
this.app = vxk;
this._open = null;
const vxl = document.getElementById("menu-dropdown");
document.querySelectorAll(".menu-item").forEach(vxm => {
vxm.addEventListener("click", vxn => {
vxn.stopPropagation();
…
s120509 Input vxl dropdown menuDropdownUseful 0.89 menuDropdownUseful 0.89 Both useful Present Pre-rename JavaScript · s120509 / vxl ×
Declaration · line 3554 …
var vxj = class {
constructor(vxk) {
this.app = vxk;
this._open = null;
const vxl = document.getElementById("menu-dropdown");
document.querySelectorAll(".menu-item").forEach(vxm => {
vxm.addEventListener("click", vxn => {
vxn.stopPropagation();
const vxo = vxm.dataset.menu;
if (this._open === vxo) {
… Reference · line 3570 …
});
});
document.addEventListener("click", () => this._close());
vxl .addEventListener("click", vxp => vxp.stopPropagation());
}
_close() {
document.getElementById("menu-dropdown").classList.add("hidden");
document.querySelectorAll(".menu-item").forEach(vxq => vxq.classList.remove("open"));
…
s120611 Input vxm item menuItemUseful 0.81 menuItemUseful 0.81 Both useful Present Pre-rename JavaScript · s120611 / vxm ×
Declaration · line 3555 …
const vxl = document.getElementById("menu-dropdown");
document.querySelectorAll(".menu-item").forEach(vxm => {
vxm.addEventListener("click", vxn => {
vxn.stopPropagation();
const vxo = vxm.dataset.menu;
if (this._open === vxo) {
this._close();
} else {
this._show(vxo, vxm);
… Reference · line 3565 …
this._close();
} else {
this._show(vxo, vxm);
}
});
vxm .addEventListener("mouseenter", () => {
if (this._open) this._show(vxm.dataset.menu, vxm);
});
});
document.addEventListener("click", () => this._close());
vxl.addEventListener("click", vxp => vxp.stopPropagation());
…
s120658 Input vxn e eventUseful 0.85 eventUseful 0.85 Both useful Present Pre-rename JavaScript · s120658 / vxn ×
Declaration · line 3556 …
document.querySelectorAll(".menu-item").forEach(vxm => {
vxm.addEventListener("click", vxn => {
vxn.stopPropagation();
const vxo = vxm.dataset.menu;
if (this._open === vxo) {
this._close();
} else {
this._show(vxo, vxm);
}
});
vxm.addEventListener("mouseenter", () => {
…
s120716 Input vxo menu menuIdUseful 0.39 menuNameUseful 0.61 Humanify better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s120716 / vxo ×
Declaration · line 3558 …
vxm.addEventListener("click", vxn => {
vxn.stopPropagation();
const vxo = vxm.dataset.menu;
if (this._open === vxo) {
this._close();
} else {
this._show(vxo, vxm);
}
});
vxm.addEventListener("mouseenter", () => {
if (this._open) this._show(vxm.dataset.menu, vxm);
…
s121113 Input vxp e eventUseful 0.82 eventUseful 0.82 Both useful Present Pre-rename JavaScript · s121113 / vxp ×
Declaration · line 3570 …
document.addEventListener("click", () => this._close());
vxl.addEventListener("click", vxp => vxp.stopPropagation());
}
_close() {
document.getElementById("menu-dropdown").classList.add("hidden");
document.querySelectorAll(".menu-item").forEach(vxq => vxq.classList.remove("open"));
this._open = null;
…
s121291 Input vxq m menuItemUseful 0.78 elementUseful 0.51 FlowName better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s121291 / vxq ×
Declaration · line 3574 …
document.getElementById("menu-dropdown").classList.add("hidden");
document.querySelectorAll(".menu-item").forEach(vxq => vxq.classList.remove("open"));
this._open = null;
}
_show(vxr, vxs) {
this._open = vxr;
document.querySelectorAll(".menu-item").forEach(vxt => vxt.classList.toggle("open", vxt.dataset.menu === vxr));
const vxu = this._getMenuItems(vxr);
…
s121370 Input vxr menu menuIdUseful 0.41 menuIdUseful 0.41 Both poor Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s121370 / vxr ×
Declaration · line 3577 …
document.querySelectorAll(".menu-item").forEach(vxq => vxq.classList.remove("open"));
this._open = null;
}
_show(vxr , vxs) {
this._open = vxr;
document.querySelectorAll(".menu-item").forEach(vxt => vxt.classList.toggle("open", vxt.dataset.menu === vxr));
const vxu = this._getMenuItems(vxr);
const vxv = document.getElementById("menu-dropdown");
…
s121375 Input vxs anchor eventTargetUseful 0.13 eventTargetUseful 0.13 Both poor Present Pre-rename JavaScript · s121375 / vxs ×
Declaration · line 3577 …
document.querySelectorAll(".menu-item").forEach(vxq => vxq.classList.remove("open"));
this._open = null;
}
_show(vxr, vxs ) {
this._open = vxr;
document.querySelectorAll(".menu-item").forEach(vxt => vxt.classList.toggle("open", vxt.dataset.menu === vxr));
const vxu = this._getMenuItems(vxr);
const vxv = document.getElementById("menu-dropdown");
… Reference · line 3584 …
const vxv = document.getElementById("menu-dropdown");
vxv.innerHTML = "";
vxv.classList.remove("hidden");
const vxw = vxs .getBoundingClientRect();
vxv.style.left = vxw.left + "px";
vxv.style.top = vxw.bottom + "px";
for (const vxx of vxu) {
if (vxx.sep) {
const vxy = document.createElement("div");
vxy.className = "menu-dropdown-sep";
…
s121460 Input vxt m menuItemUseful 0.70 menuElementUseful 0.20 FlowName better Present Pre-rename JavaScript · s121460 / vxt ×
Declaration · line 3579 …
_show(vxr, vxs) {
this._open = vxr;
document.querySelectorAll(".menu-item").forEach(vxt => vxt.classList.toggle("open", vxt.dataset.menu === vxr));
const vxu = this._getMenuItems(vxr);
const vxv = document.getElementById("menu-dropdown");
vxv.innerHTML = "";
vxv.classList.remove("hidden");
const vxw = vxs.getBoundingClientRect();
…
s121536 Input vxu items menuItemsUseful 0.90 menuItemsUseful 0.90 Both useful Present Pre-rename JavaScript · s121536 / vxu ×
Declaration · line 3580 …
document.querySelectorAll(".menu-item").forEach(vxt => vxt.classList.toggle("open", vxt.dataset.menu === vxr));
const vxu = this._getMenuItems(vxr);
const vxv = document.getElementById("menu-dropdown");
vxv.innerHTML = "";
vxv.classList.remove("hidden");
const vxw = vxs.getBoundingClientRect();
vxv.style.left = vxw.left + "px";
… Reference · line 3587 …
vxv.style.left = vxw.left + "px";
vxv.style.top = vxw.bottom + "px";
for (const vxx of vxu ) {
if (vxx.sep) {
const vxy = document.createElement("div");
vxy.className = "menu-dropdown-sep";
vxv.appendChild(vxy);
continue;
}
const vxz = document.createElement("div");
…
s121579 Input vxv dropdown dropdownElementUseful 0.85 menuDropdownUseful 0.84 FlowName better Present Pre-rename JavaScript · s121579 / vxv ×
Declaration · line 3581 …
t.querySelectorAll(".menu-item").forEach(vxt => vxt.classList.toggle("open", vxt.dataset.menu === vxr));
const vxu = this._getMenuItems(vxr);
const vxv = document.getElementById("menu-dropdown");
vxv.innerHTML = "";
vxv.classList.remove("hidden");
const vxw = vxs.getBoundingClientRect();
vxv.style.left = vxw.left + "px";
vxv.style.top = vxw.bottom + "px";
for (const vxx of vxu) {
… Reference · line 3591 …
const vxy = document.createElement("div");
vxy.className = "menu-dropdown-sep";
vxv .appendChild(vxy);
continue;
}
const vxz = document.createElement("div");
vxz.className = "menu-dropdown-item";
vxz.innerHTML = `<span>${vxx.label}</span>` + (vxx.shortcut ? `<span class="shortcut">${vxx.shortcut}</span>` : "");
…
s121703 Input vxw rect rectUseful 0.89 triggerRectUseful 0.82 Both useful Present Preference confidence is low. Pre-rename JavaScript · s121703 / vxw ×
Declaration · line 3584 …
const vxv = document.getElementById("menu-dropdown");
vxv.innerHTML = "";
vxv.classList.remove("hidden");
const vxw = vxs.getBoundingClientRect();
vxv.style.left = vxw.left + "px";
vxv.style.top = vxw.bottom + "px";
for (const vxx of vxu) {
if (vxx.sep) {
const vxy = document.createElement("div");
vxy.className = "menu-dropdown-sep";
…
s121836 Input vxx item menuItemUseful 0.67 menuItemUseful 0.67 Both useful Present Pre-rename JavaScript · s121836 / vxx ×
Declaration · line 3587 …
vxv.style.left = vxw.left + "px";
vxv.style.top = vxw.bottom + "px";
for (const vxx of vxu) {
if (vxx.sep) {
const vxy = document.createElement("div");
vxy.className = "menu-dropdown-sep";
vxv.appendChild(vxy);
continue;
}
const vxz = document.createElement("div");
… Reference · line 3596 …
const vxz = document.createElement("div");
vxz.className = "menu-dropdown-item";
vxz.innerHTML = `<span>${vxx .label}</span>` + (vxx.shortcut ? `<span class="shortcut">${vxx.shortcut}</span>` : "");
vxz.addEventListener("click", () => {
this._close();
vxx.action();
});
vxv.appendChild(vxz);
}
}
…
s121889 Input vxy sep separatorElementUseful 0.90 separatorElementUseful 0.90 Both useful Present Pre-rename JavaScript · s121889 / vxy ×
Declaration · line 3589 …
vxv.style.top = vxw.bottom + "px";
for (const vxx of vxu) {
if (vxx.sep) {
const vxy = document.createElement("div");
vxy.className = "menu-dropdown-sep";
vxv.appendChild(vxy);
continue;
}
const vxz = document.createElement("div");
vxz.className = "menu-dropdown-item";
…
s122049 Input vxz el itemElementUseful 0.86 itemElementUseful 0.86 Both useful Present Pre-rename JavaScript · s122049 / vxz ×
Declaration · line 3594 …
vxy.className = "menu-dropdown-sep";
vxv.appendChild(vxy);
continue;
}
const vxz = document.createElement("div");
vxz.className = "menu-dropdown-item";
vxz.innerHTML = `<span>${vxx.label}</span>` + (vxx.shortcut ? `<span class="shortcut">${vxx.shortcut}</span>` : "");
vxz.addEventListener("click", () => {
… Reference · line 3601 …
vxz.addEventListener("click", () => {
this._close();
vxx.action();
});
vxv.appendChild(vxz );
}
}
_getMenuItems(vy0) {
const vy1 = this.app;
switch (vy0) {
case "file":
return [{
label: "New...",
shortcut: "Ctrl+N",
action: () => vy1.showNewDialog()
…
s122426 Input vy0 menu menuNameUseful 0.73 menuIdUseful 0.32 FlowName better Present Pre-rename JavaScript · s122426 / vy0 ×
Declaration · line 3604 …
vxx.action();
});
vxv.appendChild(vxz);
}
}
_getMenuItems(vy0 ) {
const vy1 = this.app;
switch (vy0) {
case "file":
return [{
label: "New...",
shortcut: "Ctrl+N",
action: () => vy1.showNewDialog()
}, {
label: "Open...",
…
s122445 Input vy1 app appUseful 0.91 appInstanceUseful 0.64 FlowName better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s122445 / vy1 ×
Declaration · line 3605 …
});
vxv.appendChild(vxz);
}
}
_getMenuItems(vy0) {
const vy1 = this.app;
switch (vy0) {
case "file":
return [{
label: "New...",
shortcut: "Ctrl+N",
action: () => vy1.showNewDialog()
}, {
label: "Open...",
shortcut: "Ctrl+O",
… Reference · line 3615 …
}, {
label: "Open...",
shortcut: "Ctrl+O",
action: () => vy1 .openFile()
}, {
sep: true
}, {
label: "Save",
shortcut: "Ctrl+S",
action: () => vy1.saveFile()
}, {
label: "Save As...",
shortcut: "Ctrl+Shift+S",
…
s127722 Input vy2 NewImageDialog NewPresetDialogUseful 0.15 callbackUseful 0.05 Both poor Absent Pre-rename JavaScript · s127722 / vy2 ×
Declaration · line 3786 …
action: () => v4i.emit("grid:toggle")
}];
default:
return [];
}
}
};
var vy2 = class {
constructor() {
const vy3 = document.getElementById("new-preset");
const vy4 = document.getElementById("new-width");
const vy5 = document.getElementById("new-height");
vy3.addEventListener("change", () => {
… Reference · line 4383 …
this.toolOptions = new vw6();
this.menuBar = new vxj(this);
this.newDialog = new vy2 ();
this.canvasSizeDialog = new vyd();
this.scaleImageDialog = new vza();
this.bcDialog = new v102();
this.hslDialog = new v10e();
this.blurDialog = new v12a();
this.sharpenDialog = new v12k();
this.posterizeDialog = new v12z();
…
s127768 Input vy3 preset presetSelectUseful 0.81 presetSelectUseful 0.81 Both useful Present Pre-rename JavaScript · s127768 / vy3 ×
Declaration · line 3788 …
return [];
}
}
};
var vy2 = class {
constructor() {
const vy3 = document.getElementById("new-preset");
const vy4 = document.getElementById("new-width");
const vy5 = document.getElementById("new-height");
vy3.addEventListener("change", () => {
if (vy3.value === "custom") return;
… Reference · line 3793 …
vy3.addEventListener("change", () => {
if (vy3.value === "custom") return;
const [vy6, vy7] = vy3 .value.split(",");
vy4.value = vy6;
vy5.value = vy7;
});
document.getElementById("new-ok").addEventListener("click", () => this._create());
document.getElementById("new-cancel").addEventListener("click", () => this.hide());
…
s127825 Input vy4 wInput widthInputUseful 0.90 widthInputUseful 0.90 Both useful Present Pre-rename JavaScript · s127825 / vy4 ×
Declaration · line 3789 …
var vy2 = class {
constructor() {
const vy3 = document.getElementById("new-preset");
const vy4 = document.getElementById("new-width");
const vy5 = document.getElementById("new-height");
vy3.addEventListener("change", () => {
if (vy3.value === "custom") return;
const [vy6, vy7] = vy3.value.split(",");
vy4.value = vy6;
…
s127881 Input vy5 hInput heightInputUseful 0.85 heightInputUseful 0.85 Both useful Present Pre-rename JavaScript · s127881 / vy5 ×
Declaration · line 3790 …
const vy3 = document.getElementById("new-preset");
const vy4 = document.getElementById("new-width");
const vy5 = document.getElementById("new-height");
vy3.addEventListener("change", () => {
if (vy3.value === "custom") return;
const [vy6, vy7] = vy3.value.split(",");
vy4.value = vy6;
vy5.value = vy7;
});
…
s128030 Input vy6 w minValueUseful 0.05 widthUseful 0.89 Humanify better Present Pre-rename JavaScript · s128030 / vy6 ×
Declaration · line 3793 …
vy3.addEventListener("change", () => {
if (vy3.value === "custom") return;
const [vy6 , vy7] = vy3.value.split(",");
vy4.value = vy6;
vy5.value = vy7;
});
document.getElementById("new-ok").addEventListener("click", () => this._create());
document.getElementById("new-cancel").addEventListener("click", () => this.hide());
…
s128035 Input vy7 h maxValueUseful 0.07 yCoordUseful 0.06 Both poor Present Pre-rename JavaScript · s128035 / vy7 ×
Declaration · line 3793 …
vy3.addEventListener("change", () => {
if (vy3.value === "custom") return;
const [vy6, vy7 ] = vy3.value.split(",");
vy4.value = vy6;
vy5.value = vy7;
});
document.getElementById("new-ok").addEventListener("click", () => this._create());
document.getElementById("new-cancel").addEventListener("click", () => this.hide());
…
s128381 Input vy8 e eventUseful 0.76 eventUseful 0.76 Both useful Present Pre-rename JavaScript · s128381 / vy8 ×
Declaration · line 3799 …
cument.getElementById("new-cancel").addEventListener("click", () => this.hide());
document.getElementById("new-image-dialog").addEventListener("keydown", vy8 => {
if (vy8.key === "Enter") this._create();
if (vy8.key === "Escape") this.hide();
});
}
async show() {
document.getElementById("dialog-overlay").classList.remove("hidden");
let vy9 = v4i._lastClipboardSize || null;
…
s128607 Input vy9 size clipboardSizeUseful 0.79 clipboardImageSizeUseful 0.39 FlowName better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s128607 / vy9 ×
Declaration · line 3806 …
async show() {
document.getElementById("dialog-overlay").classList.remove("hidden");
let vy9 = v4i._lastClipboardSize || null;
if (!vy9) {
try {
vy9 = await window.app?.constructor?.getClipboardImageSize?.();
} catch {}
}
if (vy9) {
document.getElementById("new-width").value = vy9.width;
… Reference · line 3814 …
document.getElementById("new-width").value = vy9.width;
document.getElementById("new-height").value = vy9 .height;
document.getElementById("new-preset").value = "custom";
}
document.getElementById("new-width").focus();
}
hide() {
document.getElementById("dialog-overlay").classList.add("hidden");
document.activeElement?.blur();
…
s129213 Input vya w newWidthUseful 0.86 newWidthUseful 0.86 Both useful Present Pre-rename JavaScript · s129213 / vya ×
Declaration · line 3824 …
document.getElementById("dialog-overlay").classList.add("hidden");
document.activeElement?.blur();
}
_create() {
const vya = parseInt(document.getElementById("new-width").value) || 800;
const vyb = parseInt(document.getElementById("new-height").value) || 600;
const vyc = document.getElementById("new-bg").value;
this.hide();
v4i.emit("doc:new", vya, vyb, "Untitled", vyc);
…
s129292 Input vyb h newHeightUseful 0.88 newHeightUseful 0.88 Both useful Present Pre-rename JavaScript · s129292 / vyb ×
Declaration · line 3825 …
const vya = parseInt(document.getElementById("new-width").value) || 800;
const vyb = parseInt(document.getElementById("new-height").value) || 600;
const vyc = document.getElementById("new-bg").value;
this.hide();
v4i.emit("doc:new", vya, vyb, "Untitled", vyc);
}
};
var vyd = class {
constructor() {
…
s129372 Input vyc bg newBgUseful 0.79 backgroundColorUseful 0.69 Both useful Present Preference confidence is low. Pre-rename JavaScript · s129372 / vyc ×
Declaration · line 3826 …
const vyb = parseInt(document.getElementById("new-height").value) || 600;
const vyc = document.getElementById("new-bg").value;
this.hide();
v4i.emit("doc:new", vya, vyb, "Untitled", vyc);
}
};
var vyd = class {
constructor() {
this._anchor = "mc";
this._doc = null;
const vye = document.getElementById("cs-width");
…
s129509 Input vyd CanvasSizeDialog CanvasSizeDialogUseful 0.94 EventEmitter29Useful 0.02 FlowName better Absent Pre-rename JavaScript · s129509 / vyd ×
Declaration · line 3831 …
this.hide();
v4i.emit("doc:new", vya, vyb, "Untitled", vyc);
}
};
var vyd = class {
constructor() {
this._anchor = "mc";
this._doc = null;
const vye = document.getElementById("cs-width");
const vyf = document.getElementById("cs-height");
const vyg = document.getElementById("cs-width-percent");
… Reference · line 4384 …
this.menuBar = new vxj(this);
this.newDialog = new vy2();
this.canvasSizeDialog = new vyd ();
this.scaleImageDialog = new vza();
this.bcDialog = new v102();
this.hslDialog = new v10e();
this.blurDialog = new v12a();
this.sharpenDialog = new v12k();
this.posterizeDialog = new v12z();
this.thresholdDialog = new v137();
…
s129606 Input vye wInput widthInputUseful 0.84 widthInputUseful 0.84 Both useful Present Pre-rename JavaScript · s129606 / vye ×
Declaration · line 3835 …
var vyd = class {
constructor() {
this._anchor = "mc";
this._doc = null;
const vye = document.getElementById("cs-width");
const vyf = document.getElementById("cs-height");
const vyg = document.getElementById("cs-width-percent");
const vyh = document.getElementById("cs-height-percent");
vye.addEventListener("input", () => this._syncPercentFromPixels("width"));
…
s129661 Input vyf hInput heightInputUseful 0.81 heightInputUseful 0.81 Both useful Present Pre-rename JavaScript · s129661 / vyf ×
Declaration · line 3836 …
this._doc = null;
const vye = document.getElementById("cs-width");
const vyf = document.getElementById("cs-height");
const vyg = document.getElementById("cs-width-percent");
const vyh = document.getElementById("cs-height-percent");
vye.addEventListener("input", () => this._syncPercentFromPixels("width"));
… Reference · line 3840 …
const vyh = document.getElementById("cs-height-percent");
vye.addEventListener("input", () => this._syncPercentFromPixels("width"));
vyf .addEventListener("input", () => this._syncPercentFromPixels("height"));
vyg.addEventListener("input", () => this._syncPixelsFromPercent("width"));
vyh.addEventListener("input", () => this._syncPixelsFromPercent("height"));
document.querySelectorAll("#cs-anchor-grid button").forEach(vyi => {
…
s129717 Input vyg wPercentInput widthPercentInputUseful 0.90 widthPercentInputUseful 0.90 Both useful Present Pre-rename JavaScript · s129717 / vyg ×
Declaration · line 3837 …
const vye = document.getElementById("cs-width");
const vyf = document.getElementById("cs-height");
const vyg = document.getElementById("cs-width-percent");
const vyh = document.getElementById("cs-height-percent");
vye.addEventListener("input", () => this._syncPercentFromPixels("width"));
vyf.addEventListener("input", () => this._syncPercentFromPixels("height"));
… Reference · line 3841 …
.addEventListener("input", () => this._syncPercentFromPixels("width"));
vyf.addEventListener("input", () => this._syncPercentFromPixels("height"));
vyg .addEventListener("input", () => this._syncPixelsFromPercent("width"));
vyh.addEventListener("input", () => this._syncPixelsFromPercent("height"));
document.querySelectorAll("#cs-anchor-grid button").forEach(vyi => {
vyi.addEventListener("click", () => {
…
s129780 Input vyh hPercentInput heightPercentInputUseful 0.91 heightPercentInputUseful 0.91 Both useful Present Pre-rename JavaScript · s129780 / vyh ×
Declaration · line 3838 …
const vyf = document.getElementById("cs-height");
const vyg = document.getElementById("cs-width-percent");
const vyh = document.getElementById("cs-height-percent");
vye.addEventListener("input", () => this._syncPercentFromPixels("width"));
vyf.addEventListener("input", () => this._syncPercentFromPixels("height"));
vyg.addEventListener("input", () => this._syncPixelsFromPercent("width"));
… Reference · line 3842 …
.addEventListener("input", () => this._syncPercentFromPixels("height"));
vyg.addEventListener("input", () => this._syncPixelsFromPercent("width"));
vyh .addEventListener("input", () => this._syncPixelsFromPercent("height"));
document.querySelectorAll("#cs-anchor-grid button").forEach(vyi => {
vyi.addEventListener("click", () => {
document.querySelectorAll("#cs-anchor-grid button").forEach(vyj => vyj.classList.remove("active"));
…
s130224 Input vyi btn gridButtonUseful 0.66 anchorButtonUseful 0.78 Humanify better Present Pre-rename JavaScript · s130224 / vyi ×
Declaration · line 3843 …
vyh.addEventListener("input", () => this._syncPixelsFromPercent("height"));
document.querySelectorAll("#cs-anchor-grid button").forEach(vyi => {
vyi.addEventListener("click", () => {
document.querySelectorAll("#cs-anchor-grid button").forEach(vyj => vyj.classList.remove("active"));
vyi.classList.add("active");
this._anchor = vyi.dataset.anchor;
…
s130349 Input vyj b buttonUseful 0.85 elementUseful 0.41 FlowName better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s130349 / vyj ×
Declaration · line 3845 …
vyi.addEventListener("click", () => {
document.querySelectorAll("#cs-anchor-grid button").forEach(vyj => vyj.classList.remove("active"));
vyi.classList.add("active");
this._anchor = vyi.dataset.anchor;
});
});
document.getElementById("cs-ok").addEventListener("click", () => this._apply());
document.getElementById("cs-cancel").addEventListener("click", () => this.hide())
…
s130747 Input vyk e eventUseful 0.79 eventUseful 0.79 Both useful Present Pre-rename JavaScript · s130747 / vyk ×
Declaration · line 3852 …
document.getElementById("cs-cancel").addEventListener("click", () => this.hide());
document.getElementById("cs-anchor-grid").addEventListener("keydown", vyk => {
if (vyk.key === "Escape") this.hide();
});
document.getElementById("canvas-size-dialog").addEventListener("keydown", vyl => {
if (vyl.key === "Enter") this._apply();
if (vyl.key === "Escape") this.hide();
…
s130893 Input vyl e eventUseful 0.84 eventUseful 0.84 Both useful Present Pre-rename JavaScript · s130893 / vyl ×
Declaration · line 3855 …
});
document.getElementById("canvas-size-dialog").addEventListener("keydown", vyl => {
if (vyl.key === "Enter") this._apply();
if (vyl.key === "Escape") this.hide();
});
}
show(vym) {
if (!vym) return;
this._doc = vym;
document.getElementById("cs-current").textContent = `${vym.width} x ${vym.height}`;
…
s131022 Input vym doc documentNodeUseful 0.27 documentDataUseful 0.60 Humanify better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s131022 / vym ×
Declaration · line 3860 …
if (vyl.key === "Enter") this._apply();
if (vyl.key === "Escape") this.hide();
});
}
show(vym ) {
if (!vym) return;
this._doc = vym;
document.getElementById("cs-current").textContent = `${vym.width} x ${vym.height}`;
document.getElementById("cs-width").value = vym.width;
document.getElementById("cs-height").value = vym.height;
…
s131483 Input vyn b gridButtonUseful 0.79 elementUseful 0.24 FlowName better Present Pre-rename JavaScript · s131483 / vyn ×
Declaration · line 3868 …
document.getElementById("cs-height-percent").value = 100;
document.querySelectorAll("#cs-anchor-grid button").forEach(vyn => vyn.classList.remove("active"));
document.querySelector('#cs-anchor-grid button[data-anchor="mc"]').classList.add("active");
this._anchor = "mc";
document.getElementById("canvas-size-overlay").classList.remove("hidden");
…
s131948 Input vyo axis dimensionUseful 0.63 dimensionUseful 0.63 Both useful Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s131948 / vyo ×
Declaration · line 3878 …
document.getElementById("canvas-size-overlay").classList.add("hidden");
document.activeElement?.blur();
}
_syncPercentFromPixels(vyo ) {
const vyp = this._doc;
if (!vyp) return;
const vyq = document.getElementById(vyo === "width" ? "cs-width" : "cs-height");
const vyr = document.getElementById(vyo === "width" ? "cs-width-percent" : "cs-height-percent");
… Reference · line 3883 …
const vyr = document.getElementById(vyo === "width" ? "cs-width-percent" : "cs-height-percent");
const vys = vyo === "width" ? vyp.width : vyp.height;
const vyt = parseInt(vyq.value);
if (!Number.isFinite(vyt) || vyt < 1) return;
const vyu = vyt / vys * 100;
vyr.value = Number.isInteger(vyu) ? vyu : vyu.toFixed(2);
}
_syncPixelsFromPercent(vyv) {
…
s131967 Input vyp doc docUseful 0.46 documentModelUseful 0.67 Humanify better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s131967 / vyp ×
Declaration · line 3879 …
document.activeElement?.blur();
}
_syncPercentFromPixels(vyo) {
const vyp = this._doc;
if (!vyp) return;
const vyq = document.getElementById(vyo === "width" ? "cs-width" : "cs-height");
const vyr = document.getElementById(vyo === "width" ? "cs-width-percent" : "cs-height-percent");
const vys = vyo === "width" ? vyp.width : vyp.height;
…
s132020 Input vyq sizeInput pixelInputUseful 0.69 dimensionInputUseful 0.41 FlowName better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s132020 / vyq ×
Declaration · line 3881 …
_syncPercentFromPixels(vyo) {
const vyp = this._doc;
if (!vyp) return;
const vyq = document.getElementById(vyo === "width" ? "cs-width" : "cs-height");
const vyr = document.getElementById(vyo === "width" ? "cs-width-percent" : "cs-height-percent");
const vys = vyo === "width" ? vyp.width : vyp.height;
const vyt = parseInt(vyq.value);
…
s132107 Input vyr percentInput percentInputUseful 0.92 percentInputUseful 0.92 Both useful Present Pre-rename JavaScript · s132107 / vyr ×
Declaration · line 3882 …
const vyq = document.getElementById(vyo === "width" ? "cs-width" : "cs-height");
const vyr = document.getElementById(vyo === "width" ? "cs-width-percent" : "cs-height-percent");
const vys = vyo === "width" ? vyp.width : vyp.height;
const vyt = parseInt(vyq.value);
if (!Number.isFinite(vyt) || vyt < 1) return;
… Reference · line 3887 …
if (!Number.isFinite(vyt) || vyt < 1) return;
const vyu = vyt / vys * 100;
vyr .value = Number.isInteger(vyu) ? vyu : vyu.toFixed(2);
}
_syncPixelsFromPercent(vyv) {
const vyw = this._doc;
if (!vyw) return;
const vyx = document.getElementById(vyv === "width" ? "cs-width-percent" : "cs-height-percent");
…
s132210 Input vys baseSize totalSizeUseful 0.21 originalSizeUseful 0.47 Both poor Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s132210 / vys ×
Declaration · line 3883 …
const vyr = document.getElementById(vyo === "width" ? "cs-width-percent" : "cs-height-percent");
const vys = vyo === "width" ? vyp.width : vyp.height;
const vyt = parseInt(vyq.value);
if (!Number.isFinite(vyt) || vyt < 1) return;
const vyu = vyt / vys * 100;
vyr.value = Number.isInteger(vyu) ? vyu : vyu.toFixed(2);
}
…
s132270 Input vyt size pixelValueUseful 0.61 inputValueUseful 0.36 FlowName better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s132270 / vyt ×
Declaration · line 3884 …
= document.getElementById(vyo === "width" ? "cs-width-percent" : "cs-height-percent");
const vys = vyo === "width" ? vyp.width : vyp.height;
const vyt = parseInt(vyq.value);
if (!Number.isFinite(vyt) || vyt < 1) return;
const vyu = vyt / vys * 100;
vyr.value = Number.isInteger(vyu) ? vyu : vyu.toFixed(2);
}
_syncPixelsFromPercent(vyv) {
const vyw = this._doc;
…
s132361 Input vyu percent percentValueUseful 0.84 percentageValueUseful 0.76 FlowName better Present Pre-rename JavaScript · s132361 / vyu ×
Declaration · line 3886 …
const vyt = parseInt(vyq.value);
if (!Number.isFinite(vyt) || vyt < 1) return;
const vyu = vyt / vys * 100;
vyr.value = Number.isInteger(vyu) ? vyu : vyu.toFixed(2);
}
_syncPixelsFromPercent(vyv) {
const vyw = this._doc;
if (!vyw) return;
const vyx = document.getElementById(vyv === "width" ? "cs-width-percent" : "cs-height-percent");
…
s132481 Input vyv axis dimensionTypeUseful 0.45 dimensionUseful 0.64 Humanify better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s132481 / vyv ×
Declaration · line 3889 …
vyr.value = Number.isInteger(vyu) ? vyu : vyu.toFixed(2);
}
_syncPixelsFromPercent(vyv ) {
const vyw = this._doc;
if (!vyw) return;
const vyx = document.getElementById(vyv === "width" ? "cs-width-percent" : "cs-height-percent");
const vyy = document.getElementById(vyv === "width" ? "cs-width" : "cs-height");
… Reference · line 3894 …
const vyy = document.getElementById(vyv === "width" ? "cs-width" : "cs-height");
const vyz = vyv === "width" ? vyw.width : vyw.height;
const vz0 = parseFloat(vyx.value);
if (!Number.isFinite(vz0) || vz0 <= 0) return;
vyy.value = Math.max(1, Math.round(vyz * vz0 / 100));
}
_apply() {
const vz1 = this._doc;
…
s132500 Input vyw doc docUseful 0.81 documentDataUseful 0.62 Both useful Present Usefulness probability is near the provisional 0.5 boundary. Preference confidence is low. Pre-rename JavaScript · s132500 / vyw ×
Declaration · line 3890 …
vyr.value = Number.isInteger(vyu) ? vyu : vyu.toFixed(2);
}
_syncPixelsFromPercent(vyv) {
const vyw = this._doc;
if (!vyw) return;
const vyx = document.getElementById(vyv === "width" ? "cs-width-percent" : "cs-height-percent");
const vyy = document.getElementById(vyv === "width" ? "cs-width" : "cs-height");
const vyz = vyv === "width" ? vyw.width : vyw.height;
…
s132553 Input vyx percentInput percentInputUseful 0.93 percentInputUseful 0.93 Both useful Present Pre-rename JavaScript · s132553 / vyx ×
Declaration · line 3892 …
_syncPixelsFromPercent(vyv) {
const vyw = this._doc;
if (!vyw) return;
const vyx = document.getElementById(vyv === "width" ? "cs-width-percent" : "cs-height-percent");
const vyy = document.getElementById(vyv === "width" ? "cs-width" : "cs-height");
const vyz = vyv === "width" ? vyw.width : vyw.height;
const vz0 = parseFloat(vyx.value);
…
s132656 Input vyy sizeInput pixelsInputUseful 0.34 pixelValueInputUseful 0.30 Both poor Present Pre-rename JavaScript · s132656 / vyy ×
Declaration · line 3893 …
const vyx = document.getElementById(vyv === "width" ? "cs-width-percent" : "cs-height-percent");
const vyy = document.getElementById(vyv === "width" ? "cs-width" : "cs-height");
const vyz = vyv === "width" ? vyw.width : vyw.height;
const vz0 = parseFloat(vyx.value);
if (!Number.isFinite(vz0) || vz0 <= 0) return;
vyy.value = Math.max(1, Math.round(vyz * vz0 / 100));
…
s132743 Input vyz baseSize dimensionValueUseful 0.41 originalSizeUseful 0.52 Humanify better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s132743 / vyz ×
Declaration · line 3894 …
const vyy = document.getElementById(vyv === "width" ? "cs-width" : "cs-height");
const vyz = vyv === "width" ? vyw.width : vyw.height;
const vz0 = parseFloat(vyx.value);
if (!Number.isFinite(vz0) || vz0 <= 0) return;
vyy.value = Math.max(1, Math.round(vyz * vz0 / 100));
}
_apply() {
const vz1 = this._doc;
…
s132803 Input vz0 percent percentValueUseful 0.86 percentValueUseful 0.86 Both useful Present Pre-rename JavaScript · s132803 / vz0 ×
Declaration · line 3895 …
const vyy = document.getElementById(vyv === "width" ? "cs-width" : "cs-height");
const vyz = vyv === "width" ? vyw.width : vyw.height;
const vz0 = parseFloat(vyx.value);
if (!Number.isFinite(vz0) || vz0 <= 0) return;
vyy.value = Math.max(1, Math.round(vyz * vz0 / 100));
}
_apply() {
const vz1 = this._doc;
if (!vz1) return;
const vz2 = parseInt(document.getElementById("cs-width").value) || vz1.width;
…
s132978 Input vz1 doc documentInstanceUseful 0.69 currentDocumentUseful 0.65 Both useful Present Preference confidence is low. Pre-rename JavaScript · s132978 / vz1 ×
Declaration · line 3900 …
vyy.value = Math.max(1, Math.round(vyz * vz0 / 100));
}
_apply() {
const vz1 = this._doc;
if (!vz1) return;
const vz2 = parseInt(document.getElementById("cs-width").value) || vz1.width;
const vz3 = parseInt(document.getElementById("cs-height").value) || vz1.height;
if (vz2 === vz1.width && vz3 === vz1.height) {
… Reference · line 3908 …
if (vz2 === vz1.width && vz3 === vz1.height) {
this.hide();
return;
}
const vz4 = vz2 - vz1 .width;
const vz5 = vz3 - vz1.height;
let vz6 = 0,
vz7 = 0;
const vz8 = this._anchor[1];
const vz9 = this._anchor[0];
if (vz8 === "c") vz6 = Math.floor(vz4 / 2);else if (vz8 === "r") vz6 = vz4;
if (vz9 === "m") vz7 = Math.floor(vz5 / 2);else if (vz9 === "b") vz7 = vz5;
…
s133031 Input vz2 newW newWidthUseful 0.90 newWidthUseful 0.90 Both useful Present Pre-rename JavaScript · s133031 / vz2 ×
Declaration · line 3902 …
vyy.value = Math.max(1, Math.round(vyz * vz0 / 100));
}
_apply() {
const vz1 = this._doc;
if (!vz1) return;
const vz2 = parseInt(document.getElementById("cs-width").value) || vz1.width;
const vz3 = parseInt(document.getElementById("cs-height").value) || vz1.height;
if (vz2 === vz1.width && vz3 === vz1.height) {
this.hide();
return;
… Reference · line 3908 …
if (vz2 === vz1.width && vz3 === vz1.height) {
this.hide();
return;
}
const vz4 = vz2 - vz1.width;
const vz5 = vz3 - vz1.height;
let vz6 = 0,
vz7 = 0;
const vz8 = this._anchor[1];
const vz9 = this._anchor[0];
if (vz8 === "c") vz6 = Math.floor(vz4 / 2);else if (vz8 === "r") vz6 = vz4;
…
s133115 Input vz3 newH newHeightUseful 0.91 newHeightUseful 0.91 Both useful Present Pre-rename JavaScript · s133115 / vz3 ×
Declaration · line 3903 …
const vz2 = parseInt(document.getElementById("cs-width").value) || vz1.width;
const vz3 = parseInt(document.getElementById("cs-height").value) || vz1.height;
if (vz2 === vz1.width && vz3 === vz1.height) {
this.hide();
return;
}
const vz4 = vz2 - vz1.width;
const vz5 = vz3 - vz1.height;
… Reference · line 3917 …
if (vz9 === "m") vz7 = Math.floor(vz5 / 2);else if (vz9 === "b") vz7 = vz5;
vz1.saveStructureState("Canvas Size");
vz1.resizeCanvas(vz2, vz3 , vz6, vz7);
v4i.emit("layers:changed");
v4i.emit("canvas:dirty");
document.getElementById("status-size").textContent = `${vz1.width} x ${vz1.height}`;
this.hide();
}
};
var vza = class {
constructor() {
…
s133299 Input vz4 dw widthDiffUseful 0.83 widthDiffUseful 0.83 Both useful Present Pre-rename JavaScript · s133299 / vz4 ×
Declaration · line 3908 …
if (vz2 === vz1.width && vz3 === vz1.height) {
this.hide();
return;
}
const vz4 = vz2 - vz1.width;
const vz5 = vz3 - vz1.height;
let vz6 = 0,
vz7 = 0;
const vz8 = this._anchor[1];
const vz9 = this._anchor[0];
if (vz8 === "c") vz6 = Math.floor(vz4 / 2);else if (vz8 === "r") vz6 = vz4;
…
s133334 Input vz5 dh heightDiffUseful 0.90 heightDiffUseful 0.90 Both useful Present Pre-rename JavaScript · s133334 / vz5 ×
Declaration · line 3909 …
this.hide();
return;
}
const vz4 = vz2 - vz1.width;
const vz5 = vz3 - vz1.height;
let vz6 = 0,
vz7 = 0;
const vz8 = this._anchor[1];
const vz9 = this._anchor[0];
if (vz8 === "c") vz6 = Math.floor(vz4 / 2);else if (vz8 === "r") vz6 = vz4;
if (vz9 === "m") vz7 = Math.floor(vz5 / 2);else if (vz9 === "b") vz7 = vz5;
…
s133368 Input vz6 ox offsetXUseful 0.85 deltaXUseful 0.49 FlowName better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s133368 / vz6 ×
Declaration · line 3910 …
return;
}
const vz4 = vz2 - vz1.width;
const vz5 = vz3 - vz1.height;
let vz6 = 0,
vz7 = 0;
const vz8 = this._anchor[1];
const vz9 = this._anchor[0];
if (vz8 === "c") vz6 = Math.floor(vz4 / 2);else if (vz8 === "r") vz6 = vz4;
if (vz9 === "m") vz7 = Math.floor(vz5 / 2);else if (vz9 === "b") vz7 = vz5;
… Reference · line 3917 …
if (vz9 === "m") vz7 = Math.floor(vz5 / 2);else if (vz9 === "b") vz7 = vz5;
vz1.saveStructureState("Canvas Size");
vz1.resizeCanvas(vz2, vz3, vz6 , vz7);
v4i.emit("layers:changed");
v4i.emit("canvas:dirty");
document.getElementById("status-size").textContent = `${vz1.width} x ${vz1.height}`;
this.hide();
}
};
var vza = class {
constructor() {
this._doc = null;
…
s133385 Input vz7 oy offsetYUseful 0.80 deltaYUseful 0.24 FlowName better Present Pre-rename JavaScript · s133385 / vz7 ×
Declaration · line 3911 …
const vz4 = vz2 - vz1.width;
const vz5 = vz3 - vz1.height;
let vz6 = 0,
vz7 = 0;
const vz8 = this._anchor[1];
const vz9 = this._anchor[0];
if (vz8 === "c") vz6 = Math.floor(vz4 / 2);else if (vz8 === "r") vz6 = vz4;
if (vz9 === "m") vz7 = Math.floor(vz5 / 2);else if (vz9 === "b") vz7 = vz5;
… Reference · line 3917 …
if (vz9 === "m") vz7 = Math.floor(vz5 / 2);else if (vz9 === "b") vz7 = vz5;
vz1.saveStructureState("Canvas Size");
vz1.resizeCanvas(vz2, vz3, vz6, vz7 );
v4i.emit("layers:changed");
v4i.emit("canvas:dirty");
document.getElementById("status-size").textContent = `${vz1.width} x ${vz1.height}`;
this.hide();
}
};
var vza = class {
constructor() {
this._doc = null;
…
s133406 Input vz8 col anchorXUseful 0.54 anchorYUseful 0.13 FlowName better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s133406 / vz8 ×
Declaration · line 3912 …
const vz4 = vz2 - vz1.width;
const vz5 = vz3 - vz1.height;
let vz6 = 0,
vz7 = 0;
const vz8 = this._anchor[1];
const vz9 = this._anchor[0];
if (vz8 === "c") vz6 = Math.floor(vz4 / 2);else if (vz8 === "r") vz6 = vz4;
if (vz9 === "m") vz7 = Math.floor(vz5 / 2);else if (vz9 === "b") vz7 = vz5;
vz1.saveStructureState("Canvas Size");
…
s133441 Input vz9 row anchorYUseful 0.23 anchorHorizontalUseful 0.22 Both poor Present Pre-rename JavaScript · s133441 / vz9 ×
Declaration · line 3913 …
const vz5 = vz3 - vz1.height;
let vz6 = 0,
vz7 = 0;
const vz8 = this._anchor[1];
const vz9 = this._anchor[0];
if (vz8 === "c") vz6 = Math.floor(vz4 / 2);else if (vz8 === "r") vz6 = vz4;
if (vz9 === "m") vz7 = Math.floor(vz5 / 2);else if (vz9 === "b") vz7 = vz5;
vz1.saveStructureState("Canvas Size");
vz1.resizeCanvas(vz2, vz3, vz6, vz7);
…
s133910 Input vza ScaleImageDialog ScaleImageDialogUseful 0.91 EventEmitter30Useful 0.02 FlowName better Absent Pre-rename JavaScript · s133910 / vza ×
Declaration · line 3924 …
document.getElementById("status-size").textContent = `${vz1.width} x ${vz1.height}`;
this.hide();
}
};
var vza = class {
constructor() {
this._doc = null;
this._aspect = 1;
const vzb = document.getElementById("si-width");
const vzc = document.getElementById("si-height");
const vzd = document.getElementById("si-lock");
… Reference · line 4385 …
this.newDialog = new vy2();
this.canvasSizeDialog = new vyd();
this.scaleImageDialog = new vza ();
this.bcDialog = new v102();
this.hslDialog = new v10e();
this.blurDialog = new v12a();
this.sharpenDialog = new v12k();
this.posterizeDialog = new v12z();
this.thresholdDialog = new v137();
if (!this.docManager.restoreFromStorage()) {
…
s134004 Input vzb wInput widthInputUseful 0.88 widthInputUseful 0.88 Both useful Present Pre-rename JavaScript · s134004 / vzb ×
Declaration · line 3928 …
var vza = class {
constructor() {
this._doc = null;
this._aspect = 1;
const vzb = document.getElementById("si-width");
const vzc = document.getElementById("si-height");
const vzd = document.getElementById("si-lock");
vzb.addEventListener("input", () => {
if (vzd.checked && this._aspect) {
vzc.value = Math.round(parseInt(vzb.value) / this._aspect) || 1;
… Reference · line 3938 …
vzc.addEventListener("input", () => {
if (vzd.checked && this._aspect) {
vzb .value = Math.round(parseInt(vzc.value) * this._aspect) || 1;
}
});
document.getElementById("si-ok").addEventListener("click", () => this._apply());
document.getElementById("si-cancel").addEventListener("click", () => this.hide());
…
s134059 Input vzc hInput heightInputUseful 0.90 heightInputUseful 0.90 Both useful Present Pre-rename JavaScript · s134059 / vzc ×
Declaration · line 3929 …
this._aspect = 1;
const vzb = document.getElementById("si-width");
const vzc = document.getElementById("si-height");
const vzd = document.getElementById("si-lock");
vzb.addEventListener("input", () => {
if (vzd.checked && this._aspect) {
vzc.value = Math.round(parseInt(vzb.value) / this._aspect) || 1;
… Reference · line 3936 …
vzc.value = Math.round(parseInt(vzb.value) / this._aspect) || 1;
}
});
vzc .addEventListener("input", () => {
if (vzd.checked && this._aspect) {
vzb.value = Math.round(parseInt(vzc.value) * this._aspect) || 1;
}
});
document.getElementById("si-ok").addEventListener("click", () => this._apply());
…
s134115 Input vzd lock aspectLockCheckboxUseful 0.83 lockCheckboxUseful 0.73 FlowName better Present Pre-rename JavaScript · s134115 / vzd ×
Declaration · line 3930 …
const vzb = document.getElementById("si-width");
const vzc = document.getElementById("si-height");
const vzd = document.getElementById("si-lock");
vzb.addEventListener("input", () => {
if (vzd.checked && this._aspect) {
vzc.value = Math.round(parseInt(vzb.value) / this._aspect) || 1;
}
});
vzc.addEventListener("input", () => {
… Reference · line 3937 …
vzc.value = Math.round(parseInt(vzb.value) / this._aspect) || 1;
}
});
vzc.addEventListener("input", () => {
if (vzd .checked && this._aspect) {
vzb.value = Math.round(parseInt(vzc.value) * this._aspect) || 1;
}
});
document.getElementById("si-ok").addEventListener("click", () => this._apply());
document.getElementById("si-cancel").addEventListener("click", () => this.hide());
…
s134777 Input vze e eventUseful 0.82 eventUseful 0.82 Both useful Present Pre-rename JavaScript · s134777 / vze ×
Declaration · line 3943 …
ument.getElementById("si-cancel").addEventListener("click", () => this.hide());
document.getElementById("scale-image-dialog").addEventListener("keydown", vze => {
if (vze.key === "Enter") this._apply();
if (vze.key === "Escape") this.hide();
});
}
show(vzf) {
if (!vzf) return;
this._doc = vzf;
this._aspect = vzf.width / vzf.height;
document.getElementById("si-current").textContent = `${vzf.width} x ${vzf.height}`;
…
s134906 Input vzf doc document2Useful 0.25 imageDocumentUseful 0.66 Humanify better Present Pre-rename JavaScript · s134906 / vzf ×
Declaration · line 3948 …
if (vze.key === "Enter") this._apply();
if (vze.key === "Escape") this.hide();
});
}
show(vzf ) {
if (!vzf) return;
this._doc = vzf;
this._aspect = vzf.width / vzf.height;
document.getElementById("si-current").textContent = `${vzf.width} x ${vzf.height}`;
document.getElementById("si-width").value = vzf.width;
… Reference · line 3954 …
document.getElementById("si-width").value = vzf.width;
document.getElementById("si-height").value = vzf .height;
document.getElementById("scale-image-overlay").classList.remove("hidden");
document.getElementById("si-width").focus();
}
hide() {
document.getElementById("scale-image-overlay").classList.add("hidden");
…
s135519 Input vzg doc docUseful 0.81 documentInstanceUseful 0.67 FlowName better Present Pre-rename JavaScript · s135519 / vzg ×
Declaration · line 3963 …
document.getElementById("scale-image-overlay").classList.add("hidden");
document.activeElement?.blur();
}
_apply() {
const vzg = this._doc;
if (!vzg) return;
const vzh = parseInt(document.getElementById("si-width").value) || vzg.width;
const vzi = parseInt(document.getElementById("si-height").value) || vzg.height;
if (vzh === vzg.width && vzi === vzg.height) {
… Reference · line 3972 …
return;
}
const vzj = document.getElementById("si-interpolation").value;
vzg .saveStructureState("Scale Image");
vzg.scaleImage(vzh, vzi, vzj);
v4i.emit("layers:changed");
v4i.emit("canvas:dirty");
document.getElementById("status-size").textContent = `${vzg.width} x ${vzg.height}`;
const vzk = document.getElementById("viewport").getBoundingClientRect();
…
s135572 Input vzh newW newWidthUseful 0.90 targetWidthUseful 0.78 FlowName better Present Pre-rename JavaScript · s135572 / vzh ×
Declaration · line 3965 …
document.activeElement?.blur();
}
_apply() {
const vzg = this._doc;
if (!vzg) return;
const vzh = parseInt(document.getElementById("si-width").value) || vzg.width;
const vzi = parseInt(document.getElementById("si-height").value) || vzg.height;
if (vzh === vzg.width && vzi === vzg.height) {
this.hide();
return;
… Reference · line 3973 …
const vzj = document.getElementById("si-interpolation").value;
vzg.saveStructureState("Scale Image");
vzg.scaleImage(vzh , vzi, vzj);
v4i.emit("layers:changed");
v4i.emit("canvas:dirty");
document.getElementById("status-size").textContent = `${vzg.width} x ${vzg.height}`;
const vzk = document.getElementById("viewport").getBoundingClientRect();
…
s135656 Input vzi newH newHeightUseful 0.90 targetHeightUseful 0.68 FlowName better Present Pre-rename JavaScript · s135656 / vzi ×
Declaration · line 3966 …
const vzh = parseInt(document.getElementById("si-width").value) || vzg.width;
const vzi = parseInt(document.getElementById("si-height").value) || vzg.height;
if (vzh === vzg.width && vzi === vzg.height) {
this.hide();
return;
}
const vzj = document.getElementById("si-interpolation").value;
… Reference · line 3973 …
const vzj = document.getElementById("si-interpolation").value;
vzg.saveStructureState("Scale Image");
vzg.scaleImage(vzh, vzi , vzj);
v4i.emit("layers:changed");
v4i.emit("canvas:dirty");
document.getElementById("status-size").textContent = `${vzg.width} x ${vzg.height}`;
const vzk = document.getElementById("viewport").getBoundingClientRect();
…
s135840 Input vzj interp interpolationUseful 0.87 interpolationMethodUseful 0.76 FlowName better Present Pre-rename JavaScript · s135840 / vzj ×
Declaration · line 3971 …
if (vzh === vzg.width && vzi === vzg.height) {
this.hide();
return;
}
const vzj = document.getElementById("si-interpolation").value;
vzg.saveStructureState("Scale Image");
vzg.scaleImage(vzh, vzi, vzj);
v4i.emit("layers:changed");
v4i.emit("canvas:dirty");
document.getElementById("status-size").textContent = `${vzg.width} x ${vzg.height}`;
…
s136148 Input vzk vp viewportRectUseful 0.88 interpolationUseful 0.04 FlowName better Absent Pre-rename JavaScript · s136148 / vzk ×
Declaration · line 3977 …
document.getElementById("status-size").textContent = `${vzg.width} x ${vzg.height}`;
const vzk = document.getElementById("viewport").getBoundingClientRect();
vzg.fitInView(vzk.width, vzk.height);
document.getElementById("zoom-input").value = Math.round(vzg.zoom * 100);
document.getElementById("zoom-slider").value = Math.round(Math.log(vzg.zoom / 0.05) / Math.log(32 / 0.05) * 100);
…
s136495 Input vzl AdjustmentDialog ImageDialogBaseUseful 0.33 EventEmitter31Useful 0.03 Both poor Absent Pre-rename JavaScript · s136495 / vzl ×
Declaration · line 3984 …
document.getElementById("zoom-slider").value = Math.round(Math.log(vzg.zoom / 0.05) / Math.log(32 / 0.05) * 100);
this.hide();
}
};
var vzl = class {
constructor(vzm, vzn, vzo) {
this._doc = null;
this._savedImageData = null;
this._layerIndex = -1;
this._raf = null;
document.getElementById(vzn).addEventListener("click", () => this._apply());
… Reference · line 4062 …
_transformPixels(v100, v101) {}
_resetSliders() {}
};
var v102 = class extends vzl {
constructor() {
super("bc-overlay", "bc-ok", "bc-cancel");
const v103 = document.getElementById("bc-brightness");
const v104 = document.getElementById("bc-contrast");
const v105 = document.getElementById("bc-brightness-val");
…
s136525 Input vzm overlayId dialogIdUseful 0.44 dialogIdUseful 0.44 Both poor Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s136525 / vzm ×
Declaration · line 3985 …
yId("zoom-slider").value = Math.round(Math.log(vzg.zoom / 0.05) / Math.log(32 / 0.05) * 100);
this.hide();
}
};
var vzl = class {
constructor(vzm , vzn, vzo) {
this._doc = null;
this._savedImageData = null;
this._layerIndex = -1;
this._raf = null;
document.getElementById(vzn).addEventListener("click", () => this._apply());
document.getElementById(vzo).addEventListener("click", () => this._cancel());
… Reference · line 3992 …
document.getElementById(vzo).addEventListener("click", () => this._cancel());
const vzp = document.getElementById(vzm );
vzp.querySelector(".dialog").addEventListener("keydown", vzq => {
if (vzq.key === "Escape") this._cancel();
});
vzp.querySelectorAll(".adj-reset").forEach(vzr => {
vzr.addEventListener("click", () => {
…
s136530 Input vzn okId applyButtonIdUseful 0.80 applyButtonIdUseful 0.80 Both useful Present Pre-rename JavaScript · s136530 / vzn ×
Declaration · line 3985 …
zoom-slider").value = Math.round(Math.log(vzg.zoom / 0.05) / Math.log(32 / 0.05) * 100);
this.hide();
}
};
var vzl = class {
constructor(vzm, vzn , vzo) {
this._doc = null;
this._savedImageData = null;
this._layerIndex = -1;
this._raf = null;
document.getElementById(vzn).addEventListener("click", () => this._apply());
document.getElementById(vzo).addEventListener("click", () => this._cancel());
…
s136535 Input vzo cancelId cancelButtonIdUseful 0.82 cancelButtonIdUseful 0.82 Both useful Present Pre-rename JavaScript · s136535 / vzo ×
Declaration · line 3985 …
slider").value = Math.round(Math.log(vzg.zoom / 0.05) / Math.log(32 / 0.05) * 100);
this.hide();
}
};
var vzl = class {
constructor(vzm, vzn, vzo ) {
this._doc = null;
this._savedImageData = null;
this._layerIndex = -1;
this._raf = null;
document.getElementById(vzn).addEventListener("click", () => this._apply());
document.getElementById(vzo).addEventListener("click", () => this._cancel());
…
s136833 Input vzp overlay dialogElementUseful 0.23 dialogElementUseful 0.23 Both poor Present Pre-rename JavaScript · s136833 / vzp ×
Declaration · line 3992 …
document.getElementById(vzo).addEventListener("click", () => this._cancel());
const vzp = document.getElementById(vzm);
vzp.querySelector(".dialog").addEventListener("keydown", vzq => {
if (vzq.key === "Escape") this._cancel();
});
vzp.querySelectorAll(".adj-reset").forEach(vzr => {
vzr.addEventListener("click", () => {
…
s136932 Input vzq e eventUseful 0.82 eventUseful 0.82 Both useful Present Pre-rename JavaScript · s136932 / vzq ×
Declaration · line 3993 …
const vzp = document.getElementById(vzm);
vzp.querySelector(".dialog").addEventListener("keydown", vzq => {
if (vzq.key === "Escape") this._cancel();
});
vzp.querySelectorAll(".adj-reset").forEach(vzr => {
vzr.addEventListener("click", () => {
const vzs = document.getElementById(vzr.dataset.target);
if (vzs) {
…
s137050 Input vzr btn resetButtonUseful 0.78 resetButtonUseful 0.78 Both useful Present Pre-rename JavaScript · s137050 / vzr ×
Declaration · line 3996 …
if (vzq.key === "Escape") this._cancel();
});
vzp.querySelectorAll(".adj-reset").forEach(vzr => {
vzr.addEventListener("click", () => {
const vzs = document.getElementById(vzr.dataset.target);
if (vzs) {
vzs.value = vzr.dataset.default;
vzs.dispatchEvent(new Event("input"));
}
…
s137121 Input vzs target targetInputUseful 0.68 targetElementUseful 0.75 FlowName better Present Pre-rename JavaScript · s137121 / vzs ×
Declaration · line 3998 …
vzp.querySelectorAll(".adj-reset").forEach(vzr => {
vzr.addEventListener("click", () => {
const vzs = document.getElementById(vzr.dataset.target);
if (vzs) {
vzs.value = vzr.dataset.default;
vzs.dispatchEvent(new Event("input"));
}
});
});
this._overlayId = vzm;
}
show(vzt, vzu) {
…
s137367 Input vzt doc document2Useful 0.29 documentInstanceUseful 0.70 Humanify better Present Pre-rename JavaScript · s137367 / vzt ×
Declaration · line 4007 …
vzs.dispatchEvent(new Event("input"));
}
});
});
this._overlayId = vzm;
}
show(vzt , vzu) {
if (!vzt || !vzt.activeLayer) return;
this._doc = vzt;
this._layerIndex = vzt.activeLayerIndex;
vzt.saveDrawState(this._layerIndex, vzu || "Adjustment");
this._savedImageData = vzt.layers[this._layerIndex].getSnapshot();
…
s137372 Input vzu historyLabel actionNameUseful 0.34 actionNameUseful 0.34 Both poor Present Pre-rename JavaScript · s137372 / vzu ×
Declaration · line 4007 …
vzs.dispatchEvent(new Event("input"));
}
});
});
this._overlayId = vzm;
}
show(vzt, vzu ) {
if (!vzt || !vzt.activeLayer) return;
this._doc = vzt;
this._layerIndex = vzt.activeLayerIndex;
vzt.saveDrawState(this._layerIndex, vzu || "Adjustment");
this._savedImageData = vzt.layers[this._layerIndex].getSnapshot();
…
s138194 Input vzv h historyUseful 0.85 historyManagerUseful 0.46 FlowName better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s138194 / vzv ×
Declaration · line 4031 …
this._doc.layers[this._layerIndex].restoreSnapshot(this._savedImageData);
const vzv = this._doc.history;
if (vzv.index >= 0) {
vzv.states.splice(vzv.index, 1);
vzv.index--;
}
}
this._savedImageData = null;
this.hide();
v4i.emit("canvas:dirty");
}
_schedulePreview() {
…
s138678 Input vzw layer targetLayerUseful 0.74 targetLayerUseful 0.74 Both useful Present Pre-rename JavaScript · s138678 / vzw ×
Declaration · line 4050 …
}
_preview() {
if (!this._savedImageData || !this._doc) return;
const vzw = this._doc.layers[this._layerIndex];
vzw.restoreSnapshot(this._savedImageData);
const vzx = vzw.ctx.getImageData(0, 0, this._doc.width, this._doc.height);
const vzy = this._doc.selection;
const vzz = vzy.active ? vzy.mask : null;
… Reference · line 4056 …
const vzz = vzy.active ? vzy.mask : null;
this._transformPixels(vzx.data, vzz);
vzw .ctx.putImageData(vzx, 0, 0);
v4i.emit("canvas:dirty");
}
_transformPixels(v100, v101) {}
_resetSliders() {}
};
var v102 = class extends vzl {
constructor() {
super("bc-overlay", "bc-ok", "bc-cancel");
const v103 = document.getElementById("bc-brightness");
…
s138781 Input vzx imageData imageDataUseful 0.92 imageDataUseful 0.92 Both useful Present Pre-rename JavaScript · s138781 / vzx ×
Declaration · line 4052 …
const vzw = this._doc.layers[this._layerIndex];
vzw.restoreSnapshot(this._savedImageData);
const vzx = vzw.ctx.getImageData(0, 0, this._doc.width, this._doc.height);
const vzy = this._doc.selection;
const vzz = vzy.active ? vzy.mask : null;
this._transformPixels(vzx.data, vzz);
vzw.ctx.putImageData(vzx, 0, 0);
v4i.emit("canvas:dirty");
…
s138862 Input vzy sel selectionUseful 0.89 selectionUseful 0.89 Both useful Present Pre-rename JavaScript · s138862 / vzy ×
Declaration · line 4053 …
const vzx = vzw.ctx.getImageData(0, 0, this._doc.width, this._doc.height);
const vzy = this._doc.selection;
const vzz = vzy.active ? vzy.mask : null;
this._transformPixels(vzx.data, vzz);
vzw.ctx.putImageData(vzx, 0, 0);
v4i.emit("canvas:dirty");
}
_transformPixels(v100, v101) {}
_resetSliders() {}
…
s138901 Input vzz mask selectionMaskUseful 0.86 selectionMaskUseful 0.86 Both useful Present Pre-rename JavaScript · s138901 / vzz ×
Declaration · line 4054 …
const vzx = vzw.ctx.getImageData(0, 0, this._doc.width, this._doc.height);
const vzy = this._doc.selection;
const vzz = vzy.active ? vzy.mask : null;
this._transformPixels(vzx.data, vzz);
vzw.ctx.putImageData(vzx, 0, 0);
v4i.emit("canvas:dirty");
}
_transformPixels(v100, v101) {}
_resetSliders() {}
};
var v102 = class extends vzl {
…
s139079 Input v100 data pixelsUseful 0.52 param1Useful 0.10 FlowName better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s139079 / v100 ×
Declaration · line 4059 …
vzw.ctx.putImageData(vzx, 0, 0);
v4i.emit("canvas:dirty");
}
_transformPixels(v100 , v101) {}
_resetSliders() {}
};
var v102 = class extends vzl {
constructor() {
super("bc-overlay", "bc-ok", "bc-cancel");
const v103 = document.getElementById("bc-brightness");
const v104 = document.getElementById("bc-contrast");
…
s139085 Input v101 mask pixelCountUseful 0.05 optionsUseful 0.11 Both poor Present Pre-rename JavaScript · s139085 / v101 ×
Declaration · line 4059 …
vzw.ctx.putImageData(vzx, 0, 0);
v4i.emit("canvas:dirty");
}
_transformPixels(v100, v101 ) {}
_resetSliders() {}
};
var v102 = class extends vzl {
constructor() {
super("bc-overlay", "bc-ok", "bc-cancel");
const v103 = document.getElementById("bc-brightness");
const v104 = document.getElementById("bc-contrast");
…
s139128 Input v102 BrightnessContrastDialog BrightnessContrastDialogUseful 0.90 EventEmitter32Useful 0.03 FlowName better Absent Pre-rename JavaScript · s139128 / v102 ×
Declaration · line 4062 …
v4i.emit("canvas:dirty");
}
_transformPixels(v100, v101) {}
_resetSliders() {}
};
var v102 = class extends vzl {
constructor() {
super("bc-overlay", "bc-ok", "bc-cancel");
const v103 = document.getElementById("bc-brightness");
const v104 = document.getElementById("bc-contrast");
const v105 = document.getElementById("bc-brightness-val");
… Reference · line 4386 …
this.canvasSizeDialog = new vyd();
this.scaleImageDialog = new vza();
this.bcDialog = new v102 ();
this.hslDialog = new v10e();
this.blurDialog = new v12a();
this.sharpenDialog = new v12k();
this.posterizeDialog = new v12z();
this.thresholdDialog = new v137();
if (!this.docManager.restoreFromStorage()) {
…
s139236 Input v103 bSlider brightnessSliderUseful 0.89 brightnessSliderUseful 0.89 Both useful Present Pre-rename JavaScript · s139236 / v103 ×
Declaration · line 4065 …
var v102 = class extends vzl {
constructor() {
super("bc-overlay", "bc-ok", "bc-cancel");
const v103 = document.getElementById("bc-brightness");
const v104 = document.getElementById("bc-contrast");
const v105 = document.getElementById("bc-brightness-val");
const v106 = document.getElementById("bc-contrast-val");
const v107 = () => {
… Reference · line 4070 …
const v106 = document.getElementById("bc-contrast-val");
const v107 = () => {
v105.textContent = v103 .value;
v106.textContent = v104.value;
this._schedulePreview();
};
v103.addEventListener("input", v107);
v104.addEventListener("input", v107);
}
_resetSliders() {
document.getElementById("bc-brightness").value = 0;
…
s139297 Input v104 cSlider contrastSliderUseful 0.91 contrastInputUseful 0.55 FlowName better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s139297 / v104 ×
Declaration · line 4066 …
super("bc-overlay", "bc-ok", "bc-cancel");
const v103 = document.getElementById("bc-brightness");
const v104 = document.getElementById("bc-contrast");
const v105 = document.getElementById("bc-brightness-val");
const v106 = document.getElementById("bc-contrast-val");
const v107 = () => {
v105.textContent = v103.value;
… Reference · line 4071 …
const v107 = () => {
v105.textContent = v103.value;
v106.textContent = v104 .value;
this._schedulePreview();
};
v103.addEventListener("input", v107);
v104.addEventListener("input", v107);
}
_resetSliders() {
document.getElementById("bc-brightness").value = 0;
document.getElementById("bc-contrast").value = 0;
…
s139356 Input v105 bVal brightnessValUseful 0.85 brightnessValueElementUseful 0.84 FlowName better Present Pre-rename JavaScript · s139356 / v105 ×
Declaration · line 4067 …
const v103 = document.getElementById("bc-brightness");
const v104 = document.getElementById("bc-contrast");
const v105 = document.getElementById("bc-brightness-val");
const v106 = document.getElementById("bc-contrast-val");
const v107 = () => {
v105.textContent = v103.value;
v106.textContent = v104.value;
this._schedulePreview();
…
s139421 Input v106 cVal contrastValUseful 0.85 contrastValueSpanUseful 0.69 FlowName better Present Pre-rename JavaScript · s139421 / v106 ×
Declaration · line 4068 …
const v104 = document.getElementById("bc-contrast");
const v105 = document.getElementById("bc-brightness-val");
const v106 = document.getElementById("bc-contrast-val");
const v107 = () => {
v105.textContent = v103.value;
v106.textContent = v104.value;
this._schedulePreview();
};
v103.addEventListener("input", v107);
…
s139484 Input v107 update updateValuesUseful 0.71 updateValuesUseful 0.71 Both useful Present Pre-rename JavaScript · s139484 / v107 ×
Declaration · line 4069 …
const v105 = document.getElementById("bc-brightness-val");
const v106 = document.getElementById("bc-contrast-val");
const v107 = () => {
v105.textContent = v103.value;
v106.textContent = v104.value;
this._schedulePreview();
};
v103.addEventListener("input", v107);
v104.addEventListener("input", v107);
}
_resetSliders() {
…
s140014 Input v108 data pixelsUseful 0.64 imageDataUseful 0.78 Humanify better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s140014 / v108 ×
Declaration · line 4083 …
document.getElementById("bc-contrast-val").textContent = "0";
}
_transformPixels(v108 , v109) {
const v10a = parseInt(document.getElementById("bc-brightness").value);
const v10b = parseInt(document.getElementById("bc-contrast").value);
const v10c = 259 * (v10b + 255) / (255 * (259 - v10b));
for (let v10d = 0; v10d < v108.length; v10d += 4) {
… Reference · line 4088 …
const v10c = 259 * (v10b + 255) / (255 * (259 - v10b));
for (let v10d = 0; v10d < v108.length; v10d += 4) {
if (v108 [v10d + 3] === 0) continue;
if (v109 && !v109[v10d / 4]) continue;
v108[v10d] = Math.max(0, Math.min(255, v10c * (v108[v10d] + v10a - 128) + 128));
v108[v10d + 1] = Math.max(0, Math.min(255, v10c * (v108[v10d + 1] + v10a - 128) + 128));
…
s140020 Input v109 mask maskUseful 0.88 selectionMaskUseful 0.67 Both useful Present Preference confidence is low. Pre-rename JavaScript · s140020 / v109 ×
Declaration · line 4083 …
document.getElementById("bc-contrast-val").textContent = "0";
}
_transformPixels(v108, v109 ) {
const v10a = parseInt(document.getElementById("bc-brightness").value);
const v10b = parseInt(document.getElementById("bc-contrast").value);
const v10c = 259 * (v10b + 255) / (255 * (259 - v10b));
for (let v10d = 0; v10d < v108.length; v10d += 4) {
… Reference · line 4089 …
for (let v10d = 0; v10d < v108.length; v10d += 4) {
if (v108[v10d + 3] === 0) continue;
if (v109 && !v109[v10d / 4]) continue;
v108[v10d] = Math.max(0, Math.min(255, v10c * (v108[v10d] + v10a - 128) + 128));
v108[v10d + 1] = Math.max(0, Math.min(255, v10c * (v108[v10d + 1] + v10a - 128) + 128));
v108[v10d + 2] = Math.max(0, Math.min(255, v10c * (v108[v10d + 2] + v10a - 128) + 128));
…
s140040 Input v10a brightness brightnessUseful 0.88 brightnessValueUseful 0.80 Both useful Present Preference confidence is low. Pre-rename JavaScript · s140040 / v10a ×
Declaration · line 4084 …
document.getElementById("bc-contrast-val").textContent = "0";
}
_transformPixels(v108, v109) {
const v10a = parseInt(document.getElementById("bc-brightness").value);
const v10b = parseInt(document.getElementById("bc-contrast").value);
const v10c = 259 * (v10b + 255) / (255 * (259 - v10b));
for (let v10d = 0; v10d < v108.length; v10d += 4) {
… Reference · line 4090 …
if (v109 && !v109[v10d / 4]) continue;
v108[v10d] = Math.max(0, Math.min(255, v10c * (v108[v10d] + v10a - 128) + 128));
v108[v10d + 1] = Math.max(0, Math.min(255, v10c * (v108[v10d + 1] + v10a - 128) + 128));
v108[v10d + 2] = Math.max(0, Math.min(255, v10c * (v108[v10d + 2] + v10a - 128) + 128));
}
}
};
var v10e = class extends vzl {
…
s140117 Input v10b contrast contrastUseful 0.95 contrastValueUseful 0.81 FlowName better Present Pre-rename JavaScript · s140117 / v10b ×
Declaration · line 4085 …
_transformPixels(v108, v109) {
const v10a = parseInt(document.getElementById("bc-brightness").value);
const v10b = parseInt(document.getElementById("bc-contrast").value);
const v10c = 259 * (v10b + 255) / (255 * (259 - v10b));
for (let v10d = 0; v10d < v108.length; v10d += 4) {
if (v108[v10d + 3] === 0) continue;
if (v109 && !v109[v10d / 4]) continue;
…
s140192 Input v10c factor factorUseful 0.72 contrastFactorUseful 0.85 Humanify better Present Pre-rename JavaScript · s140192 / v10c ×
Declaration · line 4086 …
const v10a = parseInt(document.getElementById("bc-brightness").value);
const v10b = parseInt(document.getElementById("bc-contrast").value);
const v10c = 259 * (v10b + 255) / (255 * (259 - v10b));
for (let v10d = 0; v10d < v108.length; v10d += 4) {
if (v108[v10d + 3] === 0) continue;
if (v109 && !v109[v10d / 4]) continue;
v108[v10d] = Math.max(0, Math.min(255, v10c * (v108[v10d] + v10a - 128) + 128));
… Reference · line 4091 …
v108[v10d] = Math.max(0, Math.min(255, v10c * (v108[v10d] + v10a - 128) + 128));
v108[v10d + 1] = Math.max(0, Math.min(255, v10c * (v108[v10d + 1] + v10a - 128) + 128));
v108[v10d + 2] = Math.max(0, Math.min(255, v10c * (v108[v10d + 2] + v10a - 128) + 128));
}
}
};
var v10e = class extends vzl {
constructor() {
super("hsl-overlay", "hsl-ok", "hsl-cancel");
…
s140257 Input v10d i iUseful 0.54 iUseful 0.54 Both useful Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s140257 / v10d ×
Declaration · line 4087 …
const v10b = parseInt(document.getElementById("bc-contrast").value);
const v10c = 259 * (v10b + 255) / (255 * (259 - v10b));
for (let v10d = 0; v10d < v108.length; v10d += 4) {
if (v108[v10d + 3] === 0) continue;
if (v109 && !v109[v10d / 4]) continue;
v108[v10d] = Math.max(0, Math.min(255, v10c * (v108[v10d] + v10a - 128) + 128));
v108[v10d + 1] = Math.max(0, Math.min(255, v10c * (v108[v10d + 1] + v10a - 128) + 128));
… Reference · line 4092 …
v108[v10d + 1] = Math.max(0, Math.min(255, v10c * (v108[v10d + 1] + v10a - 128) + 128));
v108[v10d + 2] = Math.max(0, Math.min(255, v10c * (v108[v10d + 2] + v10a - 128) + 128));
}
}
};
var v10e = class extends vzl {
constructor() {
super("hsl-overlay", "hsl-ok", "hsl-cancel");
const v10f = document.getElementById("hsl-hue");
…
s140699 Input v10e HSLAdjustDialog HslDialogUseful 0.80 EventEmitter33Useful 0.02 FlowName better Absent Pre-rename JavaScript · s140699 / v10e ×
Declaration · line 4096 …
v108[v10d + 2] = Math.max(0, Math.min(255, v10c * (v108[v10d + 2] + v10a - 128) + 128));
}
}
};
var v10e = class extends vzl {
constructor() {
super("hsl-overlay", "hsl-ok", "hsl-cancel");
const v10f = document.getElementById("hsl-hue");
const v10g = document.getElementById("hsl-sat");
const v10h = document.getElementById("hsl-light");
… Reference · line 4387 …
this.scaleImageDialog = new vza();
this.bcDialog = new v102();
this.hslDialog = new v10e ();
this.blurDialog = new v12a();
this.sharpenDialog = new v12k();
this.posterizeDialog = new v12z();
this.thresholdDialog = new v137();
if (!this.docManager.restoreFromStorage()) {
this.docManager.createDoc(1280, 720, "Untitled", "white");
…
s140810 Input v10f hSlider hslHueInputUseful 0.77 hueInputUseful 0.64 FlowName better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s140810 / v10f ×
Declaration · line 4099 …
var v10e = class extends vzl {
constructor() {
super("hsl-overlay", "hsl-ok", "hsl-cancel");
const v10f = document.getElementById("hsl-hue");
const v10g = document.getElementById("hsl-sat");
const v10h = document.getElementById("hsl-light");
const v10i = document.getElementById("hsl-hue-val");
const v10j = document.getElementById("hsl-sat-val");
… Reference · line 4106 …
const v10k = document.getElementById("hsl-light-val");
const v10l = () => {
v10i.textContent = v10f .value;
v10j.textContent = v10g.value;
v10k.textContent = v10h.value;
this._schedulePreview();
};
v10f.addEventListener("input", v10l);
v10g.addEventListener("input", v10l);
v10h.addEventListener("input", v10l);
…
s140865 Input v10g sSlider hslSatInputUseful 0.78 satInputUseful 0.57 FlowName better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s140865 / v10g ×
Declaration · line 4100 …
super("hsl-overlay", "hsl-ok", "hsl-cancel");
const v10f = document.getElementById("hsl-hue");
const v10g = document.getElementById("hsl-sat");
const v10h = document.getElementById("hsl-light");
const v10i = document.getElementById("hsl-hue-val");
const v10j = document.getElementById("hsl-sat-val");
const v10k = document.getElementById("hsl-light-val");
… Reference · line 4107 …
const v10l = () => {
v10i.textContent = v10f.value;
v10j.textContent = v10g .value;
v10k.textContent = v10h.value;
this._schedulePreview();
};
v10f.addEventListener("input", v10l);
v10g.addEventListener("input", v10l);
v10h.addEventListener("input", v10l);
}
_resetSliders() {
…
s140920 Input v10h lSlider hslLightInputUseful 0.84 lightnessInputUseful 0.79 FlowName better Present Pre-rename JavaScript · s140920 / v10h ×
Declaration · line 4101 …
const v10f = document.getElementById("hsl-hue");
const v10g = document.getElementById("hsl-sat");
const v10h = document.getElementById("hsl-light");
const v10i = document.getElementById("hsl-hue-val");
const v10j = document.getElementById("hsl-sat-val");
const v10k = document.getElementById("hsl-light-val");
const v10l = () => {
… Reference · line 4108 …
v10i.textContent = v10f.value;
v10j.textContent = v10g.value;
v10k.textContent = v10h .value;
this._schedulePreview();
};
v10f.addEventListener("input", v10l);
v10g.addEventListener("input", v10l);
v10h.addEventListener("input", v10l);
}
_resetSliders() {
document.getElementById("hsl-hue").value = 0;
…
s140977 Input v10i hVal hslHueValueDisplayUseful 0.84 hueValElementUseful 0.82 FlowName better Present Pre-rename JavaScript · s140977 / v10i ×
Declaration · line 4102 …
const v10g = document.getElementById("hsl-sat");
const v10h = document.getElementById("hsl-light");
const v10i = document.getElementById("hsl-hue-val");
const v10j = document.getElementById("hsl-sat-val");
const v10k = document.getElementById("hsl-light-val");
const v10l = () => {
v10i.textContent = v10f.value;
v10j.textContent = v10g.value;
…
s141036 Input v10j sVal hslSatValueDisplayUseful 0.81 satValElementUseful 0.83 Both useful Present Preference confidence is low. Pre-rename JavaScript · s141036 / v10j ×
Declaration · line 4103 …
const v10h = document.getElementById("hsl-light");
const v10i = document.getElementById("hsl-hue-val");
const v10j = document.getElementById("hsl-sat-val");
const v10k = document.getElementById("hsl-light-val");
const v10l = () => {
v10i.textContent = v10f.value;
v10j.textContent = v10g.value;
v10k.textContent = v10h.value;
…
s141095 Input v10k lVal hslLightValueDisplayUseful 0.83 lightnessValueElementUseful 0.78 Both useful Present Preference confidence is low. Pre-rename JavaScript · s141095 / v10k ×
Declaration · line 4104 …
const v10i = document.getElementById("hsl-hue-val");
const v10j = document.getElementById("hsl-sat-val");
const v10k = document.getElementById("hsl-light-val");
const v10l = () => {
v10i.textContent = v10f.value;
v10j.textContent = v10g.value;
v10k.textContent = v10h.value;
this._schedulePreview();
};
v10f.addEventListener("input", v10l);
…
s141156 Input v10l update updateHslValuesUseful 0.73 updateValuesUseful 0.62 FlowName better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s141156 / v10l ×
Declaration · line 4105 …
const v10j = document.getElementById("hsl-sat-val");
const v10k = document.getElementById("hsl-light-val");
const v10l = () => {
v10i.textContent = v10f.value;
v10j.textContent = v10g.value;
v10k.textContent = v10h.value;
this._schedulePreview();
};
v10f.addEventListener("input", v10l);
v10g.addEventListener("input", v10l);
… Reference · line 4113 …
v10f.addEventListener("input", v10l);
v10g.addEventListener("input", v10l);
v10h.addEventListener("input", v10l );
}
_resetSliders() {
document.getElementById("hsl-hue").value = 0;
document.getElementById("hsl-sat").value = 0;
document.getElementById("hsl-light").value = 0;
document.getElementById("hsl-hue-val").textContent = "0";
…
s141869 Input v10m data pixelDataUseful 0.79 imageDataUseful 0.41 FlowName better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s141869 / v10m ×
Declaration · line 4123 …
document.getElementById("hsl-light-val").textContent = "0";
}
_transformPixels(v10m , v10n) {
const v10o = parseInt(document.getElementById("hsl-hue").value);
const v10p = parseInt(document.getElementById("hsl-sat").value) / 100;
const v10q = parseInt(document.getElementById("hsl-light").value) / 100;
… Reference · line 4127 …
const v10q = parseInt(document.getElementById("hsl-light").value) / 100;
for (let v10r = 0; v10r < v10m .length; v10r += 4) {
if (v10m[v10r + 3] === 0) continue;
if (v10n && !v10n[v10r / 4]) continue;
let v10s = v10m[v10r] / 255,
v10t = v10m[v10r + 1] / 255,
v10u = v10m[v10r + 2] / 255;
const v10v = Math.max(v10s, v10t, v10u),
…
s141875 Input v10n mask hasMaskUseful 0.08 selectionMaskUseful 0.69 Humanify better Present Pre-rename JavaScript · s141875 / v10n ×
Declaration · line 4123 …
document.getElementById("hsl-light-val").textContent = "0";
}
_transformPixels(v10m, v10n ) {
const v10o = parseInt(document.getElementById("hsl-hue").value);
const v10p = parseInt(document.getElementById("hsl-sat").value) / 100;
const v10q = parseInt(document.getElementById("hsl-light").value) / 100;
for (let v10r = 0; v10r < v10m.length; v10r += 4) {
… Reference · line 4129 …
for (let v10r = 0; v10r < v10m.length; v10r += 4) {
if (v10m[v10r + 3] === 0) continue;
if (v10n && !v10n[v10r / 4]) continue;
let v10s = v10m[v10r] / 255,
v10t = v10m[v10r + 1] / 255,
v10u = v10m[v10r + 2] / 255;
const v10v = Math.max(v10s, v10t, v10u),
v10w = Math.min(v10s, v10t, v10u);
…
s141895 Input v10o hShift hueOffsetUseful 0.88 hueValueUseful 0.25 FlowName better Present Pre-rename JavaScript · s141895 / v10o ×
Declaration · line 4124 …
document.getElementById("hsl-light-val").textContent = "0";
}
_transformPixels(v10m, v10n) {
const v10o = parseInt(document.getElementById("hsl-hue").value);
const v10p = parseInt(document.getElementById("hsl-sat").value) / 100;
const v10q = parseInt(document.getElementById("hsl-light").value) / 100;
for (let v10r = 0; v10r < v10m.length; v10r += 4) {
… Reference · line 4145 …
? 6 : 0)) / 6;else if (v10v === v10t) v10x = ((v10u - v10s) / v110 + 2) / 6;else v10x = ((v10s - v10t) / v110 + 4) / 6;
}
v10x = ((v10x * 360 + v10o ) % 360 + 360) % 360 / 360;
v10y = Math.max(0, Math.min(1, v10y + v10p));
v10z = Math.max(0, Math.min(1, v10z + v10q));
if (v10y === 0) {
v10s = v10t = v10u = v10z;
} else {
const v111 = (v112, v113, v114) => {
…
s141966 Input v10p sFactor saturation2Useful 0.34 hslSatUseful 0.72 Humanify better Present Pre-rename JavaScript · s141966 / v10p ×
Declaration · line 4125 …
_transformPixels(v10m, v10n) {
const v10o = parseInt(document.getElementById("hsl-hue").value);
const v10p = parseInt(document.getElementById("hsl-sat").value) / 100;
const v10q = parseInt(document.getElementById("hsl-light").value) / 100;
for (let v10r = 0; v10r < v10m.length; v10r += 4) {
if (v10m[v10r + 3] === 0) continue;
… Reference · line 4146 …
v10x = ((v10x * 360 + v10o) % 360 + 360) % 360 / 360;
v10y = Math.max(0, Math.min(1, v10y + v10p ));
v10z = Math.max(0, Math.min(1, v10z + v10q));
if (v10y === 0) {
v10s = v10t = v10u = v10z;
} else {
const v111 = (v112, v113, v114) => {
if (v114 < 0) v114 += 1;
if (v114 > 1) v114 -= 1;
…
s142043 Input v10q lShift lightnessUseful 0.83 lightnessUseful 0.83 Both useful Present Pre-rename JavaScript · s142043 / v10q ×
Declaration · line 4126 …
const v10o = parseInt(document.getElementById("hsl-hue").value);
const v10p = parseInt(document.getElementById("hsl-sat").value) / 100;
const v10q = parseInt(document.getElementById("hsl-light").value) / 100;
for (let v10r = 0; v10r < v10m.length; v10r += 4) {
if (v10m[v10r + 3] === 0) continue;
if (v10n && !v10n[v10r / 4]) continue;
let v10s = v10m[v10r] / 255,
… Reference · line 4147 …
v10y = Math.max(0, Math.min(1, v10y + v10p));
v10z = Math.max(0, Math.min(1, v10z + v10q ));
if (v10y === 0) {
v10s = v10t = v10u = v10z;
} else {
const v111 = (v112, v113, v114) => {
if (v114 < 0) v114 += 1;
if (v114 > 1) v114 -= 1;
if (v114 < 1 / 6) return v112 + (v113 - v112) * 6 * v114;
…
s142125 Input v10r i pixelIndexUseful 0.62 iUseful 0.47 FlowName better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s142125 / v10r ×
Declaration · line 4127 …
const v10q = parseInt(document.getElementById("hsl-light").value) / 100;
for (let v10r = 0; v10r < v10m.length; v10r += 4) {
if (v10m[v10r + 3] === 0) continue;
if (v10n && !v10n[v10r / 4]) continue;
let v10s = v10m[v10r] / 255,
v10t = v10m[v10r + 1] / 255,
v10u = v10m[v10r + 2] / 255;
… Reference · line 4165 …
v10t = v111(v116, v115, v10x);
v10u = v111(v116, v115, v10x - 1 / 3);
}
v10m[v10r ] = Math.round(v10s * 255);
v10m[v10r + 1] = Math.round(v10t * 255);
v10m[v10r + 2] = Math.round(v10u * 255);
}
}
};
function v117(v118, v119) {
if (v119 < 0.5) return;
const {
width: v11a,
height: v11b,
…
s142271 Input v10s r redNormalizedUseful 0.79 redUseful 0.47 FlowName better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s142271 / v10s ×
Declaration · line 4130 …
if (v10m[v10r + 3] === 0) continue;
if (v10n && !v10n[v10r / 4]) continue;
let v10s = v10m[v10r] / 255,
v10t = v10m[v10r + 1] / 255,
v10u = v10m[v10r + 2] / 255;
const v10v = Math.max(v10s, v10t, v10u),
v10w = Math.min(v10s, v10t, v10u);
let v10x,
v10y,
v10z = (v10v + v10w) / 2;
… Reference · line 4143 …
v10y = v10z > 0.5 ? v110 / (2 - v10v - v10w) : v110 / (v10v + v10w);
if (v10v === v10s ) v10x = ((v10t - v10u) / v110 + (v10t < v10u ? 6 : 0)) / 6;else if (v10v === v10t) v10x = ((v10u - v10s) / v110 + 2) / 6;else v10x = ((v10s - v10t) / v110 + 4) / 6;
}
v10x = ((v10x * 360 + v10o) % 360 + 360) % 360 / 360;
…
s142306 Input v10t g greenNormalizedUseful 0.65 greenUseful 0.73 FlowName better Present Pre-rename JavaScript · s142306 / v10t ×
Declaration · line 4131 …
if (v10n && !v10n[v10r / 4]) continue;
let v10s = v10m[v10r] / 255,
v10t = v10m[v10r + 1] / 255,
v10u = v10m[v10r + 2] / 255;
const v10v = Math.max(v10s, v10t, v10u),
v10w = Math.min(v10s, v10t, v10u);
let v10x,
v10y,
v10z = (v10v + v10w) / 2;
if (v10v === v10w) {
… Reference · line 4143 …
v10y = v10z > 0.5 ? v110 / (2 - v10v - v10w) : v110 / (v10v + v10w);
if (v10v === v10s) v10x = ((v10t - v10u) / v110 + (v10t < v10u ? 6 : 0)) / 6;else if (v10v === v10t) v10x = ((v10u - v10s) / v110 + 2) / 6;else v10x = ((v10s - v10t) / v110 + 4) / 6;
}
v10x = ((v10x * 360 + v10o) % 360 + 360) % 360 / 360;
v10y = Math.max(0, Math.min(1, v10y + v10p));
…
s142345 Input v10u b blueNormalizedUseful 0.66 blueUseful 0.49 FlowName better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s142345 / v10u ×
Declaration · line 4132 …
if (v10n && !v10n[v10r / 4]) continue;
let v10s = v10m[v10r] / 255,
v10t = v10m[v10r + 1] / 255,
v10u = v10m[v10r + 2] / 255;
const v10v = Math.max(v10s, v10t, v10u),
v10w = Math.min(v10s, v10t, v10u);
let v10x,
v10y,
v10z = (v10v + v10w) / 2;
if (v10v === v10w) {
v10x = v10y = 0;
… Reference · line 4143 …
v10y = v10z > 0.5 ? v110 / (2 - v10v - v10w) : v110 / (v10v + v10w);
if (v10v === v10s) v10x = ((v10t - v10u ) / v110 + (v10t < v10u ? 6 : 0)) / 6;else if (v10v === v10t) v10x = ((v10u - v10s) / v110 + 2) / 6;else v10x = ((v10s - v10t) / v110 + 4) / 6;
}
v10x = ((v10x * 360 + v10o) % 360 + 360) % 360 / 360;
v10y = Math.max(0, Math.min(1, v10y + v10p));
…
s142388 Input v10v max maxChannelUseful 0.73 maxChannelUseful 0.73 Both useful Present Pre-rename JavaScript · s142388 / v10v ×
Declaration · line 4133 …
v10t = v10m[v10r + 1] / 255,
v10u = v10m[v10r + 2] / 255;
const v10v = Math.max(v10s, v10t, v10u),
v10w = Math.min(v10s, v10t, v10u);
let v10x,
v10y,
v10z = (v10v + v10w) / 2;
if (v10v === v10w) {
v10x = v10y = 0;
} else {
const v110 = v10v - v10w;
… Reference · line 4142 …
} else {
const v110 = v10v - v10w;
v10y = v10z > 0.5 ? v110 / (2 - v10v - v10w) : v110 / (v10v + v10w);
if (v10v === v10s) v10x = ((v10t - v10u) / v110 + (v10t < v10u ? 6 : 0)) / 6;else if (v10v === v10t) v10x = ((v10u - v10s) / v110 + 2) / 6;else v10x = ((v10s - v10t) / v110 + 4) / 6;
}
v10x = ((v10x * 360 + v10o) % 360 + 360) % 360 / 360;
…
s142433 Input v10w min minChannelUseful 0.71 minColorUseful 0.30 FlowName better Present Pre-rename JavaScript · s142433 / v10w ×
Declaration · line 4134 …
v10u = v10m[v10r + 2] / 255;
const v10v = Math.max(v10s, v10t, v10u),
v10w = Math.min(v10s, v10t, v10u);
let v10x,
v10y,
v10z = (v10v + v10w) / 2;
if (v10v === v10w) {
v10x = v10y = 0;
} else {
const v110 = v10v - v10w;
v10y = v10z > 0.5 ? v110 / (2 - v10v - v10w) : v110 / (v10v + v10w);
…
s142480 Input v10x h luminanceUseful 0.14 hueUseful 0.89 Humanify better Present Pre-rename JavaScript · s142480 / v10x ×
Declaration · line 4135 …
const v10v = Math.max(v10s, v10t, v10u),
v10w = Math.min(v10s, v10t, v10u);
let v10x ,
v10y,
v10z = (v10v + v10w) / 2;
if (v10v === v10w) {
v10x = v10y = 0;
} else {
const v110 = v10v - v10w;
v10y = v10z > 0.5 ? v110 / (2 - v10v - v10w) : v110 / (v10v + v10w);
… Reference · line 4143 …
v10y = v10z > 0.5 ? v110 / (2 - v10v - v10w) : v110 / (v10v + v10w);
if (v10v === v10s) v10x = ((v10t - v10u) / v110 + (v10t < v10u ? 6 : 0)) / 6;else if (v10v === v10t) v10x = ((v10u - v10s) / v110 + 2) / 6;else v10x = ((v10s - v10t) / v110 + 4) / 6;
}
v10x = ((v10x * 360 + v10o) % 360 + 360) % 360 / 360;
v10y = Math.max(0, Math.min(1, v10y + v10p));
…
s142496 Input v10y s saturationUseful 0.94 saturationUseful 0.94 Both useful Present Pre-rename JavaScript · s142496 / v10y ×
Declaration · line 4136 …
const v10v = Math.max(v10s, v10t, v10u),
v10w = Math.min(v10s, v10t, v10u);
let v10x,
v10y ,
v10z = (v10v + v10w) / 2;
if (v10v === v10w) {
v10x = v10y = 0;
} else {
const v110 = v10v - v10w;
v10y = v10z > 0.5 ? v110 / (2 - v10v - v10w) : v110 / (v10v + v10w);
if (v10v === v10s) v10x = ((v10t - v10u) / v110 + (v10t < v10u ? 6 : 0)) / 6;els
… Reference · line 4146 …
0x = ((v10u - v10s) / v110 + 2) / 6;else v10x = ((v10s - v10t) / v110 + 4) / 6;
}
v10x = ((v10x * 360 + v10o) % 360 + 360) % 360 / 360;
v10y = Math.max(0, Math.min(1, v10y + v10p));
v10z = Math.max(0, Math.min(1, v10z + v10q));
if (v10y === 0) {
v10s = v10t = v10u = v10z;
} else {
const v111 = (v112, v113, v114) => {
if (v114 < 0) v114 += 1;
…
s142512 Input v10z l hueUseful 0.10 lightness2Useful 0.54 Humanify better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s142512 / v10z ×
Declaration · line 4137 …
const v10v = Math.max(v10s, v10t, v10u),
v10w = Math.min(v10s, v10t, v10u);
let v10x,
v10y,
v10z = (v10v + v10w) / 2;
if (v10v === v10w) {
v10x = v10y = 0;
} else {
const v110 = v10v - v10w;
v10y = v10z > 0.5 ? v110 / (2 - v10v - v10w) : v110 / (v10v + v10w);
if (v10v === v10s) v10x = ((v10t - v10u) / v110 + (v10t < v10u ? 6 : 0)) / 6;else if (v10v === v
… Reference · line 4147 …
v10x = ((v10x * 360 + v10o) % 360 + 360) % 360 / 360;
v10y = Math.max(0, Math.min(1, v10y + v10p));
v10z = Math.max(0, Math.min(1, v10z + v10q));
if (v10y === 0) {
v10s = v10t = v10u = v10z;
} else {
const v111 = (v112, v113, v114) => {
if (v114 < 0) v114 += 1;
if (v114 > 1) v114 -= 1;
…
s142627 Input v110 d deltaUseful 0.83 chromaDiffUseful 0.48 FlowName better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s142627 / v110 ×
Declaration · line 4141 …
v10z = (v10v + v10w) / 2;
if (v10v === v10w) {
v10x = v10y = 0;
} else {
const v110 = v10v - v10w;
v10y = v10z > 0.5 ? v110 / (2 - v10v - v10w) : v110 / (v10v + v10w);
if (v10v === v10s) v10x = ((v10t - v10u) / v110 + (v10t < v10u ? 6 : 0)) / 6;else if (v10v === v10t) v10x = ((v10u - v10s) / v110 + 2) / 6;else v10x = ((v10s - v10t) / v110 + 4) / 6;
…
s143195 Input v111 hue2rgb hueToRgbUseful 0.93 hueToRgbUseful 0.93 Both useful Present Pre-rename JavaScript · s143195 / v111 ×
Declaration · line 4151 …
if (v10y === 0) {
v10s = v10t = v10u = v10z;
} else {
const v111 = (v112, v113, v114) => {
if (v114 < 0) v114 += 1;
if (v114 > 1) v114 -= 1;
if (v114 < 1 / 6) return v112 + (v113 - v112) * 6 * v114;
if (v114 < 1 / 2) return v113;
if (v114 < 2 / 3) return v112 + (v113 - v112) * (2 / 3 - v114) * 6;
… Reference · line 4161 …
const v115 = v10z < 0.5 ? v10z * (1 + v10y) : v10z + v10y - v10z * v10y;
const v116 = 2 * v10z - v115;
v10s = v111 (v116, v115, v10x + 1 / 3);
v10t = v111(v116, v115, v10x);
v10u = v111(v116, v115, v10x - 1 / 3);
}
v10m[v10r] = Math.round(v10s * 255);
v10m[v10r + 1] = Math.round(v10t * 255);
v10m[v10r + 2] = Math.round(v10u * 255);
…
s143203 Input v112 p2 pUseful 0.59 colorComponent1Useful 0.13 FlowName better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s143203 / v112 ×
Declaration · line 4151 …
if (v10y === 0) {
v10s = v10t = v10u = v10z;
} else {
const v111 = (v112 , v113, v114) => {
if (v114 < 0) v114 += 1;
if (v114 > 1) v114 -= 1;
if (v114 < 1 / 6) return v112 + (v113 - v112) * 6 * v114;
if (v114 < 1 / 2) return v113;
if (v114 < 2 / 3) return v112 + (v113 - v112) * (2 / 3 - v114) * 6;
… Reference · line 4157 …
if (v114 < 2 / 3) return v112 + (v113 - v112) * (2 / 3 - v114) * 6;
return v112 ;
};
const v115 = v10z < 0.5 ? v10z * (1 + v10y) : v10z + v10y - v10z * v10y;
const v116 = 2 * v10z - v115;
v10s = v111(v116, v115, v10x + 1 / 3);
v10t = v111(v116, v115, v10x);
v10u = v111(v116, v115, v10x - 1 / 3);
…
s143209 Input v113 q2 qUseful 0.58 colorMaxUseful 0.05 FlowName better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s143209 / v113 ×
Declaration · line 4151 …
if (v10y === 0) {
v10s = v10t = v10u = v10z;
} else {
const v111 = (v112, v113 , v114) => {
if (v114 < 0) v114 += 1;
if (v114 > 1) v114 -= 1;
if (v114 < 1 / 6) return v112 + (v113 - v112) * 6 * v114;
if (v114 < 1 / 2) return v113;
if (v114 < 2 / 3) return v112 + (v113 - v112) * (2 / 3 - v114) * 6;
…
s143215 Input v114 t tUseful 0.56 hue2Useful 0.22 FlowName better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s143215 / v114 ×
Declaration · line 4151 …
v10s = v10t = v10u = v10z;
} else {
const v111 = (v112, v113, v114 ) => {
if (v114 < 0) v114 += 1;
if (v114 > 1) v114 -= 1;
if (v114 < 1 / 6) return v112 + (v113 - v112) * 6 * v114;
if (v114 < 1 / 2) return v113;
if (v114 < 2 / 3) return v112 + (v113 - v112) * (2 / 3 - v114) * 6;
…
s143547 Input v115 q qValUseful 0.61 qUseful 0.57 Both useful Present Usefulness probability is near the provisional 0.5 boundary. Preference confidence is low. Pre-rename JavaScript · s143547 / v115 ×
Declaration · line 4159 …
if (v114 < 2 / 3) return v112 + (v113 - v112) * (2 / 3 - v114) * 6;
return v112;
};
const v115 = v10z < 0.5 ? v10z * (1 + v10y) : v10z + v10y - v10z * v10y;
const v116 = 2 * v10z - v115;
v10s = v111(v116, v115, v10x + 1 / 3);
v10t = v111(v116, v115, v10x);
v10u = v111(v116, v115, v10x - 1 / 3);
…
s143630 Input v116 p pValUseful 0.50 temp2Useful 0.19 FlowName better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s143630 / v116 ×
Declaration · line 4160 …
const v115 = v10z < 0.5 ? v10z * (1 + v10y) : v10z + v10y - v10z * v10y;
const v116 = 2 * v10z - v115;
v10s = v111(v116, v115, v10x + 1 / 3);
v10t = v111(v116, v115, v10x);
v10u = v111(v116, v115, v10x - 1 / 3);
}
v10m[v10r] = Math.round(v10s * 255);
v10m[v10r + 1] = Math.round(v10t * 255);
…
s143976 Input v117 gaussianBlur applyBlurFilterUseful 0.54 EventEmitter34Useful 0.02 FlowName better Absent Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s143976 / v117 ×
Declaration · line 4171 …
v10m[v10r + 1] = Math.round(v10t * 255);
v10m[v10r + 2] = Math.round(v10u * 255);
}
}
};
function v117 (v118, v119) {
if (v119 < 0.5) return;
const {
width: v11a,
height: v11b,
data: v11c
} = v118;
const v11d = Math.max(v119 / 3, 0.3);
const v11e = Math.ceil(v11d * 3) * 2 + 1;
const v11f = Math.floor(v11e / 2);
… Reference · line 4262 …
const v12g = new Uint8ClampedArray(v12d);
const v12h = new ImageData(v12g, this._doc.width, this._doc.height);
v117 (v12h, v12f);
for (let v12i = 0; v12i < v12e.length; v12i++) {
if (v12e[v12i]) {
v12d[v12i * 4] = v12g[v12i * 4];
v12d[v12i * 4 + 1] = v12g[v12i * 4 + 1];
v12d[v12i * 4 + 2] = v12g[v12i * 4 + 2];
…
s143981 Input v118 imageData imgDataUseful 0.72 imageDataUseful 0.95 Humanify better Present Pre-rename JavaScript · s143981 / v118 ×
Declaration · line 4171 …
v10m[v10r + 1] = Math.round(v10t * 255);
v10m[v10r + 2] = Math.round(v10u * 255);
}
}
};
function v117(v118 , v119) {
if (v119 < 0.5) return;
const {
width: v11a,
height: v11b,
data: v11c
} = v118;
const v11d = Math.max(v119 / 3, 0.3);
const v11e = Math.ceil(v11d * 3) * 2 + 1;
const v11f = Math.floor(v11e / 2);
…
s143987 Input v119 radius radiusUseful 0.94 strengthUseful 0.36 FlowName better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s143987 / v119 ×
Declaration · line 4171 …
v10m[v10r + 2] = Math.round(v10u * 255);
}
}
};
function v117(v118, v119 ) {
if (v119 < 0.5) return;
const {
width: v11a,
height: v11b,
data: v11c
} = v118;
const v11d = Math.max(v119 / 3, 0.3);
const v11e = Math.ceil(v11d * 3) * 2 + 1;
const v11f = Math.floor(v11e / 2);
…
s144048 Input v11a width widthUseful 0.94 imageWidthUseful 0.78 FlowName better Present Pre-rename JavaScript · s144048 / v11a ×
Declaration · line 4174 …
}
};
function v117(v118, v119) {
if (v119 < 0.5) return;
const {
width: v11a ,
height: v11b,
data: v11c
} = v118;
const v11d = Math.max(v119 / 3, 0.3);
const v11e = Math.ceil(v11d * 3) * 2 + 1;
const v11f = Math.floor(v11e / 2);
const v11g = new Float32Array(v11e);
let v11h = 0;
… Reference · line 4189 …
for (let v11k = 0; v11k < v11e; v11k++) v11g[v11k] /= v11h;
const v11l = new Float32Array(v11a * v11b * 4);
for (let v11m = 0; v11m < v11c.length; v11m += 4) {
const v11n = v11c[v11m + 3] / 255;
v11l[v11m] = v11c[v11m] * v11n;
v11l[v11m + 1] = v11c[v11m + 1] * v11n;
v11l[v11m + 2] = v11c[v11m + 2] * v11n;
…
s144068 Input v11b height heightUseful 0.94 heightUseful 0.94 Both useful Present Pre-rename JavaScript · s144068 / v11b ×
Declaration · line 4175 …
function v117(v118, v119) {
if (v119 < 0.5) return;
const {
width: v11a,
height: v11b ,
data: v11c
} = v118;
const v11d = Math.max(v119 / 3, 0.3);
const v11e = Math.ceil(v11d * 3) * 2 + 1;
const v11f = Math.floor(v11e / 2);
const v11g = new Float32Array(v11e);
let v11h = 0;
for (let v11i = 0; v11i < v11e; v11i++) {
… Reference · line 4189 …
for (let v11k = 0; v11k < v11e; v11k++) v11g[v11k] /= v11h;
const v11l = new Float32Array(v11a * v11b * 4);
for (let v11m = 0; v11m < v11c.length; v11m += 4) {
const v11n = v11c[v11m + 3] / 255;
v11l[v11m] = v11c[v11m] * v11n;
v11l[v11m + 1] = v11c[v11m + 1] * v11n;
v11l[v11m + 2] = v11c[v11m + 2] * v11n;
v11l[v11m + 3] = v11c[v11m + 3];
…
s144086 Input v11c data inputDataUseful 0.50 imageData2Useful 0.36 FlowName better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s144086 / v11c ×
Declaration · line 4176 …
if (v119 < 0.5) return;
const {
width: v11a,
height: v11b,
data: v11c
} = v118;
const v11d = Math.max(v119 / 3, 0.3);
const v11e = Math.ceil(v11d * 3) * 2 + 1;
const v11f = Math.floor(v11e / 2);
const v11g = new Float32Array(v11e);
let v11h = 0;
for (let v11i = 0; v11i < v11e; v11i++) {
… Reference · line 4190 …
for (let v11k = 0; v11k < v11e; v11k++) v11g[v11k] /= v11h;
const v11l = new Float32Array(v11a * v11b * 4);
for (let v11m = 0; v11m < v11c .length; v11m += 4) {
const v11n = v11c[v11m + 3] / 255;
v11l[v11m] = v11c[v11m] * v11n;
v11l[v11m + 1] = v11c[v11m + 1] * v11n;
v11l[v11m + 2] = v11c[v11m + 2] * v11n;
v11l[v11m + 3] = v11c[v11m + 3];
}
…
s144115 Input v11d sigma sigmaUseful 0.95 sigmaUseful 0.95 Both useful Present Pre-rename JavaScript · s144115 / v11d ×
Declaration · line 4178 …
const {
width: v11a,
height: v11b,
data: v11c
} = v118;
const v11d = Math.max(v119 / 3, 0.3);
const v11e = Math.ceil(v11d * 3) * 2 + 1;
const v11f = Math.floor(v11e / 2);
const v11g = new Float32Array(v11e);
let v11h = 0;
for (let v11i = 0; v11i < v11e; v11i++) {
const v11j = v11i - v11f;
… Reference · line 4185 …
for (let v11i = 0; v11i < v11e; v11i++) {
const v11j = v11i - v11f;
v11g[v11i] = Math.exp(-(v11j * v11j) / (2 * v11d * v11d));
v11h += v11g[v11i];
}
for (let v11k = 0; v11k < v11e; v11k++) v11g[v11k] /= v11h;
const v11l = new Float32Array(v11a * v11b * 4);
for (let v11m = 0; v11m < v11c.length; v11m += 4) {
const v11n = v11c[v11m + 3] / 255;
…
s144157 Input v11e kSize kernelSizeUseful 0.92 kernelSizeUseful 0.92 Both useful Present Pre-rename JavaScript · s144157 / v11e ×
Declaration · line 4179 …
height: v11b,
data: v11c
} = v118;
const v11d = Math.max(v119 / 3, 0.3);
const v11e = Math.ceil(v11d * 3) * 2 + 1;
const v11f = Math.floor(v11e / 2);
const v11g = new Float32Array(v11e);
let v11h = 0;
for (let v11i = 0; v11i < v11e; v11i++) {
const v11j = v11i - v11f;
v11g[v11i] = Math.exp(-(v11j * v11j) / (2 * v11d * v11d));
… Reference · line 4188 …
v11g[v11i] = Math.exp(-(v11j * v11j) / (2 * v11d * v11d));
v11h += v11g[v11i];
}
for (let v11k = 0; v11k < v11e ; v11k++) v11g[v11k] /= v11h;
const v11l = new Float32Array(v11a * v11b * 4);
for (let v11m = 0; v11m < v11c.length; v11m += 4) {
const v11n = v11c[v11m + 3] / 255;
v11l[v11m] = v11c[v11m] * v11n;
v11l[v11m + 1] = v11c[v11m + 1] * v11n;
…
s144203 Input v11f kHalf halfSizeUseful 0.75 kernelRadiusUseful 0.53 FlowName better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s144203 / v11f ×
Declaration · line 4180 …
const v11d = Math.max(v119 / 3, 0.3);
const v11e = Math.ceil(v11d * 3) * 2 + 1;
const v11f = Math.floor(v11e / 2);
const v11g = new Float32Array(v11e);
let v11h = 0;
for (let v11i = 0; v11i < v11e; v11i++) {
const v11j = v11i - v11f;
v11g[v11i] = Math.exp(-(v11j * v11j) / (2 * v11d * v11d));
v11h += v11g[v11i];
… Reference · line 4205 …
for (let v11v = 0; v11v < v11e; v11v++) {
const v11w = Math.max(0, Math.min(v11a - 1, v11q + v11v - v11f ));
const v11x = (v11p * v11a + v11w) * 4;
v11r += v11l[v11x] * v11g[v11v];
v11s += v11l[v11x + 1] * v11g[v11v];
v11t += v11l[v11x + 2] * v11g[v11v];
v11u += v11l[v11x + 3] * v11g[v11v];
…
s144242 Input v11g kernel kernelUseful 0.94 kernelUseful 0.94 Both useful Present Pre-rename JavaScript · s144242 / v11g ×
Declaration · line 4181 …
const v11e = Math.ceil(v11d * 3) * 2 + 1;
const v11f = Math.floor(v11e / 2);
const v11g = new Float32Array(v11e);
let v11h = 0;
for (let v11i = 0; v11i < v11e; v11i++) {
const v11j = v11i - v11f;
v11g[v11i] = Math.exp(-(v11j * v11j) / (2 * v11d * v11d));
v11h += v11g[v11i];
}
for (let v11k = 0; v11k < v11e; v11k++) v11g[v11k] /= v11h;
… Reference · line 4207 …
const v11w = Math.max(0, Math.min(v11a - 1, v11q + v11v - v11f));
const v11x = (v11p * v11a + v11w) * 4;
v11r += v11l[v11x] * v11g [v11v];
v11s += v11l[v11x + 1] * v11g[v11v];
v11t += v11l[v11x + 2] * v11g[v11v];
v11u += v11l[v11x + 3] * v11g[v11v];
}
const v11y = (v11p * v11a + v11q) * 4;
v11o[v11y] = v11r;
v11o[v11y + 1] = v11s;
…
s144281 Input v11h kSum sumUseful 0.58 kernelSumUseful 0.86 Humanify better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s144281 / v11h ×
Declaration · line 4182 …
const v11e = Math.ceil(v11d * 3) * 2 + 1;
const v11f = Math.floor(v11e / 2);
const v11g = new Float32Array(v11e);
let v11h = 0;
for (let v11i = 0; v11i < v11e; v11i++) {
const v11j = v11i - v11f;
v11g[v11i] = Math.exp(-(v11j * v11j) / (2 * v11d * v11d));
v11h += v11g[v11i];
}
for (let v11k = 0; v11k < v11e; v11k++) v11g[v11k] /= v11h;
…
s144304 Input v11i i iUseful 0.62 iUseful 0.62 Both useful Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s144304 / v11i ×
Declaration · line 4183 …
const v11f = Math.floor(v11e / 2);
const v11g = new Float32Array(v11e);
let v11h = 0;
for (let v11i = 0; v11i < v11e; v11i++) {
const v11j = v11i - v11f;
v11g[v11i] = Math.exp(-(v11j * v11j) / (2 * v11d * v11d));
v11h += v11g[v11i];
}
for (let v11k = 0; v11k < v11e; v11k++) v11g[v11k] /= v11h;
const v11l = new Float32Array(v11a * v11b * 4);
…
s144349 Input v11j x jUseful 0.10 distanceUseful 0.62 Humanify better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s144349 / v11j ×
Declaration · line 4184 …
const v11g = new Float32Array(v11e);
let v11h = 0;
for (let v11i = 0; v11i < v11e; v11i++) {
const v11j = v11i - v11f;
v11g[v11i] = Math.exp(-(v11j * v11j) / (2 * v11d * v11d));
v11h += v11g[v11i];
}
for (let v11k = 0; v11k < v11e; v11k++) v11g[v11k] /= v11h;
const v11l = new Float32Array(v11a * v11b * 4);
for (let v11m = 0; v11m < v11c.length; v11m += 4) {
…
s144479 Input v11k i iUseful 0.62 iUseful 0.62 Both useful Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s144479 / v11k ×
Declaration · line 4188 …
v11g[v11i] = Math.exp(-(v11j * v11j) / (2 * v11d * v11d));
v11h += v11g[v11i];
}
for (let v11k = 0; v11k < v11e; v11k++) v11g[v11k] /= v11h;
const v11l = new Float32Array(v11a * v11b * 4);
for (let v11m = 0; v11m < v11c.length; v11m += 4) {
const v11n = v11c[v11m + 3] / 255;
v11l[v11m] = v11c[v11m] * v11n;
v11l[v11m + 1] = v11c[v11m + 1] * v11n;
…
s144540 Input v11l buf intermediateBufferUseful 0.76 gaussianKernelUseful 0.05 FlowName better Absent Pre-rename JavaScript · s144540 / v11l ×
Declaration · line 4189 …
v11h += v11g[v11i];
}
for (let v11k = 0; v11k < v11e; v11k++) v11g[v11k] /= v11h;
const v11l = new Float32Array(v11a * v11b * 4);
for (let v11m = 0; v11m < v11c.length; v11m += 4) {
const v11n = v11c[v11m + 3] / 255;
v11l[v11m] = v11c[v11m] * v11n;
v11l[v11m + 1] = v11c[v11m + 1] * v11n;
v11l[v11m + 2] = v11c[v11m + 2] * v11n;
… Reference · line 4195 …
v11l[v11m + 1] = v11c[v11m + 1] * v11n;
v11l[v11m + 2] = v11c[v11m + 2] * v11n;
v11l [v11m + 3] = v11c[v11m + 3];
}
const v11o = new Float32Array(v11l.length);
for (let v11p = 0; v11p < v11b; v11p++) {
for (let v11q = 0; v11q < v11a; v11q++) {
let v11r = 0,
v11s = 0,
v11t = 0,
…
s144595 Input v11m i iUseful 0.61 iUseful 0.61 Both useful Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s144595 / v11m ×
Declaration · line 4190 …
for (let v11k = 0; v11k < v11e; v11k++) v11g[v11k] /= v11h;
const v11l = new Float32Array(v11a * v11b * 4);
for (let v11m = 0; v11m < v11c.length; v11m += 4) {
const v11n = v11c[v11m + 3] / 255;
v11l[v11m] = v11c[v11m] * v11n;
v11l[v11m + 1] = v11c[v11m + 1] * v11n;
v11l[v11m + 2] = v11c[v11m + 2] * v11n;
v11l[v11m + 3] = v11c[v11m + 3];
…
s144650 Input v11n a alphaUseful 0.76 normalizedAlphaUseful 0.62 Both useful Present Usefulness probability is near the provisional 0.5 boundary. Preference confidence is low. Pre-rename JavaScript · s144650 / v11n ×
Declaration · line 4191 …
const v11l = new Float32Array(v11a * v11b * 4);
for (let v11m = 0; v11m < v11c.length; v11m += 4) {
const v11n = v11c[v11m + 3] / 255;
v11l[v11m] = v11c[v11m] * v11n;
v11l[v11m + 1] = v11c[v11m + 1] * v11n;
v11l[v11m + 2] = v11c[v11m + 2] * v11n;
v11l[v11m + 3] = v11c[v11m + 3];
}
const v11o = new Float32Array(v11l.length);
…
s144864 Input v11o tmp tempBufferUseful 0.79 v11oUseful 0.05 FlowName better Absent Pre-rename JavaScript · s144864 / v11o ×
Declaration · line 4197 …
v11l[v11m + 2] = v11c[v11m + 2] * v11n;
v11l[v11m + 3] = v11c[v11m + 3];
}
const v11o = new Float32Array(v11l.length);
for (let v11p = 0; v11p < v11b; v11p++) {
for (let v11q = 0; v11q < v11a; v11q++) {
let v11r = 0,
v11s = 0,
v11t = 0,
v11u = 0;
for (let v11v = 0; v11v < v11e; v11v++) {
… Reference · line 4213 …
v11u += v11l[v11x + 3] * v11g[v11v];
}
const v11y = (v11p * v11a + v11q) * 4;
v11o [v11y] = v11r;
v11o[v11y + 1] = v11s;
v11o[v11y + 2] = v11t;
v11o[v11y + 3] = v11u;
}
}
for (let v11z = 0; v11z < v11b; v11z++) {
for (let v120 = 0; v120 < v11a; v120++) {
let v121 = 0,
…
s144915 Input v11p y iUseful 0.12 yUseful 0.73 Humanify better Present Pre-rename JavaScript · s144915 / v11p ×
Declaration · line 4198 …
v11l[v11m + 3] = v11c[v11m + 3];
}
const v11o = new Float32Array(v11l.length);
for (let v11p = 0; v11p < v11b; v11p++) {
for (let v11q = 0; v11q < v11a; v11q++) {
let v11r = 0,
v11s = 0,
v11t = 0,
v11u = 0;
for (let v11v = 0; v11v < v11e; v11v++) {
const v11w = Math.max(0, Math.min(v11a - 1, v11q + v11v - v11f));
… Reference · line 4206 …
const v11w = Math.max(0, Math.min(v11a - 1, v11q + v11v - v11f));
const v11x = (v11p * v11a + v11w) * 4;
v11r += v11l[v11x] * v11g[v11v];
v11s += v11l[v11x + 1] * v11g[v11v];
v11t += v11l[v11x + 2] * v11g[v11v];
v11u += v11l[v11x + 3] * v11g[v11v];
}
const v11y = (v11p * v11a + v11q) * 4;
…
s144963 Input v11q x xUseful 0.73 xUseful 0.73 Both useful Present Pre-rename JavaScript · s144963 / v11q ×
Declaration · line 4199 …
const v11o = new Float32Array(v11l.length);
for (let v11p = 0; v11p < v11b; v11p++) {
for (let v11q = 0; v11q < v11a; v11q++) {
let v11r = 0,
v11s = 0,
v11t = 0,
v11u = 0;
for (let v11v = 0; v11v < v11e; v11v++) {
const v11w = Math.max(0, Math.min(v11a - 1, v11q + v11v - v11f));
… Reference · line 4212 …
v11u += v11l[v11x + 3] * v11g[v11v];
}
const v11y = (v11p * v11a + v11q ) * 4;
v11o[v11y] = v11r;
v11o[v11y + 1] = v11s;
v11o[v11y + 2] = v11t;
v11o[v11y + 3] = v11u;
}
}
for (let v11z = 0; v11z < v11b; v11z++) {
for (let v120 = 0; v120 < v11a; v120++) {
let v121 = 0,
…
s145008 Input v11r r sumRUseful 0.41 redSumUseful 0.57 Humanify better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s145008 / v11r ×
Declaration · line 4200 …
for (let v11p = 0; v11p < v11b; v11p++) {
for (let v11q = 0; v11q < v11a; v11q++) {
let v11r = 0,
v11s = 0,
v11t = 0,
v11u = 0;
for (let v11v = 0; v11v < v11e; v11v++) {
const v11w = Math.max(0, Math.min(v11a - 1, v11q + v11v - v11f));
const v11x = (v11p * v11a + v11w) * 4;
… Reference · line 4207 …
const v11w = Math.max(0, Math.min(v11a - 1, v11q + v11v - v11f));
const v11x = (v11p * v11a + v11w) * 4;
v11r += v11l[v11x] * v11g[v11v];
v11s += v11l[v11x + 1] * v11g[v11v];
v11t += v11l[v11x + 2] * v11g[v11v];
v11u += v11l[v11x + 3] * v11g[v11v];
}
const v11y = (v11p * v11a + v11q) * 4;
v11o[v11y] = v11r;
…
s145028 Input v11s g sumGUseful 0.54 greenSumUseful 0.45 FlowName better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s145028 / v11s ×
Declaration · line 4201 …
for (let v11p = 0; v11p < v11b; v11p++) {
for (let v11q = 0; v11q < v11a; v11q++) {
let v11r = 0,
v11s = 0,
v11t = 0,
v11u = 0;
for (let v11v = 0; v11v < v11e; v11v++) {
const v11w = Math.max(0, Math.min(v11a - 1, v11q + v11v - v11f));
const v11x = (v11p * v11a + v11w) * 4;
v11r += v11l[v11x] * v11g[v11v];
… Reference · line 4208 …
const v11x = (v11p * v11a + v11w) * 4;
v11r += v11l[v11x] * v11g[v11v];
v11s += v11l[v11x + 1] * v11g[v11v];
v11t += v11l[v11x + 2] * v11g[v11v];
v11u += v11l[v11x + 3] * v11g[v11v];
}
const v11y = (v11p * v11a + v11q) * 4;
v11o[v11y] = v11r;
v11o[v11y + 1] = v11s;
…
s145048 Input v11t b sumBUseful 0.22 blueSumUseful 0.74 Humanify better Present Pre-rename JavaScript · s145048 / v11t ×
Declaration · line 4202 …
for (let v11q = 0; v11q < v11a; v11q++) {
let v11r = 0,
v11s = 0,
v11t = 0,
v11u = 0;
for (let v11v = 0; v11v < v11e; v11v++) {
const v11w = Math.max(0, Math.min(v11a - 1, v11q + v11v - v11f));
const v11x = (v11p * v11a + v11w) * 4;
v11r += v11l[v11x] * v11g[v11v];
… Reference · line 4209 …
v11r += v11l[v11x] * v11g[v11v];
v11s += v11l[v11x + 1] * v11g[v11v];
v11t += v11l[v11x + 2] * v11g[v11v];
v11u += v11l[v11x + 3] * v11g[v11v];
}
const v11y = (v11p * v11a + v11q) * 4;
v11o[v11y] = v11r;
v11o[v11y + 1] = v11s;
v11o[v11y + 2] = v11t;
v11o[v11y + 3] = v11u;
…
s145068 Input v11u a sumAUseful 0.59 alphaSumUseful 0.44 FlowName better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s145068 / v11u ×
Declaration · line 4203 …
for (let v11q = 0; v11q < v11a; v11q++) {
let v11r = 0,
v11s = 0,
v11t = 0,
v11u = 0;
for (let v11v = 0; v11v < v11e; v11v++) {
const v11w = Math.max(0, Math.min(v11a - 1, v11q + v11v - v11f));
const v11x = (v11p * v11a + v11w) * 4;
v11r += v11l[v11x] * v11g[v11v];
v11s += v11l[v11x + 1] * v11g[v11v];
… Reference · line 4210 …
v11s += v11l[v11x + 1] * v11g[v11v];
v11t += v11l[v11x + 2] * v11g[v11v];
v11u += v11l[v11x + 3] * v11g[v11v];
}
const v11y = (v11p * v11a + v11q) * 4;
v11o[v11y] = v11r;
v11o[v11y + 1] = v11s;
v11o[v11y + 2] = v11t;
v11o[v11y + 3] = v11u;
}
}
for (let v11z = 0; v11z < v11b; v11z++) {
…
s145095 Input v11v k kernelIdxUseful 0.54 kernelIndexUseful 0.56 Both useful Present Usefulness probability is near the provisional 0.5 boundary. Preference confidence is low. Pre-rename JavaScript · s145095 / v11v ×
Declaration · line 4204 …
let v11r = 0,
v11s = 0,
v11t = 0,
v11u = 0;
for (let v11v = 0; v11v < v11e; v11v++) {
const v11w = Math.max(0, Math.min(v11a - 1, v11q + v11v - v11f));
const v11x = (v11p * v11a + v11w) * 4;
v11r += v11l[v11x] * v11g[v11v];
v11s += v11l[v11x + 1] * v11g[v11v];
… Reference · line 4209 …
v11r += v11l[v11x] * v11g[v11v];
v11s += v11l[v11x + 1] * v11g[v11v];
v11t += v11l[v11x + 2] * v11g[v11v ];
v11u += v11l[v11x + 3] * v11g[v11v];
}
const v11y = (v11p * v11a + v11q) * 4;
v11o[v11y] = v11r;
v11o[v11y + 1] = v11s;
v11o[v11y + 2] = v11t;
v11o[v11y + 3] = v11u;
}
}
…
s145144 Input v11w sx sampleXUseful 0.68 sampleXUseful 0.68 Both useful Present Pre-rename JavaScript · s145144 / v11w ×
Declaration · line 4205 …
v11t = 0,
v11u = 0;
for (let v11v = 0; v11v < v11e; v11v++) {
const v11w = Math.max(0, Math.min(v11a - 1, v11q + v11v - v11f));
const v11x = (v11p * v11a + v11w) * 4;
v11r += v11l[v11x] * v11g[v11v];
v11s += v11l[v11x + 1] * v11g[v11v];
v11t += v11l[v11x + 2] * v11g[v11v];
…
s145220 Input v11x pi srcIdxUseful 0.69 pixelIndexUseful 0.83 Humanify better Present Pre-rename JavaScript · s145220 / v11x ×
Declaration · line 4206 …
const v11w = Math.max(0, Math.min(v11a - 1, v11q + v11v - v11f));
const v11x = (v11p * v11a + v11w) * 4;
v11r += v11l[v11x] * v11g[v11v];
v11s += v11l[v11x + 1] * v11g[v11v];
v11t += v11l[v11x + 2] * v11g[v11v];
v11u += v11l[v11x + 3] * v11g[v11v];
}
const v11y = (v11p * v11a + v11q) * 4;
…
s145461 Input v11y di destIdxUseful 0.73 targetPixelIndexUseful 0.69 Both useful Present Preference confidence is low. Pre-rename JavaScript · s145461 / v11y ×
Declaration · line 4212 …
v11t += v11l[v11x + 2] * v11g[v11v];
v11u += v11l[v11x + 3] * v11g[v11v];
}
const v11y = (v11p * v11a + v11q) * 4;
v11o[v11y] = v11r;
v11o[v11y + 1] = v11s;
v11o[v11y + 2] = v11t;
v11o[v11y + 3] = v11u;
}
}
for (let v11z = 0; v11z < v11b; v11z++) {
for (let v120 = 0; v120 < v11a; v120++) {
…
s145641 Input v11z y y2Useful 0.38 rowIndexUseful 0.48 Both poor Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s145641 / v11z ×
Declaration · line 4219 …
v11o[v11y + 1] = v11s;
v11o[v11y + 2] = v11t;
v11o[v11y + 3] = v11u;
}
}
for (let v11z = 0; v11z < v11b; v11z++) {
for (let v120 = 0; v120 < v11a; v120++) {
let v121 = 0,
v122 = 0,
v123 = 0,
v124 = 0;
for (let v125 = 0; v125 < v11e; v125++) {
const v126 = Math.max(0, Math.min(v11b - 1, v11z + v125 - v11f));
… Reference · line 4233 …
v123 += v11o[v127 + 2] * v11g[v125];
v124 += v11o[v127 + 3] * v11g[v125];
}
const v128 = (v11z * v11a + v120) * 4;
const v129 = Math.max(v124, 1e-3);
v11c[v128] = Math.min(255, Math.round(v121 / v129 * 255));
v11c[v128 + 1] = Math.min(255, Math.round(v122 / v129 * 255));
v11c[v128 + 2] = Math.min(255, Math.round(v123 / v129 * 255));
…
s145689 Input v120 x yUseful 0.17 xUseful 0.67 Humanify better Present Pre-rename JavaScript · s145689 / v120 ×
Declaration · line 4220 …
v11o[v11y + 3] = v11u;
}
}
for (let v11z = 0; v11z < v11b; v11z++) {
for (let v120 = 0; v120 < v11a; v120++) {
let v121 = 0,
v122 = 0,
v123 = 0,
v124 = 0;
for (let v125 = 0; v125 < v11e; v125++) {
const v126 = Math.max(0, Math.min(v11b - 1, v11z + v125 - v11f));
… Reference · line 4227 …
const v126 = Math.max(0, Math.min(v11b - 1, v11z + v125 - v11f));
const v127 = (v126 * v11a + v120 ) * 4;
v121 += v11o[v127] * v11g[v125];
v122 += v11o[v127 + 1] * v11g[v125];
v123 += v11o[v127 + 2] * v11g[v125];
v124 += v11o[v127 + 3] * v11g[v125];
}
const v128 = (v11z * v11a + v120) * 4;
…
s145734 Input v121 r sumR2Useful 0.09 sumRedUseful 0.39 Both poor Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s145734 / v121 ×
Declaration · line 4221 …
for (let v11z = 0; v11z < v11b; v11z++) {
for (let v120 = 0; v120 < v11a; v120++) {
let v121 = 0,
v122 = 0,
v123 = 0,
v124 = 0;
for (let v125 = 0; v125 < v11e; v125++) {
const v126 = Math.max(0, Math.min(v11b - 1, v11z + v125 - v11f));
const v127 = (v126 * v11a + v120) * 4;
… Reference · line 4228 …
const v126 = Math.max(0, Math.min(v11b - 1, v11z + v125 - v11f));
const v127 = (v126 * v11a + v120) * 4;
v121 += v11o[v127] * v11g[v125];
v122 += v11o[v127 + 1] * v11g[v125];
v123 += v11o[v127 + 2] * v11g[v125];
v124 += v11o[v127 + 3] * v11g[v125];
}
const v128 = (v11z * v11a + v120) * 4;
const v129 = Math.max(v124, 1e-3);
…
s145754 Input v122 g sumG2Useful 0.18 sumGreenUseful 0.32 Both poor Present Pre-rename JavaScript · s145754 / v122 ×
Declaration · line 4222 …
for (let v11z = 0; v11z < v11b; v11z++) {
for (let v120 = 0; v120 < v11a; v120++) {
let v121 = 0,
v122 = 0,
v123 = 0,
v124 = 0;
for (let v125 = 0; v125 < v11e; v125++) {
const v126 = Math.max(0, Math.min(v11b - 1, v11z + v125 - v11f));
const v127 = (v126 * v11a + v120) * 4;
v121 += v11o[v127] * v11g[v125];
… Reference · line 4229 …
const v127 = (v126 * v11a + v120) * 4;
v121 += v11o[v127] * v11g[v125];
v122 += v11o[v127 + 1] * v11g[v125];
v123 += v11o[v127 + 2] * v11g[v125];
v124 += v11o[v127 + 3] * v11g[v125];
}
const v128 = (v11z * v11a + v120) * 4;
const v129 = Math.max(v124, 1e-3);
v11c[v128] = Math.min(255, Math.round(v121 / v129 * 255));
…
s145774 Input v123 b sumBUseful 0.22 blueSumUseful 0.60 Humanify better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s145774 / v123 ×
Declaration · line 4223 …
for (let v120 = 0; v120 < v11a; v120++) {
let v121 = 0,
v122 = 0,
v123 = 0,
v124 = 0;
for (let v125 = 0; v125 < v11e; v125++) {
const v126 = Math.max(0, Math.min(v11b - 1, v11z + v125 - v11f));
const v127 = (v126 * v11a + v120) * 4;
v121 += v11o[v127] * v11g[v125];
… Reference · line 4230 …
v121 += v11o[v127] * v11g[v125];
v122 += v11o[v127 + 1] * v11g[v125];
v123 += v11o[v127 + 2] * v11g[v125];
v124 += v11o[v127 + 3] * v11g[v125];
}
const v128 = (v11z * v11a + v120) * 4;
const v129 = Math.max(v124, 1e-3);
v11c[v128] = Math.min(255, Math.round(v121 / v129 * 255));
…
s145794 Input v124 a sumAUseful 0.55 alphaSumUseful 0.79 Humanify better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s145794 / v124 ×
Declaration · line 4224 …
for (let v120 = 0; v120 < v11a; v120++) {
let v121 = 0,
v122 = 0,
v123 = 0,
v124 = 0;
for (let v125 = 0; v125 < v11e; v125++) {
const v126 = Math.max(0, Math.min(v11b - 1, v11z + v125 - v11f));
const v127 = (v126 * v11a + v120) * 4;
v121 += v11o[v127] * v11g[v125];
v122 += v11o[v127 + 1] * v11g[v125];
… Reference · line 4231 …
v122 += v11o[v127 + 1] * v11g[v125];
v123 += v11o[v127 + 2] * v11g[v125];
v124 += v11o[v127 + 3] * v11g[v125];
}
const v128 = (v11z * v11a + v120) * 4;
const v129 = Math.max(v124, 1e-3);
v11c[v128] = Math.min(255, Math.round(v121 / v129 * 255));
v11c[v128 + 1] = Math.min(255, Math.round(v122 / v129 * 255));
…
s145821 Input v125 k kernelIdxYUseful 0.18 kernelIndexUseful 0.62 Humanify better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s145821 / v125 ×
Declaration · line 4225 …
let v121 = 0,
v122 = 0,
v123 = 0,
v124 = 0;
for (let v125 = 0; v125 < v11e; v125++) {
const v126 = Math.max(0, Math.min(v11b - 1, v11z + v125 - v11f));
const v127 = (v126 * v11a + v120) * 4;
v121 += v11o[v127] * v11g[v125];
v122 += v11o[v127 + 1] * v11g[v125];
… Reference · line 4230 …
v121 += v11o[v127] * v11g[v125];
v122 += v11o[v127 + 1] * v11g[v125];
v123 += v11o[v127 + 2] * v11g[v125 ];
v124 += v11o[v127 + 3] * v11g[v125];
}
const v128 = (v11z * v11a + v120) * 4;
const v129 = Math.max(v124, 1e-3);
v11c[v128] = Math.min(255, Math.round(v121 / v129 * 255));
v11c[v128 + 1] = Math.min(255, Math.round(v122 / v129 * 255));
…
s145870 Input v126 sy sampleYUseful 0.79 sampleIndexUseful 0.14 FlowName better Present Pre-rename JavaScript · s145870 / v126 ×
Declaration · line 4226 …
v123 = 0,
v124 = 0;
for (let v125 = 0; v125 < v11e; v125++) {
const v126 = Math.max(0, Math.min(v11b - 1, v11z + v125 - v11f));
const v127 = (v126 * v11a + v120) * 4;
v121 += v11o[v127] * v11g[v125];
v122 += v11o[v127 + 1] * v11g[v125];
v123 += v11o[v127 + 2] * v11g[v125];
…
s145946 Input v127 pi tempIdxUseful 0.51 pixelIndexUseful 0.81 Humanify better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s145946 / v127 ×
Declaration · line 4227 …
const v126 = Math.max(0, Math.min(v11b - 1, v11z + v125 - v11f));
const v127 = (v126 * v11a + v120) * 4;
v121 += v11o[v127] * v11g[v125];
v122 += v11o[v127 + 1] * v11g[v125];
v123 += v11o[v127 + 2] * v11g[v125];
v124 += v11o[v127 + 3] * v11g[v125];
}
const v128 = (v11z * v11a + v120) * 4;
…
s146187 Input v128 di targetIdxUseful 0.54 targetIndexUseful 0.56 Unsure Present Usefulness probability is near the provisional 0.5 boundary. Preference could not be determined. Preference confidence is low. Pre-rename JavaScript · s146187 / v128 ×
Declaration · line 4233 …
v123 += v11o[v127 + 2] * v11g[v125];
v124 += v11o[v127 + 3] * v11g[v125];
}
const v128 = (v11z * v11a + v120) * 4;
const v129 = Math.max(v124, 1e-3);
v11c[v128] = Math.min(255, Math.round(v121 / v129 * 255));
v11c[v128 + 1] = Math.min(255, Math.round(v122 / v129 * 255));
v11c[v128 + 2] = Math.min(255, Math.round(v123 / v129 * 255));
… Reference · line 4238 …
v11c[v128 + 1] = Math.min(255, Math.round(v122 / v129 * 255));
v11c[v128 + 2] = Math.min(255, Math.round(v123 / v129 * 255));
v11c[v128 + 3] = Math.round(Math.min(255, v124));
}
}
}
var v12a = class extends vzl {
constructor() {
super("blur-overlay", "blur-ok", "blur-cancel");
const v12b = document.getElementById("blur-radius");
const v12c = document.getElementById("blur-radius-val");
…
s146234 Input v129 aa normalizerUseful 0.73 accumulatedRedUseful 0.13 FlowName better Absent Pre-rename JavaScript · s146234 / v129 ×
Declaration · line 4234 …
v124 += v11o[v127 + 3] * v11g[v125];
}
const v128 = (v11z * v11a + v120) * 4;
const v129 = Math.max(v124, 1e-3);
v11c[v128] = Math.min(255, Math.round(v121 / v129 * 255));
v11c[v128 + 1] = Math.min(255, Math.round(v122 / v129 * 255));
v11c[v128 + 2] = Math.min(255, Math.round(v123 / v129 * 255));
v11c[v128 + 3] = Math.round(Math.min(255, v124));
…
s146554 Input v12a GaussianBlurDialog BlurDialogUseful 0.74 EventEmitter35Useful 0.02 FlowName better Absent Pre-rename JavaScript · s146554 / v12a ×
Declaration · line 4242 …
v11c[v128 + 2] = Math.min(255, Math.round(v123 / v129 * 255));
v11c[v128 + 3] = Math.round(Math.min(255, v124));
}
}
}
var v12a = class extends vzl {
constructor() {
super("blur-overlay", "blur-ok", "blur-cancel");
const v12b = document.getElementById("blur-radius");
const v12c = document.getElementById("blur-radius-val");
v12b.addEventListener("input", () => {
… Reference · line 4388 …
this.bcDialog = new v102();
this.hslDialog = new v10e();
this.blurDialog = new v12a ();
this.sharpenDialog = new v12k();
this.posterizeDialog = new v12z();
this.thresholdDialog = new v137();
if (!this.docManager.restoreFromStorage()) {
this.docManager.createDoc(1280, 720, "Untitled", "white");
…
s146668 Input v12b slider blurRadiusInputUseful 0.84 blurRadiusInputUseful 0.84 Both useful Present Pre-rename JavaScript · s146668 / v12b ×
Declaration · line 4245 …
var v12a = class extends vzl {
constructor() {
super("blur-overlay", "blur-ok", "blur-cancel");
const v12b = document.getElementById("blur-radius");
const v12c = document.getElementById("blur-radius-val");
v12b.addEventListener("input", () => {
v12c.textContent = v12b.value;
this._schedulePreview();
});
}
…
s146727 Input v12c val blurRadiusValueUseful 0.21 blurRadiusValueElementUseful 0.83 Humanify better Present Pre-rename JavaScript · s146727 / v12c ×
Declaration · line 4246 …
super("blur-overlay", "blur-ok", "blur-cancel");
const v12b = document.getElementById("blur-radius");
const v12c = document.getElementById("blur-radius-val");
v12b.addEventListener("input", () => {
v12c.textContent = v12b.value;
this._schedulePreview();
});
}
_resetSliders() {
document.getElementById("blur-radius").value = 0;
…
s147084 Input v12d data sourcePixelDataUseful 0.72 pixelDataUseful 0.78 Both useful Present Preference confidence is low. Pre-rename JavaScript · s147084 / v12d ×
Declaration · line 4256 …
document.getElementById("blur-radius-val").textContent = "0";
}
_transformPixels(v12d , v12e) {
const v12f = parseFloat(document.getElementById("blur-radius").value);
if (v12f < 0.5) return;
if (v12e) {
const v12g = new Uint8ClampedArray(v12d);
const v12h = new ImageData(v12g, this._doc.width, this._doc.height);
… Reference · line 4265 …
for (let v12i = 0; v12i < v12e.length; v12i++) {
if (v12e[v12i]) {
v12d [v12i * 4] = v12g[v12i * 4];
v12d[v12i * 4 + 1] = v12g[v12i * 4 + 1];
v12d[v12i * 4 + 2] = v12g[v12i * 4 + 2];
v12d[v12i * 4 + 3] = v12g[v12i * 4 + 3];
}
}
} else {
const v12j = new ImageData(v12d, this._doc.width, this._doc.height);
…
s147090 Input v12e mask pixelMaskUseful 0.71 selectionMaskUseful 0.66 Both useful Present Preference confidence is low. Pre-rename JavaScript · s147090 / v12e ×
Declaration · line 4256 …
document.getElementById("blur-radius-val").textContent = "0";
}
_transformPixels(v12d, v12e ) {
const v12f = parseFloat(document.getElementById("blur-radius").value);
if (v12f < 0.5) return;
if (v12e) {
const v12g = new Uint8ClampedArray(v12d);
const v12h = new ImageData(v12g, this._doc.width, this._doc.height);
… Reference · line 4263 …
const v12h = new ImageData(v12g, this._doc.width, this._doc.height);
v117(v12h, v12f);
for (let v12i = 0; v12i < v12e .length; v12i++) {
if (v12e[v12i]) {
v12d[v12i * 4] = v12g[v12i * 4];
v12d[v12i * 4 + 1] = v12g[v12i * 4 + 1];
v12d[v12i * 4 + 2] = v12g[v12i * 4 + 2];
v12d[v12i * 4 + 3] = v12g[v12i * 4 + 3];
…
s147110 Input v12f radius blurRadiusUseful 0.86 blurRadiusUseful 0.86 Both useful Present Pre-rename JavaScript · s147110 / v12f ×
Declaration · line 4257 …
document.getElementById("blur-radius-val").textContent = "0";
}
_transformPixels(v12d, v12e) {
const v12f = parseFloat(document.getElementById("blur-radius").value);
if (v12f < 0.5) return;
if (v12e) {
const v12g = new Uint8ClampedArray(v12d);
const v12h = new ImageData(v12g, this._doc.width, this._doc.height);
v117(v12h, v12f);
… Reference · line 4273 …
const v12j = new ImageData(v12d, this._doc.width, this._doc.height);
v117(v12j, v12f );
}
}
};
var v12k = class extends vzl {
constructor() {
super("sharpen-overlay", "sharpen-ok", "sharpen-cancel");
const v12l = document.getElementById("sharpen-radius");
const v12m = document.getElementById("sharpen-amount");
…
s147237 Input v12g copy clampedArrayCopyUseful 0.67 clampedArrayUseful 0.51 Both useful Present Usefulness probability is near the provisional 0.5 boundary. Preference confidence is low. Pre-rename JavaScript · s147237 / v12g ×
Declaration · line 4260 …
const v12f = parseFloat(document.getElementById("blur-radius").value);
if (v12f < 0.5) return;
if (v12e) {
const v12g = new Uint8ClampedArray(v12d);
const v12h = new ImageData(v12g, this._doc.width, this._doc.height);
v117(v12h, v12f);
for (let v12i = 0; v12i < v12e.length; v12i++) {
if (v12e[v12i]) {
v12d[v12i * 4] = v12g[v12i * 4];
… Reference · line 4266 …
if (v12e[v12i]) {
v12d[v12i * 4] = v12g[v12i * 4];
v12d[v12i * 4 + 1] = v12g [v12i * 4 + 1];
v12d[v12i * 4 + 2] = v12g[v12i * 4 + 2];
v12d[v12i * 4 + 3] = v12g[v12i * 4 + 3];
}
}
} else {
const v12j = new ImageData(v12d, this._doc.width, this._doc.height);
v117(v12j, v12f);
…
s147287 Input v12h tmpImg blurImageDataWithPreviewUseful 0.16 imageDataUseful 0.57 Humanify better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s147287 / v12h ×
Declaration · line 4261 …
if (v12f < 0.5) return;
if (v12e) {
const v12g = new Uint8ClampedArray(v12d);
const v12h = new ImageData(v12g, this._doc.width, this._doc.height);
v117(v12h, v12f);
for (let v12i = 0; v12i < v12e.length; v12i++) {
if (v12e[v12i]) {
v12d[v12i * 4] = v12g[v12i * 4];
v12d[v12i * 4 + 1] = v12g[v12i * 4 + 1];
…
s147393 Input v12i i maskIndexUseful 0.55 iUseful 0.61 Both useful Present Usefulness probability is near the provisional 0.5 boundary. Preference confidence is low. Pre-rename JavaScript · s147393 / v12i ×
Declaration · line 4263 …
const v12h = new ImageData(v12g, this._doc.width, this._doc.height);
v117(v12h, v12f);
for (let v12i = 0; v12i < v12e.length; v12i++) {
if (v12e[v12i]) {
v12d[v12i * 4] = v12g[v12i * 4];
v12d[v12i * 4 + 1] = v12g[v12i * 4 + 1];
v12d[v12i * 4 + 2] = v12g[v12i * 4 + 2];
v12d[v12i * 4 + 3] = v12g[v12i * 4 + 3];
…
s147716 Input v12j tmpImg blurImageDataDirectUseful 0.21 imageDataUseful 0.46 Both poor Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s147716 / v12j ×
Declaration · line 4272 …
v12d[v12i * 4 + 3] = v12g[v12i * 4 + 3];
}
}
} else {
const v12j = new ImageData(v12d, this._doc.width, this._doc.height);
v117(v12j, v12f);
}
}
};
var v12k = class extends vzl {
constructor() {
super("sharpen-overlay", "sharpen-ok", "sharpen-cancel");
const v12l = document.getElementById("sharpen-radius");
…
s147830 Input v12k SharpenDialog SharpenDialogUseful 0.87 eventEmitter2Useful 0.02 FlowName better Absent Pre-rename JavaScript · s147830 / v12k ×
Declaration · line 4277 …
const v12j = new ImageData(v12d, this._doc.width, this._doc.height);
v117(v12j, v12f);
}
}
};
var v12k = class extends vzl {
constructor() {
super("sharpen-overlay", "sharpen-ok", "sharpen-cancel");
const v12l = document.getElementById("sharpen-radius");
const v12m = document.getElementById("sharpen-amount");
const v12n = document.getElementById("sharpen-radius-val");
… Reference · line 4389 …
this.hslDialog = new v10e();
this.blurDialog = new v12a();
this.sharpenDialog = new v12k ();
this.posterizeDialog = new v12z();
this.thresholdDialog = new v137();
if (!this.docManager.restoreFromStorage()) {
this.docManager.createDoc(1280, 720, "Untitled", "white");
}
this._initCanvasEvents();
…
s147953 Input v12l rSlider sharpenRadiusInputUseful 0.83 radiusInputUseful 0.53 FlowName better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s147953 / v12l ×
Declaration · line 4280 …
constructor() {
super("sharpen-overlay", "sharpen-ok", "sharpen-cancel");
const v12l = document.getElementById("sharpen-radius");
const v12m = document.getElementById("sharpen-amount");
const v12n = document.getElementById("sharpen-radius-val");
const v12o = document.getElementById("sharpen-amount-val");
… Reference · line 4285 …
const v12o = document.getElementById("sharpen-amount-val");
const v12p = () => {
v12n.textContent = v12l .value;
v12o.textContent = v12m.value + "%";
this._schedulePreview();
};
v12l.addEventListener("input", v12p);
v12m.addEventListener("input", v12p);
}
_resetSliders() {
document.getElementById("sharpen-radius").value = 1;
…
s148015 Input v12m aSlider sharpenAmountInputUseful 0.86 sharpenAmountInputUseful 0.86 Both useful Present Pre-rename JavaScript · s148015 / v12m ×
Declaration · line 4281 …
super("sharpen-overlay", "sharpen-ok", "sharpen-cancel");
const v12l = document.getElementById("sharpen-radius");
const v12m = document.getElementById("sharpen-amount");
const v12n = document.getElementById("sharpen-radius-val");
const v12o = document.getElementById("sharpen-amount-val");
const v12p = () => {
v12n.textContent = v12l.value;
… Reference · line 4286 …
const v12p = () => {
v12n.textContent = v12l.value;
v12o.textContent = v12m .value + "%";
this._schedulePreview();
};
v12l.addEventListener("input", v12p);
v12m.addEventListener("input", v12p);
}
_resetSliders() {
document.getElementById("sharpen-radius").value = 1;
document.getElementById("sharpen-amount").value = 100;
…
s148077 Input v12n rVal sharpenRadiusValUseful 0.85 radiusValueElementUseful 0.74 FlowName better Present Pre-rename JavaScript · s148077 / v12n ×
Declaration · line 4282 …
const v12l = document.getElementById("sharpen-radius");
const v12m = document.getElementById("sharpen-amount");
const v12n = document.getElementById("sharpen-radius-val");
const v12o = document.getElementById("sharpen-amount-val");
const v12p = () => {
v12n.textContent = v12l.value;
v12o.textContent = v12m.value + "%";
this._schedulePreview();
…
s148143 Input v12o aVal sharpenAmountValUseful 0.86 amountValueDisplayUseful 0.72 FlowName better Present Pre-rename JavaScript · s148143 / v12o ×
Declaration · line 4283 …
const v12m = document.getElementById("sharpen-amount");
const v12n = document.getElementById("sharpen-radius-val");
const v12o = document.getElementById("sharpen-amount-val");
const v12p = () => {
v12n.textContent = v12l.value;
v12o.textContent = v12m.value + "%";
this._schedulePreview();
};
v12l.addEventListener("input", v12p);
…
s148209 Input v12p update updateSharpenLabelsUseful 0.64 updatePreviewUseful 0.35 FlowName better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s148209 / v12p ×
Declaration · line 4284 …
const v12n = document.getElementById("sharpen-radius-val");
const v12o = document.getElementById("sharpen-amount-val");
const v12p = () => {
v12n.textContent = v12l.value;
v12o.textContent = v12m.value + "%";
this._schedulePreview();
};
v12l.addEventListener("input", v12p);
v12m.addEventListener("input", v12p);
}
_resetSliders() {
…
s148758 Input v12q data pixelDataUseful 0.83 pixelDataUseful 0.83 Both useful Present Pre-rename JavaScript · s148758 / v12q ×
Declaration · line 4298 …
document.getElementById("sharpen-amount-val").textContent = "100%";
}
_transformPixels(v12q , v12r) {
const v12s = parseFloat(document.getElementById("sharpen-radius").value);
const v12t = parseInt(document.getElementById("sharpen-amount").value) / 100;
if (v12s < 0.5 || v12t === 0) return;
const v12u = new Uint8ClampedArray(v12q);
… Reference · line 4305 …
const v12v = new ImageData(v12u, this._doc.width, this._doc.height);
v117(v12v, v12s);
const v12w = v12r ? v12r.length : v12q .length / 4;
for (let v12x = 0; v12x < v12w; v12x++) {
if (v12r && !v12r[v12x]) continue;
const v12y = v12x * 4;
if (v12q[v12y + 3] === 0) continue;
v12q[v12y] = Math.max(0, Math.min(255, v12q[v12y] + v12t * (v12q[v12y] - v12u[v12y])));
…
s148764 Input v12r mask regionMaskUseful 0.70 selectionMaskUseful 0.64 Unsure Present Usefulness probability is near the provisional 0.5 boundary. Preference could not be determined. Preference confidence is low. Pre-rename JavaScript · s148764 / v12r ×
Declaration · line 4298 …
document.getElementById("sharpen-amount-val").textContent = "100%";
}
_transformPixels(v12q, v12r ) {
const v12s = parseFloat(document.getElementById("sharpen-radius").value);
const v12t = parseInt(document.getElementById("sharpen-amount").value) / 100;
if (v12s < 0.5 || v12t === 0) return;
const v12u = new Uint8ClampedArray(v12q);
… Reference · line 4305 …
const v12v = new ImageData(v12u, this._doc.width, this._doc.height);
v117(v12v, v12s);
const v12w = v12r ? v12r.length : v12q.length / 4;
for (let v12x = 0; v12x < v12w; v12x++) {
if (v12r && !v12r[v12x]) continue;
const v12y = v12x * 4;
if (v12q[v12y + 3] === 0) continue;
v12q[v12y] = Math.max(0, Math.min(255, v12q[v12y] + v12t * (v12q[v12y] - v12u[v12y])));
…
s148784 Input v12s radius sharpenRadiusUseful 0.90 sharpenRadiusUseful 0.90 Both useful Present Pre-rename JavaScript · s148784 / v12s ×
Declaration · line 4299 …
document.getElementById("sharpen-amount-val").textContent = "100%";
}
_transformPixels(v12q, v12r) {
const v12s = parseFloat(document.getElementById("sharpen-radius").value);
const v12t = parseInt(document.getElementById("sharpen-amount").value) / 100;
if (v12s < 0.5 || v12t === 0) return;
const v12u = new Uint8ClampedArray(v12q);
… Reference · line 4304 …
const v12v = new ImageData(v12u, this._doc.width, this._doc.height);
v117(v12v, v12s );
const v12w = v12r ? v12r.length : v12q.length / 4;
for (let v12x = 0; v12x < v12w; v12x++) {
if (v12r && !v12r[v12x]) continue;
const v12y = v12x * 4;
if (v12q[v12y + 3] === 0) continue;
v12q[v12y] = Math.max(0, Math.min(255, v12q[v12y] + v12t * (v12q[v12y] - v12u[v12y
…
s148864 Input v12t amount sharpenAmountUseful 0.83 sharpenAmountUseful 0.83 Both useful Present Pre-rename JavaScript · s148864 / v12t ×
Declaration · line 4300 …
const v12s = parseFloat(document.getElementById("sharpen-radius").value);
const v12t = parseInt(document.getElementById("sharpen-amount").value) / 100;
if (v12s < 0.5 || v12t === 0) return;
const v12u = new Uint8ClampedArray(v12q);
const v12v = new ImageData(v12u, this._doc.width, this._doc.height);
v117(v12v, v12s);
… Reference · line 4310 …
if (v12q[v12y + 3] === 0) continue;
v12q[v12y] = Math.max(0, Math.min(255, v12q[v12y] + v12t * (v12q[v12y] - v12u[v12y])));
v12q[v12y + 1] = Math.max(0, Math.min(255, v12q[v12y + 1] + v12t * (v12q[v12y + 1] - v12u[v12y + 1])));
v12q[v12y + 2] = Math.max(0, Math.min(255, v12q[v12y + 2] + v12t * (v12q[v12y + 2] - v12u[v12y + 2])));
…
s148992 Input v12u blurred originalPixelDataUseful 0.16 clonedDataUseful 0.46 Both poor Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s148992 / v12u ×
Declaration · line 4302 …
const v12t = parseInt(document.getElementById("sharpen-amount").value) / 100;
if (v12s < 0.5 || v12t === 0) return;
const v12u = new Uint8ClampedArray(v12q);
const v12v = new ImageData(v12u, this._doc.width, this._doc.height);
v117(v12v, v12s);
const v12w = v12r ? v12r.length : v12q.length / 4;
for (let v12x = 0; v12x < v12w; v12x++) {
if (v12r && !v12r[v12x]) continue;
… Reference · line 4310 …
if (v12q[v12y + 3] === 0) continue;
v12q[v12y] = Math.max(0, Math.min(255, v12q[v12y] + v12t * (v12q[v12y] - v12u [v12y])));
v12q[v12y + 1] = Math.max(0, Math.min(255, v12q[v12y + 1] + v12t * (v12q[v12y + 1] - v12u[v12y + 1])));
v12q[v12y + 2] = Math.max(0, Math.min(255, v12q[v12y + 2] + v12t * (v12q[v12y + 2] - v12u[v12y + 2])));
}
…
s149040 Input v12v tmpImg sharpenImageDataUseful 0.06 sharpenedImageDataUseful 0.29 Both poor Present Pre-rename JavaScript · s149040 / v12v ×
Declaration · line 4303 …
if (v12s < 0.5 || v12t === 0) return;
const v12u = new Uint8ClampedArray(v12q);
const v12v = new ImageData(v12u, this._doc.width, this._doc.height);
v117(v12v, v12s);
const v12w = v12r ? v12r.length : v12q.length / 4;
for (let v12x = 0; v12x < v12w; v12x++) {
if (v12r && !v12r[v12x]) continue;
const v12y = v12x * 4;
…
s149139 Input v12w len totalPixelsUseful 0.73 pixelCountUseful 0.76 Both useful Present Preference confidence is low. Pre-rename JavaScript · s149139 / v12w ×
Declaration · line 4305 …
const v12v = new ImageData(v12u, this._doc.width, this._doc.height);
v117(v12v, v12s);
const v12w = v12r ? v12r.length : v12q.length / 4;
for (let v12x = 0; v12x < v12w; v12x++) {
if (v12r && !v12r[v12x]) continue;
const v12y = v12x * 4;
if (v12q[v12y + 3] === 0) continue;
v12q[v12y] = Math.max(0, Math.min(255, v12q[v12y] + v12t * (v12q[v12y] - v12u[v12y])));
…
s149199 Input v12x i pixelIndexUseful 0.45 pixelIndexUseful 0.45 Both poor Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s149199 / v12x ×
Declaration · line 4306 …
v117(v12v, v12s);
const v12w = v12r ? v12r.length : v12q.length / 4;
for (let v12x = 0; v12x < v12w; v12x++) {
if (v12r && !v12r[v12x]) continue;
const v12y = v12x * 4;
if (v12q[v12y + 3] === 0) continue;
v12q[v12y] = Math.max(0, Math.min(255, v12q[v12y] + v12t * (v12q[v12y] - v12u[v12y])));
…
s149289 Input v12y pi channelOffsetUseful 0.17 pixelIndex2Useful 0.48 Both poor Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s149289 / v12y ×
Declaration · line 4308 …
for (let v12x = 0; v12x < v12w; v12x++) {
if (v12r && !v12r[v12x]) continue;
const v12y = v12x * 4;
if (v12q[v12y + 3] === 0) continue;
v12q[v12y] = Math.max(0, Math.min(255, v12q[v12y] + v12t * (v12q[v12y] - v12u[v12y])));
v12q[v12y + 1] = Math.max(0, Math.min(255, v12q[v12y + 1] + v12t * (v12q[v12y + 1] - v12u[v12y + 1])));
… Reference · line 4312 …
v12q[v12y + 1] = Math.max(0, Math.min(255, v12q[v12y + 1] + v12t * (v12q[v12y + 1] - v12u[v12y + 1])));
v12q[v12y + 2] = Math.max(0, Math.min(255, v12q[v12y + 2] + v12t * (v12q[v12y + 2] - v12u[v12y + 2])));
}
}
};
var v12z = class extends vzl {
constructor() {
super("posterize-overlay", "posterize-ok", "posterize-cancel");
…
s149695 Input v12z PosterizeDialog PosterizeDialogUseful 0.94 EventEmitter36Useful 0.03 FlowName better Absent Pre-rename JavaScript · s149695 / v12z ×
Declaration · line 4316 …
v12q[v12y + 2] = Math.max(0, Math.min(255, v12q[v12y + 2] + v12t * (v12q[v12y + 2] - v12u[v12y + 2])));
}
}
};
var v12z = class extends vzl {
constructor() {
super("posterize-overlay", "posterize-ok", "posterize-cancel");
const v130 = document.getElementById("posterize-levels");
const v131 = document.getElementById("posterize-levels-val");
… Reference · line 4390 …
this.blurDialog = new v12a();
this.sharpenDialog = new v12k();
this.posterizeDialog = new v12z ();
this.thresholdDialog = new v137();
if (!this.docManager.restoreFromStorage()) {
this.docManager.createDoc(1280, 720, "Untitled", "white");
}
this._initCanvasEvents();
this._initKeyboard();
this._initToolbox();
…
s149824 Input v130 slider posterizeLevelsSliderUseful 0.86 levelsRangeInputUseful 0.66 FlowName better Present Pre-rename JavaScript · s149824 / v130 ×
Declaration · line 4319 …
constructor() {
super("posterize-overlay", "posterize-ok", "posterize-cancel");
const v130 = document.getElementById("posterize-levels");
const v131 = document.getElementById("posterize-levels-val");
v130.addEventListener("input", () => {
v131.textContent = v130.value;
this._schedulePreview();
});
…
s149888 Input v131 val posterizeLevelsValueDisplayUseful 0.81 levelsValueElementUseful 0.71 Both useful Present Preference confidence is low. Pre-rename JavaScript · s149888 / v131 ×
Declaration · line 4320 …
super("posterize-overlay", "posterize-ok", "posterize-cancel");
const v130 = document.getElementById("posterize-levels");
const v131 = document.getElementById("posterize-levels-val");
v130.addEventListener("input", () => {
v131.textContent = v130.value;
this._schedulePreview();
});
}
_resetSliders() {
document.getElementById("posterize-levels").value = 4;
…
s150260 Input v132 data pixelsUseful 0.53 imageDataUseful 0.73 Humanify better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s150260 / v132 ×
Declaration · line 4330 …
document.getElementById("posterize-levels-val").textContent = "4";
}
_transformPixels(v132 , v133) {
const v134 = parseInt(document.getElementById("posterize-levels").value);
if (v134 < 2) return;
const v135 = 255 / (v134 - 1);
for (let v136 = 0; v136 < v132.length; v136 += 4) {
if (v132[v136 + 3] === 0) continue;
… Reference · line 4337 …
if (v132[v136 + 3] === 0) continue;
if (v133 && !v133[v136 / 4]) continue;
v132 [v136] = Math.round(Math.round(v132[v136] / v135) * v135);
v132[v136 + 1] = Math.round(Math.round(v132[v136 + 1] / v135) * v135);
v132[v136 + 2] = Math.round(Math.round(v132[v136 + 2] / v135) * v135);
}
}
};
var v137 = class extends vzl {
…
s150266 Input v133 mask maskDataUseful 0.48 selectionMaskUseful 0.63 Humanify better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s150266 / v133 ×
Declaration · line 4330 …
document.getElementById("posterize-levels-val").textContent = "4";
}
_transformPixels(v132, v133 ) {
const v134 = parseInt(document.getElementById("posterize-levels").value);
if (v134 < 2) return;
const v135 = 255 / (v134 - 1);
for (let v136 = 0; v136 < v132.length; v136 += 4) {
if (v132[v136 + 3] === 0) continue;
… Reference · line 4336 …
for (let v136 = 0; v136 < v132.length; v136 += 4) {
if (v132[v136 + 3] === 0) continue;
if (v133 && !v133[v136 / 4]) continue;
v132[v136] = Math.round(Math.round(v132[v136] / v135) * v135);
v132[v136 + 1] = Math.round(Math.round(v132[v136 + 1] / v135) * v135);
v132[v136 + 2] = Math.round(Math.round(v132[v136 + 2] / v135) * v135);
…
s150286 Input v134 levels levelsUseful 0.88 posterizeLevelsUseful 0.71 Both useful Present Preference confidence is low. Pre-rename JavaScript · s150286 / v134 ×
Declaration · line 4331 …
document.getElementById("posterize-levels-val").textContent = "4";
}
_transformPixels(v132, v133) {
const v134 = parseInt(document.getElementById("posterize-levels").value);
if (v134 < 2) return;
const v135 = 255 / (v134 - 1);
for (let v136 = 0; v136 < v132.length; v136 += 4) {
if (v132[v136 + 3] === 0) continue;
if (v133 && !v133[v136 / 4]) continue;
…
s150394 Input v135 step stepSizeUseful 0.78 levelStepUseful 0.74 Humanify better Present Pre-rename JavaScript · s150394 / v135 ×
Declaration · line 4333 …
const v134 = parseInt(document.getElementById("posterize-levels").value);
if (v134 < 2) return;
const v135 = 255 / (v134 - 1);
for (let v136 = 0; v136 < v132.length; v136 += 4) {
if (v132[v136 + 3] === 0) continue;
if (v133 && !v133[v136 / 4]) continue;
v132[v136] = Math.round(Math.round(v132[v136] / v135) * v135);
… Reference · line 4338 …
v132[v136] = Math.round(Math.round(v132[v136] / v135) * v135);
v132[v136 + 1] = Math.round(Math.round(v132[v136 + 1] / v135 ) * v135);
v132[v136 + 2] = Math.round(Math.round(v132[v136 + 2] / v135) * v135);
}
}
};
var v137 = class extends vzl {
constructor() {
super("threshold-overlay", "threshold-ok", "threshold-cancel");
const v138 = document.getElementById("threshold-level");
…
s150434 Input v136 i iUseful 0.52 iUseful 0.52 Both useful Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s150434 / v136 ×
Declaration · line 4334 …
const v134 = parseInt(document.getElementById("posterize-levels").value);
if (v134 < 2) return;
const v135 = 255 / (v134 - 1);
for (let v136 = 0; v136 < v132.length; v136 += 4) {
if (v132[v136 + 3] === 0) continue;
if (v133 && !v133[v136 / 4]) continue;
v132[v136] = Math.round(Math.round(v132[v136] / v135) * v135);
v132[v136 + 1] = Math.round(Math.round(v132[v136 + 1] / v135) * v135);
… Reference · line 4339 …
v132[v136 + 1] = Math.round(Math.round(v132[v136 + 1] / v135) * v135);
v132[v136 + 2] = Math.round(Math.round(v132[v136 + 2] / v135) * v135);
}
}
};
var v137 = class extends vzl {
constructor() {
super("threshold-overlay", "threshold-ok", "threshold-cancel");
const v138 = document.getElementById("threshold-level");
…
s150822 Input v137 ThresholdDialog ThresholdDialogUseful 0.93 EventEmitter37Useful 0.02 FlowName better Absent Pre-rename JavaScript · s150822 / v137 ×
Declaration · line 4343 …
v132[v136 + 2] = Math.round(Math.round(v132[v136 + 2] / v135) * v135);
}
}
};
var v137 = class extends vzl {
constructor() {
super("threshold-overlay", "threshold-ok", "threshold-cancel");
const v138 = document.getElementById("threshold-level");
const v139 = document.getElementById("threshold-level-val");
… Reference · line 4391 …
this.sharpenDialog = new v12k();
this.posterizeDialog = new v12z();
this.thresholdDialog = new v137 ();
if (!this.docManager.restoreFromStorage()) {
this.docManager.createDoc(1280, 720, "Untitled", "white");
}
this._initCanvasEvents();
this._initKeyboard();
this._initToolbox();
this._initClipboard();
…
s150951 Input v138 slider thresholdLevelInputUseful 0.71 thresholdInputUseful 0.58 FlowName better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s150951 / v138 ×
Declaration · line 4346 …
constructor() {
super("threshold-overlay", "threshold-ok", "threshold-cancel");
const v138 = document.getElementById("threshold-level");
const v139 = document.getElementById("threshold-level-val");
v138.addEventListener("input", () => {
v139.textContent = v138.value;
this._schedulePreview();
});
…
s151014 Input v139 val thresholdLevelValueDisplayUseful 0.79 thresholdValueDisplayUseful 0.78 Both useful Present Preference confidence is low. Pre-rename JavaScript · s151014 / v139 ×
Declaration · line 4347 …
super("threshold-overlay", "threshold-ok", "threshold-cancel");
const v138 = document.getElementById("threshold-level");
const v139 = document.getElementById("threshold-level-val");
v138.addEventListener("input", () => {
v139.textContent = v138.value;
this._schedulePreview();
});
}
_resetSliders() {
document.getElementById("threshold-level").value = 128;
…
s151387 Input v13a data pixelsUseful 0.76 imageDataUseful 0.71 Humanify better Present Pre-rename JavaScript · s151387 / v13a ×
Declaration · line 4357 …
document.getElementById("threshold-level-val").textContent = "128";
}
_transformPixels(v13a , v13b) {
const v13c = parseInt(document.getElementById("threshold-level").value);
for (let v13d = 0; v13d < v13a.length; v13d += 4) {
if (v13a[v13d + 3] === 0) continue;
if (v13b && !v13b[v13d / 4]) continue;
… Reference · line 4362 …
if (v13a[v13d + 3] === 0) continue;
if (v13b && !v13b[v13d / 4]) continue;
const v13e = v13a [v13d] * 0.299 + v13a[v13d + 1] * 0.587 + v13a[v13d + 2] * 0.114;
const v13f = v13e >= v13c ? 255 : 0;
v13a[v13d] = v13f;
v13a[v13d + 1] = v13f;
v13a[v13d + 2] = v13f;
}
}
};
var v13g = class {
…
s151393 Input v13b mask maskUseful 0.89 maskDataUseful 0.55 FlowName better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s151393 / v13b ×
Declaration · line 4357 …
document.getElementById("threshold-level-val").textContent = "128";
}
_transformPixels(v13a, v13b ) {
const v13c = parseInt(document.getElementById("threshold-level").value);
for (let v13d = 0; v13d < v13a.length; v13d += 4) {
if (v13a[v13d + 3] === 0) continue;
if (v13b && !v13b[v13d / 4]) continue;
const v13e = v13a[v13d] * 0.299 + v13a[v13d + 1] * 0.587 + v13a[v13d + 2] *
…
s151413 Input v13c level thresholdUseful 0.47 thresholdValueUseful 0.75 Humanify better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s151413 / v13c ×
Declaration · line 4358 …
document.getElementById("threshold-level-val").textContent = "128";
}
_transformPixels(v13a, v13b) {
const v13c = parseInt(document.getElementById("threshold-level").value);
for (let v13d = 0; v13d < v13a.length; v13d += 4) {
if (v13a[v13d + 3] === 0) continue;
if (v13b && !v13b[v13d / 4]) continue;
const v13e = v13a[v13d] * 0.299 + v13a[v13d + 1] * 0.587 + v13a[v13d + 2] * 0.114;
… Reference · line 4363 …
const v13e = v13a[v13d] * 0.299 + v13a[v13d + 1] * 0.587 + v13a[v13d + 2] * 0.114;
const v13f = v13e >= v13c ? 255 : 0;
v13a[v13d] = v13f;
v13a[v13d + 1] = v13f;
v13a[v13d + 2] = v13f;
}
}
};
var v13g = class {
constructor() {
v4i._app = this;
v4i._mouseX = 0;
v4i._mouseY = 0;
this.renderer = new v4j();
…
s151495 Input v13d i iUseful 0.61 pixelIndexUseful 0.55 Humanify better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s151495 / v13d ×
Declaration · line 4359 …
const v13c = parseInt(document.getElementById("threshold-level").value);
for (let v13d = 0; v13d < v13a.length; v13d += 4) {
if (v13a[v13d + 3] === 0) continue;
if (v13b && !v13b[v13d / 4]) continue;
const v13e = v13a[v13d] * 0.299 + v13a[v13d + 1] * 0.587 + v13a[v13d + 2] * 0.114;
const v13f = v13e >= v13c ? 255 : 0;
… Reference · line 4364 …
const v13e = v13a[v13d] * 0.299 + v13a[v13d + 1] * 0.587 + v13a[v13d + 2] * 0.114;
const v13f = v13e >= v13c ? 255 : 0;
v13a[v13d ] = v13f;
v13a[v13d + 1] = v13f;
v13a[v13d + 2] = v13f;
}
}
};
var v13g = class {
constructor() {
v4i._app = this;
v4i._mouseX = 0;
v4i._mouseY = 0;
this.renderer = new v4j();
this.toolManager = new vq7();
…
s151643 Input v13e gray grayscaleUseful 0.40 grayscaleValueUseful 0.55 Humanify better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s151643 / v13e ×
Declaration · line 4362 …
if (v13a[v13d + 3] === 0) continue;
if (v13b && !v13b[v13d / 4]) continue;
const v13e = v13a[v13d] * 0.299 + v13a[v13d + 1] * 0.587 + v13a[v13d + 2] * 0.114;
const v13f = v13e >= v13c ? 255 : 0;
v13a[v13d] = v13f;
v13a[v13d + 1] = v13f;
v13a[v13d + 2] = v13f;
}
}
};
var v13g = class {
…
s151734 Input v13f val thresholdedValueUseful 0.81 thresholdedValueUseful 0.81 Both useful Present Pre-rename JavaScript · s151734 / v13f ×
Declaration · line 4363 …
const v13e = v13a[v13d] * 0.299 + v13a[v13d + 1] * 0.587 + v13a[v13d + 2] * 0.114;
const v13f = v13e >= v13c ? 255 : 0;
v13a[v13d] = v13f;
v13a[v13d + 1] = v13f;
v13a[v13d + 2] = v13f;
}
}
};
var v13g = class {
constructor() {
v4i._app = this;
v4i._mouseX = 0;
v4i._mouseY = 0;
…
s151879 Input v13g App ApplicationUseful 0.86 eventEmitter3Useful 0.06 FlowName better Absent Pre-rename JavaScript · s151879 / v13g ×
Declaration · line 4370 …
v13a[v13d] = v13f;
v13a[v13d + 1] = v13f;
v13a[v13d + 2] = v13f;
}
}
};
var v13g = class {
constructor() {
v4i._app = this;
v4i._mouseX = 0;
v4i._mouseY = 0;
this.renderer = new v4j();
this.toolManager = new vq7();
this.colorSystem = new vrc();
this.layersPanel = new vsw();
… Reference · line 5859 …
}
}
};
window.addEventListener("DOMContentLoaded", () => {
window.app = new v13g ();
});
})();
s153367 Input v13h e contextMenuEventUseful 0.71 eventUseful 0.72 FlowName better Present Pre-rename JavaScript · s153367 / v13h ×
Declaration · line 4411 …
v4i.on("rotate:180", () => this.rotate180());
document.addEventListener("contextmenu", v13h => {
if (v13h.target.closest("#viewport")) v13h.preventDefault();
if (v13h.target.closest("#palette")) v13h.preventDefault();
});
window.addEventListener("beforeunload", () => {
this.docManager.saveToStorage();
…
s153735 Input v13i vp viewportElementUseful 0.90 viewportElementUseful 0.90 Both useful Present Pre-rename JavaScript · s153735 / v13i ×
Declaration · line 4423 …
get doc() {
return this.docManager.activeDoc;
}
_initCanvasEvents() {
const v13i = document.getElementById("viewport");
const v13j = document.getElementById("canvas-main");
let v13k = false;
let v13l = false;
let v13m = 0,
v13n = 0;
let v13o = null;
let v13p = false;
let v13q = 0,
… Reference · line 4451 …
v13x = null;
const v142 = this.doc;
if (!v142 || !v13t) return;
const v143 = v13i .getBoundingClientRect();
const v144 = v13v - v143.left;
const v145 = v13w - v143.top;
let v146 = 0,
v147 = 0;
if (v144 < v13y) v146 = v13z;else if (v144 > v143.width - v13y) v146 = -v13z;
if (v145 < v13y) v147 = v13z;else if (v145 > v143.height - v13y) v147 = -v13z
…
s153791 Input v13j mainCanvas canvasElementUseful 0.83 canvasElementUseful 0.83 Both useful Present Pre-rename JavaScript · s153791 / v13j ×
Declaration · line 4424 …
_initCanvasEvents() {
const v13i = document.getElementById("viewport");
const v13j = document.getElementById("canvas-main");
let v13k = false;
let v13l = false;
let v13m = 0,
v13n = 0;
let v13o = null;
let v13p = false;
let v13q = 0,
v13r = 0;
let v13s = null;
… Reference · line 4485 …
v13k = false;
if (!v13l) v13i.style.cursor = "crosshair";
}
});
v13j .addEventListener("pointerdown", v14c => {
const v14d = this.doc;
if (!v14d) return;
if (v13k && v14c.button === 0) {
v13l = true;
v13m = v14c.clientX - v14d.panX;
v13n = v14c.clientY - v14d.panY;
…
s153848 Input v13k spaceHeld isSpacePressedUseful 0.84 isDraggingUseful 0.10 FlowName better Present Pre-rename JavaScript · s153848 / v13k ×
Declaration · line 4425 …
const v13i = document.getElementById("viewport");
const v13j = document.getElementById("canvas-main");
let v13k = false;
let v13l = false;
let v13m = 0,
v13n = 0;
let v13o = null;
let v13p = false;
let v13q = 0,
v13r = 0;
let v13s = null;
let v13t = false;
let v13u = null;
let v13v = 0,
… Reference · line 4475 …
if (v14a.code === "Space" && !v14a.repeat && !v14a.target.closest("input, textarea, [contenteditable]")) {
v13k = true;
v13i.style.cursor = "grab";
}
});
document.addEventListener("keyup", v14b => {
if (v14b.code === "Space") {
v13k = false;
if (!v13l) v13i.style.cursor = "crosshair";
}
…
s153872 Input v13l spacePanning isDraggingMainUseful 0.29 isPanningUseful 0.76 Humanify better Present Pre-rename JavaScript · s153872 / v13l ×
Declaration · line 4426 …
const v13j = document.getElementById("canvas-main");
let v13k = false;
let v13l = false;
let v13m = 0,
v13n = 0;
let v13o = null;
let v13p = false;
let v13q = 0,
v13r = 0;
let v13s = null;
let v13t = false;
let v13u = null;
let v13v = 0,
v13w = 0;
… Reference · line 4482 …
document.addEventListener("keyup", v14b => {
if (v14b.code === "Space") {
v13k = false;
if (!v13l ) v13i.style.cursor = "crosshair";
}
});
v13j.addEventListener("pointerdown", v14c => {
const v14d = this.doc;
if (!v14d) return;
if (v13k && v14c.button === 0) {
v13l = true;
v13m = v14c.clientX - v14d.panX;
…
s153896 Input v13m spacePanStartX startXMainUseful 0.32 startXUseful 0.66 Humanify better Present Pre-rename JavaScript · s153896 / v13m ×
Declaration · line 4427 …
const v13j = document.getElementById("canvas-main");
let v13k = false;
let v13l = false;
let v13m = 0,
v13n = 0;
let v13o = null;
let v13p = false;
let v13q = 0,
v13r = 0;
let v13s = null;
let v13t = false;
let v13u = null;
let v13v = 0,
v13w = 0;
let v13x = null;
… Reference · line 4490 …
if (!v14d) return;
if (v13k && v14c.button === 0) {
v13l = true;
v13m = v14c.clientX - v14d.panX;
v13n = v14c.clientY - v14d.panY;
v13o = v14c.pointerId;
v13i.style.cursor = "grabbing";
v13j.setPointerCapture(v14c.pointerId);
return;
}
if (v14c.button === 1) {
…
s153914 Input v13n spacePanStartY startYMainUseful 0.27 startYUseful 0.51 Humanify better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s153914 / v13n ×
Declaration · line 4428 …
const v13j = document.getElementById("canvas-main");
let v13k = false;
let v13l = false;
let v13m = 0,
v13n = 0;
let v13o = null;
let v13p = false;
let v13q = 0,
v13r = 0;
let v13s = null;
let v13t = false;
let v13u = null;
let v13v = 0,
v13w = 0;
let v13x = null;
const v13y = 30;
… Reference · line 4491 …
if (v13k && v14c.button === 0) {
v13l = true;
v13m = v14c.clientX - v14d.panX;
v13n = v14c.clientY - v14d.panY;
v13o = v14c.pointerId;
v13i.style.cursor = "grabbing";
v13j.setPointerCapture(v14c.pointerId);
return;
}
if (v14c.button === 1) {
v13p = true;
…
s153934 Input v13o spacePanPointerId activePointerIdMainUseful 0.33 activeTouchUseful 0.13 Both poor Present Pre-rename JavaScript · s153934 / v13o ×
Declaration · line 4429 …
let v13k = false;
let v13l = false;
let v13m = 0,
v13n = 0;
let v13o = null;
let v13p = false;
let v13q = 0,
v13r = 0;
let v13s = null;
let v13t = false;
let v13u = null;
let v13v = 0,
v13w = 0;
let v13x = null;
const v13y = 30;
const v13z = 8;
… Reference · line 4492 …
v13m = v14c.clientX - v14d.panX;
v13n = v14c.clientY - v14d.panY;
v13o = v14c.pointerId;
v13i.style.cursor = "grabbing";
v13j.setPointerCapture(v14c.pointerId);
return;
}
if (v14c.button === 1) {
v13p = true;
v13q = v14c.clientX - v14d.panX;
…
s153957 Input v13p middlePanning isDraggingSecondaryUseful 0.36 isPanning2Useful 0.66 Humanify better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s153957 / v13p ×
Declaration · line 4430 …
let v13l = false;
let v13m = 0,
v13n = 0;
let v13o = null;
let v13p = false;
let v13q = 0,
v13r = 0;
let v13s = null;
let v13t = false;
let v13u = null;
let v13v = 0,
v13w = 0;
let v13x = null;
const v13y = 30;
const v13z = 8;
const v140 = () => {
… Reference · line 4498 …
v13j.setPointerCapture(v14c.pointerId);
return;
}
if (v14c.button === 1) {
v13p = true;
v13q = v14c.clientX - v14d.panX;
v13r = v14c.clientY - v14d.panY;
v13s = v14c.pointerId;
v13j.setPointerCapture(v14c.pointerId);
return;
}
if (v14c.button === 0 || v14c.button === 2) {
…
s153981 Input v13q middlePanStartX startXSecondaryUseful 0.25 touchStartXUseful 0.18 Both poor Present Pre-rename JavaScript · s153981 / v13q ×
Declaration · line 4431 …
let v13m = 0,
v13n = 0;
let v13o = null;
let v13p = false;
let v13q = 0,
v13r = 0;
let v13s = null;
let v13t = false;
let v13u = null;
let v13v = 0,
v13w = 0;
let v13x = null;
const v13y = 30;
const v13z = 8;
const v140 = () => {
if (v13x) {
… Reference · line 4499 …
return;
}
if (v14c.button === 1) {
v13p = true;
v13q = v14c.clientX - v14d.panX;
v13r = v14c.clientY - v14d.panY;
v13s = v14c.pointerId;
v13j.setPointerCapture(v14c.pointerId);
return;
}
if (v14c.button === 0 || v14c.button === 2) {
…
s153999 Input v13r middlePanStartY startYSecondaryUseful 0.31 startY2Useful 0.47 Both poor Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s153999 / v13r ×
Declaration · line 4432 …
v13n = 0;
let v13o = null;
let v13p = false;
let v13q = 0,
v13r = 0;
let v13s = null;
let v13t = false;
let v13u = null;
let v13v = 0,
v13w = 0;
let v13x = null;
const v13y = 30;
const v13z = 8;
const v140 = () => {
if (v13x) {
cancelAnimationFrame(v13x);
… Reference · line 4500 …
if (v14c.button === 1) {
v13p = true;
v13q = v14c.clientX - v14d.panX;
v13r = v14c.clientY - v14d.panY;
v13s = v14c.pointerId;
v13j.setPointerCapture(v14c.pointerId);
return;
}
if (v14c.button === 0 || v14c.button === 2) {
const v14e = v13i.getBoundingClientRect();
…
s154019 Input v13s middlePanPointerId activePointerIdSecondaryUseful 0.36 activeTouch2Useful 0.12 Both poor Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s154019 / v13s ×
Declaration · line 4433 …
let v13o = null;
let v13p = false;
let v13q = 0,
v13r = 0;
let v13s = null;
let v13t = false;
let v13u = null;
let v13v = 0,
v13w = 0;
let v13x = null;
const v13y = 30;
const v13z = 8;
const v140 = () => {
if (v13x) {
cancelAnimationFrame(v13x);
… Reference · line 4501 …
v13q = v14c.clientX - v14d.panX;
v13r = v14c.clientY - v14d.panY;
v13s = v14c.pointerId;
v13j.setPointerCapture(v14c.pointerId);
return;
}
if (v14c.button === 0 || v14c.button === 2) {
const v14e = v13i.getBoundingClientRect();
const {
x: v14f,
…
s154042 Input v13t toolDragging isSomeActiveFlagUseful 0.30 isPinchingUseful 0.07 Both poor Present Pre-rename JavaScript · s154042 / v13t ×
Declaration · line 4434 …
let v13p = false;
let v13q = 0,
v13r = 0;
let v13s = null;
let v13t = false;
let v13u = null;
let v13v = 0,
v13w = 0;
let v13x = null;
const v13y = 30;
const v13z = 8;
const v140 = () => {
if (v13x) {
cancelAnimationFrame(v13x);
v13x = null;
… Reference · line 4450 …
const v141 = () => {
v13x = null;
const v142 = this.doc;
if (!v142 || !v13t ) return;
const v143 = v13i.getBoundingClientRect();
const v144 = v13v - v143.left;
const v145 = v13w - v143.top;
let v146 = 0,
v147 = 0;
if (v144 < v13y) v146 = v13z;else if (v144 > v143.width - v13y) v146 = -v13z;
…
s154066 Input v13u toolPointerId activePointerIdThirdUseful 0.22 activeTouchIdUseful 0.14 Both poor Present Pre-rename JavaScript · s154066 / v13u ×
Declaration · line 4435 …
let v13q = 0,
v13r = 0;
let v13s = null;
let v13t = false;
let v13u = null;
let v13v = 0,
v13w = 0;
let v13x = null;
const v13y = 30;
const v13z = 8;
const v140 = () => {
if (v13x) {
cancelAnimationFrame(v13x);
v13x = null;
}
};
… Reference · line 4513 …
this.toolManager.activeTool?.onPointerDown(v14d, v14f, v14g, v14c);
v13t = true;
v13u = v14c.pointerId;
v13v = v14c.clientX;
v13w = v14c.clientY;
v13j.setPointerCapture(v14c.pointerId);
}
});
v13j.addEventListener("pointermove", v14h => {
const v14i = this.doc;
if (!v14i) return;
…
s154089 Input v13v lastClientX startXThirdUseful 0.13 touchStartX2Useful 0.14 Both poor Present Pre-rename JavaScript · s154089 / v13v ×
Declaration · line 4436 …
v13r = 0;
let v13s = null;
let v13t = false;
let v13u = null;
let v13v = 0,
v13w = 0;
let v13x = null;
const v13y = 30;
const v13z = 8;
const v140 = () => {
if (v13x) {
cancelAnimationFrame(v13x);
v13x = null;
}
};
const v141 = () => {
… Reference · line 4452 …
if (!v142 || !v13t) return;
const v143 = v13i.getBoundingClientRect();
const v144 = v13v - v143.left;
const v145 = v13w - v143.top;
let v146 = 0,
v147 = 0;
if (v144 < v13y) v146 = v13z;else if (v144 > v143.width - v13y) v146 = -v13z;
if (v145 < v13y) v147 = v13z;else if (v145 > v143.height - v13y) v147 = -v13z;
…
s154107 Input v13w lastClientY startYThirdUseful 0.13 startY3Useful 0.33 Both poor Present Pre-rename JavaScript · s154107 / v13w ×
Declaration · line 4437 …
let v13s = null;
let v13t = false;
let v13u = null;
let v13v = 0,
v13w = 0;
let v13x = null;
const v13y = 30;
const v13z = 8;
const v140 = () => {
if (v13x) {
cancelAnimationFrame(v13x);
v13x = null;
}
};
const v141 = () => {
v13x = null;
… Reference · line 4453 …
const v143 = v13i.getBoundingClientRect();
const v144 = v13v - v143.left;
const v145 = v13w - v143.top;
let v146 = 0,
v147 = 0;
if (v144 < v13y) v146 = v13z;else if (v144 > v143.width - v13y) v146 = -v13z;
if (v145 < v13y) v147 = v13z;else if (v145 > v143.height - v13y) v147 = -v13z;
if (v146 || v147) {
…
s154127 Input v13x autoPanTimer animationFrameIdUseful 0.75 touchMoveHandlerUseful 0.03 FlowName better Present Pre-rename JavaScript · s154127 / v13x ×
Declaration · line 4438 …
let v13t = false;
let v13u = null;
let v13v = 0,
v13w = 0;
let v13x = null;
const v13y = 30;
const v13z = 8;
const v140 = () => {
if (v13x) {
cancelAnimationFrame(v13x);
v13x = null;
}
};
const v141 = () => {
v13x = null;
const v142 = this.doc;
… Reference · line 4470 …
this.toolManager.activeTool?.onPointerMove(v142, v148, v149, {
button: 0
});
v4i.emit("canvas:dirty");
v13x = requestAnimationFrame(v141);
}
};
document.addEventListener("keydown", v14a => {
if (v14a.code === "Space" && !v14a.repeat && !v14a.target.closest("input, textarea, [contenteditable]")) {
v13k = true;
…
s154152 Input v13y AUTO_PAN_EDGE edgeThresholdUseful 0.85 thresholdValueUseful 0.51 FlowName better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s154152 / v13y ×
Declaration · line 4439 …
let v13u = null;
let v13v = 0,
v13w = 0;
let v13x = null;
const v13y = 30;
const v13z = 8;
const v140 = () => {
if (v13x) {
cancelAnimationFrame(v13x);
v13x = null;
}
};
const v141 = () => {
v13x = null;
const v142 = this.doc;
if (!v142 || !v13t) return;
… Reference · line 4456 …
const v145 = v13w - v143.top;
let v146 = 0,
v147 = 0;
if (v144 < v13y ) v146 = v13z;else if (v144 > v143.width - v13y) v146 = -v13z;
if (v145 < v13y) v147 = v13z;else if (v145 > v143.height - v13y) v147 = -v13z;
if (v146 || v147) {
v142.panX += v146;
v142.panY += v147;
const {
…
s154175 Input v13z AUTO_PAN_SPEED scrollSpeedUseful 0.66 panThresholdUseful 0.07 FlowName better Present Pre-rename JavaScript · s154175 / v13z ×
Declaration · line 4440 …
let v13v = 0,
v13w = 0;
let v13x = null;
const v13y = 30;
const v13z = 8;
const v140 = () => {
if (v13x) {
cancelAnimationFrame(v13x);
v13x = null;
}
};
const v141 = () => {
v13x = null;
const v142 = this.doc;
if (!v142 || !v13t) return;
… Reference · line 4456 …
const v145 = v13w - v143.top;
let v146 = 0,
v147 = 0;
if (v144 < v13y) v146 = v13z ;else if (v144 > v143.width - v13y) v146 = -v13z;
if (v145 < v13y) v147 = v13z;else if (v145 > v143.height - v13y) v147 = -v13z;
if (v146 || v147) {
v142.panX += v146;
v142.panY += v147;
const {
…
s154197 Input v140 stopAutoPan cancelScrollAnimationUseful 0.21 handleResizeUseful 0.04 Both poor Present Pre-rename JavaScript · s154197 / v140 ×
Declaration · line 4441 …
v13w = 0;
let v13x = null;
const v13y = 30;
const v13z = 8;
const v140 = () => {
if (v13x) {
cancelAnimationFrame(v13x);
v13x = null;
}
};
const v141 = () => {
v13x = null;
const v142 = this.doc;
if (!v142 || !v13t) return;
const v143 = v13i.getBoundingClientRect();
… Reference · line 4565 …
v13x = requestAnimationFrame(v141);
} else if (!v14t) {
v140 ();
}
}
}
});
v13j.addEventListener("pointerup", v14u => {
const v14v = this.doc;
if (!v14v) return;
if (v13l && v14u.pointerId === v13o) {
v13l = false;
v13o = null;
…
s154324 Input v141 tickAutoPan cancelAnimationLoopUseful 0.15 handleResize2Useful 0.04 Both poor Absent Pre-rename JavaScript · s154324 / v141 ×
Declaration · line 4447 …
cancelAnimationFrame(v13x);
v13x = null;
}
};
const v141 = () => {
v13x = null;
const v142 = this.doc;
if (!v142 || !v13t) return;
const v143 = v13i.getBoundingClientRect();
const v144 = v13v - v143.left;
const v145 = v13w - v143.top;
let v146 = 0,
… Reference · line 4470 …
button: 0
});
v4i.emit("canvas:dirty");
v13x = requestAnimationFrame(v141 );
}
};
document.addEventListener("keydown", v14a => {
if (v14a.code === "Space" && !v14a.repeat && !v14a.target.closest("input, textarea, [contenteditable]")) {
v13k = true;
v13i.style.cursor = "grab";
…
s154374 Input v142 doc documentStateUseful 0.40 documentInstanceUseful 0.63 Humanify better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s154374 / v142 ×
Declaration · line 4449 …
v13x = null;
}
};
const v141 = () => {
v13x = null;
const v142 = this.doc;
if (!v142 || !v13t) return;
const v143 = v13i.getBoundingClientRect();
const v144 = v13v - v143.left;
const v145 = v13w - v143.top;
let v146 = 0,
v147 = 0;
if (v144 < v13y) v146 = v13z;else if (v144 > v143.width - v13y) v146 = -v13z;
… Reference · line 4459 …
if (v145 < v13y) v147 = v13z;else if (v145 > v143.height - v13y) v147 = -v13z;
if (v146 || v147) {
v142 .panX += v146;
v142.panY += v147;
const {
x: v148,
y: v149
} = v142.screenToDoc(v144, v145);
document.getElementById("status-coords").textContent = `${Math.floor(v148)}, ${Math.floor(v149)}`;
…
s154441 Input v143 rect viewportRectUseful 0.81 boundingRectUseful 0.62 Both useful Present Usefulness probability is near the provisional 0.5 boundary. Preference confidence is low. Pre-rename JavaScript · s154441 / v143 ×
Declaration · line 4451 …
v13x = null;
const v142 = this.doc;
if (!v142 || !v13t) return;
const v143 = v13i.getBoundingClientRect();
const v144 = v13v - v143.left;
const v145 = v13w - v143.top;
let v146 = 0,
v147 = 0;
if (v144 < v13y) v146 = v13z;else if (v144 > v143.width - v13y) v146 = -v13z;
… Reference · line 4457 …
if (v144 < v13y) v146 = v13z;else if (v144 > v143.width - v13y) v146 = -v13z;
if (v145 < v13y) v147 = v13z;else if (v145 > v143 .height - v13y) v147 = -v13z;
if (v146 || v147) {
v142.panX += v146;
v142.panY += v147;
const {
x: v148,
y: v149
} = v142.screenToDoc(v144, v145);
document.getElementById("status-coords").textContent = `${Math.floor(v148)}, ${Math.flo
…
s154492 Input v144 cx relativeXUseful 0.72 offsetXUseful 0.58 Both useful Present Usefulness probability is near the provisional 0.5 boundary. Preference confidence is low. Pre-rename JavaScript · s154492 / v144 ×
Declaration · line 4452 …
if (!v142 || !v13t) return;
const v143 = v13i.getBoundingClientRect();
const v144 = v13v - v143.left;
const v145 = v13w - v143.top;
let v146 = 0,
v147 = 0;
if (v144 < v13y) v146 = v13z;else if (v144 > v143.width - v13y) v146 = -v13z;
if (v145 < v13y) v147 = v13z;else if (v145 > v143.height - v13y) v147 = -v13z;
… Reference · line 4464 …
const {
x: v148,
y: v149
} = v142.screenToDoc(v144 , v145);
document.getElementById("status-coords").textContent = `${Math.floor(v148)}, ${Math.floor(v149)}`;
this.toolManager.activeTool?.onPointerMove(v142, v148, v149, {
button: 0
});
v4i.emit("canvas:dirty");
…
s154531 Input v145 cy relativeYUseful 0.77 relativeYUseful 0.77 Both useful Present Pre-rename JavaScript · s154531 / v145 ×
Declaration · line 4453 …
const v143 = v13i.getBoundingClientRect();
const v144 = v13v - v143.left;
const v145 = v13w - v143.top;
let v146 = 0,
v147 = 0;
if (v144 < v13y) v146 = v13z;else if (v144 > v143.width - v13y) v146 = -v13z;
if (v145 < v13y) v147 = v13z;else if (v145 > v143.height - v13y) v147 = -v13z;
if (v146 || v147) {
… Reference · line 4464 …
const {
x: v148,
y: v149
} = v142.screenToDoc(v144, v145 );
document.getElementById("status-coords").textContent = `${Math.floor(v148)}, ${Math.floor(v149)}`;
this.toolManager.activeTool?.onPointerMove(v142, v148, v149, {
button: 0
});
v4i.emit("canvas:dirty");
…
s154567 Input v146 dx panXDeltaUseful 0.55 panDeltaXUseful 0.75 Both useful Present Usefulness probability is near the provisional 0.5 boundary. Preference confidence is low. Pre-rename JavaScript · s154567 / v146 ×
Declaration · line 4454 …
const v143 = v13i.getBoundingClientRect();
const v144 = v13v - v143.left;
const v145 = v13w - v143.top;
let v146 = 0,
v147 = 0;
if (v144 < v13y) v146 = v13z;else if (v144 > v143.width - v13y) v146 = -v13z;
if (v145 < v13y) v147 = v13z;else if (v145 > v143.height - v13y) v147 = -v13z;
if (v146 || v147) {
v142.panX += v146;
…
s154587 Input v147 dy panYDeltaUseful 0.51 deltaYUseful 0.68 Both useful Present Usefulness probability is near the provisional 0.5 boundary. Preference confidence is low. Pre-rename JavaScript · s154587 / v147 ×
Declaration · line 4455 …
const v144 = v13v - v143.left;
const v145 = v13w - v143.top;
let v146 = 0,
v147 = 0;
if (v144 < v13y) v146 = v13z;else if (v144 > v143.width - v13y) v146 = -v13z;
if (v145 < v13y) v147 = v13z;else if (v145 > v143.height - v13y) v147 = -v13z;
if (v146 || v147) {
v142.panX += v146;
v142.panY += v147;
…
s154889 Input v148 x docXUseful 0.55 docXUseful 0.55 Both useful Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s154889 / v148 ×
Declaration · line 4462 …
v142.panX += v146;
v142.panY += v147;
const {
x: v148 ,
y: v149
} = v142.screenToDoc(v144, v145);
document.getElementById("status-coords").textContent = `${Math.floor(v148)}, ${Math.floor(v149)}`;
this.toolManager.activeTool?.onPointerMove(v142, v148, v149, {
…
s154910 Input v149 y docYUseful 0.55 docYUseful 0.55 Both useful Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s154910 / v149 ×
Declaration · line 4463 …
v142.panX += v146;
v142.panY += v147;
const {
x: v148,
y: v149
} = v142.screenToDoc(v144, v145);
document.getElementById("status-coords").textContent = `${Math.floor(v148)}, ${Math.floor(v149)}`;
this.toolManager.activeTool?.onPointerMove(v142, v148, v149, {
button: 0
…
s155321 Input v14a e eventUseful 0.83 eventUseful 0.83 Both useful Present Pre-rename JavaScript · s155321 / v14a ×
Declaration · line 4473 …
v13x = requestAnimationFrame(v141);
}
};
document.addEventListener("keydown", v14a => {
if (v14a.code === "Space" && !v14a.repeat && !v14a.target.closest("input, textarea, [contenteditable]")) {
v13k = true;
v13i.style.cursor = "grab";
}
});
document.addEventListener("keyup", v14b => {
…
s155568 Input v14b e keyEventUseful 0.70 eventUseful 0.71 FlowName better Present Pre-rename JavaScript · s155568 / v14b ×
Declaration · line 4479 …
v13i.style.cursor = "grab";
}
});
document.addEventListener("keyup", v14b => {
if (v14b.code === "Space") {
v13k = false;
if (!v13l) v13i.style.cursor = "crosshair";
}
});
v13j.addEventListener("pointerdown", v14c => {
const v14d = this.doc;
if (!v14d) return;
…
s155756 Input v14c e pointerEventUseful 0.84 eventUseful 0.72 FlowName better Present Pre-rename JavaScript · s155756 / v14c ×
Declaration · line 4485 …
if (!v13l) v13i.style.cursor = "crosshair";
}
});
v13j.addEventListener("pointerdown", v14c => {
const v14d = this.doc;
if (!v14d) return;
if (v13k && v14c.button === 0) {
v13l = true;
v13m = v14c.clientX - v14d.panX;
v13n = v14c.clientY - v14d.panY;
v13o = v14c.pointerId;
… Reference · line 4494 …
v13o = v14c.pointerId;
v13i.style.cursor = "grabbing";
v13j.setPointerCapture(v14c .pointerId);
return;
}
if (v14c.button === 1) {
v13p = true;
v13q = v14c.clientX - v14d.panX;
v13r = v14c.clientY - v14d.panY;
v13s = v14c.pointerId;
v13j.setPointerCapture(v14c.pointerId);
…
s155780 Input v14d doc documentInstanceUseful 0.67 documentStateUseful 0.28 FlowName better Present Pre-rename JavaScript · s155780 / v14d ×
Declaration · line 4486 …
if (!v13l) v13i.style.cursor = "crosshair";
}
});
v13j.addEventListener("pointerdown", v14c => {
const v14d = this.doc;
if (!v14d) return;
if (v13k && v14c.button === 0) {
v13l = true;
v13m = v14c.clientX - v14d.panX;
v13n = v14c.clientY - v14d.panY;
v13o = v14c.pointerId;
v13i.style.cursor = "grabbing";
… Reference · line 4499 …
}
if (v14c.button === 1) {
v13p = true;
v13q = v14c.clientX - v14d .panX;
v13r = v14c.clientY - v14d.panY;
v13s = v14c.pointerId;
v13j.setPointerCapture(v14c.pointerId);
return;
}
if (v14c.button === 0 || v14c.button === 2) {
const v14e = v13i.getBoundingClientRect();
…
s156450 Input v14e rect viewportRectUseful 0.83 boundingRectUseful 0.64 FlowName better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s156450 / v14e ×
Declaration · line 4506 …
return;
}
if (v14c.button === 0 || v14c.button === 2) {
const v14e = v13i.getBoundingClientRect();
const {
x: v14f,
y: v14g
} = v14d.screenToDoc(v14c.clientX - v14e.left, v14c.clientY - v14e.top);
this.toolManager.activeTool?.onPointerDown(v14d, v14f, v14g, v14c);
…
s156520 Input v14f x docXUseful 0.81 docXUseful 0.81 Both useful Present Pre-rename JavaScript · s156520 / v14f ×
Declaration · line 4508 …
if (v14c.button === 0 || v14c.button === 2) {
const v14e = v13i.getBoundingClientRect();
const {
x: v14f ,
y: v14g
} = v14d.screenToDoc(v14c.clientX - v14e.left, v14c.clientY - v14e.top);
this.toolManager.activeTool?.onPointerDown(v14d, v14f, v14g, v14c);
v13t = true;
v13u = v14c.pointerId;
…
s156541 Input v14g y docYUseful 0.81 docYUseful 0.81 Both useful Present Pre-rename JavaScript · s156541 / v14g ×
Declaration · line 4509 …
const v14e = v13i.getBoundingClientRect();
const {
x: v14f,
y: v14g
} = v14d.screenToDoc(v14c.clientX - v14e.left, v14c.clientY - v14e.top);
this.toolManager.activeTool?.onPointerDown(v14d, v14f, v14g, v14c);
v13t = true;
v13u = v14c.pointerId;
v13v = v14c.clientX;
…
s156938 Input v14h e pointerEventUseful 0.86 pointerEventUseful 0.86 Both useful Present Pre-rename JavaScript · s156938 / v14h ×
Declaration · line 4519 …
v13j.setPointerCapture(v14c.pointerId);
}
});
v13j.addEventListener("pointermove", v14h => {
const v14i = this.doc;
if (!v14i) return;
v4i._mouseX = v14h.clientX;
v4i._mouseY = v14h.clientY;
if (v13l && v14h.pointerId === v13o) {
v14i.panX = v14h.clientX - v13m;
v14i.panY = v14h.clientY - v13n;
… Reference · line 4530 …
v14i.panY = v14h.clientY - v13n;
v4i.emit("canvas:dirty");
return;
}
if (v13p && v14h .pointerId === v13s) {
v14i.panX = v14h.clientX - v13q;
v14i.panY = v14h.clientY - v13r;
v4i.emit("canvas:dirty");
if (v13t) {
const v14j = v13i.getBoundingClientRect();
const v14k = v13v - v14j.left;
…
s156962 Input v14i doc documentInstanceUseful 0.61 documentStateUseful 0.50 Both useful Present Usefulness probability is near the provisional 0.5 boundary. Preference confidence is low. Pre-rename JavaScript · s156962 / v14i ×
Declaration · line 4520 …
v13j.setPointerCapture(v14c.pointerId);
}
});
v13j.addEventListener("pointermove", v14h => {
const v14i = this.doc;
if (!v14i) return;
v4i._mouseX = v14h.clientX;
v4i._mouseY = v14h.clientY;
if (v13l && v14h.pointerId === v13o) {
v14i.panX = v14h.clientX - v13m;
v14i.panY = v14h.clientY - v13n;
… Reference · line 4531 …
v4i.emit("canvas:dirty");
return;
}
if (v13p && v14h.pointerId === v13s) {
v14i .panX = v14h.clientX - v13q;
v14i.panY = v14h.clientY - v13r;
v4i.emit("canvas:dirty");
if (v13t) {
const v14j = v13i.getBoundingClientRect();
const v14k = v13v - v14j.left;
const v14l = v13w - v14j.top;
…
s157484 Input v14j rect viewportRectUseful 0.81 boundingRectUseful 0.59 Both useful Present Usefulness probability is near the provisional 0.5 boundary. Preference confidence is low. Pre-rename JavaScript · s157484 / v14j ×
Declaration · line 4535 …
v14i.panY = v14h.clientY - v13r;
v4i.emit("canvas:dirty");
if (v13t) {
const v14j = v13i.getBoundingClientRect();
const v14k = v13v - v14j.left;
const v14l = v13w - v14j.top;
const {
x: v14m,
y: v14n
} = v14i.screenToDoc(v14k, v14l);
this.toolManager.activeTool?.onPointerMove(v14i, v14m, v14n, {
…
s157539 Input v14k cx relativeXUseful 0.69 relativeXUseful 0.69 Both useful Present Pre-rename JavaScript · s157539 / v14k ×
Declaration · line 4536 …
if (v13t) {
const v14j = v13i.getBoundingClientRect();
const v14k = v13v - v14j.left;
const v14l = v13w - v14j.top;
const {
x: v14m,
y: v14n
} = v14i.screenToDoc(v14k, v14l);
this.toolManager.activeTool?.onPointerMove(v14i, v14m, v14n, {
…
s157582 Input v14l cy relativeYUseful 0.62 relativeYUseful 0.62 Both useful Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s157582 / v14l ×
Declaration · line 4537 …
const v14j = v13i.getBoundingClientRect();
const v14k = v13v - v14j.left;
const v14l = v13w - v14j.top;
const {
x: v14m,
y: v14n
} = v14i.screenToDoc(v14k, v14l);
this.toolManager.activeTool?.onPointerMove(v14i, v14m, v14n, {
button: 0
});
…
s157643 Input v14m x documentXUseful 0.56 docXUseful 0.70 Both useful Present Usefulness probability is near the provisional 0.5 boundary. Preference confidence is low. Pre-rename JavaScript · s157643 / v14m ×
Declaration · line 4539 …
const v14k = v13v - v14j.left;
const v14l = v13w - v14j.top;
const {
x: v14m ,
y: v14n
} = v14i.screenToDoc(v14k, v14l);
this.toolManager.activeTool?.onPointerMove(v14i, v14m, v14n, {
button: 0
});
}
return;
}
if (v14h.pointerId === v13u || !v13t) {
…
s157666 Input v14n y documentYUseful 0.66 docYUseful 0.68 Both useful Present Preference confidence is low. Pre-rename JavaScript · s157666 / v14n ×
Declaration · line 4540 …
const v14l = v13w - v14j.top;
const {
x: v14m,
y: v14n
} = v14i.screenToDoc(v14k, v14l);
this.toolManager.activeTool?.onPointerMove(v14i, v14m, v14n, {
button: 0
});
}
return;
}
if (v14h.pointerId === v13u || !v13t) {
…
s157936 Input v14o rect viewportRectUseful 0.81 boundingRectUseful 0.68 FlowName better Present Pre-rename JavaScript · s157936 / v14o ×
Declaration · line 4549 …
return;
}
if (v14h.pointerId === v13u || !v13t) {
const v14o = v13i.getBoundingClientRect();
const {
x: v14p,
y: v14q
} = v14i.screenToDoc(v14h.clientX - v14o.left, v14h.clientY - v14o.top);
document.getElementById("status-coords").textContent = `${Math.floor(v14p)}, ${Math.floor(v14q)}`;
… Reference · line 4559 …
v13v = v14h.clientX;
v13w = v14h.clientY;
const v14r = v14h.clientX - v14o .left;
const v14s = v14h.clientY - v14o.top;
const v14t = v14r < v13y || v14r > v14o.width - v13y || v14s < v13y || v14s > v14o.height - v13y;
if (v14t && !v13x) {
v13x = requestAnimationFrame(v141);
…
s158006 Input v14p x docXUseful 0.76 docXUseful 0.76 Both useful Present Pre-rename JavaScript · s158006 / v14p ×
Declaration · line 4551 …
if (v14h.pointerId === v13u || !v13t) {
const v14o = v13i.getBoundingClientRect();
const {
x: v14p ,
y: v14q
} = v14i.screenToDoc(v14h.clientX - v14o.left, v14h.clientY - v14o.top);
document.getElementById("status-coords").textContent = `${Math.floor(v14p)}, ${Math.floor(v14q)}`;
this.toolManager.activeTool?.onPointerMove(v14i, v14p, v14q, v14h);
…
s158027 Input v14q y docYUseful 0.73 docYUseful 0.73 Both useful Present Pre-rename JavaScript · s158027 / v14q ×
Declaration · line 4552 …
const v14o = v13i.getBoundingClientRect();
const {
x: v14p,
y: v14q
} = v14i.screenToDoc(v14h.clientX - v14o.left, v14h.clientY - v14o.top);
document.getElementById("status-coords").textContent = `${Math.floor(v14p)}, ${Math.floor(v14q)}`;
this.toolManager.activeTool?.onPointerMove(v14i, v14p, v14q, v14h);
…
s158408 Input v14r cx relativeXUseful 0.80 clientXUseful 0.16 FlowName better Present Pre-rename JavaScript · s158408 / v14r ×
Declaration · line 4559 …
if (v13t) {
v13v = v14h.clientX;
v13w = v14h.clientY;
const v14r = v14h.clientX - v14o.left;
const v14s = v14h.clientY - v14o.top;
const v14t = v14r < v13y || v14r > v14o.width - v13y || v14s < v13y || v14s > v14o.height - v13y;
if (v14t && !v13x) {
v13x = requestAnimationFrame(v141);
…
s158459 Input v14s cy relativeYUseful 0.68 clientYUseful 0.67 Humanify better Present Pre-rename JavaScript · s158459 / v14s ×
Declaration · line 4560 …
v13w = v14h.clientY;
const v14r = v14h.clientX - v14o.left;
const v14s = v14h.clientY - v14o.top;
const v14t = v14r < v13y || v14r > v14o.width - v13y || v14s < v13y || v14s > v14o.height - v13y;
if (v14t && !v13x) {
v13x = requestAnimationFrame(v141);
} else if (!v14t) {
…
s158509 Input v14t nearEdge isOutOfBoundsUseful 0.55 isOutOfBoundsUseful 0.55 Both useful Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s158509 / v14t ×
Declaration · line 4561 …
const v14r = v14h.clientX - v14o.left;
const v14s = v14h.clientY - v14o.top;
const v14t = v14r < v13y || v14r > v14o.width - v13y || v14s < v13y || v14s > v14o.height - v13y;
if (v14t && !v13x) {
v13x = requestAnimationFrame(v141);
} else if (!v14t) {
v140();
}
…
s158825 Input v14u e pointerEventUseful 0.72 eventUseful 0.67 FlowName better Present Pre-rename JavaScript · s158825 / v14u ×
Declaration · line 4570 …
v140();
}
}
}
});
v13j.addEventListener("pointerup", v14u => {
const v14v = this.doc;
if (!v14v) return;
if (v13l && v14u.pointerId === v13o) {
v13l = false;
v13o = null;
v13i.style.cursor = v13k ? "grab" : "crosshair";
return;
}
… Reference · line 4579 …
v13i.style.cursor = v13k ? "grab" : "crosshair";
return;
}
if (v13p && v14u .pointerId === v13s) {
v13p = false;
v13s = null;
}
if (v13t && v14u.pointerId === v13u) {
v13t = false;
v13u = null;
v140();
const v14w = v13i.getBoundingClientRect();
…
s158849 Input v14v doc documentInstanceUseful 0.67 documentRefUseful 0.47 FlowName better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s158849 / v14v ×
Declaration · line 4571 …
}
}
});
v13j.addEventListener("pointerup", v14u => {
const v14v = this.doc;
if (!v14v) return;
if (v13l && v14u.pointerId === v13o) {
v13l = false;
v13o = null;
v13i.style.cursor = v13k ? "grab" : "crosshair";
return;
}
if (v13p && v14u.pointerId === v13s) {
… Reference · line 4591 …
const v14w = v13i.getBoundingClientRect();
const {
x: v14x,
y: v14y
} = v14v .screenToDoc(v14u.clientX - v14w.left, v14u.clientY - v14w.top);
this.toolManager.activeTool?.onPointerUp(v14v, v14x, v14y, v14u);
}
});
v13j.addEventListener("wheel", v14z => {
v14z.preventDefault();
…
s159306 Input v14w rect viewportRectUseful 0.75 boundingRectUseful 0.65 FlowName better Present Pre-rename JavaScript · s159306 / v14w ×
Declaration · line 4587 …
if (v13t && v14u.pointerId === v13u) {
v13t = false;
v13u = null;
v140();
const v14w = v13i.getBoundingClientRect();
const {
x: v14x,
y: v14y
} = v14v.screenToDoc(v14u.clientX - v14w.left, v14u.clientY - v14w.top);
this.toolManager.activeTool?.onPointerUp(v14v, v14x, v14y, v14u);
…
s159376 Input v14x x docXUseful 0.75 docXUseful 0.75 Both useful Present Pre-rename JavaScript · s159376 / v14x ×
Declaration · line 4589 …
v140();
const v14w = v13i.getBoundingClientRect();
const {
x: v14x ,
y: v14y
} = v14v.screenToDoc(v14u.clientX - v14w.left, v14u.clientY - v14w.top);
this.toolManager.activeTool?.onPointerUp(v14v, v14x, v14y, v14u);
}
});
v13j.addEventListener("wheel", v14z => {
…
s159397 Input v14y y docYUseful 0.83 docYUseful 0.83 Both useful Present Pre-rename JavaScript · s159397 / v14y ×
Declaration · line 4590 …
const v14w = v13i.getBoundingClientRect();
const {
x: v14x,
y: v14y
} = v14v.screenToDoc(v14u.clientX - v14w.left, v14u.clientY - v14w.top);
this.toolManager.activeTool?.onPointerUp(v14v, v14x, v14y, v14u);
}
});
v13j.addEventListener("wheel", v14z => {
v14z.preventDefault();
…
s159618 Input v14z e wheelEventUseful 0.82 eventUseful 0.64 FlowName better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s159618 / v14z ×
Declaration · line 4595 …
this.toolManager.activeTool?.onPointerUp(v14v, v14x, v14y, v14u);
}
});
v13j.addEventListener("wheel", v14z => {
v14z.preventDefault();
const v150 = this.doc;
if (!v150) return;
const v151 = v13i.getBoundingClientRect();
const v152 = v14z.clientX - v151.left;
const v153 = v14z.clientY - v151.top;
… Reference · line 4602 …
const v152 = v14z.clientX - v151.left;
const v153 = v14z.clientY - v151.top;
if (v14z .ctrlKey) {
const v154 = Math.max(-3, Math.min(3, v14z.deltaY));
const v155 = Math.exp(-v154 * 0.1);
const v156 = Math.max(0.05, Math.min(32, v150.zoom * v155));
v150.panX = v152 - (v152 - v150.panX) * (v156 / v150.zoom);
…
s159673 Input v150 doc documentStateUseful 0.65 documentStateUseful 0.65 Both useful Present Pre-rename JavaScript · s159673 / v150 ×
Declaration · line 4597 …
v13j.addEventListener("wheel", v14z => {
v14z.preventDefault();
const v150 = this.doc;
if (!v150) return;
const v151 = v13i.getBoundingClientRect();
const v152 = v14z.clientX - v151.left;
const v153 = v14z.clientY - v151.top;
if (v14z.ctrlKey) {
const v154 = Math.max(-3, Math.min(3, v14z.deltaY));
… Reference · line 4605 …
const v155 = Math.exp(-v154 * 0.1);
const v156 = Math.max(0.05, Math.min(32, v150 .zoom * v155));
v150.panX = v152 - (v152 - v150.panX) * (v156 / v150.zoom);
v150.panY = v153 - (v153 - v150.panY) * (v156 / v150.zoom);
v150.zoom = v156;
this._syncZoomUI();
v4i.emit("canvas:dirty");
…
s159731 Input v151 rect viewportRectUseful 0.84 rectUseful 0.75 FlowName better Present Pre-rename JavaScript · s159731 / v151 ×
Declaration · line 4599 …
v14z.preventDefault();
const v150 = this.doc;
if (!v150) return;
const v151 = v13i.getBoundingClientRect();
const v152 = v14z.clientX - v151.left;
const v153 = v14z.clientY - v151.top;
if (v14z.ctrlKey) {
const v154 = Math.max(-3, Math.min(3, v14z.deltaY));
const v155 = Math.exp(-v154 * 0.1);
…
s159782 Input v152 mx localXUseful 0.69 mouseXUseful 0.80 Both useful Present Preference confidence is low. Pre-rename JavaScript · s159782 / v152 ×
Declaration · line 4600 …
if (!v150) return;
const v151 = v13i.getBoundingClientRect();
const v152 = v14z.clientX - v151.left;
const v153 = v14z.clientY - v151.top;
if (v14z.ctrlKey) {
const v154 = Math.max(-3, Math.min(3, v14z.deltaY));
const v155 = Math.exp(-v154 * 0.1);
const v156 = Math.max(0.05, Math.min(32, v150.zoom * v155));
… Reference · line 4606 …
const v156 = Math.max(0.05, Math.min(32, v150.zoom * v155));
v150.panX = v152 - (v152 - v150.panX) * (v156 / v150.zoom);
v150.panY = v153 - (v153 - v150.panY) * (v156 / v150.zoom);
v150.zoom = v156;
this._syncZoomUI();
v4i.emit("canvas:dirty");
} else if (v14z.deltaMode === 0 && (Math.abs(v14z.deltaX) > 0 || Math.abs(v14z.deltaY) > 0)) {
…
s159829 Input v153 my localYUseful 0.59 offsetYUseful 0.29 FlowName better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s159829 / v153 ×
Declaration · line 4601 …
const v151 = v13i.getBoundingClientRect();
const v152 = v14z.clientX - v151.left;
const v153 = v14z.clientY - v151.top;
if (v14z.ctrlKey) {
const v154 = Math.max(-3, Math.min(3, v14z.deltaY));
const v155 = Math.exp(-v154 * 0.1);
const v156 = Math.max(0.05, Math.min(32, v150.zoom * v155));
v150.panX = v152 - (v152 - v150.panX) * (v156 / v150.zoom);
… Reference · line 4607 …
v150.panX = v152 - (v152 - v150.panX) * (v156 / v150.zoom);
v150.panY = v153 - (v153 - v150.panY) * (v156 / v150.zoom);
v150.zoom = v156;
this._syncZoomUI();
v4i.emit("canvas:dirty");
} else if (v14z.deltaMode === 0 && (Math.abs(v14z.deltaX) > 0 || Math.abs(v14z.deltaY) > 0)) {
…
s159905 Input v154 clamped deltaValueUseful 0.18 deltaYUseful 0.57 Humanify better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s159905 / v154 ×
Declaration · line 4603 …
const v153 = v14z.clientY - v151.top;
if (v14z.ctrlKey) {
const v154 = Math.max(-3, Math.min(3, v14z.deltaY));
const v155 = Math.exp(-v154 * 0.1);
const v156 = Math.max(0.05, Math.min(32, v150.zoom * v155));
v150.panX = v152 - (v152 - v150.panX) * (v156 / v150.zoom);
v150.panY = v153 - (v153 - v150.panY) * (v156 / v150.zoom);
…
s159968 Input v155 factor zoomScaleUseful 0.69 zoomFactorUseful 0.89 Humanify better Present Pre-rename JavaScript · s159968 / v155 ×
Declaration · line 4604 …
if (v14z.ctrlKey) {
const v154 = Math.max(-3, Math.min(3, v14z.deltaY));
const v155 = Math.exp(-v154 * 0.1);
const v156 = Math.max(0.05, Math.min(32, v150.zoom * v155));
v150.panX = v152 - (v152 - v150.panX) * (v156 / v150.zoom);
v150.panY = v153 - (v153 - v150.panY) * (v156 / v150.zoom);
…
s160014 Input v156 newZoom clampedZoomUseful 0.52 newZoomUseful 0.93 Humanify better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s160014 / v156 ×
Declaration · line 4605 …
const v154 = Math.max(-3, Math.min(3, v14z.deltaY));
const v155 = Math.exp(-v154 * 0.1);
const v156 = Math.max(0.05, Math.min(32, v150.zoom * v155));
v150.panX = v152 - (v152 - v150.panX) * (v156 / v150.zoom);
v150.panY = v153 - (v153 - v150.panY) * (v156 / v150.zoom);
v150.zoom = v156;
this._syncZoomUI();
…
s160422 Input v157 isTrackpadPan isPanGestureUseful 0.68 isPanGestureUseful 0.68 Both useful Present Pre-rename JavaScript · s160422 / v157 ×
Declaration · line 4612 …
} else if (v14z.deltaMode === 0 && (Math.abs(v14z.deltaX) > 0 || Math.abs(v14z.deltaY) > 0)) {
const v157 = Math.abs(v14z.deltaX) > 0 || Math.abs(v14z.deltaY) < 40;
if (v157) {
v150.panX -= v14z.deltaX;
v150.panY -= v14z.deltaY;
v4i.emit("canvas:dirty");
} else {
const v158 = v14z.deltaY < 0 ? 1.15 : 1 / 1.15;
…
s160659 Input v158 factor zoomFactorUseful 0.90 zoomFactorUseful 0.90 Both useful Present Pre-rename JavaScript · s160659 / v158 ×
Declaration · line 4618 …
v150.panY -= v14z.deltaY;
v4i.emit("canvas:dirty");
} else {
const v158 = v14z.deltaY < 0 ? 1.15 : 1 / 1.15;
const v159 = Math.max(0.05, Math.min(32, v150.zoom * v158));
v150.panX = v152 - (v152 - v150.panX) * (v159 / v150.zoom);
v150.panY = v153 - (v153 - v150.panY) * (v159 / v150.zoom);
…
s160719 Input v159 newZoom newZoomUseful 0.93 newZoomUseful 0.93 Both useful Present Pre-rename JavaScript · s160719 / v159 ×
Declaration · line 4619 …
} else {
const v158 = v14z.deltaY < 0 ? 1.15 : 1 / 1.15;
const v159 = Math.max(0.05, Math.min(32, v150.zoom * v158));
v150.panX = v152 - (v152 - v150.panX) * (v159 / v150.zoom);
v150.panY = v153 - (v153 - v150.panY) * (v159 / v150.zoom);
v150.zoom = v159;
this._syncZoomUI();
…
s161164 Input v15a btn toolButtonUseful 0.86 toolButtonUseful 0.86 Both useful Present Pre-rename JavaScript · s161164 / v15a ×
Declaration · line 4632 …
});
}
_initToolbox() {
document.querySelectorAll(".tool-btn").forEach(v15a => {
v15a.addEventListener("click", () => {
v4i.emit("tool:set", v15a.dataset.tool);
});
});
}
_initKeyboard() {
document.addEventListener("keydown", v15b => {
if (v15b.target.closest("input, textarea, [contenteditable]")) return;
…
s161365 Input v15b e eventUseful 0.87 eventUseful 0.87 Both useful Present Pre-rename JavaScript · s161365 / v15b ×
Declaration · line 4639 …
});
});
}
_initKeyboard() {
document.addEventListener("keydown", v15b => {
if (v15b.target.closest("input, textarea, [contenteditable]")) return;
const v15c = v15b.ctrlKey || v15b.metaKey;
const v15d = v15b.shiftKey;
const v15e = v15b.key.toLowerCase();
if (v15c) {
… Reference · line 4647 …
const v15e = v15b.key.toLowerCase();
if (v15c) {
switch (v15e) {
case "n":
v15b .preventDefault();
this.showNewDialog();
return;
case "o":
v15b.preventDefault();
this.openFile();
return;
case "s":
v15b.preventDefault();
…
s161468 Input v15c ctrl isCtrlOrMetaUseful 0.67 hasModifierUseful 0.37 FlowName better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s161468 / v15c ×
Declaration · line 4641 …
if (v15b.target.closest("input, textarea, [contenteditable]")) return;
const v15c = v15b.ctrlKey || v15b.metaKey;
const v15d = v15b.shiftKey;
const v15e = v15b.key.toLowerCase();
if (v15c) {
switch (v15e) {
case "n":
v15b.preventDefault();
this.showNewDialog();
…
s161519 Input v15d shift isShiftUseful 0.44 shiftKeyUseful 0.89 Humanify better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s161519 / v15d ×
Declaration · line 4642 …
if (v15b.target.closest("input, textarea, [contenteditable]")) return;
const v15c = v15b.ctrlKey || v15b.metaKey;
const v15d = v15b.shiftKey;
const v15e = v15b.key.toLowerCase();
if (v15c) {
switch (v15e) {
case "n":
v15b.preventDefault();
this.showNewDialog();
return;
case "o":
… Reference · line 4656 …
return;
case "s":
v15b.preventDefault();
if (v15d ) this.saveFileAs();else this.saveFile();
return;
case "z":
v15b.preventDefault();
if (v15d) this.redo();else this.undo();
return;
case "c":
v15b.preventDefault();
…
s161555 Input v15e key keyNameUseful 0.67 pressedKeyUseful 0.57 Both useful Present Usefulness probability is near the provisional 0.5 boundary. Preference confidence is low. Pre-rename JavaScript · s161555 / v15e ×
Declaration · line 4643 …
const v15c = v15b.ctrlKey || v15b.metaKey;
const v15d = v15b.shiftKey;
const v15e = v15b.key.toLowerCase();
if (v15c) {
switch (v15e) {
case "n":
v15b.preventDefault();
this.showNewDialog();
return;
case "o":
v15b.preventDefault();
… Reference · line 4702 …
return;
}
const v15f = "pbefiltroswm";
if (v15f.includes(v15e )) {
v15b.preventDefault();
v4i.emit("tool:set-by-key", v15e);
return;
}
switch (v15e) {
case "x":
v15b.preventDefault();
this.colorSystem.swap();
break;
…
s163278 Input v15f toolKeys shortcutKeysUseful 0.75 event2Useful 0.03 FlowName better Absent Pre-rename JavaScript · s163278 / v15f ×
Declaration · line 4701 …
this.actualSize();
return;
}
return;
}
const v15f = "pbefiltroswm";
if (v15f.includes(v15e)) {
v15b.preventDefault();
v4i.emit("tool:set-by-key", v15e);
return;
}
switch (v15e) {
case "x":
v15b.preventDefault();
…
s164777 Input v15g e pasteEventUseful 0.86 pasteEventUseful 0.86 Both useful Present Pre-rename JavaScript · s164777 / v15g ×
Declaration · line 4748 …
}
});
}
_initClipboard() {
document.addEventListener("paste", v15g => {
if (v15g.target.closest("input, textarea, [contenteditable]")) return;
const v15h = v15g.clipboardData?.items;
if (v15h) {
for (let v15i = 0; v15i < v15h.length; v15i++) {
if (v15h[v15i].type.startsWith("image/")) {
… Reference · line 4754 …
for (let v15i = 0; v15i < v15h.length; v15i++) {
if (v15h[v15i].type.startsWith("image/")) {
v15g .preventDefault();
const v15j = v15h[v15i].getAsFile();
if (v15j) {
this._pasteImageBlob(v15j);
return;
}
}
}
}
const v15k = v15g.clipboardData?.files;
…
s164880 Input v15h items clipboardItemsUseful 0.54 clipboardItemsUseful 0.54 Both useful Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s164880 / v15h ×
Declaration · line 4750 …
if (v15g.target.closest("input, textarea, [contenteditable]")) return;
const v15h = v15g.clipboardData?.items;
if (v15h) {
for (let v15i = 0; v15i < v15h.length; v15i++) {
if (v15h[v15i].type.startsWith("image/")) {
v15g.preventDefault();
const v15j = v15h[v15i].getAsFile();
…
s164953 Input v15i i itemIndexUseful 0.80 iUseful 0.73 FlowName better Present Pre-rename JavaScript · s164953 / v15i ×
Declaration · line 4752 …
if (v15g.target.closest("input, textarea, [contenteditable]")) return;
const v15h = v15g.clipboardData?.items;
if (v15h) {
for (let v15i = 0; v15i < v15h.length; v15i++) {
if (v15h[v15i].type.startsWith("image/")) {
v15g.preventDefault();
const v15j = v15h[v15i].getAsFile();
if (v15j) {
this._pasteImageBlob(v15j);
…
s165106 Input v15j blob imageFileUseful 0.42 imageFile2Useful 0.43 Both poor Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s165106 / v15j ×
Declaration · line 4755 …
if (v15h[v15i].type.startsWith("image/")) {
v15g.preventDefault();
const v15j = v15h[v15i].getAsFile();
if (v15j) {
this._pasteImageBlob(v15j);
return;
}
}
}
}
const v15k = v15g.clipboardData?.files;
if (v15k) {
…
s165297 Input v15k files clipboardFilesUseful 0.82 imageFileUseful 0.10 FlowName better Absent Pre-rename JavaScript · s165297 / v15k ×
Declaration · line 4763 …
return;
}
}
}
}
const v15k = v15g.clipboardData?.files;
if (v15k) {
for (let v15l = 0; v15l < v15k.length; v15l++) {
if (v15k[v15l].type.startsWith("image/")) {
v15g.preventDefault();
this._pasteImageBlob(v15k[v15l]);
…
s165370 Input v15l i fileIndexUseful 0.78 iUseful 0.65 FlowName better Present Pre-rename JavaScript · s165370 / v15l ×
Declaration · line 4765 …
}
const v15k = v15g.clipboardData?.files;
if (v15k) {
for (let v15l = 0; v15l < v15k.length; v15l++) {
if (v15k[v15l].type.startsWith("image/")) {
v15g.preventDefault();
this._pasteImageBlob(v15k[v15l]);
return;
}
}
}
v15g.preventDefault();
…
s165750 Input v15m items clipboardItemsUseful 0.83 clipboardItemsUseful 0.83 Both useful Present Pre-rename JavaScript · s165750 / v15m ×
Declaration · line 4779 …
this._pasteWithFallback();
});
}
async _pasteWithFallback() {
try {
const v15m = await navigator.clipboard.read();
for (const v15n of v15m) {
const v15o = v15n.types.find(v15p => v15p.startsWith("image/"));
if (v15o) {
const v15q = await v15n.getType(v15o);
this._pasteImageBlob(v15q);
…
s165810 Input v15n item clipboardItemUseful 0.78 clipboardItemUseful 0.78 Both useful Present Pre-rename JavaScript · s165810 / v15n ×
Declaration · line 4780 …
async _pasteWithFallback() {
try {
const v15m = await navigator.clipboard.read();
for (const v15n of v15m) {
const v15o = v15n.types.find(v15p => v15p.startsWith("image/"));
if (v15o) {
const v15q = await v15n.getType(v15o);
this._pasteImageBlob(v15q);
return;
}
}
…
s165842 Input v15o imageType imageType2Useful 0.30 imageTypeUseful 0.93 Humanify better Present Pre-rename JavaScript · s165842 / v15o ×
Declaration · line 4781 …
const v15m = await navigator.clipboard.read();
for (const v15n of v15m) {
const v15o = v15n.types.find(v15p => v15p.startsWith("image/"));
if (v15o) {
const v15q = await v15n.getType(v15o);
this._pasteImageBlob(v15q);
return;
}
}
} catch {}
if (v4i._copiedCanvas) {
…
s165865 Input v15p t imageTypeUseful 0.81 mimeTypeUseful 0.76 Both useful Present Preference confidence is low. Pre-rename JavaScript · s165865 / v15p ×
Declaration · line 4781 …
const v15m = await navigator.clipboard.read();
for (const v15n of v15m) {
const v15o = v15n.types.find(v15p => v15p.startsWith("image/"));
if (v15o) {
const v15q = await v15n.getType(v15o);
this._pasteImageBlob(v15q);
return;
}
}
} catch {}
if (v4i._copiedCanvas) {
this._pasteInternalCanvas(v4i._copiedCanvas);
…
s165941 Input v15q blob imageBlobUseful 0.81 imageBlobUseful 0.81 Both useful Present Pre-rename JavaScript · s165941 / v15q ×
Declaration · line 4783 …
const v15o = v15n.types.find(v15p => v15p.startsWith("image/"));
if (v15o) {
const v15q = await v15n.getType(v15o);
this._pasteImageBlob(v15q);
return;
}
}
} catch {}
if (v4i._copiedCanvas) {
this._pasteInternalCanvas(v4i._copiedCanvas);
}
}
_initGrid() {
…
s166202 Input v15r toggle gridToggleElementUseful 0.75 gridToggleCheckboxUseful 0.80 Both useful Present Preference confidence is low. Pre-rename JavaScript · s166202 / v15r ×
Declaration · line 4794 …
this._pasteInternalCanvas(v4i._copiedCanvas);
}
}
_initGrid() {
const v15r = document.getElementById("grid-toggle");
const v15s = document.getElementById("grid-size-x");
const v15t = document.getElementById("grid-size-y");
v15r.addEventListener("change", () => {
this.renderer.gridEnabled = v15r.checked;
… Reference · line 4809 …
v15s.addEventListener("change", v15u);
v15t.addEventListener("change", v15u);
v4i.on("grid:toggle", () => {
v15r .checked = this.renderer.gridEnabled;
});
}
_initZoom() {
const v15x = document.getElementById("zoom-input");
const v15y = document.getElementById("zoom-slider");
v15x.addEventListener("change", () => {
const v15z = this.doc;
…
s166261 Input v15s sizeX gridSizeXInputUseful 0.87 gridSizeXInputUseful 0.87 Both useful Present Pre-rename JavaScript · s166261 / v15s ×
Declaration · line 4795 …
}
_initGrid() {
const v15r = document.getElementById("grid-toggle");
const v15s = document.getElementById("grid-size-x");
const v15t = document.getElementById("grid-size-y");
v15r.addEventListener("change", () => {
this.renderer.gridEnabled = v15r.checked;
this.renderer.markDirty();
});
… Reference · line 4802 …
this.renderer.markDirty();
});
const v15u = () => {
const v15v = Math.max(1, parseInt(v15s .value) || 16);
const v15w = Math.max(1, parseInt(v15t.value) || 16);
v4i.emit("grid:set-size", v15v, v15w);
};
v15s.addEventListener("change", v15u);
v15t.addEventListener("change", v15u);
v4i.on("grid:toggle", () => {
…
s166320 Input v15t sizeY gridSizeYInputUseful 0.86 gridSizeYInputUseful 0.86 Both useful Present Pre-rename JavaScript · s166320 / v15t ×
Declaration · line 4796 …
const v15r = document.getElementById("grid-toggle");
const v15s = document.getElementById("grid-size-x");
const v15t = document.getElementById("grid-size-y");
v15r.addEventListener("change", () => {
this.renderer.gridEnabled = v15r.checked;
this.renderer.markDirty();
});
const v15u = () => {
const v15v = Math.max(1, parseInt(v15s.value) || 16);
… Reference · line 4803 …
const v15v = Math.max(1, parseInt(v15s.value) || 16);
const v15w = Math.max(1, parseInt(v15t .value) || 16);
v4i.emit("grid:set-size", v15v, v15w);
};
v15s.addEventListener("change", v15u);
v15t.addEventListener("change", v15u);
v4i.on("grid:toggle", () => {
v15r.checked = this.renderer.gridEnabled;
…
s166520 Input v15u updateSize updateGridSizeUseful 0.85 updateGridSizeUseful 0.85 Both useful Present Pre-rename JavaScript · s166520 / v15u ×
Declaration · line 4801 …
this.renderer.gridEnabled = v15r.checked;
this.renderer.markDirty();
});
const v15u = () => {
const v15v = Math.max(1, parseInt(v15s.value) || 16);
const v15w = Math.max(1, parseInt(v15t.value) || 16);
v4i.emit("grid:set-size", v15v, v15w);
};
v15s.addEventListener("change", v15u);
v15t.addEventListener("change", v15u);
…
s166549 Input v15v x gridSizeXUseful 0.71 gridRowsUseful 0.15 FlowName better Present Pre-rename JavaScript · s166549 / v15v ×
Declaration · line 4802 …
this.renderer.gridEnabled = v15r.checked;
this.renderer.markDirty();
});
const v15u = () => {
const v15v = Math.max(1, parseInt(v15s.value) || 16);
const v15w = Math.max(1, parseInt(v15t.value) || 16);
v4i.emit("grid:set-size", v15v, v15w);
};
v15s.addEventListener("change", v15u);
v15t.addEventListener("change", v15u);
…
s166611 Input v15w y gridSizeYUseful 0.68 gridHeightUseful 0.62 FlowName better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s166611 / v15w ×
Declaration · line 4803 …
const v15u = () => {
const v15v = Math.max(1, parseInt(v15s.value) || 16);
const v15w = Math.max(1, parseInt(v15t.value) || 16);
v4i.emit("grid:set-size", v15v, v15w);
};
v15s.addEventListener("change", v15u);
v15t.addEventListener("change", v15u);
v4i.on("grid:toggle", () => {
v15r.checked = this.renderer.gridEnabled;
…
s166937 Input v15x input zoomInputUseful 0.86 zoomInputUseful 0.86 Both useful Present Pre-rename JavaScript · s166937 / v15x ×
Declaration · line 4813 …
v15r.checked = this.renderer.gridEnabled;
});
}
_initZoom() {
const v15x = document.getElementById("zoom-input");
const v15y = document.getElementById("zoom-slider");
v15x.addEventListener("change", () => {
const v15z = this.doc;
if (!v15z) return;
let v160 = parseInt(v15x.value);
…
s166995 Input v15y slider zoomSliderUseful 0.91 zoomSliderUseful 0.91 Both useful Present Pre-rename JavaScript · s166995 / v15y ×
Declaration · line 4814 …
}
_initZoom() {
const v15x = document.getElementById("zoom-input");
const v15y = document.getElementById("zoom-slider");
v15x.addEventListener("change", () => {
const v15z = this.doc;
if (!v15z) return;
let v160 = parseInt(v15x.value);
if (isNaN(v160) || v160 < 5) v160 = 5;
if (v160 > 3200) v160 = 3200;
… Reference · line 4831 …
v15z.zoom = v164;
this._syncZoomUI();
v4i.emit("canvas:dirty");
});
v15y .addEventListener("input", () => {
const v165 = this.doc;
if (!v165) return;
const v166 = v15y.value / 100;
const v167 = 0.05 * Math.pow(32 / 0.05, v166);
const v168 = document.getElementById("viewport").getBoundingClientRect();
…
s167102 Input v15z doc docStateUseful 0.43 documentStateUseful 0.51 Humanify better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s167102 / v15z ×
Declaration · line 4816 …
const v15y = document.getElementById("zoom-slider");
v15x.addEventListener("change", () => {
const v15z = this.doc;
if (!v15z) return;
let v160 = parseInt(v15x.value);
if (isNaN(v160) || v160 < 5) v160 = 5;
if (v160 > 3200) v160 = 3200;
const v161 = document.getElementById("viewport").getBoundingClientRect();
… Reference · line 4825 …
const v162 = v161.width / 2,
v163 = v161.height / 2;
const v164 = v160 / 100;
v15z .panX = v162 - (v162 - v15z.panX) * (v164 / v15z.zoom);
v15z.panY = v163 - (v163 - v15z.panY) * (v164 / v15z.zoom);
v15z.zoom = v164;
this._syncZoomUI();
v4i.emit("canvas:dirty");
});
v15y.addEventListener("input", () => {
…
s167158 Input v160 val zoomValueUseful 0.71 zoomLevelUseful 0.43 FlowName better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s167158 / v160 ×
Declaration · line 4818 …
v15x.addEventListener("change", () => {
const v15z = this.doc;
if (!v15z) return;
let v160 = parseInt(v15x.value);
if (isNaN(v160) || v160 < 5) v160 = 5;
if (v160 > 3200) v160 = 3200;
const v161 = document.getElementById("viewport").getBoundingClientRect();
const v162 = v161.width / 2,
v163 = v161.height / 2;
… Reference · line 4824 …
const v162 = v161.width / 2,
v163 = v161.height / 2;
const v164 = v160 / 100;
v15z.panX = v162 - (v162 - v15z.panX) * (v164 / v15z.zoom);
v15z.panY = v163 - (v163 - v15z.panY) * (v164 / v15z.zoom);
v15z.zoom = v164;
this._syncZoomUI();
v4i.emit("canvas:dirty");
});
…
s167286 Input v161 vp viewportRectUseful 0.86 viewportRectUseful 0.86 Both useful Present Pre-rename JavaScript · s167286 / v161 ×
Declaration · line 4821 …
if (isNaN(v160) || v160 < 5) v160 = 5;
if (v160 > 3200) v160 = 3200;
const v161 = document.getElementById("viewport").getBoundingClientRect();
const v162 = v161.width / 2,
v163 = v161.height / 2;
const v164 = v160 / 100;
v15z.panX = v162 - (v162 - v15z.panX) * (v164 / v15z.zoom);
v15z.panY = v163 - (v163 - v15z.panY) * (v164 / v15z.zoom);
…
s167368 Input v162 cx viewportCenterXUseful 0.86 centerXUseful 0.81 FlowName better Present Pre-rename JavaScript · s167368 / v162 ×
Declaration · line 4822 …
const v161 = document.getElementById("viewport").getBoundingClientRect();
const v162 = v161.width / 2,
v163 = v161.height / 2;
const v164 = v160 / 100;
v15z.panX = v162 - (v162 - v15z.panX) * (v164 / v15z.zoom);
v15z.panY = v163 - (v163 - v15z.panY) * (v164 / v15z.zoom);
v15z.zoom = v164;
…
s167401 Input v163 cy viewportCenterYUseful 0.88 viewportCenterYUseful 0.88 Both useful Present Pre-rename JavaScript · s167401 / v163 ×
Declaration · line 4823 …
const v161 = document.getElementById("viewport").getBoundingClientRect();
const v162 = v161.width / 2,
v163 = v161.height / 2;
const v164 = v160 / 100;
v15z.panX = v162 - (v162 - v15z.panX) * (v164 / v15z.zoom);
v15z.panY = v163 - (v163 - v15z.panY) * (v164 / v15z.zoom);
v15z.zoom = v164;
this._syncZoomUI();
…
s167439 Input v164 newZoom zoomScaleUseful 0.71 newZoomUseful 0.89 Both useful Present Preference confidence is low. Pre-rename JavaScript · s167439 / v164 ×
Declaration · line 4824 …
const v161 = document.getElementById("viewport").getBoundingClientRect();
const v162 = v161.width / 2,
v163 = v161.height / 2;
const v164 = v160 / 100;
v15z.panX = v162 - (v162 - v15z.panX) * (v164 / v15z.zoom);
v15z.panY = v163 - (v163 - v15z.panY) * (v164 / v15z.zoom);
v15z.zoom = v164;
this._syncZoomUI();
v4i.emit("canvas:dirty");
…
s167751 Input v165 doc documentModelUseful 0.70 documentStateUseful 0.51 Both useful Present Usefulness probability is near the provisional 0.5 boundary. Preference confidence is low. Pre-rename JavaScript · s167751 / v165 ×
Declaration · line 4832 …
v4i.emit("canvas:dirty");
});
v15y.addEventListener("input", () => {
const v165 = this.doc;
if (!v165) return;
const v166 = v15y.value / 100;
const v167 = 0.05 * Math.pow(32 / 0.05, v166);
const v168 = document.getElementById("viewport").getBoundingClientRect();
const v169 = v168.width / 2,
… Reference · line 4839 …
const v168 = document.getElementById("viewport").getBoundingClientRect();
const v169 = v168.width / 2,
v16a = v168.height / 2;
v165 .panX = v169 - (v169 - v165.panX) * (v167 / v165.zoom);
v165.panY = v16a - (v16a - v165.panY) * (v167 / v165.zoom);
v165.zoom = v167;
this._syncZoomUI(true);
v4i.emit("canvas:dirty");
});
}
_syncZoomUI(v16b) {
…
s167809 Input v166 t sliderValueUseful 0.26 zoomFactorUseful 0.34 Both poor Present Pre-rename JavaScript · s167809 / v166 ×
Declaration · line 4834 …
v15y.addEventListener("input", () => {
const v165 = this.doc;
if (!v165) return;
const v166 = v15y.value / 100;
const v167 = 0.05 * Math.pow(32 / 0.05, v166);
const v168 = document.getElementById("viewport").getBoundingClientRect();
const v169 = v168.width / 2,
v16a = v168.height / 2;
v165.panX = v169 - (v169 - v165.panX) * (v167 / v165.zoom);
…
s167848 Input v167 newZoom calculatedZoomUseful 0.82 newZoomUseful 0.92 Both useful Present Preference confidence is low. Pre-rename JavaScript · s167848 / v167 ×
Declaration · line 4835 …
const v165 = this.doc;
if (!v165) return;
const v166 = v15y.value / 100;
const v167 = 0.05 * Math.pow(32 / 0.05, v166);
const v168 = document.getElementById("viewport").getBoundingClientRect();
const v169 = v168.width / 2,
v16a = v168.height / 2;
v165.panX = v169 - (v169 - v165.panX) * (v167 / v165.zoom);
… Reference · line 4840 …
v165.panX = v169 - (v169 - v165.panX) * (v167 / v165.zoom);
v165.panY = v16a - (v16a - v165.panY) * (v167 / v165.zoom);
v165.zoom = v167;
this._syncZoomUI(true);
v4i.emit("canvas:dirty");
});
}
_syncZoomUI(v16b) {
const v16c = this.doc;
if (!v16c) return;
const v16d = Math.round(v16c.zoom * 100);
…
s167903 Input v168 vp viewportRectUseful 0.85 viewportRectUseful 0.85 Both useful Present Pre-rename JavaScript · s167903 / v168 ×
Declaration · line 4836 …
const v166 = v15y.value / 100;
const v167 = 0.05 * Math.pow(32 / 0.05, v166);
const v168 = document.getElementById("viewport").getBoundingClientRect();
const v169 = v168.width / 2,
v16a = v168.height / 2;
v165.panX = v169 - (v169 - v165.panX) * (v167 / v165.zoom);
v165.panY = v16a - (v16a - v165.panY) * (v167 / v165.zoom);
…
s167985 Input v169 cx viewportCenterXUseful 0.91 viewportCenterXUseful 0.91 Both useful Present Pre-rename JavaScript · s167985 / v169 ×
Declaration · line 4837 …
const v168 = document.getElementById("viewport").getBoundingClientRect();
const v169 = v168.width / 2,
v16a = v168.height / 2;
v165.panX = v169 - (v169 - v165.panX) * (v167 / v165.zoom);
v165.panY = v16a - (v16a - v165.panY) * (v167 / v165.zoom);
v165.zoom = v167;
this._syncZoomUI(true);
…
s168018 Input v16a cy viewportCenterYUseful 0.87 viewportCenterYUseful 0.87 Both useful Present Pre-rename JavaScript · s168018 / v16a ×
Declaration · line 4838 …
const v168 = document.getElementById("viewport").getBoundingClientRect();
const v169 = v168.width / 2,
v16a = v168.height / 2;
v165.panX = v169 - (v169 - v165.panX) * (v167 / v165.zoom);
v165.panY = v16a - (v16a - v165.panY) * (v167 / v165.zoom);
v165.zoom = v167;
this._syncZoomUI(true);
v4i.emit("canvas:dirty");
…
s168302 Input v16b skipSlider skipSliderUpdateUseful 0.45 skipSliderUpdateUseful 0.45 Both poor Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s168302 / v16b ×
Declaration · line 4846 …
this._syncZoomUI(true);
v4i.emit("canvas:dirty");
});
}
_syncZoomUI(v16b ) {
const v16c = this.doc;
if (!v16c) return;
const v16d = Math.round(v16c.zoom * 100);
document.getElementById("zoom-input").value = v16d;
if (!v16b) {
const v16e = Math.log(v16c.zoom / 0.05) / Math.log(32 / 0.05);
…
s168322 Input v16c doc documentModelUseful 0.71 documentInstanceUseful 0.61 Both useful Present Usefulness probability is near the provisional 0.5 boundary. Preference confidence is low. Pre-rename JavaScript · s168322 / v16c ×
Declaration · line 4847 …
this._syncZoomUI(true);
v4i.emit("canvas:dirty");
});
}
_syncZoomUI(v16b) {
const v16c = this.doc;
if (!v16c) return;
const v16d = Math.round(v16c.zoom * 100);
document.getElementById("zoom-input").value = v16d;
if (!v16b) {
const v16e = Math.log(v16c.zoom / 0.05) / Math.log(32 / 0.05);
document.getElementById("zoom-slider").value = Math.round(v16e * 100);
…
s168376 Input v16d pct zoomPercentageUseful 0.90 zoomPercentageUseful 0.90 Both useful Present Pre-rename JavaScript · s168376 / v16d ×
Declaration · line 4849 …
_syncZoomUI(v16b) {
const v16c = this.doc;
if (!v16c) return;
const v16d = Math.round(v16c.zoom * 100);
document.getElementById("zoom-input").value = v16d;
if (!v16b) {
const v16e = Math.log(v16c.zoom / 0.05) / Math.log(32 / 0.05);
document.getElementById("zoom-slider").value = Math.round(v16e * 100);
…
s168503 Input v16e t sliderScaleValueUseful 0.50 zoomProgressUseful 0.65 Humanify better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s168503 / v16e ×
Declaration · line 4852 …
document.getElementById("zoom-input").value = v16d;
if (!v16b) {
const v16e = Math.log(v16c.zoom / 0.05) / Math.log(32 / 0.05);
document.getElementById("zoom-slider").value = Math.round(v16e * 100);
}
}
_initSelectionStatus() {
this._selectionStatus = document.getElementById("status-selection");
…
s168769 Input v16f update updateSelectionStatusListenerUseful 0.54 handleSelectionUpdateUseful 0.34 FlowName better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s168769 / v16f ×
Declaration · line 4858 …
_initSelectionStatus() {
this._selectionStatus = document.getElementById("status-selection");
const v16f = () => this._updateSelectionStatus();
v4i.on("doc:switched", v16f);
v4i.on("canvas:dirty", v16f);
v4i.on("layers:changed", v16f);
v16f();
}
_updateSelectionStatus() {
const v16g = this._selectionStatus;
…
s168986 Input v16g el selectionStatusElementUseful 0.92 selectionStatusElementUseful 0.92 Both useful Present Pre-rename JavaScript · s168986 / v16g ×
Declaration · line 4865 …
v4i.on("layers:changed", v16f);
v16f();
}
_updateSelectionStatus() {
const v16g = this._selectionStatus;
if (!v16g) return;
const v16h = this.doc?.selection?.active ? this.doc.selection.bounds : null;
if (!v16h) {
v16g.textContent = "";
v16g.classList.add("hidden");
return;
… Reference · line 4873 …
v16g.textContent = "";
v16g.classList.add("hidden");
return;
}
v16g .textContent = `Selection: ${v16h.w} x ${v16h.h}`;
v16g.classList.remove("hidden");
}
async pasteFromClipboard() {
try {
const v16i = await navigator.clipboard.read();
for (const v16j of v16i) {
const v16k = v16j.types.find(v16l => v16l.startsWith("image/"));
…
s169053 Input v16h bounds selectionBoundsUseful 0.91 selectionBoundsUseful 0.91 Both useful Present Pre-rename JavaScript · s169053 / v16h ×
Declaration · line 4867 …
_updateSelectionStatus() {
const v16g = this._selectionStatus;
if (!v16g) return;
const v16h = this.doc?.selection?.active ? this.doc.selection.bounds : null;
if (!v16h) {
v16g.textContent = "";
v16g.classList.add("hidden");
return;
}
v16g.textContent = `Selection: ${v16h.w} x ${v16h.h}`;
…
s169401 Input v16i items clipboardItemsUseful 0.83 clipboardItemsUseful 0.83 Both useful Present Pre-rename JavaScript · s169401 / v16i ×
Declaration · line 4878 …
v16g.classList.remove("hidden");
}
async pasteFromClipboard() {
try {
const v16i = await navigator.clipboard.read();
for (const v16j of v16i) {
const v16k = v16j.types.find(v16l => v16l.startsWith("image/"));
if (v16k) {
const v16m = await v16j.getType(v16k);
this._pasteImageBlob(v16m);
…
s169461 Input v16j item clipboardItemUseful 0.82 itemUseful 0.67 FlowName better Present Pre-rename JavaScript · s169461 / v16j ×
Declaration · line 4879 …
async pasteFromClipboard() {
try {
const v16i = await navigator.clipboard.read();
for (const v16j of v16i) {
const v16k = v16j.types.find(v16l => v16l.startsWith("image/"));
if (v16k) {
const v16m = await v16j.getType(v16k);
this._pasteImageBlob(v16m);
return;
}
}
…
s169493 Input v16k imageType imageTypeUseful 0.92 imageTypeUseful 0.92 Both useful Present Pre-rename JavaScript · s169493 / v16k ×
Declaration · line 4880 …
const v16i = await navigator.clipboard.read();
for (const v16j of v16i) {
const v16k = v16j.types.find(v16l => v16l.startsWith("image/"));
if (v16k) {
const v16m = await v16j.getType(v16k);
this._pasteImageBlob(v16m);
return;
}
}
} catch {}
}
_pasteAtPosition(v16n, v16o, v16p) {
…
s169516 Input v16l t mimeTypeUseful 0.83 mimeTypeUseful 0.83 Both useful Present Pre-rename JavaScript · s169516 / v16l ×
Declaration · line 4880 …
const v16i = await navigator.clipboard.read();
for (const v16j of v16i) {
const v16k = v16j.types.find(v16l => v16l.startsWith("image/"));
if (v16k) {
const v16m = await v16j.getType(v16k);
this._pasteImageBlob(v16m);
return;
}
}
} catch {}
}
_pasteAtPosition(v16n, v16o, v16p) {
…
s169592 Input v16m blob imageBlobUseful 0.16 imageType2Useful 0.25 Both poor Present Pre-rename JavaScript · s169592 / v16m ×
Declaration · line 4882 …
const v16k = v16j.types.find(v16l => v16l.startsWith("image/"));
if (v16k) {
const v16m = await v16j.getType(v16k);
this._pasteImageBlob(v16m);
return;
}
}
} catch {}
}
_pasteAtPosition(v16n, v16o, v16p) {
const v16q = this.doc;
if (!v16q) return;
let v16r, v16s;
…
s169751 Input v16n src sourceImageUseful 0.76 eventUseful 0.11 FlowName better Present Pre-rename JavaScript · s169751 / v16n ×
Declaration · line 4889 …
this._pasteImageBlob(v16m);
return;
}
}
} catch {}
}
_pasteAtPosition(v16n , v16o, v16p) {
const v16q = this.doc;
if (!v16q) return;
let v16r, v16s;
const v16t = v16q.selection;
if (v16t.active && v16t.bounds) {
v16r = v16t.bounds.x;
v16s = v16t.bounds.y;
} else {
… Reference · line 4913 …
v16q.saveStructureState("Paste");
}
const v16y = v16q.addLayer("Pasted");
v16y.ctx.drawImage(v16n , v16r, v16s);
v16q.selection.setRect(v16r, v16s, v16o, v16p);
v4i.emit("layers:changed");
v4i.emit("canvas:dirty");
}
_pasteInternalCanvas(v16z) {
if (!this.doc) return;
this._pasteAtPosition(v16z, v16z.width, v16z.height);
…
s169757 Input v16o pw imageWidthUseful 0.75 contentWidthUseful 0.34 FlowName better Present Pre-rename JavaScript · s169757 / v16o ×
Declaration · line 4889 …
return;
}
}
} catch {}
}
_pasteAtPosition(v16n, v16o , v16p) {
const v16q = this.doc;
if (!v16q) return;
let v16r, v16s;
const v16t = v16q.selection;
if (v16t.active && v16t.bounds) {
v16r = v16t.bounds.x;
v16s = v16t.bounds.y;
} else {
const v16u = document.getElementById("viewport").getBoundingClientRect()
… Reference · line 4900 …
const v16v = v16q.screenToDoc(v16u.width / 2, v16u.height / 2);
v16r = Math.round(v16v.x - v16o / 2);
v16s = Math.round(v16v.y - v16p / 2);
}
const v16w = Math.max(v16q.width, v16r + v16o);
const v16x = Math.max(v16q.height, v16s + v16p);
if (v16w > v16q.width || v16x > v16q.height) {
v16q.saveStructureState("Paste");
…
s169763 Input v16p ph imageHeightUseful 0.60 viewportHeightUseful 0.20 FlowName better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s169763 / v16p ×
Declaration · line 4889 …
return;
}
}
} catch {}
}
_pasteAtPosition(v16n, v16o, v16p ) {
const v16q = this.doc;
if (!v16q) return;
let v16r, v16s;
const v16t = v16q.selection;
if (v16t.active && v16t.bounds) {
v16r = v16t.bounds.x;
v16s = v16t.bounds.y;
} else {
const v16u = document.getElementById("viewport").getBoundingClientRect();
… Reference · line 4901 …
const v16v = v16q.screenToDoc(v16u.width / 2, v16u.height / 2);
v16r = Math.round(v16v.x - v16o / 2);
v16s = Math.round(v16v.y - v16p / 2);
}
const v16w = Math.max(v16q.width, v16r + v16o);
const v16x = Math.max(v16q.height, v16s + v16p);
if (v16w > v16q.width || v16x > v16q.height) {
v16q.saveStructureState("Paste");
v16q.resizeCanvas(v16w, v16x, 0, 0);
…
s169783 Input v16q doc documentModelUseful 0.73 documentInstanceUseful 0.58 FlowName better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s169783 / v16q ×
Declaration · line 4890 …
}
}
} catch {}
}
_pasteAtPosition(v16n, v16o, v16p) {
const v16q = this.doc;
if (!v16q) return;
let v16r, v16s;
const v16t = v16q.selection;
if (v16t.active && v16t.bounds) {
v16r = v16t.bounds.x;
v16s = v16t.bounds.y;
} else {
const v16u = document.getElementById("viewport").getBoundingClientRect();
… Reference · line 4899 …
const v16u = document.getElementById("viewport").getBoundingClientRect();
const v16v = v16q .screenToDoc(v16u.width / 2, v16u.height / 2);
v16r = Math.round(v16v.x - v16o / 2);
v16s = Math.round(v16v.y - v16p / 2);
}
const v16w = Math.max(v16q.width, v16r + v16o);
const v16x = Math.max(v16q.height, v16s + v16p);
…
s169835 Input v16r px destXUseful 0.69 targetXUseful 0.74 Both useful Present Preference confidence is low. Pre-rename JavaScript · s169835 / v16r ×
Declaration · line 4892 …
_pasteAtPosition(v16n, v16o, v16p) {
const v16q = this.doc;
if (!v16q) return;
let v16r , v16s;
const v16t = v16q.selection;
if (v16t.active && v16t.bounds) {
v16r = v16t.bounds.x;
v16s = v16t.bounds.y;
} else {
const v16u = document.getElementById("viewport").getBoundingClientRect();
… Reference · line 4900 …
const v16u = document.getElementById("viewport").getBoundingClientRect();
const v16v = v16q.screenToDoc(v16u.width / 2, v16u.height / 2);
v16r = Math.round(v16v.x - v16o / 2);
v16s = Math.round(v16v.y - v16p / 2);
}
const v16w = Math.max(v16q.width, v16r + v16o);
const v16x = Math.max(v16q.height, v16s + v16p);
if (v16w > v16q.width || v16x > v16q.height) {
…
s169841 Input v16s py destYUseful 0.59 targetYUseful 0.69 Both useful Present Usefulness probability is near the provisional 0.5 boundary. Preference confidence is low. Pre-rename JavaScript · s169841 / v16s ×
Declaration · line 4892 …
_pasteAtPosition(v16n, v16o, v16p) {
const v16q = this.doc;
if (!v16q) return;
let v16r, v16s ;
const v16t = v16q.selection;
if (v16t.active && v16t.bounds) {
v16r = v16t.bounds.x;
v16s = v16t.bounds.y;
} else {
const v16u = document.getElementById("viewport").getBoundingClientRect();
const v16v = v16q.screenToDoc(v16u.width / 2, v16u.height / 2);
… Reference · line 4901 …
const v16v = v16q.screenToDoc(v16u.width / 2, v16u.height / 2);
v16r = Math.round(v16v.x - v16o / 2);
v16s = Math.round(v16v.y - v16p / 2);
}
const v16w = Math.max(v16q.width, v16r + v16o);
const v16x = Math.max(v16q.height, v16s + v16p);
if (v16w > v16q.width || v16x > v16q.height) {
v16q.saveStructureState("Paste");
…
s169859 Input v16t sel selectionBoundsUseful 0.20 selectionUseful 0.80 Humanify better Present Pre-rename JavaScript · s169859 / v16t ×
Declaration · line 4893 …
_pasteAtPosition(v16n, v16o, v16p) {
const v16q = this.doc;
if (!v16q) return;
let v16r, v16s;
const v16t = v16q.selection;
if (v16t.active && v16t.bounds) {
v16r = v16t.bounds.x;
v16s = v16t.bounds.y;
} else {
const v16u = document.getElementById("viewport").getBoundingClientRect();
const v16v = v16q.screenToDoc(v16u.width / 2, v16u.height / 2);
…
s170011 Input v16u vp viewportRectUseful 0.83 viewportRect2Useful 0.56 FlowName better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s170011 / v16u ×
Declaration · line 4898 …
if (v16t.active && v16t.bounds) {
v16r = v16t.bounds.x;
v16s = v16t.bounds.y;
} else {
const v16u = document.getElementById("viewport").getBoundingClientRect();
const v16v = v16q.screenToDoc(v16u.width / 2, v16u.height / 2);
v16r = Math.round(v16v.x - v16o / 2);
v16s = Math.round(v16v.y - v16p / 2);
}
const v16w = Math.max(v16q.width, v16r + v16o);
…
s170093 Input v16v center docCoordUseful 0.58 docCoordsUseful 0.61 Both useful Present Usefulness probability is near the provisional 0.5 boundary. Preference confidence is low. Pre-rename JavaScript · s170093 / v16v ×
Declaration · line 4899 …
const v16u = document.getElementById("viewport").getBoundingClientRect();
const v16v = v16q.screenToDoc(v16u.width / 2, v16u.height / 2);
v16r = Math.round(v16v.x - v16o / 2);
v16s = Math.round(v16v.y - v16p / 2);
}
const v16w = Math.max(v16q.width, v16r + v16o);
const v16x = Math.max(v16q.height, v16s + v16p);
…
s170263 Input v16w needW newWidthUseful 0.44 viewportRectUseful 0.05 Both poor Absent Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s170263 / v16w ×
Declaration · line 4903 …
v16r = Math.round(v16v.x - v16o / 2);
v16s = Math.round(v16v.y - v16p / 2);
}
const v16w = Math.max(v16q.width, v16r + v16o);
const v16x = Math.max(v16q.height, v16s + v16p);
if (v16w > v16q.width || v16x > v16q.height) {
v16q.saveStructureState("Paste");
v16q.resizeCanvas(v16w, v16x, 0, 0);
document.getElementById("status-size").textContent = `${v16q.width} x ${v16
…
s170317 Input v16x needH newHeightUseful 0.69 docSelectionUseful 0.03 FlowName better Absent Pre-rename JavaScript · s170317 / v16x ×
Declaration · line 4904 …
v16s = Math.round(v16v.y - v16p / 2);
}
const v16w = Math.max(v16q.width, v16r + v16o);
const v16x = Math.max(v16q.height, v16s + v16p);
if (v16w > v16q.width || v16x > v16q.height) {
v16q.saveStructureState("Paste");
v16q.resizeCanvas(v16w, v16x, 0, 0);
document.getElementById("status-size").textContent = `${v16q.width} x ${v16q.height}`;
…
s170672 Input v16y layer pastedLayerUseful 0.87 selection2Useful 0.05 FlowName better Absent Pre-rename JavaScript · s170672 / v16y ×
Declaration · line 4912 …
ment.getElementById("status-size").textContent = `${v16q.width} x ${v16q.height}`;
} else {
v16q.saveStructureState("Paste");
}
const v16y = v16q.addLayer("Pasted");
v16y.ctx.drawImage(v16n, v16r, v16s);
v16q.selection.setRect(v16r, v16s, v16o, v16p);
v4i.emit("layers:changed");
v4i.emit("canvas:dirty");
}
_pasteInternalCanvas(v16z) {
if (!this.doc) return;
…
s170899 Input v16z srcCanvas canvasUseful 0.74 imageNodeUseful 0.12 FlowName better Present Pre-rename JavaScript · s170899 / v16z ×
Declaration · line 4918 …
v4i.emit("layers:changed");
v4i.emit("canvas:dirty");
}
_pasteInternalCanvas(v16z ) {
if (!this.doc) return;
this._pasteAtPosition(v16z, v16z.width, v16z.height);
}
_pasteImageBlob(v170) {
const v171 = URL.createObjectURL(v170);
const v172 = new Image();
v172.onload = () => {
v4i._lastClipboardSize = {
…
s171022 Input v170 blob imageBlobUseful 0.76 blobUseful 0.88 Both useful Present Preference confidence is low. Pre-rename JavaScript · s171022 / v170 ×
Declaration · line 4922 …
if (!this.doc) return;
this._pasteAtPosition(v16z, v16z.width, v16z.height);
}
_pasteImageBlob(v170 ) {
const v171 = URL.createObjectURL(v170);
const v172 = new Image();
v172.onload = () => {
v4i._lastClipboardSize = {
width: v172.width,
height: v172.height
};
if (this.doc) {
…
s171042 Input v171 url objectUrlUseful 0.87 objectUrlUseful 0.87 Both useful Present Pre-rename JavaScript · s171042 / v171 ×
Declaration · line 4923 …
this._pasteAtPosition(v16z, v16z.width, v16z.height);
}
_pasteImageBlob(v170) {
const v171 = URL.createObjectURL(v170);
const v172 = new Image();
v172.onload = () => {
v4i._lastClipboardSize = {
width: v172.width,
height: v172.height
};
if (this.doc) {
this._pasteAtPosition(v172, v172.width, v172.height);
… Reference · line 4940 …
v173.activeLayer.ctx.drawImage(v172, 0, 0);
v4i.emit("canvas:dirty");
}
URL.revokeObjectURL(v171 );
}, 50);
return;
}
URL.revokeObjectURL(v171);
};
v172.src = v171;
}
static async getClipboardImageSize() {
try {
const v174 = await navigator.clipboard.read();
for (const v175 of v174) {
…
s171088 Input v172 img imageElementUseful 0.83 clipboardImageUseful 0.30 FlowName better Present Pre-rename JavaScript · s171088 / v172 ×
Declaration · line 4924 …
}
_pasteImageBlob(v170) {
const v171 = URL.createObjectURL(v170);
const v172 = new Image();
v172.onload = () => {
v4i._lastClipboardSize = {
width: v172.width,
height: v172.height
};
if (this.doc) {
this._pasteAtPosition(v172, v172.width, v172.height);
… Reference · line 4933 …
this._pasteAtPosition(v172, v172.width, v172.height);
} else {
v4i.emit("doc:new", v172 .width, v172.height, "Pasted", "transparent");
setTimeout(() => {
const v173 = this.doc;
if (v173) {
v173.activeLayer.ctx.drawImage(v172, 0, 0);
v4i.emit("canvas:dirty");
}
…
s171474 Input v173 newDoc documentInstanceUseful 0.69 documentUseful 0.24 FlowName better Present Pre-rename JavaScript · s171474 / v173 ×
Declaration · line 4935 …
v4i.emit("doc:new", v172.width, v172.height, "Pasted", "transparent");
setTimeout(() => {
const v173 = this.doc;
if (v173) {
v173.activeLayer.ctx.drawImage(v172, 0, 0);
v4i.emit("canvas:dirty");
}
URL.revokeObjectURL(v171);
}, 50);
return;
}
URL.revokeObjectURL(v171);
…
s171854 Input v174 items clipboardItemsUseful 0.83 clipboardItemsUseful 0.83 Both useful Present Pre-rename JavaScript · s171854 / v174 ×
Declaration · line 4950 …
v172.src = v171;
}
static async getClipboardImageSize() {
try {
const v174 = await navigator.clipboard.read();
for (const v175 of v174) {
const v176 = v175.types.find(v177 => v177.startsWith("image/"));
if (v176) {
const v178 = await v175.getType(v176);
return new Promise(v179 => {
…
s171914 Input v175 item clipboardItemUseful 0.82 fileItemUseful 0.35 FlowName better Present Pre-rename JavaScript · s171914 / v175 ×
Declaration · line 4951 …
static async getClipboardImageSize() {
try {
const v174 = await navigator.clipboard.read();
for (const v175 of v174) {
const v176 = v175.types.find(v177 => v177.startsWith("image/"));
if (v176) {
const v178 = await v175.getType(v176);
return new Promise(v179 => {
const v17a = URL.createObjectURL(v178);
…
s171946 Input v176 imageType imageTypeUseful 0.92 imageTypeUseful 0.92 Both useful Present Pre-rename JavaScript · s171946 / v176 ×
Declaration · line 4952 …
const v174 = await navigator.clipboard.read();
for (const v175 of v174) {
const v176 = v175.types.find(v177 => v177.startsWith("image/"));
if (v176) {
const v178 = await v175.getType(v176);
return new Promise(v179 => {
const v17a = URL.createObjectURL(v178);
const v17b = new Image();
…
s171969 Input v177 t mimeTypeUseful 0.82 mimeTypeUseful 0.82 Both useful Present Pre-rename JavaScript · s171969 / v177 ×
Declaration · line 4952 …
const v174 = await navigator.clipboard.read();
for (const v175 of v174) {
const v176 = v175.types.find(v177 => v177.startsWith("image/"));
if (v176) {
const v178 = await v175.getType(v176);
return new Promise(v179 => {
const v17a = URL.createObjectURL(v178);
const v17b = new Image();
…
s172045 Input v178 blob imageBlobUseful 0.82 blobUseful 0.85 Both useful Present Preference confidence is low. Pre-rename JavaScript · s172045 / v178 ×
Declaration · line 4954 …
const v176 = v175.types.find(v177 => v177.startsWith("image/"));
if (v176) {
const v178 = await v175.getType(v176);
return new Promise(v179 => {
const v17a = URL.createObjectURL(v178);
const v17b = new Image();
v17b.onload = () => {
v179({
width: v17b.width,
…
s172109 Input v179 resolve resolveUseful 0.82 callback2Useful 0.27 FlowName better Present Pre-rename JavaScript · s172109 / v179 ×
Declaration · line 4955 …
if (v176) {
const v178 = await v175.getType(v176);
return new Promise(v179 => {
const v17a = URL.createObjectURL(v178);
const v17b = new Image();
v17b.onload = () => {
v179({
width: v17b.width,
height: v17b.height
});
… Reference · line 4966 …
URL.revokeObjectURL(v17a);
};
v17b.onerror = () => {
v179 (null);
URL.revokeObjectURL(v17a);
};
v17b.src = v17a;
});
}
}
} catch {}
return null;
}
showNewDialog() {
this.newDialog.show();
}
undo() {
…
s172139 Input v17a url objectUrlUseful 0.84 objectUrlUseful 0.84 Both useful Present Pre-rename JavaScript · s172139 / v17a ×
Declaration · line 4956 …
const v178 = await v175.getType(v176);
return new Promise(v179 => {
const v17a = URL.createObjectURL(v178);
const v17b = new Image();
v17b.onload = () => {
v179({
width: v17b.width,
height: v17b.height
});
URL.revokeObjectURL(v17a);
… Reference · line 4967 …
v17b.onerror = () => {
v179(null);
URL.revokeObjectURL(v17a );
};
v17b.src = v17a;
});
}
}
} catch {}
return null;
}
showNewDialog() {
this.newDialog.show();
}
undo() {
if (!this.doc) return;
const v17c = this.toolManager.activeTool;
…
s172193 Input v17b img imageUseful 0.50 imageElementUseful 0.82 Humanify better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s172193 / v17b ×
Declaration · line 4957 …
return new Promise(v179 => {
const v17a = URL.createObjectURL(v178);
const v17b = new Image();
v17b.onload = () => {
v179({
width: v17b.width,
height: v17b.height
});
URL.revokeObjectURL(v17a);
};
v17b.onerror = () => {
… Reference · line 4969 …
v179(null);
URL.revokeObjectURL(v17a);
};
v17b .src = v17a;
});
}
}
} catch {}
return null;
}
showNewDialog() {
this.newDialog.show();
}
undo() {
if (!this.doc) return;
const v17c = this.toolManager.activeTool;
…
s172774 Input v17c tool activeToolUseful 0.83 activeToolUseful 0.83 Both useful Present Pre-rename JavaScript · s172774 / v17c ×
Declaration · line 4981 …
showNewDialog() {
this.newDialog.show();
}
undo() {
if (!this.doc) return;
const v17c = this.toolManager.activeTool;
if (v17c && v17c._active) {
v17c._active = false;
v17c._dragging = false;
if (v17c._buffer) v17c._buffer = null;
}
if (this.doc.undo()) {
v4i.emit("canvas:dirty");
…
s173231 Input v17d tool activeToolUseful 0.74 activeToolUseful 0.74 Both useful Present Pre-rename JavaScript · s173231 / v17d ×
Declaration · line 4995 …
ument.getElementById("status-size").textContent = `${this.doc.width} x ${this.doc.height}`;
}
}
redo() {
if (!this.doc) return;
const v17d = this.toolManager.activeTool;
if (v17d && v17d._active) {
v17d._active = false;
v17d._dragging = false;
if (v17d._buffer) v17d._buffer = null;
}
if (this.doc.redo()) {
v4i.emit("canvas:dirty");
…
s174040 Input v17e doc docUseful 0.80 document2Useful 0.10 FlowName better Present Pre-rename JavaScript · s174040 / v17e ×
Declaration · line 5020 …
this.doc.selection.clear();
v4i.emit("canvas:dirty");
}
copySelection() {
const v17e = this.doc;
if (!v17e) return;
const v17f = v17e.activeLayer;
if (!v17f) return;
let v17g = 0,
v17h = 0,
v17i = v17e.width,
v17j = v17e.height;
const v17k = v17e.selection;
if (v17k.active && v17k.bounds) {
…
s174094 Input v17f layer activeLayerUseful 0.72 activeLayerUseful 0.72 Both useful Present Pre-rename JavaScript · s174094 / v17f ×
Declaration · line 5022 …
}
copySelection() {
const v17e = this.doc;
if (!v17e) return;
const v17f = v17e.activeLayer;
if (!v17f) return;
let v17g = 0,
v17h = 0,
v17i = v17e.width,
v17j = v17e.height;
const v17k = v17e.selection;
if (v17k.active && v17k.bounds) {
v17g = v17k.bounds.x;
… Reference · line 5039 …
v17l.width = v17i;
v17l.height = v17j;
const v17m = v17l.getContext("2d");
v17m.drawImage(v17f .canvas, v17g, v17h, v17i, v17j, 0, 0, v17i, v17j);
if (v17k.active && v17k.mask) {
const v17n = v17m.getImageData(0, 0, v17i, v17j);
const v17o = v17n.data;
for (let v17p = 0; v17p < v17j; v17p++) {
for (let v17q = 0; v17q < v17i; v17q++) {
…
s174154 Input v17g sx selectionXUseful 0.75 selectionXUseful 0.75 Both useful Present Pre-rename JavaScript · s174154 / v17g ×
Declaration · line 5024 …
if (!v17e) return;
const v17f = v17e.activeLayer;
if (!v17f) return;
let v17g = 0,
v17h = 0,
v17i = v17e.width,
v17j = v17e.height;
const v17k = v17e.selection;
if (v17k.active && v17k.bounds) {
v17g = v17k.bounds.x;
v17h = v17k.bounds.y;
v17i = v17k.bounds.w;
… Reference · line 5039 …
v17l.height = v17j;
const v17m = v17l.getContext("2d");
v17m.drawImage(v17f.canvas, v17g , v17h, v17i, v17j, 0, 0, v17i, v17j);
if (v17k.active && v17k.mask) {
const v17n = v17m.getImageData(0, 0, v17i, v17j);
const v17o = v17n.data;
for (let v17p = 0; v17p < v17j; v17p++) {
for (let v17q = 0; v17q < v17i; v17q++) {
…
s174172 Input v17h sy selectionYUseful 0.76 selectionYUseful 0.76 Both useful Present Pre-rename JavaScript · s174172 / v17h ×
Declaration · line 5025 …
const v17f = v17e.activeLayer;
if (!v17f) return;
let v17g = 0,
v17h = 0,
v17i = v17e.width,
v17j = v17e.height;
const v17k = v17e.selection;
if (v17k.active && v17k.bounds) {
v17g = v17k.bounds.x;
v17h = v17k.bounds.y;
v17i = v17k.bounds.w;
v17j = v17k.bounds.h;
… Reference · line 5039 …
v17l.height = v17j;
const v17m = v17l.getContext("2d");
v17m.drawImage(v17f.canvas, v17g, v17h , v17i, v17j, 0, 0, v17i, v17j);
if (v17k.active && v17k.mask) {
const v17n = v17m.getImageData(0, 0, v17i, v17j);
const v17o = v17n.data;
for (let v17p = 0; v17p < v17j; v17p++) {
for (let v17q = 0; v17q < v17i; v17q++) {
…
s174190 Input v17i sw selectionWidthUseful 0.64 selectionWidthUseful 0.64 Both useful Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s174190 / v17i ×
Declaration · line 5026 …
const v17f = v17e.activeLayer;
if (!v17f) return;
let v17g = 0,
v17h = 0,
v17i = v17e.width,
v17j = v17e.height;
const v17k = v17e.selection;
if (v17k.active && v17k.bounds) {
v17g = v17k.bounds.x;
v17h = v17k.bounds.y;
v17i = v17k.bounds.w;
v17j = v17k.bounds.h;
… Reference · line 5036 …
v17j = v17k.bounds.h;
}
const v17l = document.createElement("canvas");
v17l.width = v17i ;
v17l.height = v17j;
const v17m = v17l.getContext("2d");
v17m.drawImage(v17f.canvas, v17g, v17h, v17i, v17j, 0, 0, v17i, v17j);
if (v17k.active && v17k.mask) {
const v17n = v17m.getImageData(0, 0, v17i, v17j);
…
s174217 Input v17j sh selectionHeightUseful 0.67 selectionHeightUseful 0.67 Both useful Present Pre-rename JavaScript · s174217 / v17j ×
Declaration · line 5027 …
if (!v17f) return;
let v17g = 0,
v17h = 0,
v17i = v17e.width,
v17j = v17e.height;
const v17k = v17e.selection;
if (v17k.active && v17k.bounds) {
v17g = v17k.bounds.x;
v17h = v17k.bounds.y;
v17i = v17k.bounds.w;
v17j = v17k.bounds.h;
}
const v17l = document.createElement("canvas");
… Reference · line 5037 …
const v17l = document.createElement("canvas");
v17l.width = v17i;
v17l.height = v17j ;
const v17m = v17l.getContext("2d");
v17m.drawImage(v17f.canvas, v17g, v17h, v17i, v17j, 0, 0, v17i, v17j);
if (v17k.active && v17k.mask) {
const v17n = v17m.getImageData(0, 0, v17i, v17j);
const v17o = v17n.data;
…
s174249 Input v17k sel selectionUseful 0.91 selectionUseful 0.91 Both useful Present Pre-rename JavaScript · s174249 / v17k ×
Declaration · line 5028 …
let v17g = 0,
v17h = 0,
v17i = v17e.width,
v17j = v17e.height;
const v17k = v17e.selection;
if (v17k.active && v17k.bounds) {
v17g = v17k.bounds.x;
v17h = v17k.bounds.y;
v17i = v17k.bounds.w;
v17j = v17k.bounds.h;
}
const v17l = document.createElement("canvas");
… Reference · line 5040 …
const v17m = v17l.getContext("2d");
v17m.drawImage(v17f.canvas, v17g, v17h, v17i, v17j, 0, 0, v17i, v17j);
if (v17k .active && v17k.mask) {
const v17n = v17m.getImageData(0, 0, v17i, v17j);
const v17o = v17n.data;
for (let v17p = 0; v17p < v17j; v17p++) {
for (let v17q = 0; v17q < v17i; v17q++) {
if (!v17k.isSelected(v17q + v17g, v17p + v17h)) {
…
s174452 Input v17l tmp canvasUseful 0.68 canvasElementUseful 0.72 Both useful Present Preference confidence is low. Pre-rename JavaScript · s174452 / v17l ×
Declaration · line 5035 …
v17h = v17k.bounds.y;
v17i = v17k.bounds.w;
v17j = v17k.bounds.h;
}
const v17l = document.createElement("canvas");
v17l.width = v17i;
v17l.height = v17j;
const v17m = v17l.getContext("2d");
v17m.drawImage(v17f.canvas, v17g, v17h, v17i, v17j, 0, 0, v17i, v17j);
if (v17k.active && v17k.mask) {
… Reference · line 5056 …
}
}
v17m.putImageData(v17n, 0, 0);
}
v4i._copiedCanvas = v17l ;
try {
const v17s = new Promise(v17t => v17l.toBlob(v17t, "image/png"));
navigator.clipboard.write([new ClipboardItem({
"image/png": v17s
})]);
} catch (v17u) {}
v4i._lastClipboardSize = {
…
s174556 Input v17m tctx ctxUseful 0.73 canvasElement2Useful 0.20 FlowName better Absent Pre-rename JavaScript · s174556 / v17m ×
Declaration · line 5038 …
const v17l = document.createElement("canvas");
v17l.width = v17i;
v17l.height = v17j;
const v17m = v17l.getContext("2d");
v17m.drawImage(v17f.canvas, v17g, v17h, v17i, v17j, 0, 0, v17i, v17j);
if (v17k.active && v17k.mask) {
const v17n = v17m.getImageData(0, 0, v17i, v17j);
const v17o = v17n.data;
for (let v17p = 0; v17p < v17j; v17p++) {
… Reference · line 5054 …
v17o[v17r + 2] = 0;
v17o[v17r + 3] = 0;
}
}
}
v17m .putImageData(v17n, 0, 0);
}
v4i._copiedCanvas = v17l;
try {
const v17s = new Promise(v17t => v17l.toBlob(v17t, "image/png"));
navigator.clipboard.write([new ClipboardItem({
"image/png": v17s
})]);
…
s174715 Input v17n id imageDataUseful 0.90 imageDataUseful 0.90 Both useful Present Pre-rename JavaScript · s174715 / v17n ×
Declaration · line 5041 …
v17m.drawImage(v17f.canvas, v17g, v17h, v17i, v17j, 0, 0, v17i, v17j);
if (v17k.active && v17k.mask) {
const v17n = v17m.getImageData(0, 0, v17i, v17j);
const v17o = v17n.data;
for (let v17p = 0; v17p < v17j; v17p++) {
for (let v17q = 0; v17q < v17i; v17q++) {
if (!v17k.isSelected(v17q + v17g, v17p + v17h)) {
const v17r = (v17p * v17i + v17q) * 4;
… Reference · line 5054 …
v17o[v17r + 3] = 0;
}
}
}
v17m.putImageData(v17n , 0, 0);
}
v4i._copiedCanvas = v17l;
try {
const v17s = new Promise(v17t => v17l.toBlob(v17t, "image/png"));
navigator.clipboard.write([new ClipboardItem({
"image/png": v17s
})]);
} catch (v17u) {}
…
s174773 Input v17o d pixelsUseful 0.67 pixelDataUseful 0.84 Humanify better Present Pre-rename JavaScript · s174773 / v17o ×
Declaration · line 5042 …
if (v17k.active && v17k.mask) {
const v17n = v17m.getImageData(0, 0, v17i, v17j);
const v17o = v17n.data;
for (let v17p = 0; v17p < v17j; v17p++) {
for (let v17q = 0; v17q < v17i; v17q++) {
if (!v17k.isSelected(v17q + v17g, v17p + v17h)) {
const v17r = (v17p * v17i + v17q) * 4;
v17o[v17r] = 0;
… Reference · line 5048 …
const v17r = (v17p * v17i + v17q) * 4;
v17o[v17r] = 0;
v17o [v17r + 1] = 0;
v17o[v17r + 2] = 0;
v17o[v17r + 3] = 0;
}
}
}
v17m.putImageData(v17n, 0, 0);
}
v4i._copiedCanvas = v17l;
try {
const v17s = new Promise(v17t => v17l.toBlob(v17t, "image/png"));
…
s174808 Input v17p row rowUseful 0.82 yUseful 0.68 FlowName better Present Pre-rename JavaScript · s174808 / v17p ×
Declaration · line 5043 …
const v17n = v17m.getImageData(0, 0, v17i, v17j);
const v17o = v17n.data;
for (let v17p = 0; v17p < v17j; v17p++) {
for (let v17q = 0; v17q < v17i; v17q++) {
if (!v17k.isSelected(v17q + v17g, v17p + v17h)) {
const v17r = (v17p * v17i + v17q) * 4;
v17o[v17r] = 0;
v17o[v17r + 1] = 0;
…
s174860 Input v17q col colUseful 0.85 colIndexUseful 0.80 Both useful Present Preference confidence is low. Pre-rename JavaScript · s174860 / v17q ×
Declaration · line 5044 …
const v17o = v17n.data;
for (let v17p = 0; v17p < v17j; v17p++) {
for (let v17q = 0; v17q < v17i; v17q++) {
if (!v17k.isSelected(v17q + v17g, v17p + v17h)) {
const v17r = (v17p * v17i + v17q) * 4;
v17o[v17r] = 0;
v17o[v17r + 1] = 0;
v17o[v17r + 2] = 0;
…
s174975 Input v17r pi pixelIndexUseful 0.89 pixelIndexUseful 0.89 Both useful Present Pre-rename JavaScript · s174975 / v17r ×
Declaration · line 5046 …
for (let v17q = 0; v17q < v17i; v17q++) {
if (!v17k.isSelected(v17q + v17g, v17p + v17h)) {
const v17r = (v17p * v17i + v17q) * 4;
v17o[v17r] = 0;
v17o[v17r + 1] = 0;
v17o[v17r + 2] = 0;
v17o[v17r + 3] = 0;
}
}
}
v17m.putImageData(v17n, 0, 0);
}
…
s175281 Input v17s blobPromise canvasBlobPromiseUseful 0.79 imageBlobPromiseUseful 0.72 Both useful Present Preference confidence is low. Pre-rename JavaScript · s175281 / v17s ×
Declaration · line 5058 …
v17m.putImageData(v17n, 0, 0);
}
v4i._copiedCanvas = v17l;
try {
const v17s = new Promise(v17t => v17l.toBlob(v17t, "image/png"));
navigator.clipboard.write([new ClipboardItem({
"image/png": v17s
})]);
} catch (v17u) {}
v4i._lastClipboardSize = {
width: v17i,
height: v17j
…
s175300 Input v17t resolve resolveUseful 0.82 callback2Useful 0.24 FlowName better Present Pre-rename JavaScript · s175300 / v17t ×
Declaration · line 5058 …
v17m.putImageData(v17n, 0, 0);
}
v4i._copiedCanvas = v17l;
try {
const v17s = new Promise(v17t => v17l.toBlob(v17t, "image/png"));
navigator.clipboard.write([new ClipboardItem({
"image/png": v17s
})]);
} catch (v17u) {}
v4i._lastClipboardSize = {
width: v17i,
height: v17j
};
…
s175453 Input v17u err errorUseful 0.89 v17uUseful 0.08 FlowName better Absent Pre-rename JavaScript · s175453 / v17u ×
Declaration · line 5062 …
navigator.clipboard.write([new ClipboardItem({
"image/png": v17s
})]);
} catch (v17u ) {}
v4i._lastClipboardSize = {
width: v17i,
height: v17j
};
}
cutSelection() {
this.copySelection();
this._deleteSelection();
}
_deleteSelection() {
const v17v = this.doc;
if (!v17v || !v17v.selection.active) return;
…
s175675 Input v17v doc docUseful 0.85 documentUseful 0.71 FlowName better Present Pre-rename JavaScript · s175675 / v17v ×
Declaration · line 5073 …
this.copySelection();
this._deleteSelection();
}
_deleteSelection() {
const v17v = this.doc;
if (!v17v || !v17v.selection.active) return;
v17v.saveDrawState("Delete Selection");
const v17w = v17v.activeLayer;
const v17x = v17v.selection;
if (v17x.bounds) {
const {
x: v17y,
… Reference · line 5086 …
} = v17x.bounds;
if (v17x.mask) {
const v182 = v17w.ctx.getImageData(0, 0, v17v .width, v17v.height);
for (let v183 = v17z; v183 < v17z + v181 && v183 < v17v.height; v183++) {
for (let v184 = v17y; v184 < v17y + v180 && v184 < v17v.width; v184++) {
if (v17x.mask[v183 * v17v.width + v184]) {
…
s175801 Input v17w layer activeLayerUseful 0.79 activeLayerUseful 0.79 Both useful Present Pre-rename JavaScript · s175801 / v17w ×
Declaration · line 5076 …
if (!v17v || !v17v.selection.active) return;
v17v.saveDrawState("Delete Selection");
const v17w = v17v.activeLayer;
const v17x = v17v.selection;
if (v17x.bounds) {
const {
x: v17y,
y: v17z,
w: v180,
h: v181
} = v17x.bounds;
if (v17x.mask) {
const v182 = v17w.ctx.getImageData(0, 0, v17v.width, v17v.height);
… Reference · line 5098 …
v182.data[v185 + 3] = 0;
}
}
}
v17w .ctx.putImageData(v182, 0, 0);
} else {
v17w.ctx.clearRect(v17y, v17z, v180, v181);
}
}
v4i.emit("canvas:dirty");
}
flattenImage() {
const v186 = this.doc;
if (!v186 || v186.layers.length <= 1) return;
…
s175838 Input v17x sel selectionUseful 0.93 selectionUseful 0.93 Both useful Present Pre-rename JavaScript · s175838 / v17x ×
Declaration · line 5077 …
v17v.saveDrawState("Delete Selection");
const v17w = v17v.activeLayer;
const v17x = v17v.selection;
if (v17x.bounds) {
const {
x: v17y,
y: v17z,
w: v180,
h: v181
} = v17x.bounds;
if (v17x.mask) {
const v182 = v17w.ctx.getImageData(0, 0, v17v.width, v17v.height);
… Reference · line 5089 …
for (let v184 = v17y; v184 < v17y + v180 && v184 < v17v.width; v184++) {
if (v17x .mask[v183 * v17v.width + v184]) {
const v185 = (v183 * v17v.width + v184) * 4;
v182.data[v185] = 0;
v182.data[v185 + 1] = 0;
v182.data[v185 + 2] = 0;
v182.data[v185 + 3] = 0;
…
s175915 Input v17y x startXUseful 0.58 boundsXUseful 0.76 Humanify better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s175915 / v17y ×
Declaration · line 5080 …
const v17w = v17v.activeLayer;
const v17x = v17v.selection;
if (v17x.bounds) {
const {
x: v17y ,
y: v17z,
w: v180,
h: v181
} = v17x.bounds;
if (v17x.mask) {
const v182 = v17w.ctx.getImageData(0, 0, v17v.width, v17v.height);
for (let v183 = v17z; v183 < v17z + v181 && v183 < v17v.height; v183++) {
… Reference · line 5088 …
for (let v183 = v17z; v183 < v17z + v181 && v183 < v17v.height; v183++) {
for (let v184 = v17y ; v184 < v17y + v180 && v184 < v17v.width; v184++) {
if (v17x.mask[v183 * v17v.width + v184]) {
const v185 = (v183 * v17v.width + v184) * 4;
v182.data[v185] = 0;
v182.data[v185 + 1] = 0;
…
s175934 Input v17z y startYUseful 0.38 boundsYUseful 0.71 Humanify better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s175934 / v17z ×
Declaration · line 5081 …
const v17x = v17v.selection;
if (v17x.bounds) {
const {
x: v17y,
y: v17z ,
w: v180,
h: v181
} = v17x.bounds;
if (v17x.mask) {
const v182 = v17w.ctx.getImageData(0, 0, v17v.width, v17v.height);
for (let v183 = v17z; v183 < v17z + v181 && v183 < v17v.height; v183++) {
… Reference · line 5100 …
v17w.ctx.putImageData(v182, 0, 0);
} else {
v17w.ctx.clearRect(v17y, v17z , v180, v181);
}
}
v4i.emit("canvas:dirty");
}
flattenImage() {
const v186 = this.doc;
if (!v186 || v186.layers.length <= 1) return;
v186.saveStructureState("Flatten");
v186.compositeAll();
…
s175953 Input v180 w widthUseful 0.85 widthUseful 0.85 Both useful Present Pre-rename JavaScript · s175953 / v180 ×
Declaration · line 5082 …
if (v17x.bounds) {
const {
x: v17y,
y: v17z,
w: v180 ,
h: v181
} = v17x.bounds;
if (v17x.mask) {
const v182 = v17w.ctx.getImageData(0, 0, v17v.width, v17v.height);
for (let v183 = v17z; v183 < v17z + v181 && v183 < v17v.height; v183++) {
for (let v184 = v17y; v184 < v17y + v180 && v184 < v17v.width; v184++) {
… Reference · line 5100 …
v17w.ctx.putImageData(v182, 0, 0);
} else {
v17w.ctx.clearRect(v17y, v17z, v180 , v181);
}
}
v4i.emit("canvas:dirty");
}
flattenImage() {
const v186 = this.doc;
if (!v186 || v186.layers.length <= 1) return;
v186.saveStructureState("Flatten");
v186.compositeAll();
const v187 = v186.layers[0];
…
s175972 Input v181 h heightUseful 0.91 heightUseful 0.91 Both useful Present Pre-rename JavaScript · s175972 / v181 ×
Declaration · line 5083 …
if (v17x.bounds) {
const {
x: v17y,
y: v17z,
w: v180,
h: v181
} = v17x.bounds;
if (v17x.mask) {
const v182 = v17w.ctx.getImageData(0, 0, v17v.width, v17v.height);
for (let v183 = v17z; v183 < v17z + v181 && v183 < v17v.height; v183++) {
for (let v184 = v17y; v184 < v17y + v180 && v184 < v17v.width; v184++) {
… Reference · line 5100 …
v17w.ctx.putImageData(v182, 0, 0);
} else {
v17w.ctx.clearRect(v17y, v17z, v180, v181 );
}
}
v4i.emit("canvas:dirty");
}
flattenImage() {
const v186 = this.doc;
if (!v186 || v186.layers.length <= 1) return;
v186.saveStructureState("Flatten");
v186.compositeAll();
const v187 = v186.layers[0];
…
s176043 Input v182 imageData imageDataUseful 0.91 imageDataUseful 0.91 Both useful Present Pre-rename JavaScript · s176043 / v182 ×
Declaration · line 5086 …
w: v180,
h: v181
} = v17x.bounds;
if (v17x.mask) {
const v182 = v17w.ctx.getImageData(0, 0, v17v.width, v17v.height);
for (let v183 = v17z; v183 < v17z + v181 && v183 < v17v.height; v183++) {
for (let v184 = v17y; v184 < v17y + v180 && v184 < v17v.width; v184++) {
if (v17x.mask[v183 * v17v.width + v184]) {
… Reference · line 5091 …
if (v17x.mask[v183 * v17v.width + v184]) {
const v185 = (v183 * v17v.width + v184) * 4;
v182 .data[v185] = 0;
v182.data[v185 + 1] = 0;
v182.data[v185 + 2] = 0;
v182.data[v185 + 3] = 0;
}
}
}
v17w.ctx.putImageData(v182, 0, 0);
} else {
…
s176123 Input v183 row yUseful 0.14 rowUseful 0.78 Humanify better Present Pre-rename JavaScript · s176123 / v183 ×
Declaration · line 5087 …
const v182 = v17w.ctx.getImageData(0, 0, v17v.width, v17v.height);
for (let v183 = v17z; v183 < v17z + v181 && v183 < v17v.height; v183++) {
for (let v184 = v17y; v184 < v17y + v180 && v184 < v17v.width; v184++) {
if (v17x.mask[v183 * v17v.width + v184]) {
const v185 = (v183 * v17v.width + v184) * 4;
…
s176209 Input v184 col xUseful 0.19 xUseful 0.19 Both poor Present Pre-rename JavaScript · s176209 / v184 ×
Declaration · line 5088 …
for (let v183 = v17z; v183 < v17z + v181 && v183 < v17v.height; v183++) {
for (let v184 = v17y; v184 < v17y + v180 && v184 < v17v.width; v184++) {
if (v17x.mask[v183 * v17v.width + v184]) {
const v185 = (v183 * v17v.width + v184) * 4;
v182.data[v185] = 0;
v182.data[v185 + 1] = 0;
…
s176352 Input v185 idx pixelIndexUseful 0.81 pixelIndexUseful 0.81 Both useful Present Pre-rename JavaScript · s176352 / v185 ×
Declaration · line 5090 …
for (let v184 = v17y; v184 < v17y + v180 && v184 < v17v.width; v184++) {
if (v17x.mask[v183 * v17v.width + v184]) {
const v185 = (v183 * v17v.width + v184) * 4;
v182.data[v185] = 0;
v182.data[v185 + 1] = 0;
v182.data[v185 + 2] = 0;
v182.data[v185 + 3] = 0;
}
}
}
…
s176798 Input v186 doc docUseful 0.82 documentUseful 0.74 FlowName better Present Pre-rename JavaScript · s176798 / v186 ×
Declaration · line 5106 …
v17w.ctx.clearRect(v17y, v17z, v180, v181);
}
}
v4i.emit("canvas:dirty");
}
flattenImage() {
const v186 = this.doc;
if (!v186 || v186.layers.length <= 1) return;
v186.saveStructureState("Flatten");
v186.compositeAll();
const v187 = v186.layers[0];
v187.clear();
v187.ctx.drawImage(v186.composite, 0, 0);
… Reference · line 5117 …
v187.opacity = 1;
v187.visible = true;
v187.blendMode = "source-over";
v186 .layers = [v187];
v186.activeLayerIndex = 0;
v4i.emit("layers:changed");
v4i.emit("canvas:dirty");
}
splitSpriteSheet() {
const v188 = this.doc;
if (!v188) return;
const v189 = v188.activeLayer;
…
s176948 Input v187 layer bottomLayerUseful 0.49 backgroundLayerUseful 0.84 Humanify better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s176948 / v187 ×
Declaration · line 5110 …
if (!v186 || v186.layers.length <= 1) return;
v186.saveStructureState("Flatten");
v186.compositeAll();
const v187 = v186.layers[0];
v187.clear();
v187.ctx.drawImage(v186.composite, 0, 0);
v187.name = "Background";
v187.opacity = 1;
v187.visible = true;
v187.blendMode = "source-over";
v186.layers = [v187];
v186.activeLayerIndex = 0;
…
s177330 Input v188 doc docUseful 0.84 document2Useful 0.18 FlowName better Present Pre-rename JavaScript · s177330 / v188 ×
Declaration · line 5123 …
v4i.emit("layers:changed");
v4i.emit("canvas:dirty");
}
splitSpriteSheet() {
const v188 = this.doc;
if (!v188) return;
const v189 = v188.activeLayer;
if (!v189) return;
const v18a = v188.height;
const v18b = Math.floor(v188.width / v18a);
if (v18b <= 1) return;
v188.saveStructureState("Split Sprite Sheet");
… Reference · line 5131 …
if (v18b <= 1) return;
v188.saveStructureState("Split Sprite Sheet");
const v18c = v188 .activeLayerIndex;
for (let v18d = 0; v18d < v18b; v18d++) {
const v18e = v188.addLayer(`Frame ${v18d + 1}`);
v18e.ctx.drawImage(v189.canvas, v18d * v18a, 0, v18a, v18a, 0, 0, v18a, v18a);
}
v188.layers.splice(v18c, 1);
…
s177384 Input v189 layer activeLayerUseful 0.84 activeLayerUseful 0.84 Both useful Present Pre-rename JavaScript · s177384 / v189 ×
Declaration · line 5125 …
splitSpriteSheet() {
const v188 = this.doc;
if (!v188) return;
const v189 = v188.activeLayer;
if (!v189) return;
const v18a = v188.height;
const v18b = Math.floor(v188.width / v18a);
if (v18b <= 1) return;
v188.saveStructureState("Split Sprite Sheet");
const v18c = v188.activeLayerIndex;
… Reference · line 5134 …
for (let v18d = 0; v18d < v18b; v18d++) {
const v18e = v188.addLayer(`Frame ${v18d + 1}`);
v18e.ctx.drawImage(v189 .canvas, v18d * v18a, 0, v18a, v18a, 0, 0, v18a, v18a);
}
v188.layers.splice(v18c, 1);
v188.activeLayerIndex = Math.min(v18c, v188.layers.length - 1);
for (const v18f of v188.layers) {
const v18g = document.createElement("canvas");
…
s177446 Input v18a frameSize frameSizeUseful 0.90 frameSizeUseful 0.90 Both useful Present Pre-rename JavaScript · s177446 / v18a ×
Declaration · line 5127 …
if (!v188) return;
const v189 = v188.activeLayer;
if (!v189) return;
const v18a = v188.height;
const v18b = Math.floor(v188.width / v18a);
if (v18b <= 1) return;
v188.saveStructureState("Split Sprite Sheet");
const v18c = v188.activeLayerIndex;
for (let v18d = 0; v18d < v18b; v18d++) {
… Reference · line 5134 …
const v18e = v188.addLayer(`Frame ${v18d + 1}`);
v18e.ctx.drawImage(v189.canvas, v18d * v18a , 0, v18a, v18a, 0, 0, v18a, v18a);
}
v188.layers.splice(v18c, 1);
v188.activeLayerIndex = Math.min(v18c, v188.layers.length - 1);
for (const v18f of v188.layers) {
const v18g = document.createElement("canvas");
…
s177478 Input v18b frameCount numFramesUseful 0.88 frameCountUseful 0.96 Humanify better Present Pre-rename JavaScript · s177478 / v18b ×
Declaration · line 5128 …
const v189 = v188.activeLayer;
if (!v189) return;
const v18a = v188.height;
const v18b = Math.floor(v188.width / v18a);
if (v18b <= 1) return;
v188.saveStructureState("Split Sprite Sheet");
const v18c = v188.activeLayerIndex;
for (let v18d = 0; v18d < v18b; v18d++) {
const v18e = v188.addLayer(`Frame ${v18d + 1}`);
…
s177610 Input v18c srcIdx originalLayerIndexUseful 0.64 activeLayerIndexUseful 0.45 FlowName better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s177610 / v18c ×
Declaration · line 5131 …
if (v18b <= 1) return;
v188.saveStructureState("Split Sprite Sheet");
const v18c = v188.activeLayerIndex;
for (let v18d = 0; v18d < v18b; v18d++) {
const v18e = v188.addLayer(`Frame ${v18d + 1}`);
v18e.ctx.drawImage(v189.canvas, v18d * v18a, 0, v18a, v18a, 0, 0, v18a, v18a);
}
v188.layers.splice(v18c, 1);
… Reference · line 5137 …
18e.ctx.drawImage(v189.canvas, v18d * v18a, 0, v18a, v18a, 0, 0, v18a, v18a);
}
v188.layers.splice(v18c, 1);
v188.activeLayerIndex = Math.min(v18c , v188.layers.length - 1);
for (const v18f of v188.layers) {
const v18g = document.createElement("canvas");
v18g.width = v18a;
v18g.height = v18a;
v18g.getContext("2d").drawImage(v18f.canvas, 0, 0);
…
s177655 Input v18d i iUseful 0.71 frameIndexUseful 0.63 Both useful Present Usefulness probability is near the provisional 0.5 boundary. Preference confidence is low. Pre-rename JavaScript · s177655 / v18d ×
Declaration · line 5132 …
v188.saveStructureState("Split Sprite Sheet");
const v18c = v188.activeLayerIndex;
for (let v18d = 0; v18d < v18b; v18d++) {
const v18e = v188.addLayer(`Frame ${v18d + 1}`);
v18e.ctx.drawImage(v189.canvas, v18d * v18a, 0, v18a, v18a, 0, 0, v18a, v18a);
}
v188.layers.splice(v18c, 1);
v188.activeLayerIndex = Math.min(v18c, v188.layers.length - 1);
…
s177702 Input v18e newLayer newLayerUseful 0.85 frameLayerUseful 0.72 Both useful Present Preference confidence is low. Pre-rename JavaScript · s177702 / v18e ×
Declaration · line 5133 …
const v18c = v188.activeLayerIndex;
for (let v18d = 0; v18d < v18b; v18d++) {
const v18e = v188.addLayer(`Frame ${v18d + 1}`);
v18e.ctx.drawImage(v189.canvas, v18d * v18a, 0, v18a, v18a, 0, 0, v18a, v18a);
}
v188.layers.splice(v18c, 1);
v188.activeLayerIndex = Math.min(v18c, v188.layers.length - 1);
…
s177962 Input v18f l layerUseful 0.91 layerUseful 0.91 Both useful Present Pre-rename JavaScript · s177962 / v18f ×
Declaration · line 5138 …
v188.layers.splice(v18c, 1);
v188.activeLayerIndex = Math.min(v18c, v188.layers.length - 1);
for (const v18f of v188.layers) {
const v18g = document.createElement("canvas");
v18g.width = v18a;
v18g.height = v18a;
v18g.getContext("2d").drawImage(v18f.canvas, 0, 0);
v18f.canvas.width = v18a;
v18f.canvas.height = v18a;
… Reference · line 5145 …
v18g.getContext("2d").drawImage(v18f.canvas, 0, 0);
v18f.canvas.width = v18a;
v18f.canvas.height = v18a;
v18f .ctx.drawImage(v18g, 0, 0);
}
v188.width = v18a;
v188.height = v18a;
v188.composite.width = v18a;
v188.composite.height = v18a;
v188.selection = new vl(v18a, v18a);
v4i.emit("layers:changed");
v4i.emit("canvas:dirty");
…
s177999 Input v18g tmp canvasUseful 0.57 tempCanvasUseful 0.85 Humanify better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s177999 / v18g ×
Declaration · line 5139 …
v188.activeLayerIndex = Math.min(v18c, v188.layers.length - 1);
for (const v18f of v188.layers) {
const v18g = document.createElement("canvas");
v18g.width = v18a;
v18g.height = v18a;
v18g.getContext("2d").drawImage(v18f.canvas, 0, 0);
v18f.canvas.width = v18a;
v18f.canvas.height = v18a;
v18f.ctx.drawImage(v18g, 0, 0);
…
s178608 Input v18h vp viewportRectUseful 0.87 frameWidthUseful 0.05 FlowName better Absent Pre-rename JavaScript · s178608 / v18h ×
Declaration · line 5155 …
document.getElementById("status-size").textContent = `${v188.width} x ${v188.height}`;
const v18h = document.getElementById("viewport").getBoundingClientRect();
v188.fitInView(v18h.width, v18h.height);
this._syncZoomUI();
}
async exportSpriteSheet() {
const v18i = this.doc;
if (!v18i || v18i.layers.length === 0) return;
…
s178799 Input v18i doc docUseful 0.81 documentDataUseful 0.48 FlowName better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s178799 / v18i ×
Declaration · line 5160 …
v188.fitInView(v18h.width, v18h.height);
this._syncZoomUI();
}
async exportSpriteSheet() {
const v18i = this.doc;
if (!v18i || v18i.layers.length === 0) return;
const v18j = v18i.width;
const v18k = v18i.height;
const v18l = v18j * v18i.layers.length;
const v18m = document.createElement("canvas");
v18m.width = v18l;
… Reference · line 5169 …
v18m.height = v18k;
const v18n = v18m.getContext("2d");
for (let v18o = 0; v18o < v18i .layers.length; v18o++) {
v18n.drawImage(v18i.layers[v18o].canvas, v18o * v18j, 0);
}
const v18p = await new Promise(v18q => v18m.toBlob(v18q, "image/png"));
const v18r = await new Promise(v18s => {
const v18t = new FileReader();
…
s178881 Input v18j fw sheetWidthUseful 0.33 layerWidthUseful 0.60 Humanify better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s178881 / v18j ×
Declaration · line 5162 …
const v18i = this.doc;
if (!v18i || v18i.layers.length === 0) return;
const v18j = v18i.width;
const v18k = v18i.height;
const v18l = v18j * v18i.layers.length;
const v18m = document.createElement("canvas");
v18m.width = v18l;
v18m.height = v18k;
const v18n = v18m.getContext("2d");
… Reference · line 5170 …
for (let v18o = 0; v18o < v18i.layers.length; v18o++) {
v18n.drawImage(v18i.layers[v18o].canvas, v18o * v18j , 0);
}
const v18p = await new Promise(v18q => v18m.toBlob(v18q, "image/png"));
const v18r = await new Promise(v18s => {
const v18t = new FileReader();
v18t.onload = () => v18s(v18t.result.split(",")[1]);
…
s178912 Input v18k fh sheetHeightUseful 0.47 canvasHeightUseful 0.76 Humanify better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s178912 / v18k ×
Declaration · line 5163 …
if (!v18i || v18i.layers.length === 0) return;
const v18j = v18i.width;
const v18k = v18i.height;
const v18l = v18j * v18i.layers.length;
const v18m = document.createElement("canvas");
v18m.width = v18l;
v18m.height = v18k;
const v18n = v18m.getContext("2d");
for (let v18o = 0; v18o < v18i.layers.length; v18o++) {
…
s178944 Input v18l sheetW totalWidthUseful 0.87 totalWidthUseful 0.87 Both useful Present Pre-rename JavaScript · s178944 / v18l ×
Declaration · line 5164 …
if (!v18i || v18i.layers.length === 0) return;
const v18j = v18i.width;
const v18k = v18i.height;
const v18l = v18j * v18i.layers.length;
const v18m = document.createElement("canvas");
v18m.width = v18l;
v18m.height = v18k;
const v18n = v18m.getContext("2d");
for (let v18o = 0; v18o < v18i.layers.length; v18o++) {
…
s178990 Input v18m sheet canvasUseful 0.56 spriteSheetCanvasUseful 0.79 Humanify better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s178990 / v18m ×
Declaration · line 5165 …
const v18k = v18i.height;
const v18l = v18j * v18i.layers.length;
const v18m = document.createElement("canvas");
v18m.width = v18l;
v18m.height = v18k;
const v18n = v18m.getContext("2d");
for (let v18o = 0; v18o < v18i.layers.length; v18o++) {
v18n.drawImage(v18i.layers[v18o].canvas, v18o * v18j, 0);
… Reference · line 5172 …
v18n.drawImage(v18i.layers[v18o].canvas, v18o * v18j, 0);
}
const v18p = await new Promise(v18q => v18m .toBlob(v18q, "image/png"));
const v18r = await new Promise(v18s => {
const v18t = new FileReader();
v18t.onload = () => v18s(v18t.result.split(",")[1]);
v18t.readAsDataURL(v18p);
});
const v18u = (v18i.name || "spritesheet").replace(/\.[^.]+$/, "") + "_sheet.png";
…
s179094 Input v18n ctx ctxUseful 0.92 canvasContextUseful 0.89 Both useful Present Preference confidence is low. Pre-rename JavaScript · s179094 / v18n ×
Declaration · line 5168 …
const v18m = document.createElement("canvas");
v18m.width = v18l;
v18m.height = v18k;
const v18n = v18m.getContext("2d");
for (let v18o = 0; v18o < v18i.layers.length; v18o++) {
v18n.drawImage(v18i.layers[v18o].canvas, v18o * v18j, 0);
}
const v18p = await new Promise(v18q => v18m.toBlob(v18q, "image/png"));
…
s179139 Input v18o i iUseful 0.67 layerIndexUseful 0.85 Humanify better Present Pre-rename JavaScript · s179139 / v18o ×
Declaration · line 5169 …
v18m.width = v18l;
v18m.height = v18k;
const v18n = v18m.getContext("2d");
for (let v18o = 0; v18o < v18i.layers.length; v18o++) {
v18n.drawImage(v18i.layers[v18o].canvas, v18o * v18j, 0);
}
const v18p = await new Promise(v18q => v18m.toBlob(v18q, "image/png"));
const v18r = await new Promise(v18s => {
…
s179272 Input v18p blob blobUseful 0.88 resultPromiseUseful 0.11 FlowName better Present Pre-rename JavaScript · s179272 / v18p ×
Declaration · line 5172 …
for (let v18o = 0; v18o < v18i.layers.length; v18o++) {
v18n.drawImage(v18i.layers[v18o].canvas, v18o * v18j, 0);
}
const v18p = await new Promise(v18q => v18m.toBlob(v18q, "image/png"));
const v18r = await new Promise(v18s => {
const v18t = new FileReader();
v18t.onload = () => v18s(v18t.result.split(",")[1]);
v18t.readAsDataURL(v18p);
… Reference · line 5195 …
if (v18w.error) return;
} catch (v18x) {
const v18y = URL.createObjectURL(v18p );
const v18z = document.createElement("a");
v18z.href = v18y;
v18z.download = v18u;
v18z.click();
URL.revokeObjectURL(v18y);
}
}
cropToSelection() {
const v190 = this.doc;
if (!v190 || !v190.selection.active || !v190.selection.bounds) return;
…
s179297 Input v18q r resolveBlobUseful 0.61 callback2Useful 0.29 FlowName better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s179297 / v18q ×
Declaration · line 5172 …
v18n.drawImage(v18i.layers[v18o].canvas, v18o * v18j, 0);
}
const v18p = await new Promise(v18q => v18m.toBlob(v18q, "image/png"));
const v18r = await new Promise(v18s => {
const v18t = new FileReader();
v18t.onload = () => v18s(v18t.result.split(",")[1]);
v18t.readAsDataURL(v18p);
});
const v18u = (v18i.name || "spritesheet").replace(/\.[^.]+$/, "") + "_sheet.png";
…
s179350 Input v18r base64 base64DataUseful 0.91 canvasContext2Useful 0.03 FlowName better Absent Pre-rename JavaScript · s179350 / v18r ×
Declaration · line 5173 …
const v18p = await new Promise(v18q => v18m.toBlob(v18q, "image/png"));
const v18r = await new Promise(v18s => {
const v18t = new FileReader();
v18t.onload = () => v18s(v18t.result.split(",")[1]);
v18t.readAsDataURL(v18p);
});
const v18u = (v18i.name || "spritesheet").replace(/\.[^.]+$/, "") + "_sheet.png";
… Reference · line 5186 …
"Content-Type": "application/json"
},
body: JSON.stringify({
data: v18r ,
filetypes: "PNG files (*.png)|*.png",
defaultExt: ".png",
defaultName: v18u
})
});
const v18w = await v18v.json();
if (v18w.error) return;
} catch (v18x) {
const v18y = URL.createObjectURL(v18p);
…
s179375 Input v18s r resolveBase64Useful 0.22 resolveUseful 0.61 Humanify better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s179375 / v18s ×
Declaration · line 5173 …
const v18p = await new Promise(v18q => v18m.toBlob(v18q, "image/png"));
const v18r = await new Promise(v18s => {
const v18t = new FileReader();
v18t.onload = () => v18s(v18t.result.split(",")[1]);
v18t.readAsDataURL(v18p);
});
const v18u = (v18i.name || "spritesheet").replace(/\.[^.]+$/, "") + "_sheet.png";
…
s179399 Input v18t reader fileReaderUseful 0.90 fileReaderUseful 0.90 Both useful Present Pre-rename JavaScript · s179399 / v18t ×
Declaration · line 5174 …
const v18p = await new Promise(v18q => v18m.toBlob(v18q, "image/png"));
const v18r = await new Promise(v18s => {
const v18t = new FileReader();
v18t.onload = () => v18s(v18t.result.split(",")[1]);
v18t.readAsDataURL(v18p);
});
const v18u = (v18i.name || "spritesheet").replace(/\.[^.]+$/, "") + "_sheet.png";
try {
const v18v = await fetch("/api/file/save", {
…
s179541 Input v18u defaultName fileNameUseful 0.86 totalWidth2Useful 0.02 FlowName better Absent Pre-rename JavaScript · s179541 / v18u ×
Declaration · line 5178 …
v18t.onload = () => v18s(v18t.result.split(",")[1]);
v18t.readAsDataURL(v18p);
});
const v18u = (v18i.name || "spritesheet").replace(/\.[^.]+$/, "") + "_sheet.png";
try {
const v18v = await fetch("/api/file/save", {
method: "POST",
headers: {
"Content-Type": "application/json"
},
… Reference · line 5189 …
filetypes: "PNG files (*.png)|*.png",
defaultExt: ".png",
defaultName: v18u
})
});
const v18w = await v18v.json();
if (v18w.error) return;
} catch (v18x) {
const v18y = URL.createObjectURL(v18p);
const v18z = document.createElement("a");
v18z.href = v18y;
…
s179643 Input v18v resp responseUseful 0.84 saveResponseUseful 0.55 Both useful Present Usefulness probability is near the provisional 0.5 boundary. Preference confidence is low. Pre-rename JavaScript · s179643 / v18v ×
Declaration · line 5180 …
const v18u = (v18i.name || "spritesheet").replace(/\.[^.]+$/, "") + "_sheet.png";
try {
const v18v = await fetch("/api/file/save", {
method: "POST",
headers: {
"Content-Type": "application/json"
},
body: JSON.stringify({
data: v18r,
filetypes: "PNG files (*.png)|*.png",
… Reference · line 5192 …
defaultExt: ".png",
defaultName: v18u
})
});
const v18w = await v18v .json();
if (v18w.error) return;
} catch (v18x) {
const v18y = URL.createObjectURL(v18p);
const v18z = document.createElement("a");
v18z.href = v18y;
v18z.download = v18u;
v18z.click();
…
s179997 Input v18w result resultJsonUseful 0.64 responseJsonUseful 0.63 Both useful Present Usefulness probability is near the provisional 0.5 boundary. Preference confidence is low. Pre-rename JavaScript · s179997 / v18w ×
Declaration · line 5192 …
defaultExt: ".png",
defaultName: v18u
})
});
const v18w = await v18v.json();
if (v18w.error) return;
} catch (v18x) {
const v18y = URL.createObjectURL(v18p);
const v18z = document.createElement("a");
v18z.href = v18y;
v18z.download = v18u;
v18z.click();
…
s180070 Input v18x e errorUseful 0.39 downloadLinkUseful 0.04 Both poor Absent Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s180070 / v18x ×
Declaration · line 5194 …
});
const v18w = await v18v.json();
if (v18w.error) return;
} catch (v18x ) {
const v18y = URL.createObjectURL(v18p);
const v18z = document.createElement("a");
v18z.href = v18y;
v18z.download = v18u;
v18z.click();
URL.revokeObjectURL(v18y);
}
}
cropToSelection() {
…
s180092 Input v18y url objectUrlUseful 0.88 objectUrlUseful 0.88 Both useful Present Pre-rename JavaScript · s180092 / v18y ×
Declaration · line 5195 …
const v18w = await v18v.json();
if (v18w.error) return;
} catch (v18x) {
const v18y = URL.createObjectURL(v18p);
const v18z = document.createElement("a");
v18z.href = v18y;
v18z.download = v18u;
v18z.click();
URL.revokeObjectURL(v18y);
}
}
cropToSelection() {
const v190 = this.doc;
…
s180140 Input v18z a downloadLinkUseful 0.83 downloadLink2Useful 0.47 FlowName better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s180140 / v18z ×
Declaration · line 5196 …
if (v18w.error) return;
} catch (v18x) {
const v18y = URL.createObjectURL(v18p);
const v18z = document.createElement("a");
v18z.href = v18y;
v18z.download = v18u;
v18z.click();
URL.revokeObjectURL(v18y);
}
}
cropToSelection() {
const v190 = this.doc;
if (!v190 || !v190.selection.active || !v190.selection.bounds) return;
…
s180339 Input v190 doc docUseful 0.78 documentModelUseful 0.81 Both useful Present Preference confidence is low. Pre-rename JavaScript · s180339 / v190 ×
Declaration · line 5204 …
v18z.click();
URL.revokeObjectURL(v18y);
}
}
cropToSelection() {
const v190 = this.doc;
if (!v190 || !v190.selection.active || !v190.selection.bounds) return;
v190.saveStructureState("Crop to Selection");
v190.cropToSelection();
v4i.emit("layers:changed");
v4i.emit("canvas:dirty");
… Reference · line 5210 …
v4i.emit("canvas:dirty");
document.getElementById("status-size").textContent = `${v190 .width} x ${v190.height}`;
const v191 = document.getElementById("viewport").getBoundingClientRect();
v190.fitInView(v191.width, v191.height);
this._syncZoomUI();
}
showScaleImageDialog() {
if (!this.doc) return;
…
s180686 Input v191 vp viewportRectUseful 0.91 viewportRectUseful 0.91 Both useful Present Pre-rename JavaScript · s180686 / v191 ×
Declaration · line 5211 …
document.getElementById("status-size").textContent = `${v190.width} x ${v190.height}`;
const v191 = document.getElementById("viewport").getBoundingClientRect();
v190.fitInView(v191.width, v191.height);
this._syncZoomUI();
}
showScaleImageDialog() {
if (!this.doc) return;
this.scaleImageDialog.show(this.doc);
…
s181504 Input v192 vp viewportRectUseful 0.86 viewportRectUseful 0.86 Both useful Present Pre-rename JavaScript · s181504 / v192 ×
Declaration · line 5237 …
this.canvasSizeDialog.show(this.doc);
}
zoomIn() {
if (!this.doc) return;
const v192 = document.getElementById("viewport").getBoundingClientRect();
const v193 = v192.width / 2,
v194 = v192.height / 2;
const v195 = 1.25;
const v196 = Math.min(32, this.doc.zoom * v195);
this.doc.panX = v193 - (v193 - this.doc.panX) * (v196 / this.doc.zoom);
…
s181584 Input v193 cx centerXUseful 0.74 viewportCenterXUseful 0.82 Both useful Present Preference confidence is low. Pre-rename JavaScript · s181584 / v193 ×
Declaration · line 5238 …
const v192 = document.getElementById("viewport").getBoundingClientRect();
const v193 = v192.width / 2,
v194 = v192.height / 2;
const v195 = 1.25;
const v196 = Math.min(32, this.doc.zoom * v195);
this.doc.panX = v193 - (v193 - this.doc.panX) * (v196 / this.doc.zoom);
this.doc.panY = v194 - (v194 - this.doc.panY) * (v196 / this.doc.zoom);
…
s181615 Input v194 cy centerYUseful 0.66 viewportCenterYUseful 0.74 Humanify better Present Pre-rename JavaScript · s181615 / v194 ×
Declaration · line 5239 …
const v192 = document.getElementById("viewport").getBoundingClientRect();
const v193 = v192.width / 2,
v194 = v192.height / 2;
const v195 = 1.25;
const v196 = Math.min(32, this.doc.zoom * v195);
this.doc.panX = v193 - (v193 - this.doc.panX) * (v196 / this.doc.zoom);
this.doc.panY = v194 - (v194 - this.doc.panY) * (v196 / this.doc.zoom);
…
s181651 Input v195 factor zoomFactorUseful 0.87 zoomFactorUseful 0.87 Both useful Present Pre-rename JavaScript · s181651 / v195 ×
Declaration · line 5240 …
const v192 = document.getElementById("viewport").getBoundingClientRect();
const v193 = v192.width / 2,
v194 = v192.height / 2;
const v195 = 1.25;
const v196 = Math.min(32, this.doc.zoom * v195);
this.doc.panX = v193 - (v193 - this.doc.panX) * (v196 / this.doc.zoom);
this.doc.panY = v194 - (v194 - this.doc.panY) * (v196 / this.doc.zoom);
this.doc.zoom = v196;
…
s181676 Input v196 newZoom newZoomUseful 0.92 newZoomUseful 0.92 Both useful Present Pre-rename JavaScript · s181676 / v196 ×
Declaration · line 5241 …
const v193 = v192.width / 2,
v194 = v192.height / 2;
const v195 = 1.25;
const v196 = Math.min(32, this.doc.zoom * v195);
this.doc.panX = v193 - (v193 - this.doc.panX) * (v196 / this.doc.zoom);
this.doc.panY = v194 - (v194 - this.doc.panY) * (v196 / this.doc.zoom);
this.doc.zoom = v196;
this._syncZoomUI();
…
s182024 Input v197 vp viewportRectUseful 0.89 viewportRectUseful 0.89 Both useful Present Pre-rename JavaScript · s182024 / v197 ×
Declaration · line 5250 …
v4i.emit("canvas:dirty");
}
zoomOut() {
if (!this.doc) return;
const v197 = document.getElementById("viewport").getBoundingClientRect();
const v198 = v197.width / 2,
v199 = v197.height / 2;
const v19a = 1 / 1.25;
const v19b = Math.max(0.05, this.doc.zoom * v19a);
this.doc.panX = v198 - (v198 - this.doc.panX) * (v19b / this.doc.zoom);
…
s182104 Input v198 cx centerXUseful 0.73 viewportCenterXUseful 0.82 Humanify better Present Pre-rename JavaScript · s182104 / v198 ×
Declaration · line 5251 …
const v197 = document.getElementById("viewport").getBoundingClientRect();
const v198 = v197.width / 2,
v199 = v197.height / 2;
const v19a = 1 / 1.25;
const v19b = Math.max(0.05, this.doc.zoom * v19a);
this.doc.panX = v198 - (v198 - this.doc.panX) * (v19b / this.doc.zoom);
this.doc.panY = v199 - (v199 - this.doc.panY) * (v19b / this.doc.zoom);
…
s182135 Input v199 cy centerYUseful 0.60 viewportCenterYUseful 0.69 Humanify better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s182135 / v199 ×
Declaration · line 5252 …
const v197 = document.getElementById("viewport").getBoundingClientRect();
const v198 = v197.width / 2,
v199 = v197.height / 2;
const v19a = 1 / 1.25;
const v19b = Math.max(0.05, this.doc.zoom * v19a);
this.doc.panX = v198 - (v198 - this.doc.panX) * (v19b / this.doc.zoom);
this.doc.panY = v199 - (v199 - this.doc.panY) * (v19b / this.doc.zoom);
…
s182171 Input v19a factor zoomFactorUseful 0.85 zoomFactorUseful 0.85 Both useful Present Pre-rename JavaScript · s182171 / v19a ×
Declaration · line 5253 …
const v197 = document.getElementById("viewport").getBoundingClientRect();
const v198 = v197.width / 2,
v199 = v197.height / 2;
const v19a = 1 / 1.25;
const v19b = Math.max(0.05, this.doc.zoom * v19a);
this.doc.panX = v198 - (v198 - this.doc.panX) * (v19b / this.doc.zoom);
this.doc.panY = v199 - (v199 - this.doc.panY) * (v19b / this.doc.zoom);
this.doc.zoom = v19b;
…
s182200 Input v19b newZoom newZoomUseful 0.92 newZoomUseful 0.92 Both useful Present Pre-rename JavaScript · s182200 / v19b ×
Declaration · line 5254 …
const v198 = v197.width / 2,
v199 = v197.height / 2;
const v19a = 1 / 1.25;
const v19b = Math.max(0.05, this.doc.zoom * v19a);
this.doc.panX = v198 - (v198 - this.doc.panX) * (v19b / this.doc.zoom);
this.doc.panY = v199 - (v199 - this.doc.panY) * (v19b / this.doc.zoom);
this.doc.zoom = v19b;
this._syncZoomUI();
…
s182552 Input v19c vp viewportRectUseful 0.88 viewportRectUseful 0.88 Both useful Present Pre-rename JavaScript · s182552 / v19c ×
Declaration · line 5263 …
v4i.emit("canvas:dirty");
}
fitInView() {
if (!this.doc) return;
const v19c = document.getElementById("viewport").getBoundingClientRect();
this.doc.fitInView(v19c.width, v19c.height);
this._syncZoomUI();
v4i.emit("canvas:dirty");
}
actualSize() {
if (!this.doc) return;
const v19d = document.getElementById("viewport").getBoundingClientRect();
…
s182795 Input v19d vp viewportRectUseful 0.89 viewportRectUseful 0.89 Both useful Present Pre-rename JavaScript · s182795 / v19d ×
Declaration · line 5270 …
v4i.emit("canvas:dirty");
}
actualSize() {
if (!this.doc) return;
const v19d = document.getElementById("viewport").getBoundingClientRect();
this.doc.zoom = 1;
this.doc.panX = (v19d.width - this.doc.width) / 2;
this.doc.panY = (v19d.height - this.doc.height) / 2;
this._syncZoomUI();
v4i.emit("canvas:dirty");
…
s183103 Input v19e doc docUseful 0.81 documentInstanceUseful 0.70 Both useful Present Preference confidence is low. Pre-rename JavaScript · s183103 / v19e ×
Declaration · line 5278 …
this._syncZoomUI();
v4i.emit("canvas:dirty");
}
flipHorizontal() {
const v19e = this.doc;
if (!v19e) return;
const v19f = v19e.activeLayer;
if (!v19f || !v19f.visible) return;
v19e.saveDrawState("Flip Horizontal");
const v19g = v19e.selection;
if (v19g.active && v19g.bounds) {
… Reference · line 5304 …
} else {
const v19n = document.createElement("canvas");
v19n.width = v19e .width;
v19n.height = v19e.height;
v19n.getContext("2d").drawImage(v19f.canvas, 0, 0);
v19f.clear();
v19f.ctx.save();
v19f.ctx.translate(v19e.width, 0);
v19f.ctx.scale(-1, 1);
v19f.ctx.drawImage(v19n, 0, 0);
…
s183157 Input v19f layer activeLayerUseful 0.62 activeLayerUseful 0.62 Both useful Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s183157 / v19f ×
Declaration · line 5280 …
}
flipHorizontal() {
const v19e = this.doc;
if (!v19e) return;
const v19f = v19e.activeLayer;
if (!v19f || !v19f.visible) return;
v19e.saveDrawState("Flip Horizontal");
const v19g = v19e.selection;
if (v19g.active && v19g.bounds) {
const {
x: v19h,
y: v19i,
… Reference · line 5295 …
v19l.height = v19k;
const v19m = v19l.getContext("2d");
v19m.drawImage(v19f .canvas, v19h, v19i, v19j, v19k, 0, 0, v19j, v19k);
v19f.ctx.clearRect(v19h, v19i, v19j, v19k);
v19f.ctx.save();
v19f.ctx.translate(v19h + v19j, v19i);
v19f.ctx.scale(-1, 1);
v19f.ctx.drawImage(v19l, 0, 0);
…
s183281 Input v19g sel selectionUseful 0.94 selectionUseful 0.94 Both useful Present Pre-rename JavaScript · s183281 / v19g ×
Declaration · line 5283 …
if (!v19f || !v19f.visible) return;
v19e.saveDrawState("Flip Horizontal");
const v19g = v19e.selection;
if (v19g.active && v19g.bounds) {
const {
x: v19h,
y: v19i,
w: v19j,
h: v19k
} = v19g.bounds;
const v19l = document.createElement("canvas");
v19l.width = v19j;
…
s183373 Input v19h x boundsXUseful 0.40 boundXUseful 0.69 Humanify better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s183373 / v19h ×
Declaration · line 5286 …
const v19g = v19e.selection;
if (v19g.active && v19g.bounds) {
const {
x: v19h ,
y: v19i,
w: v19j,
h: v19k
} = v19g.bounds;
const v19l = document.createElement("canvas");
v19l.width = v19j;
v19l.height = v19k;
const v19m = v19l.getContext("2d");
… Reference · line 5295 …
v19l.height = v19k;
const v19m = v19l.getContext("2d");
v19m.drawImage(v19f.canvas, v19h , v19i, v19j, v19k, 0, 0, v19j, v19k);
v19f.ctx.clearRect(v19h, v19i, v19j, v19k);
v19f.ctx.save();
v19f.ctx.translate(v19h + v19j, v19i);
v19f.ctx.scale(-1, 1);
v19f.ctx.drawImage(v19l, 0, 0);
v19f.ctx.restore();
…
s183392 Input v19i y boundsYUseful 0.66 boundsYUseful 0.66 Both useful Present Pre-rename JavaScript · s183392 / v19i ×
Declaration · line 5287 …
const v19g = v19e.selection;
if (v19g.active && v19g.bounds) {
const {
x: v19h,
y: v19i ,
w: v19j,
h: v19k
} = v19g.bounds;
const v19l = document.createElement("canvas");
v19l.width = v19j;
v19l.height = v19k;
const v19m = v19l.getContext("2d");
v19m.drawImage(v19f.canvas, v19h, v19i, v19j, v19k, 0, 0, v19j, v19k);
… Reference · line 5296 …
v19m.drawImage(v19f.canvas, v19h, v19i, v19j, v19k, 0, 0, v19j, v19k);
v19f.ctx.clearRect(v19h, v19i , v19j, v19k);
v19f.ctx.save();
v19f.ctx.translate(v19h + v19j, v19i);
v19f.ctx.scale(-1, 1);
v19f.ctx.drawImage(v19l, 0, 0);
v19f.ctx.restore();
} else {
const v19n = document.createElement("canvas");
…
s183411 Input v19j w boundsWidthUseful 0.83 widthUseful 0.77 Both useful Present Preference confidence is low. Pre-rename JavaScript · s183411 / v19j ×
Declaration · line 5288 …
if (v19g.active && v19g.bounds) {
const {
x: v19h,
y: v19i,
w: v19j ,
h: v19k
} = v19g.bounds;
const v19l = document.createElement("canvas");
v19l.width = v19j;
v19l.height = v19k;
const v19m = v19l.getContext("2d");
v19m.drawImage(v19f.canvas, v19h, v19i, v19j, v19k, 0, 0, v19j, v19k);
… Reference · line 5296 …
v19m.drawImage(v19f.canvas, v19h, v19i, v19j, v19k, 0, 0, v19j, v19k);
v19f.ctx.clearRect(v19h, v19i, v19j , v19k);
v19f.ctx.save();
v19f.ctx.translate(v19h + v19j, v19i);
v19f.ctx.scale(-1, 1);
v19f.ctx.drawImage(v19l, 0, 0);
v19f.ctx.restore();
} else {
const v19n = document.createElement("canvas");
…
s183430 Input v19k h boundsHeightUseful 0.85 boundsHeightUseful 0.85 Both useful Present Pre-rename JavaScript · s183430 / v19k ×
Declaration · line 5289 …
if (v19g.active && v19g.bounds) {
const {
x: v19h,
y: v19i,
w: v19j,
h: v19k
} = v19g.bounds;
const v19l = document.createElement("canvas");
v19l.width = v19j;
v19l.height = v19k;
const v19m = v19l.getContext("2d");
v19m.drawImage(v19f.canvas, v19h, v19i, v19j, v19k, 0, 0, v19j, v19k);
… Reference · line 5296 …
v19m.drawImage(v19f.canvas, v19h, v19i, v19j, v19k, 0, 0, v19j, v19k);
v19f.ctx.clearRect(v19h, v19i, v19j, v19k );
v19f.ctx.save();
v19f.ctx.translate(v19h + v19j, v19i);
v19f.ctx.scale(-1, 1);
v19f.ctx.drawImage(v19l, 0, 0);
v19f.ctx.restore();
} else {
const v19n = document.createElement("canvas");
…
s183474 Input v19l temp tempCanvasUseful 0.86 canvasElementUseful 0.69 Both useful Present Preference confidence is low. Pre-rename JavaScript · s183474 / v19l ×
Declaration · line 5291 …
y: v19i,
w: v19j,
h: v19k
} = v19g.bounds;
const v19l = document.createElement("canvas");
v19l.width = v19j;
v19l.height = v19k;
const v19m = v19l.getContext("2d");
v19m.drawImage(v19f.canvas, v19h, v19i, v19j, v19k, 0, 0, v19j, v19k);
v19f.ctx.clearRect(v19h, v19i, v19j, v19k);
… Reference · line 5300 …
v19f.ctx.translate(v19h + v19j, v19i);
v19f.ctx.scale(-1, 1);
v19f.ctx.drawImage(v19l , 0, 0);
v19f.ctx.restore();
} else {
const v19n = document.createElement("canvas");
v19n.width = v19e.width;
v19n.height = v19e.height;
v19n.getContext("2d").drawImage(v19f.canvas, 0, 0);
v19f.clear();
…
s183584 Input v19m tctx tempCtxUseful 0.77 canvasContextUseful 0.75 FlowName better Present Pre-rename JavaScript · s183584 / v19m ×
Declaration · line 5294 …
const v19l = document.createElement("canvas");
v19l.width = v19j;
v19l.height = v19k;
const v19m = v19l.getContext("2d");
v19m.drawImage(v19f.canvas, v19h, v19i, v19j, v19k, 0, 0, v19j, v19k);
v19f.ctx.clearRect(v19h, v19i, v19j, v19k);
v19f.ctx.save();
v19f.ctx.translate(v19h + v19j, v19i);
v19f.ctx.scale(-1, 1);
…
s183945 Input v19n temp fallbackCanvasUseful 0.28 tempCanvasUseful 0.82 Humanify better Present Pre-rename JavaScript · s183945 / v19n ×
Declaration · line 5303 …
v19f.ctx.drawImage(v19l, 0, 0);
v19f.ctx.restore();
} else {
const v19n = document.createElement("canvas");
v19n.width = v19e.width;
v19n.height = v19e.height;
v19n.getContext("2d").drawImage(v19f.canvas, 0, 0);
v19f.clear();
v19f.ctx.save();
v19f.ctx.translate(v19e.width, 0);
… Reference · line 5311 …
v19f.ctx.translate(v19e.width, 0);
v19f.ctx.scale(-1, 1);
v19f.ctx.drawImage(v19n , 0, 0);
v19f.ctx.restore();
}
v4i.emit("canvas:dirty");
}
flipVertical() {
const v19o = this.doc;
if (!v19o) return;
const v19p = v19o.activeLayer;
if (!v19p || !v19p.visible) return;
…
s184382 Input v19o doc docUseful 0.84 documentInstanceUseful 0.65 FlowName better Present Pre-rename JavaScript · s184382 / v19o ×
Declaration · line 5317 …
v19f.ctx.restore();
}
v4i.emit("canvas:dirty");
}
flipVertical() {
const v19o = this.doc;
if (!v19o) return;
const v19p = v19o.activeLayer;
if (!v19p || !v19p.visible) return;
v19o.saveDrawState("Flip Vertical");
const v19q = v19o.selection;
if (v19q.active && v19q.bounds) {
const {
… Reference · line 5343 …
} else {
const v19x = document.createElement("canvas");
v19x.width = v19o .width;
v19x.height = v19o.height;
v19x.getContext("2d").drawImage(v19p.canvas, 0, 0);
v19p.clear();
v19p.ctx.save();
v19p.ctx.translate(0, v19o.height);
v19p.ctx.scale(1, -1);
v19p.ctx.drawImage(v19x, 0, 0);
…
s184436 Input v19p layer activeLayerUseful 0.63 activeLayerUseful 0.63 Both useful Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s184436 / v19p ×
Declaration · line 5319 …
}
flipVertical() {
const v19o = this.doc;
if (!v19o) return;
const v19p = v19o.activeLayer;
if (!v19p || !v19p.visible) return;
v19o.saveDrawState("Flip Vertical");
const v19q = v19o.selection;
if (v19q.active && v19q.bounds) {
const {
x: v19r,
y: v19s,
w: v19t,
… Reference · line 5334 …
v19v.height = v19u;
const v19w = v19v.getContext("2d");
v19w.drawImage(v19p .canvas, v19r, v19s, v19t, v19u, 0, 0, v19t, v19u);
v19p.ctx.clearRect(v19r, v19s, v19t, v19u);
v19p.ctx.save();
v19p.ctx.translate(v19r, v19s + v19u);
v19p.ctx.scale(1, -1);
v19p.ctx.drawImage(v19v, 0, 0);
…
s184558 Input v19q sel selectionUseful 0.93 selectionUseful 0.93 Both useful Present Pre-rename JavaScript · s184558 / v19q ×
Declaration · line 5322 …
if (!v19p || !v19p.visible) return;
v19o.saveDrawState("Flip Vertical");
const v19q = v19o.selection;
if (v19q.active && v19q.bounds) {
const {
x: v19r,
y: v19s,
w: v19t,
h: v19u
} = v19q.bounds;
const v19v = document.createElement("canvas");
v19v.width = v19t;
…
s184650 Input v19r x boundsXUseful 0.71 boundsXUseful 0.71 Both useful Present Pre-rename JavaScript · s184650 / v19r ×
Declaration · line 5325 …
const v19q = v19o.selection;
if (v19q.active && v19q.bounds) {
const {
x: v19r ,
y: v19s,
w: v19t,
h: v19u
} = v19q.bounds;
const v19v = document.createElement("canvas");
v19v.width = v19t;
v19v.height = v19u;
const v19w = v19v.getContext("2d");
… Reference · line 5334 …
v19v.height = v19u;
const v19w = v19v.getContext("2d");
v19w.drawImage(v19p.canvas, v19r , v19s, v19t, v19u, 0, 0, v19t, v19u);
v19p.ctx.clearRect(v19r, v19s, v19t, v19u);
v19p.ctx.save();
v19p.ctx.translate(v19r, v19s + v19u);
v19p.ctx.scale(1, -1);
v19p.ctx.drawImage(v19v, 0, 0);
v19p.ctx.restore();
…
s184669 Input v19s y boundsYUseful 0.74 boundsYUseful 0.74 Both useful Present Pre-rename JavaScript · s184669 / v19s ×
Declaration · line 5326 …
const v19q = v19o.selection;
if (v19q.active && v19q.bounds) {
const {
x: v19r,
y: v19s ,
w: v19t,
h: v19u
} = v19q.bounds;
const v19v = document.createElement("canvas");
v19v.width = v19t;
v19v.height = v19u;
const v19w = v19v.getContext("2d");
v19w.drawImage(v19p.canvas, v19r, v19s, v19t, v19u, 0, 0, v19t, v19u);
… Reference · line 5335 …
v19w.drawImage(v19p.canvas, v19r, v19s, v19t, v19u, 0, 0, v19t, v19u);
v19p.ctx.clearRect(v19r, v19s , v19t, v19u);
v19p.ctx.save();
v19p.ctx.translate(v19r, v19s + v19u);
v19p.ctx.scale(1, -1);
v19p.ctx.drawImage(v19v, 0, 0);
v19p.ctx.restore();
} else {
const v19x = document.createElement("canvas");
…
s184688 Input v19t w boundsWidthUseful 0.77 widthUseful 0.81 Both useful Present Preference confidence is low. Pre-rename JavaScript · s184688 / v19t ×
Declaration · line 5327 …
if (v19q.active && v19q.bounds) {
const {
x: v19r,
y: v19s,
w: v19t ,
h: v19u
} = v19q.bounds;
const v19v = document.createElement("canvas");
v19v.width = v19t;
v19v.height = v19u;
const v19w = v19v.getContext("2d");
v19w.drawImage(v19p.canvas, v19r, v19s, v19t, v19u, 0, 0, v19t, v19u);
… Reference · line 5335 …
v19w.drawImage(v19p.canvas, v19r, v19s, v19t, v19u, 0, 0, v19t, v19u);
v19p.ctx.clearRect(v19r, v19s, v19t , v19u);
v19p.ctx.save();
v19p.ctx.translate(v19r, v19s + v19u);
v19p.ctx.scale(1, -1);
v19p.ctx.drawImage(v19v, 0, 0);
v19p.ctx.restore();
} else {
const v19x = document.createElement("canvas");
…
s184707 Input v19u h boundsHeightUseful 0.66 heightUseful 0.78 Both useful Present Preference confidence is low. Pre-rename JavaScript · s184707 / v19u ×
Declaration · line 5328 …
if (v19q.active && v19q.bounds) {
const {
x: v19r,
y: v19s,
w: v19t,
h: v19u
} = v19q.bounds;
const v19v = document.createElement("canvas");
v19v.width = v19t;
v19v.height = v19u;
const v19w = v19v.getContext("2d");
v19w.drawImage(v19p.canvas, v19r, v19s, v19t, v19u, 0, 0, v19t, v19u);
… Reference · line 5335 …
v19w.drawImage(v19p.canvas, v19r, v19s, v19t, v19u, 0, 0, v19t, v19u);
v19p.ctx.clearRect(v19r, v19s, v19t, v19u );
v19p.ctx.save();
v19p.ctx.translate(v19r, v19s + v19u);
v19p.ctx.scale(1, -1);
v19p.ctx.drawImage(v19v, 0, 0);
v19p.ctx.restore();
} else {
const v19x = document.createElement("canvas");
…
s184751 Input v19v temp tempCanvasUseful 0.86 canvasElementUseful 0.66 Both useful Present Preference confidence is low. Pre-rename JavaScript · s184751 / v19v ×
Declaration · line 5330 …
y: v19s,
w: v19t,
h: v19u
} = v19q.bounds;
const v19v = document.createElement("canvas");
v19v.width = v19t;
v19v.height = v19u;
const v19w = v19v.getContext("2d");
v19w.drawImage(v19p.canvas, v19r, v19s, v19t, v19u, 0, 0, v19t, v19u);
v19p.ctx.clearRect(v19r, v19s, v19t, v19u);
… Reference · line 5339 …
v19p.ctx.translate(v19r, v19s + v19u);
v19p.ctx.scale(1, -1);
v19p.ctx.drawImage(v19v , 0, 0);
v19p.ctx.restore();
} else {
const v19x = document.createElement("canvas");
v19x.width = v19o.width;
v19x.height = v19o.height;
v19x.getContext("2d").drawImage(v19p.canvas, 0, 0);
v19p.clear();
…
s184861 Input v19w tctx tempContextUseful 0.75 canvasContextUseful 0.72 FlowName better Present Pre-rename JavaScript · s184861 / v19w ×
Declaration · line 5333 …
const v19v = document.createElement("canvas");
v19v.width = v19t;
v19v.height = v19u;
const v19w = v19v.getContext("2d");
v19w.drawImage(v19p.canvas, v19r, v19s, v19t, v19u, 0, 0, v19t, v19u);
v19p.ctx.clearRect(v19r, v19s, v19t, v19u);
v19p.ctx.save();
v19p.ctx.translate(v19r, v19s + v19u);
v19p.ctx.scale(1, -1);
…
s185222 Input v19x temp fullCanvasUseful 0.25 tempCanvasUseful 0.85 Humanify better Present Pre-rename JavaScript · s185222 / v19x ×
Declaration · line 5342 …
v19p.ctx.drawImage(v19v, 0, 0);
v19p.ctx.restore();
} else {
const v19x = document.createElement("canvas");
v19x.width = v19o.width;
v19x.height = v19o.height;
v19x.getContext("2d").drawImage(v19p.canvas, 0, 0);
v19p.clear();
v19p.ctx.save();
v19p.ctx.translate(0, v19o.height);
… Reference · line 5350 …
v19p.ctx.translate(0, v19o.height);
v19p.ctx.scale(1, -1);
v19p.ctx.drawImage(v19x , 0, 0);
v19p.ctx.restore();
}
v4i.emit("canvas:dirty");
}
rotateCW() {
this._rotate(90);
}
rotateCCW() {
this._rotate(-90);
}
rotate180() {
this._rotate(180);
}
_rotate(v19y) {
…
s185784 Input v19y degrees rotationAngleUseful 0.86 rotationAngleUseful 0.86 Both useful Present Pre-rename JavaScript · s185784 / v19y ×
Declaration · line 5364 …
this._rotate(-90);
}
rotate180() {
this._rotate(180);
}
_rotate(v19y ) {
const v19z = this.doc;
if (!v19z) return;
const v1a0 = v19z.selection;
if (v1a0.active && v1a0.bounds) {
const v1a1 = v19z.activeLayer;
if (!v1a1 || !v1a1.visible) return;
v19z.saveDrawState("Rotate " + v19y + "\xB0");
… Reference · line 5384 …
v1a7.drawImage(v1a1.canvas, v1a2, v1a3, v1a4, v1a5, 0, 0, v1a4, v1a5);
const v1a8 = v1a4 === v1a5;
const v1a9 = v19y === 180 || v1a8 ? v1a4 : v1a5;
const v1aa = v19y === 180 || v1a8 ? v1a5 : v1a4;
const v1ab = document.createElement("canvas");
v1ab.width = v1a9;
v1ab.height = v1aa;
const v1ac = v1ab.getContext("2d");
…
s185804 Input v19z doc documentInstanceUseful 0.77 documentInstanceUseful 0.77 Both useful Present Pre-rename JavaScript · s185804 / v19z ×
Declaration · line 5365 …
this._rotate(-90);
}
rotate180() {
this._rotate(180);
}
_rotate(v19y) {
const v19z = this.doc;
if (!v19z) return;
const v1a0 = v19z.selection;
if (v1a0.active && v1a0.bounds) {
const v1a1 = v19z.activeLayer;
if (!v1a1 || !v1a1.visible) return;
v19z.saveDrawState("Rotate " + v19y + "\xB0");
… Reference · line 5398 …
} else {
const v1ad = v19y === 90 || v19y === -90;
const v1ae = v1ad ? v19z .height : v19z.width;
const v1af = v1ad ? v19z.width : v19z.height;
v19z.saveStructureState("Rotate " + v19y + "\xB0");
for (const v1ag of v19z.layers) {
const v1ah = document.createElement("canvas");
v1ah.width = v1ag.canvas.width;
…
s185858 Input v1a0 sel selectionUseful 0.93 selectionUseful 0.93 Both useful Present Pre-rename JavaScript · s185858 / v1a0 ×
Declaration · line 5367 …
}
_rotate(v19y) {
const v19z = this.doc;
if (!v19z) return;
const v1a0 = v19z.selection;
if (v1a0.active && v1a0.bounds) {
const v1a1 = v19z.activeLayer;
if (!v1a1 || !v1a1.visible) return;
v19z.saveDrawState("Rotate " + v19y + "\xB0");
const {
x: v1a2,
y: v1a3,
… Reference · line 5377 …
const {
x: v1a2,
y: v1a3,
w: v1a4,
h: v1a5
} = v1a0 .bounds;
const v1a6 = document.createElement("canvas");
v1a6.width = v1a4;
v1a6.height = v1a5;
const v1a7 = v1a6.getContext("2d");
v1a7.drawImage(v1a1.canvas, v1a2, v1a3, v1a4, v1a5, 0, 0, v1a4, v1a5);
…
s185935 Input v1a1 layer activeLayerUseful 0.81 activeLayerUseful 0.81 Both useful Present Pre-rename JavaScript · s185935 / v1a1 ×
Declaration · line 5369 …
if (!v19z) return;
const v1a0 = v19z.selection;
if (v1a0.active && v1a0.bounds) {
const v1a1 = v19z.activeLayer;
if (!v1a1 || !v1a1.visible) return;
v19z.saveDrawState("Rotate " + v19y + "\xB0");
const {
x: v1a2,
y: v1a3,
w: v1a4,
h: v1a5
} = v1a0.bounds;
const v1a6 = document.createElement("canvas");
… Reference · line 5382 …
v1a6.height = v1a5;
const v1a7 = v1a6.getContext("2d");
v1a7.drawImage(v1a1 .canvas, v1a2, v1a3, v1a4, v1a5, 0, 0, v1a4, v1a5);
const v1a8 = v1a4 === v1a5;
const v1a9 = v19y === 180 || v1a8 ? v1a4 : v1a5;
const v1aa = v19y === 180 || v1a8 ? v1a5 : v1a4;
const v1ab = document.createElement("canvas");
…
s186088 Input v1a2 x boundsXUseful 0.56 layerXUseful 0.31 FlowName better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s186088 / v1a2 ×
Declaration · line 5373 …
if (!v1a1 || !v1a1.visible) return;
v19z.saveDrawState("Rotate " + v19y + "\xB0");
const {
x: v1a2 ,
y: v1a3,
w: v1a4,
h: v1a5
} = v1a0.bounds;
const v1a6 = document.createElement("canvas");
v1a6.width = v1a4;
v1a6.height = v1a5;
const v1a7 = v1a6.getContext("2d");
… Reference · line 5382 …
v1a6.height = v1a5;
const v1a7 = v1a6.getContext("2d");
v1a7.drawImage(v1a1.canvas, v1a2 , v1a3, v1a4, v1a5, 0, 0, v1a4, v1a5);
const v1a8 = v1a4 === v1a5;
const v1a9 = v19y === 180 || v1a8 ? v1a4 : v1a5;
const v1aa = v19y === 180 || v1a8 ? v1a5 : v1a4;
const v1ab = document.createElement("canvas");
…
s186107 Input v1a3 y boundsYUseful 0.69 boundsYUseful 0.69 Both useful Present Pre-rename JavaScript · s186107 / v1a3 ×
Declaration · line 5374 …
v19z.saveDrawState("Rotate " + v19y + "\xB0");
const {
x: v1a2,
y: v1a3 ,
w: v1a4,
h: v1a5
} = v1a0.bounds;
const v1a6 = document.createElement("canvas");
v1a6.width = v1a4;
v1a6.height = v1a5;
const v1a7 = v1a6.getContext("2d");
v1a7.drawImage(v1a1.canvas, v1a2, v1a3, v1a4, v1a5, 0, 0, v1a4, v1a5);
… Reference · line 5393 …
v1ac.rotate(v19y * Math.PI / 180);
v1ac.drawImage(v1a6, -v1a4 / 2, -v1a5 / 2);
v1a1.ctx.clearRect(v1a2, v1a3 , v1a4, v1a5);
v1a1.ctx.drawImage(v1ab, v1a2, v1a3);
v4i.emit("canvas:dirty");
} else {
const v1ad = v19y === 90 || v19y === -90;
const v1ae = v1ad ? v19z.height : v19z.width;
const v1af = v1ad ? v19z.width : v19z.height;
…
s186126 Input v1a4 w selectionWidthUseful 0.69 widthUseful 0.83 Both useful Present Preference confidence is low. Pre-rename JavaScript · s186126 / v1a4 ×
Declaration · line 5375 …
v19z.saveDrawState("Rotate " + v19y + "\xB0");
const {
x: v1a2,
y: v1a3,
w: v1a4 ,
h: v1a5
} = v1a0.bounds;
const v1a6 = document.createElement("canvas");
v1a6.width = v1a4;
v1a6.height = v1a5;
const v1a7 = v1a6.getContext("2d");
v1a7.drawImage(v1a1.canvas, v1a2, v1a3, v1a4, v1a5, 0, 0, v1a4, v1a5);
… Reference · line 5383 …
v1a7.drawImage(v1a1.canvas, v1a2, v1a3, v1a4, v1a5, 0, 0, v1a4, v1a5);
const v1a8 = v1a4 === v1a5;
const v1a9 = v19y === 180 || v1a8 ? v1a4 : v1a5;
const v1aa = v19y === 180 || v1a8 ? v1a5 : v1a4;
const v1ab = document.createElement("canvas");
v1ab.width = v1a9;
v1ab.height = v1aa;
const v1ac = v1ab.getContext("2d");
…
s186145 Input v1a5 h selectionHeightUseful 0.72 layerHeightUseful 0.22 FlowName better Present Pre-rename JavaScript · s186145 / v1a5 ×
Declaration · line 5376 …
v19z.saveDrawState("Rotate " + v19y + "\xB0");
const {
x: v1a2,
y: v1a3,
w: v1a4,
h: v1a5
} = v1a0.bounds;
const v1a6 = document.createElement("canvas");
v1a6.width = v1a4;
v1a6.height = v1a5;
const v1a7 = v1a6.getContext("2d");
v1a7.drawImage(v1a1.canvas, v1a2, v1a3, v1a4, v1a5, 0, 0, v1a4, v1a5);
… Reference · line 5383 …
v1a7.drawImage(v1a1.canvas, v1a2, v1a3, v1a4, v1a5, 0, 0, v1a4, v1a5);
const v1a8 = v1a4 === v1a5 ;
const v1a9 = v19y === 180 || v1a8 ? v1a4 : v1a5;
const v1aa = v19y === 180 || v1a8 ? v1a5 : v1a4;
const v1ab = document.createElement("canvas");
v1ab.width = v1a9;
v1ab.height = v1aa;
const v1ac = v1ab.getContext("2d");
…
s186189 Input v1a6 temp canvasElementUseful 0.50 tempCanvasUseful 0.88 Humanify better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s186189 / v1a6 ×
Declaration · line 5378 …
y: v1a3,
w: v1a4,
h: v1a5
} = v1a0.bounds;
const v1a6 = document.createElement("canvas");
v1a6.width = v1a4;
v1a6.height = v1a5;
const v1a7 = v1a6.getContext("2d");
v1a7.drawImage(v1a1.canvas, v1a2, v1a3, v1a4, v1a5, 0, 0, v1a4, v1a5);
const v1a8 = v1a4 === v1a5;
… Reference · line 5392 …
v1ac.translate(v1a9 / 2, v1aa / 2);
v1ac.rotate(v19y * Math.PI / 180);
v1ac.drawImage(v1a6 , -v1a4 / 2, -v1a5 / 2);
v1a1.ctx.clearRect(v1a2, v1a3, v1a4, v1a5);
v1a1.ctx.drawImage(v1ab, v1a2, v1a3);
v4i.emit("canvas:dirty");
} else {
const v1ad = v19y === 90 || v19y === -90;
const v1ae = v1ad ? v19z.height : v19z.width;
…
s186299 Input v1a7 tctx canvasContext2Useful 0.77 ctxUseful 0.72 FlowName better Present Pre-rename JavaScript · s186299 / v1a7 ×
Declaration · line 5381 …
const v1a6 = document.createElement("canvas");
v1a6.width = v1a4;
v1a6.height = v1a5;
const v1a7 = v1a6.getContext("2d");
v1a7.drawImage(v1a1.canvas, v1a2, v1a3, v1a4, v1a5, 0, 0, v1a4, v1a5);
const v1a8 = v1a4 === v1a5;
const v1a9 = v19y === 180 || v1a8 ? v1a4 : v1a5;
const v1aa = v19y === 180 || v1a8 ? v1a5 : v1a4;
…
s186422 Input v1a8 isSquare isSquareUseful 0.93 ctx2Useful 0.03 FlowName better Absent Pre-rename JavaScript · s186422 / v1a8 ×
Declaration · line 5383 …
v1a7.drawImage(v1a1.canvas, v1a2, v1a3, v1a4, v1a5, 0, 0, v1a4, v1a5);
const v1a8 = v1a4 === v1a5;
const v1a9 = v19y === 180 || v1a8 ? v1a4 : v1a5;
const v1aa = v19y === 180 || v1a8 ? v1a5 : v1a4;
const v1ab = document.createElement("canvas");
v1ab.width = v1a9;
v1ab.height = v1aa;
…
s186458 Input v1a9 rw newWidthUseful 0.59 activeLayer2Useful 0.04 FlowName better Absent Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s186458 / v1a9 ×
Declaration · line 5384 …
v1a7.drawImage(v1a1.canvas, v1a2, v1a3, v1a4, v1a5, 0, 0, v1a4, v1a5);
const v1a8 = v1a4 === v1a5;
const v1a9 = v19y === 180 || v1a8 ? v1a4 : v1a5;
const v1aa = v19y === 180 || v1a8 ? v1a5 : v1a4;
const v1ab = document.createElement("canvas");
v1ab.width = v1a9;
v1ab.height = v1aa;
const v1ac = v1ab.getContext("2d");
… Reference · line 5390 …
v1ab.height = v1aa;
const v1ac = v1ab.getContext("2d");
v1ac.translate(v1a9 / 2, v1aa / 2);
v1ac.rotate(v19y * Math.PI / 180);
v1ac.drawImage(v1a6, -v1a4 / 2, -v1a5 / 2);
v1a1.ctx.clearRect(v1a2, v1a3, v1a4, v1a5);
v1a1.ctx.drawImage(v1ab, v1a2, v1a3);
v4i.emit("canvas:dirty");
…
s186515 Input v1aa rh newHeightUseful 0.45 activeLayer3Useful 0.05 Both poor Absent Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s186515 / v1aa ×
Declaration · line 5385 …
const v1a8 = v1a4 === v1a5;
const v1a9 = v19y === 180 || v1a8 ? v1a4 : v1a5;
const v1aa = v19y === 180 || v1a8 ? v1a5 : v1a4;
const v1ab = document.createElement("canvas");
v1ab.width = v1a9;
v1ab.height = v1aa;
const v1ac = v1ab.getContext("2d");
v1ac.translate(v1a9 / 2, v1aa / 2);
…
s186572 Input v1ab rot offscreenCanvasContextUseful 0.27 activeLayer4Useful 0.06 Both poor Absent Pre-rename JavaScript · s186572 / v1ab ×
Declaration · line 5386 …
const v1a9 = v19y === 180 || v1a8 ? v1a4 : v1a5;
const v1aa = v19y === 180 || v1a8 ? v1a5 : v1a4;
const v1ab = document.createElement("canvas");
v1ab.width = v1a9;
v1ab.height = v1aa;
const v1ac = v1ab.getContext("2d");
v1ac.translate(v1a9 / 2, v1aa / 2);
v1ac.rotate(v19y * Math.PI / 180);
v1ac.drawImage(v1a6, -v1a4 / 2, -v1a5 / 2);
… Reference · line 5394 …
v1ac.drawImage(v1a6, -v1a4 / 2, -v1a5 / 2);
v1a1.ctx.clearRect(v1a2, v1a3, v1a4, v1a5);
v1a1.ctx.drawImage(v1ab , v1a2, v1a3);
v4i.emit("canvas:dirty");
} else {
const v1ad = v19y === 90 || v19y === -90;
const v1ae = v1ad ? v19z.height : v19z.width;
const v1af = v1ad ? v19z.width : v19z.height;
v19z.saveStructureState("Rotate " + v19y + "\xB0");
…
s186682 Input v1ac rctx canvasContextUseful 0.72 activeLayer5Useful 0.07 FlowName better Absent Pre-rename JavaScript · s186682 / v1ac ×
Declaration · line 5389 …
const v1ab = document.createElement("canvas");
v1ab.width = v1a9;
v1ab.height = v1aa;
const v1ac = v1ab.getContext("2d");
v1ac.translate(v1a9 / 2, v1aa / 2);
v1ac.rotate(v19y * Math.PI / 180);
v1ac.drawImage(v1a6, -v1a4 / 2, -v1a5 / 2);
v1a1.ctx.clearRect(v1a2, v1a3, v1a4, v1a5);
v1a1.ctx.drawImage(v1ab, v1a2, v1a3);
…
s187012 Input v1ad swapDims isOrthogonalUseful 0.41 isAxisSwappedUseful 0.75 Humanify better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s187012 / v1ad ×
Declaration · line 5397 …
v1a1.ctx.drawImage(v1ab, v1a2, v1a3);
v4i.emit("canvas:dirty");
} else {
const v1ad = v19y === 90 || v19y === -90;
const v1ae = v1ad ? v19z.height : v19z.width;
const v1af = v1ad ? v19z.width : v19z.height;
v19z.saveStructureState("Rotate " + v19y + "\xB0");
for (const v1ag of v19z.layers) {
…
s187062 Input v1ae newW targetWidthUseful 0.55 rotatedWidthUseful 0.74 Humanify better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s187062 / v1ae ×
Declaration · line 5398 …
v4i.emit("canvas:dirty");
} else {
const v1ad = v19y === 90 || v19y === -90;
const v1ae = v1ad ? v19z.height : v19z.width;
const v1af = v1ad ? v19z.width : v19z.height;
v19z.saveStructureState("Rotate " + v19y + "\xB0");
for (const v1ag of v19z.layers) {
const v1ah = document.createElement("canvas");
… Reference · line 5406 …
v1ah.getContext("2d").drawImage(v1ag.canvas, 0, 0);
v1ag.canvas.width = v1ae ;
v1ag.canvas.height = v1af;
v1ag.ctx.translate(v1ae / 2, v1af / 2);
v1ag.ctx.rotate(v19y * Math.PI / 180);
v1ag.ctx.drawImage(v1ah, -v1ah.width / 2, -v1ah.height / 2);
v1ag.ctx.setTransform(1, 0, 0, 1, 0, 0);
…
s187116 Input v1af newH targetHeightUseful 0.38 newHeightUseful 0.84 Humanify better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s187116 / v1af ×
Declaration · line 5399 …
const v1ad = v19y === 90 || v19y === -90;
const v1ae = v1ad ? v19z.height : v19z.width;
const v1af = v1ad ? v19z.width : v19z.height;
v19z.saveStructureState("Rotate " + v19y + "\xB0");
for (const v1ag of v19z.layers) {
const v1ah = document.createElement("canvas");
v1ah.width = v1ag.canvas.width;
… Reference · line 5407 …
v1ah.getContext("2d").drawImage(v1ag.canvas, 0, 0);
v1ag.canvas.width = v1ae;
v1ag.canvas.height = v1af ;
v1ag.ctx.translate(v1ae / 2, v1af / 2);
v1ag.ctx.rotate(v19y * Math.PI / 180);
v1ag.ctx.drawImage(v1ah, -v1ah.width / 2, -v1ah.height / 2);
v1ag.ctx.setTransform(1, 0, 0, 1, 0, 0);
}
v19z.width = v1ae;
…
s187235 Input v1ag layer layerUseful 0.90 layerUseful 0.90 Both useful Present Pre-rename JavaScript · s187235 / v1ag ×
Declaration · line 5401 …
const v1af = v1ad ? v19z.width : v19z.height;
v19z.saveStructureState("Rotate " + v19y + "\xB0");
for (const v1ag of v19z.layers) {
const v1ah = document.createElement("canvas");
v1ah.width = v1ag.canvas.width;
v1ah.height = v1ag.canvas.height;
v1ah.getContext("2d").drawImage(v1ag.canvas, 0, 0);
v1ag.canvas.width = v1ae;
… Reference · line 5407 …
v1ah.getContext("2d").drawImage(v1ag.canvas, 0, 0);
v1ag.canvas.width = v1ae;
v1ag .canvas.height = v1af;
v1ag.ctx.translate(v1ae / 2, v1af / 2);
v1ag.ctx.rotate(v19y * Math.PI / 180);
v1ag.ctx.drawImage(v1ah, -v1ah.width / 2, -v1ah.height / 2);
v1ag.ctx.setTransform(1, 0, 0, 1, 0, 0);
…
s187274 Input v1ah temp layerCanvasUseful 0.09 tempCanvasUseful 0.84 Humanify better Present Pre-rename JavaScript · s187274 / v1ah ×
Declaration · line 5402 …
v19z.saveStructureState("Rotate " + v19y + "\xB0");
for (const v1ag of v19z.layers) {
const v1ah = document.createElement("canvas");
v1ah.width = v1ag.canvas.width;
v1ah.height = v1ag.canvas.height;
v1ah.getContext("2d").drawImage(v1ag.canvas, 0, 0);
v1ag.canvas.width = v1ae;
v1ag.canvas.height = v1af;
… Reference · line 5410 …
v1ag.ctx.translate(v1ae / 2, v1af / 2);
v1ag.ctx.rotate(v19y * Math.PI / 180);
v1ag.ctx.drawImage(v1ah , -v1ah.width / 2, -v1ah.height / 2);
v1ag.ctx.setTransform(1, 0, 0, 1, 0, 0);
}
v19z.width = v1ae;
v19z.height = v1af;
v19z.composite.width = v1ae;
v19z.composite.height = v1af;
v19z.selection = new vl(v1ae, v1af);
…
s188108 Input v1ai vp viewportRectUseful 0.86 isLandscapeUseful 0.06 FlowName better Absent Pre-rename JavaScript · s188108 / v1ai ×
Declaration · line 5421 …
document.getElementById("status-size").textContent = `${v1ae} x ${v1af}`;
const v1ai = document.getElementById("viewport").getBoundingClientRect();
v19z.fitInView(v1ai.width, v1ai.height);
this._syncZoomUI();
}
}
invertColors() {
const v1aj = this.doc;
if (!v1aj) return;
const v1ak = v1aj.activeLayer;
…
s188300 Input v1aj doc docUseful 0.86 documentUseful 0.78 FlowName better Present Pre-rename JavaScript · s188300 / v1aj ×
Declaration · line 5427 …
v19z.fitInView(v1ai.width, v1ai.height);
this._syncZoomUI();
}
}
invertColors() {
const v1aj = this.doc;
if (!v1aj) return;
const v1ak = v1aj.activeLayer;
if (!v1ak || !v1ak.visible) return;
v1aj.saveDrawState("Invert Colors");
const v1al = v1ak.ctx.getImageData(0, 0, v1aj.width, v1aj.height);
const v1am = v1al.data;
… Reference · line 5434 …
const v1al = v1ak.ctx.getImageData(0, 0, v1aj.width, v1aj.height);
const v1am = v1al.data;
const v1an = v1aj .selection.active ? v1aj.selection.mask : null;
for (let v1ao = 0; v1ao < v1am.length; v1ao += 4) {
if (v1am[v1ao + 3] === 0) continue;
if (v1an && !v1an[v1ao / 4]) continue;
v1am[v1ao] = 255 - v1am[v1ao];
v1am[v1ao + 1] = 255 - v1am[v1ao + 1];
…
s188354 Input v1ak layer layerUseful 0.81 activeLayerUseful 0.44 FlowName better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s188354 / v1ak ×
Declaration · line 5429 …
}
invertColors() {
const v1aj = this.doc;
if (!v1aj) return;
const v1ak = v1aj.activeLayer;
if (!v1ak || !v1ak.visible) return;
v1aj.saveDrawState("Invert Colors");
const v1al = v1ak.ctx.getImageData(0, 0, v1aj.width, v1aj.height);
const v1am = v1al.data;
const v1an = v1aj.selection.active ? v1aj.selection.mask : null;
… Reference · line 5442 …
v1am[v1ao + 1] = 255 - v1am[v1ao + 1];
v1am[v1ao + 2] = 255 - v1am[v1ao + 2];
}
v1ak .ctx.putImageData(v1al, 0, 0);
v4i.emit("canvas:dirty");
}
desaturate() {
const v1ap = this.doc;
if (!v1ap) return;
const v1aq = v1ap.activeLayer;
if (!v1aq || !v1aq.visible) return;
v1ap.saveDrawState("Desaturate");
…
s188476 Input v1al imageData imageDataUseful 0.93 imageDataUseful 0.93 Both useful Present Pre-rename JavaScript · s188476 / v1al ×
Declaration · line 5432 …
if (!v1ak || !v1ak.visible) return;
v1aj.saveDrawState("Invert Colors");
const v1al = v1ak.ctx.getImageData(0, 0, v1aj.width, v1aj.height);
const v1am = v1al.data;
const v1an = v1aj.selection.active ? v1aj.selection.mask : null;
for (let v1ao = 0; v1ao < v1am.length; v1ao += 4) {
if (v1am[v1ao + 3] === 0) continue;
… Reference · line 5442 …
v1am[v1ao + 1] = 255 - v1am[v1ao + 1];
v1am[v1ao + 2] = 255 - v1am[v1ao + 2];
}
v1ak.ctx.putImageData(v1al , 0, 0);
v4i.emit("canvas:dirty");
}
desaturate() {
const v1ap = this.doc;
if (!v1ap) return;
const v1aq = v1ap.activeLayer;
if (!v1aq || !v1aq.visible) return;
v1ap.saveDrawState("Desaturate");
…
s188549 Input v1am d pixelsUseful 0.72 pixelDataUseful 0.82 Humanify better Present Pre-rename JavaScript · s188549 / v1am ×
Declaration · line 5433 …
v1aj.saveDrawState("Invert Colors");
const v1al = v1ak.ctx.getImageData(0, 0, v1aj.width, v1aj.height);
const v1am = v1al.data;
const v1an = v1aj.selection.active ? v1aj.selection.mask : null;
for (let v1ao = 0; v1ao < v1am.length; v1ao += 4) {
if (v1am[v1ao + 3] === 0) continue;
if (v1an && !v1an[v1ao / 4]) continue;
v1am[v1ao] = 255 - v1am[v1ao];
… Reference · line 5439 …
if (v1an && !v1an[v1ao / 4]) continue;
v1am[v1ao] = 255 - v1am[v1ao];
v1am [v1ao + 1] = 255 - v1am[v1ao + 1];
v1am[v1ao + 2] = 255 - v1am[v1ao + 2];
}
v1ak.ctx.putImageData(v1al, 0, 0);
v4i.emit("canvas:dirty");
}
desaturate() {
const v1ap = this.doc;
if (!v1ap) return;
…
s188579 Input v1an mask selectionMaskUseful 0.88 selectionMaskUseful 0.88 Both useful Present Pre-rename JavaScript · s188579 / v1an ×
Declaration · line 5434 …
const v1al = v1ak.ctx.getImageData(0, 0, v1aj.width, v1aj.height);
const v1am = v1al.data;
const v1an = v1aj.selection.active ? v1aj.selection.mask : null;
for (let v1ao = 0; v1ao < v1am.length; v1ao += 4) {
if (v1am[v1ao + 3] === 0) continue;
if (v1an && !v1an[v1ao / 4]) continue;
v1am[v1ao] = 255 - v1am[v1ao];
…
s188653 Input v1ao i iUseful 0.37 pixelIndexUseful 0.71 Humanify better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s188653 / v1ao ×
Declaration · line 5435 …
const v1am = v1al.data;
const v1an = v1aj.selection.active ? v1aj.selection.mask : null;
for (let v1ao = 0; v1ao < v1am.length; v1ao += 4) {
if (v1am[v1ao + 3] === 0) continue;
if (v1an && !v1an[v1ao / 4]) continue;
v1am[v1ao] = 255 - v1am[v1ao];
v1am[v1ao + 1] = 255 - v1am[v1ao + 1];
v1am[v1ao + 2] = 255 - v1am[v1ao + 2];
…
s189038 Input v1ap doc documentInstanceUseful 0.56 documentUseful 0.73 Both useful Present Usefulness probability is near the provisional 0.5 boundary. Preference confidence is low. Pre-rename JavaScript · s189038 / v1ap ×
Declaration · line 5446 …
v1ak.ctx.putImageData(v1al, 0, 0);
v4i.emit("canvas:dirty");
}
desaturate() {
const v1ap = this.doc;
if (!v1ap) return;
const v1aq = v1ap.activeLayer;
if (!v1aq || !v1aq.visible) return;
v1ap.saveDrawState("Desaturate");
const v1ar = v1aq.ctx.getImageData(0, 0, v1ap.width, v1ap.height);
const v1as = v1ar.data;
… Reference · line 5453 …
const v1ar = v1aq.ctx.getImageData(0, 0, v1ap.width, v1ap.height);
const v1as = v1ar.data;
const v1at = v1ap .selection.active ? v1ap.selection.mask : null;
for (let v1au = 0; v1au < v1as.length; v1au += 4) {
if (v1as[v1au + 3] === 0) continue;
if (v1at && !v1at[v1au / 4]) continue;
const v1av = Math.round(v1as[v1au] * 0.299 + v1as[v1au + 1] * 0.587 + v1as[v1au + 2] * 0.114);
…
s189092 Input v1aq layer activeLayerUseful 0.79 activeLayerUseful 0.79 Both useful Present Pre-rename JavaScript · s189092 / v1aq ×
Declaration · line 5448 …
}
desaturate() {
const v1ap = this.doc;
if (!v1ap) return;
const v1aq = v1ap.activeLayer;
if (!v1aq || !v1aq.visible) return;
v1ap.saveDrawState("Desaturate");
const v1ar = v1aq.ctx.getImageData(0, 0, v1ap.width, v1ap.height);
const v1as = v1ar.data;
const v1at = v1ap.selection.active ? v1ap.selection.mask : null;
… Reference · line 5462 …
v1as[v1au] = v1av;
v1as[v1au + 1] = v1av;
v1as[v1au + 2] = v1av;
}
v1aq .ctx.putImageData(v1ar, 0, 0);
v4i.emit("canvas:dirty");
}
posterize(v1aw = 4) {
const v1ax = this.doc;
if (!v1ax) return;
const v1ay = v1ax.activeLayer;
if (!v1ay || !v1ay.visible) return;
v1ax.saveDrawState("Posterize");
…
s189211 Input v1ar imageData imageDataUseful 0.93 imageDataUseful 0.93 Both useful Present Pre-rename JavaScript · s189211 / v1ar ×
Declaration · line 5451 …
if (!v1aq || !v1aq.visible) return;
v1ap.saveDrawState("Desaturate");
const v1ar = v1aq.ctx.getImageData(0, 0, v1ap.width, v1ap.height);
const v1as = v1ar.data;
const v1at = v1ap.selection.active ? v1ap.selection.mask : null;
for (let v1au = 0; v1au < v1as.length; v1au += 4) {
if (v1as[v1au + 3] === 0) continue;
… Reference · line 5462 …
v1as[v1au + 1] = v1av;
v1as[v1au + 2] = v1av;
}
v1aq.ctx.putImageData(v1ar , 0, 0);
v4i.emit("canvas:dirty");
}
posterize(v1aw = 4) {
const v1ax = this.doc;
if (!v1ax) return;
const v1ay = v1ax.activeLayer;
if (!v1ay || !v1ay.visible) return;
v1ax.saveDrawState("Posterize");
…
s189284 Input v1as d pixelDataUseful 0.83 pixelDataUseful 0.83 Both useful Present Pre-rename JavaScript · s189284 / v1as ×
Declaration · line 5452 …
v1ap.saveDrawState("Desaturate");
const v1ar = v1aq.ctx.getImageData(0, 0, v1ap.width, v1ap.height);
const v1as = v1ar.data;
const v1at = v1ap.selection.active ? v1ap.selection.mask : null;
for (let v1au = 0; v1au < v1as.length; v1au += 4) {
if (v1as[v1au + 3] === 0) continue;
if (v1at && !v1at[v1au / 4]) continue;
const v1av = Math.round(v1as[v1au] * 0.299 + v1as[v1au + 1] * 0.587 + v1as
… Reference · line 5458 …
const v1av = Math.round(v1as[v1au] * 0.299 + v1as[v1au + 1] * 0.587 + v1as[v1au + 2] * 0.114);
v1as [v1au] = v1av;
v1as[v1au + 1] = v1av;
v1as[v1au + 2] = v1av;
}
v1aq.ctx.putImageData(v1ar, 0, 0);
v4i.emit("canvas:dirty");
}
posterize(v1aw = 4) {
const v1ax = this.doc;
if (!v1ax) return;
…
s189314 Input v1at mask selectionMaskUseful 0.87 selectionMaskUseful 0.87 Both useful Present Pre-rename JavaScript · s189314 / v1at ×
Declaration · line 5453 …
const v1ar = v1aq.ctx.getImageData(0, 0, v1ap.width, v1ap.height);
const v1as = v1ar.data;
const v1at = v1ap.selection.active ? v1ap.selection.mask : null;
for (let v1au = 0; v1au < v1as.length; v1au += 4) {
if (v1as[v1au + 3] === 0) continue;
if (v1at && !v1at[v1au / 4]) continue;
const v1av = Math.round(v1as[v1au] * 0.299 + v1as[v1au + 1] * 0.587 + v1as[v1au + 2] * 0.114);
…
s189388 Input v1au i iUseful 0.66 pixelIndexUseful 0.42 FlowName better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s189388 / v1au ×
Declaration · line 5454 …
const v1as = v1ar.data;
const v1at = v1ap.selection.active ? v1ap.selection.mask : null;
for (let v1au = 0; v1au < v1as.length; v1au += 4) {
if (v1as[v1au + 3] === 0) continue;
if (v1at && !v1at[v1au / 4]) continue;
const v1av = Math.round(v1as[v1au] * 0.299 + v1as[v1au + 1] * 0.587 + v1as[v1au + 2] * 0.114);
v1as[v1au] = v1av;
… Reference · line 5459 …
const v1av = Math.round(v1as[v1au] * 0.299 + v1as[v1au + 1] * 0.587 + v1as[v1au + 2] * 0.114);
v1as[v1au] = v1av;
v1as[v1au + 1] = v1av;
v1as[v1au + 2] = v1av;
}
v1aq.ctx.putImageData(v1ar, 0, 0);
v4i.emit("canvas:dirty");
}
posterize(v1aw = 4) {
const v1ax = this.doc;
if (!v1ax) return;
const v1ay = v1ax.activeLayer;
…
s189536 Input v1av gray grayValueUseful 0.82 grayscaleValueUseful 0.75 Both useful Present Preference confidence is low. Pre-rename JavaScript · s189536 / v1av ×
Declaration · line 5457 …
if (v1as[v1au + 3] === 0) continue;
if (v1at && !v1at[v1au / 4]) continue;
const v1av = Math.round(v1as[v1au] * 0.299 + v1as[v1au + 1] * 0.587 + v1as[v1au + 2] * 0.114);
v1as[v1au] = v1av;
v1as[v1au + 1] = v1av;
v1as[v1au + 2] = v1av;
}
v1aq.ctx.putImageData(v1ar, 0, 0);
v4i.emit("canvas:dirty");
…
s189815 Input v1aw levels levelsUseful 0.79 posterizeLevelsUseful 0.66 Humanify better Present Pre-rename JavaScript · s189815 / v1aw ×
Declaration · line 5465 …
v1aq.ctx.putImageData(v1ar, 0, 0);
v4i.emit("canvas:dirty");
}
posterize(v1aw = 4) {
const v1ax = this.doc;
if (!v1ax) return;
const v1ay = v1ax.activeLayer;
if (!v1ay || !v1ay.visible) return;
v1ax.saveDrawState("Posterize");
const v1az = v1ay.ctx.getImageData(0, 0, v1ax.width, v1ax.height);
… Reference · line 5474 …
const v1b1 = v1ax.selection.active ? v1ax.selection.mask : null;
const v1b2 = 255 / (v1aw - 1);
for (let v1b3 = 0; v1b3 < v1b0.length; v1b3 += 4) {
if (v1b0[v1b3 + 3] === 0) continue;
if (v1b1 && !v1b1[v1b3 / 4]) continue;
v1b0[v1b3] = Math.round(Math.round(v1b0[v1b3] / v1b2) * v1b2);
v1b0[v1b3 + 1] = Math.round(Math.round(v1b0[v1b3 + 1] / v1b2) * v1b2);
…
s189839 Input v1ax doc docUseful 0.86 documentUseful 0.78 Both useful Present Preference confidence is low. Pre-rename JavaScript · s189839 / v1ax ×
Declaration · line 5466 …
v1aq.ctx.putImageData(v1ar, 0, 0);
v4i.emit("canvas:dirty");
}
posterize(v1aw = 4) {
const v1ax = this.doc;
if (!v1ax) return;
const v1ay = v1ax.activeLayer;
if (!v1ay || !v1ay.visible) return;
v1ax.saveDrawState("Posterize");
const v1az = v1ay.ctx.getImageData(0, 0, v1ax.width, v1ax.height);
const v1b0 = v1az.data;
… Reference · line 5473 …
const v1az = v1ay.ctx.getImageData(0, 0, v1ax.width, v1ax.height);
const v1b0 = v1az.data;
const v1b1 = v1ax .selection.active ? v1ax.selection.mask : null;
const v1b2 = 255 / (v1aw - 1);
for (let v1b3 = 0; v1b3 < v1b0.length; v1b3 += 4) {
if (v1b0[v1b3 + 3] === 0) continue;
if (v1b1 && !v1b1[v1b3 / 4]) continue;
v1b0[v1b3] = Math.round(Math.round(v1b0[v1b3] / v1b2) * v1b2);
…
s189893 Input v1ay layer activeLayerUseful 0.74 activeLayerUseful 0.74 Both useful Present Pre-rename JavaScript · s189893 / v1ay ×
Declaration · line 5468 …
posterize(v1aw = 4) {
const v1ax = this.doc;
if (!v1ax) return;
const v1ay = v1ax.activeLayer;
if (!v1ay || !v1ay.visible) return;
v1ax.saveDrawState("Posterize");
const v1az = v1ay.ctx.getImageData(0, 0, v1ax.width, v1ax.height);
const v1b0 = v1az.data;
const v1b1 = v1ax.selection.active ? v1ax.selection.mask : null;
… Reference · line 5482 …
v1b0[v1b3 + 2] = Math.round(Math.round(v1b0[v1b3 + 2] / v1b2) * v1b2);
}
v1ay .ctx.putImageData(v1az, 0, 0);
v4i.emit("canvas:dirty");
}
threshold(v1b4 = 128) {
const v1b5 = this.doc;
if (!v1b5) return;
const v1b6 = v1b5.activeLayer;
if (!v1b6 || !v1b6.visible) return;
v1b5.saveDrawState("Threshold");
…
s190011 Input v1az imageData imageDataUseful 0.93 imageDataUseful 0.93 Both useful Present Pre-rename JavaScript · s190011 / v1az ×
Declaration · line 5471 …
if (!v1ay || !v1ay.visible) return;
v1ax.saveDrawState("Posterize");
const v1az = v1ay.ctx.getImageData(0, 0, v1ax.width, v1ax.height);
const v1b0 = v1az.data;
const v1b1 = v1ax.selection.active ? v1ax.selection.mask : null;
const v1b2 = 255 / (v1aw - 1);
for (let v1b3 = 0; v1b3 < v1b0.length; v1b3 += 4) {
… Reference · line 5482 …
v1b0[v1b3 + 2] = Math.round(Math.round(v1b0[v1b3 + 2] / v1b2) * v1b2);
}
v1ay.ctx.putImageData(v1az , 0, 0);
v4i.emit("canvas:dirty");
}
threshold(v1b4 = 128) {
const v1b5 = this.doc;
if (!v1b5) return;
const v1b6 = v1b5.activeLayer;
if (!v1b6 || !v1b6.visible) return;
v1b5.saveDrawState("Threshold");
…
s190084 Input v1b0 d pixelDataUseful 0.85 pixelDataUseful 0.85 Both useful Present Pre-rename JavaScript · s190084 / v1b0 ×
Declaration · line 5472 …
v1ax.saveDrawState("Posterize");
const v1az = v1ay.ctx.getImageData(0, 0, v1ax.width, v1ax.height);
const v1b0 = v1az.data;
const v1b1 = v1ax.selection.active ? v1ax.selection.mask : null;
const v1b2 = 255 / (v1aw - 1);
for (let v1b3 = 0; v1b3 < v1b0.length; v1b3 += 4) {
if (v1b0[v1b3 + 3] === 0) continue;
if (v1b1 && !v1b1[v1b3 / 4]) continue;
… Reference · line 5478 …
if (v1b0[v1b3 + 3] === 0) continue;
if (v1b1 && !v1b1[v1b3 / 4]) continue;
v1b0 [v1b3] = Math.round(Math.round(v1b0[v1b3] / v1b2) * v1b2);
v1b0[v1b3 + 1] = Math.round(Math.round(v1b0[v1b3 + 1] / v1b2) * v1b2);
v1b0[v1b3 + 2] = Math.round(Math.round(v1b0[v1b3 + 2] / v1b2) * v1b2);
}
v1ay.ctx.putImageData(v1az, 0, 0);
…
s190114 Input v1b1 mask selectionMaskUseful 0.88 selectionMaskUseful 0.88 Both useful Present Pre-rename JavaScript · s190114 / v1b1 ×
Declaration · line 5473 …
const v1az = v1ay.ctx.getImageData(0, 0, v1ax.width, v1ax.height);
const v1b0 = v1az.data;
const v1b1 = v1ax.selection.active ? v1ax.selection.mask : null;
const v1b2 = 255 / (v1aw - 1);
for (let v1b3 = 0; v1b3 < v1b0.length; v1b3 += 4) {
if (v1b0[v1b3 + 3] === 0) continue;
if (v1b1 && !v1b1[v1b3 / 4]) continue;
…
s190185 Input v1b2 step stepSizeUseful 0.78 factorUseful 0.28 FlowName better Present Pre-rename JavaScript · s190185 / v1b2 ×
Declaration · line 5474 …
const v1b0 = v1az.data;
const v1b1 = v1ax.selection.active ? v1ax.selection.mask : null;
const v1b2 = 255 / (v1aw - 1);
for (let v1b3 = 0; v1b3 < v1b0.length; v1b3 += 4) {
if (v1b0[v1b3 + 3] === 0) continue;
if (v1b1 && !v1b1[v1b3 / 4]) continue;
v1b0[v1b3] = Math.round(Math.round(v1b0[v1b3] / v1b2) * v1b2);
… Reference · line 5479 …
v1b0[v1b3] = Math.round(Math.round(v1b0[v1b3] / v1b2) * v1b2);
v1b0[v1b3 + 1] = Math.round(Math.round(v1b0[v1b3 + 1] / v1b2 ) * v1b2);
v1b0[v1b3 + 2] = Math.round(Math.round(v1b0[v1b3 + 2] / v1b2) * v1b2);
}
v1ay.ctx.putImageData(v1az, 0, 0);
v4i.emit("canvas:dirty");
}
threshold(v1b4 = 128) {
const v1b5 = this.doc;
if (!v1b5) return;
…
s190225 Input v1b3 i pixelIndexUseful 0.65 pixelIndexUseful 0.65 Both useful Present Pre-rename JavaScript · s190225 / v1b3 ×
Declaration · line 5475 …
const v1b1 = v1ax.selection.active ? v1ax.selection.mask : null;
const v1b2 = 255 / (v1aw - 1);
for (let v1b3 = 0; v1b3 < v1b0.length; v1b3 += 4) {
if (v1b0[v1b3 + 3] === 0) continue;
if (v1b1 && !v1b1[v1b3 / 4]) continue;
v1b0[v1b3] = Math.round(Math.round(v1b0[v1b3] / v1b2) * v1b2);
v1b0[v1b3 + 1] = Math.round(Math.round(v1b0[v1b3 + 1] / v1b2) * v1b2);
… Reference · line 5480 …
v1b0[v1b3 + 1] = Math.round(Math.round(v1b0[v1b3 + 1] / v1b2) * v1b2);
v1b0[v1b3 + 2] = Math.round(Math.round(v1b0[v1b3 + 2] / v1b2) * v1b2);
}
v1ay.ctx.putImageData(v1az, 0, 0);
v4i.emit("canvas:dirty");
}
threshold(v1b4 = 128) {
const v1b5 = this.doc;
if (!v1b5) return;
const v1b6 = v1b5.activeLayer;
…
s190689 Input v1b4 level thresholdValueUseful 0.86 thresholdValueUseful 0.86 Both useful Present Pre-rename JavaScript · s190689 / v1b4 ×
Declaration · line 5485 …
v1ay.ctx.putImageData(v1az, 0, 0);
v4i.emit("canvas:dirty");
}
threshold(v1b4 = 128) {
const v1b5 = this.doc;
if (!v1b5) return;
const v1b6 = v1b5.activeLayer;
if (!v1b6 || !v1b6.visible) return;
v1b5.saveDrawState("Threshold");
const v1b7 = v1b6.ctx.getImageData(0, 0, v1b5.width, v1b5.height);
… Reference · line 5498 …
const v1bb = v1b8[v1ba] * 0.299 + v1b8[v1ba + 1] * 0.587 + v1b8[v1ba + 2] * 0.114;
const v1bc = v1bb >= v1b4 ? 255 : 0;
v1b8[v1ba] = v1bc;
v1b8[v1ba + 1] = v1bc;
v1b8[v1ba + 2] = v1bc;
}
v1b6.ctx.putImageData(v1b7, 0, 0);
v4i.emit("canvas:dirty");
}
invertSelection() {
const v1bd = this.doc;
…
s190715 Input v1b5 doc docUseful 0.80 documentInstanceUseful 0.75 Both useful Present Preference confidence is low. Pre-rename JavaScript · s190715 / v1b5 ×
Declaration · line 5486 …
v1ay.ctx.putImageData(v1az, 0, 0);
v4i.emit("canvas:dirty");
}
threshold(v1b4 = 128) {
const v1b5 = this.doc;
if (!v1b5) return;
const v1b6 = v1b5.activeLayer;
if (!v1b6 || !v1b6.visible) return;
v1b5.saveDrawState("Threshold");
const v1b7 = v1b6.ctx.getImageData(0, 0, v1b5.width, v1b5.height);
const v1b8 = v1b7.data;
… Reference · line 5493 …
const v1b7 = v1b6.ctx.getImageData(0, 0, v1b5.width, v1b5.height);
const v1b8 = v1b7.data;
const v1b9 = v1b5 .selection.active ? v1b5.selection.mask : null;
for (let v1ba = 0; v1ba < v1b8.length; v1ba += 4) {
if (v1b8[v1ba + 3] === 0) continue;
if (v1b9 && !v1b9[v1ba / 4]) continue;
const v1bb = v1b8[v1ba] * 0.299 + v1b8[v1ba + 1] * 0.587 + v1b8[v1ba + 2] * 0.114;
…
s190769 Input v1b6 layer activeLayerUseful 0.84 activeLayerUseful 0.84 Both useful Present Pre-rename JavaScript · s190769 / v1b6 ×
Declaration · line 5488 …
threshold(v1b4 = 128) {
const v1b5 = this.doc;
if (!v1b5) return;
const v1b6 = v1b5.activeLayer;
if (!v1b6 || !v1b6.visible) return;
v1b5.saveDrawState("Threshold");
const v1b7 = v1b6.ctx.getImageData(0, 0, v1b5.width, v1b5.height);
const v1b8 = v1b7.data;
const v1b9 = v1b5.selection.active ? v1b5.selection.mask : null;
… Reference · line 5503 …
v1b8[v1ba] = v1bc;
v1b8[v1ba + 1] = v1bc;
v1b8[v1ba + 2] = v1bc;
}
v1b6 .ctx.putImageData(v1b7, 0, 0);
v4i.emit("canvas:dirty");
}
invertSelection() {
const v1bd = this.doc;
if (!v1bd) return;
const v1be = v1bd.selection;
if (!v1be.active) return;
v1bd.saveSelectionState("Invert Selection");
…
s190887 Input v1b7 imageData imageDataUseful 0.94 imageDataUseful 0.94 Both useful Present Pre-rename JavaScript · s190887 / v1b7 ×
Declaration · line 5491 …
if (!v1b6 || !v1b6.visible) return;
v1b5.saveDrawState("Threshold");
const v1b7 = v1b6.ctx.getImageData(0, 0, v1b5.width, v1b5.height);
const v1b8 = v1b7.data;
const v1b9 = v1b5.selection.active ? v1b5.selection.mask : null;
for (let v1ba = 0; v1ba < v1b8.length; v1ba += 4) {
if (v1b8[v1ba + 3] === 0) continue;
… Reference · line 5503 …
v1b8[v1ba + 1] = v1bc;
v1b8[v1ba + 2] = v1bc;
}
v1b6.ctx.putImageData(v1b7 , 0, 0);
v4i.emit("canvas:dirty");
}
invertSelection() {
const v1bd = this.doc;
if (!v1bd) return;
const v1be = v1bd.selection;
if (!v1be.active) return;
v1bd.saveSelectionState("Invert Selection");
…
s190960 Input v1b8 d pixelsUseful 0.68 pixelDataUseful 0.83 Both useful Present Preference confidence is low. Pre-rename JavaScript · s190960 / v1b8 ×
Declaration · line 5492 …
v1b5.saveDrawState("Threshold");
const v1b7 = v1b6.ctx.getImageData(0, 0, v1b5.width, v1b5.height);
const v1b8 = v1b7.data;
const v1b9 = v1b5.selection.active ? v1b5.selection.mask : null;
for (let v1ba = 0; v1ba < v1b8.length; v1ba += 4) {
if (v1b8[v1ba + 3] === 0) continue;
if (v1b9 && !v1b9[v1ba / 4]) continue;
const v1bb = v1b8[v1ba] * 0.299 + v1b8[v1ba + 1] * 0.587 + v1b8[v1ba + 2]
… Reference · line 5499 …
const v1bb = v1b8[v1ba] * 0.299 + v1b8[v1ba + 1] * 0.587 + v1b8[v1ba + 2] * 0.114;
const v1bc = v1bb >= v1b4 ? 255 : 0;
v1b8 [v1ba] = v1bc;
v1b8[v1ba + 1] = v1bc;
v1b8[v1ba + 2] = v1bc;
}
v1b6.ctx.putImageData(v1b7, 0, 0);
v4i.emit("canvas:dirty");
}
invertSelection() {
const v1bd = this.doc;
if (!v1bd) return;
…
s190990 Input v1b9 mask selectionMaskUseful 0.86 selectionMaskUseful 0.86 Both useful Present Pre-rename JavaScript · s190990 / v1b9 ×
Declaration · line 5493 …
const v1b7 = v1b6.ctx.getImageData(0, 0, v1b5.width, v1b5.height);
const v1b8 = v1b7.data;
const v1b9 = v1b5.selection.active ? v1b5.selection.mask : null;
for (let v1ba = 0; v1ba < v1b8.length; v1ba += 4) {
if (v1b8[v1ba + 3] === 0) continue;
if (v1b9 && !v1b9[v1ba / 4]) continue;
const v1bb = v1b8[v1ba] * 0.299 + v1b8[v1ba + 1] * 0.587 + v1b8[v1ba + 2] * 0.114;
…
s191064 Input v1ba i iUseful 0.36 pixelIndexUseful 0.70 Humanify better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s191064 / v1ba ×
Declaration · line 5494 …
const v1b8 = v1b7.data;
const v1b9 = v1b5.selection.active ? v1b5.selection.mask : null;
for (let v1ba = 0; v1ba < v1b8.length; v1ba += 4) {
if (v1b8[v1ba + 3] === 0) continue;
if (v1b9 && !v1b9[v1ba / 4]) continue;
const v1bb = v1b8[v1ba] * 0.299 + v1b8[v1ba + 1] * 0.587 + v1b8[v1ba + 2] * 0.114;
const v1bc = v1bb >= v1b4 ? 255 : 0;
… Reference · line 5499 …
const v1bb = v1b8[v1ba] * 0.299 + v1b8[v1ba + 1] * 0.587 + v1b8[v1ba + 2] * 0.114;
const v1bc = v1bb >= v1b4 ? 255 : 0;
v1b8[v1ba ] = v1bc;
v1b8[v1ba + 1] = v1bc;
v1b8[v1ba + 2] = v1bc;
}
v1b6.ctx.putImageData(v1b7, 0, 0);
v4i.emit("canvas:dirty");
}
invertSelection() {
const v1bd = this.doc;
if (!v1bd) return;
…
s191212 Input v1bb gray grayscaleUseful 0.45 grayscaleValueUseful 0.57 Humanify better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s191212 / v1bb ×
Declaration · line 5497 …
if (v1b8[v1ba + 3] === 0) continue;
if (v1b9 && !v1b9[v1ba / 4]) continue;
const v1bb = v1b8[v1ba] * 0.299 + v1b8[v1ba + 1] * 0.587 + v1b8[v1ba + 2] * 0.114;
const v1bc = v1bb >= v1b4 ? 255 : 0;
v1b8[v1ba] = v1bc;
v1b8[v1ba + 1] = v1bc;
v1b8[v1ba + 2] = v1bc;
}
v1b6.ctx.putImageData(v1b7, 0, 0);
…
s191303 Input v1bc val newColorUseful 0.15 luminanceUseful 0.16 Both poor Present Pre-rename JavaScript · s191303 / v1bc ×
Declaration · line 5498 …
const v1bb = v1b8[v1ba] * 0.299 + v1b8[v1ba + 1] * 0.587 + v1b8[v1ba + 2] * 0.114;
const v1bc = v1bb >= v1b4 ? 255 : 0;
v1b8[v1ba] = v1bc;
v1b8[v1ba + 1] = v1bc;
v1b8[v1ba + 2] = v1bc;
}
v1b6.ctx.putImageData(v1b7, 0, 0);
v4i.emit("canvas:dirty");
}
invertSelection() {
const v1bd = this.doc;
…
s191546 Input v1bd doc docUseful 0.79 documentInstanceUseful 0.65 FlowName better Present Pre-rename JavaScript · s191546 / v1bd ×
Declaration · line 5507 …
v1b6.ctx.putImageData(v1b7, 0, 0);
v4i.emit("canvas:dirty");
}
invertSelection() {
const v1bd = this.doc;
if (!v1bd) return;
const v1be = v1bd.selection;
if (!v1be.active) return;
v1bd.saveSelectionState("Invert Selection");
const v1bf = new Uint8Array(v1bd.width * v1bd.height);
for (let v1bg = 0; v1bg < v1bf.length; v1bg++) {
… Reference · line 5516 …
for (let v1bg = 0; v1bg < v1bf.length; v1bg++) {
v1bf[v1bg] = v1be.mask ? v1be.mask[v1bg] ? 0 : 1 : 0;
}
let v1bh = v1bd .width,
v1bi = v1bd.height,
v1bj = 0,
v1bk = 0;
for (let v1bl = 0; v1bl < v1bd.height; v1bl++) {
for (let v1bm = 0; v1bm < v1bd.width; v1bm++) {
if (v1bf[v1bl * v1bd.width + v1bm]) {
if (v1bm < v1bh) v1bh = v1bm;
…
s191600 Input v1be sel selectionUseful 0.90 selectionUseful 0.90 Both useful Present Pre-rename JavaScript · s191600 / v1be ×
Declaration · line 5509 …
invertSelection() {
const v1bd = this.doc;
if (!v1bd) return;
const v1be = v1bd.selection;
if (!v1be.active) return;
v1bd.saveSelectionState("Invert Selection");
const v1bf = new Uint8Array(v1bd.width * v1bd.height);
for (let v1bg = 0; v1bg < v1bf.length; v1bg++) {
v1bf[v1bg] = v1be.mask ? v1be.mask[v1bg] ? 0 : 1 : 0;
… Reference · line 5531 …
if (v1bl > v1bk) v1bk = v1bl;
}
}
}
if (v1bj < v1bh) {
v1be .clear();
} else {
v1be.setMask(v1bf, {
x: v1bh,
y: v1bi,
w: v1bj - v1bh + 1,
h: v1bk - v1bi + 1
});
}
v4i.emit("canvas:dirty");
}
strokeSelection() {
const v1bn = this.doc;
…
s191718 Input v1bf mask invertedMaskUseful 0.82 invertedMaskUseful 0.82 Both useful Present Pre-rename JavaScript · s191718 / v1bf ×
Declaration · line 5512 …
if (!v1be.active) return;
v1bd.saveSelectionState("Invert Selection");
const v1bf = new Uint8Array(v1bd.width * v1bd.height);
for (let v1bg = 0; v1bg < v1bf.length; v1bg++) {
v1bf[v1bg] = v1be.mask ? v1be.mask[v1bg] ? 0 : 1 : 0;
}
let v1bh = v1bd.width,
v1bi = v1bd.height,
v1bj = 0,
… Reference · line 5522 …
for (let v1bl = 0; v1bl < v1bd.height; v1bl++) {
for (let v1bm = 0; v1bm < v1bd.width; v1bm++) {
if (v1bf [v1bl * v1bd.width + v1bm]) {
if (v1bm < v1bh) v1bh = v1bm;
if (v1bm > v1bj) v1bj = v1bm;
if (v1bl < v1bi) v1bi = v1bl;
if (v1bl > v1bk) v1bk = v1bl;
}
}
}
if (v1bj < v1bh) {
…
s191782 Input v1bg i iUseful 0.73 indexUseful 0.74 Humanify better Present Pre-rename JavaScript · s191782 / v1bg ×
Declaration · line 5513 …
v1bd.saveSelectionState("Invert Selection");
const v1bf = new Uint8Array(v1bd.width * v1bd.height);
for (let v1bg = 0; v1bg < v1bf.length; v1bg++) {
v1bf[v1bg] = v1be.mask ? v1be.mask[v1bg] ? 0 : 1 : 0;
}
let v1bh = v1bd.width,
v1bi = v1bd.height,
v1bj = 0,
v1bk = 0;
for (let v1bl = 0; v1bl < v1bd.height; v1bl++) {
…
s191902 Input v1bh minX minXUseful 0.92 widthUseful 0.05 FlowName better Present Pre-rename JavaScript · s191902 / v1bh ×
Declaration · line 5516 …
for (let v1bg = 0; v1bg < v1bf.length; v1bg++) {
v1bf[v1bg] = v1be.mask ? v1be.mask[v1bg] ? 0 : 1 : 0;
}
let v1bh = v1bd.width,
v1bi = v1bd.height,
v1bj = 0,
v1bk = 0;
for (let v1bl = 0; v1bl < v1bd.height; v1bl++) {
for (let v1bm = 0; v1bm < v1bd.width; v1bm++) {
if (v1bf[v1bl * v1bd.width + v1bm]) {
… Reference · line 5523 …
for (let v1bm = 0; v1bm < v1bd.width; v1bm++) {
if (v1bf[v1bl * v1bd.width + v1bm]) {
if (v1bm < v1bh ) v1bh = v1bm;
if (v1bm > v1bj) v1bj = v1bm;
if (v1bl < v1bi) v1bi = v1bl;
if (v1bl > v1bk) v1bk = v1bl;
}
}
}
if (v1bj < v1bh) {
v1be.clear();
} else {
v1be.setMask(v1bf, {
…
s191929 Input v1bi minY minYUseful 0.89 heightUseful 0.07 FlowName better Present Pre-rename JavaScript · s191929 / v1bi ×
Declaration · line 5517 …
v1bf[v1bg] = v1be.mask ? v1be.mask[v1bg] ? 0 : 1 : 0;
}
let v1bh = v1bd.width,
v1bi = v1bd.height,
v1bj = 0,
v1bk = 0;
for (let v1bl = 0; v1bl < v1bd.height; v1bl++) {
for (let v1bm = 0; v1bm < v1bd.width; v1bm++) {
if (v1bf[v1bl * v1bd.width + v1bm]) {
if (v1bm < v1bh) v1bh = v1bm;
… Reference · line 5525 …
if (v1bm < v1bh) v1bh = v1bm;
if (v1bm > v1bj) v1bj = v1bm;
if (v1bl < v1bi ) v1bi = v1bl;
if (v1bl > v1bk) v1bk = v1bl;
}
}
}
if (v1bj < v1bh) {
v1be.clear();
} else {
v1be.setMask(v1bf, {
x: v1bh,
y: v1bi,
w: v1bj - v1bh + 1,
…
s191957 Input v1bj maxX maxXUseful 0.95 startXUseful 0.06 FlowName better Present Pre-rename JavaScript · s191957 / v1bj ×
Declaration · line 5518 …
v1bf[v1bg] = v1be.mask ? v1be.mask[v1bg] ? 0 : 1 : 0;
}
let v1bh = v1bd.width,
v1bi = v1bd.height,
v1bj = 0,
v1bk = 0;
for (let v1bl = 0; v1bl < v1bd.height; v1bl++) {
for (let v1bm = 0; v1bm < v1bd.width; v1bm++) {
if (v1bf[v1bl * v1bd.width + v1bm]) {
if (v1bm < v1bh) v1bh = v1bm;
if (v1bm > v1bj) v1bj = v1bm;
… Reference · line 5530 …
if (v1bl < v1bi) v1bi = v1bl;
if (v1bl > v1bk) v1bk = v1bl;
}
}
}
if (v1bj < v1bh) {
v1be.clear();
} else {
v1be.setMask(v1bf, {
x: v1bh,
y: v1bi,
w: v1bj - v1bh + 1,
h: v1bk - v1bi + 1
});
}
v4i.emit("canvas:dirty");
}
strokeSelection() {
…
s191975 Input v1bk maxY maxYUseful 0.93 startYUseful 0.07 FlowName better Present Pre-rename JavaScript · s191975 / v1bk ×
Declaration · line 5519 …
}
let v1bh = v1bd.width,
v1bi = v1bd.height,
v1bj = 0,
v1bk = 0;
for (let v1bl = 0; v1bl < v1bd.height; v1bl++) {
for (let v1bm = 0; v1bm < v1bd.width; v1bm++) {
if (v1bf[v1bl * v1bd.width + v1bm]) {
if (v1bm < v1bh) v1bh = v1bm;
if (v1bm > v1bj) v1bj = v1bm;
… Reference · line 5526 …
if (v1bm > v1bj) v1bj = v1bm;
if (v1bl < v1bi) v1bi = v1bl;
if (v1bl > v1bk ) v1bk = v1bl;
}
}
}
if (v1bj < v1bh) {
v1be.clear();
} else {
v1be.setMask(v1bf, {
x: v1bh,
y: v1bi,
w: v1bj - v1bh + 1,
h: v1bk - v1bi + 1
});
…
s192000 Input v1bl y yUseful 0.79 yUseful 0.79 Both useful Present Pre-rename JavaScript · s192000 / v1bl ×
Declaration · line 5520 …
let v1bh = v1bd.width,
v1bi = v1bd.height,
v1bj = 0,
v1bk = 0;
for (let v1bl = 0; v1bl < v1bd.height; v1bl++) {
for (let v1bm = 0; v1bm < v1bd.width; v1bm++) {
if (v1bf[v1bl * v1bd.width + v1bm]) {
if (v1bm < v1bh) v1bh = v1bm;
if (v1bm > v1bj) v1bj = v1bm;
if (v1bl < v1bi) v1bi = v1bl;
… Reference · line 5526 …
if (v1bm > v1bj) v1bj = v1bm;
if (v1bl < v1bi) v1bi = v1bl;
if (v1bl > v1bk) v1bk = v1bl;
}
}
}
if (v1bj < v1bh) {
v1be.clear();
} else {
v1be.setMask(v1bf, {
x: v1bh,
y: v1bi,
w: v1bj - v1bh + 1,
h: v1bk - v1bi + 1
…
s192057 Input v1bm x xUseful 0.63 xUseful 0.63 Both useful Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s192057 / v1bm ×
Declaration · line 5521 …
v1bk = 0;
for (let v1bl = 0; v1bl < v1bd.height; v1bl++) {
for (let v1bm = 0; v1bm < v1bd.width; v1bm++) {
if (v1bf[v1bl * v1bd.width + v1bm]) {
if (v1bm < v1bh) v1bh = v1bm;
if (v1bm > v1bj) v1bj = v1bm;
if (v1bl < v1bi) v1bi = v1bl;
if (v1bl > v1bk) v1bk = v1bl;
…
s192624 Input v1bn doc docUseful 0.87 documentUseful 0.66 FlowName better Present Pre-rename JavaScript · s192624 / v1bn ×
Declaration · line 5543 …
});
}
v4i.emit("canvas:dirty");
}
strokeSelection() {
const v1bn = this.doc;
if (!v1bn || !v1bn.selection.active || !v1bn.selection.bounds) return;
const v1bo = v1bn.activeLayer;
if (!v1bo || !v1bo.visible) return;
v1bn.saveDrawState("Stroke Selection");
const v1bp = v1bn.selection;
…
s192730 Input v1bo layer activeLayerUseful 0.87 activeLayerUseful 0.87 Both useful Present Pre-rename JavaScript · s192730 / v1bo ×
Declaration · line 5545 …
const v1bn = this.doc;
if (!v1bn || !v1bn.selection.active || !v1bn.selection.bounds) return;
const v1bo = v1bn.activeLayer;
if (!v1bo || !v1bo.visible) return;
v1bn.saveDrawState("Stroke Selection");
const v1bp = v1bn.selection;
const {
x: v1bq,
y: v1br,
w: v1bs,
h: v1bt
} = v1bp.bounds;
… Reference · line 5558 …
const [v1bv, v1bw, v1bx] = v4i._primaryColor || [0, 0, 0];
const v1by = (v4i._brushAlpha !== void 0 ? v4i._brushAlpha : 255) / 255;
v1bo .ctx.save();
v1bo.ctx.strokeStyle = `rgba(${v1bv},${v1bw},${v1bx},${v1by})`;
v1bo.ctx.lineWidth = v1bu;
if (v1bp._contours) {
v1bo.ctx.beginPath();
for (const v1bz of v1bp._contours) {
v1bo.ctx.moveTo(v1bz[0].x, v1bz[0].y);
…
s192855 Input v1bp sel selectionUseful 0.94 selectionUseful 0.94 Both useful Present Pre-rename JavaScript · s192855 / v1bp ×
Declaration · line 5548 …
if (!v1bo || !v1bo.visible) return;
v1bn.saveDrawState("Stroke Selection");
const v1bp = v1bn.selection;
const {
x: v1bq,
y: v1br,
w: v1bs,
h: v1bt
} = v1bp.bounds;
const v1bu = v4i._brushSize || 1;
const [v1bv, v1bw, v1bx] = v4i._primaryColor || [0, 0, 0];
const v1by = (v4i._brushAlpha !== void 0 ? v4i._brushAlpha : 255) / 255;
… Reference · line 5561 …
v1bo.ctx.strokeStyle = `rgba(${v1bv},${v1bw},${v1bx},${v1by})`;
v1bo.ctx.lineWidth = v1bu;
if (v1bp ._contours) {
v1bo.ctx.beginPath();
for (const v1bz of v1bp._contours) {
v1bo.ctx.moveTo(v1bz[0].x, v1bz[0].y);
for (let v1c0 = 1; v1c0 < v1bz.length; v1c0++) {
v1bo.ctx.lineTo(v1bz[v1c0].x, v1bz[v1c0].y);
…
s192903 Input v1bq x xUseful 0.70 selectionXUseful 0.80 Both useful Present Preference confidence is low. Pre-rename JavaScript · s192903 / v1bq ×
Declaration · line 5550 …
v1bn.saveDrawState("Stroke Selection");
const v1bp = v1bn.selection;
const {
x: v1bq ,
y: v1br,
w: v1bs,
h: v1bt
} = v1bp.bounds;
const v1bu = v4i._brushSize || 1;
const [v1bv, v1bw, v1bx] = v4i._primaryColor || [0, 0, 0];
const v1by = (v4i._brushAlpha !== void 0 ? v4i._brushAlpha : 255) / 255;
… Reference · line 5571 …
}
}
v1bo.ctx.stroke();
} else {
v1bo.ctx.strokeRect(v1bq + v1bu / 2, v1br + v1bu / 2, v1bs - v1bu, v1bt - v1bu);
}
v1bo.ctx.restore();
v4i.emit("canvas:dirty");
}
showPosterize() {
if (this.doc) this.posterizeDialog.show(this.doc, "Posterize");
}
showThreshold() {
…
s192920 Input v1br y yUseful 0.74 selectionYUseful 0.75 Both useful Present Preference confidence is low. Pre-rename JavaScript · s192920 / v1br ×
Declaration · line 5551 …
v1bn.saveDrawState("Stroke Selection");
const v1bp = v1bn.selection;
const {
x: v1bq,
y: v1br ,
w: v1bs,
h: v1bt
} = v1bp.bounds;
const v1bu = v4i._brushSize || 1;
const [v1bv, v1bw, v1bx] = v4i._primaryColor || [0, 0, 0];
const v1by = (v4i._brushAlpha !== void 0 ? v4i._brushAlpha : 255) / 255;
… Reference · line 5571 …
}
v1bo.ctx.stroke();
} else {
v1bo.ctx.strokeRect(v1bq + v1bu / 2, v1br + v1bu / 2, v1bs - v1bu, v1bt - v1bu);
}
v1bo.ctx.restore();
v4i.emit("canvas:dirty");
}
showPosterize() {
if (this.doc) this.posterizeDialog.show(this.doc, "Posterize");
}
showThreshold() {
if (this.doc) this.thresholdDialog.show(this.doc, "Threshold");
…
s192937 Input v1bs w wUseful 0.68 selectionWidthUseful 0.87 Humanify better Present Pre-rename JavaScript · s192937 / v1bs ×
Declaration · line 5552 …
const v1bp = v1bn.selection;
const {
x: v1bq,
y: v1br,
w: v1bs ,
h: v1bt
} = v1bp.bounds;
const v1bu = v4i._brushSize || 1;
const [v1bv, v1bw, v1bx] = v4i._primaryColor || [0, 0, 0];
const v1by = (v4i._brushAlpha !== void 0 ? v4i._brushAlpha : 255) / 255;
v1bo.ctx.save();
… Reference · line 5571 …
v1bo.ctx.stroke();
} else {
v1bo.ctx.strokeRect(v1bq + v1bu / 2, v1br + v1bu / 2, v1bs - v1bu, v1bt - v1bu);
}
v1bo.ctx.restore();
v4i.emit("canvas:dirty");
}
showPosterize() {
if (this.doc) this.posterizeDialog.show(this.doc, "Posterize");
}
showThreshold() {
if (this.doc) this.thresholdDialog.show(this.doc, "Threshold");
…
s192954 Input v1bt h hUseful 0.37 selectionHeightUseful 0.84 Humanify better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s192954 / v1bt ×
Declaration · line 5553 …
const v1bp = v1bn.selection;
const {
x: v1bq,
y: v1br,
w: v1bs,
h: v1bt
} = v1bp.bounds;
const v1bu = v4i._brushSize || 1;
const [v1bv, v1bw, v1bx] = v4i._primaryColor || [0, 0, 0];
const v1by = (v4i._brushAlpha !== void 0 ? v4i._brushAlpha : 255) / 255;
v1bo.ctx.save();
v1bo.ctx.strokeStyle = `rgba(${v1bv},${v1bw},${v1bx},${v1by})`;
… Reference · line 5571 …
} else {
v1bo.ctx.strokeRect(v1bq + v1bu / 2, v1br + v1bu / 2, v1bs - v1bu, v1bt - v1bu);
}
v1bo.ctx.restore();
v4i.emit("canvas:dirty");
}
showPosterize() {
if (this.doc) this.posterizeDialog.show(this.doc, "Posterize");
}
showThreshold() {
if (this.doc) this.thresholdDialog.show(this.doc, "Threshold");
…
s192994 Input v1bu size brushSizeUseful 0.90 brushSizeUseful 0.90 Both useful Present Pre-rename JavaScript · s192994 / v1bu ×
Declaration · line 5555 …
x: v1bq,
y: v1br,
w: v1bs,
h: v1bt
} = v1bp.bounds;
const v1bu = v4i._brushSize || 1;
const [v1bv, v1bw, v1bx] = v4i._primaryColor || [0, 0, 0];
const v1by = (v4i._brushAlpha !== void 0 ? v4i._brushAlpha : 255) / 255;
v1bo.ctx.save();
v1bo.ctx.strokeStyle = `rgba(${v1bv},${v1bw},${v1bx},${v1by})`;
… Reference · line 5560 …
v1bo.ctx.strokeStyle = `rgba(${v1bv},${v1bw},${v1bx},${v1by})`;
v1bo.ctx.lineWidth = v1bu ;
if (v1bp._contours) {
v1bo.ctx.beginPath();
for (const v1bz of v1bp._contours) {
v1bo.ctx.moveTo(v1bz[0].x, v1bz[0].y);
for (let v1c0 = 1; v1c0 < v1bz.length; v1c0++) {
v1bo.ctx.lineTo(v1bz[v1c0].x, v1bz[v1c0].y);
…
s193035 Input v1bv r rUseful 0.66 redUseful 0.68 Both useful Present Preference confidence is low. Pre-rename JavaScript · s193035 / v1bv ×
Declaration · line 5556 …
h: v1bt
} = v1bp.bounds;
const v1bu = v4i._brushSize || 1;
const [v1bv , v1bw, v1bx] = v4i._primaryColor || [0, 0, 0];
const v1by = (v4i._brushAlpha !== void 0 ? v4i._brushAlpha : 255) / 255;
v1bo.ctx.save();
v1bo.ctx.strokeStyle = `rgba(${v1bv},${v1bw},${v1bx},${v1by})`;
v1bo.ctx.lineWidth = v1bu;
…
s193041 Input v1bw g gUseful 0.69 greenUseful 0.31 FlowName better Present Pre-rename JavaScript · s193041 / v1bw ×
Declaration · line 5556 …
h: v1bt
} = v1bp.bounds;
const v1bu = v4i._brushSize || 1;
const [v1bv, v1bw , v1bx] = v4i._primaryColor || [0, 0, 0];
const v1by = (v4i._brushAlpha !== void 0 ? v4i._brushAlpha : 255) / 255;
v1bo.ctx.save();
v1bo.ctx.strokeStyle = `rgba(${v1bv},${v1bw},${v1bx},${v1by})`;
v1bo.ctx.lineWidth = v1bu;
…
s193047 Input v1bx b bUseful 0.58 blueUseful 0.12 FlowName better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s193047 / v1bx ×
Declaration · line 5556 …
h: v1bt
} = v1bp.bounds;
const v1bu = v4i._brushSize || 1;
const [v1bv, v1bw, v1bx ] = v4i._primaryColor || [0, 0, 0];
const v1by = (v4i._brushAlpha !== void 0 ? v4i._brushAlpha : 255) / 255;
v1bo.ctx.save();
v1bo.ctx.strokeStyle = `rgba(${v1bv},${v1bw},${v1bx},${v1by})`;
v1bo.ctx.lineWidth = v1bu;
…
s193099 Input v1by a brushAlphaUseful 0.62 strokeContextUseful 0.11 FlowName better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s193099 / v1by ×
Declaration · line 5557 …
const v1bu = v4i._brushSize || 1;
const [v1bv, v1bw, v1bx] = v4i._primaryColor || [0, 0, 0];
const v1by = (v4i._brushAlpha !== void 0 ? v4i._brushAlpha : 255) / 255;
v1bo.ctx.save();
v1bo.ctx.strokeStyle = `rgba(${v1bv},${v1bw},${v1bx},${v1by})`;
v1bo.ctx.lineWidth = v1bu;
if (v1bp._contours) {
v1bo.ctx.beginPath();
…
s193369 Input v1bz path contourUseful 0.50 contourUseful 0.50 Both useful Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s193369 / v1bz ×
Declaration · line 5563 …
v1bo.ctx.lineWidth = v1bu;
if (v1bp._contours) {
v1bo.ctx.beginPath();
for (const v1bz of v1bp._contours) {
v1bo.ctx.moveTo(v1bz[0].x, v1bz[0].y);
for (let v1c0 = 1; v1c0 < v1bz.length; v1c0++) {
v1bo.ctx.lineTo(v1bz[v1c0].x, v1bz[v1c0].y);
}
}
v1bo.ctx.stroke();
} else {
…
s193463 Input v1c0 i iUseful 0.51 iUseful 0.51 Both useful Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s193463 / v1c0 ×
Declaration · line 5565 …
for (const v1bz of v1bp._contours) {
v1bo.ctx.moveTo(v1bz[0].x, v1bz[0].y);
for (let v1c0 = 1; v1c0 < v1bz.length; v1c0++) {
v1bo.ctx.lineTo(v1bz[v1c0].x, v1bz[v1c0].y);
}
}
v1bo.ctx.stroke();
} else {
v1bo.ctx.strokeRect(v1bq + v1bu / 2, v1br + v1bu / 2, v1bs - v1bu, v1bt - v1bu);
…
s194106 Input v1c1 resp pingResponseUseful 0.70 responseUseful 0.84 Both useful Present Preference confidence is low. Pre-rename JavaScript · s194106 / v1c1 ×
Declaration · line 5585 …
if (this._serverAvailable !== void 0) return this._serverAvailable;
try {
const v1c1 = await fetch("/api/ping", {
method: "POST"
});
this._serverAvailable = v1c1.ok;
} catch {
this._serverAvailable = false;
}
return this._serverAvailable;
}
_browserPickFile(v1c2) {
…
s194344 Input v1c2 accept acceptedMimeTypesUseful 0.51 fileAcceptUseful 0.59 Both useful Present Usefulness probability is near the provisional 0.5 boundary. Preference confidence is low. Pre-rename JavaScript · s194344 / v1c2 ×
Declaration · line 5594 …
this._serverAvailable = false;
}
return this._serverAvailable;
}
_browserPickFile(v1c2 ) {
return new Promise(v1c3 => {
const v1c4 = document.createElement("input");
v1c4.type = "file";
if (v1c2) v1c4.accept = v1c2;
v1c4.addEventListener("change", () => {
v1c3(v1c4.files[0] || null);
…
s194377 Input v1c3 resolve resolveUseful 0.79 callback2Useful 0.11 FlowName better Present Pre-rename JavaScript · s194377 / v1c3 ×
Declaration · line 5595 …
return this._serverAvailable;
}
_browserPickFile(v1c2) {
return new Promise(v1c3 => {
const v1c4 = document.createElement("input");
v1c4.type = "file";
if (v1c2) v1c4.accept = v1c2;
v1c4.addEventListener("change", () => {
v1c3(v1c4.files[0] || null);
});
v1c4.addEventListener("cancel", () => v1c3(null));
…
s194401 Input v1c4 input fileInputUseful 0.89 fileInputUseful 0.89 Both useful Present Pre-rename JavaScript · s194401 / v1c4 ×
Declaration · line 5596 …
return this._serverAvailable;
}
_browserPickFile(v1c2) {
return new Promise(v1c3 => {
const v1c4 = document.createElement("input");
v1c4.type = "file";
if (v1c2) v1c4.accept = v1c2;
v1c4.addEventListener("change", () => {
v1c3(v1c4.files[0] || null);
});
v1c4.addEventListener("cancel", () => v1c3(null));
… Reference · line 5603 …
v1c3(v1c4.files[0] || null);
});
v1c4.addEventListener("cancel", () => v1c3(null));
v1c4 .click();
});
}
_browserDownload(v1c5, v1c6) {
const v1c7 = URL.createObjectURL(v1c5);
const v1c8 = document.createElement("a");
v1c8.href = v1c7;
v1c8.download = v1c6;
v1c8.click();
URL.revokeObjectURL(v1c7);
…
s194724 Input v1c5 blob blobUseful 0.87 blobUseful 0.87 Both useful Present Pre-rename JavaScript · s194724 / v1c5 ×
Declaration · line 5606 …
v1c4.addEventListener("cancel", () => v1c3(null));
v1c4.click();
});
}
_browserDownload(v1c5 , v1c6) {
const v1c7 = URL.createObjectURL(v1c5);
const v1c8 = document.createElement("a");
v1c8.href = v1c7;
v1c8.download = v1c6;
v1c8.click();
URL.revokeObjectURL(v1c7);
}
async openFile() {
…
s194730 Input v1c6 filename filenameUseful 0.90 filenameUseful 0.90 Both useful Present Pre-rename JavaScript · s194730 / v1c6 ×
Declaration · line 5606 …
v1c4.addEventListener("cancel", () => v1c3(null));
v1c4.click();
});
}
_browserDownload(v1c5, v1c6 ) {
const v1c7 = URL.createObjectURL(v1c5);
const v1c8 = document.createElement("a");
v1c8.href = v1c7;
v1c8.download = v1c6;
v1c8.click();
URL.revokeObjectURL(v1c7);
}
async openFile() {
const v1c9 = await this._hasServer();
…
s194750 Input v1c7 url objectUrlUseful 0.87 objectUrlUseful 0.87 Both useful Present Pre-rename JavaScript · s194750 / v1c7 ×
Declaration · line 5607 …
v1c4.addEventListener("cancel", () => v1c3(null));
v1c4.click();
});
}
_browserDownload(v1c5, v1c6) {
const v1c7 = URL.createObjectURL(v1c5);
const v1c8 = document.createElement("a");
v1c8.href = v1c7;
v1c8.download = v1c6;
v1c8.click();
URL.revokeObjectURL(v1c7);
}
async openFile() {
const v1c9 = await this._hasServer();
…
s194796 Input v1c8 a anchorUseful 0.85 downloadLinkUseful 0.79 FlowName better Present Pre-rename JavaScript · s194796 / v1c8 ×
Declaration · line 5608 …
_browserDownload(v1c5, v1c6) {
const v1c7 = URL.createObjectURL(v1c5);
const v1c8 = document.createElement("a");
v1c8.href = v1c7;
v1c8.download = v1c6;
v1c8.click();
URL.revokeObjectURL(v1c7);
}
async openFile() {
const v1c9 = await this._hasServer();
if (v1c9) {
try {
…
s194978 Input v1c9 hasServer hasServerUseful 0.86 hasServerUseful 0.86 Both useful Present Pre-rename JavaScript · s194978 / v1c9 ×
Declaration · line 5615 …
v1c8.click();
URL.revokeObjectURL(v1c7);
}
async openFile() {
const v1c9 = await this._hasServer();
if (v1c9) {
try {
const v1ca = await fetch("/api/file/open", {
method: "POST"
});
const v1cb = await v1ca.json();
if (v1cb.cancelled) return;
if (v1cb.error) {
…
s195058 Input v1ca resp responseUseful 0.80 responseUseful 0.80 Both useful Present Pre-rename JavaScript · s195058 / v1ca ×
Declaration · line 5618 …
const v1c9 = await this._hasServer();
if (v1c9) {
try {
const v1ca = await fetch("/api/file/open", {
method: "POST"
});
const v1cb = await v1ca.json();
if (v1cb.cancelled) return;
if (v1cb.error) {
alert("Error: " + v1cb.error);
return;
…
s195154 Input v1cb data resultUseful 0.52 responseJsonUseful 0.74 Humanify better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s195154 / v1cb ×
Declaration · line 5621 …
const v1ca = await fetch("/api/file/open", {
method: "POST"
});
const v1cb = await v1ca.json();
if (v1cb.cancelled) return;
if (v1cb.error) {
alert("Error: " + v1cb.error);
return;
}
if (v1cb.name?.endsWith(".gbp")) {
this.openProject();
… Reference · line 5631 …
this.openProject();
return;
}
v4i.emit("doc:open-image", v1cb .data, v1cb.name);
} catch (v1cc) {
alert("Error opening file: " + v1cc.message);
}
} else {
const v1cd = await this._browserPickFile("image/png,image/jpeg,image/bmp,image/gif,.gbp");
if (!v1cd) return;
…
s195507 Input v1cc e fileErrorUseful 0.39 errorUseful 0.48 Both poor Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s195507 / v1cc ×
Declaration · line 5632 …
return;
}
v4i.emit("doc:open-image", v1cb.data, v1cb.name);
} catch (v1cc ) {
alert("Error opening file: " + v1cc.message);
}
} else {
const v1cd = await this._browserPickFile("image/png,image/jpeg,image/bmp,image/gif,.gbp");
if (!v1cd) return;
if (v1cd.name.endsWith(".gbp")) {
…
s195610 Input v1cd file selectedFileUseful 0.81 selectedFileUseful 0.81 Both useful Present Pre-rename JavaScript · s195610 / v1cd ×
Declaration · line 5636 …
alert("Error opening file: " + v1cc.message);
}
} else {
const v1cd = await this._browserPickFile("image/png,image/jpeg,image/bmp,image/gif,.gbp");
if (!v1cd) return;
if (v1cd.name.endsWith(".gbp")) {
await this._browserOpenProject(v1cd);
return;
}
const v1ce = await new Promise(v1cf => {
… Reference · line 5645 …
const v1cg = new FileReader();
v1cg.onload = () => v1cf(v1cg.result);
v1cg.readAsDataURL(v1cd );
});
v4i.emit("doc:open-image", v1ce, v1cd.name);
}
}
async saveFile() {
const v1ch = this.doc;
if (!v1ch) return;
v1ch.compositeAll();
const v1ci = await this._hasServer();
if (v1ci) {
…
s195854 Input v1ce dataUrl fileDataPromiseUseful 0.34 imageDataUrlUseful 0.75 Humanify better Present Pre-rename JavaScript · s195854 / v1ce ×
Declaration · line 5642 …
await this._browserOpenProject(v1cd);
return;
}
const v1ce = await new Promise(v1cf => {
const v1cg = new FileReader();
v1cg.onload = () => v1cf(v1cg.result);
v1cg.readAsDataURL(v1cd);
});
v4i.emit("doc:open-image", v1ce, v1cd.name);
}
}
async saveFile() {
…
s195879 Input v1cf r resolveFilePromiseUseful 0.45 resolveUseful 0.75 Humanify better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s195879 / v1cf ×
Declaration · line 5642 …
await this._browserOpenProject(v1cd);
return;
}
const v1ce = await new Promise(v1cf => {
const v1cg = new FileReader();
v1cg.onload = () => v1cf(v1cg.result);
v1cg.readAsDataURL(v1cd);
});
v4i.emit("doc:open-image", v1ce, v1cd.name);
}
}
async saveFile() {
const v1ch = this.doc;
…
s195905 Input v1cg reader fileReaderUseful 0.88 fileReaderUseful 0.88 Both useful Present Pre-rename JavaScript · s195905 / v1cg ×
Declaration · line 5643 …
return;
}
const v1ce = await new Promise(v1cf => {
const v1cg = new FileReader();
v1cg.onload = () => v1cf(v1cg.result);
v1cg.readAsDataURL(v1cd);
});
v4i.emit("doc:open-image", v1ce, v1cd.name);
}
}
async saveFile() {
const v1ch = this.doc;
…
s196129 Input v1ch doc docUseful 0.85 documentUseful 0.60 FlowName better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s196129 / v1ch ×
Declaration · line 5651 …
v4i.emit("doc:open-image", v1ce, v1cd.name);
}
}
async saveFile() {
const v1ch = this.doc;
if (!v1ch) return;
v1ch.compositeAll();
const v1ci = await this._hasServer();
if (v1ci) {
const v1cj = v1ch.composite.toDataURL("image/png");
try {
const v1ck = await fetch("/api/file/save", {
… Reference · line 5665 …
},
body: JSON.stringify({
data: v1cj,
path: v1ch .path,
ext: ".png",
defaultName: v1ch.name.replace(/\.(gbp)$/i, "")
})
});
const v1cl = await v1ck.json();
if (v1cl.cancelled) return;
if (v1cl.error) {
alert("Error: " + v1cl.error);
…
s196210 Input v1ci hasServer hasServerUseful 0.91 hasServerUseful 0.91 Both useful Present Pre-rename JavaScript · s196210 / v1ci ×
Declaration · line 5654 …
const v1ch = this.doc;
if (!v1ch) return;
v1ch.compositeAll();
const v1ci = await this._hasServer();
if (v1ci) {
const v1cj = v1ch.composite.toDataURL("image/png");
try {
const v1ck = await fetch("/api/file/save", {
method: "POST",
headers: {
"Content-Type": "application/json"
…
s196274 Input v1cj dataUrl dataUrlUseful 0.93 dataUrlUseful 0.93 Both useful Present Pre-rename JavaScript · s196274 / v1cj ×
Declaration · line 5656 …
v1ch.compositeAll();
const v1ci = await this._hasServer();
if (v1ci) {
const v1cj = v1ch.composite.toDataURL("image/png");
try {
const v1ck = await fetch("/api/file/save", {
method: "POST",
headers: {
"Content-Type": "application/json"
},
body: JSON.stringify({
… Reference · line 5664 …
"Content-Type": "application/json"
},
body: JSON.stringify({
data: v1cj ,
path: v1ch.path,
ext: ".png",
defaultName: v1ch.name.replace(/\.(gbp)$/i, "")
})
});
const v1cl = await v1ck.json();
if (v1cl.cancelled) return;
if (v1cl.error) {
…
s196350 Input v1ck resp responseUseful 0.78 saveResponseUseful 0.43 FlowName better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s196350 / v1ck ×
Declaration · line 5658 …
const v1cj = v1ch.composite.toDataURL("image/png");
try {
const v1ck = await fetch("/api/file/save", {
method: "POST",
headers: {
"Content-Type": "application/json"
},
body: JSON.stringify({
data: v1cj,
path: v1ch.path,
… Reference · line 5670 …
defaultName: v1ch.name.replace(/\.(gbp)$/i, "")
})
});
const v1cl = await v1ck .json();
if (v1cl.cancelled) return;
if (v1cl.error) {
alert("Error: " + v1cl.error);
return;
}
v1ch.path = v1cl.path;
v1ch.name = v1cl.name;
v1ch.dirty = false;
…
s196730 Input v1cl result resultUseful 0.69 responseJsonUseful 0.74 Humanify better Present Pre-rename JavaScript · s196730 / v1cl ×
Declaration · line 5670 …
defaultName: v1ch.name.replace(/\.(gbp)$/i, "")
})
});
const v1cl = await v1ck.json();
if (v1cl.cancelled) return;
if (v1cl.error) {
alert("Error: " + v1cl.error);
return;
}
v1ch.path = v1cl.path;
v1ch.name = v1cl.name;
v1ch.dirty = false;
…
s197050 Input v1cm e saveErrorUseful 0.43 errorUseful 0.67 Humanify better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s197050 / v1cm ×
Declaration · line 5680 …
v1ch.name = v1cl.name;
v1ch.dirty = false;
this.docManager.renderTabs();
} catch (v1cm ) {
alert("Error saving file: " + v1cm.message);
}
} else {
const v1cn = await new Promise(v1co => v1ch.composite.toBlob(v1co, "image/png"));
const v1cp = (v1ch.name || "Untitled").replace(/\.(gbp)$/i, "").replace(/\.[^.]+$/, "") + ".png";
…
s197152 Input v1cn blob blobUseful 0.84 imageBlobUseful 0.76 Both useful Present Preference confidence is low. Pre-rename JavaScript · s197152 / v1cn ×
Declaration · line 5684 …
alert("Error saving file: " + v1cm.message);
}
} else {
const v1cn = await new Promise(v1co => v1ch.composite.toBlob(v1co, "image/png"));
const v1cp = (v1ch.name || "Untitled").replace(/\.(gbp)$/i, "").replace(/\.[^.]+$/, "") + ".png";
if (window.showSaveFilePicker) {
try {
const v1cq = await window.showSaveFilePicker({
… Reference · line 5698 …
});
const v1cr = await v1cq.createWritable();
await v1cr.write(v1cn );
await v1cr.close();
v1ch.name = v1cq.name;
v1ch.dirty = false;
this.docManager.renderTabs();
return;
} catch (v1cs) {
if (v1cs.name === "AbortError") return;
…
s197177 Input v1co r resolveUseful 0.81 callback2Useful 0.22 FlowName better Present Pre-rename JavaScript · s197177 / v1co ×
Declaration · line 5684 …
alert("Error saving file: " + v1cm.message);
}
} else {
const v1cn = await new Promise(v1co => v1ch.composite.toBlob(v1co, "image/png"));
const v1cp = (v1ch.name || "Untitled").replace(/\.(gbp)$/i, "").replace(/\.[^.]+$/, "") + ".png";
if (window.showSaveFilePicker) {
try {
const v1cq = await window.showSaveFilePicker({
…
s197242 Input v1cp suggestedName suggestedFileNameUseful 0.83 suggestedFileNameUseful 0.83 Both useful Present Pre-rename JavaScript · s197242 / v1cp ×
Declaration · line 5685 …
const v1cn = await new Promise(v1co => v1ch.composite.toBlob(v1co, "image/png"));
const v1cp = (v1ch.name || "Untitled").replace(/\.(gbp)$/i, "").replace(/\.[^.]+$/, "") + ".png";
if (window.showSaveFilePicker) {
try {
const v1cq = await window.showSaveFilePicker({
suggestedName: v1cp,
… Reference · line 5708 …
if (v1cs.name === "AbortError") return;
}
}
this._browserDownload(v1cn, v1cp );
v1ch.name = v1cp;
v1ch.dirty = false;
this.docManager.renderTabs();
}
}
async saveFileAs() {
const v1ct = this.doc;
if (!v1ct) return;
const v1cu = v1ct.path;
v1ct.path = null;
…
s197409 Input v1cq handle fileHandleUseful 0.86 fileHandleUseful 0.86 Both useful Present Pre-rename JavaScript · s197409 / v1cq ×
Declaration · line 5688 …
(v1ch.name || "Untitled").replace(/\.(gbp)$/i, "").replace(/\.[^.]+$/, "") + ".png";
if (window.showSaveFilePicker) {
try {
const v1cq = await window.showSaveFilePicker({
suggestedName: v1cp,
types: [{
description: "PNG Image",
accept: {
"image/png": [".png"]
}
}]
… Reference · line 5697 …
"image/png": [".png"]
}
}]
});
const v1cr = await v1cq .createWritable();
await v1cr.write(v1cn);
await v1cr.close();
v1ch.name = v1cq.name;
v1ch.dirty = false;
this.docManager.renderTabs();
return;
} catch (v1cs) {
…
s197686 Input v1cr writable writableStreamUseful 0.57 fileWriterUseful 0.59 Both useful Present Usefulness probability is near the provisional 0.5 boundary. Preference confidence is low. Pre-rename JavaScript · s197686 / v1cr ×
Declaration · line 5697 …
"image/png": [".png"]
}
}]
});
const v1cr = await v1cq.createWritable();
await v1cr.write(v1cn);
await v1cr.close();
v1ch.name = v1cq.name;
v1ch.dirty = false;
this.docManager.renderTabs();
return;
} catch (v1cs) {
…
s197938 Input v1cs e errorUseful 0.59 errorUseful 0.59 Both useful Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s197938 / v1cs ×
Declaration · line 5704 …
v1ch.dirty = false;
this.docManager.renderTabs();
return;
} catch (v1cs ) {
if (v1cs.name === "AbortError") return;
}
}
this._browserDownload(v1cn, v1cp);
v1ch.name = v1cp;
v1ch.dirty = false;
this.docManager.renderTabs();
}
}
async saveFileAs() {
…
s198206 Input v1ct doc documentUseful 0.82 documentUseful 0.82 Both useful Present Pre-rename JavaScript · s198206 / v1ct ×
Declaration · line 5715 …
v1ch.dirty = false;
this.docManager.renderTabs();
}
}
async saveFileAs() {
const v1ct = this.doc;
if (!v1ct) return;
const v1cu = v1ct.path;
v1ct.path = null;
await this.saveFile();
if (!v1ct.path) v1ct.path = v1cu;
}
async saveProject() {
const v1cv = this.doc;
if (!v1cv) return;
…
s198260 Input v1cu origPath originalPathUseful 0.84 originalPathUseful 0.84 Both useful Present Pre-rename JavaScript · s198260 / v1cu ×
Declaration · line 5717 …
async saveFileAs() {
const v1ct = this.doc;
if (!v1ct) return;
const v1cu = v1ct.path;
v1ct.path = null;
await this.saveFile();
if (!v1ct.path) v1ct.path = v1cu;
}
async saveProject() {
const v1cv = this.doc;
if (!v1cv) return;
const v1cw = {
version: 1,
width: v1cv.width,
…
s198415 Input v1cv doc docUseful 0.83 documentUseful 0.32 FlowName better Present Pre-rename JavaScript · s198415 / v1cv ×
Declaration · line 5723 …
await this.saveFile();
if (!v1ct.path) v1ct.path = v1cu;
}
async saveProject() {
const v1cv = this.doc;
if (!v1cv) return;
const v1cw = {
version: 1,
width: v1cv.width,
height: v1cv.height,
layers: v1cv.layers.map((v1cx, v1cy) => ({
name: v1cx.name,
file: `layer_${v1cy}.png`,
… Reference · line 5737 …
visible: v1cx.visible,
blendMode: v1cx.blendMode
}))
};
const v1cz = v1cv .layers.map((v1d0, v1d1) => ({
file: `layer_${v1d1}.png`,
data: v1d0.toDataURL()
}));
const v1d2 = await this._hasServer();
if (v1d2) {
try {
const v1d3 = await fetch("/api/project/save", {
…
s198469 Input v1cw manifest projectDataUseful 0.43 documentDataUseful 0.30 Both poor Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s198469 / v1cw ×
Declaration · line 5725 …
async saveProject() {
const v1cv = this.doc;
if (!v1cv) return;
const v1cw = {
version: 1,
width: v1cv.width,
height: v1cv.height,
layers: v1cv.layers.map((v1cx, v1cy) => ({
name: v1cx.name,
file: `layer_${v1cy}.png`,
opacity: v1cx.opacity,
visible: v1cx.visible,
… Reference · line 5750 …
"Content-Type": "application/json"
},
body: JSON.stringify({
manifest: v1cw ,
layers: v1cz,
path: v1cv.projectPath,
defaultName: v1cv.name.replace(/\.(png|jpg|jpeg|bmp|gbp)$/i, "") + ".gbp"
})
});
const v1d4 = await v1d3.json();
if (v1d4.cancelled) return;
…
s198587 Input v1cx l layerUseful 0.82 layerUseful 0.82 Both useful Present Pre-rename JavaScript · s198587 / v1cx ×
Declaration · line 5729 …
version: 1,
width: v1cv.width,
height: v1cv.height,
layers: v1cv.layers.map((v1cx , v1cy) => ({
name: v1cx.name,
file: `layer_${v1cy}.png`,
opacity: v1cx.opacity,
visible: v1cx.visible,
blendMode: v1cx.blendMode
}))
};
const v1cz = v1cv.layers.map((v1d0, v1d1) => ({
…
s198593 Input v1cy i layerIndexUseful 0.89 layerIndexUseful 0.89 Both useful Present Pre-rename JavaScript · s198593 / v1cy ×
Declaration · line 5729 …
width: v1cv.width,
height: v1cv.height,
layers: v1cv.layers.map((v1cx, v1cy ) => ({
name: v1cx.name,
file: `layer_${v1cy}.png`,
opacity: v1cx.opacity,
visible: v1cx.visible,
blendMode: v1cx.blendMode
}))
};
const v1cz = v1cv.layers.map((v1d0, v1d1) => ({
…
s198804 Input v1cz layers layersDataUseful 0.79 layerDataUseful 0.62 FlowName better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s198804 / v1cz ×
Declaration · line 5737 …
visible: v1cx.visible,
blendMode: v1cx.blendMode
}))
};
const v1cz = v1cv.layers.map((v1d0, v1d1) => ({
file: `layer_${v1d1}.png`,
data: v1d0.toDataURL()
}));
const v1d2 = await this._hasServer();
if (v1d2) {
try {
const v1d3 = await fetch("/api/project/save", {
… Reference · line 5751 …
},
body: JSON.stringify({
manifest: v1cw,
layers: v1cz ,
path: v1cv.projectPath,
defaultName: v1cv.name.replace(/\.(png|jpg|jpeg|bmp|gbp)$/i, "") + ".gbp"
})
});
const v1d4 = await v1d3.json();
if (v1d4.cancelled) return;
…
s198828 Input v1d0 l layerUseful 0.86 canvasUseful 0.08 FlowName better Present Pre-rename JavaScript · s198828 / v1d0 ×
Declaration · line 5737 …
blendMode: v1cx.blendMode
}))
};
const v1cz = v1cv.layers.map((v1d0 , v1d1) => ({
file: `layer_${v1d1}.png`,
data: v1d0.toDataURL()
}));
const v1d2 = await this._hasServer();
if (v1d2) {
try {
const v1d3 = await fetch("/api/project/save", {
method: "POST",
…
s198834 Input v1d1 i indexUseful 0.76 layerIndexUseful 0.81 Humanify better Present Pre-rename JavaScript · s198834 / v1d1 ×
Declaration · line 5737 …
blendMode: v1cx.blendMode
}))
};
const v1cz = v1cv.layers.map((v1d0, v1d1 ) => ({
file: `layer_${v1d1}.png`,
data: v1d0.toDataURL()
}));
const v1d2 = await this._hasServer();
if (v1d2) {
try {
const v1d3 = await fetch("/api/project/save", {
method: "POST",
…
s198935 Input v1d2 hasServer hasServerUseful 0.88 layerData2Useful 0.03 FlowName better Absent Pre-rename JavaScript · s198935 / v1d2 ×
Declaration · line 5741 …
const v1cz = v1cv.layers.map((v1d0, v1d1) => ({
file: `layer_${v1d1}.png`,
data: v1d0.toDataURL()
}));
const v1d2 = await this._hasServer();
if (v1d2) {
try {
const v1d3 = await fetch("/api/project/save", {
method: "POST",
headers: {
"Content-Type": "application/json"
},
body: JSON.stringify({
…
s199015 Input v1d3 resp responseUseful 0.77 saveResponseUseful 0.59 Both useful Present Usefulness probability is near the provisional 0.5 boundary. Preference confidence is low. Pre-rename JavaScript · s199015 / v1d3 ×
Declaration · line 5744 …
const v1d2 = await this._hasServer();
if (v1d2) {
try {
const v1d3 = await fetch("/api/project/save", {
method: "POST",
headers: {
"Content-Type": "application/json"
},
body: JSON.stringify({
manifest: v1cw,
layers: v1cz,
… Reference · line 5756 …
defaultName: v1cv.name.replace(/\.(png|jpg|jpeg|bmp|gbp)$/i, "") + ".gbp"
})
});
const v1d4 = await v1d3 .json();
if (v1d4.cancelled) return;
if (v1d4.error) {
alert("Error: " + v1d4.error);
return;
}
v1cv.projectPath = v1d4.path;
v1cv.name = v1d4.name;
v1cv.dirty = false;
…
s199436 Input v1d4 result responseDataUseful 0.75 saveResponse2Useful 0.52 FlowName better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s199436 / v1d4 ×
Declaration · line 5756 …
defaultName: v1cv.name.replace(/\.(png|jpg|jpeg|bmp|gbp)$/i, "") + ".gbp"
})
});
const v1d4 = await v1d3.json();
if (v1d4.cancelled) return;
if (v1d4.error) {
alert("Error: " + v1d4.error);
return;
}
v1cv.projectPath = v1d4.path;
v1cv.name = v1d4.name;
v1cv.dirty = false;
…
s199763 Input v1d5 e saveErrorUseful 0.39 errorUseful 0.59 Humanify better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s199763 / v1d5 ×
Declaration · line 5766 …
v1cv.name = v1d4.name;
v1cv.dirty = false;
this.docManager.renderTabs();
} catch (v1d5 ) {
alert("Error saving project: " + v1d5.message);
}
} else {
const v1d6 = new JSZip();
v1d6.file("manifest.json", JSON.stringify(v1cw, null, 2));
const v1d7 = v1d6.folder("layers");
for (const v1d8 of v1cz) {
…
s199868 Input v1d6 zip zipUseful 0.93 zipArchiveUseful 0.65 FlowName better Present Pre-rename JavaScript · s199868 / v1d6 ×
Declaration · line 5770 …
alert("Error saving project: " + v1d5.message);
}
} else {
const v1d6 = new JSZip();
v1d6.file("manifest.json", JSON.stringify(v1cw, null, 2));
const v1d7 = v1d6.folder("layers");
for (const v1d8 of v1cz) {
const v1d9 = v1d8.data.split(",")[1];
v1d7.file(v1d8.file, v1d9, {
… Reference · line 5779 …
v1d7.file(v1d8.file, v1d9, {
base64: true
});
}
const v1da = await v1d6 .generateAsync({
type: "blob"
});
const v1db = (v1cv.name || "Untitled").replace(/\.(png|jpg|jpeg|bmp|gbp)$/i, "") + ".gbp";
if (window.showSaveFilePicker) {
try {
const v1dc = await window.showSaveFilePicker({
…
s199969 Input v1d7 layersFolder layersFolderUseful 0.95 layersFolderUseful 0.95 Both useful Present Pre-rename JavaScript · s199969 / v1d7 ×
Declaration · line 5772 …
const v1d6 = new JSZip();
v1d6.file("manifest.json", JSON.stringify(v1cw, null, 2));
const v1d7 = v1d6.folder("layers");
for (const v1d8 of v1cz) {
const v1d9 = v1d8.data.split(",")[1];
v1d7.file(v1d8.file, v1d9, {
base64: true
});
}
const v1da = await v1d6.generateAsync({
…
s200018 Input v1d8 l layerItemUseful 0.77 fileItemUseful 0.25 FlowName better Present Pre-rename JavaScript · s200018 / v1d8 ×
Declaration · line 5773 …
v1d6.file("manifest.json", JSON.stringify(v1cw, null, 2));
const v1d7 = v1d6.folder("layers");
for (const v1d8 of v1cz) {
const v1d9 = v1d8.data.split(",")[1];
v1d7.file(v1d8.file, v1d9, {
base64: true
});
}
const v1da = await v1d6.generateAsync({
type: "blob"
});
const v1db = (v1cv.name || "Untitled").replace(/\.(png|jpg|jpeg|bmp|gbp)$/i,
…
s200050 Input v1d9 b64 base64DataUseful 0.87 base64DataUseful 0.87 Both useful Present Pre-rename JavaScript · s200050 / v1d9 ×
Declaration · line 5774 …
const v1d7 = v1d6.folder("layers");
for (const v1d8 of v1cz) {
const v1d9 = v1d8.data.split(",")[1];
v1d7.file(v1d8.file, v1d9, {
base64: true
});
}
const v1da = await v1d6.generateAsync({
type: "blob"
});
const v1db = (v1cv.name || "Untitled").replace(/\.(png|jpg|jpeg|bmp|gbp)$/i, "") + ".gbp";
…
s200184 Input v1da blob zipBlobUseful 0.89 zipBlobUseful 0.89 Both useful Present Pre-rename JavaScript · s200184 / v1da ×
Declaration · line 5779 …
v1d7.file(v1d8.file, v1d9, {
base64: true
});
}
const v1da = await v1d6.generateAsync({
type: "blob"
});
const v1db = (v1cv.name || "Untitled").replace(/\.(png|jpg|jpeg|bmp|gbp)$/i, "") + ".gbp";
if (window.showSaveFilePicker) {
try {
const v1dc = await window.showSaveFilePicker({
… Reference · line 5795 …
});
const v1dd = await v1dc.createWritable();
await v1dd.write(v1da );
await v1dd.close();
v1cv.name = v1dc.name;
v1cv.dirty = false;
this.docManager.renderTabs();
return;
} catch (v1de) {
if (v1de.name === "AbortError") return;
…
s200267 Input v1db suggestedName fileNameUseful 0.72 outputFileNameUseful 0.72 Both useful Present Preference confidence is low. Pre-rename JavaScript · s200267 / v1db ×
Declaration · line 5782 …
const v1da = await v1d6.generateAsync({
type: "blob"
});
const v1db = (v1cv.name || "Untitled").replace(/\.(png|jpg|jpeg|bmp|gbp)$/i, "") + ".gbp";
if (window.showSaveFilePicker) {
try {
const v1dc = await window.showSaveFilePicker({
suggestedName: v1db,
types: [{
… Reference · line 5805 …
if (v1de.name === "AbortError") return;
}
}
this._browserDownload(v1da, v1db );
v1cv.name = v1db;
v1cv.dirty = false;
this.docManager.renderTabs();
}
}
async openProject() {
const v1df = await this._hasServer();
if (v1df) {
try {
const v1dg = await fetch("/api/project/open", {
…
s200427 Input v1dc handle fileHandleUseful 0.87 fileHandleUseful 0.87 Both useful Present Pre-rename JavaScript · s200427 / v1dc ×
Declaration · line 5785 …
v1db = (v1cv.name || "Untitled").replace(/\.(png|jpg|jpeg|bmp|gbp)$/i, "") + ".gbp";
if (window.showSaveFilePicker) {
try {
const v1dc = await window.showSaveFilePicker({
suggestedName: v1db,
types: [{
description: "GrobPaint Project",
accept: {
"application/zip": [".gbp"]
}
}]
… Reference · line 5794 …
"application/zip": [".gbp"]
}
}]
});
const v1dd = await v1dc .createWritable();
await v1dd.write(v1da);
await v1dd.close();
v1cv.name = v1dc.name;
v1cv.dirty = false;
this.docManager.renderTabs();
return;
} catch (v1de) {
…
s200718 Input v1dd writable fileWriterUseful 0.65 fileWritableUseful 0.75 Humanify better Present Pre-rename JavaScript · s200718 / v1dd ×
Declaration · line 5794 …
"application/zip": [".gbp"]
}
}]
});
const v1dd = await v1dc.createWritable();
await v1dd.write(v1da);
await v1dd.close();
v1cv.name = v1dc.name;
v1cv.dirty = false;
this.docManager.renderTabs();
return;
} catch (v1de) {
…
s200970 Input v1de e errorUseful 0.52 errorUseful 0.52 Both useful Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s200970 / v1de ×
Declaration · line 5801 …
v1cv.dirty = false;
this.docManager.renderTabs();
return;
} catch (v1de ) {
if (v1de.name === "AbortError") return;
}
}
this._browserDownload(v1da, v1db);
v1cv.name = v1db;
v1cv.dirty = false;
this.docManager.renderTabs();
}
}
async openProject() {
…
s201239 Input v1df hasServer hasServerUseful 0.92 hasServerUseful 0.92 Both useful Present Pre-rename JavaScript · s201239 / v1df ×
Declaration · line 5812 …
this.docManager.renderTabs();
}
}
async openProject() {
const v1df = await this._hasServer();
if (v1df) {
try {
const v1dg = await fetch("/api/project/open", {
method: "POST"
});
const v1dh = await v1dg.json();
if (v1dh.cancelled) return;
…
s201319 Input v1dg resp projectResponseUseful 0.50 responseUseful 0.71 Both useful Present Usefulness probability is near the provisional 0.5 boundary. Preference confidence is low. Pre-rename JavaScript · s201319 / v1dg ×
Declaration · line 5815 …
const v1df = await this._hasServer();
if (v1df) {
try {
const v1dg = await fetch("/api/project/open", {
method: "POST"
});
const v1dh = await v1dg.json();
if (v1dh.cancelled) return;
if (v1dh.error) {
alert("Error: " + v1dh.error);
return;
…
s201418 Input v1dh data projectDataUseful 0.80 response2Useful 0.25 FlowName better Present Pre-rename JavaScript · s201418 / v1dh ×
Declaration · line 5818 …
const v1dg = await fetch("/api/project/open", {
method: "POST"
});
const v1dh = await v1dg.json();
if (v1dh.cancelled) return;
if (v1dh.error) {
alert("Error: " + v1dh.error);
return;
}
v4i.emit("doc:open-project", v1dh);
} catch (v1di) {
alert("Error opening project: " + v1di.message);
…
s201648 Input v1di e errorUseful 0.56 errorUseful 0.56 Both useful Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s201648 / v1di ×
Declaration · line 5825 …
return;
}
v4i.emit("doc:open-project", v1dh);
} catch (v1di ) {
alert("Error opening project: " + v1di.message);
}
} else {
const v1dj = await this._browserPickFile(".gbp");
if (!v1dj) return;
await this._browserOpenProject(v1dj);
}
}
async _browserOpenProject(v1dk) {
…
s201754 Input v1dj file projectFileHandleUseful 0.39 filePathUseful 0.49 Both poor Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s201754 / v1dj ×
Declaration · line 5829 …
alert("Error opening project: " + v1di.message);
}
} else {
const v1dj = await this._browserPickFile(".gbp");
if (!v1dj) return;
await this._browserOpenProject(v1dj);
}
}
async _browserOpenProject(v1dk) {
try {
const v1dl = await JSZip.loadAsync(v1dk);
const v1dm = await v1dl.file("manifest.json").async("string");
…
s201915 Input v1dk file fileBlobUseful 0.62 zipFileBufferUseful 0.23 FlowName better Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s201915 / v1dk ×
Declaration · line 5834 …
await this._browserOpenProject(v1dj);
}
}
async _browserOpenProject(v1dk ) {
try {
const v1dl = await JSZip.loadAsync(v1dk);
const v1dm = await v1dl.file("manifest.json").async("string");
const v1dn = JSON.parse(v1dm);
const v1do = [];
for (const v1dp of v1dn.layers) {
… Reference · line 5850 …
v4i.emit("doc:open-project", {
manifest: v1dn,
layers: v1do,
name: v1dk .name,
path: null
});
} catch (v1dr) {
alert("Error opening project: " + v1dr.message);
}
}
};
window.addEventListener("DOMContentLoaded", () => {
window.app = new v13g();
});
})();
s201949 Input v1dl zip zipArchiveUseful 0.70 zipInstanceUseful 0.78 Both useful Present Preference confidence is low. Pre-rename JavaScript · s201949 / v1dl ×
Declaration · line 5836 …
await this._browserOpenProject(v1dj);
}
}
async _browserOpenProject(v1dk) {
try {
const v1dl = await JSZip.loadAsync(v1dk);
const v1dm = await v1dl.file("manifest.json").async("string");
const v1dn = JSON.parse(v1dm);
const v1do = [];
for (const v1dp of v1dn.layers) {
const v1dq = await v1dl.file(`layers/${v1dp.file}`).async("base64");
…
s201999 Input v1dm manifestJson manifestContentUseful 0.65 manifestStringUseful 0.54 Both useful Present Usefulness probability is near the provisional 0.5 boundary. Preference confidence is low. Pre-rename JavaScript · s201999 / v1dm ×
Declaration · line 5837 …
async _browserOpenProject(v1dk) {
try {
const v1dl = await JSZip.loadAsync(v1dk);
const v1dm = await v1dl.file("manifest.json").async("string");
const v1dn = JSON.parse(v1dm);
const v1do = [];
for (const v1dp of v1dn.layers) {
const v1dq = await v1dl.file(`layers/${v1dp.file}`).async("base64");
…
s202070 Input v1dn manifest manifestDataUseful 0.64 manifestDataUseful 0.64 Both useful Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s202070 / v1dn ×
Declaration · line 5838 …
const v1dl = await JSZip.loadAsync(v1dk);
const v1dm = await v1dl.file("manifest.json").async("string");
const v1dn = JSON.parse(v1dm);
const v1do = [];
for (const v1dp of v1dn.layers) {
const v1dq = await v1dl.file(`layers/${v1dp.file}`).async("base64");
v1do.push({
...v1dp,
data: `data:image/png;base64,${v1dq}`
… Reference · line 5848 …
data: `data:image/png;base64,${v1dq}`
});
}
v4i.emit("doc:open-project", {
manifest: v1dn ,
layers: v1do,
name: v1dk.name,
path: null
});
} catch (v1dr) {
alert("Error opening project: " + v1dr.message);
}
}
};
window.addEventListener("DOMContentLoaded", () => {
…
s202109 Input v1do layers layersListUseful 0.80 layersDataUseful 0.75 Both useful Present Preference confidence is low. Pre-rename JavaScript · s202109 / v1do ×
Declaration · line 5839 …
const v1dm = await v1dl.file("manifest.json").async("string");
const v1dn = JSON.parse(v1dm);
const v1do = [];
for (const v1dp of v1dn.layers) {
const v1dq = await v1dl.file(`layers/${v1dp.file}`).async("base64");
v1do.push({
...v1dp,
data: `data:image/png;base64,${v1dq}`
});
}
… Reference · line 5849 …
}
v4i.emit("doc:open-project", {
manifest: v1dn,
layers: v1do ,
name: v1dk.name,
path: null
});
} catch (v1dr) {
alert("Error opening project: " + v1dr.message);
}
}
};
window.addEventListener("DOMContentLoaded", () => {
window.app = new v13g();
…
s202139 Input v1dp layerInfo layerConfigUseful 0.40 layerUseful 0.38 Both poor Present Usefulness probability is near the provisional 0.5 boundary. Pre-rename JavaScript · s202139 / v1dp ×
Declaration · line 5840 …
const v1dm = await v1dl.file("manifest.json").async("string");
const v1dn = JSON.parse(v1dm);
const v1do = [];
for (const v1dp of v1dn.layers) {
const v1dq = await v1dl.file(`layers/${v1dp.file}`).async("base64");
v1do.push({
...v1dp,
data: `data:image/png;base64,${v1dq}`
});
}
v4i.emit("doc:open-project", {
…
s202178 Input v1dq pngData layerBase64DataUseful 0.84 base64DataUseful 0.65 FlowName better Present Pre-rename JavaScript · s202178 / v1dq ×
Declaration · line 5841 …
const v1dn = JSON.parse(v1dm);
const v1do = [];
for (const v1dp of v1dn.layers) {
const v1dq = await v1dl.file(`layers/${v1dp.file}`).async("base64");
v1do.push({
...v1dp,
data: `data:image/png;base64,${v1dq}`
});
}
v4i.emit("doc:open-project", {
manifest: v1dn,
…
s202522 Input v1dr e errorUseful 0.71 errorUseful 0.71 Both useful Present Pre-rename JavaScript · s202522 / v1dr ×
Declaration · line 5853 …
layers: v1do,
name: v1dk.name,
path: null
});
} catch (v1dr ) {
alert("Error opening project: " + v1dr.message);
}
}
};
window.addEventListener("DOMContentLoaded", () => {
window.app = new v13g();
});
})();