blender.git
14 months agoDepsgraph: Remove unused operation code
Sergey Sharybin [Tue, 13 Nov 2018 18:31:44 +0000 (19:31 +0100)]
Depsgraph: Remove unused operation code

14 months agoAdd function to query whether object has any point cache
Sergey Sharybin [Tue, 13 Nov 2018 16:51:58 +0000 (17:51 +0100)]
Add function to query whether object has any point cache

14 months agoMake object point cache iteration more generic
Sergey Sharybin [Tue, 13 Nov 2018 16:48:00 +0000 (17:48 +0100)]
Make object point cache iteration more generic

Currently should be no functional changes, but this will
simplify implementing some incoming logic.

14 months agoDepsgraph: Cleanup, code style
Sergey Sharybin [Tue, 13 Nov 2018 16:21:41 +0000 (17:21 +0100)]
Depsgraph: Cleanup, code style

Should be no functional changes.

14 months agoGizmo: get background color based on view option
Campbell Barton [Wed, 14 Nov 2018 13:05:54 +0000 (00:05 +1100)]
Gizmo: get background color based on view option

14 months agoCleanup: correct flag comparisons
Campbell Barton [Wed, 14 Nov 2018 12:30:20 +0000 (23:30 +1100)]
Cleanup: correct flag comparisons

Also use smaller types for shading data.

14 months agominor cleanup
Jacques Lucke [Wed, 14 Nov 2018 12:05:45 +0000 (13:05 +0100)]
minor cleanup

14 months agominor cleanup
Jacques Lucke [Wed, 14 Nov 2018 12:04:12 +0000 (13:04 +0100)]
minor cleanup

14 months agoFix icon in Clip Editor header (Graph view type with enabled Filters)
Philipp Oeser [Wed, 14 Nov 2018 11:39:17 +0000 (12:39 +0100)]
Fix icon in Clip Editor header (Graph view type with enabled Filters)

fix provided by sebastian_k over IRC, thx!

14 months agoFix copy tracking settings operators
Philipp Oeser [Wed, 14 Nov 2018 11:32:49 +0000 (12:32 +0100)]
Fix copy tracking settings operators

use keyword arguments

14 months agominor api docs fix
Jacques Lucke [Wed, 14 Nov 2018 11:33:10 +0000 (12:33 +0100)]
minor api docs fix

14 months agoPy API: Remove GPUShader.transform_feedback_enable/disable
Jacques Lucke [Wed, 14 Nov 2018 11:26:34 +0000 (12:26 +0100)]
Py API: Remove GPUShader.transform_feedback_enable/disable

It couldn't really be used in the current implementation, so it is better to remove it instead of confusing everyone.

14 months agoDepsgraph: fix relations for drivers on bone weight in Armature constraint.
Alexander Gavrilov [Wed, 14 Nov 2018 11:01:28 +0000 (14:01 +0300)]
Depsgraph: fix relations for drivers on bone weight in Armature constraint.

14 months agoUI: Comment out "Clip border" operator
Clément Foucault [Wed, 14 Nov 2018 10:45:29 +0000 (11:45 +0100)]
UI: Comment out "Clip border" operator

Also Remove it from the UI as it has not been ported to 2.8 and it is a
delicate thing to do.

14 months agoLamps: Remove HEMI light type
Clément Foucault [Wed, 14 Nov 2018 10:44:05 +0000 (11:44 +0100)]
Lamps: Remove HEMI light type

This type is not supported by either Eevee or Cycles. If other types of
lamps are needed by external engines, we should support adding custom types.

14 months agoKeymap: assigning keys for tools now checks mode
Campbell Barton [Wed, 14 Nov 2018 09:26:00 +0000 (20:26 +1100)]
Keymap: assigning keys for tools now checks mode

Adding shortcuts to tools was always adding to the top-level window map.

14 months agoTool System: remove duplicate gpencil draw UI
Campbell Barton [Wed, 14 Nov 2018 08:19:04 +0000 (19:19 +1100)]
Tool System: remove duplicate gpencil draw UI

Tool properties showed options twice.

14 months agoGizmo: draw navigation negative axes over positive
Campbell Barton [Wed, 14 Nov 2018 07:00:20 +0000 (18:00 +1100)]
Gizmo: draw navigation negative axes over positive

Using low alpha meant it wasn't possible to see which was in-front.

