diff --git a/docs/advanced/primitive.md b/docs/advanced/primitive.md
index 79e1d1401..29c2f1002 100644
--- a/docs/advanced/primitive.md
+++ b/docs/advanced/primitive.md
@@ -1,6 +1,6 @@
# Primitives
-The `` component is a versatile low-level component in TresJS that allows you to directly use any three.js object within your Vue application without an abstraction. It acts as a bridge between Vue's reactivity system and three.js's scene graph.
+The `` component is a versatile low-level component in TresJS that allows you to directly use any [three.js](https://threejs.org/) object within your Vue application without an abstraction. It acts as a bridge between Vue's reactivity system and THREE's scene graph.
## Usage
@@ -18,15 +18,39 @@ The `` component is a versatile low-level component in TresJS that
-
-
-
+
```
## Props
-`object`: This prop expects a three.js Object3D or any of its derived classes. It is the primary object that the `` component will render. In the updated example, a `Mesh` object with an associated `Material` is passed to this prop.
+- `object`: This prop expects either a plain or a reactive three.js [Object3D](https://threejs.org/docs/index.html?q=Object#api/en/core/Object3D) (preferably a [shallowRef](https://vuejs.org/api/reactivity-advanced.html#shallowref)) or any of its derived classes. It is the primary object that the `` component will render. In the updated example, a `Mesh` object with an associated `Material` is passed to this prop.
+
+## Events
+
+The same pointer events available on the TresJS components are available on the `` component. You can use these events to interact with the object in the scene. See the complete list of events [here](/api/events).
+
+```html
+
+
+
+```
+
+## Passing childrens via slots
+
+You can also pass children to the `` component using slots. This is useful when you want to add additional objects to the scene that are not part of the main object.
+
+```html
+
+
+
+
+
+```
## Usage with Models
diff --git a/playground/src/pages/advanced/disposal/index.vue b/playground/src/pages/advanced/disposal/index.vue
new file mode 100644
index 000000000..153c13c3d
--- /dev/null
+++ b/playground/src/pages/advanced/disposal/index.vue
@@ -0,0 +1,57 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Issue #717: v-if
+
Setup
+
+ In this scene, there is a Box with a v-if. Its v-if value is toggled on and off.
+ When visible, the box's 8 corners should appear at the centers of the red boxes.
+
+
Tests
+
+
Issue
+
+ Toggle v-if on a Tres component declared in a separate SFC makes it detach from its parent
+
+
diff --git a/playground/src/pages/issues/701-cientos-v4/TheExperience.vue b/playground/src/pages/issues/701-cientos-v4/TheExperience.vue
new file mode 100644
index 000000000..d2a948c0f
--- /dev/null
+++ b/playground/src/pages/issues/701-cientos-v4/TheExperience.vue
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/playground/src/pages/issues/701-cientos-v4/index.vue b/playground/src/pages/issues/701-cientos-v4/index.vue
new file mode 100644
index 000000000..41ed1c7ef
--- /dev/null
+++ b/playground/src/pages/issues/701-cientos-v4/index.vue
@@ -0,0 +1,35 @@
+
+
+
+
+
+
+
+
+
+
<primitive> in Cientos v4
+
Setup
+
This scene contains a TorusKnot and Cientos' Sparkles component.
+
Context
+
Sparkles uses a primitive under the hood. Changes to Tres v4's primitives caused the component to stop working.
This scene contains multiple primitives whose :object props are swapped periodically.
+
Warning
+
The examples in this file are largely not officially supported. Officially, Tres assumes that primitives have no Vue children. But this files contains nested Vue children, including nested primitives.