Leverage Three.js in your Angular app using simple components:
Example :<atft-orbit-controls [rotateSpeed]=1 [zoomSpeed]=1.2>
  <atft-renderer-canvas>
    <atft-perspective-camera
      [fov]=60 [near]=1 [far]=1100
      positionX=20 [positionY]=50 [positionZ]=50>
    </atft-perspective-camera>
    <atft-scene>
      <atft-axes-helper [size]=200></atft-axes-helper>
      <atft-grid-helper [size]=100 [divisions]=10></atft-grid-helper>
    </atft-scene>
  </atft-renderer-canvas>
</atft-orbit-controls>Explore provided Angular components in isolation!
Click below to see the demo in a web browser:
Set up an Angular project and install dependencies:
Example :npm i three dagre atft yaml --save
npm i @types/dagre @types/three --save-devImport library into your module:
Example :import { AtftModule } from 'atft';
...
  imports: [
    ...
    AtftModule
  ]
 ...Use atft library components in src/app.component.html:
<atft-orbit-controls [rotateSpeed]=1 [zoomSpeed]=1.2>
  <atft-renderer-canvas #mainRenderer>
    <atft-perspective-camera
      [fov]=60 [near]=1 [far]=1100
      [positionX]=20 [positionY]=50 [positionZ]=50>
    </atft-perspective-camera>
    <atft-scene>
      <atft-axes-helper [size]=200></atft-axes-helper>
      <atft-grid-helper [size]=100 [divisions]=10></atft-grid-helper>
    </atft-scene>
  </atft-renderer-canvas>
</atft-orbit-controls>(optionally) if you want to fit 3D scene canvas into entire screen (horizontally and vertically):
in src/styles.css:
 html, body {
     height: 100%;
     margin: 0;
 }  in src/app/app.component.css:
 :host {
     height: 100%;
     display: flex;
 } Sample vect project, which is based on atft library:
git clone https://github.com/makimenko/angular-template-for-threejs.gitnpm installng build atftnpm testRun and watch locally: npm run storybook
Our storybook config is in ./storybook and our stories in ./src/stories.
See the official Storybook.js documentation for more information.
For mode details see API documentation
To automatically generate changelog and bump atft version:
npm run releaseFeel free to join us! Just submit your ideas via pull-requests :)