Page MenuHome

Grease Pencil merge tasks
Closed, ResolvedPublicTO DO

Description

Parent task to keep track of all GP branch merge related tasks.

Differential (mega-patch) task, with more links: D2889

Blocking Subtasks / Changes required before merge

  • Migrate Palettes and Palette Colors to Materials. - Needs code review. Some UI design issues remain (T54896)
  • Solve Depsgraph issues adding multiple GP Objects.
  • Enable depsgraph relationships with Materials.
  • Rename Array modifier. - Is now known as the "Instance" modifier 7a5747d5596
  • Convert operators to COW. - In progress.
    • Set up API for accessing COW evaluated GP data 356ce71a5f2 [Joshua]
    • Tag GP datablocks as needing updates [Antonio]
    • Check operators to know that COW data in appropriate operators is configured [Joshua/Antonio]
  • Refactor of UI, using new toolbars. [Postponed till after after merge. See T54896 for design decisions]
  • Disable temporarily VFX modifiers. - These are now removed from the branch. A replacement design can be worked on after the merge (as a more general system)
  • Fix issues (naming, DNA/draw-api/ID-handling, etc.) identified during code review (T55002)
  • Fix vertex group data storage issues identified during code review (T55002)

Postponed Issues

  • Convert Modifiers to use COW. [Too complex to get working before during codequest / before 2.8 DNA lockdown/Spring deadline]
    • Recode evaluation internals to occur in DEG callback instead of in draw manager + Remove current ghash-cache [Joshua]
    • Update modifiers [Joshua/Antonio]
  • Annotations support - i.e. "basic" GP features - as in 2.75/6, for non-3D view, workflow non-art use cases (T55455)

Other Todo's

  • Updated design docs (on wiki)
  • User documentation

Revisions and Commits

Related Objects

StatusSubtypeAssignedTask
ResolvedTO DOJoshua Leung (aligorith)
ResolvedDESIGNJoshua Leung (aligorith)
ResolvedTO DOJoshua Leung (aligorith)
InvalidDESIGNWilliam Reynish (billreynish)
ResolvedTO DOJoshua Leung (aligorith)
InvalidTO DOBrecht Van Lommel (brecht)
ResolvedJoshua Leung (aligorith)
ResolvedTO DOAntonio Vazquez (antoniov)
ResolvedTO DOAntonio Vazquez (antoniov)
ResolvedTO DOAntonio Vazquez (antoniov)
ResolvedTO DOAntonio Vazquez (antoniov)
ResolvedTO DOAntonio Vazquez (antoniov)
ResolvedTO DOAntonio Vazquez (antoniov)
InvalidTO DOAntonio Vazquez (antoniov)
ResolvedDESIGNAntonio Vazquez (antoniov)
ResolvedTO DOAntonio Vazquez (antoniov)
ResolvedTO DOAntonio Vazquez (antoniov)
ResolvedTO DOJoshua Leung (aligorith)
ResolvedCampbell Barton (campbellbarton)
ResolvedCampbell Barton (campbellbarton)
ResolvedTO DOAntonio Vazquez (antoniov)
ResolvedTO DOJoshua Leung (aligorith)
ResolvedDESIGNWilliam Reynish (billreynish)
ResolvedTO DOAntonio Vazquez (antoniov)
ResolvedAntonio Vazquez (antoniov)
ResolvedTO DOAntonio Vazquez (antoniov)

Event Timeline

We have the following subtask:

  • Migrate Palettes and Palette Colors to Materials.
  • Solve Depsgraph issues adding multiple GP Objects.
  • Enable depsgraph relationships with Materials.
  • Rename Array modifier.
  • Convert Modifiers to use COW. ->After merge
  • Convert operators to COW.
  • Refactor of UI, using new toolbars. ->After merge
  • Disable temporarily VFX modifiers.
  • Refactor weight data to use MDeformVert/MDeformWeight structs.

@Joshua Leung (aligorith) do you need add them in phabricator as subtask?

Regarding the UI (topbar/toolbar) changes:
After discussing with Campbell, it's probably better that we leave any changes here to after the merge. The toolbar stuff is still very much a moving target, so it's best to let that settle down for a week or so first. But, in the meantime, we can still continue any UI design work in preparation for that point.

I have completed the rename of Array modifier to Instance Modifier.

@Antonio Vazquez (antoniov):
If/while you're waiting for other cleanups to do, go through and replace all the BKE_gpencil_batch_cache_dirty(gpd); calls in the GP operator code with DEG_id_tag_update(id, OB_RECALC_OB | OB_RECALC_DATA);

@Joshua Leung (aligorith) Ok, I'm going to change BKE_gpencil_batch_cache_dirty(gpd).

@Joshua Leung (aligorith) I guess you mean:

DEG_id_tag_update(gpd->id, OB_RECALC_OB | OB_RECALC_DATA);

@Joshua Leung (aligorith) I think this is what you wanted: 8098dc3d108c

Let me know if I need change it (specially anim_channels_defines.c, I was not totally sure about this).

I've just done a merge of 2.8 into the branch. We should now be up to date again, to keep working in sync, until the upcoming collections changes break things again.

@Joshua Leung (aligorith) I have tested:

Depsgraph issues adding multiple GP Objects

With last 2.8 merge works, so we can set task as done.

Dalai Felinto (dfelinto) changed the status of subtask T55002: GP Branch Review Meeting (11 May) from Unknown Status to Resolved.May 14 2018, 10:21 AM

After receive the feedback from @Campbell Barton (campbellbarton) and @Joshua Leung (aligorith) I have moved the weights data from the points from bGPDspoint struct to bGPDstroke and I have created a separated array of MDeformVert (and MDeformWeight). Now the weighst use the same logic used for Meshes and Lattice.

I had to make a lot of changes in memory allocation, so this big refactor could produce some bug. We will test during next days to fix any issue.

This change has broken a little more the compatibility with Hero open movie files, but as we had a lot of breaks already, this is only one more.

ToDo tasks:

· Review Keymaps conflicts ( see T55162)
· Review mode switching with new keymaps

There are conflicts with some keymaps, like brush change, with the new mode change keymaps. (Some were removed here aa722e8193a6)

We need adapt the shared modes (for example 5 key) to switch to GP draw mode for OB_GPENCIL Objects.

Brecht Van Lommel (brecht) renamed this task from Grease Pencil Branch Merge (Parent Task) to Grease Pencil Tasks.Aug 13 2018, 11:34 AM
Brecht Van Lommel (brecht) renamed this task from Grease Pencil Tasks to Grease Pencil (parent task).Aug 13 2018, 11:36 AM
Brecht Van Lommel (brecht) moved this task from Doing to Release Targets on the Code Quest board.
Brecht Van Lommel (brecht) triaged this task as Low priority.Oct 2 2018, 12:49 PM
Brecht Van Lommel (brecht) moved this task from Doing to Release Targets on the Code Quest board.
Brecht Van Lommel (brecht) changed the status of subtask T55388: Grease Pencil additional ToDo (Parent Task) from Unknown Status to Unknown Status.Nov 19 2018, 1:40 PM
Brecht Van Lommel (brecht) changed the status of subtask T54896: GP Branch: UI design for topbar/tools integration from Unknown Status to Unknown Status.Nov 19 2018, 2:13 PM
Brecht Van Lommel (brecht) renamed this task from Grease Pencil (parent task) to Grease Pencil merge tasks.Nov 19 2018, 2:23 PM
Brecht Van Lommel (brecht) updated the task description. (Show Details)
Antonio Vazquez (antoniov) changed the task status from Unknown Status to Resolved.May 28 2019, 5:17 PM