GithubHelp home page GithubHelp logo

cherry / 3d2d-textscreens Goto Github PK

View Code? Open in Web Editor NEW
27.0 9.0 20.0 190 KB

3D2D Textscreens Garry's Mod Workshop Addon

Home Page: https://jross.me/3d2d-textscreens/

License: MIT License

Lua 100.00%
gmod garrysmod addon textscreens steam-workshop glua hacktoberfest

3d2d-textscreens's Introduction

3D2D Textscreens

Powered by Nodecraft

Actions Status Steam Workshop Subscribers Crowdin

This addon can be installed via the Steam Workshop for Garry's Mod - I do not recommend manually installing this addon via git.

Features

  • Create 3D2D text anywhere in the world
  • Rotate and manipulate this text simply via your physgun
  • Up to 5 lines of text
  • Multiple different fonts, font sizes, and colours
  • Heavily optimised
    • Full scale testing on a highly popular RP server
    • Draw distance optimisations
    • Minimal FPS hit
  • Permanent text screens
    • Hold C for context menu, right click on the textscreen, and make the text screen permanent (only works for admins). This is perfect for welcome messages or rules.
  • Presets
    • Define preset textscreen data (size, text, colours, etc) and save/load these for future use at any time. This is very useful to trying to replicate multiple textscreens across maps.

User Customisation

  • ss_render_range controls how far textscreens have to be away from you in order to render (default 1500). Setting this to a lower number can help with lag on older machines
  • ss_render_rainbow controls if rainbow textscreens should actually rotate their colours, or render as solid white (default enabled 1). 0 will cause them to render as solid white, which can be beneficial for accessibility

Server owners

  • sbox_maxtextscreens controls the maximum amount of text screens that each player can spawn. This defaults to 1. This cvar only exists on the server, so make sure it's set via RCON, or in something like server.cfg.
  • ss_enable_rainbow controls whether players on your server can use the rainbow effect. Set this to 0 in your server.cfg to prevent anyone from using rainbow effects.
  • ss_max_characters controls whether players on your server can use a lot of characters per lines. Set this to any number in your server.cfg to prevent anyone from using more characters.
  • To install this onto your server, follow the instructions listed here.

Prevent specific users/groups from using textscreens

This addon supports a PlayerSpawnTextscreen hook that passes the player context. If this hook returns false, the player will be prevented from spawning a textscreen. For example:

hook.Add("PlayerSpawnTextscreen", "MyCustomTextscreensSpawnFunc", function(ply)
	return ply:IsVIP()
end)

Custom admin permissions

This addon supports custom permissions via the use of a TextscreensCanAdmin hook. When this hook isn't present, or doesn't return anything, it defaults to an IsSuperAdmin check. If you want to override this behaviour for your own admin permissions, create a hook that exists both server and client side, similar to the following:

hook.Add("TextscreensCanAdmin", "MyCustomAdminFunc", function(ply)
	return ply:SteamID() == "STEAM_0:0:43716939"
end)

Further information can be found on the Steam Workshop for Garry's Mod or on my website.

All pull requests welcomed.

3d2d-textscreens's People

Contributors

amd-nick avatar blueberryy avatar brandonsturgeon avatar cherry avatar christianlw avatar deadmonstor avatar dellkan avatar eggroll-bot avatar kefta avatar klen-list avatar seef0x avatar thexkey avatar tomdotbat avatar zakarybk avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

3d2d-textscreens's Issues

Textscreen menu partially blank

Most of the textscreen menu is blank below the reset buttons. When you open the tool, the console gives this error:
[ERROR] addons/3d2dtextscreens/lua/weapons/gmod_tool/stools/textscreen.lua:165: attempt to index upvalue 'textscreenFonts' (a nil value)

Textscreens are invisible

Hello,
I am not sure if you check your comments for the text screens but I decided to write it here. All textscreens that are placed down are invisible. It would be nice if you made a patch for it.

Thanks,

Awesomenessman

textscreens doesn't save into the map.

