Skip to content

Commit

Permalink
v0.1.0
Browse files Browse the repository at this point in the history
  • Loading branch information
cxmeel committed Sep 16, 2024
1 parent 92d7ed7 commit e77a49f
Show file tree
Hide file tree
Showing 220 changed files with 7,899 additions and 2 deletions.
5 changes: 5 additions & 0 deletions .github/FUNDING.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
buy_me_a_coffee: cxmeel
github: cxmeel
ko_fi: cxmeel
custom:
- "https://www.roblox.com/catalog?Category=1&CreatorName=cxmeeI&CreatorType=Group&salesTypeFilter=1"
5 changes: 5 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
/*.rbx*
Packages/
ServerPackages/
DevPackages/
build/
3 changes: 3 additions & 0 deletions .luaurc
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"languageMode": "strict"
}
5 changes: 5 additions & 0 deletions .vscode/extensions.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
{
"recommendations": [
"emeraldwalk.runonsave"
]
}
13 changes: 13 additions & 0 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
{
"luau-lsp.require.mode": "relativeToFile",
"luau-lsp.require.directoryAliases": {
"@lune/": "~/.lune/.typedefs/0.8.0/",
"@pkgs/": "Packages/",
"@root/": "src/"
},
"[luau]": {
"editor.defaultFormatter": "JohnnyMorganz.stylua",
"editor.formatOnSave": true,
"editor.formatOnPaste": true
}
}
100 changes: 100 additions & 0 deletions .vscode/tasks.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,100 @@
{
"version": "2.0.0",
"tasks": [
{
"label": "Build to Plugins (Skip Packages)",
"detail": "Builds the plugin to the local Studio plugins directory, skipping reinstallation of packages.",
"type": "shell",
"command": "lune",
"args": [
"run",
"build",
"--",
"--dev",
"--no-react-dev",
"--skip-packages"
],
"group": {
"kind": "build",
"isDefault": true
},
"icon": {
"id": "sparkle"
},
},
{
"label": "Watch & Build Dev Plugin",
"detail": "Builds the plugin to the local Studio plugins directory and rebuilds on file changes.",
"type": "shell",
"command": "lune",
"args": [
"run",
"build",
"--",
"--dev",
"--watch",
"--react-dev"
],
"group": {
"kind": "build",
"isDefault": true
},
"icon": {
"id": "sparkle"
},
},
{
"label": "Watch & Build Plugin (no Dev)",
"detail": "Builds the plugin to the local Studio plugins directory and rebuilds on file changes.",
"type": "shell",
"command": "lune",
"args": [
"run",
"build",
"--",
"--dev",
"--watch",
"--no-react-dev"
],
"group": {
"kind": "build",
"isDefault": true
},
"icon": {
"id": "sparkle"
},
},
{
"label": "Package Plugin (for Release)",
"detail": "Creates a plugin binary for distribution in the project root directory.",
"type": "shell",
"command": "lune",
"args": [
"run",
"build"
],
"group": {
"kind": "build",
"isDefault": false
},
"icon": {
"id": "package"
},
},
{
"label": "Serve (Hoarcekat)",
"detail": "Starts the local development server.",
"type": "shell",
"command": "rojo",
"args": [
"serve",
"serve.project.json"
],
"group": "none",
"icon": {
"id": "rocket"
},
"isBackground": true
}
]
}
75 changes: 73 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,2 +1,73 @@
# resurface-plugin
Bring back Part surface types
<!-- markdownlint-disable MD041 MD033 -->
<!-- Link references -->
[store-page]: https://create.roblox.com/store/asset/5070921519
[itch-page]: https://cxmeel.itch.io/resurface
[github-page]: https://github.com/cxmeel/resurface-plugin
[youtube-video]: https://youtu.be/cl4tLTEiG48

<!-- Image references -->
[cover-image]: ./assets/banner.png
[button-roblox]: https://gist.githubusercontent.com/cxmeel/0dbc95191f239b631c3874f4ccf114e2/raw/roblox_dev-animated.svg
[button-itch]: https://gist.githubusercontent.com/cxmeel/0dbc95191f239b631c3874f4ccf114e2/raw/itch.svg
[list-grid-view]: ./assets/list_grid_views.png
[classic-mode]: ./assets/classic_mode.png

![Resurface][cover-image]

<div align="center">

[![Get on Roblox][button-roblox]][store-page] [![Get on Itch][button-itch]][itch-page]

Give your experiences a classic Roblox vibe by restoring the ability to apply and convert surfaces to studs and more on your parts, models, meshes and unions.
</div>

## Installation

Resurface is an open source plugin, available via the Roblox Creator Store, Itch.io and [source code via GitHub][github-page].

### Creator Store

The Creator Store is the easiest way to install Resurface, with access to automatic updates and the ability to use Resurface anywhere you have Roblox Studio installed.

[![Get on Roblox][button-roblox]][store-page]

### Itch

If you would like to leave an optional donation to show your support, you can also purchase Resurface via Itch\.io.

[![Get on Itch][button-itch]][itch-page]

There's currently no way to automatically install and update plugins obtained via third-party storefronts. You'll need to manually download and drop the plugin file into your Studio plugins directory for each update. You will also need to repeat this process for every device you wish to use the plugin on.

### Open Source

If you'd like to inspect or clone Resurface's source code, it's available over on its official GitHub page.

- [View Source on GitHub &rarr;][github-page]

## Demo

[![View demo on YouTube](https://img.youtube.com/vi/cl4tLTEiG48/0.jpg)][youtube-video]
<sub>Video demo on YouTube</sub>

## Features

- Restore the legacy surface tool
- Apply surfaces to mesh and unions via MaterialVariants
- Accessibility toggles to adjust animations, reduce motion and transparency throughout the plugin UI
- Grid and list views available in surface picker
![Screenshot of Grid and List views][list-grid-view]
- "Classic Mode" for those that prefer the workflow of the legacy Surface Tool
![Screenshot of Classic Mode][classic-mode]

-----

<div align="center">

**More Plugins**\
[Codify](https://devforum.roblox.com/t/473076) | [Matswap](https://devforum.roblox.com/t/1078213) | [Resurface](https://devforum.roblox.com/t/1226536)

**Additonal Resources**\
[Markdown buttons](https://gist.github.com/cxmeel/b3af232eba0ace022e2fba8b7b286520)

</div>
Binary file added assets/Icons/backspace.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/Icons/[email protected]
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/Icons/[email protected]
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/Icons/check_circle.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/Icons/[email protected]
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/Icons/[email protected]
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/Icons/cube.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/Icons/[email protected]
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/Icons/[email protected]
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/Icons/fabric.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/Icons/[email protected]
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/Icons/[email protected]
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/Icons/lock.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/Icons/[email protected]
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/Icons/[email protected]
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/Icons/material.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/Icons/[email protected]
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/Icons/[email protected]
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/Icons/search.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/Icons/[email protected]
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/Icons/[email protected]
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/Icons/settings.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/Icons/[email protected]
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/Icons/[email protected]
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/Icons/target.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/Icons/[email protected]
Binary file added assets/Icons/[email protected]
Binary file added assets/Icons/texture.png
Binary file added assets/Icons/[email protected]
Binary file added assets/Icons/[email protected]
Binary file added assets/Icons/view_grid.png
Binary file added assets/Icons/[email protected]
Binary file added assets/Icons/[email protected]
Binary file added assets/Icons/view_list.png
Binary file added assets/Icons/[email protected]
Binary file added assets/Icons/[email protected]
Binary file added assets/KeyCodeIcons/command_key.png
Binary file added assets/KeyCodeIcons/[email protected]
Binary file added assets/KeyCodeIcons/[email protected]
Binary file added assets/KeyCodeIcons/option_key.png
Binary file added assets/KeyCodeIcons/[email protected]
Binary file added assets/KeyCodeIcons/[email protected]
Binary file added assets/KeyCodeIcons/shift_key.png
Binary file added assets/KeyCodeIcons/[email protected]
Binary file added assets/KeyCodeIcons/[email protected]
Binary file added assets/Misc/arrow_up.png
Binary file added assets/Misc/[email protected]
Binary file added assets/Misc/[email protected]
Binary file added assets/Misc/button_background.png
Binary file added assets/Misc/[email protected]
Binary file added assets/Misc/[email protected]
Binary file added assets/Misc/button_border.png
Binary file added assets/Misc/[email protected]
Binary file added assets/Misc/[email protected]
Binary file added assets/Misc/chevron_up.png
Binary file added assets/Misc/[email protected]
Binary file added assets/Misc/[email protected]
Binary file added assets/Misc/circle.png
Binary file added assets/Misc/[email protected]
Binary file added assets/Misc/[email protected]
Binary file added assets/Misc/open_new_black.png
Binary file added assets/Misc/[email protected]
Binary file added assets/Misc/[email protected]
Binary file added assets/Misc/open_new_white.png
Binary file added assets/Misc/[email protected]
Binary file added assets/Misc/[email protected]
Binary file added assets/Misc/scrollbar_bottom.png
Binary file added assets/Misc/[email protected]
Binary file added assets/Misc/[email protected]
Binary file added assets/Misc/scrollbar_middle.png
Binary file added assets/Misc/[email protected]
Binary file added assets/Misc/[email protected]
Binary file added assets/Misc/scrollbar_top.png
Binary file added assets/Misc/[email protected]
Binary file added assets/Misc/[email protected]
Binary file added assets/Misc/surface_hinge_icon.png
Binary file added assets/Misc/[email protected]
Binary file added assets/Misc/[email protected]
Binary file added assets/Misc/surface_inlet_icon.png
Binary file added assets/Misc/[email protected]
Binary file added assets/Misc/[email protected]
Binary file added assets/Misc/surface_motor_icon.png
Binary file added assets/Misc/[email protected]
Binary file added assets/Misc/[email protected]
Binary file added assets/Misc/surface_smooth_icon.png
Binary file added assets/Misc/[email protected]
Binary file added assets/Misc/[email protected]
Binary file added assets/Misc/surface_studs_icon.png
Binary file added assets/Misc/[email protected]
Binary file added assets/Misc/[email protected]
Binary file added assets/Misc/surface_universal_icon.png
Binary file added assets/Misc/[email protected]
Binary file added assets/Misc/[email protected]
Binary file added assets/Misc/surface_weld_icon.png
Binary file added assets/Misc/[email protected]
Binary file added assets/Misc/[email protected]
Binary file added assets/ProductIcons/classic_dark_mode_icon.png
Binary file added assets/ProductIcons/[email protected]
Binary file added assets/ProductIcons/[email protected]
Binary file added assets/ProductIcons/classic_light_mode_icon.png
Binary file added assets/ProductIcons/[email protected]
Binary file added assets/ProductIcons/[email protected]
Binary file added assets/ProductIcons/dark_mode_dev_icon.png
Binary file added assets/ProductIcons/[email protected]
Binary file added assets/ProductIcons/[email protected]
Binary file added assets/ProductIcons/dark_mode_dev_icon_512.png
Binary file added assets/ProductIcons/dark_mode_icon.png
Binary file added assets/ProductIcons/[email protected]
Binary file added assets/ProductIcons/[email protected]
Binary file added assets/ProductIcons/dark_mode_icon_512.png
Binary file added assets/ProductIcons/light_mode_dev_icon.png
Binary file added assets/ProductIcons/[email protected]
Binary file added assets/ProductIcons/[email protected]
Binary file added assets/ProductIcons/light_mode_dev_icon_512.png
Binary file added assets/ProductIcons/light_mode_icon.png
Binary file added assets/ProductIcons/[email protected]
Binary file added assets/ProductIcons/[email protected]
Binary file added assets/ProductIcons/light_mode_icon_512.png
Binary file added assets/ProductIcons/mono_dark_mode_icon.png
Binary file added assets/ProductIcons/[email protected]
Binary file added assets/ProductIcons/[email protected]
Binary file added assets/ProductIcons/mono_light_mode_icon.png
Binary file added assets/ProductIcons/[email protected]
Binary file added assets/ProductIcons/[email protected]
Binary file added assets/banner.png
Binary file added assets/classic_mode.png
Binary file added assets/list_grid_views.png
Binary file added assets/screenshot.png
25 changes: 25 additions & 0 deletions assets/tarmac.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
name = "ResurfaceAssets"

[[inputs]]
glob = "Icons/**/*.png"
packable = true
codegen = true
codegen-path = "../src/Assets/IconMap.luau"

