Athenian Print Forge
Overview
Product overview
Athenian Print Forge is a modular WooCommerce production-customization engine for AI-assisted, visual, and fabrication-ready commerce. It turns product pages into interactive build surfaces where customers can upload artwork, work with generated media, configure visual product options, preview designs in 2D or 3D, generate production artifacts, and carry those artifacts into WooCommerce cart and order data for fulfillment.
Within the broader Athenian Platform, Print Forge is the bridge between creative product personalization and operational execution. It is not simply a storefront widget or image uploader. It is a shortcode-driven product experience layer supported by shared asset bundles, media services, private-file delivery, credit checks, vendor-aware pricing surfaces, cart/order metadata persistence, and admin tooling for 3D model and surface configuration.
The plugin is especially useful for custom-product ecosystems where the sale is only the beginning of the workflow: customer artwork, generated designs, model surfaces, CutContour PDFs, preview captures, label data, badge templates, private production files, vendor routing, and downstream fulfillment all need to remain connected to the order.
Use cases
- Custom product design
- Print and artwork workflows
- WooCommerce customization
- 3D and preview experiences
Developer
Developer starting point
This page documents the authoritative Print Forge v0.18.22 source and the matching representative PrintGhost deployment. The authoritative v0.18.22 source and the representative PrintGhost runtime match across 183 shared non-vendor, non-backup files after line-ending normalization. The 123 raw differences are line-ending representation drift, and eight source-only files are repository CI, build, lockfile, test, and release metadata. It does not claim a live design session, generated artwork, vendor dispatch, shipment, or physical-product fulfillment.
Customer-Facing Workflow
- A shopper lands on a WooCommerce product page or embedded APF build surface.
- The page loads a specific Print Forge shortcode for the product type, such as a 3D mockup, planar product, contour workflow, badge builder, photo print tool, or label generator.
- The shopper selects a product, variation, quantity, styling options, uploaded media, generated image, text layers, surface placement, or production-related options.
- The front end can render previews using shared controls, media picker components, PDF tooling, Three.js modules, canvas capture, and product-specific viewers.
- Production files or preview captures are saved through AJAX endpoints, either as Media Library attachments or private signed files.
- The configured product is added to WooCommerce cart with APF metadata attached.
- At checkout, APF cart metadata is copied into the WooCommerce order item so staff, vendors, PO systems, or fulfillment workflows can access the production context.
Admin Workflow
Print Forge Admin Menu
The plugin registers a top-level Print Forge admin area with pages for:
- Overview / Settings
- Saved Badges
- Badge Templates
- 3D Models
- Vendor Offers
- Asset Purge
The main admin capability is manage_options.
Settings
Plugin settings are stored under apf_settings. Key settings and defaults include:
- admin debug flag
- default model selection
- vendor default margin percentage
- vendor minimum margin percentage
- CutContour download credit costs for PDF, SVG, and PNG
- notes
- planar defaults
3D Model Registry
The model registry is stored in the apf_models option and supports model IDs, names, slugs, GLB/GLTF references, surface data, and model-level settings. Product pages can select a default model globally or override the model per product.
WooCommerce Product Data Tab
The plugin adds a Print Forge product data tab to WooCommerce products. Product-level metadata includes:
_apf_model_id- selected 3D model identifier._apf_require_stl- whether STL/generation capture should be required._apf_planar_enabled- whether planar configuration is enabled._apf_planar_cfg- JSON planar configuration for surfaces, shape, placement, scaling, rotation, background, transparency, and related rendering defaults._apf_badge_template_id- product-linked badge template reference.
Badge Templates and Saved Badge Designs
The plugin registers private admin-facing CPTs for reusable badge workflows:
apf_badge_templatefor administrator-defined badge templates.apf_badge_user_tplfor user-saved badge designs.
Badge templates store JSON under _apf_badge_template_json. User-saved templates can store template JSON, preview attachment IDs, source template IDs, and product IDs.
Shortcode Surface Area
| Shortcode | Purpose | | --- | --- | | [apf_common] | Shared APF shell for product/variation controls, pricing, media, styling, and reusable sections. | | [apf_3d] / [shortcode_3D] / [shortcode_3d] | Legacy-compatible 3D product experience. | | [apf_texture], [apf_3d_texture], [apf_stl_texture], [apf_stl_mapper] | STL/texture mapping and 3D texture workflows. | | [apf_planar_3d] | Planar 3D product rendering for flat/surface-based products. | | [apf_planar_canvas] | Planar canvas output and compatibility workflow. | | [apf_contour] | 2D contour/cut workflow. | | [apf_contour_3d] | 3D contour workflow and viewer stack. | | [apf_dtf] | DTF-oriented product builder/viewer. | | [apf_embroidery_3d] | Embroidery-oriented 3D customization workflow. | | [apf_metal_art_3d] | Metal art/fabrication-style 3D workflow. | | [apf_rug_tufting] | Rug tufting visualization/customization workflow. | | [apf_neon_light] / [apf_neon_sign] | Neon-style sign builder and preview workflow. | | [apf_window_clings], [apf_micro_perf_clings], [apf_window_clings_micro_perf] | Window cling and micro-perf product workflows. | | [apf_translucent_window_clings], [apf_translucent_ink_clings], [apf_window_clings_translucent_ink] | Translucent ink/window cling workflows. | | [apf_photo_print], [apf_photo_enhancements] | Photo print and enhancement workflow. | | [apf_gallery] / [apf-gallery] | APF media/gallery browsing and selection. | | [apf_name_insights_3d], [apf_name_story_3d] | Name/story generation and 3D-contextual display. | | [apf_pdf] | PDF viewer/preview workflow. | | [apf_text_layers] | Text-layer design workflow with font picker and capture hooks. | | [apf_badge_builder] | Badge design workflow with templates, fields, QR/barcode support, and user-saved designs. | | [apf_variable_labels] | Variable-label workflow with CSV-style row data and PDF output persistence. | | [apf_rfid_magstripes], [apf_rfid_magstripe] | RFID/magstripe product configuration and order metadata capture. |
Technical Architecture
1. Bootstrap Layer
The main plugin file is athenian-print-forge.php. It defines core constants, registers activation/deactivation hooks, loads localization, sets up a small classmap autoloader, conditionally loads function modules, and wires runtime boot hooks.
Key constants include:
APF_FILEAPF_PATHAPF_URLAPF_BASENAMEAPF_VERAPF_MIN_PHPAPF_DEBUGAPF_DEV_NOCACHEAPF_LEAN_SHELL
The APF_LEAN_SHELL flag is used to keep newer modular renderers separated from older monolithic rendering behavior.
2. Asset Layer
The APF_Assets class registers all major frontend and admin CSS/JS handles and exposes bundle helpers such as:
use_common()use_contour()use_gallery()use_media()use_badge_builder()use_variable_labels()use_texture_3d()use_planar_3d()use_pdf_viewer()use_text_layers()use_embroidery()use_rug_tufting()use_neon_light()use_photo_enhance()use_rfid_magstripes()use_dtf()use_window_clings()use_translucent_window_clings()use_m3d_modal()use_admin_surface_builder()
The bundle map is filterable through apf_assets_bundles, and the plugin includes import-map support for module-based Three.js workflows.
3. Control and Section Layer
The plugin uses a control registry plus auto-discovered section files under includes/sections. These sections represent reusable UI blocks such as product controls, uploads, canvas tools, gallery/media controls, PDF tools, tier tables, styling panels, badge builder, variable labels, RFID/magstripes, neon, contour, mockup/3D controls, downloads, and product variations.
This architecture lets specialized shortcode renderers compose shared controls without duplicating every UI component.
4. Cart and Order Layer
The APF\Cart\Cart_Handler class owns much of the WooCommerce integration:
apf_add_to_cartAJAX flow.- APF metadata collection from native POST and Store API requests.
- Cart-session restoration.
- Cart-row display metadata.
- Custom thumbnails and preview handling.
apf_save_canvas_privateprivate-canvas save endpoint.apf_upload_apa_filenative file upload endpoint.- M3D and RFID metadata order-line persistence.
- Variable-label order-line persistence.
- STL-required validation logic.
Separate capture modules support:
APF\M3D\Capture_Cartfor preview PNGs and generated 3D/production files.APF\CutContour\Capture_Cartfor CutContour PDF IDs/URLs and order item metadata.
5. Media and File Layer
The plugin includes several media-related services:
APF\Services\Media- attachment metadata, gallery pagination, AI image save, media picker filtering, attachment cache handling, and media response shaping.APF\Services\Media_AI- AI/generated image save flow and metadata capture.APF\Services\Media_Gallery- AJAX-backed gallery pagination.APF\Services\Media_Visibility- canvas/internal capture visibility handling and cart/order bridge logic.APF\Services\Private_Files- private artifact storage, signed URL generation, streamable/apf-fileendpoint, Range request support, and daily cleanup cron.APF\Services\Asset_Manager- attachment association with products, orders, order items, lifecycle state, and production context.
6. Security Layer
AthenianPrintForge\Services\Security centralizes nonce issuance and verification. It can read nonce values from form fields, JSON request bodies, and headers. The plugin uses route-specific action buckets for flows such as cart, AI, pricing, CutContour, generic APF actions, and REST-style requests.
7. Credits Layer
AthenianPrintForge\Services\Credits provides configurable APF credit pricing and balance/cost endpoints. It prefers CPM_Credits if available and falls back to credit balance user meta where appropriate. Credit pricing supports:
- generation size cost maps
- quality multipliers
- reference-image surcharges
- flat image/output charges
- filterable configuration through
apf/credits/config - JavaScript payload localization through APF asset bundles
8. Pricing Layer
AthenianPrintForge\Ajax\Ajax_Pricing exposes:
apf_tpt_shortcodefor AJAX-rendering tiered pricing table output.apf_role_discountfor role-discount lookup.
The role-discount logic can work with Athenian\RoleManagement\Role_Discounts when present and includes helpers to resolve parent product IDs from variations.
AJAX Endpoints
| Endpoint / Action | Purpose | | --- | --- | | apf_add_to_cart | Add configured APF product data into WooCommerce cart. | | apf_save_canvas_private | Save customer-specific canvas artifacts into private storage. | | apf_upload_apa_file | Upload APF/APA-style files from the frontend. | | apf_m3d_capture_save | Save M3D preview captures and generated production files. | | apf_make_cutcontour / apf_cutcontour_export | Generate or export CutContour production outputs. | | apf_cutcontour_download_charge | Charge credits for CutContour download actions. | | apf_cutcontour_save | Save CutContour artifact data. | | apf_gallery_page | Paginated APF media/gallery loading. | | apf_gallery_toggle_visibility | Admin/user visibility toggle for gallery media. | | apf_save_ai_image | Save AI-generated or remote image content to the Media Library. | | apf_credits_balance_v2 | Return APF credit balance. | | apf_credits_cost_v2 | Return APF credit cost estimates. | | apf_tpt_shortcode | Render tiered-pricing shortcode output through AJAX. | | apf_role_discount | Return role-discount context for current product/user. | | apf_admin_get_models | Admin model-registry read endpoint. | | apf_admin_save_models | Admin model-registry save endpoint. | | apf_admin_write_surfaces | Write surface JSON for model/surface-builder workflows. | | Badge builder endpoints | Template listing, loading, saving, exporting, and user-template management. | | Variable-label endpoints | Label payload/PDF capture and cart/order persistence support. |
Data Model and Stored Values
WordPress Options
| Option | Purpose | | --- | --- | | apf_settings | Main plugin settings. | | apf_models | Registered APF 3D/product models. | | apf_credits_config | Credit pricing configuration. | | apf_asset_cache_mode | Asset cache behavior. | | apf_default_pdf_url | Default PDF URL for PDF viewer-style workflows. | | apf_default_blueprint_pdf_url | Default blueprint PDF reference. | | apf_default_photo_print_product_id | Default product mapping for photo-print flows. | | apf_needs_flush | Activation-time rewrite flush marker. |
Product Metadata
| Meta Key | Purpose | | --- | --- | | _apf_model_id | Product-selected APF model. | | _apf_require_stl | STL/capture requirement flag. | | _apf_planar_enabled | Enables planar product configuration. | | _apf_planar_cfg | JSON planar product configuration. | | _apf_badge_template_id | Badge template assigned to a product. |
Attachment Metadata
| Meta Key | Purpose | | --- | --- | | _apf_asset_kind | Classifies APF-generated or APF-managed media. | | _apf_asset_lifecycle | Lifecycle state for managed assets. | | _apf_asset_order_id | Associated order. | | _apf_asset_order_item_id | Associated order item. | | _apf_asset_product_id | Associated product. | | _apf_asset_variation_id | Associated variation. | | _apf_asset_pipeline | AI/production pipeline provenance. | | _apf_asset_variant | Variant/type marker. | | _apf_media_role | Gallery/media role classification. | | _apf_gallery_exclude | Gallery exclusion flag. | | _apf_visibility | Visibility state. |
Order Item Metadata
| Meta Key | Purpose | | --- | --- | | _apf_m3d | Main M3D/capture bundle JSON. | | _apf_m3d_previews | Preview URL list. | | _apf_m3d_preview_ids | Preview attachment ID list. | | _apf_m3d_generated_files | Generated production-file metadata. | | _apf_cutcontour_pdf_url | CutContour PDF URL. | | _apf_cutcontour_pdf_id | CutContour PDF attachment ID. | | _apf_cutcontour | CutContour bundle JSON. | | apf_rfid_magstripe | RFID/magstripe configuration payload. | | apf_variable_labels | Variable-label payload. | | _apf_variable_labels_row_count | Variable-label row count. | | _apf_variable_labels_pdf_url | Generated label PDF URL. | | _apf_variable_labels_pdf_id | Generated label PDF attachment ID. | | _apf_canvas_meta | Canvas/internal capture metadata. |
Integration Points
WooCommerce
Print Forge integrates with WooCommerce through:
- product data tabs
- product metadata
- cart item data filters
- cart session restoration
- cart item display metadata
- checkout order-line creation hooks
- Store API cart item extension hooks
- product/variation parent resolution
- order admin asset modals
- product-level validation rules
Athenian Platform Core
Platform Core can provide shared taxonomy, service registry, UI conventions, policy/routing patterns, and platform-level schema expectations around vendors, products, creators, and marketplace logic.
Product Add-ons
Product Add-ons can provide richer add-on forms, file fields, design fields, and cart add-on data that complement Print Forge's visual product builders.
Pricing Tiers and Role Discounts
Print Forge's pricing AJAX layer can surface tiered pricing and role-based discount context. This allows configurable products to keep wholesale, reseller, membership, and trade-account pricing behavior without duplicating pricing logic inside every shortcode.
WC Dropship and Vendor Offers
Print Forge is designed to pair with vendor-aware pricing and order-routing workflows. The customization experience can produce the product and asset payload while dropship/vendor modules determine supplier eligibility, PO generation, vendor handoff, fulfillment responsibility, and shipping workflows.
Shipment Manager
Shipment Manager can consume APF order metadata, preview assets, production files, and order-line context as part of packing-station, label, partial-shipment, and fulfillment workflows.
Creator Manager and Affiliate Manager
Media assets and creator-driven design inputs can be associated with order items, while affiliate or creator attribution layers can participate in commission calculations and downstream OwlPay payout flows.
OwlPay
OwlPay can act as the ledger and payout execution layer for creators, affiliates, vendors, and other parties involved in custom-product transactions.
Implementation Notes From Current v0.18.22 Source
- The authoritative source reference is GitHub
v0.18.22at commit09bddc158a25f978ee8f3c52a7cd749f47f7a0c3. - The bootstrap
athenian-print-forge.phpdefinesAPF_VERas0.18.22, requires PHP8.0+, and enables the modularAPF_LEAN_SHELLpath. - WooCommerce cart and quantity integration is centered in
includes/classes/class-cart.php(Cart_Handlerandfilter_vendor_offer_min_qty) andincludes/sections/product.php(the#apf-qtyinput andapt/product_min_qtyboundary). - Pricing behavior is implemented across
includes/classes/ajax/class-ajax-pricing.phpandassets/js/utilities/pricing.js, includingapf_tpt_shortcode,apf_role_discount, vendor/native offer eligibility, andsyncQtyFloor. - Private production artifacts and signed delivery are handled by
includes/classes/services/class-private-files.php; nonce and route authorization are centralized inincludes/classes/services/class-security.php. - The current source/release inventory is separate from the deployed runtime scope. See the deployment evidence below for the normalized 183-file parity result and the eight repository-only artifacts.
The current v0.18.22 source identity is authoritative for these three product-linked pages. This documentation still does not claim a live design session, generated artwork, vendor dispatch, shipment, or physical-product fulfillment.
Current deployment evidence
Current observed PrintGhost deployment: 0.18.22. The captured plugin archive print-forge-0.18.22.tar.gz has SHA-256 663a1ebfba864675c0790f7f24ecaddfdfbf5e02c68bafd4ee52876659bfb281, and the deployed main plugin file has SHA-256 f96a476104440a4476fce644d138e65cd116400d5d4a913653d42f63704052bd. The GitHub release reference is v0.18.22 at commit 09bddc158a25f978ee8f3c52a7cd749f47f7a0c3. The normalized deployed file inventory is compatible with the GitHub v0.18.22 release inventory after excluding repository-only CI, build, test, and vendor metadata. For the current v0.18.22 deployment, all 183 shared non-vendor, non-backup files match GitHub v0.18.22 after line-ending normalization; 123 raw differences are line-ending drift, and eight repository-only files are CI, build, lockfile, test, or release metadata. The implementation excerpts on this page are grounded in the authoritative v0.18.22 source reference. The implementation excerpts are anchored to the authoritative v0.18.22 source reference.
Install
- Authoritative source reference: GitHub v0.18.22 at commit 09bddc158a25f978ee8f3c52a7cd749f47f7a0c3.
- Current observed PrintGhost deployment: 0.18.22; source and deployed runtime share the normalized 183-file common tree.
- Source scope: current release inventory with repository-only CI, build, lockfile, test, and release metadata distinguished from the deployed runtime.
- WordPress, WooCommerce, browser assets, private-file delivery, and the reviewed Print Forge source tree.
- Provider requests, design uploads, generated artifacts, vendor dispatch, shipment, and physical-product effects require separate verification.
Configuration
- Executive Summary — see the linked technical reference excerpt.
- Positioning Statement — see the linked technical reference excerpt.
- Short Marketing Description — see the linked technical reference excerpt.
- Long Marketing Description — see the linked technical reference excerpt.
- Core Value Pillars — see the linked technical reference excerpt.
- Primary Audiences — see the linked technical reference excerpt.
- Feature Highlights — see the linked technical reference excerpt.
- Customer-Facing Workflow — see the linked technical reference excerpt.
- Admin Workflow — see the linked technical reference excerpt.
- Shortcode Surface Area — see the linked technical reference excerpt.
- Technical Architecture — see the linked technical reference excerpt.
- AJAX Endpoints — see the linked technical reference excerpt.
- Data Model and Stored Values — see the linked technical reference excerpt.
- Integration Points — see the linked technical reference excerpt.
Usage
- Shortcodes detected in local PHP source: 36
- Static action/filter hooks detected in local PHP source: 100
- REST route registrations detected in local PHP source: 0
Shortcodes
- apf-contour — includes/shortcode/shortcode-contour.php
- apf-gallery — includes/shortcode/shortcode-gallery.php
- apf_3d_texture — includes/shortcode/shortcode-texture.php
- apf_3d — includes/shortcode/shortcode-3d.php
- apf_common — athenian-print-forge.php
- apf_common — includes/shortcode/shortcode-common.php
- apf_contour_3d — includes/shortcode/shortcode-contour-3d.php
- apf_contour — includes/shortcode/shortcode-contour.php
- apf_dtf — includes/shortcode/shortcode-dtf.php
- apf_embroidery_3d — includes/shortcode/shortcode-embroidery-3d.php
- apf_gallery — includes/shortcode/shortcode-gallery.php
- apf_metal_art_3d — includes/shortcode/shortcode-metal-art-3d.php
- apf_micro_perf_clings — includes/shortcode/shortcode-window-clings.php
- apf_name_insights_3d — includes/shortcode/shortcode-name-insights.php
- apf_name_story_3d — includes/shortcode/shortcode-name-insights.php
- apf_neon_light — includes/shortcode/shortcode-neon-light.php
- apf_neon_sign — includes/shortcode/shortcode-neon-light.php
- apf_pdf — includes/shortcode/shortcode-pdf.php
- apf_photo_enhancements — includes/shortcode/shortcode-photo-enhance.php
- apf_photo_print — includes/shortcode/shortcode-photo-enhance.php
- apf_planar_3d — includes/shortcode/shortcode-planar-3d.php
- apf_planar_canvas — includes/shortcode/shortcode-planar-canvas.php
- apf_rfid_magstripes — includes/shortcode/shortcode-rfid-magstripes.php
- apf_rfid_magstripe — includes/shortcode/shortcode-rfid-magstripes.php
- apf_rug_tufting — includes/shortcode/shortcode-rug-tufting.php
- apf_stl_mapper — includes/shortcode/shortcode-texture.php
- apf_stl_texture — includes/shortcode/shortcode-texture.php
- apf_texture — includes/shortcode/shortcode-texture.php
- apf_text_layers — includes/shortcode/shortcode-text-layers.php
- apf_translucent_ink_clings — includes/shortcode/shortcode-translucent-window-clings.php
- apf_translucent_window_clings — includes/shortcode/shortcode-translucent-window-clings.php
- apf_window_clings_micro_perf — includes/shortcode/shortcode-window-clings.php
- apf_window_clings_translucent_ink — includes/shortcode/shortcode-translucent-window-clings.php
- apf_window_clings — includes/shortcode/shortcode-window-clings.php
- shortcode_3D — includes/shortcode/shortcode-3d.php
- shortcode_3d — includes/shortcode/shortcode-3d.php
REST Endpoints
- No register_rest_route calls were detected by the baseline scanner.
Hooks
- added_post_meta — includes/classes/services/class-media.php
- add_attachment — includes/classes/services/class-media.php
- add_meta_boxes — includes/classes/admin/class-badge-template-admin.php
- add_meta_boxes — includes/classes/admin/class-planar-product-meta.php
- admin_enqueue_scripts — athenian-print-forge.php
- admin_enqueue_scripts — includes/classes/admin/class-admin.php
- admin_footer — includes/classes/class-assets.php
- admin_head — includes/classes/class-assets.php
- admin_init — includes/classes/admin/class-admin.php
- admin_menu — includes/classes/admin/class-admin.php
- admin_notices — athenian-print-forge.php
- admin_post_apf_admin_purge_order_thumbnails — includes/classes/admin/class-admin.php
- ajax_query_attachments_args — includes/classes/services/class-media.php
- all_admin_notices — includes/classes/admin/class-admin.php
- apf/ai/gen_credits — includes/functions/functions-common-credits.php
- apf/ai/ref_credits — includes/functions/functions-common-credits.php
- apf/collapsible/icon — includes/controls/registry.php
- apf/collapsible/meta — includes/controls/registry.php
- apf/common/context — includes/functions/functions-common-credits.php
- apf/controls/plan — includes/shortcode/shortcode-common.php
- apf/controls/section_title — includes/controls/registry.php
- apf/controls/section_title — includes/sections/contour.php
- apf/credits/config — includes/classes/services/class-credits.php
- apf/credits/quality_multipliers — includes/functions/functions-common-credits.php
- apf/importmap/enabled — includes/classes/class-assets.php
- apf/media_picker/default_items_mode — includes/classes/services/class-media.php
- apf/media_picker/default_items — includes/classes/services/class-media.php
- apf/media_picker/force_custom_ui — athenian-print-forge.php
- apf/media_picker/use_wp_media — athenian-print-forge.php
- apf/sc3d/default_parent_ids — includes/shortcode/shortcode-3d.php
- apf/svg_icons — includes/shortcode/shortcode-common.php
- apf/texture/product_model — includes/sections/product.php
- apf_cart_generate_attachment_metadata — includes/classes/class-cart.php
- apf_m3d_generate_attachment_metadata — includes/functions/3d-capture-cart.php
- apf_private_files_cleanup — includes/classes/services/class-private-files.php
- apt/product_min_qty — includes/classes/class-cart.php
- attachment_fields_to_edit — includes/classes/services/class-media.php
- attachment_fields_to_save — includes/classes/services/class-media-visibility.php
- attachment_fields_to_save — includes/classes/services/class-media.php
- big_image_size_threshold — includes/functions/3d-capture-cart.php
- deleted_post_meta — includes/classes/services/class-media.php
- delete_attachment — includes/classes/services/class-media.php
- delete_user — includes/classes/services/class-media-visibility.php
- edit_attachment — includes/classes/services/class-media.php
- init — athenian-print-forge.php
- init — includes/classes/admin/class-badge-template-admin.php
- init — includes/classes/ajax/class-ajax-badge-builder.php
- init — includes/classes/class-cart.php
- init — includes/classes/services/class-badge-user-templates.php
- init — includes/classes/services/class-credits.php
- init — includes/classes/services/class-media.php
- init — includes/classes/services/class-private-files.php
- init — includes/controls/registry.php
- init — includes/sections/badge-builder.php
- init — includes/sections/contour.php
- init — includes/sections/downloads.php
- init — includes/sections/metal-art.php
- init — includes/sections/name-insights.php
- init — includes/sections/photo-enhancements.php
- init — includes/sections/product.php
- init — includes/sections/three3d.php
- init — includes/sections/variable-labels.php
- init — includes/shortcode/shortcode-3d.php
- init — includes/shortcode/shortcode-common.php
- init — includes/shortcode/shortcode-contour-3d.php
- init — includes/shortcode/shortcode-contour.php
- init — includes/shortcode/shortcode-gallery.php
- init — includes/shortcode/shortcode-metal-art-3d.php
- init — includes/shortcode/shortcode-name-insights.php
- init — includes/shortcode/shortcode-photo-enhance.php
- init — includes/shortcode/shortcode-planar-canvas.php
- init — includes/shortcode/shortcode-texture.php
- intermediate_image_sizes_advanced — includes/functions/3d-capture-cart.php
- kses_allowed_protocols — includes/classes/class-cart.php
- manage_media_custom_column — includes/classes/services/class-media.php
- manage_upload_columns — includes/classes/services/class-media.php
- manage_upload_sortable_columns — includes/classes/services/class-media.php
- manage_ — includes/classes/admin/class-badge-template-admin.php
- plugins_loaded — athenian-print-forge.php
- plugins_loaded — includes/classes/admin/class-badge-product-meta.php
- plugins_loaded — includes/classes/admin/class-badge-template-admin.php
- plugins_loaded — includes/classes/admin/class-product-model-meta.php
- plugins_loaded — includes/classes/services/class-badge-user-templates.php
- posts_where — includes/classes/ajax/class-ajax-gallery.php
- posts_where — includes/classes/services/class-media.php
- query_vars — includes/classes/services/class-private-files.php
- save_post_product — includes/classes/admin/class-planar-product-meta.php
- save_post — includes/classes/admin/class-badge-template-admin.php
- script_loader_tag — includes/classes/class-assets.php
- script_loader_tag — includes/shortcode/shortcode-texture.php
- sw_wapf_form_field_attributes — includes/functions/functions-common-product.php
- sw_wapf_form_select_option_attributes — includes/functions/functions-common-product.php
- template_redirect — includes/classes/services/class-private-files.php
- updated_post_meta — includes/classes/services/class-media.php
- upload_mimes — includes/classes/ajax/class-ajax-cutcontour.php
- upload_mimes — includes/classes/class-cart.php
- upload_mimes — includes/classes/services/class-media.php
- upload_mimes — includes/functions/3d-capture-cart.php
- woocommerce_add_cart_item_data — includes/classes/class-cart.php
- woocommerce_add_cart_item_data — includes/classes/services/class-media-visibility.php
Data Model
- Data Model and Stored Values — described in the local technical reference.
- Integration Points — described in the local technical reference.
API Reference
- Authoritative source version: 0.18.22.
- Repository reference: v0.18.22 / 09bddc158a25f978ee8f3c52a7cd749f47f7a0c3.
- Source bootstrap and deployed main-file identity are pinned by the release commit, archive SHA-256, and deployed main-file SHA-256 below.
- Deployment archive SHA-256: 663a1ebfba864675c0790f7f24ecaddfdfbf5e02c68bafd4ee52876659bfb281.
- Deployed main plugin file SHA-256: f96a476104440a4476fce644d138e65cd116400d5d4a913653d42f63704052bd.
- Normalized parity: 183 shared non-vendor/non-backup files; 123 raw line-ending differences; eight repository-only release artifacts.
- Minimum-quantity integration boundary: Print Forge owns the PrintGhost apt/product_min_qty callback; ThixStrip remains a separate Pricing Tiers site-specific adapter.
Troubleshooting
- Use GitHub v0.18.22 at 09bddc158a25f978ee8f3c52a7cd749f47f7a0c3 as the current implementation reference for these pages.
The authoritative v0.18.22 source and the representative PrintGhost runtime match across 183 shared non-vendor, non-backup files after line-ending normalization. The 123 raw differences are line-ending representation drift, and eight source-only files are repository CI, build, lockfile, test, and release metadata.
- If quantity behavior differs, inspect Print Forge vendor-offer metadata and the apt/product_min_qty owner before changing Pricing Tiers core behavior.
Treat payment, carrier, vendor, shipment, inventory, account, credential, tax, AI, and external-provider behavior as integration-dependent until exercised in the target environment.
FAQ
What is this page intended to establish?
A versioned, product-linked starting point for iterative developer documentation. It combines the local implementation reference with a detected-code inventory and a committed GitHub baseline.
Is the linked repository baseline verified?
Yes. The repository URL, ref, and commit recorded on this page were verified from the clean GitHub baseline prepared for this documentation pass. That does not by itself prove fleet deployment parity.
What remains for release-grade documentation?
Reconcile the recorded source baseline with the deployed plugin version, then exercise the relevant authenticated, store, provider, payment, tax, carrier, or generated-artifact paths in the target environment.
Which Print Forge version is currently deployed?
The current representative PrintGhost deployment is version 0.18.22. The page also identifies the local technical source snapshot used for its implementation excerpts and keeps that source identity separate from the deployed runtime tree.
What does normalized Print Forge parity establish?
For the current 0.18.22 deployment, all 183 shared non-vendor, non-backup runtime files match the GitHub release after line-ending normalization. The raw archive and source files are not byte-identical because 123 files use different line-ending representations; eight repository-only CI, build, lockfile, test, and release files are outside the deployed tree.
Which source baseline do these implementation notes use?
These pages now use the authoritative Print Forge v0.18.22 source at commit 09bddc158a25f978ee8f3c52a7cd749f47f7a0c3. The deployed PrintGhost runtime is the matching current identity after normalized file-content comparison.