Compare commits

..

99 Commits

Author SHA1 Message Date
Swann Martinez 102eb3ded0 fix: missing image 2022-02-07 13:36:44 +01:00
Swann Martinez bea6373f03 fix: images lication 2022-02-07 13:31:49 +01:00
Swann Martinez 8c3845349a clean: remove the old glossary 2022-02-07 13:19:58 +01:00
Swann Martinez 9256d78d3c feat: disable workflow 2022-02-07 13:08:33 +01:00
Swann Martinez bb952a507f feat: add contributor raw list
we may need more info from each contributor
2022-02-07 11:34:57 +01:00
Fabian 3e7e3a9b19 feat: user interface 2021-11-23 17:28:52 +01:00
Fabian e27a16975c fix: hosting on internet links + keys features 2021-11-23 16:01:57 +01:00
Fabian 44f1dc1aa8 fix: general settings image link 2021-11-20 23:44:01 +01:00
Fabian c62ed63de3 feat: add discord link 2021-11-20 23:20:12 +01:00
Fabian bc47ef951a feat: getting started 2021-08-31 10:53:04 +02:00
Fabian de7417f0da feat: firstlaunch + join/host 2021-08-27 09:46:17 +02:00
Fabian 61cdfd7eca feat: begining of quick start host 2021-08-19 17:45:30 +02:00
Fabian 947e9044c6 feat: add css/manual index/install/update 2021-08-16 10:35:17 +02:00
Swann Martinez 583beaf6fe Merge branch '231-server-public-session-private-issue' into 'develop'
Server "public session" private issue

See merge request slumber/multi-user!151
2021-07-28 15:34:24 +00:00
Fabian 126d2338f2 fix: server psrwd issue 2021-07-28 17:33:07 +02:00
Swann 24b0c0ed8a fix: get active server preset 2021-07-27 17:03:44 +02:00
Swann 07fc1cf000 fix: enable tests back 2021-07-27 11:08:57 +02:00
Swann 8e0131b3a8 feat: temporary disable test before fixing blender addon_tester 2021-07-26 18:29:06 +02:00
Swann 912a2d524c feat: try disable operator tests 2021-07-26 18:19:24 +02:00
Swann 82a5124d64 fix: unit tests 2021-07-26 18:16:21 +02:00
Swann cca5bf903b fix: replication deployment 2021-07-26 18:05:36 +02:00
Swann Martinez 4c0d4cb1c7 Merge branch '218-new-ui-ux-implementation' into 'develop'
New UI/UX implementation

See merge request slumber/multi-user!140
2021-07-26 15:52:19 +00:00
Fabian ca64797641 Merge branch 'develop' into 218-new-ui-ux-implementation 2021-07-26 17:51:01 +02:00
Fabian a49d9ee437 feat: server ping timeout preferences 2021-07-26 17:42:13 +02:00
Fabian 4c1cd6b8f8 fix: review 2021-07-26 17:30:56 +02:00
Fabian d6cda709a6 fix: replication conflict 2021-07-26 15:46:29 +02:00
Swann 4bc0feb3a5 fix: ReferenceError in update_external dependency by removing orphan nodes. 2021-07-23 19:35:56 +02:00
Fabian 59aab7159a fix: remove logging.info 2021-07-23 17:10:10 +02:00
Fabian 0a798bb21b feat: clean files+add repository sync icons 2021-07-23 12:51:16 +02:00
Swann beaafce4fa Merge branch 'develop' into 218-new-ui-ux-implementation 2021-07-22 11:01:59 +02:00
Fabian 6f77337832 feat: request (with bug) 2021-07-22 10:55:18 +02:00
Fabian 07252d62df feat: fonctional UI, no server pswd/ping 2021-07-22 09:38:01 +02:00
Fabian ac615cd134 feat: first+server list UI, ping/pswd unfonctional 2021-07-21 11:12:17 +02:00
Swann a4f9f6e051 fix: replication dependencies conflicts 2021-07-20 16:19:53 +02:00
Swann 10de88cdc9 fix: old replication installation conflicts 2021-07-20 16:06:24 +02:00
Swann e4fa34c984 fix: addon version number 2021-07-20 15:37:11 +02:00
Swann 0dd685d009 doc: add missing presence flags 2021-07-20 15:11:38 +02:00
Swann 3e8c30c0ab fix: supported datablocks in readme 2021-07-20 14:59:30 +02:00
Swann 21cc3cd917 fix: update readme to reflect changes 2021-07-20 14:57:52 +02:00
Swann 81e620ee3d fix: documentations capture for 0.4.0 2021-07-20 14:50:33 +02:00
Swann fb9bd108bd feat: update changelog to reflect v0.4.0 version 2021-07-20 14:19:33 +02:00
Fabian 4846fbb589 fix: server list working (no ping/lock/pop-up) 2021-07-19 16:03:12 +02:00
Swann Martinez cab6625399 Merge branch '219-lock-annotation-doesn-t-sync' into 'develop'
Resolve "Lock annotation doesn't sync"

