Ace3 bugs:
	- replace cast bar
	- fix LUA error (value in AloftDeficitHealthBar:CalculateFrameWidth()); Ace2 and Ace3
	- try to reproduce highlight texture problem (Ace2, user LiNK2088)
	- try to reproduce default health bar visibility problem (Ace2, user Zenko)
	- try decabah's saved variables file (disappearing health bar; probably already fixed)
	- merge health bar and health bar deficit modules
	- put deficitFrame into a pool?

	- AloftAutoShow.lua:378, "data" is turning up nil on module enable
	- AloftAutoShow.lua:380/382, "data" is turning up nil on module enable
	- AloftVisibility.lua:155, self.db.profile.hideUnitNames is turning up nil on module enable
	- AloftModules.lua:89, could this be driving LibFuBarPlugin as a module?
	- AloftModules.lua:98, could this be driving LibFuBarPlugin as a module?
	- AloftFu:86 is driving some sort of nil dereference down in LibFuBarPlugin
	- some sort of boundary condition update problem with text tags, mana bar, etc...
		> enable modules, re/load Acapela preset, text tags are blank, no mana bar
		> re/generate text tags, text tags are blank, no mana bar
		> reload UI, text tags are blank, no mana bar
		> pick a text field (health text, for instance), scroll to end of field, hit return (no changes), suddenly everything works
		> no LUA errors
		> nameplate alpha also glitchy; bouncing nameplates after game starts has no effect on alpha
		> some sort of layout frame assembly problem? race condition between addon loading and initializing layout frame, or making layout frame visible?
		> it is as if preset data is not being assimilated by modules at the outset
	- flickering cast bar (fadeout interference?)
		> try it without AloftCastWarning enabled
		> look at cast bar update loop for position/etc
		> synergy with nameplate alpha control?
	- underflow on threat, at the beginning of threat updates
		> look for divide by zero
		> look for explicitly negative threat, convert everything to "<= 0" checks
	- cast warnings not showing up in arenas? applied a fix in 0.9.2, there have been no further complaints 
	- still seeing border-related graphical artifacts... this is now reproduceable at least on the threat bar, at outset of combat
		> needs a frame-delay? needs to be shown before configuring?
		> need to play with it some more
	- figure out why Aloft:OnInitialize() is apparently being driven twice... is AloftModules doing this?

for potential poll of upcoming "major" features:

	- AloftExtraText: supply an extra text region or two, for generic use by the user (custom tags)
	- AloftDe/Buffs: unit buffs/debuffs (on the current target, on friendly groupmembers, and on general hostiles if a) a groupmember has a target and b) if there is a raid icon)
	- [ShortUnitName(style)]: intelligent abbreviation tag, for unit names; use rules sent to user ? in WoWI PM
	- totem icons (in lieu of class icons, on totem nameplates; using spell icon from spellbook), raid role icons
	- vertical nameplates
		> somewhat invasive feature
		> start with converting to statusbars and new uniform FontString option system
	- options preview system/"preview mode"
		> large/invasive feature
	- complete set of layout options for different unit types (differentiated roughly at the same granularity as the "Visibility" options, plus the current target) so that different types of things can have different size/color/text settings
		> have to brainstorm how to structure this
		> some sort of intermediate UI tree, for these different unit types? how to rationalize with crosscutting features like "Visibility"?
		> very large/invasive feature

