@rian8337/osu-strain-graph-generator 4.0.0-beta.13 → 4.0.0-beta.15

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../src/Chart.ts","../src/index.ts"],"sourcesContent":["import { createCanvas } from \"canvas\";\n/**\n * Utility to draw a graph with only node-canvas.\n *\n * Used for creating strain graph of beatmaps.\n */\nexport class Chart {\n /**\n * The canvas instance of this chart.\n */\n canvas;\n /**\n * The 2D rendering surface for the drawing surface of this chart.\n */\n context;\n graphWidth;\n graphHeight;\n minX;\n minY;\n maxX;\n maxY;\n unitsPerTickX;\n unitsPerTickY;\n background;\n xLabel;\n yLabel;\n xValueType;\n yValueType;\n pointRadius;\n padding = 10;\n tickSize = 10;\n axisColor = \"#555\";\n font = \"12pt Calibri\";\n axisLabelFont = \"bold 11pt Calibri\";\n fontHeight = 12;\n baseLabelOffset = 15;\n rangeX;\n rangeY;\n numXTicks;\n numYTicks;\n x;\n y;\n width;\n height;\n scaleX;\n scaleY;\n /**\n * @param values Initializer options for the graph.\n */\n constructor(values) {\n this.graphWidth = values.graphWidth;\n this.graphHeight = values.graphHeight;\n this.canvas = createCanvas(this.graphWidth, this.graphHeight);\n this.context = this.canvas.getContext(\"2d\");\n this.minX = values.minX;\n this.minY = values.minY;\n this.maxX = values.maxX;\n this.maxY = values.maxY;\n this.unitsPerTickX = values.unitsPerTickX;\n this.unitsPerTickY = values.unitsPerTickY;\n this.background = values.background;\n this.xLabel = values.xLabel;\n this.yLabel = values.yLabel;\n this.xValueType = values.xValueType;\n this.yValueType = values.yValueType;\n this.pointRadius = Math.max(0, values.pointRadius ?? 1);\n // Relationships\n this.rangeX = this.maxX - this.minX;\n this.rangeY = this.maxY - this.minY;\n this.numXTicks = Math.round(this.rangeX / this.unitsPerTickX);\n this.numYTicks = Math.round(this.rangeY / this.unitsPerTickY);\n this.x = this.getLongestValueWidth() + this.padding * 2;\n this.y = this.padding * 2;\n this.width = this.canvas.width - this.x - this.padding * 2;\n this.height =\n this.canvas.height - this.y - this.padding - this.fontHeight;\n this.scaleX =\n (this.width - (this.xLabel ? this.baseLabelOffset : 0)) /\n this.rangeX;\n this.scaleY =\n (this.height - (this.yLabel ? this.baseLabelOffset : 0)) /\n this.rangeY;\n // Draw background and X and Y axis tick marks\n this.setBackground();\n this.drawXAxis(true);\n this.drawYAxis(true);\n }\n /**\n * Draws a line graph with specified data, color, and line width.\n *\n * @param data The data to make the graph.\n * @param color The color of the line.\n * @param width The width of the line.\n */\n drawLine(data, color, width) {\n const c = this.context;\n c.save();\n this.transformContext();\n c.lineWidth = width;\n c.strokeStyle = c.fillStyle = color;\n c.beginPath();\n c.moveTo(data[0].x * this.scaleX, data[0].y * this.scaleY);\n for (let n = 0; n < data.length; ++n) {\n const point = data[n];\n // Data segment\n c.lineTo(point.x * this.scaleX, point.y * this.scaleY);\n c.stroke();\n c.closePath();\n if (this.pointRadius) {\n c.beginPath();\n c.arc(point.x * this.scaleX, point.y * this.scaleY, this.pointRadius, 0, 2 * Math.PI, false);\n c.fill();\n c.closePath();\n }\n // Position for next segment\n c.beginPath();\n c.moveTo(point.x * this.scaleX, point.y * this.scaleY);\n }\n c.restore();\n }\n /**\n * Draws an area graph with specified data and color.\n *\n * @param data The data to make the graph.\n * @param color The color of the area.\n */\n drawArea(data, color) {\n const c = this.context;\n c.save();\n this.transformContext();\n c.strokeStyle = c.fillStyle = color;\n c.beginPath();\n data.forEach((d) => c.lineTo(d.x * this.scaleX, d.y * this.scaleY));\n c.stroke();\n c.lineTo(data.at(-1).x * this.scaleX, 0);\n c.lineTo(0, 0);\n c.fill();\n c.restore();\n // Redraw axes since it gets\n // overlapped by chart area\n if (color !== this.axisColor) {\n this.drawXAxis();\n this.drawYAxis();\n }\n }\n /**\n * Returns a Buffer that represents the graph.\n */\n getBuffer() {\n return this.canvas.toBuffer();\n }\n /**\n * Draws the X axis of the graph.\n *\n * @param drawLabel Whether or not to draw the axis label.\n */\n drawXAxis(drawLabel) {\n const c = this.context;\n const labelOffset = this.xLabel ? this.baseLabelOffset : 0;\n const yLabelOffset = this.yLabel ? this.baseLabelOffset : 0;\n c.save();\n if (this.xLabel && drawLabel) {\n c.textAlign = \"center\";\n c.font = this.axisLabelFont;\n c.fillText(this.xLabel, this.x + this.width / 2, this.y + this.height + labelOffset);\n c.restore();\n }\n c.beginPath();\n c.moveTo(this.x + yLabelOffset, this.y + this.height - labelOffset);\n c.lineTo(this.x + this.width, this.y + this.height - labelOffset);\n c.strokeStyle = this.axisColor;\n c.lineWidth = 2;\n c.stroke();\n // Draw tick marks\n for (let n = 0; n < this.numXTicks; ++n) {\n c.beginPath();\n c.moveTo(((n + 1) * (this.width - yLabelOffset)) / this.numXTicks +\n this.x +\n yLabelOffset, this.y + this.height - labelOffset);\n c.lineTo(((n + 1) * (this.width - yLabelOffset)) / this.numXTicks +\n this.x +\n yLabelOffset, this.y + this.height - labelOffset - this.tickSize);\n c.stroke();\n }\n // Draw labels\n c.font = this.font;\n c.fillStyle = \"black\";\n c.textAlign = \"center\";\n c.textBaseline = \"middle\";\n for (let n = 0; n < this.numXTicks; ++n) {\n const label = Math.round(((n + 1) * this.maxX) / this.numXTicks);\n let stringLabel = label.toString();\n switch (this.xValueType) {\n case \"time\":\n stringLabel = this.timeString(label);\n break;\n }\n c.save();\n c.translate(((n + 1) * (this.width - yLabelOffset)) / this.numXTicks +\n this.x +\n yLabelOffset, this.y + this.height + this.padding - labelOffset);\n c.fillText(stringLabel, 0, 0);\n c.restore();\n }\n c.restore();\n }\n /**\n * Draws the Y axis of the graph.\n *\n * @param drawLabel Whether or not to draw the axis label.\n */\n drawYAxis(drawLabel) {\n const c = this.context;\n const labelOffset = this.yLabel ? this.baseLabelOffset : 0;\n const xLabelOffset = this.xLabel ? this.baseLabelOffset : 0;\n c.save();\n if (this.yLabel && drawLabel) {\n c.textAlign = \"center\";\n c.font = this.axisLabelFont;\n c.translate(0, this.graphHeight);\n c.rotate(-Math.PI / 2);\n c.fillText(this.yLabel, this.y + xLabelOffset + this.height / 2, this.x - labelOffset * 2.5);\n c.restore();\n }\n c.beginPath();\n c.moveTo(this.x + labelOffset, this.y);\n c.lineTo(this.x + labelOffset, this.y + this.height - xLabelOffset);\n c.strokeStyle = this.axisColor;\n c.lineWidth = 2;\n c.stroke();\n c.restore();\n // Draw tick marks\n for (let n = 0; n < this.numYTicks; ++n) {\n c.beginPath();\n c.moveTo(this.x + labelOffset, (n * (this.height - xLabelOffset)) / this.numYTicks + this.y);\n c.lineTo(this.x + labelOffset + this.tickSize, (n * (this.height - xLabelOffset)) / this.numYTicks + this.y);\n c.stroke();\n }\n // Draw values\n c.font = this.font;\n c.fillStyle = \"black\";\n c.textAlign = \"right\";\n c.textBaseline = \"middle\";\n for (let n = 0; n < this.numYTicks; ++n) {\n const value = Math.round(this.maxY - (n * this.maxY) / this.numYTicks);\n c.save();\n c.translate(this.x + labelOffset - this.padding, (n * (this.height - xLabelOffset)) / this.numYTicks + this.y);\n c.fillText(value.toString(), 0, 0);\n c.restore();\n }\n c.restore();\n }\n /**\n * Transforms the context and move it to the center of the graph.\n */\n transformContext() {\n const c = this.context;\n // Move context to point (0, 0) in graph\n c.translate(this.x + (this.yLabel ? this.baseLabelOffset : 0), this.y + this.height - (this.xLabel ? this.baseLabelOffset : 0));\n // Invert the Y scale so that it\n // increments as we go upwards\n c.scale(1, -1);\n }\n /**\n * Gets the longest width from each label text in Y axis.\n */\n getLongestValueWidth() {\n this.context.font = this.font;\n let longestValueWidth = 0;\n for (let n = 0; n < this.numYTicks; ++n) {\n const value = this.maxY - n * this.unitsPerTickY;\n let stringValue = value.toString();\n switch (this.yValueType) {\n case \"time\":\n stringValue = this.timeString(value);\n break;\n }\n longestValueWidth = Math.max(longestValueWidth, this.context.measureText(stringValue).width);\n }\n return longestValueWidth;\n }\n /**\n * Sets the background of the graph.\n */\n setBackground() {\n if (!this.background) {\n this.context.globalAlpha = 0.7;\n this.context.fillStyle = \"#ffffff\";\n this.context.fillRect(0, 0, this.canvas.width, this.canvas.height);\n this.context.fillStyle = \"#000000\";\n return;\n }\n this.context.globalAlpha = 1;\n this.context.drawImage(this.background, 0, 0, this.canvas.width, this.canvas.height);\n this.context.globalAlpha = 0.8;\n this.context.fillStyle = \"#bbbbbb\";\n this.context.fillRect(0, 0, 900, 250);\n this.context.globalAlpha = 1;\n this.context.fillStyle = \"#000000\";\n }\n /**\n * Time string parsing function for axis labels.\n */\n timeString(seconds) {\n seconds = Math.trunc(seconds);\n const days = Math.floor(seconds / 86400);\n seconds -= days * 86400;\n const hours = Math.floor(seconds / 3600);\n seconds -= hours * 3600;\n const minutes = Math.floor(seconds / 60);\n seconds -= minutes * 60;\n const final = [\n minutes.toString(),\n seconds.toString().padStart(2, \"0\"),\n ];\n if (hours > 0) {\n final.unshift(hours.toString());\n }\n if (days > 0) {\n final.unshift(days.toString());\n }\n return final.join(\":\");\n }\n}\n//# sourceMappingURL=Chart.js.map","import { ModFlashlight, Vector2 } from \"@rian8337/osu-base\";\nimport { loadImage } from \"canvas\";\nimport { Chart } from \"./Chart\";\n/**\n * Generates the strain chart of a difficulty calculator and returns the chart as a buffer.\n *\n * @param calculator The difficulty calculator to generate the strain graph for.\n * @param beatmapsetID The beatmapset ID to get background image from. If omitted, the background will be plain white.\n * @param color The color of the graph.\n */\nexport default async function getStrainChart(calculator, beatmapsetID, color = \"#000000\") {\n if ([\n calculator.strainPeaks.aimWithSliders.length,\n calculator.strainPeaks.aimWithoutSliders.length,\n calculator.strainPeaks.speed.length,\n calculator.strainPeaks.flashlight.length,\n ].some((v) => v === 0)) {\n return null;\n }\n const sectionLength = 400;\n const currentSectionEnd = Math.ceil(calculator.beatmap.hitObjects.objects[0].startTime / sectionLength) * sectionLength;\n const strainInformations = new Array(Math.max(calculator.strainPeaks.aimWithSliders.length, calculator.strainPeaks.speed.length, calculator.strainPeaks.flashlight.length));\n for (let i = 0; i < strainInformations.length; ++i) {\n const aimStrain = calculator.strainPeaks.aimWithSliders[i] ?? 0;\n const speedStrain = calculator.strainPeaks.speed[i] ?? 0;\n const flashlightStrain = calculator.strainPeaks.flashlight[i] ?? 0;\n strainInformations[i] = {\n time: (currentSectionEnd + sectionLength * i) / 1000,\n strain: calculator.mods.some((m) => m instanceof ModFlashlight)\n ? (aimStrain + speedStrain + flashlightStrain) / 3\n : (aimStrain + speedStrain) / 2,\n };\n }\n const maxTime = strainInformations.at(-1).time ??\n calculator.objects.at(-1).object.endTime / 1000;\n const maxStrain = Math.max(...strainInformations.map((v) => {\n return v.strain;\n }), 1);\n const maxXUnits = 10;\n const maxYUnits = 10;\n const unitsPerTickX = Math.ceil(maxTime / maxXUnits / 10) * 10;\n const unitsPerTickY = Math.ceil(maxStrain / maxYUnits / 20) * 20;\n const chart = new Chart({\n graphWidth: 900,\n graphHeight: 250,\n minX: 0,\n minY: 0,\n maxX: Math.ceil(maxTime / unitsPerTickX) * unitsPerTickX,\n maxY: Math.ceil(maxStrain / unitsPerTickY) * unitsPerTickY,\n unitsPerTickX,\n unitsPerTickY,\n background: await loadImage(`https://assets.ppy.sh/beatmaps/${beatmapsetID}/covers/cover.jpg`).catch(() => {\n return undefined;\n }),\n xLabel: \"Time\",\n yLabel: \"Strain\",\n pointRadius: 0,\n xValueType: \"time\",\n });\n chart.drawArea(strainInformations.map((v) => new Vector2(v.time, v.strain)), color);\n return chart.getBuffer();\n}\n//# sourceMappingURL=index.js.map"],"names":["createCanvas","ModFlashlight","loadImage","Vector2"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../src/Chart.ts","../src/index.ts"],"sourcesContent":[null,null],"names":["createCanvas","ModFlashlight","loadImage","Vector2"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rian8337/osu-strain-graph-generator",
3
- "version": "4.0.0-beta.13",
3
+ "version": "4.0.0-beta.15",
4
4
  "description": "A module for generating strain graph of an osu!standard beatmap.",
5
5
  "keywords": [
6
6
  "osu",
@@ -33,13 +33,13 @@
33
33
  "url": "https://github.com/Rian8337/osu-droid-module/issues"
34
34
  },
35
35
  "dependencies": {
36
- "@rian8337/osu-base": "^4.0.0-beta.13",
37
- "@rian8337/osu-difficulty-calculator": "^4.0.0-beta.13",
38
- "@rian8337/osu-rebalance-difficulty-calculator": "^4.0.0-beta.13",
36
+ "@rian8337/osu-base": "^4.0.0-beta.15",
37
+ "@rian8337/osu-difficulty-calculator": "^4.0.0-beta.15",
38
+ "@rian8337/osu-rebalance-difficulty-calculator": "^4.0.0-beta.15",
39
39
  "canvas": "^2.9.0"
40
40
  },
41
41
  "publishConfig": {
42
42
  "access": "public"
43
43
  },
44
- "gitHead": "e257d4c0d01722835ede297c9347a86668a4647c"
44
+ "gitHead": "5f129478c70d3af938cde6c311863ee07e0fab16"
45
45
  }
