{"id":21074842,"url":"https://github.com/nextlevelshit/spline-generator","last_synced_at":"2025-05-16T06:31:35.320Z","repository":{"id":88475227,"uuid":"171260811","full_name":"nextlevelshit/spline-generator","owner":"nextlevelshit","description":null,"archived":false,"fork":false,"pushed_at":"2020-09-07T21:40:56.000Z","size":454,"stargazers_count":4,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2024-11-16T16:52:05.096Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/nextlevelshit.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-02-18T10:12:10.000Z","updated_at":"2020-08-21T22:13:23.000Z","dependencies_parsed_at":"2023-03-29T05:18:03.973Z","dependency_job_id":null,"html_url":"https://github.com/nextlevelshit/spline-generator","commit_stats":{"total_commits":5,"total_committers":1,"mean_commits":5.0,"dds":0.0,"last_synced_commit":"078a1f05c161c71263922d93ec37e3838fb49d4d"},"previous_names":[],"tags_count":9,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nextlevelshit%2Fspline-generator","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nextlevelshit%2Fspline-generator/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nextlevelshit%2Fspline-generator/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nextlevelshit%2Fspline-generator/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nextlevelshit","download_url":"https://codeload.github.com/nextlevelshit/spline-generator/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":225411529,"owners_count":17470248,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-19T19:18:18.464Z","updated_at":"2024-11-19T19:18:19.703Z","avatar_url":"https://github.com/nextlevelshit.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003ch1 align=\"center\"\u003e\u003cstrong\u003eSpline Generator\u003c/strong\u003e\u003c/h1\u003e\n\n\u003cdiv align=\"center\"\u003e\n  \u003ca href=\"https://npmjs.org/package/nls-spline-generator\"\u003e\n    \u003cimg src=\"https://badgen.now.sh/npm/v/nls-spline-generator\" alt=\"version\" /\u003e\n  \u003c/a\u003e\n\u003c/div\u003e\n\n---\n\n# Getting started\n\n## 1) Add dependency to your project\n\n```bash\n# npm\nnpm install nls-spline-generator --save\n\n# yarn\nyarn add nls-spline-generator\n```\n\n## 2) Import module to your Angular application\n\n```ts\n// app.module.ts (default filename)\n\nimport { NlsSplineGeneratoreModule } from 'nls-spline-generator';\n\n@NgModule({\n  declarations: [\n    // ...\n  ],\n  imports: [\n    // ...\n    NlsSplineGeneratoreModule\n  ],\n  providers: [\n    // ...\n  ],\n  bootstrap: [\n    // ...\n  ]\n})\nexport class AppModule { }\n```\n\n## 4) Implement directive in your template\n\nPast in the configuration and set animation to `true` or `false` (default is `false`):\n\n```html\n\u003cnls-spline-generator [config]=\"config\"\u003e\u003c/nls-spline-generator\u003e\n```\n\n## Usage only\n\n```ts\n// models/config.model.ts\n/**\n * The Configuration stands for incoming parameters from outside\n * to adjust the outcoming graphs.\n */\n\nexport interface Config {\n  /**\n   * Amount of orientation points, excl. entry and vector points\n   */\n  points?: number;\n  /**\n   * Points distributation factor depending on canvas size\n   */\n  overshoot?: number;\n  /**\n   * Amount of graphs\n   */\n  graphs?: number;\n  /**\n   * Amount of splines each graph\n   */\n  splines?: number;\n  /**\n   * Directional vectors coming next after entry points.\n   * Starting as well ending points of graph drawn on canvs.\n   * Enters the canvas (in)\n   * Leaves the canvas (off)\n   */\n  vector?: {\n    in?: {\n      /**\n       * Vector direction set by part of tau. Examples:\n       * 0 up, 0.25 right, 0.5 bottom, 0.75 left\n       */\n      direction: number;\n      /**\n       * Margin between canvas border and first graph curve (px)\n       */\n      margin: number;\n      /**\n       * Percentage of canvas height or width\n       */\n      tension: number;\n    },\n    out?: {\n      /**\n       * Vector direction set by part of tau. Examples:\n       * 0 up, 0.25 right, 0.5 bottom, 0.75 left\n       */\n      direction: number;\n      /**\n       * Margin between canvas border and first graph curve (px)\n       */\n      margin: number;\n      /**\n       * Percentage of canvas height or width\n       */\n      tension: number;\n    }\n  };\n  /**\n   * Configuration for Margins for Entrie Points, Splines and the Canvas at all.\n   */\n  margin?: {\n    /**\n     *  Margin between entry points of graphs\n     */\n    entry?: number;\n    /**\n     * Margin between splines of graphs\n     */\n    spline?: number;\n    canvas?: {\n      /**\n       * Horizontal margin between entry points and canvas boundries (px)\n       */\n      x?: number;\n      /**\n       * Vertical margin between entry points and canvas boundries (px)\n       */\n      y?: number;\n    }\n  };\n   /**\n    * Configuration of spline strokes\n    */\n  stroke?: {\n    /**\n     * Spline stroke width in pixel\n     */\n    width: number;\n    /**\n     * Spline stroke color in hexadecimal, rgb, etc.\n     */\n    colors: string[];\n  };\n  /**\n   * Background color of canvas (default transprent)\n   */\n  background?: string;\n  /**\n   * Configuration for Animation\n   */\n  animation?: {\n    enabled?: boolean;\n    frequency?: number;\n    /**\n     * Amplitude of noise generated animation pathes\n     */\n    amplitude?: number;\n    /**\n     * Radius of circular noise generated pathes\n     */\n   radius?: number;\n    /**\n     * Ticks per one animation cycle\n     */\n    ticks?: number;\n  };\n  /**\n   * Enable debug mode to draw all helpers like\n   * points etc.\n   */\n  debug?: boolean;\n}\n```\n\n## Active Development (Advanced)\n\n### Rquirements\n\n- Node.js\n- Angular CLI\n\n### NPM Scripts\n\n| command          | description                                                        |\n|------------------|--------------------------------------------------------------------|\n| `npm run start`  | start development server on `http://localhost:4200/`               |\n| `npm run build`  | build production application and save to `./dist`                  |\n| `npm run build:library` | build node module and save to `./dist/nls-spline-generator` | \n| `npm run library:files` | copy `README.md` and `LICENSE` to library directory         | \n\n### Version Release\n\n#### 1. Bumping new version of main application\n\n```bash\nnpm version major|minor|patch -m \"RELEASE MESSAGE\" \n```\n\n#### 2. Synchronizing versions\n\nSynchronize the version of `./projects/nls-spline-generator/package.json` with the main application `./package.json`. \n\n#### 3. Copying files\n\nCopy `README.md` and `LICENSE` from main application to library.\n\n```bash\nnpm run library:files\n```\n\n#### 4. Building library\n\n```bash\nnpm run build:library\n```\n\n#### 5. Publishing to npm\n\n```bash\ncd dist/nls-spline-generator\nnpm publish\ncd ../..\n```\n\n#### 6. Push changes to repository\n\n```bash\ngit push\ngit push --tags\n```\n\n### Semantic Versioning\n\n**Any release or tag must use [Semantic Versioning](//semver.org/).**\n\nGiven a version number `MAJOR.MINOR.PATCH`, increment the:\n\n1. `MAJOR` version when you make incompatible API changes,\n1. `MINOR` version when you add functionality in a backwards-compatible manner, and\n1. `PATCH` version when you make backwards-compatible bug fixes.\n\n*Additional labels for pre-release and build metadata are available as extensions to the MAJOR.MINOR.PATCH format.*\n\n\n## Contributors\n\n- Author and Realisation [Michael Czechowski](//github.com/nextlevelshit)\n- Consultant [Martin Maga](//github.com/qualiacode)\n- Idea and Concept [Bernhard Kinzler](//b612-design.de)\n\n## License\n\n\u003e pending\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnextlevelshit%2Fspline-generator","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnextlevelshit%2Fspline-generator","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnextlevelshit%2Fspline-generator/lists"}