14 months agoCorrect assert generating tool tip/keymap
Campbell Barton [Wed, 14 Nov 2018 06:40:12 +0000 (17:40 +1100)]
Correct assert generating tool tip/keymap

14 months agoMerge branch 'master' into blender2.8
Campbell Barton [Wed, 14 Nov 2018 06:12:52 +0000 (17:12 +1100)]
Merge branch 'master' into blender2.8

14 months agoCleanup: comment block tabs
Campbell Barton [Wed, 14 Nov 2018 01:53:15 +0000 (12:53 +1100)]
Cleanup: comment block tabs

14 months agoPaint: remove brush select paint_mode
Campbell Barton [Wed, 14 Nov 2018 00:52:17 +0000 (11:52 +1100)]
Paint: remove brush select paint_mode

Instead check which property has been set.

14 months agoMerge branch 'master' into blender2.8
Campbell Barton [Wed, 14 Nov 2018 00:24:37 +0000 (11:24 +1100)]
Merge branch 'master' into blender2.8

14 months agoCleanup: naming for paint modes
Campbell Barton [Wed, 14 Nov 2018 00:20:08 +0000 (11:20 +1100)]
Cleanup: naming for paint modes

- Rename ePaint* -> PAINT_MODE_*.
- Use PAINT_OVERLAY_ prefix for eOverlayControlFlags.

14 months agoFix gizmo handler initialization w/ quad-view
Campbell Barton [Tue, 13 Nov 2018 23:46:13 +0000 (10:46 +1100)]
Fix gizmo handler initialization w/ quad-view

It's not enough to get the active window region,
now the region is passed in as an argument.

14 months agoFixup for view3d collection name drawing when no active object
Dalai Felinto [Tue, 13 Nov 2018 23:30:10 +0000 (21:30 -0200)]
Fixup for view3d collection name drawing when no active object

14 months agoMerge branch 'master' into blender2.8
Campbell Barton [Tue, 13 Nov 2018 22:50:04 +0000 (09:50 +1100)]
Merge branch 'master' into blender2.8

14 months agoWM: enforce descriptions being NULL or defined
Campbell Barton [Tue, 13 Nov 2018 22:47:23 +0000 (09:47 +1100)]
WM: enforce descriptions being NULL or defined

Without this bugs slip through that don't null check the descriptions
since many were set to empty strings.

14 months agoCleanup: python doc-strings
Campbell Barton [Tue, 13 Nov 2018 22:04:24 +0000 (09:04 +1100)]
Cleanup: python doc-strings

Indentation & trailing space.

14 months agoCleanup: python doc-strings
Campbell Barton [Tue, 13 Nov 2018 22:04:24 +0000 (09:04 +1100)]
Cleanup: python doc-strings

Indentation & trailing space.

14 months agoAdd active collection to viewport "name" stats
Dalai Felinto [Tue, 13 Nov 2018 20:30:44 +0000 (18:30 -0200)]
Add active collection to viewport "name" stats

Only visible when in object mode.

Most of the time we will have the active object not being a part of the active
collection. So it is important to clearly communicate what is the active
collection, so users know for instance where new or appended objects
will be added to.

14 months agoAdd active collection to stats bar
Dalai Felinto [Tue, 13 Nov 2018 20:13:56 +0000 (18:13 -0200)]
Add active collection to stats bar

Only show the collection name when in object mode.
It is not relevant in any other mode.

14 months agoUtil to get collection UI name
Dalai Felinto [Tue, 13 Nov 2018 20:10:30 +0000 (18:10 -0200)]
Util to get collection UI name

Note we still have hardcoded IFACE_("Scene Collection") in the outliner.
I'm ok with getting of them as well, though no strong feelings here.

14 months agoFix tool keymaps not working properly after recent changes.
Brecht Van Lommel [Tue, 13 Nov 2018 20:01:32 +0000 (21:01 +0100)]
Fix tool keymaps not working properly after recent changes.

Not sure this is the best fix, but this should be working. Regardless it seems
good to tag active tool keymaps as such.

14 months agoKeymaps: minor code refactor to abstract some events, no functional changes.
Brecht Van Lommel [Tue, 13 Nov 2018 19:07:52 +0000 (20:07 +0100)]
Keymaps: minor code refactor to abstract some events, no functional changes.