priority:

	- add border to Ace3 port SetAll functionality?
	- add background to Ace3 port SetAll functionality?
	- make Ace3 cast bar border target-only/etc?

	- update FAQ with new WoW 3.3 nameplate overlap capabilities
	- update FAQ with new WoW 3.3 nameplate show/hide capabilities
	- update FAQ with a list of other/lighter nameplate addons (atrNameplates, TidyPlates, ncPlates, caelNameplates, Overhead, _VirtualPlates, etc)
	- add a FAQ providing several examples of how to manage the nameplate glow system, options cookbook for various outcomes; remember to mention Blizzard standard aggro glow option set to "always"
	- add a FAQ describing weirdness with "Names>Unit Nameplates" flags and totems not showing up; test all of those options (pet/guardian/totem) with hunter pets, mage/shaman elementals, priest ghouls, see if there is a control heirarchy

	- clean up Combat Text module (post 2009/10/11)
	- handle "Unknown" units somehow; at least avoid initial data collection; also maybe back off and retry initialization

	- look at releasing Aloft to Curse
	- add a FAQ on player titles; make sure the lack of titles in BGs is explicitly documented in the FAQ
	- add a FAQ on the use of the PvP-totem hiding/exception mechanism

	- figure out why borders are being applied to non-target nameplates (exercised by fiddling with Alpha options)
	- nameplate frame width to 40, health bar height to 128

lower:

	- enhance AloftTags.rtf to indicate whether text tags are intended to generate "data" (string/numerical), to be used as true/false, or intended purely to modify other tags (color tags, conditional tags, etc)
	- indicate explicitly in AloftTags.rtf that tags that generate "data", if strung together, will simply concatenate
	- continue to experiment with disabling mouse on hidden nameplates, to see if there is a workaround

	- work on race conditions between group roster changes and nameplate initialization... may not have a solution, but keep researching
	- implement a "SetText" hook for name/level text region, to detect straight numerical text, parse/cache level, reinitialize region placement, reformat text, and pass reformatted text to up-hook
	- change non-tag event names to include originating module as part of the name? either that or change all such events back to using just "Aloft:" in the name
	- review and incorporate Stuck's player name identification capabilities
	- experiment with LibUnitID; replace target tracking with this? or at least see how it does it
	- unpack new MPQs and go through new WoW version checklist
	- experiment with GetCurrentMapDungeonLevel()
	- still have some problems with unitid not getting assigned; make sure visibility accepts unitid change event, maybe increase update delay
	- add a FAQ to tell people how to turn off the elite graphics on nameplates
	- add a FAQ explaining the new graphics position controls
	- regression test: mage/priest/warlock PvP, warrior/druid/rogue stacked points
	- make more intelligent/selective use of "hostilePlayer" type
	- word the title of the "Visibility" FAQ entry more intuitively
	- [TargetName] is ending up with some sort of residual data, such that "-[TargetName]-" is displayed as "- -"; cycling targets clears this
	- figure out a way to apply [ThreatColor]/[ThreatStatusColor] tags to "Health Bar>Colors>Advanced>Color Format"

completed:

