# Reflecting on the Reflection Tag

I was answering & editing a question involving (one kind of) reflection recently and noticed our tag currently has no tag guidance and a mix of three very different meanings:

• Reflection rendering: visually representing the way that light bounces off surfaces and can produce images of surrounding objects.

• Physics/geometric reflection: calculating the velocity with which one object should bounce off another, or taking a chiral game entity and producing its mirror image.

(Technically the real-world physics of this interpretation have a lot in common with the visible light case, but in games we'll generally be applying the math through very different sets of code / tools)

• Code reflection: software that introspects its own structure and types at runtime.

I think some cleanup here is due. Before making changes I want to solicit input on what the best way to disentangle these might be.

• +1 just for the nice title. Good topic, too though. – The Mattbat999 Oct 31 '17 at 0:34

My current thought:

1. Re-tag the questions about visual effects with reflection-rendering

• Make reflection a synonym of reflection-rendering since it's the most common use.
2. Un-tag the questions related to physics bounces / transform manipulation. I think these topics are already adequately categorized by the , , and tags.

3. Create a new reflection-code tag for the computer science meaning of reflection, with explicit tag guidance to use reflection-rendering if asking about how to code reflection shaders and the like. ;)

(I was tempted to call this "introspection," but I think "reflection" is the first thing most devs type, so I think the tag is more discoverable this way. I don't have any hard evidence though, so please let me know if you agree or would prefer a different alternative)

• Could also call the code-tag reflection-introspection. I'll admit that I do not recall ever hearing the word "introspection" before, but with a proper tag wiki and description I'm sure programmers would go "yes, that is the thing I want." e.g. pulling the first sentence from wikipedia "Reflection is the ability of a computer program to examine, introspect, and modify its own structure and behavior at runtime." – Draco18s Oct 30 '17 at 3:24
• When typing to search for tags, the tag search engine will present all tags that match what's being typed. So instead of reflection-code, the tag should be named code-reflection which is closer to proper English (right?). When typing "reflection", users will be prompted with code-reflection. – Vaillancourt Oct 30 '17 at 12:11
• About introspection: if we feel that it is needed, we could simply create a synonym from code-introspection to code-reflection. – Vaillancourt Oct 30 '17 at 12:16
• Alright, I'm going to put this into practice tonight in-between handing out candy for the trick-or-treaters. I think I'll take @AlexandreVaillancourt's suggestion re: code-reflection as that sounds better to my ear too If anyone wants to help with the re-tagging, feel free to dive in. :) – DMGregory Oct 31 '17 at 16:26