14 months agoKeymaps: reload key configuration when changing select mouse.
Brecht Van Lommel [Tue, 13 Nov 2018 18:02:12 +0000 (19:02 +0100)]
Keymaps: reload key configuration when changing select mouse.

For configuration scripts that want to change keymaps based on this setting.

14 months agoFix T57708: Crash on Eevee rendering with SSR enabled.
mano-wii [Tue, 13 Nov 2018 17:17:39 +0000 (15:17 -0200)]
Fix T57708: Crash on Eevee rendering with SSR enabled.

Intel does not like dead code.
The driver for `Intel HD Graphics 4000` crashes in these cases.

14 months agoDepsgraph: fix missing relations for drivers on ShaderNode properties.
Alexander Gavrilov [Tue, 13 Nov 2018 18:09:27 +0000 (21:09 +0300)]
Depsgraph: fix missing relations for drivers on ShaderNode properties.

Also fix duplicate driver to target relations due to a redundant line.

14 months agoGP: Don't calculate fast drawing when playing
Antonioya [Tue, 13 Nov 2018 17:53:13 +0000 (18:53 +0100)]
GP: Don't calculate fast drawing when playing

14 months agoKeymap: code refactor to makes some events changeable with parameters.
Brecht Van Lommel [Mon, 12 Nov 2018 13:14:56 +0000 (14:14 +0100)]
Keymap: code refactor to makes some events changeable with parameters.

No functional changes.

14 months agoKeymaps: refactor loading of default keymap, fix bugs.
Brecht Van Lommel [Mon, 12 Nov 2018 13:53:08 +0000 (14:53 +0100)]
Keymaps: refactor loading of default keymap, fix bugs.

This refactors loading of key configurations to clear and refill existing
ones, rather than adding a new one and then removing the old one.

This fixes broken loading of non-default configurations after recent changes,
and prepares for future changes to make it possible to dynamically change
key configurations based on user preferences.

14 months agoFix crash when Python creates modal keymaps without items.
Brecht Van Lommel [Tue, 13 Nov 2018 14:16:03 +0000 (15:16 +0100)]
Fix crash when Python creates modal keymaps without items.

14 months agoGP: Fix wrong fill texture when draw primitives
Antonioya [Tue, 13 Nov 2018 16:08:52 +0000 (17:08 +0100)]
GP: Fix wrong fill texture when draw primitives

14 months agoGP: Fix wrong fill after subdivide
Antonioya [Tue, 13 Nov 2018 15:53:09 +0000 (16:53 +0100)]
GP: Fix wrong fill after subdivide

14 months agoPy API Docs: Remove older GPUOffScreen example
Jacques Lucke [Tue, 13 Nov 2018 15:43:17 +0000 (16:43 +0100)]
Py API Docs: Remove older GPUOffScreen example

I think this example does not belong into the api docs and certainly not in the place where it was until now.
Maybe this can become a template in Blender but personally I don't see much value in it as an "official example" because it is hard to see what is going on exactly.
There are a few other examples that show how to use the GPUOffScreen object now.

14 months agoPy API Docs: New Example for off screen rendering
Jacques Lucke [Tue, 13 Nov 2018 15:38:12 +0000 (16:38 +0100)]
Py API Docs: New Example for off screen rendering

14 months agoPy API: fix parameter order in offscreen.draw_view3d
Jacques Lucke [Tue, 13 Nov 2018 15:23:31 +0000 (16:23 +0100)]
Py API: fix parameter order in offscreen.draw_view3d

14 months agoPython GPU API: gpu_extras.presets.draw_texture_2d
Jacques Lucke [Tue, 13 Nov 2018 15:20:16 +0000 (16:20 +0100)]
Python GPU API: gpu_extras.presets.draw_texture_2d

Review wasn't finished yet, but I just commit this for now so that I can make some progress..

Differential Revision: https://developer.blender.org/D3901

14 months agoPy API Docs: GPUVertFormat documentation
Jacques Lucke [Tue, 13 Nov 2018 14:25:22 +0000 (15:25 +0100)]
Py API Docs: GPUVertFormat documentation

14 months agoPy API Docs: Cleanup
Jacques Lucke [Tue, 13 Nov 2018 13:55:15 +0000 (14:55 +0100)]
Py API Docs: Cleanup

