threepipe
Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234
  1. import {defineConfig} from 'vitepress'
  2. // https://vitepress.dev/reference/site-config
  3. export default defineConfig({
  4. title: "ThreePipe",
  5. description: "Effortlessly create 3D web experiences, from quick demos to advanced applications, with Three.js",
  6. themeConfig: {
  7. logo: '/logo.svg',
  8. outline: 'deep',
  9. // https://vitepress.dev/reference/default-theme-config
  10. nav: [
  11. { text: 'Home', link: '/' },
  12. { text: 'Examples', link: 'https://threepipe.org/examples' },
  13. { text: '3D Editor', link: 'https://editor.threepipe.org' },
  14. { text: 'API Reference', link: 'https://threepipe.org/docs' }
  15. ],
  16. sidebar: [
  17. {
  18. text: 'Introduction', collapsed: false,
  19. items: [
  20. {text: 'What is Threepipe?', link: 'guide/introduction'},
  21. {text: 'Getting Started', link: 'guide/getting-started'},
  22. {text: 'Threepipe Editors', link: 'guide/editors'},
  23. {text: 'Features', link: 'guide/features'},
  24. {text: 'Viewer API', link: 'guide/viewer-api'},
  25. {text: 'Core Plugins', link: 'guide/core-plugins'},
  26. {text: '@threepipe Packages', link: 'guide/threepipe-packages'},
  27. ]
  28. },
  29. {
  30. text: 'Guides', collapsed: false,
  31. items: [
  32. {text: 'Loading Files', link: 'guide/loading-files'},
  33. {text: 'Exporting Files', link: 'guide/exporting-files'},
  34. {text: 'Render Pipeline', link: 'guide/render-pipeline'},
  35. {text: 'Material Extension', link: 'guide/material-extension'},
  36. {text: 'UI Configuration', link: 'guide/ui-config'},
  37. {text: 'Serialization', link: 'guide/serialization'},
  38. {text: 'Plugin System', link: 'guide/plugin-system'},
  39. {text: 'Screen Pass Shaders', link: 'guide/screen-pass'},
  40. ]
  41. },
  42. {
  43. text: 'Articles', collapsed: false,
  44. items: [
  45. {text: 'Mesh Lines (Spiral)', link: 'notes/fat-lines'},
  46. {text: 'glTF Mesh Lines', link: 'notes/gltf-mesh-lines'},
  47. {text: 'Setting Background', link: 'notes/scene-background'},
  48. {text: 'ShaderToy Shader Tutorial', link: 'notes/shadertoy-player'},
  49. {text: 'Using Vanilla Three.js code', link: 'notes/vanilla-threejs'},
  50. {text: 'Three.js properties in glTF', link: 'notes/gltf-three-extras-ext'},
  51. ]
  52. },
  53. {
  54. text: 'Core Plugins', collapsed: false,
  55. items: [
  56. {
  57. text: 'Import', collapsed: true,
  58. items: [
  59. {text: 'Rhino3dmLoadPlugin', link: 'plugin/Rhino3dmLoadPlugin'},
  60. {text: 'PLYLoadPlugin', link: 'plugin/PLYLoadPlugin'},
  61. {text: 'STLLoadPlugin', link: 'plugin/STLLoadPlugin'},
  62. {text: 'KTX2LoadPlugin', link: 'plugin/KTX2LoadPlugin'},
  63. {text: 'KTXLoadPlugin', link: 'plugin/KTXLoadPlugin'},
  64. {text: 'USDZLoadPlugin', link: 'plugin/USDZLoadPlugin'},
  65. {text: 'GLTFMeshOptDecodePlugin', link: 'plugin/GLTFMeshOptDecodePlugin'},
  66. ],
  67. },
  68. {
  69. text: 'Post-processing', collapsed: true,
  70. items: [
  71. {text: 'TonemapPlugin', link: 'plugin/TonemapPlugin'},
  72. {text: 'VignettePlugin', link: 'plugin/VignettePlugin'},
  73. {text: 'ChromaticAberrationPlugin', link: 'plugin/ChromaticAberrationPlugin'},
  74. {text: 'FilmicGrainPlugin', link: 'plugin/FilmicGrainPlugin'},
  75. ],
  76. },
  77. {
  78. text: 'Rendering Pipeline', collapsed: true,
  79. items: [
  80. {text: 'ProgressivePlugin', link: 'plugin/ProgressivePlugin'},
  81. {text: 'SSAAPlugin', link: 'plugin/SSAAPlugin'},
  82. {text: 'DepthBufferPlugin', link: 'plugin/DepthBufferPlugin'},
  83. {text: 'NormalBufferPlugin', link: 'plugin/NormalBufferPlugin'},
  84. {text: 'GBufferPlugin', link: 'plugin/GBufferPlugin'},
  85. {text: 'SSAOPlugin', link: 'plugin/SSAOPlugin'},
  86. {text: 'FrameFadePlugin', link: 'plugin/FrameFadePlugin'},
  87. ],
  88. },
  89. {
  90. text: 'Interaction', collapsed: true,
  91. items: [
  92. {text: 'DropzonePlugin', link: 'plugin/DropzonePlugin'},
  93. {text: 'PickingPlugin', link: 'plugin/PickingPlugin'},
  94. {text: 'LoadingScreenPlugin', link: 'plugin/LoadingScreenPlugin'},
  95. {text: 'FullScreenPlugin', link: 'plugin/FullScreenPlugin'},
  96. {text: 'InteractionPromptPlugin', link: 'plugin/InteractionPromptPlugin'},
  97. {text: 'TransformControlsPlugin', link: 'plugin/TransformControlsPlugin'},
  98. {text: 'EditorViewWidgetPlugin', link: 'plugin/EditorViewWidgetPlugin'},
  99. {text: 'DeviceOrientationControlsPlugin', link: 'plugin/DeviceOrientationControlsPlugin'},
  100. {text: 'PointerLockControlsPlugin', link: 'plugin/PointerLockControlsPlugin'},
  101. {text: 'ThreeFirstPersonControlsPlugin', link: 'plugin/ThreeFirstPersonControlsPlugin'},
  102. ],
  103. },
  104. {
  105. text: 'Animation', collapsed: true,
  106. items: [
  107. {text: 'GLTFAnimationPlugin', link: 'plugin/GLTFAnimationPlugin'},
  108. {text: 'PopmotionPlugin', link: 'plugin/PopmotionPlugin'},
  109. {text: 'CameraViewPlugin', link: 'plugin/CameraViewPlugin'},
  110. {text: 'TransformAnimationPlugin', link: 'plugin/TransformAnimationPlugin'},
  111. ],
  112. },
  113. {
  114. text: 'Material', collapsed: true,
  115. items: [
  116. {text: 'NoiseBumpMaterialPlugin', link: 'plugin/NoiseBumpMaterialPlugin'},
  117. {text: 'CustomBumpMapPlugin', link: 'plugin/CustomBumpMapPlugin'},
  118. {text: 'ClearcoatTintPlugin', link: 'plugin/ClearcoatTintPlugin'},
  119. {text: 'FragmentClippingExtensionPlugin', link: 'plugin/FragmentClippingExtensionPlugin'},
  120. {text: 'ParallaxMappingPlugin', link: 'plugin/ParallaxMappingPlugin'},
  121. ],
  122. },
  123. {
  124. text: 'Export', collapsed: true,
  125. items: [
  126. {text: 'CanvasSnapshotPlugin', link: 'plugin/CanvasSnapshotPlugin'},
  127. {text: 'AssetExporterPlugin', link: 'plugin/AssetExporterPlugin'},
  128. {text: 'FileTransferPlugin', link: 'plugin/FileTransferPlugin'},
  129. ],
  130. },
  131. {
  132. text: 'Extras', collapsed: true,
  133. items: [
  134. {text: 'ContactShadowGroundPlugin', link: 'plugin/ContactShadowGroundPlugin'},
  135. {text: 'HDRiGroundPlugin', link: 'plugin/HDRiGroundPlugin'},
  136. {text: 'VirtualCamerasPlugin', link: 'plugin/VirtualCamerasPlugin'},
  137. {text: 'Object3DWidgetsPlugin', link: 'plugin/Object3DWidgetsPlugin'},
  138. {text: 'Object3DGeneratorPlugin', link: 'plugin/Object3DGeneratorPlugin'},
  139. {text: 'GLTFKHRMaterialVariantsPlugin', link: 'plugin/GLTFKHRMaterialVariantsPlugin'},
  140. {text: 'SimplifyModifierPlugin', link: 'plugin/SimplifyModifierPlugin'},
  141. {text: 'MeshOptSimplifyModifierPlugin', link: 'plugin/MeshOptSimplifyModifierPlugin'},
  142. ],
  143. },
  144. {
  145. text: 'Configurator', collapsed: true,
  146. items: [
  147. {text: 'MaterialConfiguratorBasePlugin', link: 'plugin/MaterialConfiguratorBasePlugin'},
  148. {text: 'SwitchNodeBasePlugin', link: 'plugin/SwitchNodeBasePlugin'},
  149. ],
  150. },
  151. {
  152. text: 'UI', collapsed: true,
  153. items: [
  154. {text: 'RenderTargetPreviewPlugin', link: 'plugin/RenderTargetPreviewPlugin'},
  155. {text: 'GeometryUVPreviewPlugin', link: 'plugin/GeometryUVPreviewPlugin'},
  156. // {text: 'SceneUiConfigPlugin', link: 'plugin/SceneUiConfigPlugin'},
  157. // {text: 'ViewerUiConfigPlugin', link: 'plugin/ViewerUiConfigPlugin'},
  158. ],
  159. },
  160. {
  161. text: 'Base', collapsed: true,
  162. items: [
  163. {text: 'AAssetManagerProcessStatePlugin', link: 'plugin/AAssetManagerProcessStatePlugin'},
  164. {text: 'ACameraControlsPlugin', link: 'plugin/ACameraControlsPlugin'},
  165. {text: 'BaseGroundPlugin', link: 'plugin/BaseGroundPlugin'},
  166. {text: 'BaseImporterPlugin', link: 'plugin/BaseImporterPlugin'},
  167. {text: 'PipelinePassPlugin', link: 'plugin/PipelinePassPlugin'},
  168. {text: 'AScreenPassExtensionPlugin', link: 'plugin/AScreenPassExtensionPlugin'},
  169. ],
  170. },
  171. ]
  172. },
  173. {
  174. text: 'Packages', collapsed: false,
  175. items: [
  176. {text: 'WebGi Rendering Plugins', link: 'https://webgi.dev/'},
  177. {text: 'Tweakpane Plugin', link: 'package/plugin-tweakpane'},
  178. {text: 'Blueprint.js Plugin', link: 'package/plugin-blueprintjs'},
  179. {text: 'Tweakpane Editor Plugin', link: 'package/plugin-tweakpane-editor'},
  180. {text: 'Configurator Plugins', link: 'package/plugin-configurator'},
  181. {text: 'Geometry Generator Plugin', link: 'package/plugin-geometry-generator'},
  182. {text: 'glTF Transform Plugin', link: 'package/plugin-gltf-transform'},
  183. {text: 'Extra Importers Plugins', link: 'package/plugins-extra-importers'},
  184. {text: 'Network Plugin', link: 'package/plugin-network'},
  185. {text: 'Blend Importer Plugin', link: 'package/plugin-blend-importer'},
  186. {text: 'Gaussian Splatting Plugin', link: 'package/plugin-gaussian-splatting'},
  187. {text: 'svg-renderer Plugin', link: 'package/plugin-svg-renderer'},
  188. {text: '3D Tiles (OGC) Renderer Plugin', link: 'package/plugin-3d-tiles-renderer'},
  189. {text: 'Assimpjs Plugin', link: 'package/plugin-assimpjs'},
  190. {text: 'Path Tracing', link: 'package/plugin-path-tracing'},
  191. ]
  192. },
  193. ],
  194. socialLinks: [
  195. { icon: 'github', link: 'https://github.com/repalash/threepipe' },
  196. { icon: 'twitter', link: 'https://twitter.com/repalash' }
  197. ],
  198. footer: {
  199. message: 'ThreePipe - Make 3D applications on the web',
  200. copyright: 'Copyright © 2023-present, <a href="https://repalash.com/">repalash</a>. All rights reserved.',
  201. },
  202. // https://vitepress.dev/reference/default-theme-search#minisearch-options
  203. search: {
  204. provider: 'local',
  205. options: {
  206. miniSearch: {
  207. /**
  208. * @type {Pick<import('minisearch').Options, 'extractField' | 'tokenize' | 'processTerm'>}
  209. */
  210. options: {
  211. /* ... */
  212. },
  213. /**
  214. * @type {import('minisearch').SearchOptions}
  215. * @default
  216. * { fuzzy: 0.2, prefix: true, boost: { title: 4, text: 2, titles: 1 } }
  217. */
  218. searchOptions: {
  219. /* ... */
  220. }
  221. }
  222. }
  223. },
  224. }
  225. })