restore backup and add opencode support

This commit is contained in:
libretech committed 2025-09-23 12:02:03 +02:00
1 parent b99d2ff835
commit c295660631
72 files changed
+7035 -7198

No files matched your search

+318
View File
@@ -0,0 +1,318 @@
/**
* @fileoverview added by tsickle
* @suppress {checkTypes} checked by tsc
*/
/**
* Copyright (C) 2018 Michael Czechowski <mail@dailysh.it>
* This program is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the Free
* Software Foundation; version 2.
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
* more details.
*
* You should have received a copy of the GNU General Public License along with
* this program; if not, write to the Free Software Foundation, Inc., 51
* Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
import * as tslib_1 from "tslib";
import { Injectable } from '@angular/core';
import * as Random from 'd3-random';
var NlsMathService = /** @class */ (function () {
function NlsMathService() {
}
/**
* Calculate distance between to points with coordinates.
* @param {?} a
* @param {?} b
* @return {?}
*/
NlsMathService.prototype.Δ = /**
* Calculate distance between to points with coordinates.
* @param {?} a
* @param {?} b
* @return {?}
*/
function (a, b) {
return Math.pow(Math.pow(a.x - b.x, 2) + Math.pow(a.y - b.y, 2), 0.5);
};
/**
* @param {?} point
* @param {?} matrix
* @return {?}
*/
NlsMathService.prototype.getClosestCenter = /**
* @param {?} point
* @param {?} matrix
* @return {?}
*/
function (point, matrix) {
if (this.Δ(point, matrix.start) < this.Δ(point, matrix.end)) {
return matrix.start;
}
else {
return matrix.end;
}
};
/**
* @param {?} point
* @param {?} matrix
* @return {?}
*/
NlsMathService.prototype.getFarestCenter = /**
* @param {?} point
* @param {?} matrix
* @return {?}
*/
function (point, matrix) {
if (this.Δ(point, matrix.start) > this.Δ(point, matrix.end)) {
return matrix.start;
}
else {
return matrix.end;
}
};
/**
* @param {?} matrix
* @param {?} overlap
* @return {?}
*/
NlsMathService.prototype.randomPoint = /**
* @param {?} matrix
* @param {?} overlap
* @return {?}
*/
function (matrix, overlap) {
/** @type {?} */
var x = {
min: matrix.center.x - matrix.width * overlap,
max: matrix.center.x + matrix.width * overlap
};
/** @type {?} */
var y = {
min: matrix.center.y - matrix.height * overlap,
max: matrix.center.y + matrix.height * overlap
};
return {
x: Random.randomUniform(x.min, x.max)(),
y: Random.randomUniform(y.min, y.max)()
};
};
/**
* @param {?} width
* @param {?} height
* @return {?}
*/
NlsMathService.prototype.centerOfArea = /**
* @param {?} width
* @param {?} height
* @return {?}
*/
function (width, height) {
return {
x: width * 0.5,
y: height * 0.5
};
};
/**
* @param {?} p1
* @param {?} p2
* @return {?}
*/
NlsMathService.prototype.centerOfPoints = /**
* @param {?} p1
* @param {?} p2
* @return {?}
*/
function (p1, p2) {
return {
x: (p1.x + p2.x) * 0.5,
y: (p1.y + p2.y) * 0.5
};
};
/**
* @param {?} curve
* @return {?}
*/
NlsMathService.prototype.centerOfCurve = /**
* @param {?} curve
* @return {?}
*/
function (curve) {
/** @type {?} */
var genMedian = this.medianPoint(curve);
/** @type {?} */
var p1 = genMedian.next().value;
/** @type {?} */
var p2 = genMedian.next().value;
/** @type {?} */
var radians = this.angleRadians(p1, p2);
return Object.assign(this.centerOfPoints(p1, p2), { ascent: radians });
};
/**
* @param {?} curve
* @return {?}
*/
NlsMathService.prototype.medianOfCurve = /**
* @param {?} curve
* @return {?}
*/
function (curve) {
/** @type {?} */
var genMedian = this.medianPoint(curve);
/** @type {?} */
var p1 = genMedian.next().value;
/** @type {?} */
var p2 = genMedian.next().value;
/** @type {?} */
var p3 = genMedian.next().value;
/** @type {?} */
var radians = this.angleRadians(p2, p3);
// const radians = Math.round(Math.random() * 10000) / 1000;
// @todo if nodes are less than 5 error occures
return Object.assign(p1, { ascent: radians });
};
/**
* @param {?} p1
* @param {?} p2
* @return {?}
*/
NlsMathService.prototype.angleRadians = /**
* @param {?} p1
* @param {?} p2
* @return {?}
*/
function (p1, p2) {
return Math.atan2(p2.y - p1.y, p2.x - p1.x);
};
/**
* @param {?} p1
* @param {?} p2
* @return {?}
*/
NlsMathService.prototype.angleDegree = /**
* @param {?} p1
* @param {?} p2
* @return {?}
*/
function (p1, p2) {
return this.angleRadians(p1, p2) * 180 / Math.PI;
};
/**
* @param {?} list
* @return {?}
*/
NlsMathService.prototype.medianIndex = /**
* @param {?} list
* @return {?}
*/
function (list) {
return Math.floor(list.length * 0.5);
};
/**
* @param {?} points
* @return {?}
*/
NlsMathService.prototype.medianPoint = /**
* @param {?} points
* @return {?}
*/
function (points) {
var index, list;
return tslib_1.__generator(this, function (_a) {
switch (_a.label) {
case 0:
list = points.slice();
_a.label = 1;
case 1:
if (!list) return [3 /*break*/, 3];
index = this.medianIndex(points);
return [4 /*yield*/, list[index]];
case 2:
_a.sent();
list.splice(index, 1);
return [3 /*break*/, 1];
case 3: return [2 /*return*/];
}
});
};
/**
* Generator for sine bounce
*
* @param {?=} amplitude default to 1 indicates the amplitude in positive as well
* in negative range
* @param {?=} decimals amount of decimal places
* @param {?=} start 0 indicates to initiate with positive numbers, 1 indicates to
* start with negative numbers first
* @return {?}
*/
NlsMathService.prototype.bounce = /**
* Generator for sine bounce
*
* @param {?=} amplitude default to 1 indicates the amplitude in positive as well
* in negative range
* @param {?=} decimals amount of decimal places
* @param {?=} start 0 indicates to initiate with positive numbers, 1 indicates to
* start with negative numbers first
* @return {?}
*/
function (amplitude, decimals, start) {
if (amplitude === void 0) { amplitude = 1; }
if (decimals === void 0) { decimals = 1; }
if (start === void 0) { start = 0; }
var power, step, index, radians;
return tslib_1.__generator(this, function (_a) {
switch (_a.label) {
case 0:
power = Math.pow(10, decimals);
step = 2 / (power);
index = 0;
_a.label = 1;
case 1:
if (!true) return [3 /*break*/, 3];
radians = Math.PI * step * index + start;
return [4 /*yield*/, Math.round((Math.sin(radians) * amplitude) * power) / power];
case 2:
_a.sent();
index++;
return [3 /*break*/, 1];
case 3: return [2 /*return*/];
}
});
};
/**
* @param {?=} startPositive
* @return {?}
*/
NlsMathService.prototype.flipSign = /**
* @param {?=} startPositive
* @return {?}
*/
function (startPositive) {
if (startPositive === void 0) { startPositive = true; }
var sign;
return tslib_1.__generator(this, function (_a) {
switch (_a.label) {
case 0:
sign = startPositive ? 1 : -1;
_a.label = 1;
case 1:
if (!true) return [3 /*break*/, 3];
return [4 /*yield*/, sign = sign * (-1)];
case 2:
_a.sent();
return [3 /*break*/, 1];
case 3: return [2 /*return*/];
}
});
};
NlsMathService.decorators = [
{ type: Injectable },
];
return NlsMathService;
}());
export { NlsMathService };
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0aC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmxzLWd1aWxsb2NoZS8iLCJzb3VyY2VzIjpbIm5scy9zZXJ2aWNlcy9tYXRoLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFnQkEsT0FBTyxFQUFVLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVuRCxPQUFPLEtBQUssTUFBTSxNQUFNLFdBQVcsQ0FBQzs7Ozs7Ozs7OztJQWEzQiwwQkFBQzs7Ozs7O2NBQUMsQ0FBUSxFQUFFLENBQVE7UUFDekIsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7Ozs7Ozs7SUFHakUseUNBQWdCOzs7OztjQUFDLEtBQVksRUFBRSxNQUFXO1FBQy9DLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxLQUFLLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzVELE1BQU0sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDO1NBQ3JCO1FBQUMsSUFBSSxDQUFDLENBQUM7WUFDTixNQUFNLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQztTQUNuQjs7Ozs7OztJQUdJLHdDQUFlOzs7OztjQUFDLEtBQVksRUFBRSxNQUFXO1FBQzlDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxLQUFLLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzVELE1BQU0sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDO1NBQ3JCO1FBQUMsSUFBSSxDQUFDLENBQUM7WUFDTixNQUFNLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQztTQUNuQjs7Ozs7OztJQUdJLG9DQUFXOzs7OztjQUFDLE1BQVcsRUFBRSxPQUFlOztRQUM3QyxJQUFNLENBQUMsR0FBRztZQUNSLEdBQUcsRUFBRSxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxNQUFNLENBQUMsS0FBSyxHQUFHLE9BQU87WUFDN0MsR0FBRyxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxLQUFLLEdBQUcsT0FBTztTQUM5QyxDQUFDOztRQUNGLElBQU0sQ0FBQyxHQUFHO1lBQ1IsR0FBRyxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxNQUFNLEdBQUcsT0FBTztZQUM5QyxHQUFHLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsTUFBTSxDQUFDLE1BQU0sR0FBRyxPQUFPO1NBQy9DLENBQUM7UUFFRixNQUFNLENBQUM7WUFDTCxDQUFDLEVBQUUsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUN2QyxDQUFDLEVBQUUsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRTtTQUN4QyxDQUFDOzs7Ozs7O0lBR0cscUNBQVk7Ozs7O2NBQUMsS0FBSyxFQUFFLE1BQU07UUFDL0IsTUFBTSxDQUFDO1lBQ0wsQ0FBQyxFQUFFLEtBQUssR0FBRyxHQUFHO1lBQ2QsQ0FBQyxFQUFFLE1BQU0sR0FBRyxHQUFHO1NBQ2hCLENBQUM7Ozs7Ozs7SUFHRyx1Q0FBYzs7Ozs7Y0FBQyxFQUFTLEVBQUUsRUFBUztRQUN4QyxNQUFNLENBQUM7WUFDTCxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxHQUFHO1lBQ3RCLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLEdBQUc7U0FDdkIsQ0FBQzs7Ozs7O0lBR0csc0NBQWE7Ozs7Y0FBQyxLQUFjOztRQUNqQyxJQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDOztRQUMxQyxJQUFNLEVBQUUsR0FBRyxTQUFTLENBQUMsSUFBSSxFQUFFLENBQUMsS0FBSyxDQUFDOztRQUNsQyxJQUFNLEVBQUUsR0FBRyxTQUFTLENBQUMsSUFBSSxFQUFFLENBQUMsS0FBSyxDQUFDOztRQUNsQyxJQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUUxQyxNQUFNLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDOzs7Ozs7SUFHbEUsc0NBQWE7Ozs7Y0FBQyxLQUFjOztRQUNqQyxJQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDOztRQUMxQyxJQUFNLEVBQUUsR0FBRyxTQUFTLENBQUMsSUFBSSxFQUFFLENBQUMsS0FBSyxDQUFDOztRQUNsQyxJQUFNLEVBQUUsR0FBRyxTQUFTLENBQUMsSUFBSSxFQUFFLENBQUMsS0FBSyxDQUFDOztRQUNsQyxJQUFNLEVBQUUsR0FBRyxTQUFTLENBQUMsSUFBSSxFQUFFLENBQUMsS0FBSyxDQUFDOztRQUNsQyxJQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQzs7O1FBRzFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDOzs7Ozs7O0lBR3pDLHFDQUFZOzs7OztjQUFDLEVBQVMsRUFBRSxFQUFTO1FBQ3RDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQzs7Ozs7OztJQUd2QyxvQ0FBVzs7Ozs7Y0FBQyxFQUFTLEVBQUUsRUFBUztRQUNyQyxNQUFNLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLEdBQUcsR0FBRyxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUM7Ozs7OztJQUc1QyxvQ0FBVzs7OztjQUFDLElBQVM7UUFDMUIsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxHQUFHLENBQUMsQ0FBQzs7Ozs7O0lBRy9CLG9DQUFXOzs7O2NBQUMsTUFBZTs7Ozs7b0JBRTNCLElBQUksR0FBWSxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUM7Ozt5QkFFOUIsSUFBSTtvQkFDVCxLQUFLLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQztvQkFDakMscUJBQU0sSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFBOztvQkFBakIsU0FBaUIsQ0FBQztvQkFFbEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7SUFjbEIsK0JBQU07Ozs7Ozs7Ozs7Y0FDWixTQUFxQixFQUNyQixRQUFvQixFQUNwQixLQUFpQjtRQUZqQiwwQkFBQSxFQUFBLGFBQXFCO1FBQ3JCLHlCQUFBLEVBQUEsWUFBb0I7UUFDcEIsc0JBQUEsRUFBQSxTQUFpQjs7Ozs7b0JBRVgsS0FBSyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxFQUFFLFFBQVEsQ0FBQyxDQUFDO29CQUMvQixJQUFJLEdBQUcsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7b0JBQ3JCLEtBQUssR0FBRyxDQUFDLENBQUM7Ozt5QkFFUCxJQUFJO29CQUNILE9BQU8sR0FBR Line truncated