So im running a DarkRP server and everytime we are trying to save the textscreens into the map. it doesn't doo any effect.
i tried to reinstall the addon few times and to remove the data files, but nothing is changing. do you know why we have that kind of problem ?
thank you for your help..

Problem 3D2DtexteScreen

Now since 3day i dont see my textscren permanent "im superadmin". and the players cant ues this item ... :/ help pls and thank for reply to steam workshop

[3D2D Textscreens] lua/weapons/gmod_tool/stools/textscreen.lua:56: attempt to call method 'SetLine' (a nil value)

  1. LeftClick - lua/weapons/gmod_tool/stools/textscreen.lua:56
  2. unknown - gamemodes/sandbox/entities/weapons/gmod_tool/shared.lua:254

PermaTextscreen Issue

Hello,
Every time I try to make a perma textscreen, it says 'Textscreen made permament and saved.', but when I restart the server, it isn't there. Please help. I'm switching hosts and it works on my old server.

Thanks,
TekBob

Console error spam

This is part of what is spammed in console.

Failed creating font 'Trebuchet18'!
Failed creating font 'Trebuchet18'!
Failed creating font 'Trebuchet18'!
Failed creating font 'Trebuchet18'!
Failed creating font 'Trebuchet18'!
Failed creating font 'Trebuchet18'!
Failed creating font 'Trebuchet18'!
Failed creating font 'Trebuchet18'!
Failed creating font 'Trebuchet18'!
Failed creating font 'Trebuchet18'!
Failed creating font 'Trebuchet18'!
Failed creating font 'Trebuchet18'!
Failed creating font 'Trebuchet18'!
Failed creating font 'Trebuchet18'!
Failed creating font 'Trebuchet18'!
Failed creating font 'Trebuchet18'!
Failed creating font 'Trebuchet18'!
Failed creating font 'Trebuchet18'!
Failed creating font 'Trebuchet18'!
Failed creating font 'Trebuchet18'!
Failed creating font 'Trebuchet18'!
Failed creating font 'Trebuchet18'!
Failed creating font 'Trebuchet18'!
Failed creating font 'Trebuchet18'!
Failed creating font 'Trebuchet18'!
Failed creating font 'Trebuchet18'!
Failed creating font 'Trebuchet18'!
Failed creating font 'Trebuchet18'!
Failed creating font 'Trebuchet18'!
Failed creating font 'Trebuchet18'!
Failed creating font 'Trebuchet18'!
Failed creating font 'Trebuchet18'!
Failed creating font 'boogaloo'!
Failed creating font 'boogaloo'!
Failed creating font 'boogaloo'!
Failed creating font 'boogaloo'!
Failed creating font 'boogaloo'!
Failed creating font 'boogaloo'!
Failed creating font 'boogaloo'!
Failed creating font 'boogaloo'!
Failed creating font 'boogaloo'!
Failed creating font 'boogaloo'!
Failed creating font 'boogaloo'!
Failed creating font 'boogaloo'!
Failed creating font 'boogaloo'!
Failed creating font 'boogaloo'!
Failed creating font 'boogaloo'!
Failed creating font 'boogaloo'!
Failed creating font 'boogaloo'!
Failed creating font 'boogaloo'!
Failed creating font 'boogaloo'!
Failed creating font 'boogaloo'!
Failed creating font 'boogaloo'!
Failed creating font 'boogaloo'!
Failed creating font 'boogaloo'!
Failed creating font 'boogaloo'!
Failed creating font 'boogaloo'!
Failed creating font 'boogaloo'!
Failed creating font 'boogaloo'!
Failed creating font 'boogaloo'!
Failed creating font 'boogaloo'!
Failed creating font 'boogaloo'!
Failed creating font 'boogaloo'!
Failed creating font 'boogaloo'!
Failed creating font 'boogaloo'!
Failed creating font 'boogaloo'!
Failed creating font 'boogaloo'!
Failed creating font 'boogaloo'!
Failed creating font 'boogaloo'!
Failed creating font 'boogaloo'!
Failed creating font 'boogaloo'!
Failed creating font 'boogaloo'!
Failed creating font 'boogaloo'!
Failed creating font 'boogaloo'!
Failed creating font 'boogaloo'!
Failed creating font 'boogaloo'!
Failed creating font 'boogaloo'!
Failed creating font 'boogaloo'!
Failed creating font 'boogaloo'!
Failed creating font 'boogaloo'!
Failed creating font 'boogaloo'!
Failed creating font 'boogaloo'!
Failed creating font 'boogaloo'!
Failed creating font 'boogaloo'!
Failed creating font 'boogaloo'!
Failed creating font 'boogaloo'!
Failed creating font 'boogaloo'!
Failed creating font 'boogaloo'!
Failed creating font 'boogaloo'!
Failed creating font 'boogaloo'!
Failed creating font 'boogaloo'!
Failed creating font 'boogaloo'!
Failed creating font 'boogaloo'!
Failed creating font 'boogaloo'!
Failed creating font 'boogaloo'!
Failed creating font 'boogaloo'!
Failed creating font 'boogaloo'!
Failed creating font 'boogaloo'!
Failed creating font 'boogaloo'!
Failed creating font 'boogaloo'!
Failed creating font 'boogaloo'!
Failed creating font 'boogaloo'!
Failed creating font 'boogaloo'!
Failed creating font 'boogaloo'!
Failed creating font 'boogaloo'!
Failed creating font 'boogaloo'!
Failed creating font 'boogaloo'!
Failed creating font 'boogaloo'!
Failed creating font 'boogaloo'!
Failed creating font 'boogaloo'!
Failed creating font 'boogaloo'!
Failed creating font 'boogaloo'!
Failed creating font 'boogaloo'!
Failed creating font 'boogaloo'!
Failed creating font 'boogaloo'!
Failed creating font 'boogaloo'!
Failed creating font 'boogaloo'!
Failed creating font 'boogaloo'!
Failed creating font 'boogaloo'!
Failed creating font 'boogaloo'!
Failed creating font 'Default'!
Failed creating font 'Railway'!
Failed creating font 'DeJaVu Sans'!
Failed creating font 'DejaVu Sans'!
Failed creating font 'DejaVu Sans'!
Failed creating font 'Exo'!
Failed creating font 'Exo'!
Failed creating font 'Exo'!
Failed creating font 'Trebuchet24'!
Failed creating font 'Trebuchet24'!
Failed creating font 'Trebuchet24'!
Failed creating font 'Trebuchet24'!
Failed creating font 'Trebuchet24'!
Failed creating font 'Trebuchet24'!
Failed creating font 'Trebuchet24'!
Failed creating font 'Trebuchet24'!
Failed creating font 'Trebuchet24'!
Failed creating font 'Trebuchet24'!
Failed creating font 'Trebuchet24'!
Failed creating font 'Trebuchet24'!
Failed creating font 'Trebuchet24'!
Failed creating font 'Trebuchet24'!
Failed creating font 'Trebuchet24'!
Failed creating font 'Trebuchet24'!
Failed creating font 'Trebuchet24'!
Failed creating font 'Trebuchet24'!
Failed creating font 'Trebuchet24'!
Failed creating font 'DejaVu Sans'!
Failed creating font 'DejaVu Sans'!
Failed creating font 'dejavu sans mono'!
Failed creating font 'DermaDefault'!
Failed creating font 'DermaDefault'!
Failed creating font 'digital-7'!
Failed creating font 'DermaDefault'!
Failed creating font 'Default'!
Failed creating font 'Default'!
Failed creating font 'Default'!
Failed creating font 'CloseCaption_Bold'!

