I have a use case to essentially bookmark the content that is the augmentation for viewing later. For example, I have a video associated with an image and would like the user be able to return to the content inside my app in the absence of the image recognition.
I do not understand exactly what your use case is. If you want the augmentation to be displayed even if the image target is lost then you can use the functionality 'Snap to Screen'.
In our case, the user would approach a poster. I think the snap to screen would address the issue of the user walking away from the poster while viewing a video. The specific issue I'm confronted with is bookmarking the content from the augmentation when away from the poster. I assume I would want to do something like grab the URI of the video inside of project.js and store it locally for offline reference. I realize this is a bit of a fringe case.
I think you have the right idea already. What you'd need to do is store a local reference for each of the augmentations you want to have bookmarked. You'd do that upon recognising a target in the corresponding callback function which provides the target that has been recognised as an input parameter.
Since the mapping of target and augmentation is something you define beforehand in your code, the name of the target should be enough to know which asset (video, image, etc.) to load when the user accesses bookmarked content.
That leaves the question of how to display your augmentations independently of the Wikitude SDK tracking algorithms. I believe there are two ways you could go about this:
I believe this would work well for image and video augmentations, but you wouldn't be able to display 3D models in HTML; at least not trivially.
#2 Use the Positionable API of the Wikitude SDK.
The AR.Positionable class allows you to place augmentations of the Wikitude SDK (AR.ImageDrawable, AR.VideoDrawable, AR.Model, etc.) at positions defined by a plugin. This would allow you to use the rendering capabilities of the Wikitude SDK, but would require you to write a C++ plugin that places the content where you need it to be. A detailed description of this process can be found here.