diff --git a/docs/.vitepress/config.ts b/docs/.vitepress/config.ts index f332b3292..af6d9b50e 100644 --- a/docs/.vitepress/config.ts +++ b/docs/.vitepress/config.ts @@ -75,16 +75,16 @@ export default defineConfig({ { text: 'useFBO', link: '/guide/abstractions/use-fbo' }, { text: 'useSurfaceSampler', link: '/guide/abstractions/use-surface-sampler' }, { text: 'Sampler', link: '/guide/abstractions/sampler' }, - /* { text: 'Edges', link: '/guide/abstractions/edges' }, */ + { text: 'Edges', link: '/guide/abstractions/edges' }, { text: 'PositionalAudio', link: '/guide/abstractions/positional-audio' }, { text: 'AnimatedSprite', link: '/guide/abstractions/animated-sprite' }, - /* { text: 'Mask', link: '/guide/abstractions/mask' }, + { text: 'Mask', link: '/guide/abstractions/mask' }, { text: 'CubeCamera', link: '/guide/abstractions/cube-camera' }, { text: 'ScreenSizer', link: '/guide/abstractions/screen-sizer' }, { text: 'ScreenSpace', link: '/guide/abstractions/screen-space' }, { text: 'Outline', link: '/guide/abstractions/outline' }, { text: 'Image', link: '/guide/abstractions/image' }, - { text: 'Billboard', link: '/guide/abstractions/billboard' }, */ + { text: 'Billboard', link: '/guide/abstractions/billboard' }, ], }, { @@ -97,6 +97,7 @@ export default defineConfig({ { text: 'KeyboardControls', link: '/guide/controls/keyboard-controls' }, { text: 'ScrollControls', link: '/guide/controls/scroll-controls' }, { text: 'MapControls', link: '/guide/controls/map-controls' }, + { text: 'Helper', link: '/guide/controls/helper' }, ], }, { @@ -119,7 +120,7 @@ export default defineConfig({ { text: 'MeshGlassMaterial', link: '/guide/materials/glass-material' }, { text: 'CustomShaderMaterial', link: '/guide/materials/custom-shader-material' }, { text: 'MeshReflectionMaterial', link: '/guide/materials/mesh-reflection-material' }, - /* { text: 'MeshDiscardMaterial', link: '/guide/materials/mesh-discard-material' }, */ + { text: 'MeshDiscardMaterial', link: '/guide/materials/mesh-discard-material' }, ], }, { @@ -159,9 +160,9 @@ export default defineConfig({ { text: 'Precipitation', link: '/guide/staging/precipitation' }, { text: 'Sparkles', link: '/guide/staging/sparkles' }, { text: 'Ocean', link: '/guide/staging/ocean' }, - /* { text: 'Align', link: '/guide/staging/align' }, + { text: 'Align', link: '/guide/staging/align' }, { text: 'SoftShadows', link: '/guide/staging/soft-shadows' }, - { text: 'Grid', link: '/guide/staging/grid' }, */ + { text: 'Grid', link: '/guide/staging/grid' }, ], }, { diff --git a/docs/.vitepress/theme/components/HelperDemo.vue b/docs/.vitepress/theme/components/HelperDemo.vue new file mode 100644 index 000000000..c6b81b9bb --- /dev/null +++ b/docs/.vitepress/theme/components/HelperDemo.vue @@ -0,0 +1,33 @@ + + + diff --git a/docs/component-list/components.ts b/docs/component-list/components.ts index bc0f235f7..02f72ca98 100644 --- a/docs/component-list/components.ts +++ b/docs/component-list/components.ts @@ -17,13 +17,13 @@ export default [ }, { text: 'Sampler', link: '/guide/abstractions/sampler' }, { text: 'PositionalAudio', link: '/guide/abstractions/positional-audio' }, - /* { text: 'Mask', link: '/guide/abstractions/mask' }, + { text: 'Mask', link: '/guide/abstractions/mask' }, { text: 'CubeCamera', link: '/guide/abstractions/cube-camera' }, { text: 'GradientTexture', link: '/guide/abstractions/gradient-texture' }, { text: 'ScreenSpace', link: '/guide/abstractions/screen-space' }, { text: 'Outline', link: '/guide/abstractions/outline' }, { text: 'Image', link: '/guide/abstractions/image' }, - { text: 'Billboard', link: '/guide/abstractions/billboard' }, */ + { text: 'Billboard', link: '/guide/abstractions/billboard' }, ], }, { @@ -39,6 +39,7 @@ export default [ { text: 'KeyboardControls', link: '/guide/controls/keyboard-controls' }, { text: 'ScrollControls', link: '/guide/controls/scroll-controls' }, { text: 'MapControls', link: '/guide/controls/map-controls' }, + { text: 'Helper', link: '/guide/controls/helper' }, ], }, { @@ -66,10 +67,10 @@ export default [ text: 'HolographicMaterial', link: '/guide/materials/holographic-material', }, - /* { + { text: 'MeshDiscardMaterial', link: '/guide/materials/mesh-discard-material', - }, */ + }, ], }, { @@ -109,9 +110,9 @@ export default [ { text: 'Sparkles', link: '/guide/staging/sparkles' }, { text: 'Ocean', link: '/guide/staging/ocean' }, { text: 'Fit', link: '/guide/staging/fit' }, - /* { text: 'Align', link: '/guide/staging/align' }, + { text: 'Align', link: '/guide/staging/align' }, { text: 'SoftShadows', link: '/guide/staging/soft-shadows' }, - { text: 'Grid', link: '/guide/staging/grid' }, */ + { text: 'Grid', link: '/guide/staging/grid' }, ], }, { diff --git a/docs/guide/controls/helper.md b/docs/guide/controls/helper.md new file mode 100644 index 000000000..e641df8f6 --- /dev/null +++ b/docs/guide/controls/helper.md @@ -0,0 +1,18 @@ +# Helper + +`` handles instantiation, updates, and removal/disposal of THREE Helpers. + + + + + +## Usage + +<<< @/.vitepress/theme/components/HelperDemo.vue + +## Props + +| Prop | Description | Default | +| :------------------ | :-------------------------------------------------------------------------------------------- | ----------- | +| **type** | Helper constructor - required | | +| **args** | Helper constructor args | `[]` | diff --git a/playground/vue/src/pages/controls/HelperDemo.vue b/playground/vue/src/pages/controls/HelperDemo.vue new file mode 100644 index 000000000..a57ceea15 --- /dev/null +++ b/playground/vue/src/pages/controls/HelperDemo.vue @@ -0,0 +1,38 @@ + + + diff --git a/playground/vue/src/pages/shapes/Line2Demo.vue b/playground/vue/src/pages/shapes/Line2Demo.vue index 53799a133..2d03c4e2a 100644 --- a/playground/vue/src/pages/shapes/Line2Demo.vue +++ b/playground/vue/src/pages/shapes/Line2Demo.vue @@ -1,10 +1,70 @@