Appearance
FullControl source audit
Last verified: 2026-07-16. This is a coverage and provenance record, not permission to copy source. Dry remains a clean-room implementation under the project clean-room rules; FullControl is used as a behavioural oracle and source of public design ideas only.
The FullControl sample gallery runs all 28 committed reconstructions through Dry's browser engine. These are fixed default Dry L1 designs with source links, not copies of notebook code and not claims of compatibility with every website slider.
Source baselines
- fullcontrol.xyz: 16 published model cards in the live-site catalogue captured from the rendered SPA on 2026-06-18. The public site still loads, but its model catalogue is not exposed in static HTML.
- Upstream GitHub:
FullControlXYZ/fullcontrolat9a90c40, fetched on 2026-07-16. It contains nine top-level model notebooks (eight designs plus the design template) and 14 top-level tutorial notebooks. - Oracle fork:
dmytro-yemelianov/fullcontrolat211505e, 153 commits ahead of that upstream baseline. ItsGALLERYregistry contains 27 designs, while its small export matrix_SMALLcontains 26. - Author gists: the public
fullcontrol-xyzgist account currently exposes 13 gists.
fullcontrol.xyz catalogue coverage
“Fixture” means a committed Dry L1/IR/G-code/metrics fixture generated by running the local FullControl fork. It proves parity with that fork case; it does not claim that FullControl source was copied or that every website slider value is covered.
| Published model | Site ID | Dry fixture | Coverage note |
|---|---|---|---|
| Nonplanar Spacer | 971ff7 | nonplanar_spacer | Fixture-backed |
| Hex Adapter | ff1d4e | hex_adapter | Fixture-backed |
| Fractional Design Engine (Polar) | a72616 | fractional_design_engine | Fixture-backed; renamed |
| Ripple Texture Demo | 4a0397 | ripple_vase | Fixture-backed; renamed |
| Tape-Reinforcement Research Demo | eac87f | tape_reinforcement | Fixture-backed |
| Overhang Challenge | b70938 | overhang_challenge | Base variant fixture-backed |
| Overhang Challenge Plus | 2d37a5 | overhang_challenge_plus | Distinct plus=True fixture-backed variant |
| 2000-Retractions Test | 3bfcdb | retraction_test | Fixture-backed; renamed |
| Star-Polygon Lattice Research | 1d3528 | star_polygon_lattice | Fixture-backed |
| AnyAngle Phone Stand | 4d0e78 | phone_stand | Fixture-backed; renamed |
| Pin-Support Challenge | 67cf20 | pin_support_challenge | Fixture-backed |
| Snake-Mode Soapdish | 7d3dc2 | snake_soapdish | Fixture-backed; renamed |
| FullControl Lampshade | ebdc86 | lampshade | Fork/gist fixture exists; original site G-code download was not captured, so site-byte parity is unverified |
| Blob Printing | 800020 | blob_printing | Fixture-backed |
| Nuts and Bolts | 393a4c | nuts_and_bolts | Fixture-backed |
| Freeform Frosting Challenge | c5042e | freeform_frosting | Fixture-backed; renamed |
Result: all 16 website models have distinct Dry fixtures and runnable gallery entries. The two Overhang Challenge cards share one fork callable, but Dry exports and tests the base and plus=True outputs as separate cases.
Upstream GitHub coverage
The upstream models/ directory contains anyangle_phone_stand, blob_printing, fractional_design_engine_polar, hex_adapter, nonplanar_spacer, nuts_and_bolts, ripple_texture, and star_polygon_lattice, plus design_template. All eight model notebooks map to the website fixtures above. The upstream README also links the lampshade gist, which maps to the lampshade fixture.
All eight model notebooks, plus the linked lampshade gist, are surfaced with their original source links in the runnable gallery.
Tutorial notebook decisions
The 14 upstream top-level tutorial notebooks were reviewed at the pinned upstream commit. A decision of “covered” means the concept has runnable Dry evidence; it does not mean the FullControl notebook was ported or that its API is compatible.
| Upstream notebook | Decision | Dry evidence or boundary |
|---|---|---|
contents | Documentation index only; do not create a runnable sample | Dry uses the documentation index and guide instead. |
design_tips | Covered at workflow level; do not port FullControl convenience APIs | The clean-room authoring pilot is runnable in Python and TypeScript. |
fast_demo | Covered | examples/authoring.py, examples/authoring.ts, and the live Author a path page provide the short runnable path-to-G-code flow. |
gcode_controls | Covered by Dry-native controls; no notebook port | The authoring sample emits G-code, while profiles, the CLI cookbook, and emit flags own printer and initialization choices. |
geometry_functions | Deferred | Dry has path primitives and TPMS generation, but no promised midpoint/rectangle/ellipse/polar helper compatibility layer. Add clean-room helpers with L0 features, not copied notebook functions. |
lab_3mf_output | Out of scope | 3MF/mesh output is explicitly out of scope; no runnable Dry sample is planned. |
lab_five_axis_demo | Deferred until machine-safe validation exists | Dry can author tool orientation and experimentally emit rotary axes, but collision, singularity, and machine gating are missing. Tests are retained; a public machine tutorial would overstate support. |
lab_four_axis_demo | Unsupported | Dry has no supported four-axis workflow, so there is no runnable sample or parity claim. |
lab_geometry | Partially covered | Catmull–Rom spline authoring is runnable on Author a path; Bezier, polar-sine, convex-fill, and solid-base helper parity is deferred with the geometry helper layer. |
lab_stl_output | Out of scope | STL/mesh output is explicitly out of scope; no runnable Dry sample is planned. |
other_functions | Do not port one-for-one | Host-language ranges replace linspace; travel_to and relative/polar conveniences remain candidates for the clean-room geometry helper layer. |
overview | Covered | The authoring pilot and live guide cover author → lower → simulate → verify → emit. |
plot_controls | Documentation UI only; no SDK parity | Dry's live guide renders IR for inspection, but its canvas controls are not a stable plotting API and must not be presented as PlotControls compatibility. |
state_objects | Covered by Dry-native builders | The Python/TypeScript authoring samples and generated SDK reference cover points, extrusion geometry, extruder state, speed, temperature, fan, flow, tool, orientation, dwell, retraction, and manual G-code. |
Result: five notebooks have runnable Dry workflow coverage, one is partially covered, three are documentation/no-port decisions, two are deferred, one is unsupported, and two mesh-output labs are out of scope. None of those counts is included in the gallery-fixture total.
Public gist decisions
The public fullcontrol-xyz account exposes 13 gists. AnyAngle multi-part and the lampshade map to existing fixtures; the LLM prompt is documentation rather than a model. The remaining ten were reviewed individually:
| Public gist | Decision | Dry coverage or boundary |
|---|---|---|
| VOLCO example | Out of scope for a Dry sample | It couples to the separate VOLCO simulator and exports/visualizes an STL mesh; neither external simulation nor mesh output is a Dry parity surface. |
| ASTM D638 convex, simple | Defer; consolidate with the full variant | A future clean-room coupon sample first needs variable-width convex/shape-fill helpers. No current fixture claim. |
| ASTM D638 convex, full | Defer; one future coupon sample covers both techniques | It adds orientations and continuously varying extrusion width; porting the published design expression is forbidden. |
| Sphere | Defer | Dry can emit an authored point path, but spherical-coordinate helpers and circular bead-area controls are not a stable public helper surface. |
| Custom start/end G-code | Technique covered; notebook not ported | Versioned Dry profile examples carry start/end procedures, and builders support manual G-code. The gist's manual_e_ratio override has no Dry equivalent, so full parity is not claimed. |
| SVG demo | Out of scope for core; possible future importer/plugin | It embeds a third-party SVG parser and converter. Dry currently accepts authored paths/IR, not SVG input. |
| Polar offset demo | Defer with geometry helpers | A clean-room offset primitive should be specified and tested independently before any runnable sample. |
| Offset-path helper | Defer with the polar-offset case | Treat it only as evidence of a desired capability; do not copy the helper implementation. |
| Electronic-circuit demo | Generic technique covered; design not migrated | Dry builders expose stationary volume deposition as deposit, but the published circuit path is not a parity fixture. |
| Lattice spool | Defer as a clean-room design candidate | It combines polar helpers, lattice geometry, and threaded features. Existing lattice/thread fixtures do not imply parity with this model. |
Result: two generic techniques are covered without copying their published designs, two integrations are out of scope, and six design/helper candidates are explicitly deferred. No additional gist is counted as fixture-backed.
Count reconciliation and known gaps
- The oracle fork registers 27 gallery designs.
- Its
_SMALLexport/test matrix contains 26;gyroid_infillis the omitted registry entry. The exporter asserts that exact delta so an upstream inventory change fails loudly. - Dry commits and tests 28
conformance/galleryfixtures: every registry design, including a compact oracle-backedgyroid_infill, plus the distinctoverhang_challenge_pluswebsite variant. - The website has 16 model cards and 16 distinct fixture mappings.
The fixture gaps and source-triage work tracked in issue #149 are complete. Deferred candidates are not parity commitments; each requires a separately scoped clean-room feature decision before work starts.