+++	x look into Szoltomi's bug: this was a "combat lock" issue
	x clean up Aloft:GetTargetNameplate(); did AloftAlpha:GetTargetNameplate() the same way
	x implement an [IsPlayer] tag, and/or expose the "type" field as a string tag
	x automate nameplate bounce when overlap is automatically changed; add an option to allow the user to disable this automation? always? only while out of combat?
	x add an option to suppress warnings and the startup message
	x investigate tag problems (concatenating booleans in conditional tags)
		> example Name Text: [~IsTarget:Name:White][IsTarget:Name:Surround("> "," <"):Red]
		> compare with TagCompiler-2.0, compare with TagCompiler-1.0
	x filter unit visibility by unit name (blacklist, "hide all of these"), using digital search tree; this should be O(N) per unit name; this needs to take into account localization/character sets, like the Truncate() tag
		> incorporate into Visibility module? build at UI load time, throw away at exit, should be similarly efficient regardless of number of unit names incorporated
	x update FAQ with new WoW 3.3 nameplate range capabilities (identify range, based on hunter skills)
	x rework README.txt to use large text in certain areas for visual emphasis: [size=+2]text[/size]
	x promote "recently damaged" check in nameplate glow handling to user option
	x test combat text against raid-assigned non-targeted units, via AOE amd etc
	x switch combat text module to use COMBAT_LOG_*_DAMAGE events; extend to include spell text on strike? needs cached GUID for target
	x new options for Combat Text:
		> show player damage
		> show group damage
		> show other damage (all non-player/non-group)
		> show on target
		> show on group
		> show on identifiable non-target/non-group
		> include overhealing (including when total - overheal == 0)
	x filter combat text to self-only (user hasutest)
	x rationalize spell school colors between AloftCombatText, AloftCastWarning, and Blizzard's combat log
	x figure out why color tags are broken; use the examples from AloftTags.rtf
	x localize "Unknown" magic string, at least in the "enUS" locale
	x look into having AloftCastWarning flag nameplates of active casters, have AloftAlpha coordinate with that and set global alpha to 0.01 below target alpha (or user-specified alpha); AloftCastWarning should insert this option into AloftAlpha's options table
	x experiment with using nameplate alpha to hide nameplates, instead of Hide(); will need use of a "hidden" value on aloftData, and a tweak to Alpha module to use it
	x some sort of [Truncate] tag, per LibDogTags; Truncate(value,length,ellipsis=true)
	x UNRELATED: create some sort of "Battlefield is ready" addon, modeled on http://www.wowinterface.com/downloads/info12173-ReadyCheckSound.html; produce a sound even when in background; apparently http://www.wowinterface.com/downloads/info5720-BGReady30000.3Release.html already does this
	x add pet to target tracking? test with AloftCastWarning and Voidwalker "Consume Shadows" (channeled); outcome: pet names are not unique (no race, no raid target assignment), hence this cannot be done
	x prep for ruRU translation, collect strings
	x prep for deDE translation, collect strings
	x look at health bar deficit capability again (Acapela has perhaps learned enough); first decide how it should work (make normal healthbar transparent, as soon as damage is taken, then grow from the right in the whatever healthbar color?)
	x experiment with packing dimensions as a means of reducing UI clutter (whatever tricks the WoW client into tighter nameplate placement)
	x start researching spellcast "early warning" and/or general PvP cast bar capability (anything with a unique enough unit name could integrate this)
	x add spellcast spell caching (cast warning) to data options
	x remove commented LibBabble-Spell-3.0 code, and remove library source files
	x remove old GratuityLib source files
	x LDB interface (at least validate FuBar<->LDB integration)
	x control over frame border insets, so that they can be made to overlap slightly
	x customize color of cast bar
	x research tooltip scraping for player titles
	x add presets for polymorph and shackle
	x roll AloftPresets addon presets into Aloft, or resurrect AloftPresets addon?
	x update screen shots
	x generate a legend for the fully-featureful screenshot
	x add class icons to nameplates
	x use "ShowClassColorInNameplate" colors as an indicator of class in itself; integrate with unit type and ClassData
	x sort out FuBar_LuckyCharms error: regress Aloft to earlier versions, see if it goes away, etc
	x set minimum height for all bars to 1
	x move zap of blizzard glow region to central processing of new nameplates in Aloft.lua
	x track multiple nameplates of the same name, somehow (update nameToNameplateMap?), to help zero in on not just visible nameplates, but just those of a given name
	x apply math.ceil(health/healthMax) calculations
	x enable a "target nameplate only" mode? (not fasible, cannot hide nameplates during combat)
	x add power name/short power name tags
	x revisit group threat: separate threat bar, separate tags, separate glow? track targets by raid target assignment? collect group*target threat, for all active targets, compare player's threat versus [next] highest threat?
	x work on elite/unique artwork for nameplates, treat as icon with a large size range and attachment options, put in a separate module
	x tailor threat glows to leave bottom of bar uncovered
	x test new LibRoster-2.1 changes, "vehicle" units in groups

	x border options for cast bar, cast warning bar, mana bar, and threat bar
	x trim default threat flash texture, a three-quarters outline, don't show below the bar; also make a partial outline
	x reverse aggro glow: show when the Blizzard glow is not showing, hide when Blizzard glow is showing (showing == IsVisible() and "red")
	x reverse threat glow: show when below the given threshold
	x AloftStackingCount module; track lacerate/sunder counts (other stacking debuffs?) the same way as combo points, merge into combo point module
	x AloftCrowdControl module; combine polymorph/shackle timer modules together, add warlock abilities
	x get rid of "always" flag on mana bar, no longer needed; commented out, in case it is needed again for some reason
	x update crowd control diminishing returns for PvP, based on data from WoWWiki (10 seconds, etc)
	x show spell icon, spell name, spell rank, and countdown for crowd control timers
	x target-of-target: work on handling dynamic changes to roster, raid target assignment, and feature option changes during combat

	x add druid (hibernate/roots) abilities to crowd control
	x add rogue (sap/blind) abilities to crowd control; what events are used for instant-cast abilities?
	x sense crowd control timer duration from actual spell rank employed
	x enable automated nameplate enable/disable capability when entering/leaving combat? when entering/leaving rest? new module? how to organize/present these options?
	x genericize sunder/lacerate stack detection (rather than maintaining separate functions for each)
	x make presets module dynamic
	x border options for crowd control bar
	x infer "critter" from being level 1 and having low health
	x color stacking point debuff text based on the amount of time remaining?
	x incorporate "ruRU" localization
	x move "common problems" to FAQ as their immediacy subsides
	x validate Aloft LDB functionality with Fortress/Ninjapanel/StatBlockCore
	x add a FAQ entry on menu organization (i.e. "Health Text" options available as a sub-menu under "Health Bar" options)
	x add some quick colored text calling attention to the options screen shot
	x use some nice pastel colors in the FAQ, to differentiate questions/answers/separators
	x use colors on separators throughout README.txt
	x enhance nameplate display to cover instance (IsInInstance()/IsInInstance().instanceType)? ("group" would cover all of that; replace "group" with these?); "PLAYER_ENTERING_WORLD"/"WORLD_MAP_UPDATE"/GetPlayerMapPosition()
		> tooltip text more like Omen: "Auto show/hide"? make separate options?
		> tooltip text more like Omen: "Show enemy/neutral/friendly nameplates when you are [condition/state/group]"
		> make this more environmental than stateful? doing all of this begins to duplicate "Visibility" options...
			= states: normal (no state), resting, combat, flagged
			= groups: solo, with a pet, party, raid (this really relates only to friendly nameplates; toss this?)
			= envirs: world/none, 5-man instance, raid instance, arena, battleground?
			= what has precedence? how to make the decision (logically or-together everything? assume enabled and then disqualify if a condition does not apply? categorize and and-together each category, which would equate to disqualifying)?
		> omen: resting, combat, battleground/solo, with a pet, in a party, in a raid
	x track down and fix nameplate show/hide vs text tag bug
	x put nameplate display control into a module (that removes existing Aloft options and replaces them with its own functionality; default to the "old way" of displaying)
	x mitigate nameplate display verbosity on module load/unload
	x look into not clearing modules options when loading presets
	x test and determine if Aloft is interfering with Blizzard chat bubbles, or if even Blizzard bar-style nameplates disabled chat bubbles
	x finish fixing player title gathering to differentiate titles from player realms in tooltip data
	x move target tracking into an always-load module of some sort
	x beef up totem detection (scrape tooltip?), add totems to "Visibility" options
	x try fixing frame border/background/glow positioning, to track "Health Bar>Position>X/Y Offset"; tweak SetPoint/SetAllPoints on health bar overlay?
	x look into health bar color changes to indicate aggro, instead of "Nameplate Glow"; the whole threat status color progression should be exposed to user control
	x flag how the Blizzard interface options affect nameplate glow, in the FAQ, if it is not already.
	x talk about nameplate packing in the FAQ, if it is not already
	x talk about debuff tracking options (HUDs, cooldown timers, Quartz, etc) in the FAQ
	x investigate old shaman color (AllPlayed: 0x00dbba, ReTeal: 0x00dbba), determine if there was ever a consensus on that color (yes), incorporate it into Aloft
	x figure out a way to incorporate at least the player focus target, possibly general group focus targets as well (check through the roster every second or so?)
	x player focus at least for target tracking and crowd control (and cast warning)? would require genericization of crowd control, or at least 2 bars, one for focus and one for target; wait, is there a way to identify the focus nameplate?
	x check latest/greatest libraries (get everything checked in first)
	x regression test some PvP stuff... totems, class colors
	x look into hunter snakes, adding that to totem nameplate mechanism
	x describe exingencies of Visibility options (critter guessing, pets requiring a mouseover, etc), in conjunction with the friendly grouped nameplate FAQ entry
	x describe group threat?
	x describe limitations of target-of-target subsystem
	x verify/update all URLs employed in README.txt
	x proof README.txt
	x clean up redundant instances of AceLocale-2.2 in Locale.lua files, for non-dynamic modules
	x look into applying border art to the target only
	x SVN delete per-language locale files from repository
	x keep working on pet "OnNameplateShow" and/or IsUnitidDataChanged and/or PLAYER_ENTERING_WORLD issues
	x look into border-related "OnNameplateShow" bug(s); some fixed, some could remain; these appear to be frame-delay related, keep working on them; also related to frame parent (needs nameplateFrame as parent, not UIParent)
	x keep working on "orange" aggro glow issues
	x make applying border art to the target only a user option: AloftFrame, AloftCrowdControl, AloftCastWarning, AloftMana, AloftThreat (AloftCastBar is already a target-only construct, in its entirety)
	x regression test under WoW 3.1.x/PTR
	x make "critter" level and health thresholds user options
	x update crowd control module to use spell-name-specific logic like: "if not UnitAura("target", "Polymorph", "HARMFUL|PLAYER") then...."
	x review "Data Options" functionality, make sure destructive clearing occurs when disabling, make sure no further collection occurs when disabled
	x unique test (enable this as a user option?):
		uc = UnitClassification("target")
		if (IsInInstance() and uc == "elite" and UnitLevel("target") < 0) or uc == "rareelite" or uc == "rare" or uc == "worldboss" then
			-- track the target
		end
	x "focus" is not updating correctly for DK pets; look at what IceHUD does, that is tracking properly
	x update nameplate ID generation to exclude raid target assignment and race for hostile players, just use unit name; subsequent checking when nameplate appears should include class (to avoid collisions with pets)
	x place everything relative to aloftData.backdropFrame
	x figure out why aloftData.backdropFrame border is not showing; add a separate health bar border, in addition to frame border?
	x increase range for left/right/vertical position offsets on all elements
	x change health bar to a left/right/vertical position, relative to backdrop frame?
	x change inset assignment from dynamic table allocation to an assignment of individual values; used a new frame instead
	x incorporate a "hostilePlayer" aloftData.type; if original health bar color is a class color, plus check everywhere else "hostile" is used
	x add arena unitids to tracking on entering an arena match
	x CreateFrame on auxilliary bars (mana bar, threat bar, crowdControlBar) should use nil as a parent? this will require these bars to be hidden separately from aloftData.nameplateFrame
	x pool referenceFrame and backdropFrame; these are not regions, but full frames, and there is no reason to create new ones for each nameplate
	x create a "Unit Frame" preset; needs stacking points text
	x fix combat text color mapping
	x experiment more with nameplate backdrop/reference frame pooling, nil parent, and setup/association during combat
	x make sure all sub-frames/regions use nameplateFrame as a parent, and clear the parent on hide/disassociation
	x add shaman hex to crowd control
	x figure out race conditions between creation of referenceFrame in Aloft:SetupFrame() and access of referenceFrame in places like AloftCommentText:UpdateText() (around line 158)
		could this be related to health bar color changes? these are driven through Aloft:Update() on all visible nameplates at regular/short intervals
		just acquire a referencFrame wherever needed
	x figure out why text regions are ending up placed relative to the wrong nameplate, and back the calls to Aloft:PlaceFrame() on every text update back out
	x supply layout position options, relative to nameplateFrame, for layoutFrame/backgroundFrame
	x change name of referenceFrame to layoutFrame, everywhere
	x revisit NameText placement, adjust for healthBar insets a la boss/raid icons?
	x enhance cast bar and cast warning to flag uninterruptable spells with a particular bar color (based on new return value from UnitCastingInfo()/UnitChannelInfo())
	x look into recently damaged icon, validate that it is working
	x try to validate why Blizzard's "UnitCastingInfo"/"UnitChannelInfo" is flagging random stuff as non-interruptable
	x add DK bloodworm nameplates to totem/snake control
	x add non-interrupt cast bar color/texture/etc settings to presets
	x enhance to allow totem nameplates of PvP significance (tremor, grounding, earthbind, maybe magma) to remain visible as a special case
	x enhance to allow hostile totem nameplates of PvP significance (tremor, grounding, earthbind, maybe magma) to have their own nameplate color (i.e. like a class color)

	x provide a "Invert Only When Tanking" option; jtbalogh code snippet, automatically invert nameplate glow only when legitimately tanking:

		profile.invertAuto = true -- invert automatically if tanking or not
		(profile.invert is overwritten by this feature)
		profile.invertAuto = false -- no automatic invert, use profile.invert
		local updateInterval = 1.0 -- seconds per invert
		local updateCurrent = 0

		function Aloft_OnUpdate(arg1)

		  -- Invert automatically if tanking or not
		  if not profile.invertAuto then -- nothing to do
		  else

			updateCurrent = updateCurrent + arg1
			if updateCurrent < updateInterval then -- pending timer
			else
			  updateCurrent = 0 -- reset timer

			  -- tanking = warrior defensive stance, druid bear form stance, pally righteous fury aura, dk frost presence stance
			  local isTank = strupper(UnitClass("player")) == "WARRIOR" and GetBonusBarOffset() == 2
			   or strupper(UnitClass("player")) == "DRUID" and GetBonusBarOffset() == 3
			   or strupper(UnitClass("player")) == "PALADIN" and UnitAura("player", GetSpellInfo(25780))
			   or strupper(UnitClass("player")) == "DEATHKNIGHT" and GetShapeshiftForm() ~= 0 and GetShapeshiftFormInfo(GetShapeshiftForm()) == "Interface\\Icons\\Spell_Deathknight_FrostPresence"

			  if isTank then -- tank, invert off automatically if not already
				if profile.invert then profile.invert = false; end
			  else -- nontank, invert on automatically if not already
				if not profile.invert then profile.invert = true; end
			  end
		  end

		end

	x provide a "Show Explicit Low Threat Indicator Only In Combat" option