14 months agoPy API Docs: GPUIndexBuf documentation
Jacques Lucke [Tue, 13 Nov 2018 12:33:09 +0000 (13:33 +0100)]
Py API Docs: GPUIndexBuf documentation

14 months agoGP: Remove redundant texture attachment
Antonioya [Tue, 13 Nov 2018 12:44:34 +0000 (13:44 +0100)]
GP: Remove redundant texture attachment

14 months agoPy API Docs: GPUBatch documentation
Jacques Lucke [Tue, 13 Nov 2018 11:59:50 +0000 (12:59 +0100)]
Py API Docs: GPUBatch documentation

14 months agoFix T57794: Text in Clip Editor Dopesheet not visible
Philipp Oeser [Tue, 13 Nov 2018 10:28:59 +0000 (11:28 +0100)]
Fix T57794: Text in Clip Editor Dopesheet not visible

Maniphest Tasks: T57794

Differential Revision: https://developer.blender.org/D3937

14 months agoFix T57105: Baked Particles could not be rendered as expected
Sergey Sharybin [Mon, 12 Nov 2018 15:24:53 +0000 (16:24 +0100)]
Fix T57105: Baked Particles could not be rendered as expected

Same fix as for smoke (and is what caching proposal is AFAIK):
share cache between copied and original objects.

One thing which is still missing to be fixed is to make auto-cache
more reliable. It was already kind of broken, so don't think it
should be a stopping factor for this fix.

14 months agoWorkbench: Volume: Fix slice display opacity
Clément Foucault [Tue, 13 Nov 2018 10:22:19 +0000 (11:22 +0100)]
Workbench: Volume: Fix slice display opacity

14 months agoGPU: Fix crash at startup
Clément Foucault [Tue, 13 Nov 2018 10:21:32 +0000 (11:21 +0100)]
GPU: Fix crash at startup

14 months agoUI: move gpencil paint into topbar only layout
Campbell Barton [Tue, 13 Nov 2018 09:59:25 +0000 (20:59 +1100)]
UI: move gpencil paint into topbar only layout

Tool properties were duplicating UI elements.

14 months agoCleanup: remove redundant checks
Campbell Barton [Tue, 13 Nov 2018 06:04:57 +0000 (17:04 +1100)]
Cleanup: remove redundant checks

14 months agoCleanup: split object mode out of tool checks
Campbell Barton [Tue, 13 Nov 2018 05:58:29 +0000 (16:58 +1100)]
Cleanup: split object mode out of tool checks

14 months agoTool System: use enum for gp sculpt/weight paint
Campbell Barton [Tue, 13 Nov 2018 05:52:39 +0000 (16:52 +1100)]
Tool System: use enum for gp sculpt/weight paint

Fixes T57525

14 months agoCleanup: add arg to GP_EDITABLE_STROKES macro
Campbell Barton [Tue, 13 Nov 2018 04:02:32 +0000 (15:02 +1100)]
Cleanup: add arg to GP_EDITABLE_STROKES macro

Without this, we use arguments defined in the macro
making code hard to read.

14 months agoMerge branch 'master' into blender2.8
Campbell Barton [Tue, 13 Nov 2018 03:24:41 +0000 (14:24 +1100)]
Merge branch 'master' into blender2.8

14 months agoCleanup: use lowercase 2d/3d in function names
Campbell Barton [Tue, 13 Nov 2018 03:21:42 +0000 (14:21 +1100)]
Cleanup: use lowercase 2d/3d in function names

14 months agoCleanup: use doxy groups
Campbell Barton [Tue, 13 Nov 2018 03:15:11 +0000 (14:15 +1100)]
Cleanup: use doxy groups

14 months agoKeymap: more more standard keys for select tools
Campbell Barton [Tue, 13 Nov 2018 03:05:20 +0000 (14:05 +1100)]
Keymap: more more standard keys for select tools

This uses shift to extend, ctrl to de-select, both to intersect.

14 months agoGP: box/lasso support for select-operations
Campbell Barton [Tue, 13 Nov 2018 03:04:00 +0000 (14:04 +1100)]
GP: box/lasso support for select-operations

This adds support for more adbvanced select operations
matching 3D view select operators.

Also de-duplicate box/lasso select code.

14 months agoWM: default operators to replace selection
Campbell Barton [Tue, 13 Nov 2018 03:02:28 +0000 (14:02 +1100)]
WM: default operators to replace selection