Requesting permission to use code for GModStore

I've used some of the code for this to make a blackboard addon for a friend, and was hoping to sell it on GModStore. Naturally, I have added features and changed things, but I need permission to sell it if I don't rewrite the whole thing. I have already obtained Dellkan's permission via steam, and he said the best way to ask you (James) would be through an issue on github. I can privately send you the current addon to inspect if you'd like. Thanks for your time!

Invisible Textscreen

When i load my server up have the textscreen addon installed have the sbox commadn up i press 3D2D Textscreen and when i spawn it is invisible and i can pick it up plz help

RGB spectrum cycling (rainbow text)

Hi, made a comment on the Steam Workshop page on Textscreens, I would like this feature to be added:
In the color section of the text, make an option where you can make the text cycle through RGB colors (rainbow)

Just another thought adding onto color changing, possibly add a gradient color option, too. More colors with the text would open up way more possibilities especially for servers like DarkRP and servers using text-screens to give info to players and make it pop.

Textscreens Breaking Server

Hello!

So I have a very very weird bug. For some odd reason, my server crashes at spawning textscreens. It's not a normal crash either, the console stays up, but it freezes. The server is active until I try to connect, at which, once it hits "Spawning Textscreens" it just freezes, and after a short while I get kicked out with no error message. My console doesn't update after this, and gives me 0 errors or logs as to what is causing this. All I know is it happens after "Spawning Textscreens"