[[inputs]]
glob = "ProductIcons/**/*.png"
packable = false
codegen = true
codegen-path = "../src/Assets/IconMap.luau"

[[inputs]]
glob = "Misc/**/*.png"
packable = false
codegen = true
codegen-path = "../src/Assets/IconMap.luau"

[[inputs]]
glob = "KeyCodeIcons/**/*.png"
packable = true
codegen = true
codegen-path = "../src/Assets/IconMap.luau"
Binary file added assets/thumbnail.png
13 changes: 13 additions & 0 deletions build.project.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
{
"name": "ResurfacePlugin",
"tree": {
"$path": "build",
"Packages": {
"$path": "Packages",
"$className": "Folder"
},
"WallyPackageManifest": {
"$path": "wally.toml"
}
}
}
32 changes: 32 additions & 0 deletions darklua.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
{
"rules": [
{
"rule": "convert_require",
"current": {
"name": "path",
"sources": {
"@pkgs": "Packages",
"@root": "src"
}
},
"target": {
"name": "roblox",
"rojo_sourcemap": "./sourcemap.json",
"indexing_style": "property"
}
},
"compute_expression",
"convert_index_to_field",
"filter_after_early_return",
"remove_comments",
"remove_debug_profiling",
"remove_empty_do",
"remove_function_call_parens",
"remove_nil_declaration",
"remove_spaces",
"remove_types",
"remove_unused_if_branch",
"remove_unused_variable",
"remove_unused_while"
]
}
13 changes: 13 additions & 0 deletions default.project.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
{
"name": "ResurfacePlugin",
"tree": {
"$path": "src",
"Packages": {
"$path": "Packages",
"$className": "Folder"
},
"WallyPackageManifest": {
"$path": "wally.toml"
}
}
}
22 changes: 22 additions & 0 deletions lune/Utils/colors.luau
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
local colors = {
red = function(str)
return `\27[31m{str}\27[39m`
end,
green = function(str)
return `\27[32m{str}\27[39m`
end,
yellow = function(str)
return `\27[33m{str}\27[39m`
end,
blue = function(str)
return `\27[34m{str}\27[39m`
end,
grey = function(str)
return `\27[90m{str}\27[39m`
end,
bold = function(str)
return `\27[1m{str}\27[22m`
end,
}

return colors
Loading

0 comments on commit e77a49f

Please sign in to comment.