See merge request slumber/multi-user!143
2021-07-14 10:41:32 +00:00
Swann 1b81251a11 fix: annotation lock 2021-07-14 12:38:30 +02:00
Fabian cf44e547a2 fix: presence_text_distance rename 2021-07-13 17:15:34 +02:00
Fabian 0269363c63 fix: overlay UI 2021-07-13 17:14:32 +02:00
Fabian 4ffca17c54 fix: edit>prefs UI/UX 2021-07-13 16:40:26 +02:00
Swann Martinez 77bf269fb5 Merge branch '221-optimize-user-selection-draw-code' into 'develop'
Resolve "Optimize user selection draw code"

See merge request slumber/multi-user!142
2021-07-13 14:37:09 +00:00
Swann 1e675132d4 fix: collection instances index offset 2021-07-13 16:33:46 +02:00
Swann 781287c390 refactor: use one drawcall for all selection bbox 2021-07-13 15:45:08 +02:00
Fabian fc91b252f4 feat: edit>preferences + serverpassword ui 2021-07-12 18:01:35 +02:00
Fabian 41c7c569ca fix: link session status icons to session header 2021-07-12 14:55:41 +02:00
Fabian a82d263f05 feat: add "icons" folder + init 2021-07-12 14:53:18 +02:00
Swann Martinez d4476baa1b Merge branch '220-batch-right-selection-update' into 'develop'
Resolve "Batch right selection update"

See merge request slumber/multi-user!141
2021-07-12 10:20:23 +00:00
Swann 467e98906e feat: Batch right selection update
Related to https://gitlab.com/slumber/multi-user/-/issues/220
2021-07-12 12:06:45 +02:00
Swann 64a25f94a3 fix: gpencil material loading error
Now loading gpencil materials from uuid
2021-07-09 16:59:59 +02:00
Swann Martinez e6996316be Merge branch '215-annotations-doesn-t-sync-correctly' into 'develop'
Resolve "Annotations doesn't sync correctly"

See merge request slumber/multi-user!138
2021-07-07 08:18:49 +00:00
Swann cf4cd94096 refactor: remove gpencil dump stroke legacy
Related to #166 and #215
2021-07-07 10:15:23 +02:00
Swann e9ab633aac fix: annotations updates
Related to #215
2021-07-06 16:06:14 +02:00
Swann 297639e80f fix: crash on changing workspace change 2021-07-06 15:39:19 +02:00
Swann Martinez f0cc63b6f0 Merge branch '214-animated-object-transform-not-correctly-sync' into 'develop'
Resolve "Animated object transform not correctly sync"

See merge request slumber/multi-user!137
2021-07-06 12:32:39 +00:00
Swann d433e8f241 fix: transform offset for object animated with a curve constraint
Related to #214
2021-07-06 14:29:20 +02:00
Swann Martinez 963a551a1e Merge branch '206-draw-active-mode-in-the-object-presence-overlay-2' into 'develop'
Draw active mode in the object presence overlay

See merge request slumber/multi-user!131
2021-07-01 12:57:01 +00:00
Fabian d01a434fb7 fix: Review 2021-07-01 14:53:14 +02:00
Fabian 3a5a5fc633 fix : draw active mode UI side pannel 2021-07-01 11:58:52 +02:00
Swann Martinez 8926ab44e1 Merge branch '201-improved-image-support' into 'develop'
Resolve "Improved image support"

