So, just in case anyone else wants to try my AI test for themselves, here's the setup.

a mac app with a left sidebar — an NSOutlineView subclass. assume the view has a view controller and a class that handles delegate callbacks.

the outline view is set to "SourceList" mode. this is important.

the new feature is to have the default source-list drag-image for reordering rows — but a custom drag-image when the drag leaves the outline view.

that's it. easy peasy, right!!?

@isaiah Huh, I don't think I've actually used this API before! Taking a quick look, is the idea to grab the dragging session, enumerate the items and set your custom image components on them if the drag location is outside the outline view?

And why does it matter if it's a source list style?

@bwebster both the dragging source and dragging destination provide a way to enumerate the drag items.

you can either pull the model objects out of the pasteboard (you'll have to put them there too) in the pasteboard writer.

in my implementation i simply cache the dragged model objects when the drag begins. the dragging enumerator of the draggingItems is always in the same order. that avoids archiving/unarchiving objects to the pasteboard.

but both work well in practice.

@isaiah OK, to make sure I understand, is this the idea of what you're looking for? (the custom image is just a very squashed SF symbol)
@bwebster yep. exactly. obviously with a few more details like dragging multiple items. but that’s the basic idea. did Claude give you that?

@isaiah Yup, this was Claude with Opus 4.6. Just did it in PowerPhotos because I happen to have a source list outline view there.

My prompt was: “I would like to customize the images being dragged from the library list when the drag moves outside the library list. When the drag is still inside the library list, it should use the default images provided by NSOutlineView, but when the drag is elsewhere, they should be replaced with the "exclamation" SF Symbol image.”

@isaiah I had to remove one superclass call from a dragging source method, since NSOutlineView didn't actually implement the method itself, but otherwise it pretty much just spit it out.

@bwebster wow. yeah, none of the tools i tried knew intrinsically that it needed to do *anything* to the outline view. every tool i’ve tried assumed that the delegate callback was the right place.

currently the latest GPT model is attempting to put the code into the drag destination. it’s an ok way forward , but it has yet to create a build that does anything to the drag image. i’m on my sixth try and the last three builds just crash.

@isaiah I dunno, I think I'm gonna go ahead and blame your cursed iCloud account somehow.