Thread:Fandyllic/@comment-27075564-20170724155029/@comment-1077307-20171127024728

https://vignette.wikia.nocookie.net/central/images/3/3f/Wiki_Map_on_Toads-Elder_Scrolls_Auridon-Notes_taking_Metadata_from_Map.png/revision/latest/scale-to-width-down/900 Wiki Map on Toads - Auridon in Elder Scrolls - Notes deferred render using Map extent metadata

This may not seem like much, but was the last truly difficult issue. Now users can use the new functionality required for Witcher and others by using the normal and well understood Map syntax.

This shows Map/Note deferring its render until Map template can define the actual Map extents. This allows the wiki user to use the simple usual call structure shown in the image and set the map name once. Without this defining a map with arbitrary attributes on a wiki page for a regular user would have been more complex.

Because the notes are a parameter of Map they get called first, and cannot know ahead of time what the properties of the current map are, without telling each note individually or calling a second template before Map is called. This was overcome by Note partially rendering what it could based what is can assume by itself, and then having Note leave patches of its output as "deferred" for template preprocessing, to get processed rendered just-in time later by Map itself, after the proper whole Map metadata is setup.

This was not an issue for WoW because every map was the same size and scale with the same self contained coordinate extents. After scouring the inter-wikis for a sampling of existing embedded or pop-up wiki maps, I picked an example that was typical of the usual one-off hard-coded implementations that still exist, where the existing extents on their site in this case were 0,0 to 700,700. And was able to find/replace modify their wiki code to a list of points you see in the image above. Except for adjusting for their icon centering, the points you see in the list are pretty much verbatim of their original coordinates. The extents needed to project those points for that map were added to in Map/File, which ended up looking pretty simple in wiki code.