@@ -1,5 +1,5 @@
1
- import { DifficultyCalculator } from '@rian8337/osu-difficulty-calculator';
2
- import { DifficultyCalculator as DifficultyCalculator$1 } from '@rian8337/osu-rebalance-difficulty-calculator';
1
+ import { DifficultyCalculator, DifficultyHitObject, DifficultyAttributes } from '@rian8337/osu-difficulty-calculator';
2
+ import { DifficultyCalculator as DifficultyCalculator$1, DifficultyHitObject as DifficultyHitObject$1, DifficultyAttributes as DifficultyAttributes$1 } from '@rian8337/osu-rebalance-difficulty-calculator';
3
3
 
4
4
  /**
5
5
  * Generates the strain chart of a difficulty calculator and returns the chart as a buffer.
@@ -8,6 +8,6 @@ import { DifficultyCalculator as DifficultyCalculator$1 } from '@rian8337/osu-re
8
8
  * @param beatmapsetID The beatmapset ID to get background image from. If omitted, the background will be plain white.
9
9
  * @param color The color of the graph.
10
10
  */
11
- declare function getStrainChart(calculator: DifficultyCalculator | DifficultyCalculator$1, beatmapsetID?: number, color?: string): Promise<Buffer | null>;
11
+ declare function getStrainChart(calculator: DifficultyCalculator<DifficultyHitObject, DifficultyAttributes> | DifficultyCalculator$1<DifficultyHitObject$1, DifficultyAttributes$1>, beatmapsetID?: number, color?: string): Promise<Buffer | null>;
12
12
 
13
13
  export { getStrainChart as default };