doc: quickstart revamp

refactor: ttl start on connection
This commit is contained in:
Swann 2020-06-17 19:21:57 +02:00
parent 9e6b1a141d
commit 2bdbfb082b
No known key found for this signature in database
GPG Key ID: 5E0D936BD280E963
8 changed files with 134 additions and 60 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 10 KiB

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

View File

@ -1,70 +1,121 @@
===========
Quick start guide
Quick start
===========
*All settings are located under: `View3D -> Sidebar -> Multiuser panel`*
.. hint::
*All settings are located under: `View3D -> Sidebar -> Multiuser panel`*
Session setup
=============
This section describe how to create or join a collaborative session.
The multi-user is based on a session management system. Under the
In this this guide you will learn how to master the collaborative session system in three part:
---------------------
1. User information's
---------------------
- :ref:`how-to-host`
- :ref:`how-to-join`
- :ref:`how-to-manage`
.. image:: img/quickstart_user_infos.png
- **name**: username.
- **color**: color used to represent the user into other user workspace.
.. _how-to-host:
----------
2. Network
----------
How to host a session
=====================
.. note:: If you host a session over internet, special network configuration is needed.
TODO: Speak about local/DEDICATED HERE
.. _user-info:
-----------------------------
1. Fill your user information
-----------------------------
In the **User Info** panel (See image below) allow you to constomize your online identity.
.. figure:: img/quickstart_user_info.png
:align: center
User info panel
Let's fill those tow field:
- **name**: your online name.
- **color**: a color used to represent you into other user workspace(see image below).
During online sessions, other users will see your selected object and camera hilghlited in your profile color.
.. _user-representation:
.. figure:: img/quickstart_user_representation.png
:align: center
User viewport representation
--------------------
2. Setup the network
--------------------
When the hosting process will start, the multi-user addon will lauch a local server instance.
The **Host panel**(see image below) allow you to configure this server according to:
* **Port**: Port on wich the server is listening
* **Start from**: The session initialisation method
* **current scenes**: start with the current blendfile datas
* **an empty scene**: clear a data and start over
.. danger::
By starting from an empty, all of the blend data will be removed !
Ensure to save your existing work before launching the session.
* **Admin password**: The session administration password
.. figure:: img/quickstart_host.png
:align: center
:alt: host menu
Host network panel
.. note:: Additionnal configuration setting can be found in the :ref:`advanced` section.
Once everything is setup you can hit the **HOST** button to launch the session !
It will start the server and connect to it in few steps.
.. _how-to-join:
How to join a session
=====================
This section describe how join a session.
-----------------------------
1. Fill your user information
-----------------------------
Follow the user-info_ section for this step.
----------------
2. Network setup
----------------
Connection are done from this panel.
.. image:: img/quickstart_join.png
:align: center
IP: server ip
Port: server port
Hosting and connection are done from this panel.
+-----------------------------------+-------------------------------------+
| Host | Join |
+===================================+=====================================+
|.. image:: img/quickstart_host.png | .. image:: img/quickstart_join.png |
+-----------------------------------+-------------------------------------+
| | Start empty: Cleanup the file | | IP: server ip |
| | before hosting | | Port: server port |
+-----------------------------------+-------------------------------------+
| **HOST**: Host a session | **CONNECT**: Join a session |
+-----------------------------------+-------------------------------------+
**Port configuration:**
For now, a session use 4 ports to run.
---------------------
2.1 Advanced settings
---------------------
This section contains optionnal settings to configure the session behavior.
.. image:: img/quickstart_advanced.png
.. _how-to-manage:
**Synchronise render settings** (only host) enable replication of EEVEE and CYCLES render settings to match render between clients.
**Right strategy** (only host) enable you to choose between a strict and a relaxed pattern:
- **Strict**: Host is the king, by default the host own each properties, only him can grant modification rights.
- **Common**: Each properties are under common rights by default, on selection, a property is only modifiable by the owner.
On each strategy, when a user is the owner he can choose to pass his rights to someone else.
**Properties frequency gird** allow to set a custom replication frequency for each type of data-block:
- **Refresh**: pushed data update rate (in second)
- **Apply**: pulled data update rate (in second)
.. note:: Per-data type settings will soon be revamped for simplification purposes
Session Management
==================
How to manage a session
=======================
This section describe tools available during a collaborative session.
@ -73,6 +124,7 @@ Connected users
---------------
.. image:: img/quickstart_users.png
:align: center
This panel displays all connected users information's, including yours.
By selecting a user in the list you'll have access to different **actions**:
@ -116,7 +168,22 @@ Since the replication architecture is based on commit/push/pull mechanisms, a re
| .. image:: img/quickstart_remove.png | **Delete** | Remove the data-block from network replication |
+---------------------------------------+-------------------+------------------------------------------------------------------------------------+
.. _advanced:
Advanced configuration
======================
This section contains optionnal settings to configure the session behavior.
.. image:: img/quickstart_advanced.png
**Synchronise render settings** (only host) enable replication of EEVEE and CYCLES render settings to match render between clients.
**Properties frequency gird** allow to set a custom replication frequency for each type of data-block:
- **Refresh**: pushed data update rate (in second)
- **Apply**: pulled data update rate (in second)
.. note:: Per-data type settings will soon be revamped for simplification purposes

@ -1 +1 @@
Subproject commit d65c6a6a2af2e53add5c31f7eef1aaaaa9060813
Subproject commit 73ce2de0d4c7db95a3bb8971e484d9806cdb1548

View File

@ -93,10 +93,13 @@ class SessionPrefs(bpy.types.AddonPreferences):
description='internal ttl port(only usefull for multiple local instances)',
default=5561
)
start_empty: bpy.props.BoolProperty(
name="start_empty",
default=False
)
init_method: bpy.props.EnumProperty(
name='init_method',
description='Init repo',
items={
('EMPTY', 'an empty scene', 'start empty'),
('BLEND', 'current scenes', 'use current scenes')},
default='BLEND')
cache_directory: bpy.props.StringProperty(
name="cache directory",
subtype="DIR_PATH",
@ -229,8 +232,8 @@ class SessionPrefs(bpy.types.AddonPreferences):
row.label(text="Port:")
row.prop(self, "port", text="Address")
row = box.row()
row.label(text="Start with an empty scene:")
row.prop(self, "start_empty", text="")
row.label(text="Init the session from:")
row.prop(self, "init_method", text="")
table = box.box()
table.row().prop(
@ -258,8 +261,8 @@ class SessionPrefs(bpy.types.AddonPreferences):
else 'DISCLOSURE_TRI_RIGHT', emboss=False)
if self.conf_session_hosting_expanded:
row = box.row()
row.label(text="Start with an empty scene:")
row.prop(self, "start_empty", text="")
row.label(text="Init the session from:")
row.prop(self, "init_method", text="")
# CACHE SETTINGS
box = grid.box()

View File

@ -197,6 +197,9 @@ class SESSION_PT_settings_network(bpy.types.Panel):
row.label(text="Port:")
row.prop(settings, "port", text="")
row = box.row()
row.label(text="Start from:")
row.prop(settings, "init_method", text="")
row = box.row()
row.label(text="Admin password:")
row.prop(runtime_settings, "password", text="")
row = box.row()
@ -207,6 +210,7 @@ class SESSION_PT_settings_network(bpy.types.Panel):
row = box.row()
row.label(text="Port:")
row.prop(settings, "port", text="")
row = box.row()
row.prop(runtime_settings, "admin", text='Connect as admin', icon='DISCLOSURE_TRI_DOWN' if runtime_settings.admin
else 'DISCLOSURE_TRI_RIGHT')