Screencast Keys Addon: Improved mouse silhouette, fixed box width to fit to text...
[blender-addons.git] / modules / rna_wiki_reference.py
blob4d6dcca843dea003309aea54a5ff16037082505c
1 # RNA WIKI REFERENCE
3 # This file maps RNA to online URL's for right mouse context menu documentation access
5 # To make international, we made a script,
6 # pointing the manuals to the proper language,
7 # specified in the 'User Preferences Window' by the users
8 # Some Languages have their manual page, using a prefix or
9 # being preceeded by their respective reference, for example
11 # Doc:2.6 --> Doc:FR/2.6
13 # The table in the script, contains all of the languages we have in the
14 # Blender wiki website, for those other languages that still
15 # doesn't have a team of translators, and/or don't have a manual for their languages
16 # we commented the lines below, you should add them to the language table
17 # when they have a proper manual in our Blender wiki, or added
18 # to the Blender UI translation table
19 # The Blender wiki manual uses a list of ISO_639-1 codes to convert languages to wiki manual prefixes
21 # "DANISH": "DK", - Present in the wiki manual, but not present in Blender UI translations table
22 # "FARSI": "FA", - Present in the wiki manual, but not present in Blender UI translations table
23 # "KOREAN": "KO", - Present in the wiki manual, but not present in Blender UI translations table
24 # "LITHUANIAN": "LT", - Present in the wiki manual, but not present in Blender UI translations table
25 # "MACEDONIAN": "MK", - Present in the wiki manual, but not present in Blender UI translations table
26 # "MONGOLIAN": "MN", - Present in the wiki manual, but not present in Blender UI translations table
27 # "ROMANIAN": "RO", - Present in the wiki manual, but not present in Blender UI translations table
29 # "ESTONIAN": "ET", - Present in the wiki, as an empty page, not present in UI translations table
31 # "CROATIAN": "HR", - Present in Blender UI translations table, but without wiki manual
32 # "KYRGYZ": "KY", - Present in Blender UI translations table, but without wiki manual
33 # "NEPALI": "NE", - Present in Blender UI translations table, but without wiki manual
34 # "PERSIAN": "FA", - Present in Blender UI translations table, but without wiki manual
35 # "HEBREW": "HE", - Present in Blender UI translations table, but without wiki manual
36 # "HUNGARIAN": "HU", - Present in Blender UI translations table, but without wiki manual
37 # "SERBIAN_LATIN": "SR", - Present in Blender UI translations table, but without wiki manual
39 # NOTES:
41 # CHINESE - Present in the wiki as simplified chinese, for both the traditional and simplified
42 # PORTUGUESE - Present in the wiki for both Portuguese and Brazilian Portuguese
43 # THAILANDESE - It's the same being used for Turkish in the wiki
45 # URL prefix is the: url_manual_prefix + url_manual_mapping[id]
47 url_manual_prefix = "http://wiki.blender.org/index.php/Doc:2.6/Manual/"
49 LANG = {
50 "ARABIC": "AR",
51 "BULGARIAN": "BG",
52 "CATALAN": "CA",
53 "CZECH": "CZ",
54 "GERMAN": "DE",
55 "GREEK": "EL",
56 "RUSSIAN": "RU",
57 "SERBIAN": "SR",
58 "SWEDISH": "SV",
59 "TURKISH": "TH",
60 "UKRAINIAN": "UK",
61 "SPANISH": "ES",
62 "FINNISH": "FI",
63 "FRENCH": "FR",
64 "INDONESIAN": "ID",
65 "ITALIAN": "IT",
66 "JAPANESE": "JA",
67 "DUTCH": "NL",
68 "POLISH": "PL",
69 "PORTUGUESE": "PT",
70 "BRAZILIANPORTUGUESE": "PT",
71 "SIMPLIFIED_CHINESE": "ZH",
72 "TRADITIONAL_CHINESE": "ZH",
73 }.get(__import__("bpy").context.user_preferences.system.language)
75 url_manual_prefix = url_manual_prefix \
76 if LANG is None \
77 else url_manual_prefix.replace("Doc:2.6", "Doc:" + LANG + "/" + "2.6")
79 # - The first item is a wildcard - typical file system globbing
80 # using python module 'fnmatch.fnmatch'
81 # - Expressions are evaluated top down (include catch-all expressions last).
83 url_manual_mapping = (
85 # *** User Prefs ***
86 ("bpy.types.UserPreferences.*", "Preferences"),
87 ("bpy.types.UserPreferencesView.*", "Preferences/Interface"),
88 ("bpy.types.UserPreferencesEdit.*", "Preferences/Editing"),
89 ("bpy.types.UserPreferencesInput.*", "Preferences/Input"),
90 ("bpy.ops.wm.addon_*", "Preferences/Addons"),
91 ("bpy.types.Theme.*", "Preferences/Themes"),
92 ("bpy.types.UserPreferencesFilePaths.*", "Preferences/File"),
93 ("bpy.types.UserPreferencesSystem.*", "Preferences/System"),
94 ("bpy.types.UserSolidLight.*", "Preferences/System"),
96 # *** Modifiers ***
97 # --- Intro ---
98 ("bpy.types.Modifier.show_*", "Modifiers/The_Stack"),
99 ("bpy.types.Modifier.*", "Modifiers"), # catchall for various generic options
100 # --- Modify Modifiers ---
101 ("bpy.types.MeshCacheModifier.*", "Modifiers/Modify/Mesh_Cache"),
102 ("bpy.types.UVProjectModifier.*", "Modifiers/Modify/UV_Project"),
103 ("bpy.types.UVWarpModifier.*", "Modifiers/Modify/UV_Warp"),
104 ("bpy.types.VertexWeightMixModifier.*", "Modifiers/Modify/Vertex_Weight"),
105 ("bpy.types.VertexWeightEditModifier.*", "Modifiers/Modify/Vertex_Weight"),
106 ("bpy.types.VertexWeightProximityModifier.*", "Modifiers/Modify/Vertex_Weight"),
107 # --- Generate Modifiers ---
108 ("bpy.types.ArrayModifier.*", "Modifiers/Generate/Array"),
109 ("bpy.types.BevelModifier.*", "Modifiers/Generate/Bevel"),
110 ("bpy.types.BooleanModifier.*", "Modifiers/Generate/Booleans"),
111 ("bpy.types.BuildModifier.*", "Modifiers/Generate/Build"),
112 ("bpy.types.DecimateModifier.*", "Modifiers/Generate/Decimate"),
113 ("bpy.types.EdgeSplitModifier.*", "Modifiers/Generate/Edge_Split"),
114 ("bpy.types.MaskModifier.*", "Modifiers/Generate/Mask"),
115 ("bpy.types.MirrorModifier.*", "Modifiers/Generate/Mirror"),
116 ("bpy.types.MultiresModifier.*", "Modifiers/Generate/Multiresolution"),
117 ("bpy.types.RemeshModifier.*", "Modifiers/Generate/"),
118 ("bpy.types.ScrewModifier.*", "Modifiers/Generate/Screw"),
119 ("bpy.types.SkinModifier.*", "Modifiers/Generate/Skin"),
120 ("bpy.types.SolidifyModifier.*", "Modifiers/Generate/Solidify"),
121 ("bpy.types.SubsurfModifier.*", "Modifiers/Generate/Subsurf"),
122 ("bpy.types.TriangulateModifier.*","Modifiers/Generate/Triangulate"),
123 # --- Deform Modifiers ---
124 ("bpy.types.ArmatureModifier.*", "Modifiers/Deform/Armature"),
125 ("bpy.types.CastModifier.*", "Modifiers/Deform/Cast"),
126 ("bpy.types.CurveModifier.*", "Modifiers/Deform/Curve"),
127 ("bpy.types.DisplaceModifier.*", "Modifiers/Deform/Displace"),
128 ("bpy.types.HookModifier.*", "Modifiers/Deform/Hooks"),
129 ("bpy.types.LaplacianSmoothModifier.*", "Modifiers/Deform/Laplacian_Smooth"),
130 ("bpy.types.LatticeModifier.*", "Modifiers/Deform/Lattice"),
131 ("bpy.types.MeshDeformModifier.*", "Modifiers/Deform/Mesh_Deform"),
132 ("bpy.types.ShrinkwrapModifier.*", "Modifiers/Deform/Shrinkwrap"),
133 ("bpy.types.SimpleDeformModifier.*", "Modifiers/Deform/Simple_Deform"),
134 ("bpy.types.SmoothModifier.*", "Modifiers/Deform/Smooth"),
135 # ("bpy.types.SurfaceModifier.*", "Modifiers/Deform/"), # USERS NEVER SEE THIS
136 ("bpy.types.WarpModifier.*", "Modifiers/Deform/Warp"),
137 ("bpy.types.WaveModifier.*", "Modifiers/Deform/Wave"),
138 # --- Simulate Modifiers ---
139 ("bpy.types.ClothModifier.*", "Physics/Cloth"),
140 ("bpy.types.CollisionModifier.*", "Physics/Collision"),
141 ("bpy.types.DynamicPaintModifier.*", "Physics/Dynamic_Paint"),
142 ("bpy.types.ExplodeModifier.*", "Modifiers/Simulate/Explode"),
143 ("bpy.types.FluidSimulationModifier.*", "Physics/Fluid"),
144 ("bpy.types.OceanModifier.*", "Modifiers/Simulate/Ocean"),
145 ("bpy.types.ParticleInstanceModifier.*", "Modifiers/Simulate/Particle_Instance"),
146 ("bpy.types.ParticleSystemModifier.*", "Physics/Particles"),
147 ("bpy.types.SmokeModifier.*", "Physics/Smoke"),
148 ("bpy.types.SoftBodyModifier.*", "Physics/Soft_Body"),
150 # *** Constraints ***
151 ("bpy.types.Constraint.*", "Constraints"),
152 ("bpy.types.Constraint.mute", "Constraints/The_Stack"), # others could be added here?
153 # --- Transform Constraints ---
154 ("bpy.types.CopyLocationConstraint.*", "Constraints/Transform/Copy_Location"),
155 ("bpy.types.CopyRotationConstraint.*", "Constraints/Transform/Copy_Rotation"),
156 ("bpy.types.CopyScaleConstraint.*", "Constraints/Transform/Copy_Scale"),
157 ("bpy.types.CopyTransformsConstraint.*", "Constraints/Transform/Copy_Transforms"),
158 ("bpy.types.LimitDistanceConstraint.*", "Constraints/Transform/Limit_Distance"),
159 ("bpy.types.LimitLocationConstraint.*", "Constraints/Transform/Limit_Location"),
160 ("bpy.types.LimitRotationConstraint.*", "Constraints/Transform/Limit_Rotation"),
161 ("bpy.types.LimitScaleConstraint.*", "Constraints/Transform/Limit_Scale"),
162 ("bpy.types.MaintainVolumeConstraint.*", "Constraints/Transform/Maintain_Volume"),
163 ("bpy.types.TransformConstraint.*", "Constraints/Transform/Transformation"),
164 # --- Tracking Constraints ---
165 ("bpy.types.ClampToConstraint.*", "Constraints/Tracking/Clamp_To"),
166 ("bpy.types.DampedTrackConstraint.*", "Constraints/Tracking/Damped_Track"),
167 ("bpy.types.KinematicConstraint.*", "Constraints/Tracking/IK_Solver"),
168 ("bpy.types.LockedTrackConstraint.*", "Constraints/Tracking/Locked_Track"),
169 ("bpy.types.SplineIKConstraint.*", "Constraints/Tracking/Spline_IK"),
170 ("bpy.types.StretchToConstraint.*", "Constraints/Tracking/Stretch_To"),
171 ("bpy.types.TrackToConstraint.*", "Constraints/Tracking/Track_To"),
172 # --- Relationship Constraints ---
173 ("bpy.types.ActionConstraint.*", "Constraints/Relationship/Action"),
174 ("bpy.types.CameraSolverConstraint.*", "Motion_Tracking"), # not exact match
175 ("bpy.types.ChildOfConstraint.*", "Constraints/Relationship/Action"),
176 ("bpy.types.FloorConstraint.*", "Constraints/Relationship/Child_Of"),
177 ("bpy.types.FollowPathConstraint.*", "Constraints/Relationship/Floor"),
178 ("bpy.types.FollowTrackConstraint.*", "Constraints/Relationship/Follow_Path"),
179 ("bpy.types.ObjectSolverConstraint.*", "Motion_Tracking"), # not exact match
180 ("bpy.types.PivotConstraint.*", "Constraints/Relationship/Pivot"),
181 ("bpy.types.PythonConstraint.*", "Constraints/Relationship/Script"),
182 ("bpy.types.RigidBodyJointConstraint.*", "Constraints/Relationship/Rigid_Body_Joint"),
183 ("bpy.types.ShrinkwrapConstraint.*", "Constraints/Relationship/Shrinkwrap"),
185 ("bpy.types.ImageFormatSettings.*", "Render/Output#File_Type"),
186 ("bpy.types.RenderSettings.filepath", "Render/Output#File_Locations"),
187 ("bpy.types.RenderSettings.display_mode", "Render/Display#Displaying_Renders"),
188 ("bpy.types.RenderSettings.*", "Render"), # catchall, TODO - refine
190 # *** ID Subclasses ***
191 ("bpy.types.Action.*", "Animation/Actions"),
192 #("bpy.types.Brush.*", ""), # TODO - manual has no place for this! XXX
193 ("bpy.types.Curve.*", "Modeling/Curves"),
194 ("bpy.types.GreasePencil.*", "3D_interaction/Sketching/Drawing"),
195 ("bpy.types.Group.*", "Modeling/Objects/Groups_and_Parenting#Grouping_objects"),
196 ("bpy.types.Image.*", "Textures/Types/Image"),
197 ("bpy.types.ShapeKey.*", "Animation/Techs/Shape/Shape_Keys"), # not an ID but include because of Key
198 ("bpy.types.Key.*", "Animation/Techs/Shape/Shape_Keys"),
199 #("bpy.types.Lattice.*", ""), # TODO - manual has no place for this! XXX
200 ("bpy.types.Library.*", "Manual/Data_System/Linked_Libraries"),
201 #("bpy.types.Mask.*", ""), # TODO - manual has no place for this! XXX
202 # *** Materials (blender internal) ***
203 ("bpy.types.Material.diffuse*", "Materials/Properties/Diffuse_Shaders"),
204 ("bpy.types.Material.specular*", "Materials/Properties/Specular_Shaders"),
205 ("bpy.types.Material.ambient*", "Materials/Properties/Ambient_Light_Effect"),
206 ("bpy.types.Material.preview_render_type", "Materials/Preview"),
207 ("bpy.types.Material.*", "Materials"), # catchall, until the section is filled in
209 ("bpy.types.MaterialSlot.link", "Materials/Options#Material_naming_and_linking"),
210 ("bpy.types.MaterialVolume.*", "Materials/Properties/Volume"),
211 ("bpy.types.MaterialHalo.*", "Materials/Halos"),
212 ("bpy.types.MaterialStrand.*", "Materials/Properties/Strands"),
213 ("bpy.types.MaterialSubsurfaceScattering.*", "Materials/Properties/Subsurface_Scattering"),
214 ("bpy.types.MaterialRaytraceMirror.*", "Materials/Properties/Raytraced_Reflections"),
215 ("bpy.types.MaterialRaytraceTransparency.*", "Materials/Properties/Raytraced_Transparency#Raytraced_Transparency"),
216 # ... todo, many more options
217 ("bpy.types.MovieClip.*", "Motion_Tracking#Movie_Clip_Editor"),
218 ("bpy.types.MovieTrackingCamera.*", "Motion_Tracking#Camera_Data_Panel"),
219 ("bpy.types.MovieTrackingStabilization.*", "Motion_Tracking#Tools_available_in_reconstruction_mode"),
220 ("bpy.types.MovieTrackingTrack*", "Motion_Tracking#Tools_available_in_tracking_mode"),
221 ("bpy.types.MovieTracking*", "Motion_Tracking"),
222 ("bpy.types.SpaceClipEditor.*", "Motion_Tracking#Movie_Clip_Editor"),
223 ("bpy.types.ColorManaged*", "Render/Post_Process/CM_And_Exposure"),
224 #("bpy.types.NodeTree.*", ""), # dont document
225 ("bpy.types.Object.*", "Modeling/Objects"), # catchall, TODO - refine
226 ("bpy.types.ParticleSettings.*", "Physics/Particles"),
227 ("bpy.types.Scene.*", "Interface/Scenes"),
228 ("bpy.types.Screen.*", "Interface/Screens"),
229 #("bpy.types.Sound.*", ""), # TODO - manual has no place for this! XXX
230 #("bpy.types.Speaker.*", ""), # TODO - manual has no place for this! XXX
231 ("bpy.types.Text.*", "Extensions/Python/Text_editor"),
232 ("bpy.types.Texture.*", "Textures"),
233 ("bpy.types.VectorFont.*", "Modeling/Texts"),
234 ("bpy.types.WindowManager.*", "Interface/Window_system"),
235 ("bpy.types.World.*", "World"),
236 ("bpy.types.WorldLighting.*ao*", "Lighting/Ambient_Occlusion"),
237 ("bpy.types.WorldLighting.*ambient*", "Lighting/Ambient_Occlusion"),
238 ("bpy.types.WorldLighting.*environment*", "Lighting/Ambient_Light"),
239 ("bpy.types.WorldLighting.*", "Lighting/Ambient_Occlusion#Gather"), # only other WorldLighting props are in Gather panel
241 # *** Cycles ***
242 ("bpy.types.CyclesRenderSettings.*", "Render/Cycles/Integrator"),
243 ("bpy.types.CyclesVisibilitySettings.*", "Render/Cycles/Light_Paths#Ray_Visibility"),
244 ("bpy.types.CyclesWorldSettings.*", "Render/Cycles/World"),
245 ("bpy.types.SceneRenderLayer.*pass*", "Render/Post_Process/Passes"),
246 ("bpy.types.SceneRenderLayer.*", "Render/Post_Process/Layers"),
247 ("bpy.types.Cycles*", "Render/Cycles"),
249 # Currently all manual links on all sockets and values (such as Fac, Roughness, Color...) are NodeSocket* type.
250 # It'd be much better if the name of the socket could be used for the manual reference
251 ("bpy.types.NodeSocket*", "Composite_Nodes/Node_Controls"), # no generic socket type page exists, but composite types are the same
253 # *** Cycles Material Nodes ***
254 # Outputs
255 ("bpy.types.ShaderNodeOutputLamp.*", "Render/Cycles/Lamps"),
256 ("bpy.types.ShaderNodeOutputMaterial.*", "Render/Cycles/Materials"),
257 ("bpy.types.ShaderNodeOutputWorld.*", "Render/Cycles/World"),
258 # Shaders
259 ("bpy.types.ShaderNodeAddShader.*", "Render/Cycles/Nodes/Shaders#Mix_and_Add"),
260 ("bpy.types.ShaderNodeAmbientOcclusion.*", "Render/Cycles/Nodes/Shaders#Ambient_Occlusion"),
261 ("bpy.types.ShaderNodeBackground.*", "Render/Cycles/Nodes/Shaders#Background"),
262 ("bpy.types.ShaderNodeBsdfAnisotropic.*", "Render/Cycles/Nodes/Shaders#Anisotropic"),
263 ("bpy.types.ShaderNodeBsdfDiffuse.*", "Render/Cycles/Nodes/Shaders#Diffuse"),
264 ("bpy.types.ShaderNodeBsdfGlass.*", "Render/Cycles/Nodes/Shaders#Glass"),
265 ("bpy.types.ShaderNodeBsdfGlossy.*", "Render/Cycles/Nodes/Shaders#Glossy"),
266 ("bpy.types.ShaderNodeBsdfHair.*", "Render/Cycles/Nodes/Shaders"), # TODO doc
267 ("bpy.types.ShaderNodeBsdfRefraction.*", "Render/Cycles/Nodes/Shaders#Refraction"),
268 ("bpy.types.ShaderNodeBsdfToon.*", "Render/Cycles/Nodes/Shaders#Toon"),
269 ("bpy.types.ShaderNodeBsdfTranslucent.*", "Render/Cycles/Nodes/Shaders#Translucent"),
270 ("bpy.types.ShaderNodeBsdfTransparent.*", "Render/Cycles/Nodes/Shaders#Transparent"),
271 ("bpy.types.ShaderNodeBsdfVelvet.*", "Render/Cycles/Nodes/Shaders#Velvet"),
272 ("bpy.types.ShaderNodeEmission.*", "Render/Cycles/Nodes/Shaders#Emission"),
273 ("bpy.types.ShaderNodeHoldout.*", "Render/Cycles/Nodes/Shaders#Holdout"),
274 ("bpy.types.ShaderNodeMixShader.*", "Render/Cycles/Nodes/Shaders#Mix_and_Add"),
275 ("bpy.types.ShaderNodeSubsurfaceScattering.*", "Render/Cycles/Nodes/Shaders#Subsurface_Scattering"),
276 ("bpy.types.ShaderNodeVolumeAbsorption.*", "Render/Cycles/Nodes/Shaders"), # TODO doc
277 ("bpy.types.ShaderNodeVolumeScatter.*", "Render/Cycles/Nodes/Shaders"), # TODO doc
278 # Textures
279 ("bpy.types.ShaderNodeTexBrick.*", "Render/Cycles/Nodes/Textures#Brick_Texture"),
280 ("bpy.types.ShaderNodeTexChecker.*", "Render/Cycles/Nodes/Textures#Checker_Texture"),
281 ("bpy.types.ShaderNodeTexEnvironment.*", "Render/Cycles/Nodes/Textures#Environment_Texture"),
282 ("bpy.types.ShaderNodeTexGradient.*", "Render/Cycles/Nodes/Textures#Gradient_Texture"),
283 ("bpy.types.ShaderNodeTexImage.*", "Render/Cycles/Nodes/Textures#Image_Texture"),
284 ("bpy.types.ShaderNodeTexMagic.*", "Render/Cycles/Nodes/Textures#Magic_Texture"),
285 ("bpy.types.ShaderNodeTexMusgrave.*", "Render/Cycles/Nodes/Textures#Musgrave_Texture"),
286 ("bpy.types.ShaderNodeTexNoise.*", "Render/Cycles/Nodes/Textures#Noise_Texture"),
287 ("bpy.types.ShaderNodeTexSky.*", "Render/Cycles/Nodes/Textures#Sky_Texture"),
288 ("bpy.types.ShaderNodeTexVoronoi.*", "Render/Cycles/Nodes/Textures#Voronoi_Texture"),
289 ("bpy.types.ShaderNodeTexWave.*", "Render/Cycles/Nodes/Textures#Wave_Texture"),
290 # Other
291 ("bpy.types.ShaderNodeAttribute.*", "Render/Cycles/Nodes/More#Attribute"),
292 ("bpy.types.ShaderNodeBlackbody.*", "Render/Cycles/Nodes/More#Blackbody"),
293 ("bpy.types.ShaderNodeBrightContrast.*", "Composite_Nodes/Types/Color#Bright.2FContrast"),
294 ("bpy.types.ShaderNodeBump.*", "Render/Cycles/Nodes/More#Bump"),
295 ("bpy.types.ShaderNodeCameraData.*", "Render/Cycles/Nodes/More"), # TODO doc
296 ("bpy.types.ShaderNodeCombineHSV.*", "Composite_Nodes/Types/Convertor#Separate.2FCombine_HSVA_Nodes"),
297 ("bpy.types.ShaderNodeCombineRGB.*", "Composite_Nodes/Types/Convertor#Separate.2FCombine_RGBA_Node"),
298 ("bpy.types.ShaderNodeFresnel.*", "Render/Cycles/Nodes/More#Fresnel"),
299 ("bpy.types.ShaderNodeGamma.*", "Composite_Nodes/Types/Color#Gamma"),
300 ("bpy.types.ShaderNodeGeometry.*", "Render/Cycles/Nodes/More#Geometry"),
301 ("bpy.types.ShaderNodeHairInfo.*", "Render/Cycles/Nodes/More#Hair_Info"),
302 ("bpy.types.ShaderNodeHueSaturation.*", "Composite_Nodes/Types/Color#Hue_Saturation_Node"),
303 ("bpy.types.ShaderNodeInvert.*", "Composite_Nodes/Types/Color#Invert"),
304 ("bpy.types.ShaderNodeLayerWeight.*", "Render/Cycles/Nodes/More#Layer_Weight"),
305 ("bpy.types.ShaderNodeLightFalloff.*", "Render/Cycles/Nodes/More#Light_Falloff"),
306 ("bpy.types.ShaderNodeLightPath.*", "Render/Cycles/Nodes/More#Light_Path"),
307 ("bpy.types.ShaderNodeMapping.*", "Render/Cycles/Nodes/More#Mapping"),
308 ("bpy.types.ShaderNodeMath.*", "Composite_Nodes/Types/Convertor#Math_Node"),
309 ("bpy.types.ShaderNodeMixRGB.*", "Composite_Nodes/Types/Color#Mix_Node"),
310 ("bpy.types.ShaderNodeNormalMap.*", "Render/Cycles/Nodes/More#Normal_Map"),
311 ("bpy.types.ShaderNodeObjectInfo.*", "Render/Cycles/Nodes/More#Object_Info"),
312 ("bpy.types.ShaderNodeParticleInfo.*", "Render/Cycles/Nodes/More#Particle_Info"),
313 ("bpy.types.ShaderNodeRGB.*", "Render/Cycles/Nodes/More#RGB"),
314 ("bpy.types.ShaderNodeRGBCurve.*", "Composite_Nodes/Types/Color#RGB_Curves_Node"),
315 ("bpy.types.ShaderNodeRGBToBW.*", "Composite_Nodes/Types/Convertor#RGB_to_BW_Node"),
316 ("bpy.types.ShaderNodeSeparateHSV.*", "Composite_Nodes/Types/Convertor#Separate.2FCombine_HSVA_Nodes"),
317 ("bpy.types.ShaderNodeSeparateRGB.*", "Composite_Nodes/Types/Convertor#Separate.2FCombine_RGBA_Node"),
318 ("bpy.types.ShaderNodeTangent.*", "Render/Cycles/Nodes/More#Tangent"),
319 ("bpy.types.ShaderNodeTexCoord.*", "Render/Cycles/Nodes/More#Texture_Coordinates"),
320 ("bpy.types.ShaderNodeValue.*", "Render/Cycles/Nodes/More#Value"),
321 ("bpy.types.ShaderNodeVectorCurve.*", "Composite_Nodes/Types/Vector#Vector_Curves_Node"),
322 ("bpy.types.ShaderNodeVectorMath.*", "Render/Cycles/Nodes/More"), # TODO doc
323 ("bpy.types.ShaderNodeVectorTransform.*", "Render/Cycles/Nodes/More#Vector_Transform"),
324 ("bpy.types.ShaderNodeWavelength.*", "Render/Cycles/Nodes/More#Wavelength"),
325 ("bpy.types.ShaderNodeWireframe.*", "Render/Cycles/Nodes/More#Wireframe"),
327 ("bpy.types.ShaderNodeGroup.*", "Composite_Nodes/Node_Groups"),
328 ("bpy.types.ShaderNode*", "Render/Cycles/Nodes"),
330 ("bpy.types.ShaderNodeScript.*", "Render/Cycles/Nodes/OSL"),
332 # *** Compositing Nodes ***
333 # Input
334 ("bpy.types.CompositorNodeBokehImage.*", "Composite_Nodes/Types/Input"), # TODO doc
335 ("bpy.types.CompositorNodeImage.*", "Composite_Nodes/Types/Input#Image_node"),
336 ("bpy.types.CompositorNodeMask.*", "Composite_Nodes/Types/Input"), # TODO doc
337 ("bpy.types.CompositorNodeMovieClip.*", "Composite_Nodes/Types/Input"), # TODO doc
338 ("bpy.types.CompositorNodeRGB.*", "Composite_Nodes/Types/Input#RGB_node"),
339 ("bpy.types.CompositorNodeRLayers.*", "Composite_Nodes/Types/Input#Render_Layers_Node"),
340 ("bpy.types.CompositorNodeTexture.*", "Composite_Nodes/Types/Input#Texture_Node"),
341 ("bpy.types.CompositorNodeTime.*", "Composite_Nodes/Types/Input#Time_node"),
342 ("bpy.types.CompositorNodeTrackPos.*", "Composite_Nodes/Types/Input"), # TODO doc
343 ("bpy.types.CompositorNodeValue.*", "Composite_Nodes/Types/Input#Value_node"),
344 # Output
345 ("bpy.types.CompositorNodeComposite.*", "Composite_Nodes/Types/Output#Composite_Output_Nodes"),
346 ("bpy.types.CompositorNodeLevels.*", "Composite_Nodes/Types/Output#Levels_Node"),
347 ("bpy.types.CompositorNodeOutputFile*", "Composite_Nodes/Types/Output#File_Output_Node"),
348 ("bpy.types.CompositorNodeSplitViewer.*", "Composite_Nodes/Types/Output#SplitViewer_Node"),
349 ("bpy.types.CompositorNodeViewer.*", "Composite_Nodes/Types/Output#Viewer"),
350 # Color
351 ("bpy.types.CompositorNodeAlphaOver.*", "Composite_Nodes/Types/Color#AlphaOver_Node"),
352 ("bpy.types.CompositorNodeBrightContrast.*", "Composite_Nodes/Types/Color#Bright.2FContrast"),
353 ("bpy.types.CompositorNodeColorBalance.*", "Composite_Nodes/Types/Color#Color_Balance"),
354 ("bpy.types.CompositorNodeColorCorrection.*", "Composite_Nodes/Types/Color"), # TODO doc
355 ("bpy.types.CompositorNodeCurveRGB.*", "Composite_Nodes/Types/Color#RGB_Curves_Node"),
356 ("bpy.types.CompositorNodeGamma.*", "Composite_Nodes/Types/Color#Gamma"),
357 ("bpy.types.CompositorNodeHueCorrect.*", "Composite_Nodes/Types/Color#Hue_Correct"),
358 ("bpy.types.CompositorNodeHueSat.*", "Composite_Nodes/Types/Color#Hue_Saturation_Node"),
359 ("bpy.types.CompositorNodeInvert.*", "Composite_Nodes/Types/Color#Invert"),
360 ("bpy.types.CompositorNodeMixRGB.*", "Composite_Nodes/Types/Color#Mix_Node"),
361 ("bpy.types.CompositorNodeTonemap.*", "Composite_Nodes/Types/Color#Tone_Map"),
362 ("bpy.types.CompositorNodeZcombine.*", "Composite_Nodes/Types/Color#Z-Combine_Node"),
363 # Converter (Misspelt 'Convertor' in wiki)
364 ("bpy.types.CompositorNodeSep*", "Composite_Nodes/Types/Convertor#Combine.2FSeparate_Nodes"),
365 ("bpy.types.CompositorNodeComb*", "Composite_Nodes/Types/Convertor#Combine.2FSeparate_Nodes"),
366 ("bpy.types.CompositorNodeIDMask.*", "Composite_Nodes/Types/Convertor#ID_Mask_Node"),
367 ("bpy.types.CompositorNodeMath.*", "Composite_Nodes/Types/Convertor#Math_Node"),
368 ("bpy.types.CompositorNodePremulKey.*", "Composite_Nodes/Types/Convertor#Alpha_Convert"),
369 ("bpy.types.CompositorNodeRGBToBW.*", "Composite_Nodes/Types/Convertor#RGB_to_BW_Node"),
370 ("bpy.types.CompositorNodeSetAlpha.*", "Composite_Nodes/Types/Convertor#Set_Alpha_Node"),
371 # Filter
372 ("bpy.types.CompositorNodeBilateralblur.*", "Composite_Nodes/Types/Filter#Bilateral_Blur_Node"),
373 ("bpy.types.CompositorNodeBlur.*", "Composite_Nodes/Types/Filter#Blur_Node"),
374 ("bpy.types.CompositorNodeBokehBlur.*", "Composite_Nodes/Types/Filter"), # TODO doc
375 ("bpy.types.CompositorNodeDBlur.*", "Composite_Nodes/Types/Filter#Directional_Blur_Node"),
376 ("bpy.types.CompositorNodeDefocus.*", "Composite_Nodes/Types/Filter#Defocus"),
377 ("bpy.types.CompositorNodeDespeckle.*", "Composite_Nodes/Types/Filter"), # TODO doc
378 ("bpy.types.CompositorNodeDilateErode.*", "Composite_Nodes/Types/Filter#Dilate.2FErode_Node"),
379 ("bpy.types.CompositorNodeFilter.*", "Composite_Nodes/Types/Filter#Filter_Node"),
380 ("bpy.types.CompositorNodeGlare.*", "Composite_Nodes/Types/Filter"), # TODO doc
381 ("bpy.types.CompositorNodeInpaint.*", "Composite_Nodes/Types/Filter"), # TODO doc
382 ("bpy.types.CompositorNodePixelate.*", "Composite_Nodes/Types/Filter"), # TODO doc
383 ("bpy.types.CompositorNodeVecBlur.*", "Composite_Nodes/Types/Filter#Vector_.28Motion.29_Blur_Node"),
384 # Vector
385 ("bpy.types.CompositorNodeCurveVec.*", "Composite_Nodes/Types/Vector#Vector_Curves_Node"),
386 ("bpy.types.CompositorNodeMapRange.*", "Composite_Nodes/Types/Vector"), # TODO doc
387 ("bpy.types.CompositorNodeMapValue.*", "Composite_Nodes/Types/Vector#Map_Value_Node"),
388 ("bpy.types.CompositorNodeNormal.*", "Composite_Nodes/Types/Vector#Normal_Node"),
389 ("bpy.types.CompositorNodeNormalize.*", "Composite_Nodes/Types/Vector#Normalize"),
390 # Matte
391 ("bpy.types.CompositorNodeBoxMask.*", "Composite_Nodes/Types/Matte"), # TODO doc
392 ("bpy.types.CompositorNodeChannelMatte.*", "Composite_Nodes/Types/Matte#Channel_Key_Node"),
393 ("bpy.types.CompositorNodeChromaMatte.*", "Composite_Nodes/Types/Matte#Chroma_Key_Node"),
394 ("bpy.types.CompositorNodeColorMatte.*", "Composite_Nodes/Types/Matte#Color_Key"),
395 ("bpy.types.CompositorNodeColorSpill.*", "Composite_Nodes/Types/Matte#Color_Spill_Node"),
396 ("bpy.types.CompositorNodeDiffMatte.*", "Composite_Nodes/Types/Matte#Difference_Key_Node"),
397 ("bpy.types.CompositorNodeDistanceMatte.*", "Composite_Nodes/Types/Matte#Distance_Key"), # TODO doc (header is there, no text)
398 ("bpy.types.CompositorNodeDoubleEdgeMask.*", "Composite_Nodes/Types/Matte"), # TODO doc
399 ("bpy.types.CompositorNodeEllipseMask.*", "Composite_Nodes/Types/Matte"), # TODO doc
400 ("bpy.types.CompositorNodeKeying.*", "Composite_Nodes/Types/Matte"), # TODO doc
401 ("bpy.types.CompositorNodeKeyingScreen.*", "Composite_Nodes/Types/Matte"), # TODO doc
402 ("bpy.types.CompositorNodeLumaMatte.*", "Composite_Nodes/Types/Matte#Luminance_Key_Node"),
403 # Distort
404 ("bpy.types.CompositorNodeCrop.*", "Composite_Nodes/Types/Distort#Crop_Node"),
405 ("bpy.types.CompositorNodeDisplace.*", "Composite_Nodes/Types/Distort#Displace_Node"),
406 ("bpy.types.CompositorNodeFlip.*", "Composite_Nodes/Types/Distort#Flip_Node"),
407 ("bpy.types.CompositorNodeLensdist.*", "Composite_Nodes/Types/Distort#Lens_Distortion"),
408 ("bpy.types.CompositorNodeMapUV.*", "Composite_Nodes/Types/Distort#Map_UV_Node"),
409 ("bpy.types.CompositorNodeMovieDistortion.*", "Composite_Nodes/Types/Distort"), # TODO doc
410 ("bpy.types.CompositorNodePlaneTrackDeform.*", "Composite_Nodes/Types/Distort"), # TODO doc
411 ("bpy.types.CompositorNodeRotate.*", "Composite_Nodes/Types/Distort#Rotate_Node"),
412 ("bpy.types.CompositorNodeScale.*", "Composite_Nodes/Types/Distort#Scale_Node"),
413 ("bpy.types.CompositorNodeStabilize.*", "Composite_Nodes/Types/Distort"), # TODO doc
414 ("bpy.types.CompositorNodeTransform.*", "Composite_Nodes/Types/Distort"), # TODO doc
415 ("bpy.types.CompositorNodeTranslate.*", "Composite_Nodes/Types/Distort#Translate_Node"),
416 #Other
417 ("bpy.types.CompositorNodeGroup.*", "Composite_Nodes/Node_Groups"),
418 ("bpy.types.CompositorNode*", "Composite_Nodes/Types"), # catch anything else
420 ("bpy.types.ColorRamp*", "Materials/Properties/Ramps"),
422 # *** ID Subclasses (cont.) Object Data ***
423 ("bpy.types.Mesh.*", "Modeling/Meshes"), # catchall, TODO - refine
424 ("bpy.types.MetaBall.*", "Modeling/Metas"), # catchall, TODO - refine
425 ("bpy.types.TextCurve.*", "Modeling/Texts"), # catchall, TODO - refine
426 ("bpy.types.Armature.*", "Rigging/Armatures"), # catchall, TODO - refine
427 ("bpy.types.Camera.*", "Render/Camera"), # catchall, TODO - refine
429 ("bpy.types.PointLamp.*", "Lighting/Lamps/Lamp"), # catchall, TODO - refine
430 ("bpy.types.AreaLamp.*", "Lighting/Lamps/Area"), # catchall, TODO - refine
431 ("bpy.types.SpotLamp.*", "Lighting/Lamps/Spot"), # catchall, TODO - refine
432 ("bpy.types.SunLamp.*", "Lighting/Lamps/Sun"), # catchall, TODO - refine
433 ("bpy.types.HemiLamp.*", "Lighting/Lamps/Hemi"), # catchall, TODO - refine
434 ("bpy.types.Lamp.*", "Lighting"), # catchall, TODO - refine
436 # --- Animation ---
437 ("bpy.types.Keyframe.*", "Animation/Keyframes"),
438 ("bpy.types.FCurve.*", "Animation/Editors/Graph/FCurves"),
440 # --- Rigging ---
441 ("bpy.types.Bone.*", "Armatures/Bones"),
442 ("bpy.types.EditBone.*", "Armatures/Bones"),
443 ("bpy.types.PoseBone.*", "Rigging/Posing"),
445 # --- World ---
446 ("bpy.types.World.*", "World"),
448 ("bpy.types.Texture.*", "Textures"),
450 # *** Spaces ***
451 ("bpy.types.SpaceView3D.*", "3D_interaction/Navigating/3D_View_Options"),
453 # === Operators ===
454 # Catch all only for now!
455 # *** Window/Screen ***
457 ("bpy.ops.action.*", "Animation/Actions"),
458 ("bpy.ops.anim.*", "Animation"),
459 ("bpy.ops.armature.*", "Rigging/Armatures"),
460 ("bpy.ops.boid.*", "Physics/Particles/Physics/Boids"),
461 # ("bpy.ops.brush.*", ""), # TODO
462 ("bpy.ops.buttons.*", "Interface/Buttons_and_Controls"),
463 ("bpy.ops.camera.*", "Render/Camera"),
464 ("bpy.ops.clip.*", "Motion_Tracking#Movie_Clip_Editor"),
465 ("bpy.ops.cloth.*", "Physics/Cloth"),
466 ("bpy.ops.console.*", "Python/Console"),
467 ("bpy.ops.constraint.*", "Constraints"),
468 ("bpy.ops.curve.*", "Modeling/Curves"),
469 ("bpy.ops.dpaint.*", "Physics/Dynamic_Paint"),
470 # ("bpy.ops.ed.*", ""), # TODO, this is for internal use only?
471 # ("bpy.ops.export_anim.*", ""), # TODO
472 # ("bpy.ops.export_mesh.*", ""), # TODO
473 # ("bpy.ops.export_scene.*", ""), # TODO
474 ("bpy.ops.file.*", ""),
475 ("bpy.ops.fluid.*", "Physics/Fluid"),
476 ("bpy.ops.font.*", "Modeling/Texts"),
477 ("bpy.ops.gpencil.*", "3D_interaction/Sketching/Drawing"),
478 ("bpy.ops.graph.*", "Animation/Editors/Graph/FCurves"),
479 ("bpy.ops.group.*", "Modeling/Objects/Groups_and_Parenting#Grouping_objects"),
480 ("bpy.ops.image.*", "Textures/Types/Image"),
481 # ("bpy.ops.import_anim.*", ""), # TODO
482 # ("bpy.ops.import_curve.*", ""), # TODO
483 # ("bpy.ops.import_mesh.*", ""), # TODO
484 # ("bpy.ops.import_scene.*", ""), # TODO
485 # ("bpy.ops.info.*", ""), # TODO
486 ("bpy.ops.lamp.*", "Lighting"), # --- TODO ... all below ---
487 # ("bpy.ops.lattice.*", ""), # TODO
488 ("bpy.ops.logic.*", "Game_Engine/Logic"),
489 ("bpy.ops.marker.*", "Animation/Markers"),
490 # ("bpy.ops.mask.*", ""), # TODO
491 ("bpy.ops.material.new", "Materials/Assigning_a_material#Creating_a_new_Material"),
492 ("bpy.ops.material.*", "Materials"),
493 ("bpy.ops.mesh.vertices_smooth", "Modeling/Meshes/Editing/Deforming/Smooth"),
494 ("bpy.ops.view3d.edit_mesh_extrude*", "Modeling/Meshes/Editing/Duplicating/Extrude"),
495 ("bpy.ops.mesh.subdivide", "Modeling/Meshes/Editing/Subdividing/Subdivide"),
496 ("bpy.ops.mesh.loopcut_slide", "Modeling/Meshes/Editing/Subdividing/Loop_Subdivide"),
497 ("bpy.ops.mesh.bridge_edge_loops", "Modeling/Meshes/Editing/Edges#Bridge_Edge_Loops"),
498 ("bpy.ops.mesh.duplicate_move", "Modeling/Meshes/Editing/Duplicating/Duplicate"),
499 ("bpy.ops.mesh.spin", "Modeling/Meshes/Editing/Duplicating/Spin"),
500 ("bpy.ops.mesh.screw", "Modeling/Meshes/Editing/Duplicating/Screw"),
501 ("bpy.ops.mesh.knife*", "Modeling/Meshes/Editing/Subdividing/Knife_Subdivide"),
502 ("bpy.ops.mesh.bisect", "Modeling/Meshes/Editing/Subdividing/Bisect"),
503 ("bpy.ops.mball.*", "Modeling/Metas"),
504 ("bpy.ops.mesh.*", "Modeling/Meshes"),
505 ("bpy.ops.nla.*", "Animation/Editors/NLA"),
506 # ("bpy.ops.node.*", ""), # TODO
507 ("bpy.ops.object.*shape_key*", "Animation/Techs/Shape/Shape_Keys"),
508 ("bpy.ops.object.join_shapes", "Animation/Techs/Shape/Shape_Keys"),
509 ("bpy.ops.object.*", "Modeling/Objects"),
510 ("bpy.ops.outliner.*", "Data_System/The_Outliner"),
511 # ("bpy.ops.paint.*", ""), # TODO
512 ("bpy.ops.particle.*", "Physics/Particles"),
513 ("bpy.ops.pose.*", "Rigging/Posing"),
514 ("bpy.ops.poselib.*", "Rigging/Posing/Pose_Library"),
515 # ("bpy.ops.ptcache.*", ""), # TODO
517 ("bpy.ops.render.play_rendered_anim", "Render/Display#Animation_Playback"),
518 ("bpy.ops.render.*", "Render"), # catchall
520 ("bpy.ops.scene.*", "Interface/Scenes"),
521 ("bpy.ops.screen.*", "Interface/Window_system"),
522 ("bpy.ops.script.*", "Extensions/Python"),
523 ("bpy.ops.sculpt.*", "Modeling/Meshes/Editing/Sculpt_Mode"),
524 ("bpy.ops.sequencer.*", "Sequencer/Usage"),
525 # ("bpy.ops.sketch.*", ""), # TODO
526 # ("bpy.ops.sound.*", ""), # TODO
527 ("bpy.ops.surface.*", "Modeling/Surfaces"),
528 ("bpy.ops.text.*", "Extensions/Python/Text_editor"),
529 ("bpy.ops.texture.*", "Textures"),
530 ("bpy.ops.time.*", "Animation/Timeline"),
531 ("bpy.ops.transform.edge_slide", "Modeling/Meshes/Editing/Edges#Edge_Slide"),
532 ("bpy.ops.transform.vert_slide", "Modeling/Meshes/Editing/Vertices#Vertex_Slide"),
533 ("bpy.ops.transform.shrink_fatten", "Modeling/Meshes/Editing/Deforming/Shrink-Fatten"),
534 ("bpy.ops.transform.push_pull", "3D_interaction/Transformations/Advanced/Push_Pull"),
535 ("bpy.ops.transform.*", "3D_interaction/Transform_Control"),
536 ("bpy.ops.ui.*", "Interface"),
537 ("bpy.ops.uv.*", "Textures/Mapping/UV/Layout_Editing"),
538 # ("bpy.ops.view2d.*", ""), # TODO
539 ("bpy.ops.view3d.*", "3D_interaction/Navigating/3D_View"), # this link is a bit arbitrary
540 ("bpy.ops.wm.*", "Interface/Window_system"),
541 ("bpy.ops.world.*", "World"),
543 # === Tool Settings ===
544 ("bpy.types.MeshStatVis.*", "Modeling/Meshes#Mesh_Analysis"),
547 # may have 'url_reference_mapping'... etc later