Tools now default to creating new selection.

14 months agoCleanup: use const args
Campbell Barton [Tue, 13 Nov 2018 02:28:43 +0000 (13:28 +1100)]
Cleanup: use const args

14 months agoCleanup: remove unused source
Campbell Barton [Mon, 12 Nov 2018 22:38:02 +0000 (09:38 +1100)]
Cleanup: remove unused source

14 months agoCleanup: use namedtuple for KeymapParams
Campbell Barton [Mon, 12 Nov 2018 21:58:53 +0000 (08:58 +1100)]
Cleanup: use namedtuple for KeymapParams

Prefer immutable types where possible.

14 months agoMerge branch 'master' into blender2.8
Campbell Barton [Mon, 12 Nov 2018 21:25:46 +0000 (08:25 +1100)]
Merge branch 'master' into blender2.8

14 months agoEevee: Hide Sprite threshold as it is not implemented yet
Clément Foucault [Mon, 12 Nov 2018 20:15:33 +0000 (21:15 +0100)]
Eevee: Hide Sprite threshold as it is not implemented yet

14 months agoWorkbench: Volumes: Fix volumetrics step length calculation
Clément Foucault [Mon, 12 Nov 2018 20:14:51 +0000 (21:14 +0100)]
Workbench: Volumes: Fix volumetrics step length calculation

Step size is now one voxel diagonal.
Fix T57678 Culling of smoke depending on view direction

14 months agoWorkbench: Volumes: Fix volumetrics rendering twices
Clément Foucault [Mon, 12 Nov 2018 20:12:34 +0000 (21:12 +0100)]
Workbench: Volumes: Fix volumetrics rendering twices

14 months agoWM: avoid string replace w/ appconfig-activate
Campbell Barton [Mon, 12 Nov 2018 19:59:23 +0000 (06:59 +1100)]
WM: avoid string replace w/ appconfig-activate

Better construct an exact path, this would fail if the path exists
multiple times in the string.

14 months agoFix T57571: Blender crashes on UV transformation
Clément Foucault [Mon, 12 Nov 2018 17:06:32 +0000 (18:06 +0100)]
Fix T57571: Blender crashes on UV transformation

That was caused by a thread safety issue on gpu_batch_presets_unregister()
which was not designed to be used for this kind of situation (managing 3D
meshes batches).

14 months agostyle fix
Jacques Lucke [Mon, 12 Nov 2018 17:04:48 +0000 (18:04 +0100)]
style fix

14 months agoFix: draw_circle_2d not using the segment count from parameter list
Jacques Lucke [Mon, 12 Nov 2018 16:54:20 +0000 (17:54 +0100)]
Fix: draw_circle_2d not using the segment count from parameter list

14 months agoPy API Docs: another use case for offscreen rendering
Jacques Lucke [Mon, 12 Nov 2018 16:53:45 +0000 (17:53 +0100)]
Py API Docs: another use case for offscreen rendering

14 months agoFix build: min and max not found.
Alexander Gavrilov [Mon, 12 Nov 2018 16:36:18 +0000 (19:36 +0300)]
Fix build: min and max not found.

14 months agoRemove AnimMapper: it has been left unimplemented for almost ten years.
Alexander Gavrilov [Mon, 12 Nov 2018 16:30:25 +0000 (19:30 +0300)]
Remove AnimMapper: it has been left unimplemented for almost ten years.

It was supposed to be a feature for substituting RNA paths on the
fly, but has never been implemented, apart from a couple of structure
definitions and passing around some always-NULL pointers. Now it gets
in the way of refactoring NLA evaluation to use GHash for efficiency.

14 months agoPy API Docs: Another example for offscreen rendering
Jacques Lucke [Mon, 12 Nov 2018 16:17:59 +0000 (17:17 +0100)]
Py API Docs: Another example for offscreen rendering

14 months agoGP: Hide cursor in some modes
Antonioya [Mon, 12 Nov 2018 15:56:50 +0000 (16:56 +0100)]
GP: Hide cursor in some modes

14 months agoUI: Scale control points on curve map when zooming
Charlie Jolly [Tue, 6 Nov 2018 11:09:51 +0000 (11:09 +0000)]
UI: Scale control points on curve map when zooming