I've tried these things:

  1. Uncommenting Textscreens in my workshopDL
  2. Deleting Sammy_Textscreens.txt under the /data folder
  3. Re-Installing my server and just dropping my garrysmod directory into that
  4. A combination of 1 & 2

Thank you for your time, hope we can solve this!

Heres a picture of my console!
qxr1wle

Textscreens unmoveable.

I can't legit remove textscreens.

I tried deleting the data of it
i tried making it perma and again but no work

help please.

3D2D Textscreens not loading when I startup my server

So I used to own a StarwarsRP server, I have the workshop collection setup and it automatically downloads the addons. I had 3D2D Textscreens on that server and it worked fine, then I started a DarkRP server and that is where the problem started. When I got the workshop collection setup with 3D2D Textscreens it gave me "Error, cannot read the downloaded file". Every other addon was fine. Then I got the github file and i transfered it using FileZilla to my server, still doesnt work. I have no idea how to fix this issue.
edrer

Cant Permaprop Screens

Hello. I am able to use the permaprop tool for every other item but on textscreens it hits but it doesn't say or do anything. This is a big problem on my server and I need help.

Text Screens unremovable

like the title says, text screens are almost completely unremovable after some time. The only way to remove them is via making them permanent and making the unpermanent shortly thereafter.

It's a DarkRP server, no other prop protection settings except FPP.

Glitched text

When I spawn it I noticed that the text can not be combined with the object for which it was created, and it does not create exactly (I writed on Steam)(Writed by Google Translate ๐Ÿ˜„)

There's a image that shows the glitch:

20161229215944_1

20161229215954_1

I wan't some help or update with repair (and update with better quality for small sizes of text)

Text screen error

[ERROR] addons/3d2d_textscreens_109643223/lua/entities/sammyservers_textscreen/cl_init.lua:37: bad argument #1 to 'GetTextSize' (string expected, got nil)

  1. GetTextSize - [C]:-1
  2. Draw - addons/3d2d_textscreens_109643223/lua/entities/sammyservers_textscreen/cl_init.lua:37
    3. unknown - addons/3d2d_textscreens_109643223/lua/entities/sammyservers_textscreen/cl_init.lua:70

Please fix this

Simple suggestion.

When we spawn a textscreens the prop is colliding with doors, and others props.
Its possible to make an update for making the props nocolliding on spawn?

Sorry for my bad english

Can you add the option to use a bigger font?

Can you add the option to use a bigger font? I want to make a store with my friends on my server but the max font size is super small, even when I manually update the number past the slider it does not change it.

cannot remove textscreen

so recently my friend gave me his server files because he wanted to stop playing gmod but then when i was gonna change all the textscreens they woulndt un perma here is the error i get when i try to unperma it

[ERROR] addons/3d2d-textscreens-master/lua/autorun/textscreens_util.lua:109: bad argument #1 to 'pairs' (table expected, got nil)

  1. pairs - [C]:-1
    1. unknown - addons/3d2d-textscreens-master/lua/autorun/textscreens_util.lua:109
    2. unknown - lua/includes/modules/concommand.lua:54

