I agree.  Removing the comma was not intentional -- I had added a maxFileCount parameter for testing, and then removed it.


pts_video = get_pts_video() starts to return nonzero only after first frame is displayed, otherwise it returns zero, so it seems is not the case.


@Nadahar in my opinion a feature that requires manual intervention in order to display files is not good. Other servers have it and it annoys me. If we want to make the Media Library feature more prominent then I suggest we remove the need to manually scan altogether. I don't use the feature so I'm not sure how different that is from how it's already done, but I know that when I'm browsing UMS normally it dynamically updates the cache and it's very convenient.

A cool feature would be a realtime monitor so we can scan folders if their contents are altered, keeping the cache/library in a fresh state without the user having to intervene.


Is this necessary? It looks like mowgli string append functions already take care of storing a NUL at the end of the string representation.


jkuhyrewulo;liuye


First commit


これって何するやつですか？


Good stuff, but isn't this gridnav known to all players and could potentially give away players positions when ghosting buildings through fog? One of the newest buildinghelper grid system is a table with each buildings grid size and just detecting the entities on the side of the client, which ensures only properly visible entities are given away when trying to place a building.


Adding two points is not an operation that makes sense, there is no geometrical interpretation of this.


MCG generated pinvoke wouldn't be a pinvoke method and it has IL code. .


revert this change.


Bugggggg


This comment doesn't make sense. `p1 - p2` means find the (vector) distance between two points.


This operation doesn't make sense.


This needs to return a vector


What was the project using scala-js-resources? I could really really really use something like that to include resources in my uTest suites.


and i wondered why mention-bot put me in this xD


This is not how you perform transformations on a point. What is the geometrical interpretation of this?


@ak3n So, the `decl` type there is all we need; `DEF`, `TAC` and `THM` are each different kind of declarations. So the parser `sigdec` should parse *either*` `DEF`, `TAC` or `THM`, rather than all three. (So, in the parser, I guess you use `||` instead of `&`, I think.)


Once the decl parser is finished, I can help you figure out how to parse into a telescope, btw.


Congratulations


The "was" is unnecessary here :)


This occurred upstream, see the notes here: https://github.com/OpenZWave/open-zwave/commits/master/config/eurotronic/eur_cometz.xml


TeamCity OSS :: Kubernetes Mesos :: 4 - Smoke Tests [Build 11781](https://teamcity.mesosphere.io/viewLog.html?buildId=106430&buildTypeId=Oss_KubernetesMesos_5SmokeTestsDockerMesos&guest=1) outcome was **SUCCESS**
Summary: Tests passed: 1, ignored: 214 Build time: 00:08:55


Will that return true even if the player only had "*" as a permission and the variable "Permission" would be a string - for instance "poi.remove"? That is why i use three conditions.


hahaha, brilliant, Rob! Works like a charm!


Jup, there were problems with the Mac build machines for about 10 days. So I still need to publish it. Will do it later today.


Do we want active model serializers to format our json output?


It checks everything. If you want to see if a player has permission `myplugin.something.somethingelse.something` it checks
`myplugin.something.somethingelse.something`
`myplugin.something.somethingelse.*`
`myplugin.something.*`
`myplugin.*`
and `*`


fixes #6


Huh, you're right, didn't see it there at the bottom. I just tried again and it actually seems to compile fine without this, so I guess this is unnecessary.


The header text should be able to update and change depending on the
information received from the back end

Thank You,

Jordan Gunther

(801)-616-7897

369 E 1165 N

Orem, UT 84057

jordankgunther@gmail.com

On Sat, Jan 16, 2016 at 12:02 PM, Gabe M. <notifications@github.com> wrote:

> Create a mockup of dynamic lower header bar. Will we be able to push data
> to the main header text and the right header text dynamically depending on
> the ui-view page.
>
> —
> Reply to this email directly or view it on GitHub
> <https://github.com/jordangunther/CollegeTester/commit/e36c74c449ff48ac2cba217e08bd0596df3b3419#commitcomment-15491711>
> .
>


.join('') is not necessary. Instead of .toUpperCase() try using (String.CASE_INSENSITIVE_ORDER) in your .sort()


No overrides and no default codec fall into the first branch (direct serialization)


fixes #5


“Please remove it before adding a correction.”   ?


Added branch dedicated to the second German edition of the book.


IdeApp.IsInitialized?


This is convenient for simply scaling the values of a point:

I find I write a lot of things like:

```
var point = aPoint
point.x *=2
point.y*=2
aPoint = point
```


@sahildua2305 should this be hidden? Not sure if it'll cause any trouble for this to be publicized in the repo.


got couple error.


Nope. Nevermind.


you need to include odroid also (I need to improve this so we can have platform flags o you can do isPlatform "arm7" etc)


@abalabahaha how did you not know this? D:


Oh, great. I am going to implement this as soon as possible. Thank you. I guess I should create a list of people who have helped me ^^


Not sure. But not an issue. Can change it anytime, once deployed properly with debug=False.


Sounds good.


Type big commit


This is what initially got me onto this PR...

This is convenient for simply scaling the values of a point:

I finding the mid-point of an object's frame is sometimes inconvenient:

```
let mid = C4Point(obj.width/2,obj.height/2)
```
Which this would make simpler by saying:
```
point /= 2
```

Now, this fix doesn't handle `C4Size`/2.0 but, I was just starting with `C4Point` and would move on to size (if approved).


@TehSeph I'd rather do lib-specific things in separate commits


compilation error on windows, mingw-x64:

```
gcc -c -Iproto -DWIN32 -DWINVER=0x0500 -D_WIN32_WINNT=0x0500 -DHAVE_PATHDEF -DFEAT_HUGE -DMS_WIN64 -DHAVE_GETTEXT -DHAVE_LOCALE_H -DDYNAMIC_GETTEXT -DFEAT_CSCOPE -DFEAT_NETBEANS_INTG -DFEAT_GUI_W32 -DFEAT_CLIPBOARD -DFEAT_MBYTE -DFEAT_MBYTE_IME -DDYNAMIC_IME -DDYNAMIC_ICONV -pipe -w -march=x86-64 -Wall -Id:/devel/perl/perl/lib/Core -DFEAT_PERL -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -DDYNAMIC_PERL -DDYNAMIC_PERL_DLL=\"perl522.dll\" -DFEAT_XPM_W32 -I xpm/x64/include -I xpm/x64/../include -O3 -fomit-frame-pointer -freg-struct-return -s pathdef.c -o gobjx86-64/pathdef.o
gcc -c -Iproto -DWIN32 -DWINVER=0x0500 -D_WIN32_WINNT=0x0500 -DHAVE_PATHDEF -DFEAT_HUGE -DMS_WIN64 -DHAVE_GETTEXT -DHAVE_LOCALE_H -DDYNAMIC_GETTEXT -DFEAT_CSCOPE -DFEAT_NETBEANS_INTG -DFEAT_GUI_W32 -DFEAT_CLIPBOARD -DFEAT_MBYTE -DFEAT_MBYTE_IME -DDYNAMIC_IME -DDYNAMIC_ICONV -pipe -w -march=x86-64 -Wall -Id:/devel/perl/perl/lib/Core -DFEAT_PERL -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -DDYNAMIC_PERL -DDYNAMIC_PERL_DLL=\"perl522.dll\" -DFEAT_XPM_W32 -I xpm/x64/include -I xpm/x64/../include -O3 -fomit-frame-pointer -freg-struct-return -s if_perl.c -o gobjx86-64/if_perl.o
gcc -Iproto -DWIN32 -DWINVER=0x0500 -D_WIN32_WINNT=0x0500 -DHAVE_PATHDEF -DFEAT_HUGE -DMS_WIN64 -DHAVE_GETTEXT -DHAVE_LOCALE_H -DDYNAMIC_GETTEXT -DFEAT_CSCOPE -DFEAT_NETBEANS_INTG -DFEAT_GUI_W32 -DFEAT_CLIPBOARD -DFEAT_MBYTE -DFEAT_MBYTE_IME -DDYNAMIC_IME -DDYNAMIC_ICONV -pipe -w -march=x86-64 -Wall -Id:/devel/perl/perl/lib/Core -DFEAT_PERL -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -DDYNAMIC_PERL -DDYNAMIC_PERL_DLL=\"perl522.dll\" -DFEAT_XPM_W32 -I xpm/x64/include -I xpm/x64/../include -O3 -fomit-frame-pointer -freg-struct-return -s -mwindows -o gvim.exe gobjx86-64/blowfish.o gobjx86-64/buffer.o gobjx86-64/charset.o gobjx86-64/crypt.o gobjx86-64/crypt_zip.o gobjx86-64/diff.o gobjx86-64/digraph.o gobjx86-64/edit.o gobjx86-64/eval.o gobjx86-64/ex_cmds.o gobjx86-64/ex_cmds2.o gobjx86-64/ex_docmd.o gobjx86-64/ex_eval.o gobjx86-64/ex_getln.o gobjx86-64/fileio.o gobjx86-64/fold.o gobjx86-64/getchar.o gobjx86-64/hardcopy.o gobjx86-64/hashtab.o gobjx86-64/main.o gobjx86-64/mark.o gobjx86-64/memfile.o gobjx86-64/memline.o gobjx86-64/menu.o gobjx86-64/message.o gobjx86-64/misc1.o gobjx86-64/misc2.o gobjx86-64/move.o gobjx86-64/mbyte.o gobjx86-64/normal.o gobjx86-64/ops.o gobjx86-64/option.o gobjx86-64/os_win32.o gobjx86-64/os_mswin.o gobjx86-64/winclip.o gobjx86-64/pathdef.o gobjx86-64/popupmnu.o gobjx86-64/quickfix.o gobjx86-64/regexp.o gobjx86-64/screen.o gobjx86-64/search.o gobjx86-64/sha256.o gobjx86-64/spell.o gobjx86-64/syntax.o gobjx86-64/tag.o gobjx86-64/term.o gobjx86-64/ui.o gobjx86-64/undo.o gobjx86-64/version.o gobjx86-64/vimrc.o gobjx86-64/window.o gobjx86-64/if_perl.o gobjx86-64/if_cscope.o gobjx86-64/netbeans.o gobjx86-64/xpm_w32.o gobjx86-64/gui.o gobjx86-64/gui_w32.o gobjx86-64/gui_beval.o gobjx86-64/os_w32exe.o -lkernel32 -luser32 -lgdi32 -ladvapi32 -lcomdlg32 -lcomctl32 -lversion -lwsock32 -Lxpm/x64/lib -lXpm -lole32 -luuid
gobjx86-64/eval.o:eval.c:(.text+0x3ac2): undefined reference to `mch_rmdir'
gobjx86-64/fileio.o:fileio.c:(.text+0x23b3): undefined reference to `mch_rmdir'
collect2.exe: error: ld returned 1 exit status
Make_cyg_ming.mak:777: recipe for target 'gvim.exe' failed
mingw32-make.exe: *** [gvim.exe] Error 1
```


I think we copy & pasta this template thing, I agree we don't need this.


Nice! Still, less CPU cycles the better!


Nice!


@SubJunk there are some shortage in the current implementation especially thumbnails creation which makes  folders with huge amount of files not responding in the real time and renderers show an error when browsing that folders. If we can run thumbnails creation in parallel threads like we do for images in the web interface it could help (especially for video files).


@SubJunk I agree that monitoring and "auto scanning" changes would be a good thing. Scanning should also be "expanded" so you could only scan new or remove orphans, without having to parse everything it the shared folders to update your library, so I partly agree.

But, I don't think the idea of manual scanning is that wrong, scanning huge libraries take a lot of time - and thus it's natural (to me at least) that people want to do this when they're not planning on using their computer for some hours. That's the way it works in any "media collection software" I know of. As it is today, there are issues with it (when I've tested scanning, I've had a lot of exceptions thrown and the feature seems partially broken), so I'm not saying we should make it more prominent as it is today.

I think that a "smarter" manual scan (scan for changes or scan all) combined with monitoring could be a solution. Monitoring won't help us keep up with changes done while UMS isn't running though, so some form of scanning is needed in any case. Making scanning a "low priority" background thread might also be a good idea, but I don't know how much suchs wizardry Java will allow us to do. I doubt CPU is a bottlenect in normal cases, but disk I/O probably will be, so having the scanner "give way" when I/O is too high (especially during transcoding) would be preferrable.

What I don't want is for us to move completely away from the media library, even though it's partly broken as it is. This is because I see this as the only way to handle big collections of media in any sensible way. A media library can let you sort, filter, search (for renderers that support it) your media in ways a folder structure never can. A folder structure can only be arranged one way, it doesn't allow you to use multiple approaches to find your media.


status здесь -- это константа. потому что ответ уже известен после ~> check


But that operation depends on the value of the point. Maybe better to explain with an example. Say you have an object at location p=(10, 10) in a coordinate system where the centre is in the middle of the screen. And you want a point twice as far from the origin and you use the multiply to get q=(20,20). The problem is that if you embed that view or code somewhere where the coordinate system's origin is now on the top left corner so p is now (240, 320), that operation will put q at (480, 640) which is likely outside of the screen. In other words that operation is dependent on the coordinate system.

The correct way of doing this would be
'''
let point = aPoint
let origin = C4Point()
let displacement = 2 * (point - origin)
let newPoint = point + displacement
```
It's more lines of code but it's also clear what you are trying to achieve.