Mentioned by Pablo on Blender Today : https://www.youtube.com/watch?v=67NIL5A-07c @ about 27:47

Differential Revision: https://developer.blender.org/D3902

14 months agoGP: Cleanup unused code
Antonioya [Mon, 12 Nov 2018 13:31:35 +0000 (14:31 +0100)]
GP: Cleanup unused code

14 months agoGP: Change View icon for annotations
Antonioya [Mon, 12 Nov 2018 13:30:17 +0000 (14:30 +0100)]
GP: Change View icon for annotations

14 months agoAdd a lot of update tagging to operations with NLA tracks and strips.
Alexander Gavrilov [Mon, 12 Nov 2018 13:17:57 +0000 (16:17 +0300)]
Add a lot of update tagging to operations with NLA tracks and strips.

14 months agoEevee: Fix ESM not working after a certain distance
Clément Foucault [Sun, 11 Nov 2018 16:45:29 +0000 (17:45 +0100)]
Eevee: Fix ESM not working after a certain distance

This was caused by overflow caused by the background and precision during
filtering.

14 months agoEevee: Fix lamps shadows not updating correctly
Clément Foucault [Sun, 11 Nov 2018 16:36:00 +0000 (17:36 +0100)]
Eevee: Fix lamps shadows not updating correctly

This was visible if the lamps was out of frustum.

14 months agoRuler Tool: Fix non readable text
Clément Foucault [Sat, 10 Nov 2018 17:40:59 +0000 (18:40 +0100)]
Ruler Tool: Fix non readable text

The ruler tool is using a hard coded background color. Invert it if the
text color is bright. In the future we should maybe use a theme color
instead of guessing as it does not work well with middle gray colors.

14 months agoRuler Tool: Fix text background glitch
Clément Foucault [Sat, 10 Nov 2018 17:39:22 +0000 (18:39 +0100)]
Ruler Tool: Fix text background glitch

It was using UI_draw_roundbox_aa which is not available when drawing with
the view3d opengl context (because of VAO not being shared). Replace with
simpler rect box. Of course it's a bit more ugly but at least it's working.

14 months agoPy API Docs: fix typos/wording
Jacques Lucke [Mon, 12 Nov 2018 12:48:10 +0000 (13:48 +0100)]
Py API Docs: fix typos/wording

found by Omar Ahmad

14 months agoMerge branch 'master' into blender2.8
Sergey Sharybin [Mon, 12 Nov 2018 11:16:31 +0000 (12:16 +0100)]
Merge branch 'master' into blender2.8

14 months agoCycles: Fix/workaround for gcc-7.2
Sergey Sharybin [Mon, 12 Nov 2018 11:10:33 +0000 (12:10 +0100)]
Cycles: Fix/workaround for gcc-7.2

For some reason when building with gcc-7.2 (which is default
in previous Ubuntu LTS) the guarded allocator is not being
properly instantiated.

Doesn't happen with newer version of gcc-7 which is 7.3, and
also doesn't happen with gcc-6 and gcc-8.

Would be nice to know what is wrong, but for the time being
committing workaround which keeps Blender users happy.

14 months agoPy API Docs: Restructure gpu module introduction
Jacques Lucke [Mon, 12 Nov 2018 11:14:07 +0000 (12:14 +0100)]
Py API Docs: Restructure gpu module introduction

14 months agoFix T57766: error in Quick Effects > Quick Fur
Philipp Oeser [Mon, 12 Nov 2018 10:18:40 +0000 (11:18 +0100)]
Fix T57766: error in Quick Effects > Quick Fur

Maniphest Tasks: T57766

Differential Revision: https://developer.blender.org/D3933

14 months agoMerge branch 'master' into blender2.8
Sergey Sharybin [Mon, 12 Nov 2018 10:02:46 +0000 (11:02 +0100)]
Merge branch 'master' into blender2.8

14 months agoCycles: Proper comment for closing header guard
Sergey Sharybin [Mon, 12 Nov 2018 10:02:10 +0000 (11:02 +0100)]
Cycles: Proper comment for closing header guard

14 months agoFix T57713: Object not selecteable after separate strokes
Antonioya [Mon, 12 Nov 2018 09:08:49 +0000 (10:08 +0100)]
Fix T57713: Object not selecteable after separate strokes

The object was duplicated in Edit mode.