feat: experiment bin diff for meshes

This commit is contained in:
Swann 2020-02-05 23:26:53 +01:00
parent d1501da2f1
commit 4825e6876c
No known key found for this signature in database
GPG Key ID: B880407E0F5F413E
4 changed files with 9 additions and 5 deletions

View File

@ -4,7 +4,7 @@ import mathutils
from .. import utils from .. import utils
from ..libs.replication.replication.data import ReplicatedDatablock from ..libs.replication.replication.data import ReplicatedDatablock
from ..libs.replication.replication.constants import UP from ..libs.replication.replication.constants import UP
from ..libs.replication.replication.constants import DIFF_BINARY
def dump_driver(driver): def dump_driver(driver):
dumper = utils.dump_anything.Dumper() dumper = utils.dump_anything.Dumper()
@ -80,6 +80,8 @@ class BlDatablock(ReplicatedDatablock):
if self.pointer and hasattr(self.pointer, 'uuid'): if self.pointer and hasattr(self.pointer, 'uuid'):
self.pointer.uuid = self.uuid self.pointer.uuid = self.uuid
self.diff_method = DIFF_BINARY
def library_apply(self): def library_apply(self):
"""Apply stored data """Apply stored data

View File

@ -3,6 +3,7 @@ import bmesh
import mathutils import mathutils
from .. import utils from .. import utils
from .bl_datablock import BlDatablock from .bl_datablock import BlDatablock
def dump_mesh(mesh, data={}): def dump_mesh(mesh, data={}):
@ -81,9 +82,10 @@ class BlMesh(BlDatablock):
bl_delay_refresh = 10 bl_delay_refresh = 10
bl_delay_apply = 10 bl_delay_apply = 10
bl_automatic_push = True bl_automatic_push = True
bl_icon = 'MESH_DATA' bl_icon = 'MESH_DATA'
def construct(self, data): def construct(self, data):
instance = bpy.data.meshes.new(data["name"]) instance = bpy.data.meshes.new(data["name"])
instance.uuid = self.uuid instance.uuid = self.uuid
return instance return instance

@ -1 +1 @@
Subproject commit 8744db43ddb84f1cfd192ab2340e5af7e9c08ae7 Subproject commit 39a52ac28cfd3e62336c560cf59305112a96b813

View File

@ -511,8 +511,8 @@ def depsgraph_evaluation(scene):
if 'EDIT' in context.mode: if 'EDIT' in context.mode:
break break
logger.error("UPDATE: MODIFIFY {}".format(type(update.id))) logger.error("UPDATE: MODIFIFY {}".format(type(update.id)))
client.commit(node.uuid) # client.commit(node.uuid)
client.push(node.uuid) # client.push(node.uuid)
else: else:
# Distant update # Distant update
continue continue