diff --git a/app/controllers/settings_controller.rb b/app/controllers/settings_controller.rb
index fb6edc786..98325a949 100644
--- a/app/controllers/settings_controller.rb
+++ b/app/controllers/settings_controller.rb
@@ -17,6 +17,9 @@ class SettingsController < ApplicationController
SiteSettings.model_tags_custom_stop_words = params[:model_tags][:custom_stop_words].split
SiteSettings.model_tags_auto_tag_new = params[:model_tags][:auto_tag_new]
end
+ if params[:renderer]
+ @user.renderer_settings["grid_width"] = params[:renderer][:grid_width].to_i
+ end
@user.save!
redirect_to user_settings_path(@user)
end
diff --git a/app/views/application/_object_preview.html.erb b/app/views/application/_object_preview.html.erb
index c2ded2f8a..c0bdb7c7e 100644
--- a/app/views/application/_object_preview.html.erb
+++ b/app/views/application/_object_preview.html.erb
@@ -7,8 +7,8 @@
data-preview-url="<%= library_model_model_file_path(library, model, file, file.file_format.to_sym)%>"
data-format="<%= file.file_format %>"
data-y-up="<%= file.y_up %>"
- data-grid-size-x="<%= ENV.fetch("GRID_SIZE", 200)%>"
- data-grid-size-z="<%= ENV.fetch("GRID_SIZE", 200)%>"
+ data-grid-size-x="<%= current_user.renderer_settings["grid_width"] %>"
+ data-grid-size-z="<%= current_user.renderer_settings["grid_width"] %>"
>
diff --git a/app/views/settings/show.html.erb b/app/views/settings/show.html.erb
index 7e60576c5..ebd70746d 100644
--- a/app/views/settings/show.html.erb
+++ b/app/views/settings/show.html.erb
@@ -22,6 +22,17 @@
<%= form.number_field "pagination[per_page]", value: @user.pagination_settings["per_page"], in: 1..100, class: 'form-control' %>
+
Renderer
+
+
+ Customise settings for 3d rendered previews.
+
+
+
+ <%= form.label "Ground plane size (mm)", for: "renderer[grid_width]", class: "form-label"%>
+ <%= form.number_field "renderer[grid_width]", value: @user.renderer_settings["grid_width"], class: "form-control" %>
+
+
<% if current_user.admin? %>
Tagging
diff --git a/db/migrate/20221128165903_add_renderer_settings_to_users.rb b/db/migrate/20221128165903_add_renderer_settings_to_users.rb
new file mode 100644
index 000000000..9920307c2
--- /dev/null
+++ b/db/migrate/20221128165903_add_renderer_settings_to_users.rb
@@ -0,0 +1,5 @@
+class AddRendererSettingsToUsers < ActiveRecord::Migration[7.0]
+ def change
+ add_column :users, :renderer_settings, :json, default: {grid_width: 200, grid_depth: 200}
+ end
+end
diff --git a/db/schema.rb b/db/schema.rb
index aedfbe86f..edc8f9beb 100644
--- a/db/schema.rb
+++ b/db/schema.rb
@@ -10,7 +10,7 @@
#
# It's strongly recommended that you check this file into your version control system.
-ActiveRecord::Schema[7.0].define(version: 2022_07_02_202932) do
+ActiveRecord::Schema[7.0].define(version: 2022_11_28_165903) do
create_table "creators", force: :cascade do |t|
t.string "name", null: false
t.datetime "created_at", null: false
@@ -120,6 +120,7 @@ ActiveRecord::Schema[7.0].define(version: 2022_07_02_202932) do
t.string "username", null: false
t.boolean "admin", default: false
t.json "pagination_settings", default: {"models"=>true, "creators"=>true, "per_page"=>12}
+ t.json "renderer_settings", default: {"grid_width"=>200, "grid_depth"=>200}
t.index ["email"], name: "index_users_on_email", unique: true
t.index ["username"], name: "index_users_on_username", unique: true
end
diff --git a/docker-compose.example.yml b/docker-compose.example.yml
index d17874e11..bb96bd59b 100644
--- a/docker-compose.example.yml
+++ b/docker-compose.example.yml
@@ -10,7 +10,6 @@ services:
environment:
DATABASE_URL: postgresql://van_dam:password@db/van_dam?pool=5
SECRET_KEY_BASE: a_nice_long_random_string
- GRID_SIZE: 260
# RAILS_RELATIVE_URL_ROOT: /vandam Sets the root of the app to /vandam useful for reverse proxies with nginx
depends_on:
- db
@@ -31,4 +30,3 @@ services:
volumes:
db_data:
-
diff --git a/env.example b/env.example
index e33878c02..e69de29bb 100644
--- a/env.example
+++ b/env.example
@@ -1 +0,0 @@
-GRID_SIZE: 260