See merge request slumber/multi-user!136
2021-07-01 09:55:47 +00:00
Fabian a8f96581c5 fix: new mode display 2021-06-30 15:34:03 +02:00
Fabian 440a4cc1cd feat: add mode visibily 2021-06-29 17:10:59 +02:00
Swann a207c51973 fix: image renamin support
fix: sync Color Space Settings

related to #201
2021-06-29 15:59:26 +02:00
Swann Martinez e706c8e0bf Merge branch '209-adding-a-scene-create-node-duplicates' into 'develop'
Resolve "Adding a scene create node duplicates"

See merge request slumber/multi-user!135
2021-06-28 08:30:22 +00:00
Swann e590e896da fix: scene duplicates by using data instead of the update id
Related to #209
2021-06-28 10:27:04 +02:00
Swann Martinez 4140b62a8e Merge branch '119-add-timeline-marker-sync' into 'develop'
Resolve "Add timeline marker sync"

See merge request slumber/multi-user!133
2021-06-24 15:52:12 +00:00
Swann 6d9c9c4532 fix: timeline marker selection
feat: basic test
2021-06-24 17:45:34 +02:00
Swann Martinez e9e1911840 Merge branch '208-late-update-logging-error' into 'develop'
Resolve "Late update logging error"

See merge request slumber/multi-user!134
2021-06-24 15:28:56 +00:00
Swann ab350ca7bc fix: late update logging error
Related to #208
2021-06-24 17:24:08 +02:00
Fabian 0a8f0b5f88 feat: add mode overlay 2021-06-24 16:01:14 +02:00
Swann 2238a15c11 feat: initial markers support 2021-06-24 15:51:01 +02:00
Swann de73f022e6 merge 2021-06-24 14:52:07 +02:00
Swann f517205647 fix: doc authors 2021-06-24 14:51:00 +02:00
Swann f33c3d8481 fix: doc version 2021-06-24 14:50:12 +02:00
Swann Martinez 71c69000ec Merge branch '207-repository-panel-filtering-is-boken' into 'develop'
Resolve "Repository panel filtering is boken"

See merge request slumber/multi-user!132
2021-06-24 12:49:06 +00:00
Swann de1e684b3c fix: name filtering 2021-06-24 14:35:59 +02:00
Swann Martinez d87730cffb Merge branch '197-user-selection-bounding-box-glitches-for-non-mesh-objects' into 'develop'
User selection bounding box glitches for non-mesh objects

See merge request slumber/multi-user!129
2021-06-23 16:02:50 +00:00
Fabian 3f005b86ab fix : add enumerate / remove nb_object 2021-06-23 17:45:01 +02:00
Fabian 5098e5135d fix: bbox work for non-mesh objects+ins.collection 2021-06-23 17:00:05 +02:00
Swann Martinez 37cfed489c Merge branch '204-animation-doesn-t-sync-for-gpencil-materials' into 'develop'
Resolve "Animation doesn't sync for materials"

See merge request slumber/multi-user!128
2021-06-22 12:10:23 +00:00
Swann 9003abcd18 feat: notes for furtur improvements 2021-06-22 14:06:19 +02:00
Swann a199e0df00 feat: apply bl_apply_child member to force dependencies reloading
fix: node_tree animation dependencies
2021-06-22 11:36:51 +02:00
Swann 3774419b7e fix: force push is now pushing the whole node data instead of delta 2021-06-22 10:41:36 +02:00
Swann 3e552cb406 feat: gpencil materials animation support 2021-06-22 10:39:40 +02:00
Swann 9f381b44c8 fix: material animation support 2021-06-21 18:58:16 +02:00
Swann ad795caed5 fix: only apply repository heads on connection 2021-06-21 18:38:43 +02:00
Swann 504dd77405 fix: scene cleaning 2021-06-21 17:10:05 +02:00
Swann 82022c9e4d clean: only log ignored update in debug logging level 2021-06-18 15:45:51 +02:00
Swann d81b4dc014 feat: enable delta back for all datablocks execpt gpencil, files and images 2021-06-18 15:30:39 +02:00
Swann Martinez 63affa079f Merge branch '199-filter-correctly-distant-updates-in-the-depsgraph-handler' into 'develop'
Resolve "Filter correctly distant updates in the depsgraph handler"