>>    Note that the change is not equivalent.
> I certainly hope so. The previous code attempted to create an unnecessary direct dependency on p11-kit, whereas the new code simply requests libp11 to load the p11-kit-proxy module.

The long term goal for the engine was to rely only on p11-kit (without libp11) for safety and pkcs11 module discovery. May not make much sense though as currently it would require a rewrite of the engine.

>>   With the new option the p11-kit module is not used even if available. A user would have to know about it.
> Why do you think it is not used? Have you tested it? Could you share the results of your tests?

That was a mistake of mine. I only checked the code and realized that you kept using p11-kit by default.


Hello,
this commit changed the default for init byte 107 from 0x00 to 0xff. This causes the adc.read() to always return 65535 (see issue #826 ).
For those, who use stock prebuilt images this can break already existing code. Was this change intentional?


@abalabahaha Nah mate. You can't use that excuse. You filled in some of the others...
Discord4J, DiscordG, DiscordPHP, discordrb...


I moved out any skel stuff, because some profiles were kind of messy, dozens of same files in different layers.
I'd prefer to keep the basic live-skel in desktop-settings, for the reason that many maintainers missed the desktop-items scripts for example.
We can move back stuff eg for the WM profiles, but I consider it atm a good chance to perhaps fix and find some glitches in the profiles caused by overlay over overlay over overlay.
We also had a bug with /root folder setup, I took it out of manjaro-tools for the moment.
Anyway, we have not lost any functionally, its still there. ;)


TeamCity Open-source Libraries :: ConfigInjector :: CI [Build 2.0.454.0](http://build01:8888/viewLog.html?buildId=13838&buildTypeId=ConfigInjector_CI) is now running


The real solution is to do `obj.frame.mid` defined in `C4Rect` as `public var mid: C4Point { C4Point(midX, midY) }`


TeamCity Open-source Libraries :: ConfigInjector :: CI [Build 2.0.454.0](http://build01:8888/viewLog.html?buildId=13838&buildTypeId=ConfigInjector_CI) outcome was **SUCCESS**
Summary: Tests passed: 38 Build time: 00:00:41


yes thats good idea


and `size/2` does make sense as does `size*0.2`


Changed the Game class so the Graphics object would be passed by reference.
Might Change back to normal


@Pyrohh removing this apparently breaks Windows.

cc @equalsraf need to add this back to `win_defs.h`


good idea :)


@zolotov please review, I'm not sure about this method.


It seems silence ends in the sink directly after configure and no data there yet, especially when passthrough is configured, that causes a slight blip noise. So the very moment the "real transition" to Play will produce the blip as silence is added while the sink is already configured for passthrough.

Any idea on howto solve that properly?


"ok" for empty lines?


@valib To me it seems like they are scanned in parallel, but I still don't have the complete overview over the thumbnail process. When the renderer asks for a thumbnail link, a separate "GenerateThumb" is called which in turn run parse (for reasons I don't understand). This is run, as far as I can see, by the thread spawned to handle that particular request. But, I think there are many concurrency bugs there, and I'm not sure it's done in an optimal way. Our biggest problem is probably that we have to evaluate each media each time to find which transcoding method to use for that particular renderer each time something is browsed. That takes time. The optimal solution would be if we didn't have to do that evaluation until that particular media is requested, but that might not be possible.


Whoops. Thanks for noticing that one.


hi
Would someone mind looking into why sonar profiles aren't speaking when
they boot? The espeak package isn't at fault, because I use the same
espeak package on my sonar install hear and it works just fine. There
doesn't appear to be any sound beyond the sound you get when you adjust
the volume. running "espeak hi" in a terminal doesn't result in speech,
so I'm wondering if it's something with pulse audio? I agree with you
about the overlay stuff. I've had to place our gdm config and our
surfraw in every overlay, root, and desktop specific, because otherwise
the one in the desktop takes precedence because the installed packages
place default config files in there, and the one in the root overlay
never gets copied over.
Thanks
Kendell clark

On 1/16/2016 3:00 PM, udeved wrote:
>
> I moved out any skel stuff, because some profiles were kind of messy,
> dozens of same files in different layers.
> I'd prefer to keep the basic live-skel in desktop-settings, for the
> reason that many maintainers missed the desktop-items scripts for example.
> We can move back stuff eg for the WM profiles, but I consider it atm a
> good chance to perhaps fix and find some glitches in the profiles
> caused by overlay over overlay over overlay.
> We also had a bug with /root folder setup, I took it out of
> manjaro-tools for the moment.
> Anyway, we have not lost any functionally, its still there. ;)
>
> —
> Reply to this email directly or view it on GitHub
> <https://github.com/manjaro/desktop-settings/commit/750dd527228f7e870a22995e63588caaf02d47c2#commitcomment-15492164>.
>


Note that the noise blip does happen with all amps. Yamaha's seem impervious to them while Denon's will blip every time.


@zolotov please check a potential NPE.


It's easy to see, add: http://sprunge.us/WYCY

and you see: Sink is configured for passthrough, readily configured and then - there comes the zeros.


Don't worry about the deleted .lua files.
That is a commit fault. This will be fixed soon, as I still have the "real" files. This repository is only a copy after all.


Ah good point I will commit this now.


I would recommend merging all 3 branches together at this point


Thanks google analytics!


@Nadahar no they isn't. The ffmpeg or mplayer are running in the same thread which call them and UMS is waiting for the result.


需要安装tailer
pip install tailer


you broke drawRadius with this
The reason for drawRadius (separate from radius) is that it is meant to contain _all_ vertices inside.
With your change it is now possible (and likely) that stuff just disappears at the screen border.


that was per internal discussion :P