various older issues (historical, some may still be relevant):

-----
functional defects:

	- refine the mana/threat bar/text lifecycle, so that bars and tags appear/disappear when they should (versus health bar/text; investigate event management around the issues of target de/selection and combat start/stop)
		this is a more general problem; text tags that appear legitimately in strings are not updating; expect its a generic event problem
	- attempt a workaround to the Frame:SetHeight() defect (mouse goes dead if frame height+stackheight are sufficient for the visible healthbar frame no longer to intersect its anchor point)
	- figure out how to clean up recycled bars (mana/threat) when their enable flag is cycled repeatedly within the same game session
		probably a matter of checking to see if they already exist, comprehensively/everywhere, and only creating them when they do not exist
	- continue to fiddle around with background texture and text update artifact workarounds, see if the overhead can be reduced
	- are encapsulated regions turning up nil when queried from aloftData, when in fact they are there? this would explain these artifacts; memory leak problems?
	- figure out how to get the castbar and its text to appear "over" (in the layer sense) of mana/threat bars
	- figure out odd threat max/gain calculation/display artifact while fighting solo against 2+ targets
	- "[Class]" tag for enemy players in PvP
	- keybinds

code cleanup:

	- rename all native event handlers after their events, and add arguments, Ace3 style; i.e. function Aloft:PLAYER_TARGET_CHANGED()
	- comply with emerging Blizzard standards in argument handling, including passing around "self"
	- comply with WoWWiki standards on UI development (http://www.wowwiki.com/UI_best_practices)
	- convert all WoW API functions and other globals to locals for quick compile-time lookup facilitation
	- use a combination of (aloftData.isTarget or Aloft:IsTarget()) uniformly, since aloftData.isTarget is not always valid
		insure this functions even when nameplate target alpha is tweaked by the user
		probably uses underlying blizzard health bar alpha somehow, so should be safe
	- revisit Aloft:GetTargetNameplate() and Aloft:GetTargetNameplate2(), make sure the separation is necessary
	- use CreateFontString(nil, "OVERLAY"), put all text in overlay layer
	- check through code that iterates all nameplates and determine if it can iterate only visible nameplates instead
		done: mana bar/text, threat bar/text
	- some sort of global constants file? associated with the base module? constants at least at file scope

efficiency:

	- clean up new ThreatData module, in conjunction with other refinements
	- check over gathering of "targettarget" GUID, make sure it is not happening redundantly
	- gather battlefield scores in a centralized way
	- make sure ToT system is not messing with throughput/framerates

functional features:

	- area threat/group threat: keep a history of recent player target GUIDs with associated nameplates
		add when the target is selected, remove when the target is dead or goes invisible
		process as part of "IterateVisibleNameplates()"
		update all of these, with threat bars and flash frames, as threat events are processed
		would allow tanks (esp druids/swipe and paladins/consecrate) to monitor multiple nearby targets for threat
		would only work with something GUID-based like Threat-2.0, assuming it continues to parse the combat log generically under WoW 3.x
	- fire flash frame on "targettarget"? or keep it on any/all nameplates with >=maximum threat?
	- port the addon to Ace3; re-enable FuBar when ready
	- port the addon to the Blizzard standard options subsystem, using Ace3, and get rid of Waterfall-1.0, and have the fubar module trigger this form of option presentation
	- split the addon up into a series of major modules, each canonically to consist of Data/Bar/Text functionality, so that people can enable/disable separately
	- enhance "active-while" options to include solo/battleground/dungeon/party/raid/resting/with pet?
		construct a multi-toggle mechanism using Waterfall and Ace options
	- finish localizations
		inventory files that need work
		solicit assistance
		frFR, koKR, ruRU, zhCN, zhTW, any/all others
		notes in TOC
		separate localization out into per-language files?
	- add an "Acapela" preset

WotLK enhancement:

	- start a v3.x utilities LUA to wrap native WoW APIs and Threat APIs (current Threat-2.0), use the Aloft module?
	- prep for V3.x CVar API (HideNameplates() and ShowNameplates(), which will be stored on the server)
		these events are not firing; Blizzard bug, or some other mechanism?
	- see what changes there are to the CheckInteractDistance() API
		this affects determination of melee distance, which in turn effects threat gain thresholds for the player

codebase turnover:

	- generate credits file
		rummage WoWAce changelog
		original development - roartindon
		contributions - ..., acapela
		threat subsystem development - ..., acapela
		frFR localization - ...
		koKR localization - ...
		ruRU localization - ...
		zhCN localization - ...
		zhTW localization - ...
	- continue to enrich AloftTag.rtf, include more examples and descriptions
		its RTF, so use tag/output examples in colored text
	- figure out how to encapsulate externals in new codebase SVN?
		just directly bundled for now.
	- come up with a meaningful strategy to detect, regression test, and incorporate new externals
	- update externals/embeds to most recent versions? including both TOC and Libs
		regular maintenance issue, for each release
	- introductory block comment at the head of every file
	- revision history block comment at the end of every file

validate:

	- test with defaults, insure that everything looks OK
	- test with defaults and all menu-picked options (canned tag formats and etc), insure that everything looks OK
	- test with optionals dependencies (debugging and threat-2.0) disabled and not installed

distant future:

	- investigate deficit bar mode for health (and presumably mana/threat? health is the useful, and also difficult, one)
		2008/08/24: difficult for health, would require frame texture region juggling and suppression of the underlying blizzard statusbar drawing region, deferred for now
		+ add a texture region to the blizzard health bar (right-anchored and in the OVERLAY layer) to serve as the health deficit bar, zap the underlying blizzard health bar color to zero alpha, then take over event-driven control of the health deficit bar?

on new WoW patch:

	- validate spell IDs (arguments to GetSpellInfo())
	- validate buff/debuff count (40); UNIT_DEBUFF_MAX
	- validate Crowd Control spell names
	- validate Stacking Point spell names (lacerate, sunder)
	- validate CVAR_UPDATE nameplate events
	- validate GetCVar CVar names
	- look for DeathKnight-specific data (class color, etc)
	- check "Interface\\WorldStateFrame\\Icons-Classes" TexCoords
	- check "Interface\\TARGETINGFRAME\\UI-RaidTargetingIcons" TexCoords
	- check "Interface\\AddOns\\Blizzard_CombatLog\\Blizzard_CombatLog.lua" for changes to spell school masks/colors

done:

	- update UI version in TOC
	- update mod version in TOC and LUA
	- add optional dependency for ThreatLib-2.0 to TOC
	- (re)integrate threat subsystem, using Threat-2.0; generate player threat indicator on target nameplate, and all friendly/grouped nameplates
	- clean up debugging instrumentation, generate self-contained debug module, make debug a user-specified option
	- use cached GUIds in threat subsystem
	- generate cached GUId for player at startup, provide Aloft module method for accessing it
	- generate cached GUID for target when target-change events are detected, provide Aloft module method for accessing it
	- implement an "active while solo" capability for threat bars, for use by pet-owning classes, to affect whether group-oriented data (unitids, guids, targetcounts, etc) are collected, and dependent associated data (threat) is collected/displayed
	- implement an "active while solo" capability for threat text, for use by pet-owning classes, to affect whether group-oriented data (unitids, guids, targetcounts, etc) are collected, and dependent associated data (threat) is collected/displayed
	- make certain threat data module is properly tied to "enabled" and "active while solo" threat bar/text flags (done via ProvidedData()/RequiredData() and DetermineDataSources())
	- implement threat gain indicator as an option (player threat display only; 110%/130% gain indicator, as a separate threat bar texture/region, to exceed generic threat max and incorporating its own user-specified color)
	- make threat throttle interval a user-specified option (currently commented out)
	- enhance debug subsystem functionality to allow filtering of individual modules
		could not get Debug-1.0 to load in an Ace2 environment
		used a proprietary method that passes addon/module names as arguments for filtering
		packaged as an external library, conditionally subscribed to by Aloft, not required
	- comprehensively update AloftTag.rtf, included all tags
	- extract WoWAce changelog in some form
		"svn log http://svn.wowace.com/wowace/trunk/Aloft/ > changelog.txt"
		embeded as a legacy artifact, CHANGELOG_WOWACE.txt
		got someone to do it for me
	- established a new SVN (WoWInterface, very easy, very convenient, they are great folks)
	- changed donate address in TOC
	- see if there is a way to get mana/threat/cast text to appear at higher levels than health text and mana/threat bars
		put underlying nameplate frame in level 1 (all text is implemented as a region off the nameplate frame)
	- debug HealthBarColor: looks like a hooking function problem; collecting health bar component colors on demand, fix tested
	- refineed default text tags, got rid of bogus leading/trailing text
	- guard complex debug statements with an IsDebugEnabled, to make certain API overhead is minimized
	- update maxThreat and associated bars/text on all visible nameplates when a threat event against the current target is received?
		at least update for the current player target nameplate? this would be a good start
		need to factor out a calculate-and-assign method that takes aloftData and basic gathered threat metrics
		throttle this update processing at regular timed intervals? yes (even for just player<->target threat)
		updating all threat bars/text would require driving an an UpdateAll (for threat bar and threat text)
	- generate readme file
	- prep for V3.x Threat API
	- understand how to make Aloft sensitive to WotLK API