See merge request slumber/multi-user!126
2021-06-18 13:12:15 +00:00
Swann fcf5a12dd0 fix: log verbosity level 2021-06-18 15:03:14 +02:00
Swann b0529e4444 refactor: move handlers to hendlers.py 2021-06-18 14:59:56 +02:00
Swann bdfd89c085 feat: temporary store applied update to ignore them. 2021-06-18 14:34:11 +02:00
170 changed files with 3006 additions and 2000 deletions
+31 -1
View File
@@ -186,4 +186,34 @@ All notable changes to this project will be documented in this file.
- Exception access violation during Undo/Redo
- Sync missing armature bone Roll
- Sync missing driver data_path
- Constraint replication
- Constraint replication
## [0.4.0] - 2021-07-20
### Added
- Connection preset system (@Kysios)
- Display connected users active mode (users pannel and viewport) (@Kysios)
- Delta-based replication
- Sync timeline marker
- Sync images settings (@Kysios)
- Sync parent relation type (@Kysios)
- Sync uv project modifier
- Sync FCurves modifiers
### Changed
- User selection optimizations (draw and sync) (@Kysios)
- Improved shapekey syncing performances
- Improved gpencil syncing performances
- Integrate replication as a submodule
- The dependencies are now installed in a folder(blender addon folder) that no longer requires administrative rights
- Presence overlay UI optimization (@Kysios)
### Fixed
- User selection bounding box glitches for non-mesh objects (@Kysios)
- Transforms replication for animated objects
- GPencil fill stroke
- Sculpt and GPencil brushes deleted when joining a session (@Kysios)
- Auto-updater doesn't work for master and develop builds
+31 -32
View File
@@ -11,9 +11,8 @@ This tool aims to allow multiple users to work on the same scene over the networ
## Quick installation
1. Download latest release [multi_user.zip](https://gitlab.com/slumber/multi-user/-/jobs/artifacts/master/download?job=build).
2. Run blender as administrator (dependencies installation).
3. Install last_version.zip from your addon preferences.
1. Download [latest build](https://gitlab.com/slumber/multi-user/-/jobs/artifacts/develop/download?job=build) or [stable build](https://gitlab.com/slumber/multi-user/-/jobs/artifacts/master/download?job=build).
2. Install last_version.zip from your addon preferences.
[Dependencies](#dependencies) will be automatically added to your blender python during installation.
@@ -29,35 +28,35 @@ See the [troubleshooting guide](https://slumber.gitlab.io/multi-user/getting_sta
Currently, not all data-block are supported for replication over the wire. The following list summarizes the status for each ones.
| Name | Status | Comment |
| -------------- | :----: | :----------------------------------------------------------: |
| action | ✔️ | |
| camera | ✔️ | |
| collection | ✔️ | |
| gpencil | ✔️ | |
| image | ✔️ | |
| mesh | ✔️ | |
| material | ✔️ | |
| node_groups | ✔️ | Material & Geometry only |
| geometry nodes | ✔️ | |
| metaball | ✔️ | |
| object | ✔️ | |
| texts | ✔️ | |
| scene | ✔️ | |
| world | ✔️ | |
| volumes | ✔️ | |
| lightprobes | ✔️ | |
| physics | ✔️ | |
| curve | ❗ | Nurbs surfaces not supported |
| textures | ❗ | Supported for modifiers/materials/geo nodes only |
| armature | ❗ | Not stable |
| particles | ❗ | The cache isn't syncing. |
| speakers | ❗ | [Partial](https://gitlab.com/slumber/multi-user/-/issues/65) |
| vse | ❗ | Mask and Clip not supported yet |
| libraries | ❗ | Partial |
| nla | ❌ | |
| texts | ❌ | [Planned](https://gitlab.com/slumber/multi-user/-/issues/81) |
| compositing | ❌ | [Planned](https://gitlab.com/slumber/multi-user/-/issues/46) |
| Name | Status | Comment |
| -------------- | :----: | :---------------------------------------------------------------------: |
| action | ✔️ | |
| camera | ✔️ | |
| collection | ✔️ | |
| gpencil | ✔️ | |
| image | ✔️ | |
| mesh | ✔️ | |
| material | ✔️ | |
| node_groups | ✔️ | Material & Geometry only |
| geometry nodes | ✔️ | |
| metaball | ✔️ | |
| object | ✔️ | |
| texts | ✔️ | |
| scene | ✔️ | |
| world | ✔️ | |
| volumes | ✔️ | |
| lightprobes | ✔️ | |
| physics | ✔️ | |
| textures | ✔️ | |
| curve | ❗ | Nurbs surfaces not supported |
| armature | ❗ | Only for Mesh. [Planned for GPencil](https://gitlab.com/slumber/multi-user/-/issues/161). Not stable yet |
| particles | ❗ | The cache isn't syncing. |
| speakers | ❗ | [Partial](https://gitlab.com/slumber/multi-user/-/issues/65) |
| vse | ❗ | Mask and Clip not supported yet |
| libraries | ❌ | |
| nla | ❌ | |
| texts | ❌ | [Planned for v0.5.0](https://gitlab.com/slumber/multi-user/-/issues/81) |
| compositing | ❌ | [Planned for v0.5.0](https://gitlab.com/slumber/multi-user/-/issues/46) |
+17
View File
@@ -0,0 +1,17 @@
=========
Community
=========
Discord
=======
Feel free to join our `discord server <https://discord.gg/aBPvGws>`_ !
You will find help, a way to take part in the project, public collaborative sessions, people to create with, information about the addon's progress and much more.
.. TODO: Make a call on discord get a link / image for evry contributor ?
Contributors
============
Swann, Fabian, NotFood, Poochyc, Valentin, Adrien, Tanguy, Bruno, Gorgio, Axel, Ultr-X, Wuaieyo, Softyoda, Staz, Ikxi, Kysios.
+32
View File
@@ -0,0 +1,32 @@
============
Key Features
============
Multi-User is a free and open source blender addon.
It aims to allow multiple users to work on the same scene over the network. Based on a Clients / Server architecture, the data-oriented replication schema replicate blender data-blocks across the wire.
.. warning::
The addon is still in development Be carefull when using it.
On rare occasions, it can happen that your blender scenes become corrupted, think of making backups to avoid losing your projects.
Collaboration
=============
Multi-User allows a strong collaborative workflow between users. Being able to collaborate in this way has opened up new opportunities:
- Being able to create together and in real time on the same 3D scene, with instant feedback.
- Being able to teach directly in the same 3D environment in real time, facilitating communication between the teacher and these students.
- To be able to experiment with several people, to make challenges or simply to have fun.
- And much more !
Easier communication
====================
Thanks to *presence*, the overlay system that Multi-User provides, it is possible to see other users in the 3D space. The *presence* overlay is customizable to match your preferences (visibility, names, options).
Session management
==================
The addon works on a session system. The creator of the session and the administrators have rights that allow them to easily manage the session (backups, user management). In addition, there is a management of datablock rights so that each user can collaborate as they wish.
+6 -4
View File
@@ -1,8 +1,10 @@
About
=====
================
About Multi-User
================
.. toctree::
:maxdepth: 1
:name: toc-about
:maxdepth: 2
introduction
features
community
+4 -5
View File
@@ -1,7 +1,6 @@
============
Introduction
============
========
The idea
========
A film is an idea carved along the whole production process by many different peoples. A traditional animation pipeline involve a linear succession of tasks. From storyboard to compositing by passing upon different step, its fundamental work flow is similar to an industrial assembly line. Since each step is almost a department, its common that one person on department B doesn't know what another person did on a previous step in a department A. This lack of visibility/communication could be a source of problems which could produce a bad impact on the final production result.
@@ -12,4 +11,4 @@ A film is an idea carved along the whole production process by many different pe
Nowadays it's a known fact that real-time rendering technologies allows to speedup traditional linear production by reducing drastically the iteration time across different steps. All majors industrial CG solutions are moving toward real-time horizons to bring innovative interactive workflows. But this is a microscopic, per-task/solution vision of real-time rendering benefits for the animation production. What if we step-back, get a macroscopic picture of an animation movie pipeline and ask ourself how real-time could change our global workflow ? Could-it bring better ways of working together by giving more visibility between departments during the whole production ?
The multi-user addon is an attempt to experiment real-time parallelism between different production stage. By replicating blender data blocks over the networks, it allows different artists to collaborate on a same scene in real-time.
The multi-user addon is an attempt to experiment real-time parallelism between different production stage. By replicating blender data blocks over the networks, it allows different artists to collaborate on a same scene in real-time.
+50 -17
View File
@@ -12,17 +12,16 @@
#
import os
import sys
# sys.path.insert(0, os.path.abspath('.'))
# -- Project information -----------------------------------------------------
project = 'multi-user'
project = 'Multi-User 0.5.0 Documentation'
copyright = '2020, Swann Martinez'
author = 'Swann Martinez, with contributions from Poochy'
author = 'Swann Martinez, Poochy, Fabian'
# The full version, including alpha/beta/rc tags
release = '0.2.0'
version_release = '0.5.1-develop'
# -- General configuration ---------------------------------------------------
@@ -42,12 +41,15 @@ source_suffix = ".rst"
# The master toctree document.
master_doc = "index"
# General information about the projet
projet = 'Multi-User %s Doc' % version_release
# The language for content autogenerated by Sphinx. Refer to documentation
# for a list of supported languages.
#
# This is also used if you do content translation via gettext catalogs.
# Usually you set "language" from the command line for these cases.
language = 'python'
language = 'en'
# List of patterns, relative to source directory, that match files and
# directories to ignore when looking for source files.
@@ -60,28 +62,59 @@ exclude_patterns = ['_build', 'Thumbs.db', '.DS_Store']
# on_rtd is whether we are on readthedocs.org, this line of code grabbed from docs.readthedocs.org
on_rtd = os.environ.get('READTHEDOCS', None) == 'True'
import sphinx_rtd_theme
html_theme = 'sphinx_rtd_theme'
html_theme_path = [sphinx_rtd_theme.get_html_theme_path()]
html_theme = "default"
try:
import sphinx_rtd_theme
html_theme = 'sphinx_rtd_theme'
del sphinx_rtd_theme
except ModuleNotFoundError:
pass
if on_rtd:
using_rtd_theme = True
# Theme options
# Theme options are theme-specific and customize the look and feel of a theme
# further. For a list of options available for each theme, see the
# documentation.
html_theme_options = {
# 'typekit_id': 'hiw1hhg',
# 'analytics_id': '',
# 'sticky_navigation': True # Set to False to disable the sticky nav while scrolling.
# 'logo_only': True, # if we have a html_logo below, this shows /only/ the logo with no title text
'collapse_navigation': False, # Collapse navigation (False makes it tree-like)
# 'display_version': True, # Display the docs version
# 'navigation_depth': 4, # Depth of the headers shown in the navigation bar
}
# Add any paths that contain custom themes here, relative to this directory.
html_theme_path = []
if html_theme == "sphinx_rtd_theme":
html_theme_options = {
"analytics_id": "UA-1418081-1",
# included in the title
"display_version": False,
"collapse_navigation": True,
"navigation_depth": -1,
}
extensions.append('sphinx_rtd_theme')
# The name for this set of Sphinx documents.
# "<project> v<release> documentation" by default.
html_title = "Multi-User Doc"
# Add any paths that contain custom static files (such as style sheets) here,
# relative to this directory. They are copied after the builtin static files,
# so a file named "default.css" will overwrite the builtin "default.css".
html_logo = "resources/logo.png"
html_favicon = "ressources/favicon.ico"
html_static_path = ["resources"]
if html_theme == "sphinx_rtd_theme":
html_css_files = ["css/theme_overrides.css"]
# -- Options for HTMLHelp output ------------------------------------------
# Output file base name for HTML help builder.
htmlhelp_basename = 'multiusrdoc'
htmlhelp_basename = 'Multi-User Manual'
# sphinx-notfound-page
# https://github.com/readthedocs/sphinx-notfound-page

Before

Width:  |  Height:  |  Size: 106 KiB

After

Width:  |  Height:  |  Size: 106 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Before

Width:  |  Height:  |  Size: 80 KiB

After

Width:  |  Height:  |  Size: 80 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

+117
View File
@@ -0,0 +1,117 @@
################
General Settings
################
This section contains optional settings to configure before a session.
.. figure:: img/sidepannel_general_settings.png
:align: center
General Settings pannel
---------
User info
---------
.. figure:: img/sidepannel_userinfo.png
:align: center
User Info settings
The **User Info** pannel is here to change your user name and use color.
-------
Network
-------
.. figure:: img/sidepannel_network.png
:align: center
Network settings
**Timeout (in milliseconds)** is the maximum ping authorized before auto-disconnecting.
You should only increase it if you have a bad connection.
-----
Cache
-----
.. figure:: img/sidepannel_cache.png
:align: center
Cache settings
Multi-user allows you to replicate external dependencies such as images (textures, hdris, etc...), movies, and sounds.
On each client, the files will be stored in the multi-user cache folder.
**Cache directory** choose where cached files (images, sound, movies) will be saved.
**Clear memory filecache** will save memory space at runtime by removing the file content from memory as soon as it has been written to the disk.
**Clear cache** will remove all files from the cache folder.
.. warning:: Clearing the cache could break your scene images/movies/sounds if they are used in a blend file! Try saving the blend file and choosing 'Pack all into blend' before clearing the cache.
-------
Logging
-------
.. figure:: img/sidepannel_logging.png
:align: center
Advanced log settings
**log level** allows you to set the level of detail captured in multi-user's logging output. Here is a brief description on the level of detail for each value of the logging parameter:
+-----------+-----------------------------------------------+
| Log level | Description |
+===========+===============================================+
| ERROR | Shows only critical errors |
+-----------+-----------------------------------------------+
| WARNING | Shows only errors (of all kinds) |
+-----------+-----------------------------------------------+
| INFO | Shows only status-related messages and errors |
+-----------+-----------------------------------------------+
| DEBUG | Shows all possible information |
+-----------+-----------------------------------------------+
-----------------
Save session data
-----------------
.. danger::
This is an experimental feature, it is still recommended to use regular .blend save.
The save session data allows you to create a backup of the session data.
When you hit the **save session data** button, the following popup dialog will appear.
It allows you to choose the destination folder and if you want to run an auto-save.
.. figure:: img/quickstart_save_session_data_dialog.png
:align: center
Save session data dialog.
If you enabled the auto-save option, you can cancel it from the **Cancel auto-save** button.
.. figure:: img/quickstart_save_session_data_cancel.png
:align: center
Cancel session autosave.
To import session data backups, use the following **Multiuser session snapshot** import dialog
.. figure:: img/quickstart_import_session_data.png
:align: center
Import session data dialog.
.. note::
It is not yet possible to start a session directly from a backup.
.. _advanced:
-59
View File
@@ -1,59 +0,0 @@
========
Glossary
========
.. glossary::
.. _admin:
administrator
*A session administrator can manage users (kick) and hold write access on
each datablock. They can also init a dedicated server repository.*
.. _session-status:
session status
*Located in the title of the multi-user panel, the session status shows
you the connection state.*
.. figure:: img/quickstart_session_status.png
:align: center
Session status in panel title bar
All possible connection states are listed here with their meaning:*
+--------------------+---------------------------------------------------------------------------------------------+
| State | Description |
+--------------------+---------------------------------------------------------------------------------------------+
| WARMING UP DATA | Commiting local data |
+--------------------+---------------------------------------------------------------------------------------------+
| FETCHING | Dowloading snapshot from the server |
+--------------------+---------------------------------------------------------------------------------------------+
| AUTHENTICATION | Initial server authentication |
+--------------------+---------------------------------------------------------------------------------------------+
| ONLINE | Connected to the session |
+--------------------+---------------------------------------------------------------------------------------------+
| PUSHING | Init the server repository by pushing ours |
+--------------------+---------------------------------------------------------------------------------------------+
| INIT | Initial state |
+--------------------+---------------------------------------------------------------------------------------------+
| QUITTING | Exiting the session |
+--------------------+---------------------------------------------------------------------------------------------+
| LAUNCHING SERVICES | Launching local services. Services are spetialized daemons running in the background. ) |
+--------------------+---------------------------------------------------------------------------------------------+
| LOBBY | The lobby is a waiting state triggered when the server repository hasn't been initiated yet |
| | |
| | Once initialized, the server will automatically launch all client in the **LOBBY**. |
+--------------------+---------------------------------------------------------------------------------------------+
.. _common-right:
common right
When a data block is under common right, it is available to everyone for modification.
The rights will be given to the user that selects it first.
+54
View File
@@ -0,0 +1,54 @@
.. _how-to-host:
How to host a session
=====================
------------
Local server
------------
The multi-user add-on relies on a Client-Server architecture.
The server is the heart of the collaborative session.
It is what allows user's blender instances to communicate with each other.
In simple terms, *Hosting a session* means *run a local server and connect the local client to it*.
When we say **local server** we mean a server which is accessible from the LAN (Local Area Network) without requiring an internet connection.
.. _local-setup:
When the hosting process starts, the multi-user addon will launch a local server instance.
In the **Hosting** panel configure your server according to:
.. figure:: img/first_time_server_host.png
:align: center
Hosting panel
* **Init the session from**: the session initialisation method.
* **current scenes**: start with the data loaded in the current blend file.
* **an empty scene**: clear the blend file's data and start over.
* **Port**: port on which the server is listening.
* **Server password**: (*optional*) the server password.
* **Admin password**: (*optional*) the session administration password.
Once everything is set up, you can hit the **Host** button to launch the session!
This will do two things:
* Start a local server
* Connect you to it as an :ref:`admin`
.. danger::
By starting from an empty scene, all of the blend data will be removed!
Be sure to save your existing work before launching the session.
-------------
Online server
-------------
However, there are times when you will need to host a session over the internet.
In this case, we strongly recommend that you read the :ref:`hosting_on_internet` tutorial.
During an online session, various actions are available to you, go to :ref:`how-to-manage` section to
learn more about them.
+104
View File
@@ -0,0 +1,104 @@
.. _how-to-join:
How to join a session
=====================
This section describes how to join a launched session.
Before starting make sure that you have access to the session **IP address**, **port number** and that you have filled in your **user information** (name and color).
-----------
Server List
-----------
The server list allows you to manage your servers:
.. figure:: img/quickstart_serverlist.png
:align: center
:width: 200px
Server List
To connect to a server, select the one you want to join in the list and click on **Connect**.
To know if the server you want to join is online, you can refresh your server list with the button on the top right corner.
Online status:
- **Red**: server is offline
- **Green**: server is online
.. note::
If a server is secured with a password, a lock will be displayed next to the server name. You first need to enter the password of the server in its preset to join it.
.. figure:: img/quickstart_serverlist_private.png
:align: center
:width: 200px
It is possible to **add**, **delete** and even **modify** a **server preset** with the buttons located on the top right of the server list:
.. figure:: img/quickstart_serverlist_manage_buttons.png
:align: center
:width: 200px
Add, Remove, Edit Server Preset
.. note::
Two server presets are already present when the addon is launched:
- The 'localhost' preset, to join a local session quickly
- The 'public session' preset, to join the public sessions of the multi-user server (official discord to participate : https://discord.gg/aBPvGws)
-------------------
Add a Server Preset
-------------------
To add a server, you must first register it in the server list. Click on the **+** icon and fill in the window with the server settings:
.. figure:: img/quickstart_server_edit.png
:align: center
:width: 350px
Server Preset pop-up
- **Server name**: the name of the server.
- **IP**: the host's IP address.
- **Port**: the host's port number.
- **Server password**: (*optional*) the server password.
- **Admin password**: (*optional*) the session administration password.
Once you've configured every field, you can save the server preset by clicking **OK**.
You can now select it in the server list to join the session !
.. warning:: Be careful, if you don't rename your new preset, or if it has the same name as an existing preset, the old preset will be overwritten.
----------------
Joining a server
----------------
CONNECT
-------
When joining a server that have already be initialise, the session status screen will be **CONNECT**.
You are now connected and can start creating.
.. figure:: img/quickstart_connect.png
:align: center
In session
During an online session, various actions are available to you. Go to :ref:`how-to-manage` to
learn more about them.
LOBBY
-----
When starting a **dedicated server**, the session status screen will take you to the **LOBBY** (see side-panel header).
If the session status is set to **LOBBY** and you are a regular user, you need to wait for the admin to launch the scene (admins have shield next to their names).
If you are the admin, you just need to initialise the session to start it (see image below).
.. figure:: img/quickstart_lobby.png
:align: center
Session initialisation for dedicated server

Some files were not shown because too many files have changed in this diff Show More