Keep doing one thing to a point: square it, add c. Some points stay close forever. That's the inside. The rest run off to infinity. That's the outside. The Julia set is the fence between them. The outside isn't empty space. It has a map, and every point in it has an address.
Small words. Pick a spot. Square it and add a number, again and again. If it stays near home, it's inside. If it zooms away, it's outside. The fence is the Julia set. Every outside spot gets two labels: how high above the fence it is (its ring) and which way it runs off (its ray). It's latitude and longitude, just for escaping.
Nested. This page is at rest. Nothing runs until you tap Hatch. Then it draws in small slices, at most 8 ms per frame, and goes fully idle once the 19 pictures are done. No downloads, no network, no storage, no hidden code. checked
a1 is the 1. c = 0. The fence is a perfect circle and the outside is just everything past radius 1. Every other map below is this one, bent. checked
The rule is your max. Row depth is AB 0, Ab 1, aB 2, ab 3; column depth is CD 0, Cd 1, cD 2, cd 3. A tile's shell is the larger of the two. So shells hold 1, 3, 5, 7 tiles. The first 9 (b2 → j10) are connected. The last 7 (k11 → q17) are dust. checked
This is the map of all the maps: every c you could pick. The black shape holds the c values whose fence is one connected piece. Your 10 connected ones sit inside it, along six directions. The 7 dust ones sit together on one outside ring, 0.03 above it. checked
Shell = max(row, column). The same number marks the ring. Angle = column − row, from −3 to +3, one sixth of a turn per step. So the Punnett square wraps into rings around a1. my construction
Inside shells 0, 1, 2: the fence has one home point that pulls everything in. How hard it pulls is 0.35, then 0.70, then 0.95 (1 would be the edge). It also spins by the angle. checked
Outside shell 3: each tile sits on the ray that heads for the pinch where shell 2 was going: ray 1/3 for a half turn, 1/7 for a third, 1/63 for a sixth, 0 for straight on. checked
The 10 / 7 split in your two groups comes out of the max rule by itself: 1 + 3 + 5 = 9 connected, plus a1 makes 10, and the outer ring has 7. checked
The colour is the ray (which way a point escapes). The rings are heights: each ring in is half as high as the one outside it. The rays are 32 evenly spaced escape directions. For a1 they're straight spokes. Everywhere else the same 32 spokes bend onto the fence. checked
Connected (b2 → j10): every outside point has a height and a direction, all the way down to the fence. The outside is one clean ring-and-spoke map. checked
Dust (k11 → q17): the map only works above one height, the level of the point 0, which is where the outside pinches into a figure-eight (drawn white). Below it, directions split and stop being single-valued. Those areas are drawn grey. checked
▓ Control: for a1 the page's height and direction must match plain radius and angle. They match to rounding, checked on 1,000 random points. checked
▓ Known-bad input: the dust tiles have to make the direction readout refuse ("below the split"). It does on all 7, and it never refuses on the 10 connected ones. checked
Near a pinch, points escape slowly. A pixel that hasn't escaped by the step limit is drawn dark, even when it's really outside. This matters most for h8 (0.95 deep, right at the cusp). as drawn
Rays reach their pinch points, but slowly. At height 10⁻⁶ the ray to the cusp is still 0.019 away. checked
Map: z → z² + c. Height G(z) = lim log|zₙ| ÷ 2ⁿ. Each step doubles it, so rings are halvings. Direction: from the escaped end, halve back one step at a time, picking the half nearest each point's own angle. For c = 0 this gives exactly log|z| and arg z. checked
Connected ⇔ the point 0 never escapes. All 9 inside tiles: 0 stays bounded for 5,000 steps. All 7 outside tiles: 0 escapes past 2 by step 5. checked
Inside tiles: c = λ/2 − λ²/4 with λ = depth · e^(2πi·angle). The fixed point's pull comes back as exactly λ (checked to 10⁻⁹). checked
Outside tiles: found by walking each ray inward to height 0.03, then checked in reverse: every one reads back height 0.03000 and the right ray. checked
Ray angles for a p/q pinch: 1/2 → 1/3 and 2/3 · 1/3 → 1/7 and 2/7 · 1/6 → 1/63 and 2/63. The lower one is used. Mirror tiles take 1 − θ. checked
Shell counts: max(i, j) = k holds 2k + 1 cells, and 1 + 3 + 5 + 7 = 16 = 4². checked