create-definedmotion 0.1.0

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.
Files changed (98) hide show
  1. package/bin/index.js +3 -0
  2. package/package.json +37 -0
  3. package/src/cli.js +100 -0
  4. package/template/.editorconfig +9 -0
  5. package/template/.prettierignore +6 -0
  6. package/template/.prettierrc.yaml +10 -0
  7. package/template/_gitignore +10 -0
  8. package/template/build/entitlements.mac.plist +12 -0
  9. package/template/build/icon.icns +0 -0
  10. package/template/build/icon.ico +0 -0
  11. package/template/build/icon.png +0 -0
  12. package/template/electron-builder.yml +43 -0
  13. package/template/electron.vite.config.ts +50 -0
  14. package/template/eslint.config.mjs +24 -0
  15. package/template/package-lock.json +10299 -0
  16. package/template/package.json +64 -0
  17. package/template/resources/icon.png +0 -0
  18. package/template/src/assets/audio/fadeSound.mp3 +0 -0
  19. package/template/src/assets/audio/fadeSound2.mp3 +0 -0
  20. package/template/src/assets/audio/interstellar.mp3 +0 -0
  21. package/template/src/assets/audio/keyboard1.mp3 +0 -0
  22. package/template/src/assets/audio/keyboard2.mp3 +0 -0
  23. package/template/src/assets/audio/keyboard3.mp3 +0 -0
  24. package/template/src/assets/audio/tick_sound.mp3 +0 -0
  25. package/template/src/assets/base.css +67 -0
  26. package/template/src/assets/electron.svg +10 -0
  27. package/template/src/assets/fonts/Geo-Regular.woff +0 -0
  28. package/template/src/assets/fonts/Montserrat-Italic-VariableFont_wght.woff2 +0 -0
  29. package/template/src/assets/fonts/Montserrat-Medium.ttf +0 -0
  30. package/template/src/assets/fonts/Montserrat-Medium.woff +0 -0
  31. package/template/src/assets/fonts/Montserrat-VariableFont_wght.woff2 +0 -0
  32. package/template/src/assets/fonts/glitch.ttf +0 -0
  33. package/template/src/assets/hdri/indoor1.hdr +0 -0
  34. package/template/src/assets/hdri/metro1.hdr +0 -0
  35. package/template/src/assets/hdri/outdoor1.hdr +0 -0
  36. package/template/src/assets/hdri/photo-studio1.hdr +0 -0
  37. package/template/src/assets/hdri/photo-studio2.hdr +0 -0
  38. package/template/src/assets/hdri/photo-studio3.hdr +0 -0
  39. package/template/src/assets/objects/keyboardScene/ibm-keyboard.glb +0 -0
  40. package/template/src/assets/wavy-lines.svg +25 -0
  41. package/template/src/entry.ts +20 -0
  42. package/template/src/example_scenes/alternativesScene.ts +88 -0
  43. package/template/src/example_scenes/dependencyScene.ts +116 -0
  44. package/template/src/example_scenes/fourierMachineScene.ts +108 -0
  45. package/template/src/example_scenes/fourierSeriesScene.ts +678 -0
  46. package/template/src/example_scenes/keyboardScene.ts +447 -0
  47. package/template/src/example_scenes/surfaceScene.ts +88 -0
  48. package/template/src/example_scenes/tutorials/easy1.ts +59 -0
  49. package/template/src/example_scenes/tutorials/easy2.ts +141 -0
  50. package/template/src/example_scenes/tutorials/easy3.ts +133 -0
  51. package/template/src/example_scenes/tutorials/medium1.ts +154 -0
  52. package/template/src/example_scenes/vectorField.ts +209 -0
  53. package/template/src/example_scenes/visulizingFunctions.ts +246 -0
  54. package/template/src/main/index.ts +101 -0
  55. package/template/src/main/rendering.ts +219 -0
  56. package/template/src/main/storage.ts +35 -0
  57. package/template/src/preload/index.d.ts +8 -0
  58. package/template/src/preload/index.ts +36 -0
  59. package/template/src/renderer/index.html +17 -0
  60. package/template/src/renderer/src/App.svelte +130 -0
  61. package/template/src/renderer/src/app.css +24 -0
  62. package/template/src/renderer/src/env.d.ts +2 -0
  63. package/template/src/renderer/src/lib/animation/animations.ts +214 -0
  64. package/template/src/renderer/src/lib/animation/captureCanvas.ts +85 -0
  65. package/template/src/renderer/src/lib/animation/helpers.ts +7 -0
  66. package/template/src/renderer/src/lib/animation/interpolations.ts +155 -0
  67. package/template/src/renderer/src/lib/animation/protocols.ts +79 -0
  68. package/template/src/renderer/src/lib/audio/loader.ts +104 -0
  69. package/template/src/renderer/src/lib/fonts/Roboto_Regular.json +1 -0
  70. package/template/src/renderer/src/lib/fonts/montserrat-medium.json +1 -0
  71. package/template/src/renderer/src/lib/fonts/montserrat.json +1 -0
  72. package/template/src/renderer/src/lib/general/helpers.ts +77 -0
  73. package/template/src/renderer/src/lib/general/onDestory.ts +10 -0
  74. package/template/src/renderer/src/lib/mathHelpers/vectors.ts +18 -0
  75. package/template/src/renderer/src/lib/rendering/bumpMaps/noise.ts +84 -0
  76. package/template/src/renderer/src/lib/rendering/helpers.ts +35 -0
  77. package/template/src/renderer/src/lib/rendering/lighting3d.ts +387 -0
  78. package/template/src/renderer/src/lib/rendering/materials.ts +6 -0
  79. package/template/src/renderer/src/lib/rendering/objects/import.ts +148 -0
  80. package/template/src/renderer/src/lib/rendering/objects2d.ts +489 -0
  81. package/template/src/renderer/src/lib/rendering/objects3d.ts +89 -0
  82. package/template/src/renderer/src/lib/rendering/protocols.ts +21 -0
  83. package/template/src/renderer/src/lib/rendering/setup.ts +71 -0
  84. package/template/src/renderer/src/lib/rendering/svg/drawing.ts +213 -0
  85. package/template/src/renderer/src/lib/rendering/svg/parsing.ts +717 -0
  86. package/template/src/renderer/src/lib/rendering/svg/rastered.ts +42 -0
  87. package/template/src/renderer/src/lib/rendering/svgObjects.ts +1137 -0
  88. package/template/src/renderer/src/lib/scene/helpers.ts +89 -0
  89. package/template/src/renderer/src/lib/scene/sceneClass.ts +648 -0
  90. package/template/src/renderer/src/lib/shaders/background_gradient/frag.glsl +12 -0
  91. package/template/src/renderer/src/lib/shaders/background_gradient/vert.glsl +6 -0
  92. package/template/src/renderer/src/lib/shaders/hdri_blur/frag.glsl +45 -0
  93. package/template/src/renderer/src/lib/shaders/hdri_blur/vert.glsl +5 -0
  94. package/template/src/renderer/src/main.ts +9 -0
  95. package/template/svelte.config.mjs +7 -0
  96. package/template/tsconfig.json +4 -0
  97. package/template/tsconfig.node.json +10 -0
  98. package/template/tsconfig.web.json +32 -0
