Sin-gu-la-ri-ty (noun) - a distinctive feature, a uniqueness; a point at which continuity breaks up; gravitational singularity is also known as black hole; a point in history at which machine becomes smarter than humanity and/or fuses with it indivisibly; or simply a cool sounding word with my initials in it :)
Singularity Viewer is a Second Life protocol compatible client application. It can be used to access Second Life service as well as a number of other such as those based upon OpenSim platform. It is directly based upon source code of Ascent Viewer by Balseraph Software Group, which is in turn based upon source code released by Linden Lab, with contributions from various sources.
Linden Lab Terms of Service compliance
This information refers to Version 1.7.0, new features since are available on the news page. (Updating this page to refer to 1.8.9 is an ongoing effort) Following features are the focus of my work to distinguish it from Ascent:
- Ongoing effort to improve stability and performance beyond that of Ascent, and hopefully also beyond that of any other Second Life viewer. In particular, base code was upgraded from Snowglobe 1.4 to 1.5, texture fetch and texture decode reimplemented based on work from Imprudence Viewer project. Several performance and stability related improvements were implemented from scratch or backported from more recent Linden Lab codebases.
- For roleplaying: RLVa system 1.4.10 which supports in-world RLV compatible wearables. Thanks to Kitty Barnett for contributed implementation!
- Display names
- Support for Server-Side baking
- Complete support for Shared Media (Media on a prim)
- Support for Materials
- Crash logger support
- Support for Fitted Mesh, Bento, Animesh, and Bakes on Mesh
- Flexible Toolbar
Following features are present in Singularity, distinguishing it from official Linden Lab viewers. These particular features have already been present in Ascent Viewer, unless noted otherwise.
- Identification of other viewers(On grids other than Second Life)
- Avatar idle time (off by default; calculated by available information, not reliable)
- Double-click local teleport
- Pressing Esc to reset camera won't force to stand up
- Avatar Radar
- Alpha Skins and Tattoo Layers
- Enhanced Friend and Groups panels
- Script counting to check yourself and those around you for your impact on the simulator performance
- [NEW] Script Info floater to get more details about your impact and the impact of scripts on your land
- Sound and animation explorers
- Multiple attachments per attachment point. [NEW] in Singularity: the worn items are managed in Viewer 2.2 compatible manner
- Vertical IM tabs
- Quick settings for performance and windlight in lower right corner of the window.
- Command line from Emerald for common operations
- [NEW] Command to open SLURLs instead of needing to paste in chat (/open \<slurl>)
- [NEW] Command to send region-wide messages for estate managers (/regionsay msg)
- Area search
- Windlight editor
- Built in pose stand
- [NEW] Crouch toggle with Shift-[Crouch button]
- [NEW] Singularity -> Streaming Audio Display, find out what song is playing.
- Alternatively: Vanity->General->Announce music stream's metadata in local chat when tuned in
- [NEW] Support for most SLURLs used by the official Linden Lab viewers.
- [NEW] Open inventory folders in a separate floater
- [NEW] Web Profiles
- Option to upload snapshots to web profile feed
- [NEW] Web Search
- [NEW] Right click menus in scrollable lists of avatars
- [NEW] Option to request that someone teleport you
- [NEW] Option to use context (dropdown) menus instead of pie menus
- [NEW] Shift-click in the center of pie menus to go back up to the previous pie menu if there is one
- [NEW] One-handed walking
- Click and hold your avatar, right click to move, move the mouse to turn
- [NEW] The distance threshold for alt-camming and terrain parcel selection has been relaxed, allowing these actions to be done from further, more comfortable distances.
- [NEW] Portability Mode, have the viewer bring things like log, settings, cache, and chat logs along with it
- Install to a USB, use --portable arg, or use the provided shortcut as a template
- Settings are saved to a separate folder from the viewer, so don’t worry about removing the viewer folder when updating
- [NEW] Adaptive vsync support
- [NEW] Auto-replace
- [NEW] Support for Xbox, OUYA, and Dual Shock controllers
- Using motioninjoy as a Dual Shock 3 will support six axes
- Controller Keys
- A = Alt, B = Shift, X = Ctrl, Y = Escape
- Back = Toggle Flycam
- Start = Toggle Cursor
- Right Stick Click = Toggle Mouselook
- Left Stick Click = Jump/Fly
- PS Logo = Sit (Specific to motioninjoy as PS controller)
- [NEW] Azerty keyboard support
Improvements for content creators:
- Free temporary texture upload(On grids other than Second Life) and local texture display for testing textures and sculpties
- Preview animations on yourself upon upload
- Copy and Paste in build panel
- Embedded Animation Override editor
- Rez Objects As Land Group option
- Math expressions in build panel, from Imprudence
- Alignment tool, by Qarl Fizz
- Measure distance between any 2 prims - available in pie menu.
- UUID display for various things - full perm textures, prims, avatars
- Enhanced inspection floater
- [NEW] System preferences->Building panel for setting default parameters for creating an object.
- [NEW] Open scripts in external editor.
- [NEW] Support for using Merchant Outbox to send products to the marketplace.
- [NEW] Upload Mesh
- [NEW] Start, stop, and reset scripts from object inventory.
- [NEW] Export your creations to wavefront and collada formats.
- [NEW] Save permissive textures to disk in any formats the viewer can encode
- [NEW] Customize Appearance floater can be resized to easily reach parameters without having to scroll
- Fake away status
- Mu* style posing, auto close OOC brackets
- Roleplaying mode: enclose every non-/me statement into OOC brackets
- Emerald-style privacy controls
- [NEW] Italicize action messages (/me)
- [NEW] Option to remain flying when seated (keep wings flapping, avoid flying characters touching the ground)
- [NEW] Support for voice effects: Change the way your voice sounds!
- [NEW] Mouselook's visible UI is now configurable in Input & Camera preferences
- [NEW] Mouselook will not be exited when returning to the viewer window
The following were future plans that have been since released and/or have yet to be categorized above:
- Stronger antispam controls
And possibly some or many that I forgot.
Dual-core CPU with SSE2 support, NVidia or ATI/AMD graphics chip, 2GB RAM, Windows XP or newer, Ubuntu Linux 10.04 or newer, Mac OS X 10.6 or newer. Other systems support pending.
Thanks go to following people:
- Linden Lab for publishing viewer source code
- All the various TPV developers and Snowglobe contributors for creating a huge body of code to borrow from and compare against
- Hazim for developing Inertia on which Ascent is based. A really fine dude, although his viewer is not TOS compliant
- Shyotl Kuhr who did many of the optimizations incorporated in Ascent and some new for Singularity
- Rye (Alchemy Viewer) for maintaining infrastructure and libraries
- Beeks and Charbi for Ascent. Ascent was started as a project to bring Inertia to TOS compliance, and went on further to incorporate more features
- Robin Cornelius and Thickbrick Sleaford from Imprudence - have been a constant help with general issues and tech
- Henri Beauchamp and Lance Corrimal for being a great source to borrow from
- Kitty Barnett for contributing RLVa, Inventory Links and Current Outfit Folder
- Tonya Souther, Liny Odell and Wolfspirit Magic from Phoenix
- Nomade Zhao and Selvone Franizzi for French translation
- Damian Zhaoying for Spanish translation
- Knolan Falconer for Portuguese translation
- Avination for German translation
- Druskus for Italian translation
Frequently asked Questions
Q: I heard your viewer is malicious! I hate you! A: This was not a question. Also the person who came up with the rumor is malicious, whoever they might be.
Q: You are only 6 months old, thus you can't code! A: And you don't have a life.
Q: You are only 6 months old, thus you must be a griefer alt! A: Still not a question. And no, I'm really a young angel kitty -.-
Q: You are only 6 months old, thus you cannot know what Residents need! A: Even if I was 1000, I'd still only know either what I myself need, or whatever needs any Residents have expressed to me. Go ahead, get in touch.
Q: But all TPVs are shady! A: You are shady. Still, not a question.
Q: Why isn't your viewer listed on Linden TPVD? A: Actually, you're wrong, IT IS LISTED!!! However, this isn't a guarantee for trustworthiness, mind that.
Q: Why do you keep working on this?! The whole 1.x stuff is DOOMED!!! A: Actually, it was my intention to go V2 at some point, but with everyone else going there, I'll stay committed to this project for quite a while longer. Perhaps I'll get around to backport the complete core of current V2, from where keeping up with V2 progress won't be hard. Final point is, as long as I can keep the viewer technically compatible with the grid and its major features, there's no reason for Lindens to block its access to the grid. It won't die until we let it.
Q: I like your viewer! How can I help? A: If you are able to, fork my viewer source on GitHub, work your magic there, ping me on it, and I'll see whether I want your changes back in my viewer. Or build my viewer from source and find bugs. If you don't have necessary skills for that, your bug reports are somewhat unlikely to be processed because of lack of time on my hands. At the very least, precise reproduction steps are needed! Also needed: someone to build from source on Mac OS X. If you feel you have enough money, go ahead and transfer your L$ to my user account. I also accept paid requests for viewer features occasionally.
Plans for future
- One-handed camera control
- Stereoscopic rendering, mirror effects, better deferred mode
- More early culling. Make it faster.
- Redesigned multigrid content import system
- Optional favorites bar