A method of producing a mold, comprising the acts: in an electronic file, defining a data pattern comprising marks at locations within an output array of N × N locations, the data pattern representing both a reference signal and a variable data signal, the reference signal comprising an array of N × N greyscale or floating-point values, each reference signal value being associated with a location in said N × N output array, said reference signal facilitating geometric registration and extraction of the variable data signal by a decoder that is presented a camera-captured image depicting a physical counterpart to said data pattern; and shaping a 3D surface topology pattern of a mold in accordance with a smoothed counterpart of the data pattern, the topology pattern comprising peaks or depressions, characterised in that: the peaks and depressions have smooth cross-sections to facilitate release of a molded part from the mold; and the act of defining said data pattern comprises: interpolating the variable data signal from an input array of M × M bitonal values into an interpolated array of N × N greyscale or floating-point values, where N > M; summing said interpolated array of N × N values and said array of N × N reference signal values in a weighted ratio, yielding an N × N summed array of values; thresholding said N × N summed array of values to identify locations in the N × N summed array corresponding to extreme values; and in said output array of N × N locations, placing marks at locations corresponding to said extreme values in the N × N summed array of values. in an electronic file, defining a data pattern comprising marks at locations within an output array of N × N locations, the data pattern representing both a reference signal and a variable data signal, the reference signal comprising an array of N × N greyscale or floating-point values, each reference signal value being associated with a location in said N × N output array, said reference signal facilitating geometric registration and extraction of the variable data signal by a decoder that is presented a camera-captured image depicting a physical counterpart to said data pattern; and shaping a 3D surface topology pattern of a mold in accordance with a smoothed counterpart of the data pattern, the topology pattern comprising peaks or depressions, characterised in that: the peaks and depressions have smooth cross-sections to facilitate release of a molded part from the mold; and the act of defining said data pattern comprises: interpolating the variable data signal from an input array of M × M bitonal values into an interpolated array of N × N greyscale or floating-point values, where N > M; summing said interpolated array of N × N values and said array of N × N reference signal values in a weighted ratio, yielding an N × N summed array of values; thresholding said N × N summed array of values to identify locations in the N × N summed array corresponding to extreme values; and in said output array of N × N locations, placing marks at locations corresponding to said extreme values in the N × N summed array of values. the peaks and depressions have smooth cross-sections to facilitate release of a molded part from the mold; and the act of defining said data pattern comprises: interpolating the variable data signal from an input array of M × M bitonal values into an interpolated array of N × N greyscale or floating-point values, where N > M; summing said interpolated array of N × N values and said array of N × N reference signal values in a weighted ratio, yielding an N × N summed array of values; thresholding said N × N summed array of values to identify locations in the N × N summed array corresponding to extreme values; and in said output array of N × N locations, placing marks at locations corresponding to said extreme values in the N × N summed array of values. interpolating the variable data signal from an input array of M × M bitonal values into an interpolated array of N × N greyscale or floating-point values, where N > M; summing said interpolated array of N × N values and said array of N × N reference signal values in a weighted ratio, yielding an N × N summed array of values; thresholding said N × N summed array of values to identify locations in the N × N summed array corresponding to extreme values; and in said output array of N × N locations, placing marks at locations corresponding to said extreme values in the N × N summed array of values.