SMORTLER VioScans
Above the field-manual introduction
VioLabs Field Manual

VioTilneum Magnetic Docking for PHP pages

Welcome to the shiny purple rabbit hole. This page explains everything Kevin and ChatGPT need in order to add the draggable VioTilneum plate system to another PHP page quickly, safely, and in a fun Violet-approved way.

Jump to copy bundle
What this page is for: a reusable handoff guide. You can open this page, click one button, paste the copied content into a future chat, and I should have almost everything I need to recreate the VioTilneum feature on a different PHP page.
Violet holding a large VioTilneum plate and admiring it
Try the invention! The VioTilneum plate on this page is live. It is magnetized to a location chosen by the site administrator. 10 magnetic docks
Immediately below Violet’s introduction
Violet smiles from a violet metallic plate with a platinum message: Violet’s SI is here to help!

What is VioTilneum?

VioTilneum is a VioLabs-created alloy: remarkably strong, surprisingly flexible, gorgeous in deep-violet tones, and stable even at 100 below 0F. In the site universe, it is the perfect material for an intelligent plate that can digitally magnetize itself into place.

Story note: the material is not just decorative. It provides the narrative reason for why the plate can slide, snap, and settle into focus points throughout a page.
Remarkably strong Flexible Stable at −100°F Digitally magnetized
Below “What is VioTilneum?”

What the feature does

  • Places a Violet-themed VioTilneum plate on a page.
  • Lets the administrator drag it to other approved docking locations.
  • Snaps the plate neatly into place with a magnetic effect.
  • Saves the chosen location so everyone sees the same focus point.
  • Provides a dropdown fallback so the location can also be changed without dragging.
Below “What the feature does”

Files you usually need

  • Target PHP page where the plate appears.
  • Reusable include such as includes/viotilneum_plate.php.
  • CSS for plate layout, docking indicators, and responsiveness.
  • JavaScript for drag, snap, and save behavior.
  • Plate image asset and any supporting Violet art.
  • SQL for a small shared settings table.
Below “Files you usually need”

Database / auth expectations

The cleanest pattern is a tiny shared settings table, usually in the RUSSIA database, and a whitelist of valid slot names. The page should already know the logged-in username so only the admin can move the plate.

CREATE TABLE IF NOT EXISTS `RUSSIA`.`plan_ui_layout` (
  `plan_key` VARCHAR(64) NOT NULL,
  `widget_key` VARCHAR(64) NOT NULL,
  `dock_key` VARCHAR(64) NOT NULL DEFAULT 'shared',
  `updated_by_user_id` BIGINT UNSIGNED NULL,
  `updated_at` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP
    ON UPDATE CURRENT_TIMESTAMP,
  PRIMARY KEY (`plan_key`, `widget_key`),
  CONSTRAINT `fk_russia_ui_layout_user`
    FOREIGN KEY (`updated_by_user_id`) REFERENCES `RUSSIA`.`users`(`id`)
    ON DELETE SET NULL
);

This VioScans manual uses its own plan_key and widget_key. Moving this plate never changes the one on Cullan’s page.

Below “Database / auth expectations”

Integration checklist

  1. Identify the target PHP page and the best docking zones.
  2. Confirm where the login/session username comes from.
  3. Add CSS and JavaScript assets.
  4. Create or reuse the small settings table.
  5. Add the include and save endpoint.
  6. Whitelist the slot IDs and test drag/drop, dropdown change, and reset.
  7. Verify desktop, tablet, and phone behavior.
Below the integration checklist

Best prompt ingredients for ChatGPT

When you ask me to do this again, the most helpful details are: the full server path of the target page, the domain, the auth/session method, the preferred database auth file, any admin username rules, and where you want the plate to draw attention first.

Shortcut: just copy the bundle below and paste it into chat, then add the new target page path.
Below the ChatGPT handoff tips
Just before the copy-ready brief

Copy-ready VioTilneum integration bundle

Use the button to put the full reusable brief on your clipboard.

At the bottom of the page