@@ -0,0 +1,89 @@
1
+ import * as THREE from 'three'
2
+
3
+ export const placeNextTo = (
4
+ objectToPlace: THREE.Object3D,
5
+ target: THREE.Object3D,
6
+ axis: string = 'X',
7
+ padding: number = 0 // New padding parameter
8
+ ) => {
9
+ const targetBox = new THREE.Box3().setFromObject(target)
10
+ const objectBox = new THREE.Box3().setFromObject(objectToPlace)
11
+
12
+ const direction = axis.startsWith('-') ? -1 : 1
13
+ const axisIndex = axis.toUpperCase().replace('-', '')[0]
14
+ let axisNum
15
+
16
+ switch (axisIndex) {
17
+ case 'X':
18
+ axisNum = 0
19
+ break
20
+ case 'Y':
21
+ axisNum = 1
22
+ break
23
+ case 'Z':
24
+ axisNum = 2
25
+ break
26
+ default:
27
+ throw new Error('Invalid axis. Use X, Y, Z or -X, -Y, -Z')
28
+ }
29
+
30
+ const targetEdge = direction === 1 ? targetBox.max : targetBox.min
31
+ const objectEdge = direction === 1 ? objectBox.min : objectBox.max
32
+
33
+ const delta = new THREE.Vector3()
34
+ // Add padding calculation here
35
+ const componentDelta =
36
+ targetEdge.getComponent(axisNum) - objectEdge.getComponent(axisNum) + direction * padding // Modified line for padding
37
+
38
+ delta.setComponent(axisNum, componentDelta)
39
+
40
+ const worldPosition = new THREE.Vector3()
41
+ objectToPlace.getWorldPosition(worldPosition)
42
+ worldPosition.add(delta)
43
+
44
+ if (objectToPlace.parent) {
45
+ objectToPlace.parent.worldToLocal(worldPosition)
46
+ }
47
+
48
+ objectToPlace.position.copy(worldPosition)
49
+ objectToPlace.updateMatrixWorld()
50
+ }
51
+
52
+ export const getPositionNextTo = (
53
+ target: THREE.Object3D,
54
+ objectToPlace: THREE.Object3D,
55
+ axis: string = 'X',
56
+ padding: number = 0
57
+ ): THREE.Vector3 => {
58
+ const targetBox = new THREE.Box3().setFromObject(target)
59
+ const objectBox = new THREE.Box3().setFromObject(objectToPlace)
60
+ const direction = axis.startsWith('-') ? -1 : 1
61
+ const axisIndex = axis.toUpperCase().replace('-', '')[0]
62
+ let axisNum
63
+ switch (axisIndex) {
64
+ case 'X':
65
+ axisNum = 0
66
+ break
67
+ case 'Y':
68
+ axisNum = 1
69
+ break
70
+ case 'Z':
71
+ axisNum = 2
72
+ break
73
+ default:
74
+ throw new Error('Invalid axis. Use X, Y, Z or -X, -Y, -Z')
75
+ }
76
+ const targetEdge = direction === 1 ? targetBox.max : targetBox.min
77
+ const objectEdge = direction === 1 ? objectBox.min : objectBox.max
78
+ const delta = new THREE.Vector3()
79
+ const componentDelta =
80
+ targetEdge.getComponent(axisNum) - objectEdge.getComponent(axisNum) + direction * padding
81
+ delta.setComponent(axisNum, componentDelta)
82
+ const worldPosition = new THREE.Vector3()
83
+ objectToPlace.getWorldPosition(worldPosition)
84
+ worldPosition.add(delta)
85
+ if (objectToPlace.parent) {
86
+ objectToPlace.parent.worldToLocal(worldPosition)
87
+ }
88
+ return worldPosition
89
+ }