Textscreens physgun issue

All I did was place a text screen I'm unable to move it with my physgun at all it's like it's frozen

Configuration Suggestion

I feel like you should be able to edit the text/logo when you select the tool in the Spawnmenu.
For example:
Right now its set as the default logo.
If the addon had a setting to change the logo (Whether it being by Imgur and other image providers, or by the addons material folder) and or text, it would look like this in the config:
`
textscreenLogo = "image" -- Two options, image and text. Text is for something custom. image is for making the header of the tool to something custom or the default. You can use links that end in .png, .jpeg and .jpg.

textscreenHeaderText = "3D2D Textscreens" -- This has no effect unless textscreenLogo is set to "text"
`

I hope you take this into consideration.

Always permanent

I am having an issue where when ever a superadmin puts down a textscreen it is automatically made permanent. What should I do to fix it?

Text screens don't draw when looking behind in third person

This is a very minor bug which came about because of the face check which only allows one face to be drawn. The check uses ply:GetShootPos() which will not necessarily be the position the player is looking from when using third person. It could even be considered a feature to stop your screen from being filled up with text when you've walked past a screen in third person(the camera, following the player from behind), by which point you don't need to see it anyway.

Bug view
Feature view

I don't think much can be done about it without rolling back the performance update but it's probably not going to be noticed by most people.

Chromium update error with textscreens

[ERROR] addons/3d2d_aurebesh_textscreens_1191355200/lua/entities/sammyservers_textscreen/cl_init.lua:109: bad argument #1 to 'GetTextSize' (string expected, got nil)

  1. GetTextSize - [C]:-1
  2. AddDrawingInfo - addons/3d2d_aurebesh_textscreens_1191355200/lua/entities/sammyservers_textscreen/cl_init.lua:109
    3. func - addons/3d2d_aurebesh_textscreens_1191355200/lua/entities/sammyservers_textscreen/cl_init.lua:134
    4. unknown - lua/includes/extensions/net.lua:32

this is what I get when I load in.. please fix it or tell me how to fix it.. thanks!

adding more max text

Hello, i've installed the addon onto my server and its working fine, i wanted to make the max textscreen amount higher, i looked all over online and found out how but theres no files to edit.
I tried to extract the files but instead of 1 folder i got 3-4 different files/folders
so i played around with it moved things around put things in certain places but nothing.
im using WinSCP to transfer files. Please help me~!

Adding presets feature

Subj. It will help in map changing when need to copy 10+ textscreens with server info to new map.

Bug with Fading Door tool

Hi! Youtuber Urbanichka founded bug and use him to destroy servers.

The bug is: If you have Fading Door TOOL You can select all functions in it like activate immediately, etc and click to Text screen and Owner text is removed and you can't delete THIS TEXT this is very bad, you only need to clear the card, but the players are playing. I hope you understand I used google translator.

Youtuber - Urbanichka

killing fps on big servers.

can you make a viewdistance convars/configurable for this addons?
that should be useful as hell because 25textscreens kills fps....

Text Flickering

I've created a map for Gmod and your addon works perfectly fine before I pack any custom content into my map using VIDE. Once the map has custom content packed inside I encounter a bug where text flickers and disappears at random angles/distances and locations around the map. I'm completely stumped as to what could be causing this and any help would be gladly appreciated. I've recorded an example of the issue which seems to happen on two different maps that I've created, both have custom content packed: https://media.giphy.com/media/RicihyoDoa4Zvgo1YW/giphy.gif

Cant use feature on multiplayer.

Hiya.

Whenever I join any multiplayer server that uses 3d2d textscreen, I cant use the presets option, or the font option. Where it would normally display the presets drop down menu, nothing is there and it just says line 1 and has the text boxes. Presets works perfectly fine in single player but for some reason just wont work on these servers. Is this a client side, or server side issue?

Any help would be appreciated. Thanks.

Stubborn Invisibility

