Shakashaka

Description
Shakashaka is a binary determination puzzle in which the cells in a grid are left unshaded or half-shaded into triangles.

Rules
The objective is to divide the grid into unshaded rectangles subject to the following rules:


 * 1) No two rectangles can share an edge.
 * 2) Cells can only be half-shaded into triangles, or left unshaded.
 * 3) Numbers in some cells denote the number of edges it shares with the shaded triangles.