TeamCity pull requests :: netty [Build 1044](https://garage.netty.io/teamcity/viewLog.html?buildId=4811&buildTypeId=pulls_netty&guest=1) is now running


TeamCity pull requests :: netty [Build 1044](https://garage.netty.io/teamcity/viewLog.html?buildId=4811&buildTypeId=pulls_netty&guest=1) outcome was **FAILURE**
Summary: Exit code 1 (new) Build time: 00:01:28


Ah. I didn't see the other stuff you fixed until just now. The chat reliability was a big issue. Much thanks! :)


Keyboard slip?


As contas contábeis são dividias em níveis de conta, a menor é a soma das maiores e assim sucessivamente.

Ex.:

01                    Conta mãe            R$1,551.43
01.001             Conta filha 1          R$3.00
01.001.001             Conta neta 1          R$2.00
01.001.002             Conta neta 2          R$1.00
01.002             Conta filha 2          R$1,448.43
01.002.001             Conta neta 1          R$1,325.10
01.002.002             Conta neta 1          R$   123.33
01.003             Conta filha 3           R$100.00
01.003.001             Conta neta 1          R$100.00
02                    Outra conta mãe    R$100.00
02.001                    Conta filha 1    R$100.00
02.001.001             Conta neta 1          R$50.00
02.001.002             Conta neta 2          R$50.00


- packets from demuxer are fed into decoder: dts, pts
- decoder can do whatever it thinks is need to be done
- when decoder has decoded a pic, it signals VC_PICTURE
- this pic should have a PTS
- this PTS is reported to player

I would log all pts values at every stages. some ting must go wrong if decoder reports the values mentioned above.


This is the situation I was thinking:

Here are 4 options:

```
let dxdy = C4Point(10,10)
for _ in 1...10 {
    let p = C4Point(Double(i) * dxdy.x, Double(i) * dxdy.y)
}
```

```
let dxdy = 10.0
var p = C4Point()
for _ in 1...10 {
    p.x += dxdy
    p.y += dxdy
}
```

```
let v = C4Point(10,10)
var p = C4Point()
for _ in 1...10 {
    let newV = p + v
    p = C4Point(newV.x,newV.y)
}
```

```
let dxdy = C4Point(10,10)
var p = C4Point(10,10)
for _ in 1...10 {
    p += dxdy
}
```

The first and second a typical ways I have used / seen a lot, to create a series of offset points. The first is ugly but effective.

The third is the way that the addition function works right now, true to working with vectors, but a process that is inconvenient compared to 1 and 2.

Even though the 4th option is only a line less code that the 2nd, if there are a lot of occurrences of the 2nd option then it makes a difference. It is also cleaner looking than the first option.


@valib Which thread? The browse thread or the thread requesting that thumbnail? When I browse (I've done a lot of that lately to test 6.0.0 things), I often see the items first and then the thumbnails appear. Also when I looked in the code, I saw that this was done at least some times. But, I've used the web interface a lot while testing, so it might only be there. The question is how the renderer asks for thumbnails.

If thumbnails has to be part of the browse response, we have no choice but to generate them before answering. But, if we can just give a link for a thumbnail in the browse response and then queue thumbnail generation and deliver it when the renderer asks for it, we can do it delayed.

Once important thing to remember though is how we use disk I/O. Just spawning a separate thread for each new thumbail that need to be generated might not be a good idea. When the disk get lots of queries to read lot of different files at once, it ends up jumping around reading some here and some there. That's very ineffective for HDD's, as the head uses a lot of time travelling. It would probably be wiser to have a thumbnail generation queue that only processes a few at a time.


MyModel = require('../supportMethods/modelMethods');


Thanks for explanation, I'll try to log PTS values.


I think this will break something. I'm not really sure what the MMAL fullscreen flag means, but I think last time I tried to use it it broke some things.


I think this comment got cut off somehow :)


This can't be right, and will most likely break some features. What you probably want is to add the window position to the dst.x0/y0 values (since they're meant to be relative to the window top/right corner).


Cosmetics: move `{` to a separate line below. (mpv-specific deviation from K&R, I think.)


#3 がmergeされてからmergeする


No...? The box (max - mins) and therefore its enclosing bounding sphere (radius) _by definition_ contains all vertices.


ew, really? thought your convention was the opposite.


If you look at line 608,
assert(r > RANK_1 && r < RANK_7);
return ScaleFactor(KRPPKRPScaleFactors[r]);

and since RANK_1==0 and RANK_7==6
only indexes [1..5] are used by the code.


Why you removed some recipe?


What version of Go are you using?
It has been working for me until now, but I have not tested the most recent Go versions.


Does that mean the latest build will no longer be available at that location?


for IEC passthrough a IEC packet should be sent, not just zero


I was thinking of something like `obj.frame.mid` as you mentioned. My example was considering of the case:

```
obj.center = C4Point(superobj.width/2,superobj.height/2)
superobj.add(obj)
```

So, if `mid` is based on the bounds / size of the shape then I agree with this approach.


The future is revisions.


Won't this print uint8 even when reading mode 1 (int16) files?

(or can't you read back int16 files anymore?)


Compared to [2.1.2](https://github.com/jquery/jquery/blob/d837f119c3729565103005d5d7fa89e1dd8110cb/src/css.js#L152) (and assuming equal-cost `defaultDisplay`, which is usually true),

this `.show()` is

                          | no inline display | inline display: none | other inline display
--------------------- | --------------------- | -------------------------- | -------------
**cascade-visible** | less work (no `contains`) | unchanged | unchanged
**cascade-hidden** | more work (`contains`) | unchanged | unchanged
**detached** | more work in Firefox (`contains`), less elsewhere (no `contains`) | more work in Firefox (`contains`), less elsewhere (no `contains`) | unchanged
(but doesn't get the performance benefits of permanently locking in default display)

and this `.hide()` is

                          | no inline display | inline display: none | other inline display
--------------------- | --------------------- | -------------------------- | -------------
**cascade-visible** | much less work (no `getComputedStyle` or `contains`) | less work (no `getComputedStyle`) | much less work (no `getComputedStyle` or `contains`)
**cascade-hidden** | less work (no `getComputedStyle`) | less work (no `getComputedStyle`) | much less work (no `getComputedStyle` or `contains`)
**detached** | much less work (no `getComputedStyle` or non-Firefox `contains`) | much less work (no `getComputedStyle` or non-Firefox `contains`) | much less work (no `getComputedStyle` or non-Firefox `contains`)
(but doesn't get the performance benefits of permanently locking in computed display)

All in all, I don't think I can hope for anything better. But it seems like you disagree, @markelog... what would you like to see answered or changed here?


I'm revert this system.I'ts bug fo many boss.
Issue is no't fix,I open  many issue-not fix.


I've found that, with the addition of `NAND` and `NOR`, the uppercase emphasis is quite helpful as many of the lowercase versions of these operators look alike.


Yeah unfortunately some renderers need us to send accurate information in the browse response because they need the file that is played to match the information we sent. The speed depends a lot on renderer capabilities. Browsing on PS3 is slow because it hardly supports any file formats natively, so we need to do the calculations for each file, but browsing on a device with good file support like LG or Samsung TVs will be much faster since we just have a quick check that it's a container they support, especially when the device has subtitles support.


The only thing which can mess up the waifu messages now is if the chat doesn't load messages which can happen sometimes. But we can't change anything about that since it's a problem with twitch, not with the extension scripts.


TeamCity OSS :: Kubernetes Mesos :: 4 - Smoke Tests [Build 11782](https://teamcity.mesosphere.io/viewLog.html?buildId=106444&buildTypeId=Oss_KubernetesMesos_5SmokeTestsDockerMesos&guest=1) outcome was **SUCCESS**
Summary: Tests passed: 1, ignored: 214 Build time: 00:09:22


Yes, it is also working like that in VfxForth and Gforth so that seems to be the model behavior.


redundant


Thanks. It should have been like that from the start I guess, but it was only now that it was trivial to do, thanks to the proper implementation of `word`.


See issue #5


Should as in "is done" or - we need to do it?

From code I think: We need to do it right?


Sorry for the broken link, that's the right one:

https://dss-ci.cern.ch/job/xrootd-osx/37/console

and thanks for the fix! :)


bah nan ca peut pas marcher ca, vu que 0 est transformé en false


By Keith
They were added back in the process.
Some were just moved.

By me: why u no read

 <notifications@github.com>:
>
> Why you removed some recipe?
>
> —
> Reply to this email directly or view it on GitHub.
>


It's more clear, yes, but where `origin = {0,0}`... `point-origin` will always `= point`, which is redundant.


For future, it is really bad idea to cache the singleton value. Our singleton has destroy method which could be called at any time, so you will have the invalid pointer


See also issue #6 as well.


soit :D


See issue #6 as well.


[inst/examples/globe/server.R:3:27:](https://github.com/bwlewis/rthreejs/blob/4c621fc088bb08830310eb6fb9cfa20fbc0c7a14/inst/examples/globe/server.R#L3) *style:* **Put spaces around all infix operators.**
```r
data(world.cities, package="maps")
                         ~^~
```
[inst/examples/globe/server.R:7:48:](https://github.com/bwlewis/rthreejs/blob/4c621fc088bb08830310eb6fb9cfa20fbc0c7a14/inst/examples/globe/server.R#L7) *style:* **Commas should always have a space after.**
```r
earth_dark   <- system.file("images/world.jpg",package="threejs")
                                               ^
```
[inst/examples/globe/server.R:7:55:](https://github.com/bwlewis/rthreejs/blob/4c621fc088bb08830310eb6fb9cfa20fbc0c7a14/inst/examples/globe/server.R#L7) *style:* **Put spaces around all infix operators.**
```r
earth_dark   <- system.file("images/world.jpg",package="threejs")
                                                     ~^~
```
[inst/examples/globe/server.R:8:42:](https://github.com/bwlewis/rthreejs/blob/4c621fc088bb08830310eb6fb9cfa20fbc0c7a14/inst/examples/globe/server.R#L8) *style:* **Commas should always have a space after.**
```r
moon    <- system.file("images/moon.jpg",package="threejs")
                                         ^
```
[inst/examples/globe/server.R:8:49:](https://github.com/bwlewis/rthreejs/blob/4c621fc088bb08830310eb6fb9cfa20fbc0c7a14/inst/examples/globe/server.R#L8) *style:* **Put spaces around all infix operators.**
```r
moon    <- system.file("images/moon.jpg",package="threejs")
                                               ~^~
```
[inst/examples/globe/server.R:9:42:](https://github.com/bwlewis/rthreejs/blob/4c621fc088bb08830310eb6fb9cfa20fbc0c7a14/inst/examples/globe/server.R#L9) *style:* **Commas should always have a space after.**
```r
mars    <- system.file("images/mars.jpg",package="threejs")
                                         ^
```
[inst/examples/globe/server.R:9:49:](https://github.com/bwlewis/rthreejs/blob/4c621fc088bb08830310eb6fb9cfa20fbc0c7a14/inst/examples/globe/server.R#L9) *style:* **Put spaces around all infix operators.**
```r
mars    <- system.file("images/mars.jpg",package="threejs")
                                               ~^~
```
[inst/examples/globe/server.R:10:45:](https://github.com/bwlewis/rthreejs/blob/4c621fc088bb08830310eb6fb9cfa20fbc0c7a14/inst/examples/globe/server.R#L10) *style:* **Commas should always have a space after.**
```r
jupiter <- system.file("images/jupiter.jpg",package="threejs")
                                            ^
```
[inst/examples/globe/server.R:10:52:](https://github.com/bwlewis/rthreejs/blob/4c621fc088bb08830310eb6fb9cfa20fbc0c7a14/inst/examples/globe/server.R#L10) *style:* **Put spaces around all infix operators.**
```r
jupiter <- system.file("images/jupiter.jpg",package="threejs")
                                                  ~^~
```
[inst/examples/globe/server.R:12:15:](https://github.com/bwlewis/rthreejs/blob/4c621fc088bb08830310eb6fb9cfa20fbc0c7a14/inst/examples/globe/server.R#L12) *style:* **Put spaces around all infix operators.**
```r
    earth_dark=list(img=earth_dark,bodycolor="#0011ff",emissive="#0011ff",lightcolor="#99ddff"),
             ~^~
```
[inst/examples/globe/server.R:12:24:](https://github.com/bwlewis/rthreejs/blob/4c621fc088bb08830310eb6fb9cfa20fbc0c7a14/inst/examples/globe/server.R#L12) *style:* **Put spaces around all infix operators.**
```r
    earth_dark=list(img=earth_dark,bodycolor="#0011ff",emissive="#0011ff",lightcolor="#99ddff"),
                      ~^~
```
[inst/examples/globe/server.R:12:36:](https://github.com/bwlewis/rthreejs/blob/4c621fc088bb08830310eb6fb9cfa20fbc0c7a14/inst/examples/globe/server.R#L12) *style:* **Commas should always have a space after.**
```r
    earth_dark=list(img=earth_dark,bodycolor="#0011ff",emissive="#0011ff",lightcolor="#99ddff"),
                                   ^
```
[inst/examples/globe/server.R:12:45:](https://github.com/bwlewis/rthreejs/blob/4c621fc088bb08830310eb6fb9cfa20fbc0c7a14/inst/examples/globe/server.R#L12) *style:* **Put spaces around all infix operators.**
```r
    earth_dark=list(img=earth_dark,bodycolor="#0011ff",emissive="#0011ff",lightcolor="#99ddff"),
                                           ~^~
```
[inst/examples/globe/server.R:12:56:](https://github.com/bwlewis/rthreejs/blob/4c621fc088bb08830310eb6fb9cfa20fbc0c7a14/inst/examples/globe/server.R#L12) *style:* **Commas should always have a space after.**
```r
    earth_dark=list(img=earth_dark,bodycolor="#0011ff",emissive="#0011ff",lightcolor="#99ddff"),
                                                       ^
```
[inst/examples/globe/server.R:12:64:](https://github.com/bwlewis/rthreejs/blob/4c621fc088bb08830310eb6fb9cfa20fbc0c7a14/inst/examples/globe/server.R#L12) *style:* **Put spaces around all infix operators.**
```r
    earth_dark=list(img=earth_dark,bodycolor="#0011ff",emissive="#0011ff",lightcolor="#99ddff"),
                                                              ~^~
```
[inst/examples/globe/server.R:12:75:](https://github.com/bwlewis/rthreejs/blob/4c621fc088bb08830310eb6fb9cfa20fbc0c7a14/inst/examples/globe/server.R#L12) *style:* **Commas should always have a space after.**
```r
    earth_dark=list(img=earth_dark,bodycolor="#0011ff",emissive="#0011ff",lightcolor="#99ddff"),
                                                                          ^
```
[inst/examples/globe/server.R:12:85:](https://github.com/bwlewis/rthreejs/blob/4c621fc088bb08830310eb6fb9cfa20fbc0c7a14/inst/examples/globe/server.R#L12) *style:* **Put spaces around all infix operators.**
```r
    earth_dark=list(img=earth_dark,bodycolor="#0011ff",emissive="#0011ff",lightcolor="#99ddff"),
                                                                                ~^~
```
[inst/examples/globe/server.R:13:9:](https://github.com/bwlewis/rthreejs/blob/4c621fc088bb08830310eb6fb9cfa20fbc0c7a14/inst/examples/globe/server.R#L13) *style:* **Put spaces around all infix operators.**
```r
    moon=list(img=moon,bodycolor="#555555", emissive="#444444", lightcolor="#555555"),
       ~^~
```
[inst/examples/globe/server.R:13:18:](https://github.com/bwlewis/rthreejs/blob/4c621fc088bb08830310eb6fb9cfa20fbc0c7a14/inst/examples/globe/server.R#L13) *style:* **Put spaces around all infix operators.**
```r
    moon=list(img=moon,bodycolor="#555555", emissive="#444444", lightcolor="#555555"),
                ~^~
```
[inst/examples/globe/server.R:13:24:](https://github.com/bwlewis/rthreejs/blob/4c621fc088bb08830310eb6fb9cfa20fbc0c7a14/inst/examples/globe/server.R#L13) *style:* **Commas should always have a space after.**
```r
    moon=list(img=moon,bodycolor="#555555", emissive="#444444", lightcolor="#555555"),
                       ^
```
[inst/examples/globe/server.R:13:33:](https://github.com/bwlewis/rthreejs/blob/4c621fc088bb08830310eb6fb9cfa20fbc0c7a14/inst/examples/globe/server.R#L13) *style:* **Put spaces around all infix operators.**
```r
    moon=list(img=moon,bodycolor="#555555", emissive="#444444", lightcolor="#555555"),
                               ~^~
```
[inst/examples/globe/server.R:13:53:](https://github.com/bwlewis/rthreejs/blob/4c621fc088bb08830310eb6fb9cfa20fbc0c7a14/inst/examples/globe/server.R#L13) *style:* **Put spaces around all infix operators.**
```r
    moon=list(img=moon,bodycolor="#555555", emissive="#444444", lightcolor="#555555"),
                                                   ~^~
```
[inst/examples/globe/server.R:13:75:](https://github.com/bwlewis/rthreejs/blob/4c621fc088bb08830310eb6fb9cfa20fbc0c7a14/inst/examples/globe/server.R#L13) *style:* **Put spaces around all infix operators.**
```r
    moon=list(img=moon,bodycolor="#555555", emissive="#444444", lightcolor="#555555"),
                                                                         ~^~
```
[inst/examples/globe/server.R:14:9:](https://github.com/bwlewis/rthreejs/blob/4c621fc088bb08830310eb6fb9cfa20fbc0c7a14/inst/examples/globe/server.R#L14) *style:* **Put spaces around all infix operators.**
```r
    mars=list(img=mars,bodycolor="#aaaaaa", emissive="#000000", lightcolor="#aaaaaa"),
       ~^~
```
[inst/examples/globe/server.R:14:18:](https://github.com/bwlewis/rthreejs/blob/4c621fc088bb08830310eb6fb9cfa20fbc0c7a14/inst/examples/globe/server.R#L14) *style:* **Put spaces around all infix operators.**
```r
    mars=list(img=mars,bodycolor="#aaaaaa", emissive="#000000", lightcolor="#aaaaaa"),
                ~^~
```
[inst/examples/globe/server.R:14:24:](https://github.com/bwlewis/rthreejs/blob/4c621fc088bb08830310eb6fb9cfa20fbc0c7a14/inst/examples/globe/server.R#L14) *style:* **Commas should always have a space after.**
```r
    mars=list(img=mars,bodycolor="#aaaaaa", emissive="#000000", lightcolor="#aaaaaa"),
                       ^
```
[inst/examples/globe/server.R:14:33:](https://github.com/bwlewis/rthreejs/blob/4c621fc088bb08830310eb6fb9cfa20fbc0c7a14/inst/examples/globe/server.R#L14) *style:* **Put spaces around all infix operators.**
```r
    mars=list(img=mars,bodycolor="#aaaaaa", emissive="#000000", lightcolor="#aaaaaa"),
                               ~^~
```
[inst/examples/globe/server.R:14:53:](https://github.com/bwlewis/rthreejs/blob/4c621fc088bb08830310eb6fb9cfa20fbc0c7a14/inst/examples/globe/server.R#L14) *style:* **Put spaces around all infix operators.**
```r
    mars=list(img=mars,bodycolor="#aaaaaa", emissive="#000000", lightcolor="#aaaaaa"),
                                                   ~^~
```
[inst/examples/globe/server.R:14:75:](https://github.com/bwlewis/rthreejs/blob/4c621fc088bb08830310eb6fb9cfa20fbc0c7a14/inst/examples/globe/server.R#L14) *style:* **Put spaces around all infix operators.**
```r
    mars=list(img=mars,bodycolor="#aaaaaa", emissive="#000000", lightcolor="#aaaaaa"),
                                                                         ~^~
```
[inst/examples/globe/server.R:15:12:](https://github.com/bwlewis/rthreejs/blob/4c621fc088bb08830310eb6fb9cfa20fbc0c7a14/inst/examples/globe/server.R#L15) *style:* **Put spaces around all infix operators.**
```r
    jupiter=list(img=jupiter,bodycolor="#222222", emissive="#000000", lightcolor="#aaaaaa")
          ~^~
```
[inst/examples/globe/server.R:15:21:](https://github.com/bwlewis/rthreejs/blob/4c621fc088bb08830310eb6fb9cfa20fbc0c7a14/inst/examples/globe/server.R#L15) *style:* **Put spaces around all infix operators.**
```r
    jupiter=list(img=jupiter,bodycolor="#222222", emissive="#000000", lightcolor="#aaaaaa")
                   ~^~
```
[inst/examples/globe/server.R:15:30:](https://github.com/bwlewis/rthreejs/blob/4c621fc088bb08830310eb6fb9cfa20fbc0c7a14/inst/examples/globe/server.R#L15) *style:* **Commas should always have a space after.**
```r
    jupiter=list(img=jupiter,bodycolor="#222222", emissive="#000000", lightcolor="#aaaaaa")
                             ^
```
[inst/examples/globe/server.R:15:39:](https://github.com/bwlewis/rthreejs/blob/4c621fc088bb08830310eb6fb9cfa20fbc0c7a14/inst/examples/globe/server.R#L15) *style:* **Put spaces around all infix operators.**
```r
    jupiter=list(img=jupiter,bodycolor="#222222", emissive="#000000", lightcolor="#aaaaaa")
                                     ~^~
```
[inst/examples/globe/server.R:15:59:](https://github.com/bwlewis/rthreejs/blob/4c621fc088bb08830310eb6fb9cfa20fbc0c7a14/inst/examples/globe/server.R#L15) *style:* **Put spaces around all infix operators.**
```r
    jupiter=list(img=jupiter,bodycolor="#222222", emissive="#000000", lightcolor="#aaaaaa")
                                                         ~^~
```
[inst/examples/globe/server.R:15:81:](https://github.com/bwlewis/rthreejs/blob/4c621fc088bb08830310eb6fb9cfa20fbc0c7a14/inst/examples/globe/server.R#L15) *style:* **Put spaces around all infix operators.**
```r
    jupiter=list(img=jupiter,bodycolor="#222222", emissive="#000000", lightcolor="#aaaaaa")
                                                                               ~^~
```
[inst/examples/globe/server.R:23:42:](https://github.com/bwlewis/rthreejs/blob/4c621fc088bb08830310eb6fb9cfa20fbc0c7a14/inst/examples/globe/server.R#L23) *style:* **Commas should always have a space after.**
```r
     world.cities[order(world.cities$pop,decreasing=TRUE)[1:input$N],]
                                         ^
```
[inst/examples/globe/server.R:23:52:](https://github.com/bwlewis/rthreejs/blob/4c621fc088bb08830310eb6fb9cfa20fbc0c7a14/inst/examples/globe/server.R#L23) *style:* **Put spaces around all infix operators.**
```r
     world.cities[order(world.cities$pop,decreasing=TRUE)[1:input$N],]
                                                  ~^~
```
[inst/examples/globe/server.R:23:70:](https://github.com/bwlewis/rthreejs/blob/4c621fc088bb08830310eb6fb9cfa20fbc0c7a14/inst/examples/globe/server.R#L23) *style:* **Commas should always have a space after.**
```r
     world.cities[order(world.cities$pop,decreasing=TRUE)[1:input$N],]
                                                                     ^
```
[inst/examples/globe/server.R:29:29:](https://github.com/bwlewis/rthreejs/blob/4c621fc088bb08830310eb6fb9cfa20fbc0c7a14/inst/examples/globe/server.R#L29) *style:* **Put spaces around all infix operators.**
```r
    col <- rainbow(10, start=2.8 / 6,end=3.4 / 6)
                           ~^~
```
[inst/examples/globe/server.R:29:38:](https://github.com/bwlewis/rthreejs/blob/4c621fc088bb08830310eb6fb9cfa20fbc0c7a14/inst/examples/globe/server.R#L29) *style:* **Commas should always have a space after.**
```r
    col <- rainbow(10, start=2.8 / 6,end=3.4 / 6)
                                     ^
```
[inst/examples/globe/server.R:29:41:](https://github.com/bwlewis/rthreejs/blob/4c621fc088bb08830310eb6fb9cfa20fbc0c7a14/inst/examples/globe/server.R#L29) *style:* **Put spaces around all infix operators.**
```r
    col <- rainbow(10, start=2.8 / 6,end=3.4 / 6)
                                       ~^~
```
[inst/examples/globe/server.R:33:15:](https://github.com/bwlewis/rthreejs/blob/4c621fc088bb08830310eb6fb9cfa20fbc0c7a14/inst/examples/globe/server.R#L33) *style:* **Put spaces around all infix operators.**
```r
    list(value=value, color=col, cities=cities)
             ~^~
```
[inst/examples/globe/server.R:33:28:](https://github.com/bwlewis/rthreejs/blob/4c621fc088bb08830310eb6fb9cfa20fbc0c7a14/inst/examples/globe/server.R#L33) *style:* **Put spaces around all infix operators.**
```r
    list(value=value, color=col, cities=cities)
                          ~^~
```
[inst/examples/globe/server.R:33:40:](https://github.com/bwlewis/rthreejs/blob/4c621fc088bb08830310eb6fb9cfa20fbc0c7a14/inst/examples/globe/server.R#L33) *style:* **Put spaces around all infix operators.**
```r
    list(value=value, color=col, cities=cities)
                                      ~^~
```
[inst/examples/globe/server.R:40:32:](https://github.com/bwlewis/rthreejs/blob/4c621fc088bb08830310eb6fb9cfa20fbc0c7a14/inst/examples/globe/server.R#L40) *style:* **Commas should never have a space before.**
```r
    args <- c(col[[input$map]] , list(lat=v$cities$lat, long=v$cities$long, value=v$value, color=v$color, atmosphere=atmo))
                              ~^
```
[inst/examples/globe/server.R:40:42:](https://github.com/bwlewis/rthreejs/blob/4c621fc088bb08830310eb6fb9cfa20fbc0c7a14/inst/examples/globe/server.R#L40) *style:* **Put spaces around all infix operators.**
```r
    args <- c(col[[input$map]] , list(lat=v$cities$lat, long=v$cities$long, value=v$value, color=v$color, atmosphere=atmo))
                                        ~^~
```
[inst/examples/globe/server.R:40:61:](https://github.com/bwlewis/rthreejs/blob/4c621fc088bb08830310eb6fb9cfa20fbc0c7a14/inst/examples/globe/server.R#L40) *style:* **Put spaces around all infix operators.**
```r
    args <- c(col[[input$map]] , list(lat=v$cities$lat, long=v$cities$long, value=v$value, color=v$color, atmosphere=atmo))
                                                           ~^~
```
[inst/examples/globe/server.R:40:82:](https://github.com/bwlewis/rthreejs/blob/4c621fc088bb08830310eb6fb9cfa20fbc0c7a14/inst/examples/globe/server.R#L40) *style:* **Put spaces around all infix operators.**
```r
    args <- c(col[[input$map]] , list(lat=v$cities$lat, long=v$cities$long, value=v$value, color=v$color, atmosphere=atmo))
                                                                                ~^~
```
[inst/examples/globe/server.R:40:97:](https://github.com/bwlewis/rthreejs/blob/4c621fc088bb08830310eb6fb9cfa20fbc0c7a14/inst/examples/globe/server.R#L40) *style:* **Put spaces around all infix operators.**
```r
    args <- c(col[[input$map]] , list(lat=v$cities$lat, long=v$cities$long, value=v$value, color=v$color, atmosphere=atmo))
                                                                                ~^~
```
[inst/examples/globe/server.R:40:117:](https://github.com/bwlewis/rthreejs/blob/4c621fc088bb08830310eb6fb9cfa20fbc0c7a14/inst/examples/globe/server.R#L40) *style:* **Put spaces around all infix operators.**
```r
    args <- c(col[[input$map]] , list(lat=v$cities$lat, long=v$cities$long, value=v$value, color=v$color, atmosphere=atmo))
                                                                                ~^~
```
[inst/examples/globe/server.R:41:26:](https://github.com/bwlewis/rthreejs/blob/4c621fc088bb08830310eb6fb9cfa20fbc0c7a14/inst/examples/globe/server.R#L41) *style:* **Put spaces around all infix operators.**
```r
    do.call(globejs, args=args)
                        ~^~
```
[inst/examples/globe/ui.R:8:57:](https://github.com/bwlewis/rthreejs/blob/4c621fc088bb08830310eb6fb9cfa20fbc0c7a14/inst/examples/globe/ui.R#L8) *style:* **Put spaces around all infix operators.**
```r
      sliderInput("N", "Number of cities to plot", value=5000, min = 100, max = 10000, step = 100),
                                                       ~^~
```
[inst/examples/globe/ui.R:9:31:](https://github.com/bwlewis/rthreejs/blob/4c621fc088bb08830310eb6fb9cfa20fbc0c7a14/inst/examples/globe/ui.R#L9) *style:* **Put spaces around all infix operators.**
```r
      selectInput("map", label="Surface map",
                             ~^~
```
[inst/examples/globe/ui.R:11:24:](https://github.com/bwlewis/rthreejs/blob/4c621fc088bb08830310eb6fb9cfa20fbc0c7a14/inst/examples/globe/ui.R#L11) *style:* **Put spaces around all infix operators.**
```r
           list("Earth"="earth_dark",
                      ~^~
```
[inst/examples/globe/ui.R:12:23:](https://github.com/bwlewis/rthreejs/blob/4c621fc088bb08830310eb6fb9cfa20fbc0c7a14/inst/examples/globe/ui.R#L12) *style:* **Put spaces around all infix operators.**
```r
                "Moon"="moon",
                     ~^~
```
[inst/examples/globe/ui.R:13:23:](https://github.com/bwlewis/rthreejs/blob/4c621fc088bb08830310eb6fb9cfa20fbc0c7a14/inst/examples/globe/ui.R#L13) *style:* **Put spaces around all infix operators.**
```r
                "Mars"="mars",
                     ~^~
```
[inst/examples/globe/ui.R:14:26:](https://github.com/bwlewis/rthreejs/blob/4c621fc088bb08830310eb6fb9cfa20fbc0c7a14/inst/examples/globe/ui.R#L14) *style:* **Put spaces around all infix operators.**
```r
                "Jupiter"="jupiter"),
                        ~^~
```
[inst/examples/scatterplot/server.R:5:3:](https://github.com/bwlewis/rthreejs/blob/4c621fc088bb08830310eb6fb9cfa20fbc0c7a14/inst/examples/scatterplot/server.R#L5) *style:* **Place a space before left parenthesis, except in a function call.**
```r
if(!exists("example_data")) example_data <- matrix(runif(50 * 3), ncol=3)
  ^
```
[inst/examples/scatterplot/server.R:5:71:](https://github.com/bwlewis/rthreejs/blob/4c621fc088bb08830310eb6fb9cfa20fbc0c7a14/inst/examples/scatterplot/server.R#L5) *style:* **Put spaces around all infix operators.**
```r
if(!exists("example_data")) example_data <- matrix(runif(50 * 3), ncol=3)
                                                                     ~^~
```
[inst/examples/scatterplot/server.R:11:7:](https://github.com/bwlewis/rthreejs/blob/4c621fc088bb08830310eb6fb9cfa20fbc0c7a14/inst/examples/scatterplot/server.R#L11) *style:* **Place a space before left parenthesis, except in a function call.**
```r
    if(num.ticks == 0) num.ticks <- NULL
      ^
```
[inst/examples/scatterplot/server.R:12:37:](https://github.com/bwlewis/rthreejs/blob/4c621fc088bb08830310eb6fb9cfa20fbc0c7a14/inst/examples/scatterplot/server.R#L12) *style:* **Commas should always have a space after.**
```r
    else num.ticks <- rep(num.ticks,3)
                                    ^
```
[inst/examples/scatterplot/server.R:13:40:](https://github.com/bwlewis/rthreejs/blob/4c621fc088bb08830310eb6fb9cfa20fbc0c7a14/inst/examples/scatterplot/server.R#L13) *style:* **Commas should always have a space after.**
```r
    color <- rep(rainbow(input$colors),length.out=nrow(example_data))
                                       ^
```
[inst/examples/scatterplot/server.R:13:50:](https://github.com/bwlewis/rthreejs/blob/4c621fc088bb08830310eb6fb9cfa20fbc0c7a14/inst/examples/scatterplot/server.R#L13) *style:* **Put spaces around all infix operators.**
```r
    color <- rep(rainbow(input$colors),length.out=nrow(example_data))
                                                ~^~
```
[inst/examples/scatterplot/server.R:14:57:](https://github.com/bwlewis/rthreejs/blob/4c621fc088bb08830310eb6fb9cfa20fbc0c7a14/inst/examples/scatterplot/server.R#L14) *style:* **Put spaces around all infix operators.**
```r
    sizes <- rep(c(0.5, 1, 2)[1:input$sizes], length.out=nrow(example_data))
                                                       ~^~
```
[inst/examples/scatterplot/server.R:15:61:](https://github.com/bwlewis/rthreejs/blob/4c621fc088bb08830310eb6fb9cfa20fbc0c7a14/inst/examples/scatterplot/server.R#L15) *style:* **Commas should always have a space after.**
```r
    labs <- sprintf("x=%.2f, y=%.2f, z=%.2f", example_data[,1], example_data[,2], example_data[,3])
                                                            ^
```
[inst/examples/scatterplot/server.R:15:79:](https://github.com/bwlewis/rthreejs/blob/4c621fc088bb08830310eb6fb9cfa20fbc0c7a14/inst/examples/scatterplot/server.R#L15) *style:* **Commas should always have a space after.**
```r
    labs <- sprintf("x=%.2f, y=%.2f, z=%.2f", example_data[,1], example_data[,2], example_data[,3])
                                                                              ^
```
[inst/examples/scatterplot/server.R:15:97:](https://github.com/bwlewis/rthreejs/blob/4c621fc088bb08830310eb6fb9cfa20fbc0c7a14/inst/examples/scatterplot/server.R#L15) *style:* **Commas should always have a space after.**
```r
    labs <- sprintf("x=%.2f, y=%.2f, z=%.2f", example_data[,1], example_data[,2], example_data[,3])
                                                                                ^
```
[inst/examples/scatterplot/server.R:16:21:](https://github.com/bwlewis/rthreejs/blob/4c621fc088bb08830310eb6fb9cfa20fbc0c7a14/inst/examples/scatterplot/server.R#L16) *style:* **Put spaces around all infix operators.**
```r
    scatterplot3js(x=example_data,
                   ~^~
```
[inst/examples/scatterplot/server.R:17:30:](https://github.com/bwlewis/rthreejs/blob/4c621fc088bb08830310eb6fb9cfa20fbc0c7a14/inst/examples/scatterplot/server.R#L17) *style:* **Put spaces around all infix operators.**
```r
                    num.ticks=num.ticks,
                            ~^~
```
[inst/examples/scatterplot/server.R:18:26:](https://github.com/bwlewis/rthreejs/blob/4c621fc088bb08830310eb6fb9cfa20fbc0c7a14/inst/examples/scatterplot/server.R#L18) *style:* **Put spaces around all infix operators.**
```r
                    color=color,
                        ~^~
```
[inst/examples/scatterplot/server.R:19:25:](https://github.com/bwlewis/rthreejs/blob/4c621fc088bb08830310eb6fb9cfa20fbc0c7a14/inst/examples/scatterplot/server.R#L19) *style:* **Put spaces around all infix operators.**
```r
                    size=sizes,
                       ~^~
```
[inst/examples/scatterplot/server.R:20:27:](https://github.com/bwlewis/rthreejs/blob/4c621fc088bb08830310eb6fb9cfa20fbc0c7a14/inst/examples/scatterplot/server.R#L20) *style:* **Put spaces around all infix operators.**
```r
                    labels=labs,
                         ~^~
```
[inst/examples/scatterplot/server.R:21:33:](https://github.com/bwlewis/rthreejs/blob/4c621fc088bb08830310eb6fb9cfa20fbc0c7a14/inst/examples/scatterplot/server.R#L21) *style:* **Put spaces around all infix operators.**
```r
                    label.margin="80px 10px 10px 10px",
                               ~^~
```
[inst/examples/scatterplot/server.R:22:29:](https://github.com/bwlewis/rthreejs/blob/4c621fc088bb08830310eb6fb9cfa20fbc0c7a14/inst/examples/scatterplot/server.R#L22) *style:* **Put spaces around all infix operators.**
```r
                    renderer=input$renderer,
                           ~^~
```
[inst/examples/scatterplot/server.R:23:25:](https://github.com/bwlewis/rthreejs/blob/4c621fc088bb08830310eb6fb9cfa20fbc0c7a14/inst/examples/scatterplot/server.R#L23) *style:* **Put spaces around all infix operators.**
```r
                    grid=input$grid)
                       ~^~
```
[inst/examples/scatterplot/ui.R:13:36:](https://github.com/bwlewis/rthreejs/blob/4c621fc088bb08830310eb6fb9cfa20fbc0c7a14/inst/examples/scatterplot/ui.R#L13) *style:* **Put spaces around all infix operators.**
```r
      selectInput("renderer", label="Rendering method",
                                  ~^~
```
[inst/examples/scatterplot/ui.R:14:31:](https://github.com/bwlewis/rthreejs/blob/4c621fc088bb08830310eb6fb9cfa20fbc0c7a14/inst/examples/scatterplot/ui.R#L14) *style:* **Put spaces around all infix operators.**
```r
         choices = list("Auto"="auto", "Canvas"="canvas", "WebGL"="webgl"),
                             ~^~
```
[inst/examples/scatterplot/ui.R:14:48:](https://github.com/bwlewis/rthreejs/blob/4c621fc088bb08830310eb6fb9cfa20fbc0c7a14/inst/examples/scatterplot/ui.R#L14) *style:* **Put spaces around all infix operators.**
```r
         choices = list("Auto"="auto", "Canvas"="canvas", "WebGL"="webgl"),
                                              ~^~
```
[inst/examples/scatterplot/ui.R:14:66:](https://github.com/bwlewis/rthreejs/blob/4c621fc088bb08830310eb6fb9cfa20fbc0c7a14/inst/examples/scatterplot/ui.R#L14) *style:* **Put spaces around all infix operators.**
```r
         choices = list("Auto"="auto", "Canvas"="canvas", "WebGL"="webgl"),
                                                                ~^~
```
[R/globe.R:162:47:](https://github.com/bwlewis/rthreejs/blob/4c621fc088bb08830310eb6fb9cfa20fbc0c7a14/R/globe.R#L162) *style:* **Put spaces around all infix operators.**
```r
  img=system.file("images/world.jpg",  package="threejs"),
                                             ~^~
```
[R/globe.R:176:5:](https://github.com/bwlewis/rthreejs/blob/4c621fc088bb08830310eb6fb9cfa20fbc0c7a14/R/globe.R#L176) *style:* **Place a space before left parenthesis, except in a function call.**
```r
  if(missing(lat) || missing(long))
    ^
```
[R/globe.R:183:5:](https://github.com/bwlewis/rthreejs/blob/4c621fc088bb08830310eb6fb9cfa20fbc0c7a14/R/globe.R#L183) *style:* **Place a space before left parenthesis, except in a function call.**
```r
  if(length(i) > 0)
    ^
```
[R/globe.R:186:7:](https://github.com/bwlewis/rthreejs/blob/4c621fc088bb08830310eb6fb9cfa20fbc0c7a14/R/globe.R#L186) *style:* **Place a space before left parenthesis, except in a function call.**
```r
    if(any(j))
      ^
```
[R/globe.R:192:5:](https://github.com/bwlewis/rthreejs/blob/4c621fc088bb08830310eb6fb9cfa20fbc0c7a14/R/globe.R#L192) *style:* **Place a space before left parenthesis, except in a function call.**
```r
  if(length(i) > 0)
    ^
```
[R/globe.R:195:7:](https://github.com/bwlewis/rthreejs/blob/4c621fc088bb08830310eb6fb9cfa20fbc0c7a14/R/globe.R#L195) *style:* **Place a space before left parenthesis, except in a function call.**
```r
    if(any(j))
      ^
```
[R/globe.R:201:5:](https://github.com/bwlewis/rthreejs/blob/4c621fc088bb08830310eb6fb9cfa20fbc0c7a14/R/globe.R#L201) *style:* **Place a space before left parenthesis, except in a function call.**
```r
  if(length(i) > 0) bg = substr(bg, 1, 7)
    ^
```
[R/globe.R:202:5:](https://github.com/bwlewis/rthreejs/blob/4c621fc088bb08830310eb6fb9cfa20fbc0c7a14/R/globe.R#L202) *style:* **Place a space before left parenthesis, except in a function call.**
```r
  if(missing(arcs))
    ^
```
[R/globe.R:212:21:](https://github.com/bwlewis/rthreejs/blob/4c621fc088bb08830310eb6fb9cfa20fbc0c7a14/R/globe.R#L212) *style:* **Put spaces around all infix operators.**
```r
  options = list(lat=lat, long=long, color=color, arcsOpacity=arcsOpacity,
                   ~^~
```
[R/globe.R:212:31:](https://github.com/bwlewis/rthreejs/blob/4c621fc088bb08830310eb6fb9cfa20fbc0c7a14/R/globe.R#L212) *style:* **Put spaces around all infix operators.**
```r
  options = list(lat=lat, long=long, color=color, arcsOpacity=arcsOpacity,
                             ~^~
```
[R/globe.R:212:43:](https://github.com/bwlewis/rthreejs/blob/4c621fc088bb08830310eb6fb9cfa20fbc0c7a14/R/globe.R#L212) *style:* **Put spaces around all infix operators.**
```r
  options = list(lat=lat, long=long, color=color, arcsOpacity=arcsOpacity,
                                         ~^~
```
[R/globe.R:212:62:](https://github.com/bwlewis/rthreejs/blob/4c621fc088bb08830310eb6fb9cfa20fbc0c7a14/R/globe.R#L212) *style:* **Put spaces around all infix operators.**
```r
  options = list(lat=lat, long=long, color=color, arcsOpacity=arcsOpacity,
                                                            ~^~
```
[R/globe.R:213:23:](https://github.com/bwlewis/rthreejs/blob/4c621fc088bb08830310eb6fb9cfa20fbc0c7a14/R/globe.R#L213) *style:* **Put spaces around all infix operators.**
```r
                 value=value, atmosphere=atmosphere, bg=bg, arcs=arcs,
                     ~^~
```
[R/globe.R:213:41:](https://github.com/bwlewis/rthreejs/blob/4c621fc088bb08830310eb6fb9cfa20fbc0c7a14/R/globe.R#L213) *style:* **Put spaces around all infix operators.**
```r
                 value=value, atmosphere=atmosphere, bg=bg, arcs=arcs,
                                       ~^~
```
[R/globe.R:213:56:](https://github.com/bwlewis/rthreejs/blob/4c621fc088bb08830310eb6fb9cfa20fbc0c7a14/R/globe.R#L213) *style:* **Put spaces around all infix operators.**
```r
                 value=value, atmosphere=atmosphere, bg=bg, arcs=arcs,
                                                      ~^~
```
[R/globe.R:213:65:](https://github.com/bwlewis/rthreejs/blob/4c621fc088bb08830310eb6fb9cfa20fbc0c7a14/R/globe.R#L213) *style:* **Put spaces around all infix operators.**
```r
                 value=value, atmosphere=atmosphere, bg=bg, arcs=arcs,
                                                               ~^~
```
[R/globe.R:214:27:](https://github.com/bwlewis/rthreejs/blob/4c621fc088bb08830310eb6fb9cfa20fbc0c7a14/R/globe.R#L214) *style:* **Put spaces around all infix operators.**
```r
                 arcsColor=arcsColor, arcsLwd=arcsLwd, arcsHeight=arcsHeight)
                         ~^~
```
[R/globe.R:214:46:](https://github.com/bwlewis/rthreejs/blob/4c621fc088bb08830310eb6fb9cfa20fbc0c7a14/R/globe.R#L214) *style:* **Put spaces around all infix operators.**
```r
                 arcsColor=arcsColor, arcsLwd=arcsLwd, arcsHeight=arcsHeight)
                                            ~^~
```
[R/globe.R:214:66:](https://github.com/bwlewis/rthreejs/blob/4c621fc088bb08830310eb6fb9cfa20fbc0c7a14/R/globe.R#L214) *style:* **Put spaces around all infix operators.**
```r
                 arcsColor=arcsColor, arcsLwd=arcsLwd, arcsHeight=arcsHeight)
                                                                ~^~
```
[R/globe.R:216:5:](https://github.com/bwlewis/rthreejs/blob/4c621fc088bb08830310eb6fb9cfa20fbc0c7a14/R/globe.R#L216) *style:* **Place a space before left parenthesis, except in a function call.**
```r
  if(length(additional_args) > 0) options = c(options, additional_args)
    ^
```
[R/globe.R:218:5:](https://github.com/bwlewis/rthreejs/blob/4c621fc088bb08830310eb6fb9cfa20fbc0c7a14/R/globe.R#L218) *style:* **Place a space before left parenthesis, except in a function call.**
```r
  if("bodycolor" %in% names(options))
    ^
```
[R/globe.R:220:19:](https://github.com/bwlewis/rthreejs/blob/4c621fc088bb08830310eb6fb9cfa20fbc0c7a14/R/globe.R#L220) *style:* **Commas should always have a space after.**
```r
    i = grep("^#",options$bodycolor)
                  ^
```
[R/globe.R:221:7:](https://github.com/bwlewis/rthreejs/blob/4c621fc088bb08830310eb6fb9cfa20fbc0c7a14/R/globe.R#L221) *style:* **Place a space before left parenthesis, except in a function call.**
```r
    if(length(i) > 0) options$bodycolor = substr(options$bodycolor,1,7)
      ^
```
[R/globe.R:221:68:](https://github.com/bwlewis/rthreejs/blob/4c621fc088bb08830310eb6fb9cfa20fbc0c7a14/R/globe.R#L221) *style:* **Commas should always have a space after.**
```r
    if(length(i) > 0) options$bodycolor = substr(options$bodycolor,1,7)
                                                                   ^
```
[R/globe.R:221:70:](https://github.com/bwlewis/rthreejs/blob/4c621fc088bb08830310eb6fb9cfa20fbc0c7a14/R/globe.R#L221) *style:* **Commas should always have a space after.**
```r
    if(length(i) > 0) options$bodycolor = substr(options$bodycolor,1,7)
                                                                     ^
```
[R/globe.R:223:5:](https://github.com/bwlewis/rthreejs/blob/4c621fc088bb08830310eb6fb9cfa20fbc0c7a14/R/globe.R#L223) *style:* **Place a space before left parenthesis, except in a function call.**
```r
  if("emissive" %in% names(options))
    ^
```
[R/globe.R:225:19:](https://github.com/bwlewis/rthreejs/blob/4c621fc088bb08830310eb6fb9cfa20fbc0c7a14/R/globe.R#L225) *style:* **Commas should always have a space after.**
```r
    i = grep("^#",options$emissive)
                  ^
```
[R/globe.R:226:7:](https://github.com/bwlewis/rthreejs/blob/4c621fc088bb08830310eb6fb9cfa20fbc0c7a14/R/globe.R#L226) *style:* **Place a space before left parenthesis, except in a function call.**
```r
    if(length(i) > 0) options$emissive = substr(options$emissive,1,7)
      ^
```
[R/globe.R:226:66:](https://github.com/bwlewis/rthreejs/blob/4c621fc088bb08830310eb6fb9cfa20fbc0c7a14/R/globe.R#L226) *style:* **Commas should always have a space after.**
```r
    if(length(i) > 0) options$emissive = substr(options$emissive,1,7)
                                                                 ^
```
[R/globe.R:226:68:](https://github.com/bwlewis/rthreejs/blob/4c621fc088bb08830310eb6fb9cfa20fbc0c7a14/R/globe.R#L226) *style:* **Commas should always have a space after.**
```r
    if(length(i) > 0) options$emissive = substr(options$emissive,1,7)
                                                                   ^
```
[R/globe.R:228:5:](https://github.com/bwlewis/rthreejs/blob/4c621fc088bb08830310eb6fb9cfa20fbc0c7a14/R/globe.R#L228) *style:* **Place a space before left parenthesis, except in a function call.**
```r
  if("lightcolor" %in% names(options))
    ^
```
[R/globe.R:230:19:](https://github.com/bwlewis/rthreejs/blob/4c621fc088bb08830310eb6fb9cfa20fbc0c7a14/R/globe.R#L230) *style:* **Commas should always have a space after.**
```r
    i = grep("^#",options$lightcolor)
                  ^
```
[R/globe.R:231:7:](https://github.com/bwlewis/rthreejs/blob/4c621fc088bb08830310eb6fb9cfa20fbc0c7a14/R/globe.R#L231) *style:* **Place a space before left parenthesis, except in a function call.**
```r
    if(length(i) > 0) options$lightcolor = substr(options$lightcolor,1,7)
      ^
```
[R/globe.R:231:70:](https://github.com/bwlewis/rthreejs/blob/4c621fc088bb08830310eb6fb9cfa20fbc0c7a14/R/globe.R#L231) *style:* **Commas should always have a space after.**
```r
    if(length(i) > 0) options$lightcolor = substr(options$lightcolor,1,7)
                                                                     ^
```
[R/globe.R:231:72:](https://github.com/bwlewis/rthreejs/blob/4c621fc088bb08830310eb6fb9cfa20fbc0c7a14/R/globe.R#L231) *style:* **Commas should always have a space after.**
```r
    if(length(i) > 0) options$lightcolor = substr(options$lightcolor,1,7)
                                                                       ^
```
[R/globe.R:235:28:](https://github.com/bwlewis/rthreejs/blob/4c621fc088bb08830310eb6fb9cfa20fbc0c7a14/R/globe.R#L235) *warning:* **no visible global function definition for ‘texture’**
```r
  if (!is.list(img)) img = texture(img)
                           ^~~~~~~
```
[R/globe.R:259:5:](https://github.com/bwlewis/rthreejs/blob/4c621fc088bb08830310eb6fb9cfa20fbc0c7a14/R/globe.R#L259) *warning:* **no visible global function definition for ‘shinyRenderWidget’**
```r
    shinyRenderWidget(expr, globeOutput, env, quoted = TRUE)
    ^~~~~~~~~~~~~~~~~
```
[R/globe.R:259:29:](https://github.com/bwlewis/rthreejs/blob/4c621fc088bb08830310eb6fb9cfa20fbc0c7a14/R/globe.R#L259) *warning:* **no visible binding for global variable ‘globeOutput’**
```r
    shinyRenderWidget(expr, globeOutput, env, quoted = TRUE)
                            ^~~~~~~~~~~
```
[R/graph.R:68:5:](https://github.com/bwlewis/rthreejs/blob/4c621fc088bb08830310eb6fb9cfa20fbc0c7a14/R/graph.R#L68) *style:* **Place a space before left parenthesis, except in a function call.**
```r
  if(!is.data.frame(edges))
    ^
```
[R/graph.R:70:5:](https://github.com/bwlewis/rthreejs/blob/4c621fc088bb08830310eb6fb9cfa20fbc0c7a14/R/graph.R#L70) *style:* **Place a space before left parenthesis, except in a function call.**
```r
  if(is.null(edges$size)) edges$size = 1
    ^
```
[R/graph.R:71:5:](https://github.com/bwlewis/rthreejs/blob/4c621fc088bb08830310eb6fb9cfa20fbc0c7a14/R/graph.R#L71) *style:* **Place a space before left parenthesis, except in a function call.**
```r
  if(is.null(edges$color)) edges$color = "lightgray"
    ^
```
[R/graph.R:72:5:](https://github.com/bwlewis/rthreejs/blob/4c621fc088bb08830310eb6fb9cfa20fbc0c7a14/R/graph.R#L72) *style:* **Place a space before left parenthesis, except in a function call.**
```r
  if(!all(c("from", "size", "to", "color") %in% names(edges)))
    ^
```
[R/graph.R:76:26:](https://github.com/bwlewis/rthreejs/blob/4c621fc088bb08830310eb6fb9cfa20fbc0c7a14/R/graph.R#L76) *style:* **Put spaces around all infix operators.**
```r
    nodes = data.frame(id=unique(c(edges$from, edges$to)), size=1, color="orange", stringsAsFactors=FALSE)
                        ~^~
```
[R/graph.R:76:64:](https://github.com/bwlewis/rthreejs/blob/4c621fc088bb08830310eb6fb9cfa20fbc0c7a14/R/graph.R#L76) *style:* **Put spaces around all infix operators.**
```r
    nodes = data.frame(id=unique(c(edges$from, edges$to)), size=1, color="orange", stringsAsFactors=FALSE)
                                                              ~^~
```
[R/graph.R:76:73:](https://github.com/bwlewis/rthreejs/blob/4c621fc088bb08830310eb6fb9cfa20fbc0c7a14/R/graph.R#L76) *style:* **Put spaces around all infix operators.**
```r
    nodes = data.frame(id=unique(c(edges$from, edges$to)), size=1, color="orange", stringsAsFactors=FALSE)
                                                                       ~^~
```
[R/graph.R:76:100:](https://github.com/bwlewis/rthreejs/blob/4c621fc088bb08830310eb6fb9cfa20fbc0c7a14/R/graph.R#L76) *style:* **Put spaces around all infix operators.**
```r
    nodes = data.frame(id=unique(c(edges$from, edges$to)), size=1, color="orange", stringsAsFactors=FALSE)
                                                                                ~^~
```
[R/graph.R:79:5:](https://github.com/bwlewis/rthreejs/blob/4c621fc088bb08830310eb6fb9cfa20fbc0c7a14/R/graph.R#L79) *style:* **Place a space before left parenthesis, except in a function call.**
```r
  if(is.null(nodes$label)) nodes$label = nodes$id
    ^
```
[R/graph.R:80:5:](https://github.com/bwlewis/rthreejs/blob/4c621fc088bb08830310eb6fb9cfa20fbc0c7a14/R/graph.R#L80) *style:* **Place a space before left parenthesis, except in a function call.**
```r
  if(is.null(nodes$size)) nodes$size = 1
    ^
```
[R/graph.R:81:5:](https://github.com/bwlewis/rthreejs/blob/4c621fc088bb08830310eb6fb9cfa20fbc0c7a14/R/graph.R#L81) *style:* **Place a space before left parenthesis, except in a function call.**
```r
  if(is.null(nodes$color)) nodes$color = "orange"
    ^
```
[R/graph.R:82:5:](https://github.com/bwlewis/rthreejs/blob/4c621fc088bb08830310eb6fb9cfa20fbc0c7a14/R/graph.R#L82) *style:* **Place a space before left parenthesis, except in a function call.**
```r
  if(!all(c("id", "size", "label", "color") %in% names(nodes)))
    ^
```
[R/graph.R:85:47:](https://github.com/bwlewis/rthreejs/blob/4c621fc088bb08830310eb6fb9cfa20fbc0c7a14/R/graph.R#L85) *style:* **Put spaces around all infix operators.**
```r
  stroke = switch(as.character(stroke), "TRUE"="black", "white")
                                             ~^~
```
[R/graph.R:88:17:](https://github.com/bwlewis/rthreejs/blob/4c621fc088bb08830310eb6fb9cfa20fbc0c7a14/R/graph.R#L88) *style:* **Put spaces around all infix operators.**
```r
  x = list(nodes=nodes,
               ~^~
```
[R/graph.R:89:17:](https://github.com/bwlewis/rthreejs/blob/4c621fc088bb08830310eb6fb9cfa20fbc0c7a14/R/graph.R#L89) *style:* **Put spaces around all infix operators.**
```r
           edges=edges,
               ~^~
```
[R/graph.R:90:16:](https://github.com/bwlewis/rthreejs/blob/4c621fc088bb08830310eb6fb9cfa20fbc0c7a14/R/graph.R#L90) *style:* **Put spaces around all infix operators.**
```r
           main=main,
              ~^~
```
[R/graph.R:91:14:](https://github.com/bwlewis/rthreejs/blob/4c621fc088bb08830310eb6fb9cfa20fbc0c7a14/R/graph.R#L91) *style:* **Put spaces around all infix operators.**
```r
           bg=bg,
            ~^~
```
[R/graph.R:92:14:](https://github.com/bwlewis/rthreejs/blob/4c621fc088bb08830310eb6fb9cfa20fbc0c7a14/R/graph.R#L92) *style:* **Put spaces around all infix operators.**
```r
           fg=fg,
            ~^~
```
[R/graph.R:93:22:](https://github.com/bwlewis/rthreejs/blob/4c621fc088bb08830310eb6fb9cfa20fbc0c7a14/R/graph.R#L93) *style:* **Put spaces around all infix operators.**
```r
           showLabels=showLabels,
                    ~^~
```
[R/graph.R:94:22:](https://github.com/bwlewis/rthreejs/blob/4c621fc088bb08830310eb6fb9cfa20fbc0c7a14/R/graph.R#L94) *style:* **Put spaces around all infix operators.**
```r
           attraction=attraction,
                    ~^~
```
[R/graph.R:95:21:](https://github.com/bwlewis/rthreejs/blob/4c621fc088bb08830310eb6fb9cfa20fbc0c7a14/R/graph.R#L95) *style:* **Put spaces around all infix operators.**
```r
           repulsion=repulsion,
                   ~^~
```
[R/graph.R:96:22:](https://github.com/bwlewis/rthreejs/blob/4c621fc088bb08830310eb6fb9cfa20fbc0c7a14/R/graph.R#L96) *style:* **Put spaces around all infix operators.**
```r
           iterations=max_iterations,
                    ~^~
```
[R/graph.R:97:21:](https://github.com/bwlewis/rthreejs/blob/4c621fc088bb08830310eb6fb9cfa20fbc0c7a14/R/graph.R#L97) *style:* **Put spaces around all infix operators.**
```r
           curvature=curvature,
                   ~^~
```
[R/graph.R:98:19:](https://github.com/bwlewis/rthreejs/blob/4c621fc088bb08830310eb6fb9cfa20fbc0c7a14/R/graph.R#L98) *style:* **Put spaces around all infix operators.**
```r
           opacity=opacity,
                 ~^~
```
[R/graph.R:99:18:](https://github.com/bwlewis/rthreejs/blob/4c621fc088bb08830310eb6fb9cfa20fbc0c7a14/R/graph.R#L99) *style:* **Put spaces around all infix operators.**
```r
           stroke=stroke)
                ~^~
```
[R/graph.R:102:35:](https://github.com/bwlewis/rthreejs/blob/4c621fc088bb08830310eb6fb9cfa20fbc0c7a14/R/graph.R#L102) *style:* **Put spaces around all infix operators.**
```r
          x = toJSON(x, auto_unbox=TRUE),
                                 ~^~
```
[R/graph.R:123:5:](https://github.com/bwlewis/rthreejs/blob/4c621fc088bb08830310eb6fb9cfa20fbc0c7a14/R/graph.R#L123) *warning:* **no visible global function definition for ‘shinyRenderWidget’**
```r
    shinyRenderWidget(expr, graphOutput, env, quoted = TRUE)
    ^~~~~~~~~~~~~~~~~
```
[R/graph.R:123:29:](https://github.com/bwlewis/rthreejs/blob/4c621fc088bb08830310eb6fb9cfa20fbc0c7a14/R/graph.R#L123) *warning:* **no visible binding for global variable ‘graphOutput’**
```r
    shinyRenderWidget(expr, graphOutput, env, quoted = TRUE)
                            ^~~~~~~~~~~
```
[R/graph.R:149:1:](https://github.com/bwlewis/rthreejs/blob/4c621fc088bb08830310eb6fb9cfa20fbc0c7a14/R/graph.R#L149) *style:* **lines should not be more than 130 characters.**
```r
  if (!is.data.frame(edges) || !(c("from", "to") %in% names(edges))) stop("edges must be a data frame with 'from' and 'to' columns")
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/graph.R:152:26:](https://github.com/bwlewis/rthreejs/blob/4c621fc088bb08830310eb6fb9cfa20fbc0c7a14/R/graph.R#L152) *style:* **Put spaces around all infix operators.**
```r
    nodes = data.frame(id=unique(c(edges$from, edges$to)))
                        ~^~
```
[R/graph.R:157:18:](https://github.com/bwlewis/rthreejs/blob/4c621fc088bb08830310eb6fb9cfa20fbc0c7a14/R/graph.R#L157) *style:* **Commas should always have a space after.**
```r
    idx = edges[,"from"] > edges[,"to"]
                 ^
```
[R/graph.R:157:35:](https://github.com/bwlewis/rthreejs/blob/4c621fc088bb08830310eb6fb9cfa20fbc0c7a14/R/graph.R#L157) *style:* **Commas should always have a space after.**
```r
    idx = edges[,"from"] > edges[,"to"]
                                  ^
```
[R/graph.R:158:7:](https://github.com/bwlewis/rthreejs/blob/4c621fc088bb08830310eb6fb9cfa20fbc0c7a14/R/graph.R#L158) *style:* **Place a space before left parenthesis, except in a function call.**
```r
    if(any(idx))
      ^
```
[R/graph.R:169:22:](https://github.com/bwlewis/rthreejs/blob/4c621fc088bb08830310eb6fb9cfa20fbc0c7a14/R/graph.R#L169) *style:* **Commas should always have a space after.**
```r
  names(id) = nodes[,"id"]
                     ^
```
[R/graph.R:170:7:](https://github.com/bwlewis/rthreejs/blob/4c621fc088bb08830310eb6fb9cfa20fbc0c7a14/R/graph.R#L170) *warning:* **no visible global function definition for ‘sparseMatrix’**
```r
  M = sparseMatrix(i=id[as.character(edges$from)], j=id[as.character(edges$to)], x=x, dims=c(N, N), symmetric=symmetric)
      ^~~~~~~~~~~~
```
[R/graph.R:170:21:](https://github.com/bwlewis/rthreejs/blob/4c621fc088bb08830310eb6fb9cfa20fbc0c7a14/R/graph.R#L170) *style:* **Put spaces around all infix operators.**
```r
  M = sparseMatrix(i=id[as.character(edges$from)], j=id[as.character(edges$to)], x=x, dims=c(N, N), symmetric=symmetric)
                   ~^~
```
[R/graph.R:170:53:](https://github.com/bwlewis/rthreejs/blob/4c621fc088bb08830310eb6fb9cfa20fbc0c7a14/R/graph.R#L170) *style:* **Put spaces around all infix operators.**
```r
  M = sparseMatrix(i=id[as.character(edges$from)], j=id[as.character(edges$to)], x=x, dims=c(N, N), symmetric=symmetric)
                                                   ~^~
```
[R/graph.R:170:83:](https://github.com/bwlewis/rthreejs/blob/4c621fc088bb08830310eb6fb9cfa20fbc0c7a14/R/graph.R#L170) *style:* **Put spaces around all infix operators.**
```r
  M = sparseMatrix(i=id[as.character(edges$from)], j=id[as.character(edges$to)], x=x, dims=c(N, N), symmetric=symmetric)
                                                                                ~^~
```
[R/graph.R:170:91:](https://github.com/bwlewis/rthreejs/blob/4c621fc088bb08830310eb6fb9cfa20fbc0c7a14/R/graph.R#L170) *style:* **Put spaces around all infix operators.**
```r
  M = sparseMatrix(i=id[as.character(edges$from)], j=id[as.character(edges$to)], x=x, dims=c(N, N), symmetric=symmetric)
                                                                                ~^~
```
[R/graph.R:170:110:](https://github.com/bwlewis/rthreejs/blob/4c621fc088bb08830310eb6fb9cfa20fbc0c7a14/R/graph.R#L170) *style:* **Put spaces around all infix operators.**
```r
  M = sparseMatrix(i=id[as.character(edges$from)], j=id[as.character(edges$to)], x=x, dims=c(N, N), symmetric=symmetric)
                                                                                ~^~
```
[R/graph.R:171:5:](https://github.com/bwlewis/rthreejs/blob/4c621fc088bb08830310eb6fb9cfa20fbc0c7a14/R/graph.R#L171) *style:* **Place a space before left parenthesis, except in a function call.**
```r
  if(!is.null(nodes$label)) colnames(M) = rownames(M) = nodes$label
    ^
```
[R/graph.R:189:7:](https://github.com/bwlewis/rthreejs/blob/4c621fc088bb08830310eb6fb9cfa20fbc0c7a14/R/graph.R#L189) *warning:* **no visible global function definition for ‘Matrix’, Did you mean 'matrix'?**
```r
  M = Matrix(M)
      ^~~~~~
```
[R/graph.R:190:5:](https://github.com/bwlewis/rthreejs/blob/4c621fc088bb08830310eb6fb9cfa20fbc0c7a14/R/graph.R#L190) *style:* **Place a space before left parenthesis, except in a function call.**
```r
  if(!any(grepl("CMatrix", class(M)))) stop("M must be a matrix or CsparseMatrix object")
    ^
```
[R/graph.R:193:5:](https://github.com/bwlewis/rthreejs/blob/4c621fc088bb08830310eb6fb9cfa20fbc0c7a14/R/graph.R#L193) *style:* **Place a space before left parenthesis, except in a function call.**
```r
  if("x" %in% slotNames(M)) size = as.numeric(M@x)
    ^
```
[R/graph.R:193:15:](https://github.com/bwlewis/rthreejs/blob/4c621fc088bb08830310eb6fb9cfa20fbc0c7a14/R/graph.R#L193) *warning:* **no visible global function definition for ‘slotNames’, Did you mean 'setNames'?**
```r
  if("x" %in% slotNames(M)) size = as.numeric(M@x)
              ^~~~~~~~~
```
[R/graph.R:194:24:](https://github.com/bwlewis/rthreejs/blob/4c621fc088bb08830310eb6fb9cfa20fbc0c7a14/R/graph.R#L194) *style:* **Put spaces around all infix operators.**
```r
  nodes = data.frame(id=1:n, label=1:n, size=1, color="orange")
                      ~^~
```
[R/graph.R:194:35:](https://github.com/bwlewis/rthreejs/blob/4c621fc088bb08830310eb6fb9cfa20fbc0c7a14/R/graph.R#L194) *style:* **Put spaces around all infix operators.**
```r
  nodes = data.frame(id=1:n, label=1:n, size=1, color="orange")
                                 ~^~
```
[R/graph.R:194:45:](https://github.com/bwlewis/rthreejs/blob/4c621fc088bb08830310eb6fb9cfa20fbc0c7a14/R/graph.R#L194) *style:* **Put spaces around all infix operators.**
```r
  nodes = data.frame(id=1:n, label=1:n, size=1, color="orange")
                                           ~^~
```
[R/graph.R:194:54:](https://github.com/bwlewis/rthreejs/blob/4c621fc088bb08830310eb6fb9cfa20fbc0c7a14/R/graph.R#L194) *style:* **Put spaces around all infix operators.**
```r
  nodes = data.frame(id=1:n, label=1:n, size=1, color="orange")
                                                    ~^~
```
[R/graph.R:195:5:](https://github.com/bwlewis/rthreejs/blob/4c621fc088bb08830310eb6fb9cfa20fbc0c7a14/R/graph.R#L195) *style:* **Place a space before left parenthesis, except in a function call.**
```r
  if(!is.null(colnames(M))) nodes$label = colnames(M)
    ^
```
[R/graph.R:197:26:](https://github.com/bwlewis/rthreejs/blob/4c621fc088bb08830310eb6fb9cfa20fbc0c7a14/R/graph.R#L197) *style:* **Put spaces around all infix operators.**
```r
  edges = data.frame(from=M@i + 1, to=rep(seq_along(dp), dp), size=size, color="lightgray")
                        ~^~
```
[R/graph.R:197:38:](https://github.com/bwlewis/rthreejs/blob/4c621fc088bb08830310eb6fb9cfa20fbc0c7a14/R/graph.R#L197) *style:* **Put spaces around all infix operators.**
```r
  edges = data.frame(from=M@i + 1, to=rep(seq_along(dp), dp), size=size, color="lightgray")
                                    ~^~
```
[R/graph.R:197:67:](https://github.com/bwlewis/rthreejs/blob/4c621fc088bb08830310eb6fb9cfa20fbc0c7a14/R/graph.R#L197) *style:* **Put spaces around all infix operators.**
```r
  edges = data.frame(from=M@i + 1, to=rep(seq_along(dp), dp), size=size, color="lightgray")
                                                                 ~^~
```
[R/graph.R:197:79:](https://github.com/bwlewis/rthreejs/blob/4c621fc088bb08830310eb6fb9cfa20fbc0c7a14/R/graph.R#L197) *style:* **Put spaces around all infix operators.**
```r
  edges = data.frame(from=M@i + 1, to=rep(seq_along(dp), dp), size=size, color="lightgray")
                                                                             ~^~
```
[R/graph.R:198:13:](https://github.com/bwlewis/rthreejs/blob/4c621fc088bb08830310eb6fb9cfa20fbc0c7a14/R/graph.R#L198) *style:* **Put spaces around all infix operators.**
```r
  list(nodes=nodes, edges=edges)
           ~^~
```
[R/graph.R:198:26:](https://github.com/bwlewis/rthreejs/blob/4c621fc088bb08830310eb6fb9cfa20fbc0c7a14/R/graph.R#L198) *style:* **Put spaces around all infix operators.**
```r
  list(nodes=nodes, edges=edges)
                        ~^~
```
[R/scatterplot.R:148:19:](https://github.com/bwlewis/rthreejs/blob/4c621fc088bb08830310eb6fb9cfa20fbc0c7a14/R/scatterplot.R#L148) *style:* **Commas should always have a space after.**
```r
  num.ticks = c(6,6,6),
                  ^
```
[R/scatterplot.R:148:21:](https://github.com/bwlewis/rthreejs/blob/4c621fc088bb08830310eb6fb9cfa20fbc0c7a14/R/scatterplot.R#L148) *style:* **Commas should always have a space after.**
```r
  num.ticks = c(6,6,6),
                    ^
```
[R/scatterplot.R:159:23:](https://github.com/bwlewis/rthreejs/blob/4c621fc088bb08830310eb6fb9cfa20fbc0c7a14/R/scatterplot.R#L159) *style:* **Commas should always have a space after.**
```r
  renderer = c("auto","canvas","webgl"),
                      ^
```
[R/scatterplot.R:159:32:](https://github.com/bwlewis/rthreejs/blob/4c621fc088bb08830310eb6fb9cfa20fbc0c7a14/R/scatterplot.R#L159) *style:* **Commas should always have a space after.**
```r
  renderer = c("auto","canvas","webgl"),
                               ^
```
[R/scatterplot.R:165:5:](https://github.com/bwlewis/rthreejs/blob/4c621fc088bb08830310eb6fb9cfa20fbc0c7a14/R/scatterplot.R#L165) *style:* **Place a space before left parenthesis, except in a function call.**
```r
  if(!missing(y) && !missing(z))
    ^
```
[R/scatterplot.R:167:7:](https://github.com/bwlewis/rthreejs/blob/4c621fc088bb08830310eb6fb9cfa20fbc0c7a14/R/scatterplot.R#L167) *style:* **Place a space before left parenthesis, except in a function call.**
```r
    if(is.matrix(x))
      ^
```
[R/scatterplot.R:169:16:](https://github.com/bwlewis/rthreejs/blob/4c621fc088bb08830310eb6fb9cfa20fbc0c7a14/R/scatterplot.R#L169) *style:* **Put spaces around all infix operators.**
```r
    x = cbind(x=x,y=y,z=z)
              ~^~
```
[R/scatterplot.R:169:19:](https://github.com/bwlewis/rthreejs/blob/4c621fc088bb08830310eb6fb9cfa20fbc0c7a14/R/scatterplot.R#L169) *style:* **Commas should always have a space after.**
```r
    x = cbind(x=x,y=y,z=z)
                  ^
```
[R/scatterplot.R:169:20:](https://github.com/bwlewis/rthreejs/blob/4c621fc088bb08830310eb6fb9cfa20fbc0c7a14/R/scatterplot.R#L169) *style:* **Put spaces around all infix operators.**
```r
    x = cbind(x=x,y=y,z=z)
                  ~^~
```
[R/scatterplot.R:169:23:](https://github.com/bwlewis/rthreejs/blob/4c621fc088bb08830310eb6fb9cfa20fbc0c7a14/R/scatterplot.R#L169) *style:* **Commas should always have a space after.**
```r
    x = cbind(x=x,y=y,z=z)
                      ^
```
[R/scatterplot.R:169:24:](https://github.com/bwlewis/rthreejs/blob/4c621fc088bb08830310eb6fb9cfa20fbc0c7a14/R/scatterplot.R#L169) *style:* **Put spaces around all infix operators.**
```r
    x = cbind(x=x,y=y,z=z)
                      ~^~
```
[R/scatterplot.R:171:5:](https://github.com/bwlewis/rthreejs/blob/4c621fc088bb08830310eb6fb9cfa20fbc0c7a14/R/scatterplot.R#L171) *style:* **Place a space before left parenthesis, except in a function call.**
```r
  if(ncol(x) != 3) stop("x must be a three column matrix")
    ^
```
[R/scatterplot.R:172:5:](https://github.com/bwlewis/rthreejs/blob/4c621fc088bb08830310eb6fb9cfa20fbc0c7a14/R/scatterplot.R#L172) *style:* **Place a space before left parenthesis, except in a function call.**
```r
  if(is.data.frame(x)) x = as.matrix(x)
    ^
```
[R/scatterplot.R:173:5:](https://github.com/bwlewis/rthreejs/blob/4c621fc088bb08830310eb6fb9cfa20fbc0c7a14/R/scatterplot.R#L173) *style:* **Place a space before left parenthesis, except in a function call.**
```r
  if(!is.matrix(x)) stop("x must be a three column matrix")
    ^
```
[R/scatterplot.R:175:5:](https://github.com/bwlewis/rthreejs/blob/4c621fc088bb08830310eb6fb9cfa20fbc0c7a14/R/scatterplot.R#L175) *style:* **Place a space before left parenthesis, except in a function call.**
```r
  if(missing(pch)) pch = NULL
    ^
```
[R/scatterplot.R:176:5:](https://github.com/bwlewis/rthreejs/blob/4c621fc088bb08830310eb6fb9cfa20fbc0c7a14/R/scatterplot.R#L176) *style:* **Place a space before left parenthesis, except in a function call.**
```r
  if(missing(renderer) && nrow(x) > 10000)
    ^
```
[R/scatterplot.R:186:5:](https://github.com/bwlewis/rthreejs/blob/4c621fc088bb08830310eb6fb9cfa20fbc0c7a14/R/scatterplot.R#L186) *style:* **Place a space before left parenthesis, except in a function call.**
```r
  if(length(i) > 0)
    ^
```
[R/scatterplot.R:189:7:](https://github.com/bwlewis/rthreejs/blob/4c621fc088bb08830310eb6fb9cfa20fbc0c7a14/R/scatterplot.R#L189) *style:* **Place a space before left parenthesis, except in a function call.**
```r
    if(any(j))
      ^
```
[R/scatterplot.R:191:40:](https://github.com/bwlewis/rthreejs/blob/4c621fc088bb08830310eb6fb9cfa20fbc0c7a14/R/scatterplot.R#L191) *style:* **Commas should always have a space after.**
```r
      color[i][j] = substr(color[i][j],1,7)
                                       ^
```
[R/scatterplot.R:191:42:](https://github.com/bwlewis/rthreejs/blob/4c621fc088bb08830310eb6fb9cfa20fbc0c7a14/R/scatterplot.R#L191) *style:* **Commas should always have a space after.**
```r
      color[i][j] = substr(color[i][j],1,7)
                                         ^
```
[R/scatterplot.R:194:17:](https://github.com/bwlewis/rthreejs/blob/4c621fc088bb08830310eb6fb9cfa20fbc0c7a14/R/scatterplot.R#L194) *style:* **Commas should always have a space after.**
```r
  i = grep("^#",bg)
                ^
```
[R/scatterplot.R:195:5:](https://github.com/bwlewis/rthreejs/blob/4c621fc088bb08830310eb6fb9cfa20fbc0c7a14/R/scatterplot.R#L195) *style:* **Place a space before left parenthesis, except in a function call.**
```r
  if(length(i) > 0)
    ^
```
[R/scatterplot.R:197:7:](https://github.com/bwlewis/rthreejs/blob/4c621fc088bb08830310eb6fb9cfa20fbc0c7a14/R/scatterplot.R#L197) *style:* **Place a space before left parenthesis, except in a function call.**
```r
    if(nchar(bg) > 7)
      ^
```
[R/scatterplot.R:199:22:](https://github.com/bwlewis/rthreejs/blob/4c621fc088bb08830310eb6fb9cfa20fbc0c7a14/R/scatterplot.R#L199) *style:* **Commas should always have a space after.**
```r
      bg = substr(bg,1,7)
                     ^
```
[R/scatterplot.R:199:24:](https://github.com/bwlewis/rthreejs/blob/4c621fc088bb08830310eb6fb9cfa20fbc0c7a14/R/scatterplot.R#L199) *style:* **Commas should always have a space after.**
```r
      bg = substr(bg,1,7)
                       ^
```
[R/scatterplot.R:205:49:](https://github.com/bwlewis/rthreejs/blob/4c621fc088bb08830310eb6fb9cfa20fbc0c7a14/R/scatterplot.R#L205) *style:* **Commas should always have a space after.**
```r
  options = options[!(names(options) %in% c("x","y","z","i","j"))]
                                                ^
```
[R/scatterplot.R:205:53:](https://github.com/bwlewis/rthreejs/blob/4c621fc088bb08830310eb6fb9cfa20fbc0c7a14/R/scatterplot.R#L205) *style:* **Commas should always have a space after.**
```r
  options = options[!(names(options) %in% c("x","y","z","i","j"))]
                                                    ^
```
[R/scatterplot.R:205:57:](https://github.com/bwlewis/rthreejs/blob/4c621fc088bb08830310eb6fb9cfa20fbc0c7a14/R/scatterplot.R#L205) *style:* **Commas should always have a space after.**
```r
  options = options[!(names(options) %in% c("x","y","z","i","j"))]
                                                        ^
```
[R/scatterplot.R:205:61:](https://github.com/bwlewis/rthreejs/blob/4c621fc088bb08830310eb6fb9cfa20fbc0c7a14/R/scatterplot.R#L205) *style:* **Commas should always have a space after.**
```r
  options = options[!(names(options) %in% c("x","y","z","i","j"))]
                                                            ^
```
[R/scatterplot.R:207:18:](https://github.com/bwlewis/rthreejs/blob/4c621fc088bb08830310eb6fb9cfa20fbc0c7a14/R/scatterplot.R#L207) *style:* **Commas should always have a space after.**
```r
  i = grep("\\.",names(options))
                 ^
```
[R/scatterplot.R:208:5:](https://github.com/bwlewis/rthreejs/blob/4c621fc088bb08830310eb6fb9cfa20fbc0c7a14/R/scatterplot.R#L208) *style:* **Place a space before left parenthesis, except in a function call.**
```r
  if(length(i) > 0) names(options)[i] = gsub("\\.", "", names(options)[i])
    ^
```
[R/scatterplot.R:211:5:](https://github.com/bwlewis/rthreejs/blob/4c621fc088bb08830310eb6fb9cfa20fbc0c7a14/R/scatterplot.R#L211) *style:* **Place a space before left parenthesis, except in a function call.**
```r
  if(length(colnames(x)) == 3 && is.null(options$axisLabels)) options$axisLabels = colnames(x)
    ^
```
[R/scatterplot.R:214:22:](https://github.com/bwlewis/rthreejs/blob/4c621fc088bb08830310eb6fb9cfa20fbc0c7a14/R/scatterplot.R#L214) *style:* **Commas should always have a space after.**
```r
  x = matrix(x[, c(1,3,2)], ncol=3)
                     ^
```
[R/scatterplot.R:214:24:](https://github.com/bwlewis/rthreejs/blob/4c621fc088bb08830310eb6fb9cfa20fbc0c7a14/R/scatterplot.R#L214) *style:* **Commas should always have a space after.**
```r
  x = matrix(x[, c(1,3,2)], ncol=3)
                       ^
```
[R/scatterplot.R:214:33:](https://github.com/bwlewis/rthreejs/blob/4c621fc088bb08830310eb6fb9cfa20fbc0c7a14/R/scatterplot.R#L214) *style:* **Put spaces around all infix operators.**
```r
  x = matrix(x[, c(1,3,2)], ncol=3)
                               ~^~
```
[R/scatterplot.R:221:5:](https://github.com/bwlewis/rthreejs/blob/4c621fc088bb08830310eb6fb9cfa20fbc0c7a14/R/scatterplot.R#L221) *style:* **Place a space before left parenthesis, except in a function call.**
```r
  if(!missing(xlim) && length(xlim) == 2)
    ^
```
[R/scatterplot.R:226:5:](https://github.com/bwlewis/rthreejs/blob/4c621fc088bb08830310eb6fb9cfa20fbc0c7a14/R/scatterplot.R#L226) *style:* **Place a space before left parenthesis, except in a function call.**
```r
  if(!missing(ylim) && length(ylim) == 2)
    ^
```
[R/scatterplot.R:231:5:](https://github.com/bwlewis/rthreejs/blob/4c621fc088bb08830310eb6fb9cfa20fbc0c7a14/R/scatterplot.R#L231) *style:* **Place a space before left parenthesis, except in a function call.**
```r
  if(!missing(zlim) && length(zlim) == 2)
    ^
```
[R/scatterplot.R:238:24:](https://github.com/bwlewis/rthreejs/blob/4c621fc088bb08830310eb6fb9cfa20fbc0c7a14/R/scatterplot.R#L238) *style:* **Put spaces around all infix operators.**
```r
  x = (x - rep(mn, each=n)) / (rep(mx - mn, each=n))
                      ~^~
```
[R/scatterplot.R:238:49:](https://github.com/bwlewis/rthreejs/blob/4c621fc088bb08830310eb6fb9cfa20fbc0c7a14/R/scatterplot.R#L238) *style:* **Put spaces around all infix operators.**
```r
  x = (x - rep(mn, each=n)) / (rep(mx - mn, each=n))
                                               ~^~
```
[R/scatterplot.R:239:18:](https://github.com/bwlewis/rthreejs/blob/4c621fc088bb08830310eb6fb9cfa20fbc0c7a14/R/scatterplot.R#L239) *style:* **Commas should always have a space after.**
```r
  if (flip.y) x[,3] = 1 - x[,3]
                 ^
```
[R/scatterplot.R:239:30:](https://github.com/bwlewis/rthreejs/blob/4c621fc088bb08830310eb6fb9cfa20fbc0c7a14/R/scatterplot.R#L239) *style:* **Commas should always have a space after.**
```r
  if (flip.y) x[,3] = 1 - x[,3]
                             ^
```
[R/scatterplot.R:245:28:](https://github.com/bwlewis/rthreejs/blob/4c621fc088bb08830310eb6fb9cfa20fbc0c7a14/R/scatterplot.R#L245) *style:* **Commas should always have a space after.**
```r
  x = as.vector(t(signif(x,signif)))
                           ^
```
[R/scatterplot.R:248:5:](https://github.com/bwlewis/rthreejs/blob/4c621fc088bb08830310eb6fb9cfa20fbc0c7a14/R/scatterplot.R#L248) *style:* **Place a space before left parenthesis, except in a function call.**
```r
  if(!is.null(num.ticks))
    ^
```
[R/scatterplot.R:250:7:](https://github.com/bwlewis/rthreejs/blob/4c621fc088bb08830310eb6fb9cfa20fbc0c7a14/R/scatterplot.R#L250) *style:* **Place a space before left parenthesis, except in a function call.**
```r
    if(length(num.ticks) != 3) stop("num.ticks must have length 3")
      ^
```
[R/scatterplot.R:251:31:](https://github.com/bwlewis/rthreejs/blob/4c621fc088bb08830310eb6fb9cfa20fbc0c7a14/R/scatterplot.R#L251) *style:* **Commas should always have a space after.**
```r
    num.ticks = num.ticks[c(1,3,2)]
                              ^
```
[R/scatterplot.R:251:33:](https://github.com/bwlewis/rthreejs/blob/4c621fc088bb08830310eb6fb9cfa20fbc0c7a14/R/scatterplot.R#L251) *style:* **Commas should always have a space after.**
```r
    num.ticks = num.ticks[c(1,3,2)]
                                ^
```


La j'avoue en plus tu te fous de moi


```c
#if !GLIB_CHECK_VERSION(2,32,0)
# define g_hash_table_contains(ht, key) g_hash_table_lookup_extended(ht, key, NULL, NULL)
#endif
```


You checked first the number of MCS, then you pick for non-HT modes.
I assume you meant WifiMode mode = phy->GetMcs (i);


Use `@include img-fluid;`. `$display == block` by default.


seem to be redundant


But origin comes from the coordinate system. What I should have written is

```
let point = aPoint
let displacement = 2 * (point - canvas.center)
let newPoint = point + displacement
```


I hope so. I enjoyed the convenience of this being available.


Just seeing that, was thinking just today that we needed one :)


yea, it will be on all rects so  you can also do `obj.bounds.mid`


I do not see the purpose of this:
You re-add the same MCS as previously and MIMO is not yet supported.


@SaitDev  I've added support to add an icon to raised buttons, too.

I also have enabled issues tracker, it was disabled by default when I cloned the repository. In case, you want to request a feature, or to report an issue.


It seems there were some parsing problems in the herbie plugin.


@justusc with nproc > 1 I see kronecker tiles moving, although they are held by replicated DistArray is replicated. Bug?!


You should probably be switch'ing on $a->cmd, which will return 'login', 'register', etc. but not '&JS=1' which is a parameter. An empty path turns into 'home'.


Also, considering the embedded situation: if someone has embedded views then it is already their responsibility to `view.convert()`. Doubling a point shouldn't be dependent on the coordinate system, so going from `{240,320}` to `{480,640}` would be the proper result of doubling.

IMO, I have a point `a` at `{10,10}` inside a `view` whose size is `{20,20}`, and whose center is `{100,100}` (screen coordinates), if i want `a` to appear at `{200,200}` I have the choice of moving `view`, or `a = view.convert({200,200}, from: screen)`


Well, that would certainly explain why it ran so nicely on my machine! :-)


Reverts previous commit which killed the server:

![](https://dl.dropboxusercontent.com/spa/quq37nq1583x0lf/n7jntwx-.png)

I'll try again after I upgrade the Guild to use the latest Node.