Hey james, I posted on steam for some help then later realized this is the place to be.

So I noticed previously someone mentioned the whole Invisible text screen bug and you marked it as "unable to replicate" I'm not sure if I'm having the exact same problem as the other guy but this is something to consider I think.

When I place a screen onto a prop, then perma prop the prop, and make the text screen permanent.. All of the sudden the text screen becomes Invisible but only when the perma-prop is behind it.. So now I have a huge tutorial that no longer serves a purpose cause nobody can see the text screens as they are invisible when they're in front of the props behind them!

Would appreciate help ASAP as we're just about to launch our server and I want to include this tutorial as I believe it's important! Thanks in advanced brotha

Perma textscreens are truly permanent.

Dear developer, How the f*ck are perma textscreens still spawning even after I delete the sammyserver_textscreens.txt file in the data directory? This is a really big problem and really, REALLY annoying. Please tell me how to fix this witchcraft. ~djsime1

Edit: Re-installed addon + deleted data file, textscreens are still there. WTF?

Edit 2: I even edited the core lua file so it couldnt read/write data file, textscreens are still there. How?

why are you making so many fonts

Hey I noticed you are making insane amounts of fonts with different sizes.
This is NOT needed and may cause client crashes/issues.
Instead what you should be doing is using the 3D2D scale modifier (Which in your addon is set to .25 and is not used for an odd reason).

Textscreen can be made into a fading door.

Hey Cherry, this has been a low-key exploit for a while but a big youtuber just leaked it so I reckon now would be a good time to report it.

Basically text screens can be turned into fading doors using the fading door tool, once faded, they can't be removed by admins via physgun or remover tool unless they're unfaded. Dont know if there is anything you can do to prevent this on the text screen side.

Anyways, deuces โœŒ

Textscreens Causing engine errors.

Alright, so a couple months ago one of my friends would engine error, and removing textscreens fixed the issue and i readded it last night and now it is back.

Players will only recieve engine errors with no context.

I know for a fact it is textscreens as i have removed it and players can join, then when i add it again they engine error.

For some reason i was able to get ingame and now all of the perma textscreens are weapons

you will find a picture below
alot of my players have commented on the workshop page as i run a popular server
sorry for the workshop spam

https://media.discordapp.net/attachments/506009503305826305/506357783147577344/unknown.png?width=1202&height=677

If you can help me fix this issue (obviously i need textscreens) I will gladly donate to you

Thanks for reading my report
Geno

Text Screens are not being made Permanent

When we first started using textscreens we were able to make them Permanent and reload the map without having them disappear, but now every time we try to make them permanent they don't save on the map.

Possible to let more groups textscreens?

Hello. My staff roles are mod, admin, management, and superadmin. My mod and management roles cannot permaprop textscreens because they arent default gmod groups. Is it possible to make it so I can add these groups so they can perma the textscreens? Thank you

Gmod update today broke your addon

As you may or may not know, Garry released a new update today (you can read more about it here ------> http://www.garrysmod.com/2015/03/09/15-03-09/ ). This update has broken many addons. Most are the problems are hud and gui based as Garry has made changes to these systems. As for right now 3D2D Text Screens don't even show up in my tool menu which makes me think this addon was disabled due to errors. It worked fine before the update. I would like to be able to use this addon for my server in the future but as for right now I cannot.

Font Request

Could you add the "Orbitron" font in 3D2D text screens. It has an Open Font License

Allowing the console to use the "SS_TextScreen" command

Hi Cherry,

I am working on a small script that allows to save the textscreens every minute using the console.

At first, I had two issues:

  • The first one because of this check that was making a issue for me. But I finally "fix" this problem with the "TextscreensCanAdmin" hook. The save couldn't be made at his point.
  • The next problem is here and it creates an issue impossible to fix even if the save is working.

These errors are due to the console being considered invalid and as a non-player, some functions such as PLAYER:ChatPrint() cannot work.

For the moment, I can't do otherwise than have this error every save, but it would be cool to make sure that executing the command through the console without error.

Thank you and have a good day!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.